/*----------------------------------------------------------------------------------------------------
	(c) 2008 Copyright - PearShapedCode.com - All Rights Reserved.
----------------------------------------------------------------------------------------------------*/

var psc_recall_time			= 50;
var psc_print_detection			= 0;

var psc_pearblink			= 1;
var psc_pearblink_recallmax		= 4000;
var psc_pearblink_recallcurrent		= 1000;
var psc_pearblink_on			= 0;

var psc_pearscroller			= 0;
var psc_pearscroller_items		= 7;
var psc_pearscroller_direction		= -1; //-1 left, 0 stop, 1 right
var psc_pearscroller_stop		= 0; //for a manual pause
var psc_pearscroller_currentspeed	= 3;
var psc_pearscroller_avgspeed		= 3;
var psc_pearscroller_maxspeed		= 20;
var psc_pearscroller_maxwidth		= 220;

var psc_pearscroller_speedreset		= 0;


function JS_init() {
	JS_hide_nojavascript();

	JS_styleresize();
	
	JS_pageloop();
	
	return;
}

function JS_hide_nojavascript() {
	document.getElementById("nojavascript").style.display = "none";
	document.getElementById("nojavascript").style.backgroundImage = "none";
}

function JS_pageloop () {
	//do the light blink
	if (psc_pearblink) JS_pearblink();

	//scroller if requested
	if (psc_pearscroller) JS_pearscroller();
	//if (psc_pearscroller && psc_pearscroller_speedreset) JS_pearscrollerspeedreset(0); //disabled for now

	//if (!(isMac && isBadIE)) TimeOutID = window.setInterval('JS_pageloop();', recall_time);
	if (psc_print_detection == 0) setTimeout('JS_pageloop()', psc_recall_time);
		
	return;
}

function JS_styleresize() {
  	var window_height = 0;
	var current_height = document.getElementById("container3").style.height;

	document.getElementById("container3").style.height = "auto";

	//height detection code courtesy of: http://codylindley.com/Webdev/295/javascript-get-page-height-with-scroll
	if (window.innerHeight && window.scrollMaxY) {// Firefox
		window_height = window.innerHeight + window.scrollMaxY;
	}
	else if (document.body.scrollHeight > document.body.offsetHeight) { // all but Explorer Mac
		window_height = document.body.scrollHeight;
	}
	else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
		window_height = document.body.offsetHeight;
  	}

	//last check... if the client height is larger, then set to the larger size
	if (window_height < document.documentElement.clientHeight) { window_height = document.documentElement.clientHeight; }

	document.getElementById("container3").style.height = window_height + "px";	
	
	return;
}

function JS_checkPrint() {
	//thankyou (http://www.ibloomstudios.com/articles/css_media_targeted_javascript/) for the @media hints

	var mediaInspector = document.getElementById('pscextra6');
	if (mediaInspector.currentStyle) { zIndex = mediaInspector.currentStyle['zIndex']; }
	else if (window.getComputedStyle) { zIndex = window.getComputedStyle(mediaInspector, '').getPropertyValue("z-index"); }

	if (parseInt(zIndex) == 1) {
		psc_print_detection = 1;
		document.getElementById("container3").style.height = "auto";
	}
}

function JS_pearblink() {
	if (psc_pearblink_recallcurrent < 0) {
		//if the blink is on, then turn it off and reset the counter
		if (psc_pearblink_on) {
			//reset the timer
			psc_pearblink_recallcurrent = Math.ceil(Math.random() * psc_pearblink_recallmax);
			psc_pearblink_on = 0;
			document.getElementById("pscextra4").style.display = "none";
			
//			if (psc_pearscroller) document.getElementById("leftcover").style.backgroundImage = "url('scroller/leftdark.png');";
		}
		else {
			//turn blink on and it will get turned off at the next recall time
			psc_pearblink_on = 1;
			document.getElementById("pscextra4").style.display = "block";
//			if (psc_pearscroller) document.getElementById("leftcover").style.backgroundImage = "url('scroller/left.png');";
		}
	}
	else {
		psc_pearblink_recallcurrent -= psc_recall_time;
	}
}

function JS_pearscroller_enable() {
	psc_pearscroller = 1;
	
	//reset the initial positions
	for (var i = 0; i < psc_pearscroller_items; i++) {
		if (document.all) { document.all["item0" + i].style.left = (psc_pearscroller_maxwidth * i) + "px"; }
		else { document.getElementById("item0" + i).style.left = (psc_pearscroller_maxwidth * i) + "px"; }
	}
}

function JS_pearscroller() {
	if (psc_pearscroller_currentspeed == 0) return;
	
	directionshift = (psc_pearscroller_direction * psc_pearscroller_currentspeed);
	maxrange = psc_pearscroller_items * psc_pearscroller_maxwidth;
	
	for (i = 0; i < psc_pearscroller_items; i++) {
		if (document.all) {
			j = parseInt(document.all["item0" + i].style.left);
			
			if (directionshift < 0) {
				if (j < 0) j += maxrange;
			}
			else if (directionshift > 0) {
				if (j > maxrange) j -= maxrange;
			}
			
			j = j + directionshift;
			document.all["item0" + i].style.left = j + "px";
		}
		else {
			j = parseInt(document.getElementById("item0" + i).style.left);
			
			if (directionshift < 0) {
				if (j < 0) j += maxrange;
			}
			else if (directionshift > 0) {
				if (j > maxrange) j -= maxrange;
			}
			
			j = j + directionshift;
			document.getElementById("item0" + i).style.left = j + "px";
		}
	}
}

function JS_pearscroller_direction(e) {
	if ('undefined' == typeof e) {
		e = window.event;
		var x = e.offsetX;
	}
	else {
		var d = document.getElementById('scroller');
		var l = d.offsetLeft;
		var x = e.clientX - l;
	}
	
	//setup the zones
	if (x <= 300) {
		speed = psc_pearscroller_maxspeed - (Math.round((x - 40) / 15)); //20 (max speed) times 15 is 300 (the zone width)
		if (speed > psc_pearscroller_maxspeed) speed = psc_pearscroller_maxspeed;
		psc_pearscroller_currentspeed = speed; psc_pearscroller_direction = 1;
		
		//show speed arrows
		speed_percentage = Math.round((psc_pearscroller_currentspeed / psc_pearscroller_maxspeed) * 100);
		if (speed_percentage >= 0 && speed_percentage <= 20) { document.getElementById("rightarrow1").style.display = "block"; document.getElementById("rightarrow2").style.display = "none"; document.getElementById("rightarrow3").style.display = "none"; document.getElementById("rightarrow4").style.display = "none"; document.getElementById("rightarrow5").style.display = "none"; }
		else if (speed_percentage > 20 && speed_percentage <= 40) { document.getElementById("rightarrow1").style.display = "block"; document.getElementById("rightarrow2").style.display = "block"; document.getElementById("rightarrow3").style.display = "none"; document.getElementById("rightarrow4").style.display = "none"; document.getElementById("rightarrow5").style.display = "none"; }
		else if (speed_percentage > 40 && speed_percentage <= 60) { document.getElementById("rightarrow1").style.display = "block"; document.getElementById("rightarrow2").style.display = "block"; document.getElementById("rightarrow3").style.display = "block"; document.getElementById("rightarrow4").style.display = "none"; document.getElementById("rightarrow5").style.display = "none"; }
		else if (speed_percentage > 60 && speed_percentage <= 80) { document.getElementById("rightarrow1").style.display = "block"; document.getElementById("rightarrow2").style.display = "block"; document.getElementById("rightarrow3").style.display = "block"; document.getElementById("rightarrow4").style.display = "block"; document.getElementById("rightarrow5").style.display = "none"; }
		else { document.getElementById("rightarrow1").style.display = "block"; document.getElementById("rightarrow2").style.display = "block"; document.getElementById("rightarrow3").style.display = "block"; document.getElementById("rightarrow4").style.display = "block"; document.getElementById("rightarrow5").style.display = "block"; }
	}
	else if (x > 300 && x <= 600) {
		psc_pearscroller_currentspeed = 0; psc_pearscroller_direction = 0;
		document.getElementById("rightarrow1").style.display = "none"; document.getElementById("rightarrow2").style.display = "none"; document.getElementById("rightarrow3").style.display = "none"; document.getElementById("rightarrow4").style.display = "none"; document.getElementById("rightarrow5").style.display = "none";
		document.getElementById("leftarrow1").style.display = "none"; document.getElementById("leftarrow2").style.display = "none"; document.getElementById("leftarrow3").style.display = "none"; document.getElementById("leftarrow4").style.display = "none"; document.getElementById("leftarrow5").style.display = "none";
	}
	else if (x > 600) {
		speed = Math.round((x - 600) / 15);
		if (speed > psc_pearscroller_maxspeed) speed = psc_pearscroller_maxspeed;
		psc_pearscroller_currentspeed = speed; psc_pearscroller_direction = -1;

		//show speed arrows
		speed_percentage = Math.round((psc_pearscroller_currentspeed / psc_pearscroller_maxspeed) * 100);
		if (speed_percentage >= 0 && speed_percentage <= 20) { document.getElementById("leftarrow1").style.display = "block"; document.getElementById("leftarrow2").style.display = "none"; document.getElementById("leftarrow3").style.display = "none"; document.getElementById("leftarrow4").style.display = "none"; document.getElementById("leftarrow5").style.display = "none"; }
		else if (speed_percentage > 20 && speed_percentage <= 40) { document.getElementById("leftarrow1").style.display = "block"; document.getElementById("leftarrow2").style.display = "block"; document.getElementById("leftarrow3").style.display = "none"; document.getElementById("leftarrow4").style.display = "none"; document.getElementById("leftarrow5").style.display = "none"; }
		else if (speed_percentage > 40 && speed_percentage <= 60) { document.getElementById("leftarrow1").style.display = "block"; document.getElementById("leftarrow2").style.display = "block"; document.getElementById("leftarrow3").style.display = "block"; document.getElementById("leftarrow4").style.display = "none"; document.getElementById("leftarrow5").style.display = "none"; }
		else if (speed_percentage > 60 && speed_percentage <= 80) { document.getElementById("leftarrow1").style.display = "block"; document.getElementById("leftarrow2").style.display = "block"; document.getElementById("leftarrow3").style.display = "block"; document.getElementById("leftarrow4").style.display = "block"; document.getElementById("leftarrow5").style.display = "none"; }
		else { document.getElementById("leftarrow1").style.display = "block"; document.getElementById("leftarrow2").style.display = "block"; document.getElementById("leftarrow3").style.display = "block"; document.getElementById("leftarrow4").style.display = "block"; document.getElementById("leftarrow5").style.display = "block"; }
	}
}

function JS_pearscrollerspeedreset(started) {
	//if started = 1: then function has been called on a mouseout
	//if started = 0: function is in the motions of a throttledown and will stop when speed has been reset
	
	if (started == 1) {
		psc_pearscroller_speedreset = 1;
	}
	else {
		if (psc_pearscroller_currentspeed > psc_pearscroller_avgspeed) {
			psc_pearscroller_currentspeed -= 1;
		}
		else if (psc_pearscroller_currentspeed < psc_pearscroller_avgspeed) {
			psc_pearscroller_currentspeed += 1;
		}
		else { //identical, stop this function
			psc_pearscroller_speedreset = 0;
		}
	}
}

function JS_peargoogleanalytics() {
	var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
	document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
	var pageTracker = _gat._getTracker("UA-5356260-1");
	pageTracker._trackPageview();
}