//Store Zoom and Navigate
var stopPic=new Image();
var documentWidth="";
var movementRatio="";
function startZoom() {
	stopPic.src=document.getElementById("shop_lg").src;
	document.getElementById("shop_lg").src="img/blank.gif";
	if (document.body.clientWidth) documentWidth=document.body.clientWidth; else documentWidth=window.innerWidth;
 movementRatio=document.getElementById('shop_xl').offsetWidth/328-1;
	document.getElementById("shop_lg").onmousemove=movePic;
}
function stopZoom() {
	document.getElementById("shop_lg").onmousemove=null;
	document.getElementById("shop_lg").src=stopPic.src;
}
function movePic(e) {
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY;
	}	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft	+ document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop	+ document.documentElement.scrollTop;
	}
	posx=(posx-(Math.floor(documentWidth/2)-274))*movementRatio;
	posy=(posy-133)*movementRatio;
	document.getElementById("shop_lg").style.backgroundPosition=-posx+"px "+-posy+"px";
}

//Menu Sliding
var openHeight=new Array();
function openMenu(object) {
	if (document.getElementById(object).style.visibility!="visible") {
 	document.getElementById(object).style.visibility="visible";
	} else {
 	var currentHeight=document.getElementById(object).offsetHeight;
		if (openHeight[object]-currentHeight<=1) {
  	document.getElementById(object).style.height=openHeight[object]+"px";
			var done=1;
		} else if (openHeight[object]-currentHeight>openHeight[object]*0.6)
  	document.getElementById(object).style.height=currentHeight+openHeight[object]*0.20+"px";
		else
  	document.getElementById(object).style.height=openHeight[object]-Math.round((openHeight[object]-currentHeight)/2)+"px";
	}
	if (!done) setTimeout("openMenu('"+object+"')",100);
}
function closeMenu(object) {
	var currentHeight=document.getElementById(object).offsetHeight;
	if (currentHeight<=2) {
		document.getElementById(object).style.height=1;
		document.getElementById(object).style.visibility="hidden";
		var done=1;
	} else if (currentHeight<openHeight[object]*0.4)
		document.getElementById(object).style.height=currentHeight-openHeight[object]*0.20+"px";
	else
		document.getElementById(object).style.height=Math.round(currentHeight/2)+"px";
	if (!done) setTimeout("openMenu('"+object+"')",100);
}
var sliderTargetScroll=0,	sliderScrollNeeded=0;
function sliderChange(distance) {
	if (sliderTargetScroll+distance>slider2Scroll)
		sliderTargetScroll=slider2Scroll;
	else if (sliderTargetScroll+distance<0)
		sliderTargetScroll=0;
	else
		sliderTargetScroll=sliderTargetScroll+distance;
	if (!sliderScrollNeeded) {
		sliderScrollNeeded=1;
		sliderScroll();
	}
	return false;
}
function sliderScroll() {
	if (sliderScrollNeeded) {
		var thisScroll=Math.round((sliderTargetScroll-slider.scrollLeft)/2);
		if (thisScroll>=-2 && thisScroll<=2) {
			slider.scrollLeft=sliderTargetScroll;
			sliderScrollNeeded=0;
		} else {
			slider.scrollLeft+=thisScroll;
			setTimeout("sliderScroll()",100);
		}
	}
}

//Shop pop-up and nav functions
function prevImg() {
 if (cImage>0) changeImg(cImage-1); else changeImg(totalImages-1);
}
function nextImg() {
 if (cImage<totalImages-1) changeImg(cImage+1); else changeImg(0);
}
var nav_opacity=0;
var fadeTimer="";
function navFadeIn() {
 clearTimeout(fadeTimer);
 if (nav_opacity<100) nav_opacity+=10;
 document.getElementById('xxl_nav').style.opacity=nav_opacity/100;
 document.getElementById('xxl_nav').style.filter="alpha(opacity="+nav_opacity+")";
 if (nav_opacity<100) fadeTimer = setTimeout("navFadeIn()",50);
 document.onclick=null;
}
function navFadeOut() {
 clearTimeout(fadeTimer);
 if (nav_opacity>0) nav_opacity-=10;
 document.getElementById('xxl_nav').style.opacity=nav_opacity/100;
 document.getElementById('xxl_nav').style.filter="alpha(opacity="+nav_opacity+")";
 if (nav_opacity>0) fadeTimer = setTimeout("navFadeOut()",50);
 document.onclick=hideXXL;
}
function showXXL() {
 document.getElementById('xxl_nav').style.opacity=0;
 document.getElementById('xxl_nav').style.filter="alpha(opacity=0)";
 nav_opacity=0;
 document.getElementById('shop_xxl').style.visibility='visible';
 setTimeout("document.onclick=hideXXL",100);//delay to prevent it from immediately disappearing
 return false;
}
function hideXXL() {
 document.getElementById('shop_xxl').style.visibility='hidden';
 document.onclick=null;
 return false;
}


//Standard Utilities
function checkEmail(email) {
 if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email.toLowerCase())) {
  return true;
 } else {
  return false;
 }
}
function isInt(myNum) {
 // get the modulus: if it's 0, then it's an integer
  var myMod = myNum % 1;
 if (myMod == 0) {
  return true;
 } else {
  return false;
 }
}
function urlEncode(sStr) {
 sStr = escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
 return sStr;
}
