function initializeTotaliser(){
	var barHeight = $("#totaliser #totaliserBar").height();
	$("#totaliser #totaliserBar").height("0");
	$(window).load(function(){ 
		$("#totaliser #totaliserBar").animate({height: barHeight},1000);
	});
}

$.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name){
    return $.getUrlVars()[name];
  }
});


$(document).ready(function() {
// make all extenal links & PDF's open in new windows.
	$("body a[href^='http://'], a[href$='.pdf'],a[href$='.docx'],a[href$='.pptx'],a[href$='.xlsx']").each(function(){
		if($(this).attr('href').indexOf('rmhc.org.uk/') == -1){
			$(this).attr("target","_blank");
		}
	});

////// Bind lightbox \\\\\\													 
	$("a.lightbox").fancybox();
	
	$("a.eventbox").fancybox({
		hideOnOverlayClick: false
	});
	
////// Handle search label \\\\\\
	$("input.searchBox").focus(function(){
		if($(this).val() == ""){
			$("label#searchLabel").animate({'opacity':0});
		}
	});
	$("input.searchBox").blur(function(){
		if($(this).val() == ""){
			$("label#searchLabel").animate({'opacity':1});
		}
	});
	if($("input.searchBox").val() != ""){
		$("label#searchLabel").css({'opacity':0});	
	}

////// Handle newsletter value \\\\\\
	$("#newsletter input#kjirjd-kjirjd").focus(function(){
		if($(this).val() == "email address"){
			$(this).val("");	
		}
	});
	$("#newsletter input#kjirjd-kjirjd").blur(function(){
		if($(this).val() == ""){
			$(this).val("email address");	
		}
	});
	
////// Handle header image slideshow \\\\\\
	var rotateInterval = 0;
	var stopped = false;
	var initial = $("ul#mastheadImage li.active");
	var initialIndex = $("ul#mastheadImage li.active").index();
	var current = "";
	var next = "";
	var nextIndex = "";
	function rotateMasthead(){
		current = $("ul#mastheadImage li.active");
		if((current.next().length != 0) && (current.next().attr("id") != "persistent")){
			next = current.next();	
		}else{
			next = $("ul#mastheadImage li").first();		
		}
		nextIndex = $(next).index();
		current.fadeOut();
		$("ul#mastheadControls li.active").removeClass("active");
		$("ul#mastheadControls li:nth-child("+(nextIndex+1)+")").addClass("active");
		next.fadeIn(function(){
			current.removeClass("active");
			next.addClass("active");
		});
	}
	
	function startRotate(){
		if(stopped != true){
			rotateInterval = setInterval(rotateMasthead, 5000);
		}
	}

	function stopRotate(){
		if(stopped != true){
			clearInterval(rotateInterval);	
		}
	}
	
	function generateLinks(){
		$("ul#mastheadImage").after("<ul id='mastheadControls'></ul>");	
		var totalImages = $("ul#mastheadImage li").length;
		if($("ul#mastheadImage li#persistent").length != 0){ 
			totalImages--;
		}
		for(i=1; i<=totalImages; i++){
			if(i == initialIndex+1){
				$("ul#mastheadControls").append("<li class='active' id='num"+i+"'><a href='#"+i+"'>"+i+"</a></li>");
			}else{
				$("ul#mastheadControls").append("<li id='num"+i+"'><a href='#"+i+"'>"+i+"</a></li>");
			}
		}
	}
	
	function rotateInitialise(){
		generateLinks();
		startRotate();	
	}
	
	rotateInitialise();
	
	$("ul#mastheadControls li a").click(function(){
		if($(this).parent().hasClass("active") != true){
			stopRotate();
			stopped = true;
			var intChosen = $(this).attr("href").split("#")[1];
			var chosenSlide = $("ul#mastheadImage li:nth-child("+intChosen+")");
			var currentSlide = $("ul#mastheadImage li.active");
			currentSlide.fadeOut();
			chosenSlide.fadeIn(function(){
				currentSlide.removeClass("active");
				chosenSlide.addClass("active");
			});
			$("ul#mastheadControls li.active").removeClass("active");
			$(this).parent().addClass("active");
		}
		return false;
	});
	
	// Stop on hover
	$("ul#mastheadImage").mouseenter( stopRotate );
	$("ul#mastheadImage").mouseleave( startRotate );
	
////// Handle houses tour slider \\\\\\
	
	// Show slider and generate arrows
	if (!($.browser.msie && $.browser.version.substring(0,1) === '6')) {
 		$("#sliderTour").show();
	}
	
	$("#sliderTour").append("<a href='#' id='slideLeft' class='slideAction'>&laquo;</a><a href='#' id='slideRight' class='slideAction'>&raquo;</a>");
	// Calculate total width
	var sliderWidth = 0;
	var slideDirection = "";
	var liCount = $("#sliderTour ul#slider li").length;
	for(i=1;i<=liCount;i++){
		sliderWidth = sliderWidth+$("#sliderTour li:nth-child("+i+")").outerWidth(true);
	}
	$("#sliderTour ul#slider").width(sliderWidth);
	
	// Handle hover controls
	var endPos = sliderWidth-810;
	var fullDuration = 5000;
	var actualDuration = 0;
	var currentPos = 0;
	$("a.slideAction").hover(function(){
		currentPos = $("ul#slider").css("left").split("px")[0];
		slideDirection = $(this).attr("id");
		runSlider(slideDirection,currentPos);
	},function(){
		$("ul#slider").stop();	
	});
	function runSlider(direction,position){
		if(direction == "slideRight"){
			actualDuration = fullDuration * ((endPos-(-position))/endPos);
			$("ul#slider").animate({left:0-endPos},{queue:false,duration:actualDuration});
		}else if(direction == "slideLeft"){
			actualDuration = fullDuration * ((0+(-position))/endPos);
			$("ul#slider").animate({left:0},{queue:false,duration:actualDuration});
		}
	}
	
	// Prevent arrow clicks
	$("a.slideAction").click(function(){
		return false;										 
	});

////// Handle accordion \\\\\\
	var blockWrapper = "";
	var blockInner = "";
	var newHeight = 0;
	
	// Initialise
	function accordionInitialise(){
		$(".accordion .accordionContent").css({'height':0});
		$(".accordion .inner").css({'opacity':0});
		$(".accordion .accordionBlock:first").addClass("active");
		var initialHeight = $(".accordion .accordionBlock.active .inner").outerHeight(true);
		$(".accordion .accordionBlock.active .accordionContent").css({height:initialHeight});
		$(".accordion .accordionBlock.active .inner").css({opacity:1});
	}
	
	accordionInitialise();
	
	// Handle clicks
	$(".accordion .accordionTitle a").click(function(){
		blockWrapper = $(this).parent().parent().parent();	
		blockContent = $(blockWrapper).children(".accordionContent");
		blockInner = $(blockWrapper).find(".accordionContent .inner");
		if($(blockWrapper).hasClass("active") != true){
			newHeight = $(blockInner).outerHeight(true);
			$(".accordionBlock.active .accordionContent").animate({height:0},{duration:'1000'});
			$(".accordionBlock.active .accordionContent .inner").animate({opacity:0},{duration:'1000'});
			$(blockContent).animate({height:newHeight},{duration:'1000'});
			$(blockInner).animate({opacity:1},{duration:'1000'});
			$(".accordionBlock.active").removeClass("active");
			$(blockWrapper).addClass("active");
		}
		return false;	
	})
	
////// Handle totaliser \\\\\\
	if($("#totaliser").length > 0){
		initializeTotaliser();
		var donatorsHtml = $("#totaliserThanks span").html();
		var donators = donatorsHtml.split(", ");
		$("#totaliserThanks span").html(donators[0]);
		$("#totaliserThanks").css("visibility","visible");
		var count = 0;
		var maxCount = (donators.length)-1;
		setInterval(function(){
			if(count >= maxCount){
				count = 0;
			}else{
				count++;
			}
			$("#totaliserThanks span").fadeOut(function(){
				$("#totaliserThanks span").html(donators[count]);	
				$("#totaliserThanks span").fadeIn();
			});
		},5000);
	}
	
	// Add show all the testing features.
	if($.getUrlVar('testing') == 'show'){
		$('.testing').attr('style', 'display: block!important; ');
	}
	
////// Handle donate tabs \\\\\\
	if($("#donateTabs").length){
		var donateTabs = $("#donateTabs");
		donateTabs.find("ul.tabs li").bind("click",function(event){
			event.preventDefault();
			if($(this).attr('id') == 'tab6'){return false;}
			if(!$(this).hasClass("current") && !donateTabs.find(".content img:animated").length){
				var target = $(this).index();
				donateTabs.find(".content img.current").fadeOut(500);
				donateTabs.find("ul.tabs li.current, .content img.current").removeClass("current");
				donateTabs.find("ul.tabs li").eq(target).addClass("current");
				donateTabs.find(".content img").eq(target).fadeIn(500,function(){
					donateTabs.find(".content img").eq(target).addClass("current");
				});
			}
		});
	}
	
////// Handle house donations box \\\\\\
	if($("#houseDonations").length){
		var houseDonations = $("#houseDonations");
		// Preload imagery
		var preloader = $("<div />").hide();
		houseDonations.find("ul.houses li").each(function(){
			preloader.append("<img src='/template/images/donate/houses/"+$(this).attr("data-image")+"' />");
			houseDonations.after(preloader);
		})
		// Handle contents click
		houseDonations.find("ul.houses li").bind("click",function(event){
			event.preventDefault();
			if(!$(this).hasClass("current")){
				var image = $(this).attr("data-image");
				var link = $(this).children("a").attr("href");
				var text = $(this).children("a").text();
				houseDonations.find("ul.houses li.current").removeClass("current");
				$(this).addClass("current");
				houseDonations.find("a.donateButton").attr("href",link).text("Donate to "+text);
				var imageEl = $("<img src='/template/images/donate/houses/"+image+"' alt='"+text+"' />").hide();
				houseDonations.children(".houseImage").prepend(imageEl);
				houseDonations.find(".houseImage img:eq(0)").fadeIn(500);
				houseDonations.find(".houseImage img:eq(1)").fadeOut(500,function(){
					$(this).remove();
				});
			}
		});
		// Handle scroller hover
		var endPos = 	houseDonations.find("ul.houses").height()-houseDonations.find(".housesWrapper").height();
		var fullDuration = 2500;
		var actualDuration = 0;
		var currentPos = 0;
		houseDonations.find("ul.housesNav li").bind("mouseenter",function(){
			currentPos = houseDonations.find("ul.houses").css("margin-top").split("px")[0];
			if($(this).hasClass("up")){
				actualDuration = fullDuration * ((0+(-currentPos))/endPos);
				houseDonations.find("ul.houses").animate({'margin-top':0},{queue:false,duration:actualDuration});
			}else{
				actualDuration = fullDuration * ((endPos-(-currentPos))/endPos);
				houseDonations.find("ul.houses").animate({'margin-top':0-endPos},{queue:false,duration:actualDuration});
			}
			
		}).bind("mouseleave",function(){
			houseDonations.find("ul.houses").stop();
		})
	}

});
