var _IMAGEPATH = "/images/";
var SHAREITACTIVE = false;
var _SHAREIT = ".bottomnav .popup";
var t1; // timeouts
var t2;
var t3;
var _PAGETITLE = "Stride&reg;";
var _CURRENTPAGE = "other";
var _URL = "";
var _subNavID = ".subNav";
var _leaderboardClass = ".leaderboard";
var _interstitial = "#interstitialok";
var _zapataur = "#zapataurFlash";
var _nominateFormID = "#nominate_form";

var _leaderboardEnabled = false;

var limitMax = 500; //character limit for nomination contact info and why this arcade.
var limitField = "#limit";

$(document).ready(function() {

	_PAGETITLE = document.title;
	_URL = window.location.href;
	
	bindNavRollovers();
	bindShareItRollovers();
	homepageCallouts();
	nominateSuccess();
	if( $(_zapataur).length > 0 ) {
		window.location.href = "#zapataurFlash";
		if(navigator.appName.indexOf("Microsoft") != -1) {
			$(window).focus(focusGame);
		} else {
			$(document).focus(focusGame);
		}
	}
	if( $(_interstitial).length > 0 ) {
		bindInterstitialOkButton();
	}
	if( $(_subNavID).length > 0 ) {
		_URL = window.location.toString();
		setCurrentSubnav();
		bindSubNav();
	}
	if( _leaderboardEnabled == true &&  $(_leaderboardClass).length > 0 ) {
		var _effect = "slide";
		var options = { easing: '' };
		var arcades = $(".leaderboard").children();
		$(arcades[1]).hide();
		$(arcades[2]).hide();
		$(arcades[3]).hide();
		$(arcades[4]).hide();
		
		$(window).load(function() {
			setTimeout(function(){
				$(arcades[1]).effect(_effect,options,200);
			}, 250);
			setTimeout(function(){		
				$(arcades[2]).effect(_effect,options,200);
			}, 350);
			setTimeout(function(){
				$(arcades[3]).effect(_effect,options,200);
			}, 450);
			setTimeout(function(){
				$(arcades[4]).effect(_effect,options,200);
			}, 550);
		});
	}
	if( $(_nominateFormID).length > 0 ) {
		nominateForm();
	}
	
});

function homepageCallouts() {
	$("#cta1_btn a img").hover(
		function() {
			$(this).attr("src", _IMAGEPATH + "cta1_btn_on.png");
		},
		function() {
			$(this).attr("src", _IMAGEPATH + "cta1_btn_off.png");
		}
	);
	$("#cta2_btn a img").hover(
		function() {
			$(this).attr("src", _IMAGEPATH + "cta2_btn_on.png");
		},
		function() {
			$(this).attr("src", _IMAGEPATH + "cta2_btn_off.png");
		}
	);
	$("#cta3_btn a img").hover(
		function() {
			$(this).attr("src", _IMAGEPATH + "cta3_btn_on.png");
		},
		function() {
			$(this).attr("src", _IMAGEPATH + "cta3_btn_off.png");
		}
	);
}

function nominateSuccess() {
	$("#facebook_btn").hover(
		function() {
			$(this).attr("src", _IMAGEPATH + "nominate_facebook_btn_on.png");
		},
		function() {
			$(this).attr("src", _IMAGEPATH + "nominate_facebook_btn_off.png");
		}
	);
}

function nominateForm() {
	
	initCharCounter();
	$("#nominate_submit_btn").hover(
		function() {
			$(this).attr("src", _IMAGEPATH + "nominate_submit_btn_on.gif");
		},
		function() {
			$(this).attr("src", _IMAGEPATH + "nominate_submit_btn_off.gif");
		}
	);
	
}

function focusGame() {
	$(document).ready(function() {
		$("#flash").focus();
	});
}
	
//binds topnav roll over states
function bindNavRollovers() {
	var objClass = "";
	//back to stride
	$("#tnBackToStride a span").mouseover(
	function() {
		objClass = $(this).attr("class");
		if(objClass == "off") {
			$(this).attr("class","on");
		}
	});
	$("#tnBackToStride a span").mouseout(
	function() {
		objClass = $(this).attr("class");
		if(objClass == "on") {
			$(this).attr("class","off");
		}
	});
	//register
	$("#tnRegister a span").mouseover(
	function() {
		objClass = $(this).attr("class");
		if(objClass == "off") {
			$(this).attr("class","on");
		}
	});
	$("#tnRegister a span").mouseout(
	function() {
		objClass = $(this).attr("class");
		if(objClass == "on") {
			$(this).attr("class","off");
		}
	});
	//signin
	$("#tnSignin a span").mouseover(
	function() {
		objClass = $(this).attr("class");
		if(objClass == "off") {
			$(this).attr("class","on");
		}
	});
	$("#tnSignin a span").mouseout(
	function() {
		objClass = $(this).attr("class");
		if(objClass == "on") {
			$(this).attr("class","off");
		}
	});
	//logout
	$("#tnLogout a span").mouseover(
	function() {
		objClass = $(this).attr("class");
		if(objClass == "off") {
			$(this).attr("class","on");
		}
	});
	$("#tnLogout a span").mouseout(
	function() {
		objClass = $(this).attr("class");
		if(objClass == "on") {
			$(this).attr("class","off");
		}
	});
}

// binds the Share This rollover state
function bindShareItRollovers() {
	var target = ".bottomnav .share";
	var panelTarget = ".bottomnav .popup";
	$(target).click(function(e) {
		return false;
	});
	
	// ON
	$(target).mouseover(function(e) {
		SHAREITACTIVE = true;
		t1 = setTimeout(function() {
			if(SHAREITACTIVE) {
				$(_SHAREIT).css('visibility','visible');
				clearTimeout(t1);
			}
		},100);
	});
	// OFF
	$(target).mouseout(function(e) {
		SHAREITACTIVE = false;
		t2 = setTimeout(function() {
			if(!SHAREITACTIVE) {
				$(_SHAREIT).css('visibility','hidden');
				clearTimeout(t2);
			}
		},500);
	});
	
	$(panelTarget).mouseover(function(e) {
		SHAREITACTIVE = true;
	});
	$(panelTarget).mouseout(function(e) {
		SHAREITACTIVE = false;
		t3 = setTimeout(function() {
			if(!SHAREITACTIVE) {
				$(_SHAREIT).css('visibility','hidden');
			}
		},500);
	});
}

//set the initial sub navigation page
function setCurrentSubnav() {
	if(_URL.indexOf("/arcadeprofiles.php") >= 0) {
		$("#snArcadeProfiles").attr("class","activeArcadeProfiles");
	} else if (_URL.indexOf("/savethearcades/zapataur.php") >= 0 || _URL.indexOf("/savethearcades/index.php") >= 0) {
		$("#snPlayZapataur").attr("class","activePlayZapataur");
	} else if (_URL.indexOf("/nominate") >= 0) {
		$("#snNominate").attr("class","activeNominate");
	}
}
// bind the OK button on the interstitial page
function bindInterstitialOkButton() {
	
	$("#interstitialok").click(function(e) {
		history.back();
	});
}
//bind the sub-navigation
function bindSubNav() {
	//main
	$("#snMain a").mouseover(
	function() {
		objClass = $("#snMain").attr("class");
		if(objClass == "off") {
			$("#snMain").attr("class","on");
		}
	});
	$("#snMain a").mouseout(
	function() {
		objClass = $("#snMain").attr("class");
		if(objClass == "on") {
			$("#snMain").attr("class","off");
		}
	});
	//arcade profiles
	$("#snArcadeProfiles a").mouseover(
	function() {
		objClass = $("#snArcadeProfiles").attr("class");
		if(objClass == "off") {
			$("#snArcadeProfiles").attr("class","on");
		}
	});
	$("#snArcadeProfiles a").mouseout(
	function() {
		objClass = $("#snArcadeProfiles").attr("class");
		if(objClass == "on") {
			$("#snArcadeProfiles").attr("class","off");
		}
	});
	//play zapataur
	$("#snPlayZapataur a").mouseover(
	function() {
		objClass = $("#snPlayZapataur").attr("class");
		if(objClass == "off") {
			$("#snPlayZapataur").attr("class","on");
		}
	});
	$("#snPlayZapataur a").mouseout(
	function() {
		objClass = $("#snPlayZapataur").attr("class");
		if(objClass == "on") {
			$("#snPlayZapataur").attr("class","off");
		}
	});
	//nominate
	$("#snNominate a").hover(
		function() {
			objClass = $("#snNominate").attr("class");
			if(objClass == "off") {
				$("#snNominate").attr("class", "on");
			}
		},
		function() {
			objClass = $("#snNominate").attr("class");
			if(objClass == "on") {
				$("#snNominate").attr("class", "off");
			}
		}
	);
}

function initCharCounter() {
	var _txt1 = "";
	var _count1 = 0;
	var _txt2 = "";
	var _count2 = 0;
	if( $("#nominate_reason").html().length > 0 ) {
		_txt2 = $("#nominate_reason").html();
		_count2 = _txt2.length;
		$("#nominate_reason_char_count").html( limitMax - _count2 + " characters remaining." );
	}
	
	/* arcade contact info */
	/*
	$("#arcade_contact_info").keyup(function() {
		_txt1 = $(this).val();
		_count1 = _txt1.length;
		displayRemainingChars(_count1, "#arcade_contact_info_char_count");
	});
	$("#arcade_contact_info").keydown(function() {
		_txt1 = $(this).val();
		_count1 = _txt1.length;
		displayRemainingChars(_count1, "#arcade_contact_info_char_count");
	});
	$("#arcade_contact_info").keypress(function() {
		_txt1 = $(this).val();
		_count1 = _txt1.length;
		displayRemainingChars(_count1, "#arcade_contact_info_char_count");
	});
	*/
	/* nominate reason */
	$("#nominate_reason").keyup(function() {
		_txt2 = $(this).val();
		_count2 = _txt2.length;
		displayRemainingChars(_count2, "#nominate_reason_char_count");
	});
	$("#nominate_reason").keydown(function() {
		_txt2 = $(this).val();
		_count2 = _txt2.length;
		displayRemainingChars(_count2, "#nominate_reason_char_count");
	});
	$("#nominate_reason").keypress(function() {
		_txt2 = $(this).val();
		_count2 = _txt2.length;
		displayRemainingChars(_count2, "#nominate_reason_char_count");
	});
}

// displays the remaining characters
function displayRemainingChars(n,f) {
	
	var _r = limitMax-n;
	var _m = "";
	if ( _r <= 0 ) { _r = 0 }
	if ( _r == 1 ) {
		_m = " character remaining.";
	} else {
		_m = " characters remaining.";
	}
	$(f).html( _r + _m );
}
