/*
 * 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";
					} 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";																	
					} 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";
					} 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];	
					} 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";				
						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");
						
						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;
		}
	}
	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('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");				
	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 MyBasket(val) {
	if (val == "b") {
	   getRemoteData('http://e-commerce.deboeck.com/mybasket.php?callback=myFunction_From');
	} else {
		ValidBasket('6',val,'');
	}
}

function DeleteBasket(obj,title) {
   getRemoteData('http://e-commerce.deboeck.com/deletemybasket.php?titre='+title+'&callback=myFunction_Del_From');
}

function DeleteAllBasket() {
  	getRemoteData('http://e-commerce.deboeck.com/deleteallbasket.php?titre=n');
}

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;
}