		//set browser type variable
		
		var navname=window.navigator.appName;

//popup window
function show(url, width, height) {
		var left = (window.screen.width/2) - (width / 2 + 10);
	if (left < 0){
		var left = 0;
		var width = window.screen.width - 10;
	}
	var top = (window.screen.height/2) - (height / 2 + 50);
	if (top < 0){
		var top = 0;
		var height = window.screen.height - 50;
	}
		var wincenter = window.open(url,"","width=" + width + ",height=" + height + ",left=" + left + ",top=" + top + ",screenX=" + left + ",screenY=" + top + ",toolbar=0,menubar=0,status=0,location=0,scrollbars=0,resizable=1,directories=0");
		wincenter.focus();
}

//registration form processing
function setRealname(){
	document.getElementById("completeName").value = document.getElementById("prenom").value + " " + document.getElementById("nom").value;
}

function checkAndSend(){
	var basicFilled = true;
	
	var requiredFields = new Array(
		document.getElementById("prenom"),
		document.getElementById("nom"),
		document.getElementById("compagnie"),
		document.getElementById("userName")
	)
	
	var FieldLongNames = new Array(
		"first name",
		"last name",
		"company name",
		"user name"
	)
		
	for (r=0;r < requiredFields.length;r++){
		if (requiredFields[r].value.length < 1){
			alert ("Please fill in your " + FieldLongNames[r] + ".");
			var basicFilled = false; 
			break;
		}
	}
 	
	if (basicFilled){
		if ((document.getElementById("email").value.indexOf("@") == -1) || (document.getElementById("email").value.indexOf(".") == -1)){
			alert('Please make sure your email is valid.')
		}
		else if (document.getElementById("password").value.length < 6){
			alert('Your password must contain at least 6 characters.')
		}
		else if (document.getElementById("password").value != document.getElementById("confirmPassword").value){
			alert('Please make sure "confirm password" matches your password.')
		}
		else{
			document.getElementById("registrationFormID").submit()
		}
	}
}


//order form processing
function initOrderForm(){
	document.getElementById("numberOfLicenses").focus();
	calculateCost();
	setExistingAccount();
}


var priceList = new Array(849.00,834.00,819.20,804.60,790.20,776.00,762.00,748.20,734.60,721.20,708.00,695.00,682.20,669.60,657.20,645.00,633.00,621.20,609.60,598.20,587.00,576.00,565.20,554.60,544.20,534.00,524.00,514.20,504.60,495.20,486.00,477.00,468.20,459.60,451.20,443.00,435.00,427.20,419.60,412.20,405.00,398.00,391.20,384.60,378.20,372.00,366.00,360.20,354.60,349.20,344.00,339.00,334.15,329.55,325.05,320.75,316.60,312.55,308.70,304.95,301.30,297.80,294.40,291.10,287.90,284.80,281.80,278.90,276.05,273.30,270.65,268.05,265.50,263.05,260.65,258.35,256.05,253.85,251.70,249.60,247.55,245.55,243.60,241.70,239.85,238.00,236.25,234.50,232.80,231.15,229.55,227.95,226.40,224.90,223.40,221.95,220.50,219.10,217.75,216.40,215.10,213.80,212.55,211.30,210.10,208.90,207.70,206.55,205.45,204.35,203.25,202.15,201.10,200.10,199.10,198.10,197.10,196.15,195.20,194.25,193.35,192.45,191.55,190.70,189.85,189.00,188.15,187.35,186.55,185.75,184.95,184.20,183.45,182.70,181.95,181.25,180.55,179.85,179.15,178.45,177.80,177.10,176.45,175.80,175.20,174.55,173.95,173.35,172.75,172.15,171.55,170.95,170.40,169.85,169.30,168.75,168.20,167.65,167.10,166.60,166.10,165.60,165.05,164.60,164.10,163.60,163.10,162.65,162.20,161.70,161.25,160.80,160.35,159.90,159.50,159.05,158.65,158.20,157.80,157.40,156.95,156.55,156.15,155.75,155.40,155.00,154.60,154.25,153.85,153.50,153.15,152.75,152.40,152.05,151.70,151.35,151.00,150.65,150.35,150.00)

//Subscription Options & Cost

var costUnit = "";
var costHT = "";
var costVAT = "";
var costTTC = "";
var countryLongName = "";

function calculateCost(){
	var priceVariation = 0.06;
	var quantityElem = document.getElementById("numberOfLicenses").options[document.getElementById("numberOfLicenses").selectedIndex];
	var durationElem = document.getElementById("duration");
	var countryElem = document.getElementById("country");
	var htCostElem = document.getElementById("costHT");
	var unitCostElem = document.getElementById("costUnit");
	var vatCostElem = document.getElementById("costVAT");
	var ttcCostElem = document.getElementById("costTTC");
	var additionalUsersNoteElem = document.getElementById("additionalUsersNote");
	var sendOrderElem = document.getElementById("sendOrderID");
	
	var currentQuantity = quantityElem.value;
	var basePrice = priceList[currentQuantity-1];
	var currentDuration = durationElem.selectedIndex;
	
	countryLongName = countryElem.options[countryElem.selectedIndex].innerHTML;
	
	//6 months
	if (currentDuration == 0){
		costUnit = Math.round((basePrice + basePrice * priceVariation)/2 * 20)/20;
	}
	//2 years
	else if (currentDuration == 2){
		costUnit = Math.round((basePrice - basePrice * priceVariation)*2 * 10)/10
	}
	//1 year
	else {
		costUnit = basePrice;
	}
	costHT = costUnit *  currentQuantity; 
	htCostElem.innerHTML = "$"  + costHT.toFixed(2);
	unitCostElem.innerHTML = "$" + costUnit.toFixed(2) + "<hr />";
	//check if Swiss VAT applies
	if (countryElem.options[countryElem.selectedIndex].value == "CH"){
		costVAT = Math.round(costHT * 0.08 * 100)/100;
		vatCostElem.innerHTML = "$" + costVAT.toFixed(2);
	}
	else{
		costVAT = 0;
		vatCostElem.innerHTML = "NA";
	}
	costTTC = costHT + costVAT;
	ttcCostElem.innerHTML = "<hr /><b>$" +  costTTC.toFixed(2) + "</b>";
	//ne pas afficher notice pour multi-users
	if (currentQuantity == 1){
		additionalUsersNoteElem.innerHTML = "";
	}
	//afficher notice pour multi-users
	else if (currentQuantity > 1){
		additionalUsersNoteElem.innerHTML = '<i>Note: you only need to enter your personal user name and password here. We will contact you to create the additional user names and passwords.<br /><br />';
	}
	//afficher le bouton de commande
	sendOrderElem.innerHTML = '<input tabindex="220" type="button" name="confirmorder" value="next: Confirm your Order !" style="cursor: hand;" onClick="javascript:validateOrder()" />';
}

//afficher le bon text label pour user name et password
function setExistingAccount(){
	if (document.getElementById("existingAccount").checked){
		document.getElementById("userNameLabel").innerHTML = "Please enter your User Name";
		document.getElementById("passwordLabel").innerHTML = "Please enter your password";
		document.getElementById("existing_AccountHidden").value = "yes"
	}
	else {
		document.getElementById("userNameLabel").innerHTML = "Please choose a User Name";
		document.getElementById("passwordLabel").innerHTML = "Please choose a Password (min. 6 char.)";
		document.getElementById("existing_AccountHidden").value = "no"
	}
}

//activer les champs compagnie ou non
function setPrivate(){
	if (document.getElementById("privateUse").checked){
		document.getElementById("compagnie").disabled = true;
		document.getElementById("position").disabled = true;
		document.getElementById("compagnie").value = "private";
		document.getElementById("position").value = "";
	}
	else{
		document.getElementById("compagnie").disabled = false;
		document.getElementById("position").disabled = false;
		document.getElementById("compagnie").value = "";
		document.getElementById("position").value = "";
	}
}


//verifier et pre-processer la commande
var orderNumber = "";
var textualDate = "";

function validateOrder(){
	var basicFilled = true;
	
	var requiredFields = new Array(
		document.getElementById("prenom"),
		document.getElementById("nom"),
		document.getElementById("compagnie"),
		document.getElementById("adresse"),
		document.getElementById("userName")
	)
	
	var FieldLongNames = new Array(
		"First Name",
		"Last Name",
		"Company Name",
		"Postal Address",
		"User Name"
	)
		
	for (r=0;r < requiredFields.length;r++){
		if (requiredFields[r].value.length < 2){
			alert ("Please fill in your " + FieldLongNames[r] + ".");
			var basicFilled = false; 
			break;
		}
	}
 	
	if (basicFilled){

		if ((document.getElementById("email").value.indexOf("@") == -1) || (document.getElementById("email").value.indexOf(".") == -1)){
			alert('Please make sure your E-mail is valid.')
		}
		else if (document.getElementById("confirmEmail").value != document.getElementById("email").value){
			alert('Please make sure "confirm E-mail" matches your E-mail.')
		}
		else if (document.getElementById("country").options[document.getElementById("country").selectedIndex].value == ""){
			alert('You must select your country of residence.')
		}
		else if (document.getElementById("password").value.length < 6){
			alert('Your password must contain at least 6 characters.')
		}
		else if (document.getElementById("password").value != document.getElementById("confirmPassword").value){
			alert('Please make sure "confirm password" matches your password.')
		}
		else if (document.getElementById("agreeconditions").checked == false){
			alert('You must agree with the contractual conditions.')
		}
		else{
			document.getElementById("completeName").value = document.getElementById("prenom").value + " " + document.getElementById("nom").value;
			document.getElementById("costHTHidden").value = costHT.toFixed(2);
			document.getElementById("costVATHidden").value = costVAT.toFixed(2);
			document.getElementById("costTTCHidden").value = costTTC.toFixed(2);
			//orderNumber
			if (orderNumber == ""){
				orderNumber = new Date().getTime().toString(36);
			}
			document.getElementById("orderNumber").value = orderNumber;
			//dateProcessed (today)
			var monthNames = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
			var today = new Date();
	 		var day = today.getDate();
	 		var month = today.getMonth() + 1;
	 		var year = today.getFullYear();
			var orderDate = day + "." + month + "." + year;
			document.getElementById("orderDate").value = orderDate;
			textualDate = monthNames[month] +  " " + day  + ", " + year;
			
			confirmOrder();
		}
	}
}

function modifyOrder(){
	document.getElementById("orderPage").style.display = "inline";
	document.getElementById("confirmationPage").style.display = "none";
}



function confirmOrder(){
	//show confirmation page and hide form
	document.getElementById("orderPage").style.display = "none";
	document.getElementById("confirmationPage").style.display = "block";
	
	//fill confirmation fields
	var confirmationInputs = new Array (
		"orderNumber",
		"duration",
		"paymentmethod",
		"completeName",
		"position",
		"email",
		"tel",
		"fax",
		"userName"
	)
	var confirmationElements = new Array (
		"conf_orderNumber",
		"conf_duration",
		"conf_paymentmethod",
		"conf_realName",
		"conf_position",
		"conf_email",
		"conf_tel",
		"conf_fax",
		"conf_username"
	)
	
	for (f=0;f < confirmationInputs.length;f++){
		document.getElementById(confirmationElements[f]).innerHTML = document.getElementById(confirmationInputs[f]).value;
	}
	
	document.getElementById("conf_country").innerHTML = countryLongName;
	document.getElementById("conf_orderDate").innerHTML = textualDate;
	var adresseWithLineBreaks = document.getElementById("adresse").value.replace(/\n/g, "<br />");
	document.getElementById("conf_adresse").innerHTML = adresseWithLineBreaks;
	document.getElementById("conf_cost_Unit").innerHTML =  costUnit.toFixed(2);
	document.getElementById("conf_cost_HT").innerHTML = costHT.toFixed(2);
	document.getElementById("conf_cost_TTC").innerHTML = costTTC.toFixed(2);

	if (document.getElementById("numberOfLicenses").value == 1){
		document.getElementById("conf_quantity").innerHTML = document.getElementById("numberOfLicenses").value + " user";
	}
	else {
		document.getElementById("conf_quantity").innerHTML = document.getElementById("numberOfLicenses").value + " users";
	}
	
	if (costVAT == 0){
		document.getElementById("conf_cost_VAT").innerHTML = "NA";
	}
	else {
		document.getElementById("conf_cost_VAT").innerHTML = "$" + costVAT.toFixed(2) + " USD";
	}

	if (document.getElementById("privateUse").checked){
		document.getElementById("conf_compagnie").innerHTML = "Private use";
	}
	else{
		document.getElementById("conf_compagnie").innerHTML = document.getElementById("compagnie").value;
	}

	if (document.getElementById("existingAccount").checked){
		document.getElementById("conf_existing_account").innerHTML = "I already have a Planogrambuilder account";
	}
	else{
		document.getElementById("conf_existing_account").innerHTML = "I am a new PlanogramBuilder user";
	}
}

//envoyer le formulaire de commande
function submitForm(){
		if (document.getElementById("compagnie").disabled == true){
			document.getElementById("compagnie").disabled = false;
			document.getElementById('orderFormID').submit();
			document.getElementById("compagnie").disabled = true;
		}
		else{
			document.getElementById('orderFormID').submit();
		}
}

//switch language
function switch_language(lang) {
	var str = location.pathname.toString();
	var splitchar = "/";
	var indextosplit = str.lastIndexOf(splitchar);
	if (indextosplit == 0 || indextosplit == -1){
		var splitchar = "\\";
		var indextosplit = str.lastIndexOf(splitchar);
	}
	var filetoload = location.pathname.substr(indextosplit);
	self.location.href = ".." + splitchar + lang + filetoload;
}

