function calculateTax(type){
	if(g("shipping").checked==true){
		copyShippingData(1)
		calculate_shipping();
		
	}else{
		var state_currency=g('stateprov_shipp').value;
		$.post('controllers/CalculateTax.php', {state:state_currency}, function(data){
			
			var subtotal;
			subtotal=g("subtotal").value;
			
			var priceShipping;
			priceShipping=g("price_shipping").value
			// tax
			var stax;
			stax=(subtotal*data)/100;
			
			total=1*subtotal + 1*priceShipping + 1*stax;
			//alert(priceShipping)
			g("totalAmount").innerHTML="$"+currencyConvert(total);
			g("price_shipping").value=priceShipping;
			g("total_amount").value=currencyConvert(total);
			
			g("taxMonto").innerHTML="$"+currencyConvert(stax);
			//alert(data)
			
			g('percent_tax').value=data;
			g('monto_tax').value=currencyConvert(stax);																					  
		});
	}
}

function ChangeState(country){	
	$.post('controllers/process.php', {model:"Countries",action:"showstate",country_:country}, function(data){
		g("StateDiv").innerHTML=data;																									
	});
}

function calculate_shipping(){
	country=g("country_shipp").value;
	state_currency=g("stateprov_shipp").value;
	
	$.post('controllers/CalculateShipping.php', {state:state_currency, country:country}, function(data){
		var data_ = data.split("|");
		
		g("priceShipp").innerHTML="$"+currencyConvert(data_[0]);
		
		var subtotal
		subtotal=g("subtotal").value;
		
		// tax
		var stax;
		stax=(subtotal*data_[1])/100;
		g("taxMonto").innerHTML="$"+currencyConvert(stax);
		
		var total
		total=(1)*(subtotal)+(1)*(data_[0])+(1)*(currencyConvert(stax));
		g("totalAmount").innerHTML="$"+currencyConvert(total);
		
		
		g("price_shipping").value=data_[0];
		g("total_amount").value=currencyConvert(total);
		
		g('percent_tax').value=data_[1];
		g('monto_tax').value=currencyConvert(stax);
		
		// ponemos el estado
		g("divStateShipp").innerHTML=data_[2];
	});
	
}
function selectedCountry(country_current,state_current){
	var country=country_current;
	var state=state_current
	
	$.post('controllers/process.php', {state:state, country_:country,action:"showstate",model:"Countries"}, function(data){
		g("divState").innerHTML=data;  
		copyShippingData(1)
		calculate_shipping();
	});
}

function clearFormBilling(){
	g('name_shipp').value="";
	g('lastName_shipp').value="";
	g('company_shipp').value="";
	g('address1_shipp').value="";
	//g('address2_shipp').value="";
	g('city_shipp').value="";
	g("stateprov_shipp").value="";
	g('zip_shipp').value="";
	g('country_shipp').value="";
	g('phono_shipp').value="";
	
	
	// Reseteamos los valores
	g("priceShipp").innerHTML="$0.00";
	g("taxMonto").innerHTML="$0.00";
	g("totalAmount").innerHTML=g("subtotal").value;
	
	g("price_shipping").value=0;
	g("total_amount").value=g("subtotal").value;
		
	g('percent_tax').value=0;
	g('monto_tax').value=0;
	
}

function copyShippingData(state_copy){
	g("name_shipp").value=g("name_bill").value;
	g("lastName_shipp").value=g("lastName_bill").value;
	g("company_shipp").value=g("company_bill").value;
	g("address1_shipp").value=g("address1_bill").value;
	//g("address2_shipp").value=g("address2_bill").value;
	g("city_shipp").value=g("city_bill").value;
	if(state_copy==0){
		g("stateprov_shipp").value=g("stateprov_bill").value;
	}else{
		g("stateprov_shipp").value=g("stateprov_bill").value;	
	}
	g("zip_shipp").value=g("zip_bill").value;
	g("country_shipp").value=g("country_bill").value;
	g("phono_shipp").value=g("phono_bill").value;	
}

function checkoutStepOne(){
	
	g("action").value="send_checkout";
	
	frm=document.forms["frmCart"];
	frm.submit();
}

function apply_coupon_code(){
	var subtotal=0;
	var coupon_code=0;
	
	subtotal=g("subtotal").value;
	coupon_code=g("coupon_code").value;
	if(trim(coupon_code)==""){
		alert("Enter your discount code");
		g("coupon_code").focus();
	}else{
		$.post('controllers/cartController.php', {coupon_code:coupon_code, subtotal:subtotal,action:"discount_code"}, function(data){
	
			rpta=data.split("|");
			ok=rpta[0];
			
			if(ok=="OK"){
				totalamount=currencyConvert(rpta[1]);
				g("totalamountdisabled").value=totalamount;
				g("totalamount").value=totalamount;
				g("idCouponCode").value=rpta[2];
				g("discountCodePercent").value=rpta[3];
				g("discountCodeAmount").value=rpta[4];
			}else{
				alert(rpta[1]);
			}			
	  	});	
	}
}

function loadColorCart(idProduct,indice){
	var idSize
	idSize=g('size'+indice).value;
	$("#div_color"+indice).load("controllers/attributesController.php?action=3&idProduct="+idProduct+'&idSize='+idSize+"&indice="+indice);
}

function clearCart(){
	window.location.href="controllers/cartController.php?action=clear";	
}

function updateCart(){
	var total=g("total_item").value;
	var error;
	for(i=0; i<total; i++){
		q=g("qty"+i).value;
		if(q>0){ error=1; }
		else{
			alert("The quantity is required in your product");
			error=0;
			break;
		}
	}
	
	if(error){
		frm=document.forms["frmCart"];
		frm.submit();
	}
}

function addCart(idProduct,flagColorSize){
	var rpta;
	var ok;
	var idSize=0;
	var idColor=0;
	var qty=g('producto-quantity').value;
	if(flagColorSize==1){		
		idSize=g('size').value;
		idColor=g('color').value;
		
		if(idSize==""){ alert("Selected Size");	return false;	}
		if(idColor==""){ alert("selected Color"); return false; }
	}
	var frm=document.forms["frmCart"];
	$.post('controllers/cartController.php', {idProduct:idProduct, flagColorSize:flagColorSize, idSize:idSize, idColor:idColor, qty:qty, action:"checkStock"}, function(data){

		rpta=data.split("|");
		ok=rpta[0];
		
		if(ok=="OK")
			frm.submit();
		
		if(ok=="IS_GREATER")
			alert("The requested quantity is greater than our current stock.\nAvailable Stock: "+rpta[1]);
		
		if(ok=="SOLD_OUT")
		  	alert("this product unavailable stock");
		  
	  });	
}

function loadColor(idProduct){
	var idSize
	idSize=g('size').value;
	$("#attrColor").load("controllers/attributesController.php?action=2&idProduct="+idProduct+'&idSize='+idSize);
}

function attrSize(idProduct){
	$("#attrSize").load("controllers/attributesController.php?action=1&idProduct="+idProduct, 
						function(){
								var idSize;
								idSize=g('idSizeFirst').value;
								//alert(idSize);
								$("#attrColor").load("controllers/attributesController.php?action=2&idProduct="+idProduct+'&idSize='+idSize);
								
								if(idSize=="-1"){
									g("control-button").style.display="none";
								}
							}						
						);	
}


function currencyConvert(n){
	n = Math.round( (n*100) )/100;
	strN = new String( n );
	if( strN.indexOf( "." ) == -1 )
		strN += ".00";
	else if( strN.indexOf( "." ) == strN.length-2 )
		strN += "0";
	return strN;
}

function validCreditCart(ccNumb) {
	var valid = "0123456789" //Digitos validos
	var len = ccNumb.length;
	var iCCN = parseInt(ccNumb); 
	var sCCN = ccNumb.toString(); 
	sCCN = sCCN.replace (/^\s+|\s+$/g,'');
	var iTotal = 0;  
	var bNum = true; 
	var bResult = false; 
	var temp; 
	var calc; 
 
	for (var j=0; j<len; j++) {
	  temp = "" + sCCN.substring(j, j+1);
	  if (valid.indexOf(temp) == "-1"){bNum = false;}
	}
 
	if(!bNum){
	  bResult = false;
	}
 
	if((len == 0)&&(bResult)){
	  bResult = false;
	} else{
	  if(len >= 12){  // 15 or 16 for Amex or V/MC
		for(var i=len;i>0;i--){  
		  calc = parseInt(iCCN) % 10; 
		  calc = parseInt(calc);  
		  iTotal += calc;
		  i--;  
		  iCCN = iCCN / 10;
		  calc = parseInt(iCCN) % 10 ;
		  calc = calc *2; 
		  switch(calc){
			case 10: calc = 1; break;       //5*2=10 & 1+0 = 1
			case 12: calc = 3; break;       //6*2=12 & 1+2 = 3
			case 14: calc = 5; break;       //7*2=14 & 1+4 = 5
			case 16: calc = 7; break;       //8*2=16 & 1+6 = 7
			case 18: calc = 9; break;       //9*2=18 & 1+8 = 9
			default: calc = calc;           //4*2= 8 &   8 = 8  -same for all lower numbers
		  }                                               
		iCCN = iCCN / 10;
		iTotal += calc;
	  } //end for
	  if ((iTotal%10)==0){
		bResult = true;
	  } else {
		bResult = false; 
		}
	  }
	}
	 return bResult;
}