String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

function trackPageView()
{
	
}
function enterHere(e)
{
    e = e || window.event;
    var code = e.keyCode || e.which;
    if(code == 13)
    	refineSearch();
}
function getParam(name)
{
name=name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS="[\\?&]"+name+"=([^&#]*)";
var regex=new RegExp(regexS);
var results=regex.exec(window.location.href);
if(results==null)
return "";
else
return results[1];
}
function getXMLHTTPRequest()
{
var request=false;
try
{
request=new XMLHttpRequest();
}
catch(err1)
{
try
{
request=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(err2)
{
try
{
request=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(err3)
{
request=false;
}
}
}
return request;
}
var cartRequest=getXMLHTTPRequest();
var getCartTotalRequest=getXMLHTTPRequest();
var getCartRequest=getXMLHTTPRequest();
var myRequest=getXMLHTTPRequest();
var itemsChanged = 0;

function responseAjaxGetCartTotal()
{
	if(getCartTotalRequest.readyState==4)
	{
		if(getCartTotalRequest.status==200)
		{
			var result=getCartTotalRequest.responseText;
			
			if(result!='error')
			{
				var tagString='<quantity>';
				var endTagString='</quantity>';
				var quantity=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<price>';
				endTagString='</price>';
				var price=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<expireditems>';
				endTagString='</expireditems>';
				var expiredItems=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				if ((window.location.href.indexOf('checkout.html')>=0 || window.location.href.indexOf('cart.html')>=0) & expiredItems != '0')
					window.location.reload(true);
				
				document.getElementById('your_cart').innerHTML=quantity+' Item(s) | $'+price;
				
				window.setTimeout('ajaxGetCartTotal()',5000);
			}
		}
	}
}

function ajaxGetCartTotal()
{
	url="/modules/orders/getCart.php?getTotal=1&d="+new Date().getTime();
	
	getCartTotalRequest.open("GET",url,true);
	getCartTotalRequest.onreadystatechange=responseAjaxGetCartTotal;
	getCartTotalRequest.send(null);
}

function responseAjaxGetCart()
{
	if(getCartRequest.readyState==4)
	{
		document.getElementById('cartImage').src="/images/iphone/cart.png";
		
		if(getCartRequest.status==200)
		{
			var result=getCartRequest.responseText;
			
			if(result!='error')
			{
				ajaxGetCartTotal();
				
				var tagString='<cart>';
				var endTagString='</cart>';
				var cart=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<showcart>';
				endTagString='</showcart>';
				var showCart=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<cartempty>';
				endTagString='</cartempty>';
				var cartEmpty=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<expireditems>';
				endTagString='</expireditems>';
				var expiredItems=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				if (window.location.href.indexOf('checkout.html')>=0 & expiredItems != '0')
					window.location.reload(true);
				
				if (cartEmpty=='1')
					document.getElementById('checkoutRow').style.display="none";
				else
					document.getElementById('checkoutRow').style.display="block";
				
				document.getElementById('cartDetail').innerHTML=cart;
				
				if (showCart=='1')
				{
					document.getElementById('cartDisableDiv').style.display='block';
					document.getElementById('cartDiv').style.display='none';
					document.getElementById('cartDiv').style.top='0';
					document.getElementById('cartDiv').style.display='block';
				}
				else
				{
					document.getElementById('cartDisableDiv').style.display='none';
					document.getElementById('cartDiv').style.display='none';					
				}
				
				//changeRemainingTime();
			}
		}
	}
}

function ajaxGetCart(withAnimation)
{
	if (withAnimation!=0)
		document.getElementById('cartImage').src="/images/loaders/loader-01.gif";
	
	url="/modules/orders/getCart.php?showCart=1&getCart=1&getTotal=1&d="+new Date().getTime();
	getCartRequest.open("GET",url,true);
	getCartRequest.onreadystatechange=responseAjaxGetCart;
	getCartRequest.send(null);
}

function ajaxGetCartNotShow()
{
	url="/modules/orders/getCart.php?showCart=0&getCart=1&getTotal=1&d="+new Date().getTime();
	getCartRequest.open("GET",url,true);
	getCartRequest.onreadystatechange=responseAjaxGetCart;
	getCartRequest.send(null);
}

function responseAjaxAddToCart()
{
	if(cartRequest.readyState==4)
	{
		if(document.getElementById('shoppingCartImage')!=null)
			document.getElementById('shoppingCartImage').src="/images/iphone/cart.png";
		
		if(document.getElementById('clearDisableFront')!=null)
			document.getElementById('clearDisableFront').style.display="none";
		
		if(cartRequest.status==200)
		{
			var result=cartRequest.responseText;
			
			if(result!='error')
			{
				var tagString='<productid>';
				var endTagString='</productid>';
				var productId=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<addedtocart>';
				endTagString='</addedtocart>';
				var addedToCart=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<sku>';
				endTagString='</sku>';
				var sku=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<title>';
				endTagString='</title>';
				var title=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<quantity>';
				endTagString='</quantity>';
				var qty=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<price>';
				endTagString='</price>';
				var price=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<maxqty>';
				endTagString='</maxqty>';
				var maxQty=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<prevqty>';
				endTagString='</prevqty>';
				var prevQty=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				tagString='<reqqty>';
				endTagString='</reqqty>';
				var requestQty=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
				
				if(addedToCart!='0')
				{
					var addQty=requestQty - prevQty;
					
					if (sku!='' && title!='')
						trackProductAddition(sku,title,addQty);
					
					//if(document.getElementById('loading'+productId)!=null)
					//	document.getElementById('loading'+productId).innerHTML='<span><a href="javascript:scroll(0,0)" onclick="showCart();" class="top-links-txt" style="text-decoration: none; font-size: 9pt;">item added, view <b>cart</b></a></span>';
					
					if(document.getElementById('loading'+productId)!=null)
						document.getElementById('loading'+productId).innerHTML='';
					
					document.getElementById('your_cart').innerHTML=qty+' Item(s) | $'+price;
					
					if (addedToCart=='2' || addedToCart=='3')
						ajaxGetCart(0);
					else if (addedToCart=='1')
					{
						ajaxGetCart(1);
						scroll(0,0);
					}
				}
				else
				{
					if(document.getElementById('loading'+productId)!=null)
						document.getElementById('loading'+productId).innerHTML='<span style="color:maroon;"><b>Only '+maxQty+' item(s) in stock</b></span>';
				}
			}
			else
			{
				if(document.getElementById('loading'+productId)!=null)
					document.getElementById('loading'+productId).innerHTML="";
			}
		}
	}
}

function ajaxAddToCart(productID,optionID)
{
	itemsChanged = '1';
	
	if (document.getElementById('clearDisableFront')!= null)
		document.getElementById('clearDisableFront').style.display="block";
	
	var url="/modules/orders/addToCart.php?productID="+productID+"&optionID="+optionID+"&d="+new Date().getTime();
	document.getElementById('loading'+productID).innerHTML='<img src="/images/loaders/loader-03.gif">';
	cartRequest.open("GET",url,true);
	cartRequest.onreadystatechange=responseAjaxAddToCart;
	cartRequest.send(null);
}
function ajaxUpdateCart(cartId, quantity)
{
	itemsChanged = '1';
	var url
	
	document.getElementById('shoppingCartImage').src="/images/loaders/loader-01.gif";
	document.getElementById('clearDisableFront').style.display="block";
	
	if (quantity==0)
	{
		url="/modules/orders/addToCart.php?remove=1&cartId="+cartId+"&d="+new Date().getTime();
	}
	else
	{	
		url="/modules/orders/addToCart.php?remove=0&qty="+quantity+"&cartId="+cartId+"&d="+new Date().getTime();
	}	
	
	cartRequest.open("GET",url,true);
	cartRequest.onreadystatechange=responseAjaxAddToCart;
	cartRequest.send(null);
}
function showCart()
{
	ajaxGetCart();
}
function hideCart()
{
	//clearTimeout(tmrChangeRemainingTime);
	document.getElementById('cartDisableDiv').style.display='none';
	document.getElementById('cartDiv').style.display='none';
	
	if ((window.location.href.indexOf('checkout.html')>=0 || window.location.href.indexOf('complete-checkout.html')>=0 || window.location.href.indexOf('cart.html')>=0) & itemsChanged == '1')
		window.location.reload(true);
}

var tmrChangeRemainingTime;
var timeStamp=0;

function changeRemainingTime()
{
	var row=1;
	var remainingTime;
	var hour=0;
	var min=0;
	var sec=0;
	var strHour='';
	var strMin='';
	var strSec='';
	var now=new Date();
	var shouldRefreshCart = 0;
	
	if (now.getSeconds() != timeStamp)
	{
		while (document.getElementById('remainingTime'+row)!=null)
		{
			remainingTime=document.getElementById('remainingTime'+row).innerHTML;
			
			if(remainingTime.indexOf("Expired")==-1)
			{
				hour=parseInt(remainingTime.substr(0,2), 10);
				min=parseInt(remainingTime.substr(3,2), 10);
				sec=parseInt(remainingTime.substr(6,2), 10);
				
				if (hour==0 & min==0 & sec==0)
				{
					shouldRefreshCart=1;
				}
				else
				{	
					sec-=1;
					if (sec < 0)
					{
						sec=59;
						min-=1;
					}
					
					if (min < 0)
					{
						min=59;
						hour-=1;
					}
				
					if (hour<0)
						hour=0;
					
					if(hour<10)
						strHour='0'+hour.toString();
					else
						strHour=hour.toString();
					
					if(min<10)
						strMin='0'+min.toString();
					else
						strMin=min.toString();
					
					if(sec<10)
						strSec='0'+sec.toString();
					else
						strSec=sec.toString();
					
					document.getElementById('remainingTime'+row).innerHTML=strHour+":"+strMin+":"+strSec;
				}
			}
			
			row++;
		}
		timeStamp=now.getSeconds();
	}
	
	if (shouldRefreshCart==1)
	{
		if(document.getElementById('cartDiv').style.display=='none')
			ajaxGetCartTotal();
		else
			ajaxGetCart();
	}
	
	window.setTimeout('changeRemainingTime()',100);
}

function ajaxGetSKU(productID)
{
var optionID=$("#proOption"+productID+" option:selected").val()
var url="/modules/products/get_SKU.php?productID="+productID+"&optionID="+optionID+"&d="+new Date().getTime();
var productSKU=document.getElementById('productSKU'+productID);
var productImage=document.getElementById('productImage'+productID);
if(productSKU!=null||productImage!=null)
{
if(productSKU!=null)
productSKU.innerHTML='<img src="/images/skuLoader.gif">'
if(document.getElementById('loading'+productID)!=null)
document.getElementById('loading'+productID).innerHTML='<img src="/images/loaders/loader-03.gif">';
myRequest.open("GET",url,true);
myRequest.onreadystatechange=responseAjaxGetSKU;
myRequest.send(null);
}
}
function responseAjaxGetSKU()
{
if(myRequest.readyState==4)
{
if(myRequest.status==200)
{
var result=myRequest.responseText;
if(result!='error')
{
if(result!='0')
{
var tagString='<productId>';
var endTagString='</productId>';
var productId=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<SKU>';
endTagString='</SKU>';
var SKU=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<image>';
endTagString='</image>';
var image=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<qty>';
endTagString='</qty>';
var qty=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<alloworder>';
endTagString='</alloworder>';
var allowOrder=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
var productSKU=document.getElementById('productSKU'+productId);
var productImage=document.getElementById('productImage'+productId);
var addToCartButton=document.getElementById('addToCartButton'+productId);

if (addToCartButton!=null)
{
if(qty==0 & allowOrder==0)
	addToCartButton.innerHTML='This Color is out of stock';
else if(qty==0 & allowOrder==1)
	addToCartButton.innerHTML='<input type="image" src="/images/iphone/add-to-cart-back.png" alt="Add To Cart" title="Add To Cart" onclick="ajaxAddToCart('+productId+', $(&quot;#proOption'+productId+' option:selected&quot;).val()); return false;">';
else
	addToCartButton.innerHTML='<input type="image" src="/images/iphone/add-to-cart.png" alt="Add To Cart" title="Add To Cart" onclick="ajaxAddToCart('+productId+', $(&quot;#proOption'+productId+' option:selected&quot;).val()); return false;">';
}
if(productSKU!=null)
productSKU.innerHTML=SKU;
if(image!='')
{
if(productImage!=null)
productImage.src=image;
}
if(document.getElementById('loading'+productId)!=null)
document.getElementById('loading'+productId).innerHTML="";
}
else
{
var productSKU=document.getElementById('productSKU'+productId);
if(productSKU!=null)
productSKU.innerHTML='';
if(document.getElementById('loading'+productId)!=null)
document.getElementById('loading'+productId).innerHTML='';
}
}
else
{
var productSKU=document.getElementById('productSKU'+productId);
if(productSKU!=null)
productSKU.innerHTML='';
if(document.getElementById('loading'+productId)!=null)
document.getElementById('loading'+productId).innerHTML='';
}
}
else
{
var productSKU=document.getElementById('productSKU'+productId);
if(productSKU!=null)
productSKU.innerHTML='';
if(document.getElementById('loading'+productId)!=null)
document.getElementById('loading'+productId).innerHTML='';
}
}
else
{
}
}
function responseAjaxSendFeedbackEmail()
{
if(myRequest.readyState==4)
{
if(myRequest.status==200)
{
var result=myRequest.responseText;
document.getElementById('disablingDiv').style.display='block';
document.getElementById('disablingDiv2').style.display='none';
if(result!='error')
{
document.getElementById('feedbackname').value='';
document.getElementById('feedbackemail').value='';
document.getElementById('feedbackmessage').value='';
document.getElementById('feedbackFields').style.display='none';
document.getElementById('feedbackThankYou').style.display='block';
}
else
{
document.getElementById('feedbackStatusMsg').innerHTML='<span style="color: maroon;">Error Sending your feedback, please try again.</span>';
document.getElementById('disablingDiv').style.display='block';
document.getElementById('disablingDiv2').style.display='none';
}
}
else
{
document.getElementById('feedbackStatusMsg').innerHTML='<span style="color: maroon;">Error Sending your feedback, please try again.</span>';
document.getElementById('disablingDiv').style.display='block';
document.getElementById('disablingDiv2').style.display='none';
}
}
else
{
}
}
function trim(string){
return string.replace(/^\s*/,"").replace(/\s*$/,"");
}
function ajaxSendFeedbackEmail()
{
var feedbackName=document.getElementById('feedbackname').value;
var feedbackEmail=document.getElementById('feedbackemail').value;
var feedbackMessage=document.getElementById('feedbackmessage').value;
feedbackName=trim(feedbackName);
feedbackEmail=trim(feedbackEmail);
feedbackMessage=trim(feedbackMessage);
if(emailCheck(feedbackEmail)!=false)
{
if(feedbackMessage=='')
{
document.getElementById('feedbackStatusMsg').innerHTML='<span style="color: maroon;">Please enter a message to send</span>';
}
else
{
document.getElementById('disablingDiv2').style.display='block';
document.getElementById('disablingDiv').style.display='none';
var url="/modules/feedback/feedback.php"
var params="";
if(feedbackName!='')
params="name="+feedbackName+"&";
params=params+"email="+feedbackEmail+"&message="+feedbackMessage;
myRequest.open("POST",url,true);
myRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
myRequest.setRequestHeader("Content-length",params.length);
myRequest.setRequestHeader("Connection","close");
myRequest.onreadystatechange=responseAjaxSendFeedbackEmail;
myRequest.send(params);
}
}
else
{
document.getElementById('feedbackStatusMsg').innerHTML='<span style="color: maroon;">Incorrect email format</span>'
}
}
function responseAjaxNewsLetter()
{
if(myRequest.readyState==4)
{
if(myRequest.status==200)
{
var result=myRequest.responseText;
document.getElementById('emailSubmit').disabled=false;
if(result!='error')
{
if(result=='1')
{
document.getElementById('newslettername').value="";
document.getElementById('newsletteremail').value="";
document.getElementById('newsletterloading').innerHTML='<span style="color: white;"><b>Thank you for Subscribing</b></span>';
}
else
{
document.getElementById('newsletterloading').innerHTML='<span style="color: maroon;"><b>Email already exists</b></span>';
}
}
else
{
document.getElementById('newsletterloading').innerHTML='';
}
}
else
{
document.getElementById('newsletterloading').innerHTML='';
}
}
else
{
}
}
function insertNewsLetterEmail()
{
var url="/modules/newsletter_emails/newsletter_emails.php?name="+document.getElementById('newslettername').value+"&email="+document.getElementById('newsletteremail').value+"&d="+new Date().getTime()
if(document.getElementById('newslettername').value!=document.getElementById('newslettername').defaultValue)
{
if(emailCheck(document.getElementById('newsletteremail').value))
{
document.getElementById('emailSubmit').disabled=true;
document.getElementById('newsletterloading').innerHTML='<img src="/images/newsLoader.gif">'
myRequest.open("GET",url,true);
myRequest.onreadystatechange=responseAjaxNewsLetter;
myRequest.send(null);
}
else
{
document.getElementById('newsletterloading').innerHTML='<span style="color: maroon;">Incorrect email</span>';
document.getElementById('newsletteremail').focus();
}
}
else
{
document.getElementById('newsletterloading').innerHTML='<span style="color: maroon;">Please enter your name</span>';
document.getElementById('newslettername').focus();
}
}
var stopEffect=0;
var bannerNumber=1;
var nowShowing=0;
function setOpacity(obj,opacity){
opacity=(opacity==100)?99.999:opacity;
try
{
obj.style.filter="alpha(opacity:"+opacity+")";
obj.style.KHTMLOpacity=opacity/100;
obj.style.MozOpacity=opacity/100;
obj.style.opacity=opacity/100;
}
catch(err1)
{
}
}
function fadeIn(objId,opacity){
if(stopEffect==0)
{
if(document.getElementById){
obj=document.getElementById(objId);
if(opacity<=100){
setOpacity(obj,opacity);
opacity+=20;
window.setTimeout("fadeIn('"+objId+"',"+opacity+")",50);
}
}
}
}
function fadeOut(objId,opacity){
if(stopEffect==0)
{
if(document.getElementById){
obj=document.getElementById(objId);
if(opacity>=0){
setOpacity(obj,opacity);
opacity-=10;
window.setTimeout("fadeOut('"+objId+"',"+opacity+")",50);
}
}
}
}
function responseAjaxChangeBanner()
{
if(myRequest.readyState==4)
{
if(myRequest.status==200)
{
var result=myRequest.responseText;
if(result!='')
{
var tagString='<url>';
var endTagString='</url>';
var url='/'+result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<image>';
endTagString='</image>';
var image=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<title>';
endTagString='</title>';
var title=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<number>';
endTagString='</number>';
var number=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
stopEffect=1;
if(url!='/')
document.getElementById('banners').innerHTML='<a href="'+url+'"><img id="bannerImage'+number+'" style="visibility:hidden;" src="'+image+'" alt="'+title+'" title="'+title+'"></a>';
else
document.getElementById('banners').innerHTML='<img id="bannerImage'+number+'" style="visibility:hidden;" src="'+image+'" alt="'+title+'" title="'+title+'">';
var image=document.getElementById('bannerImage'+number)
setOpacity(image,0);
image.style.visibility='visible';
stopEffect=0;
fadeIn('bannerImage'+number,0);
if(nowShowing>0)
document.getElementById('cellButton'+nowShowing).innerHTML='<input type="image" id="button'+nowShowing+'" src="/images/iphone/Button'+nowShowing+'.png" value="" onclick="ajaxChangeBanner('+nowShowing+'); bannerNumber = '+nowShowing+';" />';
document.getElementById('cellButton'+number).innerHTML='<input type="image" id="button'+number+'" src="/images/iphone/glowButton'+number+'.png" value="" onclick="ajaxChangeBanner('+number+'); bannerNumber = '+number+';" />';
nowShowing=number;
}
}
else
{
alert(myRequest.statusText);
}
}
else
{
}
}
function ajaxChangeBanner(number)
{
var url="/modules/banners/getNextBanner.php?n="+number+"&d="+new Date().getTime();
myRequest.open("GET",url,true);
myRequest.onreadystatechange=responseAjaxChangeBanner;
myRequest.send(null);
}
function autoChangeBanner()
{
if(nowShowing!=bannerNumber)
ajaxChangeBanner(bannerNumber);
bannerNumber++;
if(bannerNumber==7)
bannerNumber=1;
}
function wash(anInput){
if(anInput.value==anInput.defaultValue)
{
anInput.value='';
anInput.style.color='#000000';
}
}
function checkWash(anInput){
if(anInput.value=='')
{
anInput.value=anInput.defaultValue;
anInput.style.color='#aaaaaa';
}
}
function emailCheck(emailStr){
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars+'+';
var word="("+atom+"|"+quotedUser+")";
var userPat=new RegExp("^"+word+"(\\."+word+")*$");
var domainPat=new RegExp("^"+atom+"(\\."+atom+")*$");
var matchArray=emailStr.match(emailPat);
if(matchArray==null){
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for(i=0;i<user.length;i++){
if(user.charCodeAt(i)>127){
return false;
}
}
for(i=0;i<domain.length;i++){
if(domain.charCodeAt(i)>127){
return false;
}
}
if(user.match(userPat)==null){
return false;
}
var IPArray=domain.match(ipDomainPat);
if(IPArray!=null){
for(var i=1;i<=4;i++){
if(IPArray[i]>255){
return false;
}
}
return true;
}
var atomPat=new RegExp("^"+atom+"$");
var domArr=domain.split(".");
var len=domArr.length;
for(i=0;i<len;i++){
if(domArr[i].search(atomPat)==-1){
return false;
}
}
if(checkTLD&&domArr[domArr.length-1].length!=2&&
domArr[domArr.length-1].search(knownDomsPat)==-1){
return false;
}
if(len<2){
return false;
}
return true;
}
function feedbackCloseAll()
{
document.getElementById('feedbackForm').style.visibility='hidden';
document.getElementById('disablingDiv').style.display='none';
document.getElementById('feedbackFields').style.display='block';
document.getElementById('feedbackThankYou').style.display='none';
document.getElementById('feedbackname').value='';
document.getElementById('feedbackemail').value='';
document.getElementById('feedbackmessage').value='';
document.getElementById('feedbackStatusMsg').innerHTML='Please fillout the requierd fields then click send';
}
function divSlideUp(divId, setBottom,toBottom)
{
if(setBottom<=toBottom)
{
document.getElementById(divId).style.bottom=setBottom+'px';
setBottom=setBottom+10;

window.setTimeout('divSlideUp("'+divId+'", '+setBottom+', '+toBottom+')',2);
}
}
function divSlideDown(divId, setBottom,toBottom)
{
if(setBottom>toBottom)
{
document.getElementById(divId).style.bottom=setBottom+'px';
setBottom=setBottom-10;
window.setTimeout('divSlideDown("'+divId+'", '+setBottom+', '+toBottom+')',2);
}
}
function ajaxUpdateBirthDateResponse()
{
if(myRequest.readyState==4)
{
if(myRequest.status==200)
{
document.getElementById('updBDSave').disabled=false;
document.getElementById('updBDLater').disabled=false;
var result=myRequest.responseText;
if(result!='error')
{
if(result=='1')
{
document.getElementById('customerBirthdate').style.display='none';
}
else
{
document.getElementById('updBDStatusMsg').innerHTML='<span style="color: maroon;">Error, Please try later</span>';
}
}
else
{
document.getElementById('updBDStatusMsg').innerHTML='<span style="color: maroon;">Error, Please try later</span>';
}
}
else
{
}
}
else
{
}
}
function ajaxUpdateBirthDate(customerID)
{
var bdMonth=$("#BIRTHDATEMONTH option:selected").val();
var bdDay=$("#BIRTHDATEDAY option:selected").val();
var bdYear=$("#BIRTHDATEYEAR option:selected").val();

if (bdMonth!=false & bdDay!=false & bdYear!=false)
{
	document.getElementById('updBDStatusMsg').innerHTML='Get a coupon code on your birthday';
	document.getElementById('updBDSave').disabled=true;
	document.getElementById('updBDLater').disabled=true;
	var url="/modules/customers/customer_update_birth_date.php?CID="+customerID+"&later=0&bdm="+bdMonth+"&bdd="+bdDay+"&bdy="+bdYear;
	document.getElementById('updBDStatusMsg').innerHTML='<img src="/images/skuLoader.gif">'
	myRequest.open("GET",url,true);
	myRequest.onreadystatechange=ajaxUpdateBirthDateResponse;
	myRequest.send(null);
}
else
{
	document.getElementById('updBDStatusMsg').innerHTML='<span style="color: maroon;">Please enter all values</span>';
}
}
function divStartSlideDownResponse()
{
if(myRequest.readyState==4)
{
if(myRequest.status==200)
{
var result=myRequest.responseText;

if(result!='error')
{
if(result=='1')
{
divSlideDown('customerBirthdate', 0,-140)
}
else
{
}
}
else
{
}
}
else
{
}
}
else
{
}
}
function divStartSlideDown(customerID)
{
var url="/modules/customers/customer_update_birth_date.php?CID="+customerID+"&later=1"
myRequest.open("GET",url,true);
myRequest.onreadystatechange=divStartSlideDownResponse;
myRequest.send(null);
}
function divStartSlideUp(divId)
{
document.getElementById('updBDStatusMsg').innerHTML='Get a coupon code on your birthday';
var setBottom;
setBottom=document.getElementById(divId).style.bottom;
if(setBottom.length>0)
setBottom=Number(setBottom.substr(0,setBottom.length-2))+10;
else
setBottom=0;
divSlideUp(divId,setBottom,0);
}
function getProductsWithLoader(deviceId,categoryId,subCategoryId,brandId,page)
{
document.getElementById('productsLoader').innerHTML='<img src="/images/loaders/loader-02.gif" />';
getProducts(deviceId,categoryId,subCategoryId,brandId,page);
}
function getProducts(deviceId,categoryId,subCategoryId,brandId,page)
{
document.getElementById('clearDisable').style.display='block';
var sortOrder=$("#sortOrderSelect option:selected").val();
var itemsOnSale=0;
var newItems=0;
var freeShipping=0;
var view;
var color='0';
for(i=0;i<document.viewStyleForm.viewStyle.length;i++)
{
if(document.viewStyleForm.viewStyle[i].checked==true)
view=document.viewStyleForm.viewStyle[i].value;
}
var url="/modules/products/get-products.php?mcid="+deviceId+"&cid="+categoryId+"&scid="+subCategoryId+"&view="+view+"&so="+sortOrder+"&ios="+itemsOnSale+"&ni="+newItems+"&st=&pr=all&c="+color+"&fs="+freeShipping+"&bid="+brandId+"&page="+page+"&d="+new Date().getTime();
myRequest.open("GET",url,true);
myRequest.onreadystatechange=responseAjaxGetProducts;
myRequest.send(null);
}
function ajaxGetProducts(page)
{
document.getElementById('clearDisable').style.display='block';
var mainCategoryId=$("#devicesSelect option:selected").val();
var categoryId=$("#categoriesSelect option:selected").val();
var subCategoryId=$("#subCategoriesSelect option:selected").val();
var sortOrder=$("#sortOrderSelect option:selected").val();
var itemsOnSale=(document.getElementById('chkItemsOnSale').checked?1:0);
var newItems=(document.getElementById('chkNewItems').checked?1:0);
var freeShipping=(document.getElementById('chkFreeShipping').checked?1:0);
var brandId=$("#brandsSelect option:selected").val();
var searchText=document.getElementById('txtSearch').value;
var view;
var priceRange='all';
var color='0';
if(searchText=='Search...')
searchText='';
for(i=0;i<document.viewStyleForm.viewStyle.length;i++)
{
if(document.viewStyleForm.viewStyle[i].checked==true)
view=document.viewStyleForm.viewStyle[i].value;
}
if(document.priceRangeForm.priceRangeOption!=null)
{
for(i=0;i<document.priceRangeForm.priceRangeOption.length;i++)
{
if(document.priceRangeForm.priceRangeOption[i].checked==true)
priceRange=document.priceRangeForm.priceRangeOption[i].value;
}
}
if(document.colorsForm.chkColors!=null)
{
for(i=0;i<document.colorsForm.chkColors.length;i++)
{
if(document.colorsForm.chkColors[i].checked==true)
color=color+','+document.colorsForm.chkColors[i].value;
}
}
var url="/modules/products/get-products.php?mcid="+mainCategoryId+"&cid="+categoryId+"&scid="+subCategoryId+"&view="+view+"&so="+sortOrder+"&ios="+itemsOnSale+"&ni="+newItems+"&st="+searchText+"&pr="+priceRange+"&c="+color+"&fs="+freeShipping+"&bid="+brandId+"&page="+page+"&d="+new Date().getTime();
myRequest.open("GET",url,true);
myRequest.onreadystatechange=responseAjaxGetProducts;
myRequest.send(null);
}
function responseAjaxGetProducts()
{
if(myRequest.readyState==4)
{
if(myRequest.status==200)
{
var result=myRequest.responseText;
if(result!='error')
{
var tagString='<devicetitle>';
var endTagString='</devicetitle>';
var deviceTitle=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<deviceurl>';
endTagString='</deviceurl>';
var deviceURL=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<devicedescription>';
endTagString='</devicedescription>';
var deviceDescription=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<devicecategories>';
endTagString='</devicecategories>';
var deviceCategories=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<deviceimage>';
endTagString='</deviceimage>';
var deviceImage=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<products>';
endTagString='</products>';
var products=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<categories>';
endTagString='</categories>';
var categories=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<subcategories>';
endTagString='</subcategories>';
var subCategories=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<pager>';
endTagString='</pager>';
var pager=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<prices>';
endTagString='</prices>';
var prices=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<colors>';
endTagString='</colors>';
var colors=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<queryresult>';
endTagString='</queryresult>';
var queryResult=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<brands>';
endTagString='</brands>';
var brandsResult=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
tagString='<devices>';
endTagString='</devices>';
var devicesResult=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);
//tagString='<searchtext>';
//endTagString='</searchtext>';
//var searchText=result.substr(result.indexOf(tagString)+tagString.length,result.lastIndexOf(endTagString)-result.indexOf(tagString)-tagString.length);

//if (searchText!='')
	//document.getElementById('txtSearch').value=searchText;

document.getElementById('devices').innerHTML=devicesResult;
document.getElementById('deviceTitle').innerHTML='<h1>'+deviceTitle+'</h1>';
if(deviceCategories=='')
document.getElementById('deviceDescription').innerHTML=deviceDescription;
else
document.getElementById('deviceDescription').innerHTML=deviceDescription+'<br/><br/><span style="text-align: left;">Please browse through the categories listed below for <b>'+deviceTitle+'</b>:<br/>'+deviceCategories+'</span>';
document.getElementById('deviceImage').innerHTML='<img src="'+deviceImage+'" title="'+deviceTitle+'" alt="'+deviceTitle+'"/>';
document.getElementById('queryResult').innerHTML=queryResult;
document.getElementById('products').innerHTML=products;
document.getElementById('categoriesForm').innerHTML=categories;
document.getElementById('subCategoriesForm').innerHTML=subCategories;
document.getElementById('priceRangeForm').innerHTML=prices;
document.getElementById('brandsForm').innerHTML=brandsResult;
document.getElementById('colorsForm').innerHTML=colors;
document.getElementById('headerPager').innerHTML=pager.replace(/ajaxGetProducts/gi,"changePageHeader");
document.getElementById('footerPager').innerHTML=pager.replace(/ajaxGetProducts/gi,"changePageFooter");
document.getElementById('productsLoader').innerHTML='&nbsp;';
document.getElementById('productsLoaderSearch').innerHTML='&nbsp;';
document.getElementById('productsLoaderFooter').innerHTML='&nbsp;';
document.getElementById('clearDisable').style.display='none';
document.getElementById('serachForm').style.display='block';
}
else
{
document.getElementById('products').innerHTML="Error";
}
}
else
{
document.getElementById('products').innerHTML=myRequest.statusText;
}
}
else
{
}
}
function clearPriceCheck()
{
if(document.priceRangeForm.priceRangeOption!=null)
{
for(i=0;i<document.priceRangeForm.priceRangeOption.length;i++)
{
document.priceRangeForm.priceRangeOption[i].checked=false;
}
}
}
function changeCategories()
{
document.getElementById('subCategoriesForm').innerHTML='';
loadProducts(1);
trackPageView();
}
function clearForm()
{
document.getElementById('clearDisable').style.display='block';
clearPriceCheck();
document.getElementById('chkItemsOnSale').checked=false;
document.getElementById('chkFreeShipping').checked=false;
document.getElementById('chkNewItems').checked=false;
document.getElementById('txtSearch').value='';
document.getElementById('txtSearch').style.color='#aaaaaa';
document.getElementById('txtSearch').value='Search...';
if(document.colorsForm.chkColors!=null)
{
for(i=0;i<document.colorsForm.chkColors.length;i++)
{
if(document.colorsForm.chkColors[i].checked==true)
document.colorsForm.chkColors[i].checked=false;
}
}
}
function resetForm()
{
clearForm();
refineSearch();
}
function changeDevice()
{
clearPriceCheck();
if(document.subCategoriesForm.subCategoriesSelect!=null)
document.subCategoriesForm.subCategoriesSelect[0].selected=1;
if(document.categoriesForm.categoriesSelect!=null)
document.categoriesForm.categoriesSelect[0].selected=1;
loadProducts(1);
}
function changePageFooter(page)
{
document.getElementById('productsLoaderFooter').innerHTML='<img src="/images/loaders/loader-02.gif" />';
ajaxGetProducts(page);
trackPageView();
}
function refineSearch()
{
document.getElementById('productsLoaderSearch').innerHTML='<img src="/images/loaders/loader-02.gif" />';
ajaxGetProducts(1);
}
function changePageHeader(page)
{
document.getElementById('productsLoader').innerHTML='<img src="/images/loaders/loader-02.gif" />';
ajaxGetProducts(page);
trackPageView();
}
function loadProducts(page)
{
clearForm()
document.brandsForm.brandsSelect[0].selected=1;
document.getElementById('productsLoader').innerHTML='<img src="/images/loaders/loader-02.gif" />';
ajaxGetProducts(page);
}
function loadProductsNoClear(page)
{
document.getElementById('productsLoader').innerHTML='<img src="/images/loaders/loader-02.gif" />';
ajaxGetProducts(page);
}
function brandsSearch()
{
document.getElementById('productsLoader').innerHTML='<img src="/images/loaders/loader-02.gif" />';
clearForm();
ajaxGetProducts(1);
trackPageView();
}
function initAjaxProducts()
{
document.getElementById('pageTitle').style.display='none';
var fragment;
var parameter;
var deviceId=0;
var categoryId=0;
var subCategoryId=0;
var brandId=0;
var page=1;
var index;
var searchText='';

if(window.location.hash!='')
{
  if(window.location.hash.indexOf('%21')>-1)
	window.location.hash = window.location.hash.replace('%21', '!');
	
  fragment=window.location.hash.substr(2);
  if(fragment.indexOf(',')>-1)
  {
    deviceId=fragment.substring(0,fragment.indexOf(','));
    index=fragment.indexOf(',')+1;
    if(fragment.indexOf(',',index)>-1)
    {
      categoryId=fragment.substring(index,fragment.indexOf(',',index));
      index=fragment.indexOf(',',index)+1;
      if(fragment.indexOf(',',index)>-1)
      {
        subCategoryId=fragment.substring(index,fragment.indexOf(',',index));
        index=fragment.indexOf(',',index)+1;
        if(fragment.indexOf(',',index)>-1)
        {
          brandId=fragment.substring(index,fragment.indexOf(',',index));
          index=fragment.indexOf(',',index)+1;
          if(fragment.indexOf(',',index)>-1)
          {
            page=fragment.substring(index,fragment.indexOf(',',index));
            index=fragment.indexOf(',',index)+1;
            
            if(fragment.indexOf(',',index)>-1)
            {
              searchText=fragment.substring(index,fragment.indexOf(',',index));
            }
            else
            {
              searchText=fragment.substring(index);
            }
          }
          else
          {
            page=fragment.substring(index);
          }
        }
        else
        {
          brandId=fragment.substring(index);
          page=1;
        }
      }
      else
      {
        subCategoryId=fragment.substring(index);
        brandId=0;
        page=1;
      }
    }
    else
    {
      categoryId=fragment.substring(index);
      subCategoryId=0;
      brandId=0;
      page=1;
    }
  }
  else
  {
    deviceId=fragment;
    categoryId=0;
    subCategoryId=0;
    brandId=0;
    page=1;
  }

  if(deviceId==0 & window.location.href.indexOf('all-apple-accessories.html')==-1)
  {
	  window.location.href="http://test.iphoneaccessories.com/all-apple-accessories.html#!0,0,0,0,1";
  }
  else
  {
	  document.getElementById('productsLoader').innerHTML='<img src="/images/loaders/loader-02.gif">';
	  
	  if (searchText!=false)
	  {
		  window.location.hash='!' + deviceId + ',' + categoryId + ',' + subCategoryId + ',' + brandId + ',' + page;
		  document.getElementById('txtSearch').value=searchText;
		  document.getElementById('txtSearch').style.color="#333333";
		  refineSearch();
	  }
	  else
	      getProducts(deviceId,categoryId,subCategoryId,brandId,page);
  }
}
}

function showTrackingForm()
{
	document.getElementById('trackingDisableDiv').style.display = 'block';
	document.getElementById('trackingForm').style.display = 'block';
}

function hideTrackingForm()
{
	document.getElementById('trackingDisableDiv').style.display = 'none';
	document.getElementById('trackingForm').style.display = 'none';
}
function responseAjaxGetTrackingInfo()
{
	if(myRequest.readyState==4)
	{
		if(myRequest.status==200)
		{
			var result=myRequest.responseText;
			
			alert (result);
			
			if(result!='error')
			{
				
			}
		}
		else
		{
			alert (myRequest.statusText);
		}
	}
}

function ajaxGetTrackingInfo(trackingNo)
{
	url="/modules/shipping/getTrackingInfo.php?id="+trackingNo+"&d="+new Date().getTime();
	myRequest.open("GET",url,true);
	myRequest.onreadystatechange=responseAjaxGetTrackingInfo;
	myRequest.send(null);
}

function searchProducts()
{
	if (document.getElementById('qry').value != '') 
	{
		trackProductSearch(document.getElementById('qry').value); 
		
		var url = window.location.href;
		
		if (url.indexOf('all-apple-accessories.html')>-1)
		{
			document.getElementById('txtSearch').style.color="#333333";
			document.getElementById('txtSearch').value=document.getElementById('qry').value;			
			document.getElementById('qry').value='';
			refineSearch();
		}
		else
		{
			window.location.href='/all-apple-accessories.html#!0,0,0,0,1,' + document.getElementById('qry').value;
		}
	}
}

function validateGuestCustomer()
{
	var errorMessage='';
	
	if (document.getElementById('CUSTOMER_B_FNAME').value.trim()=='')
	{
		errorMessage+='Please enter first name<br/>';
	}
	if (document.getElementById('CUSTOMER_B_LNAME').value.trim()=='')
	{
		errorMessage+='Please enter last name<br/>';
	}
	if (document.getElementById('CUSTOMER_B_EMAIL').value.trim()=='')
	{
		errorMessage+='Please enter email<br/>';
	}
	else
	{
		if(!emailCheck(document.getElementById('CUSTOMER_B_EMAIL').value.trim()))
			errorMessage+='Incorrect email address<br/>';
	}
	if (document.getElementById('CUSTOMER_B_COUNTRY').value=='')
	{
		errorMessage+='Please enter billing country<br/>';
	}
	if (document.getElementById('CUSTOMER_B_ADDRESS').value.trim()=='')
	{
		errorMessage+='Please enter billing address<br/>';
	}
	if (document.getElementById('CUSTOMER_B_CITY').value.trim()=='')
	{
		errorMessage+='Please enter billing city<br/>';
	}
	if (document.getElementById('CUSTOMER_B_COUNTRY').value=='USA')
	{
		if(document.getElementById('CUSTOMER_B_STATE').value=='')
		{
			errorMessage+='Please enter billing state<br/>';
		}
	}
	else if(document.getElementById('CUSTOMER_B_COUNTRY').value!='USA' & document.getElementById('CUSTOMER_B_COUNTRY').value!='')
	{
		if(document.getElementById('CUSTOMER_B_PROVINCE').value=='')
		{
			errorMessage+='Please enter billing province<br/>';
		}
	}
	if (document.getElementById('CUSTOMER_B_ZIP').value.trim()=='')
	{
		errorMessage+='Please enter billing zip code<br/>';
	}
	if(!document.getElementById('USE_AS_BILLING').checked)
	{
		if (document.getElementById('CUSTOMER_S_NAME').value.trim()=='')
		{
			errorMessage+='Please enter shipping name<br/>';
		}
		if (document.getElementById('CUSTOMER_S_COUNTRY').value=='')
		{
			errorMessage+='Please enter shipping country<br/>';
		}
		if (document.getElementById('CUSTOMER_S_ADDRESS').value.trim()=='')
		{
			errorMessage+='Please enter shipping address<br/>';
		}
		if (document.getElementById('CUSTOMER_S_CITY').value.trim()=='')
		{
			errorMessage+='Please enter shipping city<br/>';
		}
		if (document.getElementById('CUSTOMER_S_COUNTRY').value=='USA')
		{
			if(document.getElementById('CUSTOMER_S_STATE').value=='')
			{
				errorMessage+='Please enter shipping state<br/>';
			}
		}
		else if(document.getElementById('CUSTOMER_S_COUNTRY').value!='USA' & document.getElementById('CUSTOMER_S_COUNTRY').value!='')
		{
			if(document.getElementById('CUSTOMER_S_PROVINCE').value=='')
			{
				errorMessage+='Please enter shipping province<br/>';
			}
		}
		if (document.getElementById('CUSTOMER_S_ZIP').value.trim()=='')
		{
			errorMessage+='Please enter shipping zip code<br/>';
		}
	}
	//alert (errorMessage);
	
	if (errorMessage != '')
	{
		document.getElementById('errorMessage').innerHTML=errorMessage;
		document.getElementById('error').style.display='block';
		return false;
	}
	else
	{
		return true;
	}
}