

// ********************* setup ******************************************************************
// Error handler for the asynchronous functions.
myErrorHandler = function(statusCode, statusMsg)
{
    alert('Status: ' + statusCode + ', ' + statusMsg);
}

var currentURL = "";
var proxy = new siteFunctions();
proxy.setErrorHandler(myErrorHandler);

// ********************* end of setup *********************************************************


// ********************* js functions start *********

nothing = function(results){}

clikOn = function (ThisID){
	if (document.getElementById('Show_'+ThisID).style.display =='inline')
	    document.getElementById('Show_'+ThisID).style.display = 'none';
	else
	    document.getElementById('Show_'+ThisID).style.display ='inline';
}
		
AddProd = function(ProdID,lang){

	proxy.setCallbackHandler(nothing);
	proxy.AddThisProd(ProdID);
		
	if (lang ==1)
		alert('Product has been added to your shopping cart!');
	else
		alert("Le produit a été ajouté à votre panier!");

	document.getElementById('View_Cart').style.display = 'inline';
}

CalAmount = function(CartID, value,lang){

	var Qty = document.getElementById('Qty_'+value).value*1;

	if (Qty < 1){
		if (Qty == 0){
			if (lang ==1)
				alert("You have enter an invalid quantity! \n\nIf you want to remove this product from your shopping cart, please click on remove.");
			else
				alert("Vous disposez d\'entrer une quantité non valide! \n\nSi vous voulez retirer ce produit de votre panier, cliquez sur supprimer.");

		}
		else{
			if (lang ==1)
				alert("You have enter an invalid quantity!");
			else
				alert("Vous disposez d\'entrer une quantité qui est invalide!");
		}

		document.getElementById('Qty_'+value).value = 1;
	}
	else{
		//cal new currentrow discount
		var Unit_Discount = document.getElementById('Unit_Discount_'+value).value*1;
		var Discount_Old= document.getElementById('Discount_'+value).value*1;
		var Discount_New = Math.round(Unit_Discount * Qty*100)/100;
		
		//get unit price & ori subtotal
		var Unit_Price = document.getElementById('price_'+value).value*1;
		var Subtotal_Old = document.getElementById('Subtotal').value*1;
		
		// get old total discount
		var Discount_All_Old= document.getElementById('Discount').value*1;
		// new total discount = old total discount - old currentrow Discount + new current discount
		var Discount_All_New = Discount_All_Old - Discount_Old + Discount_New;
		
		var Amount_Old = document.getElementById('Subtotal_'+value).value*1;
		var Amount_New = Math.round(Unit_Price * Qty*100)/100;
		var Subtotal_New = Math.round((Subtotal_Old - Amount_Old + Amount_New + Discount_Old - Discount_New)*100)/100;


		document.getElementById('Subtotal_'+value).value = Amount_New.toFixed(2);
		document.getElementById('Subtotal').value = Subtotal_New.toFixed(2);
		document.getElementById('Discount_'+value).value = Discount_New.toFixed(2);
		document.getElementById('Discount').value = Discount_All_New.toFixed(2);
		
		proxy.setCallbackHandler(nothing);
		proxy.ModifyOrder(CartID,Amount_New,Qty,Discount_New);
		
		document.getElementById('Con_'+value).innerHTML = Qty;

	}
}


RemoveConf = function(CartID,lang,url){
	if (lang ==1)
		var res = window.confirm("You are about to remove this product from your shopping cart. \nAre you sure to continue?");
	else
		var res = window.confirm('Vous êtes sur le point de retirer ce produit de votre panier. \nVoulez-vous sûr de vouloir continuer?');

	if (res){
		currentURL = url;
		proxy.setCallbackHandler(refreshPage);
		proxy.RemoveCart(CartID);
	}
}


Confirm_Order = function(){

	document.getElementById('ConfirmIt').style.display='none';
	document.getElementById('Client_Info').style.display='inline';
	var count = document.getElementById('Order_All').value*1;

	for (var i=1; i<=count;i++){

		document.getElementById("Qty_"+i).style.display = 'none';
		document.getElementById("Con_"+i).style.display = 'inline';
		document.getElementById("Delete_"+i).style.display = 'none';

	}
}

Reset_Province = function(Country){
	document.Shipping.Client_Prov.selectedIndex='0';
	document.Shipping.Province2.value ='';

	var Country = document.Shipping.Client_Country.value;

	if (Country != 'Canada' && Country != 'USA'){
		document.getElementById('Select_Prov').style.display='none';
		document.getElementById('Other_Prov').style.display='inline';
	}
	else{
		document.getElementById('Select_Prov').style.display='inline';
		document.getElementById('Other_Prov').style.display='none';

		if (Country == 'Canada')
			document.getElementById('Tax_Region').value = 'All Canada'
	}
}

CheckTaxRegion = function(value){
	if (value == 'British Columbia'){
		document.getElementById('Tax_Region').value = value;
	}
}


changeLangNew = function(langID,url) {
    currentURL = url;
    proxy.setCallbackHandler(refreshPage);
	proxy.changeCurrLang(langID);
}

refreshPage = function(result) {
    if(result)
        ColdFusion.navigate(currentURL);
}




CheckErrors = function (lang){

	var Client_Name = document.getElementById('Client_Name').value;
	var Client_Address = document.getElementById('Client_Address').value;
	var Client_City = document.getElementById('Client_City').value;
	var Client_Country = document.getElementById('Client_Country').value;
	var Client_Prov = document.getElementById('Client_Prov').value;
	var Province2 = document.getElementById('Province2').value;
	var Client_PCode = document.getElementById('Client_PCode').value;
	var Client_Email = document.getElementById('Client_Email').value;
	var Client_Tel = document.getElementById('Client_Tel').value;
	
	if (lang ==1){
	
		if (Client_Name == ''){
			alert("Please enter your name!");
			return false;
		}
		else if (Client_Address == ''){
			alert("Please enter your address!");
			return false;
		}
		else if (Client_City == ''){
			alert("Please enter your city!");
			return false;
		}
		else if (Client_Country == ''){
			alert("Please select your country!");
			return false;
		}
		else if (Client_Prov == '' && Province2 == ''){
			alert("Please enter your province!");
			return false;
		}
		else if (Client_PCode == ''){
			alert("Please enter postal code!");
			return false;
		}
		else if (Client_Email == ''){
			alert("Please your email!");
			return false;
		}
		else if (Client_Tel == ''){
			alert("Please enter your telephone number!");
			return false;
		}
		else
			return true;
			
	}
	else {
	
		if (Client_Name == ''){
			alert("Veuillez entrer votre nom!");
			return false;
		}
		else if (Client_Address == ''){
			alert("Veuillez entrer votre Adresse!");
			return false;
		}
		else if (Client_City == ''){
			alert("Veuillez entrer votre Ville!");
			return false;
		}
		else if (Client_Country == ''){
			alert("Veuillez entrer votre pays!");
			return false;
		}
		else if (Client_Prov == '' && Province2 == ''){
			alert("Veuillez entrer votre état!");
			return false;
		}
		else if (Client_PCode == ''){
			alert("Veuillez entrer votre code postal!");
			return false;
		}
		else if (Client_Email == ''){
			alert("Veuillez entrer votre your courriel!");
			return false;
		}
		else if (Client_Tel == ''){
			alert("Veuillez entrer votre numéro de téléphone!");
			return false;
		}
		else
			return true;
			
	}
	
}
