/* =Load Functions
-----------------------------------------------------------------------------*/
var URL;
jQuery(document).ready(function(){
	URL = getURL();
	//alert(URL.anch);
	doNewWin();
	linkIcons();
	listHover();
	if(document.body.className.match("form")){
		ajaxForm();
	}
	$prodCab = $("#products .prod .cab a");
	if($prodCab.length>0){
		prodCabRoll($prodCab);	
	}
	// add class to h2 after first h1
	var h1Sib = $("#main h1").next();
	if(h1Sib.length>0){
		var sibTag = h1Sib[0].tagName;
		if(sibTag == "H2" || sibTag == "IMG"){
			if(sibTag == "IMG") h1Sib.next("h2").addClass("h2margin");
			else h1Sib.addClass("h2margin");
		}
	}
	highlightPage();
	var tId = setInterval('watchAnchor()',300);
	// add homeFlash
	if($("#home").length>0){
		$("#homeImage").flash({
			src:'homeFlash.swf',
			width:659,
			height:368
		});
	}
});


/* =Setup 
-----------------------------------------------------------------------------*/
function getURL(){
	var http = (("https:" == document.location.protocol) ? "https://" : "http://");
	var wloc = window.location.href+'';
	var locarr = wloc.split("/");
	var locLeng = locarr.length-1;
	var loc = '';
	for(var i=0; i<locLeng; i++){loc += locarr[i]+"/";}
	if(!empty(locarr[locLeng])){
		var l = locarr[locLeng];
		var param = anch = '';
		var indexParam = l.indexOf("?");
		if(indexParam >= 0){param = l.substr(indexParam+1); param = param.split("#")[0];}
		if(!empty(param)) l = l.split("?")[0];
		if(!empty(anch)) l = l.split("#")[0];
		var file = (empty(l)) ? 'index.php' : l;
	}else{ var file = 'index.php'; }
	return {
		full:	wloc,
		http:	http,
		cur:	loc.split(document.domain)[1].substr(1),
		domain:	document.domain,
		base:	http+document.domain+"/",
		file:	file,
		param:	param,
		anch:	location.hash.substr(1)
	}
}
/* Highlight Page
----------------------------------------------------------------------------*/
function gethash(href){
	var hash = href.indexOf("#");
	if(hash>=0){
		var hash = href.substr(hash+1);
	}else hash = false;
	return hash;
}
function getparam(href){
	var param = href.indexOf("?");
	if(param>=0){
		var param = href.substr(param+1);
		var hash = param.indexOf("#");
		if(hash>=0){param = param.substr(0,hash);}
	}else param = false;
	return param;
}
function highlightPage(){
	$("#nav li a[href*='"+URL.file+"']").parent().addClass("curPage");
	var ct=0;
	var l1 = l2 = false;
	// hash
	$("#outer a").each(function(i){
		var hash = gethash($(this).attr("href"));
		if(hash !== false && hash == URL.anch){
			$(this).addClass("curPage");
			l1 = true;
		}
	});
	// param
	$("#outer a").each(function(i){
		var param = getparam($(this).attr("href"));
		if(param !== false && param == URL.param){
			if(!l1){
				$(this).addClass("curPage");
				l1 = l2 = true;
			}else{$(this).addClass("curGroup");}
		}
	});
	// file
	$("#outer a").each(function(i){
		var page = $(this).attr("href");
		if(0>=page.lastIndexOf("/")){
			page = page.substr(page.lastIndexOf("/"));
		}
		page = page.split("?")[0];
		page = page.split("#")[0];
		if(!l2 && !l1 && page.match(URL.file)) $(this).addClass("curPage");
	});
}
/*function highlightPage(){
	// add class to current page link in nav
	$("#nav li a[href*='"+URL.file+"']").parent().addClass("curPage");
	// add class to other links
	$("#outer a").each(function(){
		var thisHref = $(this).attr("href");
		if(!empty(thisHref)){
			var indexParam = thisHref.indexOf("?");
			if(indexParam >= 0){
				indexParam++;
				thisParam = thisHref.substr(indexParam);
				thisParam = thisParam.split("#")[0];
			}else thisParam = '';
			var indexHash = thisHref.indexOf("#");
			if(indexHash >= 0){
				indexHash++;
				thisHash = thisHref.substr(indexHash);
			}else thisHash = '';
			if(!empty(thisParam) || !empty(thisHash)){
				var hashMatch = false;
				if(!empty(URL.anch) && URL.anch == thisHash){
					hashMatch = true;
					//$(this).addClass("curPage");
				}
				if(hashMatch){
					if(URL.param == thisParam)	$(this).addClass("pageMatch");
				}else{
					if(URL.param == thisParam)	$(this).addClass("curPage");
				}
			}
			if(!empty(URL.param) && $(this).attr("href").match(URL.param)) $(this).addClass("pageMatch");
			if(!empty(URL.anch) && $(this).attr("href").match(URL.anch)) $(this).addClass("curPage");
			if(empty(URL.param)){
				if($(this).is(".checkPage") && $(this).attr("href").match(URL.file)) $(this).addClass("curPage");
			}
		}
	});
}
*/
function watchAnchor(){
	var hash = location.hash.substr(1);
	if (hash != URL.anch) {
		URL.anch = hash;
		$("#outer a.curPage").removeClass("curPage");
		highlightPage();
	}
}



/* =Product Collage Rollover
-----------------------------------------------------------------------------*/
function prodCabRoll($prodCab){
	$cir = $prodCab.find(".roCir").attr("id","cir1").css({top:"179px",left:"10px"});
	$cr2 = $cir.clone().prependTo($cir.parent()).attr("id","cir2").css({top:"171px",left:"240px"});
	$cr3 = $cir.clone().prependTo($cir.parent()).attr("id","cir3").css({top:"174px",left:"145px"});
	$cr4 = $cir.clone().prependTo($cir.parent()).attr("id","cir4").css({top:"183px",left:"90px"});
	$("#products .prod .item a[href*='?p=lock']").each(function(){
		var href = $(this).attr("href");
		var num = href.indexOf("lock")+4;
		var n = href.substring(num,num+1);
		$(this).hover(
			function(){
				if(n=='4') $("#cir3, #cir4").show();
				else $("#cir1, #cir2").show();	
			},
			function(){
				if(n=='4') $("#cir3, #cir4").hide();
				else $("#cir1, #cir2").hide();	
			}
		);
	});
	
}



/* =Open a new window
-----------------------------------------------------------------------------*/
function doNewWin() {
	$("#main a[href^='http://']").addClass("newWin");
	$("#main a[href*='"+URL.domain+"']").removeClass("newWin");
	$("a.newWin").each(function(){
		var x = $(this);
		var linkTitle = "(This link opens a new window)";
		var newTitle = (empty(x.attr("title"))) ? linkTitle : x.attr("title")+" "+linkTitle;
		x.attr("title", newTitle);
		x.removeClass("newWin").addClass("ext");
		x.click(function(){window.open(x.attr("href"));return false;});
	});
}

function linkIcons(){
	$("#outer a[href$='.pdf']").each(function(){
		var x = $(this);
		var linkTitle = "(Download PDF)";
		var newTitle = (empty(x.attr("title"))) ? linkTitle : x.attr("title")+" "+linkTitle;
		x.addClass("pdf").attr("title", newTitle);
	});
	// new window in doNewWin()
}

/* =Add class "hover to all li's and buttons
-----------------------------------------------------------------------------*/
function listHover(){
	$("li, button").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")});
}

/* =Ajax Form & Interface
-----------------------------------------------------------------------------*/
function ajaxForm(){
	var $form = $("form:first");
	var formID = $form.attr("id");
	var $formID = '#'+formID;
	var formClass = $form.attr("class");
	if(empty(formClass)) return false;
	var clArr = formClass.split(' ');
	for(var i=0; i<clArr.length; i++){
		var w = clArr[i].match("do_");
		if(w){break;}
	}
	if(w != 'do_') return false;
	var sendto = clArr[i].split("_")[1];
	sendto = (sendto == 'sendForm') ? 'includes/'+sendto : sendto;
	var options = {
		url:			sendto+'.php?ajax=true',
		target: 		'#formCanvas',
		beforeSubmit: 	function(formData, jqForm, options){ validateForm(formData, jqForm, options); },
		success: 		function(){ 
			$("label.error:first").children("input:first, textarea:first, select:first, radio:first, checkbox:first").focus();
			$.getScript(URL['cur']+"/js/behavior.js");
		}
	};
	$($formID).ajaxForm(options);
	UserFriendlyForm($formID);
	
}
function validateForm(formData, jqForm, options){
	var queryString = $.param(formData);
	//alert('About to submit: \n\n' + queryString);
	return true;
}
function UserFriendlyForm($formID){
	var $form = $($formID);
	// payment type
	var $payment = $form.find("select[name*=Payment_Method]");
	var payVal = $payment.val();
	paymentFN(payVal);
	if(payVal != undefined){
		paymentFN(payVal);
		// add on change event to pulldown
		$payment.change(function(){
			var payVal = $(this).val();
			paymentFN(payVal);
		});
	}
	$("form").find("button").click(function(){
		var b = $(this);
		var bwidth = b.width();
		var bhtml = b.html();
		b.after("<span class='loading' style='display:block; width:"+bwidth+"px;'>"+bhtml+"</span>");
		b.parent().children("button").hide();
		return true;
	});
}
function paymentFN(payVal){
	if(
	   payVal == 'Visa' ||
	   payVal == 'MasterCard' ||
	   payVal == 'Discover'
	   ){$("#creditInfo").show("fast");}
	else{$("#creditInfo").hide("fast");}
	if(payVal == 'check'){$("#checkInfo").show("fast");}
	else{$("#checkInfo").hide("fast");}
}
/* =Helper Functions
-----------------------------------------------------------------------------*/
function empty(x){	return ((x == '' || x == null) ? true : false);}
