//Initiating jQuery to work with Prototype;
//var $ = jQuery.noConflict(); located inside jquery-1.2.min.js file

$(document).ready(function() { onDocumentLoad(); });
$(window).load(function() { onWindowLoad(); });

//Global Variables
var timeOut;
var delayTime = 10000;
var inTransition = false;
var homepageSlideshow;

/*
 * Standard page loading functions for prototype / jQuery
 */
function onDocumentLoad(){

	$("#headerMenuWrapBottom").prepend($('.innerULMain'));
	$("#headerMenuWrapBottom").after('<div class="clear"></div>');

}


//Stuff put into this function doesnt run until the entire document is loaded flash and all
function onWindowLoad(){

	$('DIV#bottomLeftHeaderWrap').click(function() { window.location = "http://www.airdrielife.com"; });

	$('a#homePageURL').click(function() { javascript:bookmark(document.title, document.URL); });
	
	$('#footerLeftMenuWrap li:last').hide();
	
	$('#footerRightMenuWrap li:last').hide();

	$('#hpsNumber1').addClass('current');
	
	$('#emailBtn').click(function(){
		window.location = "mailto:?subject="+document.title+"&body="+document.URL;
	});
	
	if(homepageSlideshow){
		start_slideshow(0, $(homepageSlideshow).length-1, delayTime);
	}

	$('.hpsNumber a').click(function() {
		var getCurrentFrame = $('.hpsNumber .current').html();
		var setNextFrame = $(this).html();

		go_current(parseInt(getCurrentFrame-1), 0, $(homepageSlideshow).length-1, delayTime, parseInt(setNextFrame-1))
	});
	

	$('#hpsBack').click(function() {
		var getCurrentFrame = $('.hpsNumber .current').html();
		var lastFrame = $(homepageSlideshow).length-1;

		if(getCurrentFrame!=1){
			go_back(parseInt(getCurrentFrame-1), 0, $(homepageSlideshow).length-1, delayTime);
		} else {
			go_current(0, 0, $(homepageSlideshow).length-1, delayTime, parseInt(lastFrame))
		}
	});

	$('#hpsForward').click(function() {
		var getCurrentFrame = $('.hpsNumber .current').html();
		var lastFrame = $(homepageSlideshow).length-1;

		go_forward(getCurrentFrame-1, 0, lastFrame, delayTime);
	});
	
	$('#hpsPause').click(function(){
		stopSlides();
	})

	heightFix();

}

function heightFix() {

	//Reset the inline style tags so that to get the true height each time
	$('div#mainContentLeft').height("");
	$('div#mainContentMiddle').height("");
	$('div#mainContentRight').height("");
	
	var leftHeight = parseInt($('div#mainContentLeft').height());
	var middleHeight = parseInt($('div#mainContentMiddle').height());
	var rightHeight = parseInt($('div#mainContentRight').height());

	var leftPadding = parseInt($('div#mainContentLeft').css('padding-top')) + parseInt($('div#mainContentLeft').css('padding-bottom'));
	var middlePadding = parseInt($('div#mainContentMiddle').css('padding-top')) + parseInt($('div#mainContentMiddle').css('padding-bottom'));
	var rightPadding = parseInt($('div#mainContentRight').css('padding-top')) + parseInt($('div#mainContentRight').css('padding-bottom'));

	/*Validation that its a number for IE only*/
	leftHeight = isNaN(leftHeight)?0:leftHeight;
	middleHeight = isNaN(middleHeight)?0:middleHeight;
	rightHeight = isNaN(rightHeight)?0:rightHeight;

	leftPadding = isNaN(leftPadding)?0:leftPadding;
	middlePadding = isNaN(middlePadding)?0:middlePadding;
	rightPadding = isNaN(rightPadding)?0:rightPadding;
	
	/* Get new height */
	leftHeight = leftHeight + leftPadding;
	middleHeight = middleHeight + middlePadding;
	rightHeight = rightHeight + rightPadding;

	var maxHeight = Math.max(leftHeight,middleHeight,rightHeight);
	//console.log(maxHeight);
	//alert(maxHeight);

	$('div#mainContentLeft').css('height',(maxHeight-leftPadding));
	$('div#mainContentMiddle').css('height',(maxHeight-middlePadding));
	$('div#mainContentRight').css('height',(maxHeight-rightPadding));
}

// bookmark us function
function bookmark(siteTitle, url) {
	if (document.all) {
		window.external.AddFavorite(url, siteTitle);
	} else if (window.sidebar) {
		window.sidebar.addPanel(siteTitle, url, "");
	} else {
		alert('Bookmark Us! press (Ctrl+D) or (CTRL-T) for Opera');
	}
}

//start_slideshow(0, 4, 2000);
function start_slideshow(start_frame, end_frame, delay) {
	timeOut = setTimeout(switch_slides(start_frame,0,end_frame, delay), delay);
}
						
function switch_slides(frame, start_frame, end_frame, delay) {
	return (function() {
		inTransition = true;
		$('#hpsImg' + frame).fadeOut(600);
		$('#hpsText' + frame).fadeOut(600);
		$('#hpsNumber' + (frame+1)).removeClass('current');

		if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
		timeOut = setTimeout("$('#hpsImg" + frame + "').fadeIn(600);$('#hpsText" + frame + "').fadeIn(600);$('#hpsNumber" + (frame+1) + "').addClass('current');inTransition = false;heightFix();", 600);
		timeOut = setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 600);
	})
}

function go_back(frame, start_frame, end_frame, delay){
	$('#hpsImg' + frame).fadeOut(600);
	$('#hpsText' + frame).fadeOut(600);
	$('#hpsNumber' + (frame+1)).removeClass('current');

	if (frame == start_frame) { frame = start_frame; } else { frame = frame - 1; }
	clearTimeout(timeOut);
	timeOut = setTimeout("$('#hpsImg" + frame + "').fadeIn(600);$('#hpsText" + frame + "').fadeIn(600);$('#hpsNumber" + (frame+1) + "').addClass('current');", 600);
	timeOut = setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 600);
}

function go_forward(frame, start_frame, end_frame, delay){
	$('#hpsImg' + frame).fadeOut(600);
	$('#hpsText' + frame).fadeOut(600);
	$('#hpsNumber' + (frame+1)).removeClass('current');

	if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
	clearTimeout(timeOut);
	timeOut = setTimeout("$('#hpsImg" + frame + "').fadeIn(600);$('#hpsText" + frame + "').fadeIn(600);$('#hpsNumber" + (frame+1) + "').addClass('current');", 600);
	timeOut = setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 600);
}

function go_current(frame, start_frame, end_frame, delay, new_frame){
	if(!inTransition){
		$('#hpsImg' + frame).fadeOut(600);
		$('#hpsText' + frame).fadeOut(600);
		$('#hpsNumber' + (frame+1)).removeClass('current');

		clearTimeout(timeOut);
		timeOut = setTimeout("$('#hpsImg" + new_frame + "').fadeIn(600);$('#hpsText" + new_frame + "').fadeIn(600);$('#hpsNumber" + (new_frame+1) + "').addClass('current');", 600);
		timeOut = setTimeout(switch_slides(new_frame, start_frame, end_frame, delay), delay + 600);
	}
}

function stopSlides() {
	clearTimeout(timeOut);
}