/*
 * Validation du formulaire global
 *  - inscription Email
 *  - inscription Code
 *  - Récupération des données personnelles
 *  - Introduction des licences
 */
function ValidBasket(mode,arg,obj) {
	
	dbSecureInactivityPeriods = 0;

	str = "mode=" + mode + "&arg=" + arg + "&obj=" + obj;
			
	if (mode ==  "password") {
		/*
		 * ------------------------------------------
		 * Suite à la sélection par l'utilisateur
		 *  1 = j'ai un compte 
		 *  0 = non je n'en ai pas
		 *  ------------------------------------------
		 */
		if (arg == "1") {
			document.getElementById('nocompte').checked = false;
			document.getElementById('yescompte').checked = true;
		} else {
			document.getElementById('yescompte').checked = false;
			document.getElementById('password').value = "";
		}
		return false;
	
	} else if  (mode ==  "affiche") {	
		document.getElementById("message").style.display = "none";
		if (arg == 1) {
			document.getElementById("caddie1").style.display = "block";
			document.getElementById("phase1").style.display = "block";
			document.getElementById("caddie2").style.display = "none";
			document.getElementById("phase2").style.display = "none";
		} else 	if (arg == 2) {
			document.getElementById("caddie2").style.display = "block";			
			document.getElementById("phase2").style.display = "block";
			document.getElementById("caddie3").style.display = "none";
			document.getElementById("phase3").style.display = "none";
		} else 	if (arg == 3) {
			document.getElementById("caddie3").style.display = "block";			
			document.getElementById("phase3").style.display = "block";
			document.getElementById("caddie4").style.display = "none";			
			document.getElementById("phase4").style.display = "none";
		} else 	if (arg == 4) {
			document.getElementById("caddie4").style.display = "block";			
			document.getElementById("phase4").style.display = "block";
			document.getElementById("caddie5").style.display = "none";			
			document.getElementById("phase5").style.display = "none";
		}
		return false;
		
	} else {
		if (mode == 2) {
			VerifeMail = ValidEmail();
			if (VerifeMail != "") {
				str = "mode=" + VerifeMail;
			}
		} else if (mode == 3) {
			VerifiePass = ValidPassword_Basket();
			if (VerifiePass != "") {
				str = "mode=" + VerifiePass;
			} else {
				Verifievat  = ValidVATNumber();		
				if (Verifievat == "nocorrectvat") {
					str = "mode=" + Verifievat;
				}
			}
		} else if (mode == 8) {
			VerifeMail = ValidEmail();
			if (VerifeMail != "") {
				str = "mode=" + VerifeMail;
			} else {
				document.location.href ="/profil?id=" + document.getElementById('email').value + "@@@b";
			}
		}
		
		str	=  RemplirFormulaire(str);
			
	}
			
	var xhr_object = null ;
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return(false);
		
	xhr_object.onreadystatechange  = function()
	{ 
		if(xhr_object.readyState  == 4)
		 {
			  if (xhr_object.status  == 200) {
				ret 		= xhr_object.responseText;
				array_texte = ret.split("####");
				if (array_texte[0] == "OK") {
					document.getElementById("message").style.display="none";
					if (mode == 0) {
						document.getElementById("phase1").innerHTML = array_texte[1];
						document.getElementById("phase1").style.display = "block";
					} else if (mode == 1) {
						document.getElementById("phase1").style.display = "none";
						document.getElementById("caddie1").style.display = "none";
						document.getElementById("caddie2").style.display = "block";
						document.getElementById("phase2").innerHTML = array_texte[1];
						document.getElementById("phase2").style.display = "block";
						_gaq.push(['_trackPageview', '/basket/phase1-show_isabo']);
					} else if (mode == 2) {
						document.getElementById("phase2").style.display = "none";
						document.getElementById("caddie2").style.display = "none";	
						document.getElementById("caddie3").style.display = "block";					
						document.getElementById("phase3").innerHTML = array_texte[1];
						document.getElementById("phase3").style.display = "block";
						_gaq.push(['_trackPageview', '/basket/phase2-show_billing']);

						/*Express pour le BU * car paiement uniquement en PCC*/
						var pubname = new Array("dbemp","dbes","dbu","larcierfr","larciernl","udbb","udbs","udbh","oup","pro","pronl");				
						for (x=0;x<pubname.length;x++) {
							thepubname = pubname[x];
							for (xx=0;xx<50;xx++) {
								if (document.getElementById(thepubname + "_" + xx)) {
									var idbu = document.getElementById(thepubname + "_" + xx).getAttribute("titleid");
									var posbu = idbu.indexOf("124282");
									if (posbu>-1) {
										document.getElementById("paiementfacturation").checked = false;
										document.getElementById("paiementonline").checked = true;
										document.getElementById("TDSTD").style.display = "none";
									}
								}
							}
						}
						
					} else if (mode == 3) {
						document.getElementById("phase3").style.display = "none";
						document.getElementById("caddie3").style.display = "none";
						document.getElementById("caddie4").style.display = "block";											
						document.getElementById("phase4").innerHTML = array_texte[1];
						document.getElementById("phase4").style.display = "block";
						_gaq.push(['_trackPageview', '/basket/phase3-show_shipping']);
					} else if (mode == 4) {
						document.getElementById("phase4").style.display = "none";
						document.getElementById("caddie4").style.display = "none";
						document.getElementById("caddie5").style.display = "block";											
						document.getElementById("phase5").innerHTML = array_texte[1];
						document.getElementById("phase5").style.display = "block";
						document.getElementById("societe_id").value = array_texte[2];
						document.getElementById("user_id").value = array_texte[3];	
						_gaq.push(['_trackPageview', '/basket/phase4-show_summary']);						
					} else if ((mode == 5) || (mode ==6)) {
						document.getElementById("caddie1").style.display = "none";
						document.getElementById("phase5").style.display = "none";
						document.getElementById("caddie5").style.display = "none";
						document.getElementById("phase6").innerHTML = array_texte[1];
						document.getElementById("phase6").style.display = "block";				
						if (mode == "5") {
							_gaq.push(['_trackPageview', '/basket/phase5-show_order_billing']);							
						} else if (mode == "6") {
							_gaq.push(['_trackPageview', '/basket/phase5-show_order_ogone']);							
						}
						DeleteAllBasket();
						
					} else if (mode == 7) {
						
						document.getElementById("montant_"+obj).innerHTML = array_texte[1];
						price = 0;
						var pubname = new Array("dbemp","dbes","dbu","larcierfr","larciernl","udbb","udbs","udbh","oup","pro","pronl");
						
						for (x=0;x<pubname.length;x++) {
							thepubname = pubname[x];
							for (xx=0;xx<50;xx++) {
								if (document.getElementById("montant_"+thepubname + "_" + xx)) {
									price = price + parseFloat(document.getElementById("montant_"+thepubname + "_" + xx).innerHTML);	
								}
							}
						}
						document.getElementById("montant").innerHTML = price;
					}
					
					
					
				} else {
					document.getElementById("message").innerHTML = array_texte[1];
					document.getElementById("message").style.display="block";
				}
			}	
		}
	}
	
	xhr_object.open( "POST","/generique/basket/verifie_formulaire.php", true ); 
	xhr_object.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
	xhr_object.send(str);
			
}


function RemplirFormulaire(str) {
	
	if (document.getElementById('nocompte')) {
		if (document.getElementById('nocompte').checked == true) {
			str =  str + "&compte=0";
		} else {
			str =  str + "&compte=1";
		}
	}
	if (document.getElementById('password')) {
		str =  str + "&password="  + document.getElementById('password').value;
	}
	if (document.getElementById('password1')) {
		str =  str + "&password1="  + document.getElementById('password1').value;
	}
	if (document.getElementById('accept')) {
		if (document.getElementById('accept').checked) {
			str =  str + "&accept="  + document.getElementById('accept').value;
		}
	}
	

	var arrayCheckboxes = document.getElementsByTagName("INPUT");
	for(i=0 ; i<arrayCheckboxes.length ; i++){
		var checkBox = arrayCheckboxes[i];
		if(checkBox.id=='conditions_utilisation' && checkBox.checked){
			str += "&" + checkBox.name + "=" +checkBox.value;
		}
	}
	
	if (document.getElementById('paiementonline')) {
		if (document.getElementById('paiementonline').checked) {
			str =  str + "&modepaiement="  + document.getElementById('paiementonline').value;
		}
	}	
	if (document.getElementById('lang_fact')) {
		str =  str + "&lang_fact="  + document.getElementById('lang_fact').value;
	}
	if (document.getElementById('phone_fact')) {
		str =  str + "&phone_fact="  + document.getElementById('phone_fact').value;
	}
	if (document.getElementById('phone')) {
		str =  str + "&phone="  + document.getElementById('phone').value;
	}
	if (document.getElementById('paiementfacturation')) {
		if (document.getElementById('paiementfacturation').checked) {
			str =  str + "&modepaiement="  + document.getElementById('paiementfacturation').value;
		}
	}
	if (document.getElementById('selfadresse')) {
		if (document.getElementById('selfadresse').checked) {
			str =  str + "&memedadresse="  + escape_sp(document.getElementById('selfadresse').value);
		}
	}	
	if (document.getElementById('otheradresse')) {
		if (document.getElementById('otheradresse').checked) {
			str =  str + "&memedadresse="  + escape_sp(document.getElementById('otheradresse').value);
		}
	}
	if (document.getElementById('societe_id')) {
		str =  str + "&societe_id="  + document.getElementById('societe_id').value;
	}
	if (document.getElementById('user_id')) {
		str =  str + "&user_id="  + document.getElementById('user_id').value;
	}
	if (document.getElementById('title_fact')) {
		str =  str + "&title_fact="  + document.getElementById('title_fact').value;
	}
	if (document.getElementById('tva_fact')) {
		str =  str + "&tva_fact="  + document.getElementById('tva_fact').value;
	}
	if (document.getElementById('lastname_fact')) {
		str =  str + "&lastname_fact="  + escape_sp(document.getElementById('lastname_fact').value);
	}
	if (document.getElementById('firstname_fact')) {
		str =  str + "&firstname_fact="  + escape_sp(document.getElementById('firstname_fact').value);
	}
	if (document.getElementById('adresse1_fact')) {
		str =  str + "&adresse1_fact="  + escape_sp(document.getElementById('adresse1_fact').value);
	}
	if (document.getElementById('adresse2_fact')) {
		str =  str + "&adresse2_fact="  + escape_sp(document.getElementById('adresse2_fact').value);
	}
	if (document.getElementById('city_fact')) {
		str =  str + "&city_fact="  + escape_sp(document.getElementById('city_fact').value);
	}
	if (document.getElementById('cp_fact')) {
		str =  str + "&cp_fact="  + document.getElementById('cp_fact').value;
	}
	if (document.getElementById('pays_fact')) {
		str =  str + "&pays_fact="  + document.getElementById('pays_fact').value;
	}
	if (document.getElementById('email')) {
		str =  str + "&email="  + document.getElementById('email').value;
	}
	if (document.getElementById('title')) {
		str =  str + "&title="  + document.getElementById('title').value;
	}
	if (document.getElementById('lastname')) {
		str =  str + "&lastname="  + escape_sp(document.getElementById('lastname').value);
	}
	if (document.getElementById('firstname')) {
		str =  str + "&firstname="  + escape_sp(document.getElementById('firstname').value);
	}
	if (document.getElementById('nom_societe')) {
		str =  str + "&nom_societe="  + escape_sp(document.getElementById('nom_societe').value);
	}		
	if (document.getElementById('adresse1')) {
		str =  str + "&adresse1="  + escape_sp(document.getElementById('adresse1').value);
	}
	if (document.getElementById('adresse2')) {
		str =  str + "&adresse2="  + escape_sp(document.getElementById('adresse2').value);
	}
	if (document.getElementById('city')) {
		str =  str + "&city="  + escape_sp(document.getElementById('city').value);
	}
	if (document.getElementById('cp')) {
		str =  str + "&cp="  + document.getElementById('cp').value;
	}
	if (document.getElementById('pays')) {
		str =  str + "&pays="  + document.getElementById('pays').value;
	}
	if (document.getElementById('nom_ecole')) {
		str =  str + "&nom_ecole="  + escape_sp(document.getElementById('nom_ecole').value);
	}
	if (document.getElementById('fonction_ecole')) {
		str =  str + "&fonction_ecole="  + escape_sp(document.getElementById('fonction_ecole').value);
	}
	if (document.getElementById('codecard')) {
		str =  str + "&codecard="  + document.getElementById('codecard').value;
	}		
	var pubname = new Array("dbemp","dbes","dbu","larcierfr","larciernl","udbb","udbs","udbh","oup","pro","pronl");				
	for (x=0;x<pubname.length;x++) {
		thepubname = pubname[x];
		for (xx=0;xx<50;xx++) {
			if (document.getElementById(thepubname + "_" + xx)) {
				str =  str + "&"+thepubname + "_" + xx + "="  + document.getElementById(thepubname + "_" + xx).value + "@" +  document.getElementById(thepubname + "_" + xx).getAttribute("titleid") ;
			}
		}
	}

	return str;
}

function escape_sp(str) {
	str = str.replace(/&/g,'%26');
	str = str.replace(/\+/g,'%2B');	
	return str;
}

function ValidEmail() {
	
/*	var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([_|\.|-]­{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');*/
	var reg = new RegExp('^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$','i');	

	if (document.getElementById('email')) {
		adressmail = document.getElementById('email').value;
		if(reg.test(adressmail))
		{
			 return "";
		} else {
			 return "nocorrectadressmail";
		}
	}
}

function ValidVATNumber () {
  if (document.getElementById('tva_fact').value != "") {
	  var myVATNumber = document.getElementById('tva_fact').value;
	  var pays = document.getElementById('pays_fact').value;

	  if (pays != myVATNumber.substr(0,2)) {
	  	 return "nocorrectvat";
	  } else {		  
		  if (checkVATNumber (myVATNumber)) {
			 document.getElementById('tva_fact').value = checkVATNumber (myVATNumber)
		  } else {
			 return "nocorrectvat";
		  }
	  }
  }
}

function ValidPassword_Basket() {
	
	var mode = "";
	if (document.getElementById('password1')) {
		var minLength = 6; // Minimum length
		pass1 = document.getElementById('password1').value;
		pass2 = document.getElementById('password2').value;
		if ((pass1 != pass2)	|| (pass1 == "") || (pass2 == "")) {
			mode = "nocorrectpassword";
		} else if (pass1.length < minLength) {
			mode = "nocharlimit";
		} else {
			validchar = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567989";
			for (i=0;i<pass1.length;i++) {
				thechar = pass1.substr(i,1);
				if (validchar.indexOf(thechar)<0) {
					mode = "invalidchar";
				}
			}	
		}
	}
	return mode;	
}

function BacktoStep() {

	document.getElementById('renseignement').innerHTML = "";
	document.getElementById('message').innerHTML = "";	
	document.getElementById('threestep').style.display = "none";
	document.getElementById('secondstep').style.display = "block";
	
}

function Recalcul(obj,price) {
	if (document.getElementById(obj).value != "") {
		val_obj = parseInt(document.getElementById(obj).value);
		if ("*"+val_obj+"*" == "*NaN*") {
			val_obj = 1;
		}
	} else {
		val_obj = 1;
	}
	document.getElementById(obj).value = Math.abs(val_obj);
	ValidBasket(7,parseFloat(price * val_obj),obj);
}

function getRemoteData(url) {  	
  	
  	script      = document.createElement("script"); 
    script.type = "text/javascript"; 
	var d = new Date();
    script.src  = url + "&date="+d.getTime(); 

   	document.getElementsByTagName("head")[0].appendChild(script);
	
} 
    
// la fonction réceptrice, ici "myFunction" 
function myFunction_From(response) {
	ValidBasket('0',response.data,'');
} 

// la fonction réceptrice, ici "myFunction" 
function myFunction_Del_From(response) {
	ValidBasket('0',response.data,'d');
} 

function myFunction_Del_From_Larcier () {
	getRemoteData('http://e-commerce.deboeck.com/mybasket.php?callback=myFunction_From');
}

function MyBasket(val) {
	if (val == "b") {
	   getRemoteData('http://e-commerce.deboeck.com/mybasket.php?callback=myFunction_From');
	} else if (val == "bn") {
		getRemoteData('http://e-commerce.deboeck.com/mybasket_allverif.php?callback=myFunctionCookie_Basket');	
	} else {
		ValidBasket('6',val,'');
	}
}

function myFunctionCookie_Basket(response) { 
   if (response.data != "") {	  
	  getRemoteData('http://e-commerce.deboeck.com/mybasket.php?callback=myFunction_From');
   } else {
      showLightBoxAjax('Error',"error_cookie");
   }
}

function DeleteBasket(obj,title) {
	
	if (document.all) {
	   /* the following is only available after onLoad */
	   w = document.body.clientWidth;
	   h = document.body.clientHeight;
	}
	else if (document.layers) {
	   w = window.innerWidth;
	   h = window.innerHeight;
	} else {
	   w = window.innerWidth;
	   h = window.innerHeight;		
	}
	
	var popW = 300, popH = 200;
	var leftPos = (w-popW)/2;
	var topPos = (h-popH)/2;
		
	var url = document.URL	;
	if (url.indexOf("deboeck.com")> 0) {
		getRemoteData('http://e-commerce.deboeck.com/deletemybasket.php?titre='+title+'&callback=myFunction_Del_From');	
	} else {
		 window.open('http://e-commerce.deboeck.com/deletemybasket-larcier.php?titre='+title,'','width=' + popW + ',height='+popH+',top='+topPos+',left='+leftPos);
		 setTimeout("myFunction_Del_From_Larcier()",1000);
	}
}

function DeleteAllBasket() {

	if (document.all) {
	   /* the following is only available after onLoad */
	   w = document.body.clientWidth;
	   h = document.body.clientHeight;
	}
	else if (document.layers) {
	   w = window.innerWidth;
	   h = window.innerHeight;
	} else {
	   w = window.innerWidth;
	   h = window.innerHeight;		
	}
	
	var popW = 300, popH = 200;
	var leftPos = (w-popW)/2;
	var topPos = (h-popH)/2;
	
	var url = document.URL	;
	if (url.indexOf("deboeck.com")> 0) {	
		getRemoteData('http://e-commerce.deboeck.com/deleteallbasket.php?titre=n');
	} else {
	  	window.open('http://e-commerce.deboeck.com/deleteallbasket-larcier.php?titre=n','width=' + popW + ',height='+popH+',top='+topPos+',left='+leftPos);
	}
}

function ImprimerCommande() {
	window.open ("/generique/basket/imprimercommande.php","print","width=800,height=600,toolbar=1,menubar=1,scrollbars=1,resizable=1");
}

function checkedFact(obj,obj1) {
	document.getElementById(obj).checked=false;
	document.getElementById(obj1).checked = true;
}
