function Accordian() {

	var togglers = $('.faqs li h2');
	var elements = ".faqs li div";

	$(togglers).css('padding-left', '0px');
	$(togglers).children('a').css('padding-left', '40px');

	$(elements).hide();
	togglers.click(
	function() {
		var checkElement = $(this).next();
		if ((checkElement.is(elements)) && (checkElement.is(':visible'))) {
			$(elements + ':visible').slideUp(500);
			return false;
		}
		if ((checkElement.is(elements)) && (!checkElement.is(':visible'))) {
			$(elements + ':visible').slideUp(500);
			checkElement.slideDown(500);
			return false;
		}
	});
}

function ResourcesAccordian() {

	var togglers = $('#resourcesAccordion .header h2');
	var elements = "#resourcesAccordion .moduleList";

	$(elements).hide();
	togglers.click(
	function() {
		var checkElement = $(this).parent().next();
		if ((checkElement.is(elements)) && (checkElement.is(':visible'))) {
			$(elements + ':visible').slideUp(500);
			return false;
		}
		if ((checkElement.is(elements)) && (!checkElement.is(':visible'))) {
			$(elements + ':visible').slideUp(500);
			checkElement.slideDown(500);
			return false;
		}
	});
}

function ToggleElements() {

	var toggler = $("a[href='#articleContact'], input[name='Find Address'], .toggleWidgets, .searchFilter .field p a")
	var toggleElement = $("#articleContact, .postCodeResultsWrapper, #widgetList, #advancedSearch")

	$(toggleElement).ready(function(event) { 
	    if ( $(toggleElement).has('.error').length > 0) {
	        return;
	    }
	    $(toggleElement).css('display', 'none'); 
	});

	$(toggler).click(function() {
		toggleElement.toggle();
	});

	$("#widgetList").mouseleave(function() {
		$(this).toggle();
	});

	$(".searchFilter .field p a").click(function(event) { event.preventDefault(); });

}

function ToggleAddress() {

	var toggler = $(".enterAddressOption a")
	var toggleElement = $("#manualAddress")

	$(toggleElement).ready(function(event) { $(toggleElement).css('display', 'none'); });

	$(toggler).click(function(event) {
		toggleElement.toggle();
		event.preventDefault();
	});

}

function SmoothScroll() {
	$('.scroll').click(function() {
		if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
	  && location.hostname == this.hostname) {
			var $target = $(this.hash);
			$target = $target.length && $target
		|| $('[name=' + this.hash.slice(1) + ']');
			if ($target.length) {
				var targetOffset = $target.offset().top;
				$('html,body')
		  .animate({ scrollTop: targetOffset }, 1000);
				return false;
			}
		}
	});
}

function Widgets() {

    function hideWidgetButton() {
		if ($('.listWrapper > ul >li').length < 1) {
	        $('.addItems.toggleWidgets').hide();
	    } else {
	        $('.addItems.toggleWidgets').show();
	    }
    }
    
	$("#dashboard.ui-sortable").sortable({
		placeholder: 'placeholder',
		handle: '.hd',
		stop: function() {

			var ids = [];

			$("#dashboard>li").each(function() {
				ids.push($(this).attr("id").substring("Widget_".length));
			});

			$.ajax({
				type: "GET",
				url: "/members/widgets/updateorders/?MemberWidgetTypeIDs=" + ids.toString()
			});

		}
	}).disableSelection();

	$("#dashboard.ui-sortable .hd").hover(
		function() {
			var draggable = $(this).children('span');
			$(draggable).css('visibility', 'visible');
		},
		function() {
			var draggable = $(this).children('span');
			$(draggable).css('visibility', 'hidden');
		}
		).click(
			function() {
				var draggable = $(this).children('span');
				$(draggable).css('visibility', 'hidden');
			}
	).css('cursor', 'move');

	$("a.remove").click( /* Conflicted elsewhere. Changed '.remove' to 'a.remove' */
		function(event) {

			$.ajax({
				type: "GET",
				url: $(this).attr("href"),
				dataType: "html",
				success: function (data) {
				    $('.listWrapper').replaceWith(data);
				    hideWidgetButton();
				}
			});

			$(this).parents('li').remove();
			event.preventDefault();
		}
	);
	
	hideWidgetButton();

}

function QuickLogin() {

	var toggleElement = $("#qlWrapper")

	$(".loginShow").children("a").attr("href", "#qlWrapper");

	$(".loginShow").click(function(event) {
		$(toggleElement).show("slide", { direction: "up" }, 700);
	});

	$(".loginHide").click(function(event) {
		$(toggleElement).hide("slide", { direction: "up" }, 300);
		event.preventDefault();
	});
	
}

function NonMemberBookingAddressFill() {
    $('#SameAsAbove').change(function() {
        if ($(this).attr('checked')) {
            $('#CompanyAddress1').val($('#Address1').val());
            $('#CompanyAddress2').val($('#Address2').val());
            $('#CompanyAddress3').val($('#Address3').val());
            $('#CompanyCity').val($('#City').val());
            $('#CompanyPostCode').val($('#PostCode').val());
            $('#CompanyTelephone').val($('#Telephone').val());
            
        } else {
            $('#CompanyAddress1').val("");
            $('#CompanyAddress2').val("");
            $('#CompanyAddress3').val("");
            $('#CompanyCity').val("");
            $('#CompanyPostCode').val("");
            $('#CompanyTelephone').val("");
        }
    });
}

$(document).ready(function() {

    Shadowbox.init({ overlayOpacity: 0.7 });
    QuickLogin();
    Widgets();
    Accordian();
    ToggleElements();
    SmoothScroll();
    ToggleAddress();
    ResourcesAccordian();
    NonMemberBookingAddressFill();
    
    //Fake Address Search
    $("#companySearch, #postcodeSearch, #joinCompany").submit(function() { return false; });

    //Homepage Carousel
    $("#slideshow").carousel({
        pagination: true,
        autoSlide: true,
        autoSlideInterval: 5000,
        loop: true
    });

    $(".carousel-pagination a").click(function(event) { event.preventDefault(); });

    //Opens link in new window	
    $("a[rel*='external']").attr({ target: "_blank" });

    //Removes value from input on click if it is same as title	
    var volatile = $(".field input, .textfield");
    volatile.focus(function(event) {
        if ($(this).val() == $(this).attr("title")) {
            $(this).val("");
        }
    }, volatile.blur(function(event) {
        if ($(this).val() == "") {
            $(this).val($(this).attr("title"));
        }
    }
    ));

    //Flash

    $('#regionFlash').flash({
        src: '/_flash/region-map/map.swf',
        wmode: 'transparent',
        width: 460,
        height: 500
    }).css('display', 'block'); ;

    $('#videoContainer').flash({
        src: '/_flash/youtube-videoplayer.swf',
        width: 500,
        height: 257,
        flashvars: { youtubeID: "EjN5avRvApk", width: "500", height: "217" }
    });

    $('.videoPlayer').flash({
        src: '/_flash/youtube-videoplayer.swf',
        width: 480,
        height: 257,
        flashvars: { youtubeID: "EjN5avRvApk", width: "480", height: "217" }
    });

     Shadowbox.setup("a.book", {
        gallery: "Book Course",
        width: "750",
        height: "400",
        displayCounter: false
    });
   


});
