
function addEventHandler(oNode, sEvt, fFunc, bCaptures){
	if (typeof (window.attachEvent) != 'undefined')
		oNode.attachEvent('on' + sEvt, fFunc);
	else
		oNode.addEventListener(sEvt, fFunc, bCaptures);
}

function confirm_(msg){
	var c = confirm(msg);
	if(c) return true;
	else return false;
}

function fHideSurvey(){
	var x = document.getElementById('survey_frm');
	var xxx = document.getElementById("menu4iframe");
	x.style.visibility = "hidden";
	xxx.style.visibility = "hidden";
}
function setUpSurvey(){
	var x = document.getElementById('survey_frm');
	var xx = document.getElementById('survey_form');
	var xxx = document.getElementById("menu4iframe");
	if(nSurvey==1) {
		x.style.visibility = "hidden";
		xx.style.visibility = "hidden";
		window.document.body.scroll = "yes";
		xxx.style.visibility = "hidden";
	}
	else {
		x.style.visibility = "visible";
		xx.style.visibility = "visible";
		window.document.body.scroll = "no";
		xxx.style.visibility = "visible";
	}
}

function init(){
	window.top.document.getElementById("result").innerHTML = 'Incorrect Login Information';
}

function fpreSubTotal(){	
	for(ctr=0; ctr<item_count; ctr++){
		
		if(done) break;
		//if(x == null) x = 0;
		try { 
			//alert(document.getElementById('quantity'+ctr).value);
			var data = document.getElementById('subTotal'+ctr).innerHTML;
			var oldData = data;

			var quantity = document.getElementById('quantity'+ctr).value;
			var product_code = document.getElementById('product_code'+ctr).innerHTML;
			if(product_code == 1){
				allow_discount = false;
				if(quantity%2 == 0) {
					data = data/2;
					document.getElementById('oldsubTotal'+ctr).innerHTML = '$ '+oldData;
					document.getElementById('subTotal'+ctr).innerHTML = data;
				}
				else if(quantity == 1){
					iBG++; 
					if(iBG==2){
						document.getElementById('subTotal'+prev).innerHTML = '0.00';
						document.getElementById('oldsubTotal'+prev).innerHTML = '$ '+prev_price;
						data = 0.00;
						iBG=0;
					}
					var prev_price = data;
					var prev = ctr;
				}
				
			}
			
		} catch(e){
			data = 0;	
		}
		
		//var x = (Number(x))+(Number(data));
	}
	done = true;
}

function fSubTotal(){
	fpreSubTotal();
	for(ctr=0; ctr<item_count; ctr++){
		if(x == null) x = 0;
		try { 
			//alert(document.getElementById('quantity'+ctr).value);
			var data = document.getElementById('subTotal'+ctr).innerHTML;
			/*var oldData = data;

			var quantity = document.getElementById('quantity'+ctr).value;
			var product_code = document.getElementById('product_code'+ctr).innerHTML;
			if(product_code == 1){
				if(quantity%2 == 0) {
					data = data/2;
					document.getElementById('oldsubTotal'+ctr).innerHTML = '$ '+oldData;
					document.getElementById('subTotal'+ctr).innerHTML = data;
				}
				else if(quantity == 1){
					i++;
					if(i==2){						
						document.getElementById('subTotal'+prev).innerHTML = '0.00';
						document.getElementById('oldsubTotal'+prev).innerHTML = '$ '+data;
						data = 0.00;						
					}
					
					var prev = ctr;
					
				}
				
			}*/
			
		} catch(e){
			data = 0;	
		}
		
		var x = (Number(x))+(Number(data));
	}
	
	try {
		document.getElementById('subTotal').innerHTML = x.toFixed(2);
	} catch(e){
		//alert(e);	
	}
	
}

function fProceedToCheckOut(){
	if(allow_to_checkout==0){
		alert('Please wait for the previous request to finish.');
		return false;
	}
	var act = 'add_to_billing';
	var subTotal = document.getElementById('subTotal').innerHTML;	
	var shipping = document.getElementById('shipping').innerHTML;
	var tax = document.getElementById('tax').innerHTML;
	var orderTotal = document.getElementById('orderTotal').innerHTML;
	if(orderTotal<1) {alert('You cannot checkout with zero(0) total.'); return false;}
	if(zip_checker==0) { alert('Please Enter Zipcode'); return false;}
	if(iBG>0 && iBG%2==1) { if(confirm_("Please select your free item. \n\nClick Cancel to proceed to checkout.")) return false; } 
	var shippingMethod = document.getElementById('shippingMethod').value;
	var zipcode = document.getElementById('zipcode').value;	
	var promo_code = document.getElementById('promo_code').value;
	var xmlData = new getXMLObject();
	var url = 'cart_handler.php';
	var qty = this.value;
	url=url+"?act="+act+"&sid="+Math.random();
	if(xmlData) {
		xmlData.onreadystatechange = function(){
			if (xmlData.readyState == 4) {					
				if (xmlData.status == 200) {
					//document.getElementById('tmp').innerHTML = data;
					if(xmlData.responseText == 1) window.location = './billing.php';
				}			
			}
		}
	}
	xmlData.open("POST",url,true);
	xmlData.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	var data = "subTotal="+subTotal+"&orderTotal="+orderTotal+"&shipping="+shipping+"&tax="+tax+"&shippingMethod="+shippingMethod+"&zipcode="+zipcode+"&promo_code="+promo_code;
	xmlData.send(data);
}

function checkPromoCode(code){
	var xmlHttp = new getXMLObject();
	var promo_code = document.getElementById('promo_code').value;
	var subTotal = document.getElementById('subTotal').value;
	var tax = document.getElementById('tax').value;
	var shipping = document.getElementById('shipping').value;
	var orderTotal = document.getElementById('orderTotal').value;
	var url = 'code.php';
	url=url+"?subTotal="+subTotal+"&tax="+tax+"&shipping="+shipping;
	url=url+"&sid="+Math.random();
	
	if(xmlHttp) {
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4) {					
				if (xmlHttp.status == 200) {
					var x = xmlHttp.responseText*(-1);
					document.getElementById('orderTotal').value = x.toFixed(2);
					dispDC();
				}			
			}
		}	
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttp.send("promo_code="+promo_code);
  	}
}
function fSetUp(variable){
	alert(variable);	
}
function fSubTotalUpdate(){
	
	try {
		var x = this.id.substr(8,1);
		var id = this.name;
		var qty = this.value;
		var subPrice = this.value*sale_price[x];
	} catch(e){
		var x = event.srcElement.id.substr(8,1);
		var id = event.srcElement.name;
		var qty = event.srcElement.value;
		var subPrice = event.srcElement.value*sale_price[x];
		
	}
	
	var act = 'update';
	
	document.getElementById('subTotal'+x).innerHTML = subPrice;
	fOrderTotal();
	var xmlHttp = new getXMLObject();
	var url = 'cart_handler.php';
	
	url=url+"?act="+act+"&sid="+Math.random();
	if(xmlHttp) {
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4) {					
				if (xmlHttp.status == 200) {
					document.getElementById('result'+x).innerHTML = xmlHttp.responseText;
					window.location = 'cart.php';
					fpreSubTotal();
				}			
			}
		}
	}
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttp.send("qty="+qty+"&id="+id);
}

function fSetUpCartEvents(){
	//Quantity Handlers
	var input = document.getElementsByTagName("input");
	for(i=0; i<input.length; i++){
		if(input[i].className == "carting-text-input"){
			addEventHandler(input[i], 'change', fSubTotalUpdate, false);
			
		}
	}
	addEventHandler(document.getElementById("promo_code"), 'blur', fOrderTotal, false);
	addEventHandler(document.getElementById("shippingMethod"), 'change', fOrderTotal, false);
	addEventHandler(document.getElementById("zipcode"), 'blur', fOrderTotal, false);
	addEventHandler(document.getElementById("checkout"), 'click', fProceedToCheckOut, false);
	
	//Checkout Checker
	addEventHandler(document.getElementById("zipcode"), 'blur', function(){
																	var z = document.getElementById("zipcode");
																	if(z.value!='') zip_checker=1; else zip_checker=0;
																}, false);
	
}



function fSetUpBillingEvents(){
	var form = document.getElementById("billing_form");
	addEventHandler(form.radio[0], 'click', function(){animatedcollapse.hide('eman');}, false);
	addEventHandler(form.radio[1], 'click', function(){
		animatedcollapse.show('eman');
		document.getElementById('firstname_s').value = document.getElementById('firstname').value;
		document.getElementById('lastname_s').value = document.getElementById('lastname').value;
		document.getElementById('company_s').value = document.getElementById('company').value;
		document.getElementById('address1_s').value = document.getElementById('address1').value;
		document.getElementById('address2_s').value = document.getElementById('address2').value;
		document.getElementById('city_s').value = document.getElementById('city').value;
		document.getElementById('state_s').selectedIndex = document.getElementById('state').selectedIndex;		
		document.getElementById('zipcode_s').value = document.getElementById('zipcode').value;
		document.getElementById('phone_s').value = document.getElementById('phone').value;
		document.getElementById('email_s').value = document.getElementById('email').value;
	}, false);
	
	if(show_radio) {
		animatedcollapse.show('eman');
		form.radio[1].checked = true;
		form.radio[0].checked = false;
				
	}
	else {
		form.radio[0].checked = true;
		form.radio[1].checked = false;
		animatedcollapse.hide('eman');
	}
}



function fSetUpRowListener(element){
	var oTable = document.getElementById(element);
	var aTRs=oTable.getElementsByTagName('tr');
	for(var j=0;j<aTRs.length;j++){
		aTRs[j].onclick=function(e){
			//recompute after deletion
			if(window.event) {
				srcName = event.srcElement.id;
				srcId = event.srcElement.name;
			}
			else {
				srcName = e.target.id;
				srcId = e.target.name;
			}
			
			if(srcName == "delete"){
				oTable.deleteRow(this.rowIndex-1); 
				fRowEvent(srcId,srcName,'row_event_handler.php',element);
			}
		}
	}
}

function fSetUpWishlist(){
	//document.getElementById('view').style.cursor = 'pointer';
	//document.getElementById('delete').style.cursor = 'pointer';
	
}


function fAddToWishlist(username,sku,size,color){
	var xmlHttp = new getXMLObject();
	var url = 'row_event_handler.php';
	url=url+"?sid="+Math.random();
	if(xmlHttp) {
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4) {					
				if (xmlHttp.status == 200) {
					if(xmlHttp.responseText==1) alert("Item Added To Wishlist");
				}		
			}
		}
	}
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttp.send("username="+username+"&sku="+sku+"&size="+size+"&color="+color+"&act=add_to_wishlist");

}

function fRowEvent(key,act,file,table){
	var xmlHttp = new getXMLObject(); 
	var url = file;
	url=url+"?sid="+Math.random();
	if(xmlHttp) {
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4) {	
				if (xmlHttp.status == 200) {
					return xmlHttp.responseText;
					
				}		
			}
		}
	}
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	var data = "key="+key+"&act="+act+"&table="+table;
	xmlHttp.send(data);
}

function fSetUpAddToCart(){
addEventHandler(document.getElementById('add_to_cart'), 'click', function(e){
																		  var cart_form = document.getElementById("cart");
																		  try {
																			  var size = document.getElementById("size").value;
																			  if(size == "Select Size"){
																					alert("Please Select Size");
																					cart_form.onsubmit = function(){return false;};
																			  }
																			  else cart_form.onsubmit = function(){return true;};
																		  }catch(e){
																			   var color = document.getElementById("color").value;
																			   if(color == "Select Color"){
																					alert("Please Select Color");
																					cart_form.onsubmit = function(){return false;};
																			   }
																			   else cart_form.onsubmit = function(){return true;};
																		  }
																}, false);	
}

function fOrderTotal(){
	fSubTotal();
	var xmlHttp = new getXMLObject();
	var zipcode = document.getElementById('zipcode').value;
	var subTotal = document.getElementById('subTotal').innerHTML;	
	var method = document.getElementById('shippingMethod').value;
	if((zipcode >= 90001 ) && (zipcode <=96162)) {
		document.getElementById('tax').innerHTML = (subTotal*0.0925).toFixed(2);
		
	}
	else document.getElementById('tax').innerHTML = '0.00';
	var url = 'shipping.php';
	url=url+"?method="+method+"&subTotal="+ subTotal;
	url=url+"&sid="+Math.random();
	
	if(xmlHttp) {
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 1) {
				allow_to_checkout = 0;
				//add loading img here
				document.getElementById('loading_holder').innerHTML = '<img src="images/loading_.gif" alt="" width="105" height="100"/>';
			}
			if (xmlHttp.readyState == 4) {					
				if (xmlHttp.status == 200) {
					//alert(xmlHttp.responseText);
					var x = xmlHttp.responseText*1;
					document.getElementById('shipping').innerHTML = x.toFixed(2);
					var orderTotal = (document.getElementById('subTotal').innerHTML*1)+(document.getElementById('shipping').innerHTML*1)+(document.getElementById('tax').innerHTML*1);
					document.getElementById('orderTotal').innerHTML = orderTotal.toFixed(2);
					fcPromoCode();
				}
			}
		}	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
  	}
	
}

function fcPromoCode(){
	var xmlHttp = new getXMLObject();
	var promo_code = document.getElementById('promo_code').value;
	var subTotal = document.getElementById('subTotal').innerHTML;
	var tax = document.getElementById('tax').innerHTML;
	var shipping = document.getElementById('shipping').innerHTML;
	var orderTotal = document.getElementById('orderTotal').innerHTML;
	var tmp_orderTotal = Number(subTotal)+Number(tax)+Number(shipping);
	var url = 'code.php';
	url=url+"?subTotal="+subTotal+"&tax="+tax+"&shipping="+shipping;
	url=url+"&sid="+Math.random();
	
	if(xmlHttp) {
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4) {					
				if (xmlHttp.status == 200) {
					var x = xmlHttp.responseText*1;
					if(allow_discount){
						
						if(x>0){
							var final_orderTotal = tmp_orderTotal-(tmp_orderTotal*(x/100));
							document.getElementById('orderTotal').innerHTML = final_orderTotal.toFixed(2);
							document.getElementById('orderTotal_old').innerHTML = '<s style="color:grey;">$ '+tmp_orderTotal.toFixed(2)+'</s><br />';
							document.getElementById('promo_code_display').innerHTML = '<strong style="color:#006600; font-size:11px; padding-right:5px;">('+x+'% Discount Applied)</strong>'; 
							document.getElementById('shipping_code_display').innerHTML = '';
							document.getElementById('shipping_old').innerHTML = '';
						}
						else {
							if(x<0) { 
								document.getElementById('shipping_old').innerHTML = '<s style="color:grey;">$ '+shipping+'</s><br />';
								document.getElementById('shipping').innerHTML = '0.00';
								document.getElementById('promo_code_display').innerHTML = '';
								document.getElementById('orderTotal_old').innerHTML = '';
								document.getElementById('shipping_code_display').innerHTML = '<strong style="color:#006600; font-size:11px; padding-right:5px;">(Free Shipping Applied)</strong>';
								document.getElementById('orderTotal').innerHTML = tmp_orderTotal.toFixed(2)-shipping;
							}
							else {
								document.getElementById('orderTotal').innerHTML = tmp_orderTotal.toFixed(2);
								document.getElementById('orderTotal_old').innerHTML = '';
								document.getElementById('promo_code_display').innerHTML = '';
								document.getElementById('shipping_code_display').innerHTML = '';
								document.getElementById('shipping_old').innerHTML = '';
							}
						}
					}
					allow_to_checkout = 1;
					document.getElementById('loading_holder').innerHTML = '';
				}			
			}
			if (xmlHttp.readyState == 1) {					
				allow_to_checkout = 0;
			}
		}	
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttp.send("promo_code="+promo_code);
  	}
}

function fHideSurvey(){
	var x = document.getElementById('survey_frm');
	x.style.visibility = "hidden";
}
function setUpSurvey(){
	var x = document.getElementById('survey_frm');
	var xx = document.getElementById('survey_form');
	if(nSurvey==1) {
		x.style.visibility = "hidden";
		xx.style.visibility = "hidden";
	}
	else {
		x.style.visibility = "visible";
		xx.style.visibility = "visible";
	}
}

function fDeleteItem(id){
	var act = 'delete';
	var xmlHttp = new getXMLObject();
	var url = 'cart_handler.php?act='+act;
	url=url+"&sid="+Math.random();
	if(xmlHttp) {
		xmlHttp.onreadystatechange = function(){
			if (xmlHttp.readyState == 4) {					
				if (xmlHttp.status == 200) {	
					window.location='cart.php';
					return xmlHttp.responseText;
				}		
			}
		}
	}
	xmlHttp.open("POST",url,true);
	xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttp.send("id="+id);
}

function fSetUpRows(){
	var oTable = document.getElementById('cart_items');
	var aTRs=oTable.getElementsByTagName('tr');
	for(var j=0;j<aTRs.length;j++){
		aTRs[j].onclick=function(e) {
				
				//recompute after deletion
				if(window.event) { srcId = event.srcElement.name; srcName = event.srcElement.id; }
				else { srcId = e.target.name; srcName = e.target.id; }
				
				if(srcName == "delete"){
					oTable.deleteRow(this.rowIndex-1);
					fDeleteItem(srcId);		
					fCheckEmptyCart();
					fOrderTotal();
				}
		}
	}
	
}


function fCheckEmptyCart(){
	var cart = document.getElementById('cart_items');
	if(cart.rows.length == 0){
		try{
			var i = cart.insertRow(0);
			var x = i.insertCell(0); i.insertCell(1); i.insertCell(2);
			x.align = 'center';
			x.innerHTML="<br />Your cart is empty<br /><br />";
		} catch(e) {
			alert("Error: Please refresh the page");
		}
	}
}


function op_switch(){
	var op = document.getElementById('data');
	var oT = document.getElementById('other_text');
	if(op.value == 'Others'){
		oT.disabled = false;
		oT.focus();
	}
	else {
		oT.disabled = true;
		oT.value = '';
	}
}

function validate(){
	
	var zip = document.getElementById('zipcode_s');
	var zip_s = document.getElementById('zipcode_s');
	if(document.getElementById('radio').checked == true){
	//	zip.readOnly = true;
		if(zip_s.value != ''){
			zip.value = zip_s.value;
			zip_s.value = '';
		}
	}
	else {
	//	zip.readOnly = false;
	//	zip_s.readOnly = true;
		if(zip.value != ''){	
			zip_s.value = zip.value;
			zip.value = '';
		}	
	}
}

//XML OBJECT
function getXMLObject(){
   var xmlHttp = false;
   try {
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP")  // For Old Microsoft Browsers
   }
   catch (e) {
     try {
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")  // For Microsoft IE 6.0+
     }
     catch (e2) {
       xmlHttp = false   // No Browser accepts the XMLHTTP Object then false
     }
   }
   if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
     xmlHttp = new XMLHttpRequest();        //For Mozilla, Opera Browsers
   }
   return xmlHttp;  // Mandatory Statement returning the ajax object created
}


// new add to cart function
function addtocart()
{
	var cart_form = document.getElementById("cart");	
	var size = document.getElementById("size").value;
	var color = document.getElementById("color").value;
	var freeflag = document.getElementById('freeItemFlag').value;
	
	if(size == "Select Size"){
		alert("Please Select Size");
		return false;
	}
	else if(color == "Select Color"){
		alert("Please Select Color");
		return false;
	}
	else if (freeflag == 1)
	{
		var freeItem = document.getElementById("freeItem").value;
		var freeItemSize = document.getElementById("freeItemSize").value;
		if(freeItem == 0){
			alert("Please Select Your Free Item");
			return false;	  
		}
		else if(freeItemSize == 0)
		{
			 alert("Please Select Size For Your Free Item");
			 return false;	  
		}
		else cart_form.submit();  
	}
	else cart_form.submit();  

}
//////////////////////////







