//€,Pound,$
var nodelisensescales = new Array(
							new Array(6,   5,4   ,3.80,3.60,3.20),
							new Array(4.80,4,3.20,3.04,2.88,2.56),
							new Array(8.40,7,5.60,5.32,5.04,4.48));
var varStatus=0;
var nodescales		  = new Array(200,500,2500,5000,8000);
var nodewidth		  = 25;
var LOGINventory4Webinterface = new Array(250,200,350);
var requiredFields = new Array(
						"txt_company",
						"txt_firstname",
						"txt_lastname",
						"txt_street",
						"txt_zip",
						"txt_city",
						"txt_country",
						"txt_email"
					);
var total = 0;
var currencyIndex;
var currencySymbol;
function SetCurrencyDependendValues(){
	var currency = findObj("currencyselector").value;
	if(currency == "currency_eu"){
		currencySymbol = "€";
		currencyIndex = 0; 
	}
	else if(currency == "currency_uk"){
		currencySymbol = "£";
		currencyIndex = 1;
	}
	else if(currency == "currency_us"){
		currencySymbol = "$";
		currencyIndex = 2;
	}	
	var amounts = nodelisensescales[currencyIndex];
	for(j=0;j<amounts.length;j++){
		if(findObj("scaletext_" + j))
			findObj("scaletext_" + j).innerHTML = currencySymbol + amounts[j].toFixed(2)  + "&nbsp;" +  " / Computer";	
	}
	if(findObj("LOGINventory4WebinterfacePriceText"))
		findObj("LOGINventory4WebinterfacePriceText").innerHTML =currencySymbol + "&nbsp;" +  LOGINventory4Webinterface[currencyIndex]  ;
}
function CalculatePrice(eventSource){
	var productName = eventSource.name.split("_")[0];
	var licenseType = eventSource.name.split("_")[2];
	var productQuantity = eventSource.value;
	var res = true;
	
	var extensionText = findObj(productName + "_Extension_Quantity");
	if(extensionText){
		extensionText.value = CheckExistingValue(extensionText.value);
		/*if(extensionText.value=="0"){
			extensionText.focus();
		}*/
	}
	if(productQuantity == "" || productQuantity == 0 || !parseInt(productQuantity) || productQuantity<0){
		eventSource.value = 0;
		findObj(productName + "_Price").value = currencySymbol  + " 0"  ;
		if(!(licenseType.toLowerCase() == "product"))
			findObj(productName + "PriceText").innerHTML = "-";
		res = false;
	}
	
	if(licenseType.toLowerCase() == "product" && productQuantity > 0 && res == true){
		findObj(productName + "_Price").value =currencySymbol + " "+  eval(productName)[currencyIndex] * productQuantity ;
	}
	else if(licenseType.toLowerCase() == "node" && res == true){
		if(productQuantity % nodewidth != 0){
			if(language == "de")
				alert(productName + " kann nur in " + nodewidth + "er Schritten bestellt werden.");
			else
				alert(productName + " can only be ordered in steps of " + nodewidth + ".");
			res = false;
		}
		if(productQuantity < 0){
			res = false;
		}
		var extQuantity = 0;
		if(res==false){
			findObj(productName + "PriceText").innerHTML = "-";
			eventSource.value = "";
			eventSource.focus();
		}
		else{
			var ext = findObj(productName + "_Extension_Quantity");
			if(ext){
				if(ext.value!="" && ext.value>0){ 
					extQuantity = parseInt(ext.value);
				}
				else
					ext.value = "0";
			}
			
			if((productName.toLowerCase() == "loginsync" || productName.toLowerCase() == "kis") && (parseInt(productQuantity) + parseInt(extQuantity))>= 1000){
				extQuantity = 0;
				productQuantity = 0;
				if(language == "de")
					alert("Ab einer Lizenzanzahl von 1000 können Sie für " + productName + " eine Site-Lizenz erwerben.\nBitte kontaktieren Sie uns, damit wir Sie persönlich beraten können.");
				else
					alert("From 1000 Licenses we can provide you a " + productName + " Site-License.\nPlease contact us for further information.");
				findObj(productName + "PriceText").innerHTML = "-";
				findObj(productName + "_Extension_Quantity").value = "";
				findObj(productName + "_Quantity_Node").value = "0";
			}
			var tmpValue = (nodelisensescales[currencyIndex][GetScale(parseInt(productQuantity) + parseInt(extQuantity))] * productQuantity);
			findObj(productName + "_Price").value =  currencySymbol + " " + tmpValue ;
			findObj(productName + "PriceText").innerHTML = currencySymbol  + "" +  nodelisensescales[currencyIndex][GetScale(parseInt(productQuantity) + parseInt(extQuantity))].toFixed(2)  + "/Computer";
		}
	}
	return true;
}
function CalculateAll(){
	var quantityFields = document.getElementsByTagName("input");
	for(j=0;j<quantityFields.length;j++){
		if(quantityFields[j].name.indexOf("_Quantity") > -1){
			CalculatePrice(quantityFields[j]);
		}
	}
//		calculateSupportCost();
	CalculateTotal();
	return true;
}

/***** Added by KASUn ***/

	function calculateSupportCost(cost){
		var supportCost = 0;					
		var a = document.orderForm;
		if(parseInt(cost)){
			supportCost = 	parseInt(cost) * 0.2;

			a.MaintananceAndSupport_Price.value  = currencySymbol + " " + supportCost  ;
		}
		return supportCost;	
	}

function adjsutTotal(){
	var a = document.orderForm;
	if(document.orderForm.chkSupport.checked){
		
		CalculateTotal();
		//total += calculateSupportCost(total);
	}else{		
		a.MaintananceAndSupport_Price.value  =  currencySymbol + " 0";		
		CalculateTotal();
	}
//	findObj("Total").value =currencySymbol  + " " + total ;
}

/*************************/

function CalculateTotal(){
	

	var priceFields = document.getElementsByTagName("input");
	total = 0;
	for(i=0;i<priceFields.length;i++){	
	
		if(priceFields[i].name.indexOf("_Price") > -1){
			if(parseInt(priceFields[i].value.substring(1))){
				
				if(priceFields[i].name.indexOf("MaintananceAndSupport_Price") == -1){		
			//	alert(priceFields[i].name);
				total = total + parseInt(priceFields[i].value.substring(1));
				}
			}else{
			//	alert("Invalid=" + priceFields[i].value);
				}
		}
	}
	
	if(document.orderForm.chkSupport.checked){
		calculateSupportCost(total);	
		total += parseInt(document.orderForm.MaintananceAndSupport_Price.value.substring(1));		
	}

	findObj("Total").value = currencySymbol  + " " + total;
	return true;
}						  
function GetScale(licenseQuantity){
	for(k=0;k<nodescales.length;k++){
		if(licenseQuantity<nodescales[k]){
			return k;
		}
	}
	return nodescales.length;
}
function CheckExistingValue(quantity){
	var msg, ret;

	if(language == "de"){
		msg = "Vorhandene Lizenzen müssen durch " + nodewidth + " teilbar sein.";
	}
	else{
		msg = "Existing licenses must be divideable by " + nodewidth + ".";
	}
	
	if(quantity % nodewidth != 0){
		alert(msg);
		quantity = 0;
	}
	return quantity;
}
function GetExisting(checkBox){
	var productName = checkBox.name.split("_")[0];
	var extField = findObj(productName + "_Extension_Quantity");
	
	/*var msg, text;
	if(language == "de"){
		text = "0";
		msg = "Bitte geben Sie die Anzahl Ihrer bereits vorhandenen Lizenenzen ein.";
	}
	else{
		text = "0";
		msg = "Please enter the number of existing licenses.";
	}*/
	
	if(!checkBox.checked){
		extField.value = "";
		extField.style.visibility = "hidden";
		CalculateAll();
		return;
	}
	else{
		extField.value = "";
		extField.style.visibility = "visible";
	}
	/*else{
		quantity = null;//prompt(msg,text);
	}*/

	/*var quantity = 0;
	quantity = parseInt(quantity);
	quantity = CheckExistingValue(quantity);*/

	/*if(quantity == 0){
		checkBox.checked = false;
		extField.style.visibility = "hidden";
	}
	else{
		extField.style.visibility = "visible";
	}*/

	//extField.value = quantity;
	//CalculateAll();
}
function CheckRequired(){
	var valid = true;
	try{
	for(h=0;h<requiredFields.length;h++){
		if(requiredFields[h] == "txt_email"){
			if(!CheckMail(requiredFields[h])){
				MarkField(requiredFields[h]);
				valid = false;
			}
			else{
				UnMarkField(requiredFields[h]);
			}
		}
		else{
			if(findObj(requiredFields[h]).value.length == 0){
				MarkField(requiredFields[h]);
				valid = false;
			}
			else{
				UnMarkField(requiredFields[h]);
			}
		}
	}
	//seperatly check reseller data
	if(findObj("chk_reseller").checked){
		var requiredFields2 = new Array("txt_endcustomer","txt_enduser","txt_endemail");
		for(h=0;h<requiredFields2.length;h++){
			if(requiredFields2[h] == "txt_endemail"){
				if(!CheckMail(requiredFields2[h])){
					MarkField(requiredFields2[h]);
					valid = false;
				}
				else{
					UnMarkField(requiredFields2[h]);
				}
			}
			else{
				if(findObj(requiredFields2[h]).value.length == 0){
					MarkField(requiredFields2[h]);
					valid = false;
				}
				else{
					UnMarkField(requiredFields2[h]);
				}
			}
		}
	}
	findObj("submitButton").disabled = !valid;
	}catch(err){}
}
//function MarkField(id){
//	findObj(id).style.borderColor = "red";
//}
//function UnMarkField(id){
//	findObj(id).style.borderColor = "#a2d1a2";
//}
function CheckMail(mail){
	mail = findObj(mail).value;
	var match = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	if (match.test(mail)){
		return true;
	}
	else{
		return false;
	}
}