/*
 * Validation du formulaire global
 *  - inscription Email
 *  - inscription Code
 *  - Récupération des données personnelles
 *  - Introduction des licences
 */
function validProfil(mode,arg,obj) {
	
	str = "mode=" + mode + "&arg=" + arg + "&obj=" + obj;
	str	= RemplirFormulaireProfil(str);
		
	if(mode == 1 || mode == 11){
		VerifeMail = ValidEmail();
		if (VerifeMail != "") {
			str = "mode=" + VerifeMail;
		}
	}else if(mode == 3){
		VerifiePass = ValidPassword('new_password');
		if (VerifiePass != "") {
			str = "mode=" + VerifiePass;
		}else{
			VerifiePass = ValidPassword('new_password2');
			if (VerifiePass != "") {
				str = "mode=" + VerifiePass;
			}
		}
	}else if(mode == 4){
		Verifievat  = ValidVATNumber();		
		if (Verifievat == "nocorrectvat") {
			str = "mode=" + Verifievat;
		}
		StopInteraction();
	}
	
	
		
	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 == 1) {
						document.getElementById("phase1").style.display = "none";
						if(array_texte[1] == 4){
							document.getElementById("phase4").innerHTML = array_texte[2];
							document.getElementById("phase4").style.display = "block";																	
						}else if(array_texte[1] == 3){
							document.getElementById("phase3").innerHTML = array_texte[2];
							document.getElementById("phase3").style.display = "block";
						}
						_gaq.push(['_trackPageview', '/profil/login']);
					} else if (mode == 11){
						document.getElementById("phase1").style.display = "none";
						document.getElementById("phase2").innerHTML = array_texte[2];
						document.getElementById("phase2").style.display = "block";
						_gaq.push(['_trackPageview', '/profil/ask-temporary-code']);
					} else if (mode == 2) {
						document.getElementById("phase2").style.display = "none";
						document.getElementById("phase3").innerHTML = array_texte[2];
						document.getElementById("phase3").style.display = "block";
						_gaq.push(['_trackPageview', '/profil/use-temporary-code']);
					} else if (mode == 21) {
						document.getElementById("phase4").style.display = "none";
						document.getElementById("phase3").innerHTML = array_texte[2];
						document.getElementById("phase3").style.display = "block";
						_gaq.push(['_trackPageview', '/profil/change-password']);
					} else if (mode == 3) {
						if(array_texte[1] == 1 || array_texte[1] == 4){
							document.getElementById("phase4").innerHTML = array_texte[2];
							document.getElementById("phase3").style.display = "none";
							document.getElementById("phase4").style.display = "block";
						}else{
							document.getElementById("phase3").style.display = "none";
							document.getElementById("phase4").style.display = "block";
						}
						_gaq.push(['_trackPageview', '/profil/personal-datas']);
					} else if (mode == 4) {						
						if(array_texte[1] == 4){
							document.getElementById("phase4").innerHTML = array_texte[3];
							showLightBox(array_texte[2],1);
						}else{
							showLightBox(array_texte[2],1);
						}
						_gaq.push(['_trackPageview', '/profil/validation']);
					} else if (mode == 41) {
						document.getElementById("phase4").innerHTML = array_texte[2];
						showProfilDiv('phase4-5','');
						_gaq.push(['_trackPageview', '/profil/newsletter_unsubscribe_fromprofil']);
					}
				} else if(array_texte[0] == "REDIRECT"){
					document.location.href=array_texte[1];
				} else {
					document.getElementById("message").innerHTML = array_texte[1];
					document.getElementById("message").style.display="block";
					
					AllowInteraction();
				}
			}	
			document.body.style.cursor = 'default';			
		}
	}
	document.body.style.cursor = 'wait';
	
	xhr_object.open( "POST","/generique/profil/verifie_formulaire.php", true ); 
	xhr_object.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
	xhr_object.send(str);
			
}

function StopInteraction(){
	var pageWidth;
	var pageHeight;
	
	if( window.innerHeight && window.scrollMaxY ) { // Firefox		
		pageWidth = window.innerWidth + window.scrollMaxX;
		pageHeight = window.innerHeight + window.scrollMaxY;		
	}else if( document.body.scrollHeight > document.body.offsetHeight ) { // IE6,7,8, Opéra
		pageWidth = document.body.scrollWidth;
		pageHeight = document.body.scrollHeight;
	}else { // Chrome, Safari
 		pageWidth = document.body.offsetWidth + document.body.offsetLeft; 
 		pageHeight = document.body.offsetHeight + document.body.offsetTop; 
 	}
	
	var d = document.getElementById('noInteractionDiv');
	d.style.position = 'absolute';
	d.style.left = '0px';
	d.style.top = '0px';
	d.style.width = (pageWidth-17) + 'px';
	d.style.height = pageHeight + 'px';
}

function AllowInteraction(){
	var d = document.getElementById('noInteractionDiv');
	d.style.left = '-100px';
	d.style.top = '-100px';
	d.style.width = '10px';
	d.style.height = '10px';
}

function RemplirFormulaireProfil(str) {
	
	if (document.getElementById('nocompte')) {
		if (document.getElementById('nocompte').checked == true) {
			str =  str + "&compte=0";
		} else {
			str =  str + "&compte=1";
		}
	}
	if (document.getElementById('email')) {
		str =  str + "&email="  + document.getElementById('email').value;
	}
	if (document.getElementById('nom_societe')) {
		str =  str + "&nom_societe="  + escape_sp(document.getElementById('nom_societe').value);
	}
	if (document.getElementById('password')) {
		str =  str + "&password="  + document.getElementById('password').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('email_login')) {
		str =  str + "&email_login="  + document.getElementById('email_login').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('lang_facture')) {
		str =  str + "&lang_facture="  + document.getElementById('lang_facture').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('ecole')) {
		str =  str + "&ecole="  + escape_sp(document.getElementById('ecole').value);
	}
	if (document.getElementById('fonction')) {
		str =  str + "&fonction="  + escape_sp(document.getElementById('fonction').value);
	}
	if (document.getElementById('numero_carte')) {
		str =  str + "&numero_carte="  + document.getElementById('numero_carte').value;
	}	
	if (document.getElementById('paiementonline')){
		if (document.getElementById('paiementonline').checked) {
			str =  str + "&paiement=PCC";
		}else{
			str = str + "&paiement=STD";
		}
	}
	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('tva_fact')) {
		str =  str + "&tva_fact="  + document.getElementById('tva_fact').value;
	}
	if (document.getElementById('adr_livr_like_adr_fact')){
		str = str + "&livr_equals_fact=" + document.getElementById('adr_livr_like_adr_fact').checked;
	}
	if (document.getElementById('lastname_livr')) {
		str =  str + "&lastname_livr="  + escape_sp(document.getElementById('lastname_livr').value);
	}
	if (document.getElementById('firstname_livr')) {
		str =  str + "&firstname_livr="  + escape_sp(document.getElementById('firstname_livr').value);
	}
	if (document.getElementById('adresse1_livr')) {
		str =  str + "&adresse1_livr="  + escape_sp(document.getElementById('adresse1_livr').value);
	}
	if (document.getElementById('adresse2_livr')) {
		str =  str + "&adresse2_livr="  + escape_sp(document.getElementById('adresse2_livr').value);
	}
	if (document.getElementById('city_livr')) {
		str =  str + "&city_livr="  + escape_sp(document.getElementById('city_livr').value);
	}
	if (document.getElementById('cp_livr')) {
		str =  str + "&cp_livr="  + document.getElementById('cp_livr').value;
	}
	if (document.getElementById('pays_livr')) {
		str =  str + "&pays_livr="  + document.getElementById('pays_livr').value;
	}
	//Nouveau mot de passe...
	if (document.getElementById('old_password')) {
		if (document.getElementById('row_old_password').style.display == 'none'){
			str =  str + "&fromstep=2";
		}else{
			str =  str + "&fromstep=0";
			str =  str + "&old_password="  + document.getElementById('old_password').value;
		}
	}
	if (document.getElementById('new_password')) {
		str =  str + "&new_password="  + document.getElementById('new_password').value;
	}
	if (document.getElementById('new_password2')) {
		str =  str + "&new_password2="  + document.getElementById('new_password2').value;
	}
	//Code Vérif...
	if (document.getElementById('codeverif')) {
		str =  str + "&codeverif="  + document.getElementById('codeverif').value;
	}
	
	//Origin
	if (document.getElementById('origin')) {
		str =  str + "&origin="  + document.getElementById('origin').value;
	}
	
	return str;
}

function escape_sp(str) {
	str = str.replace(/&/g, '%26'); 
    str = str.replace(/\+/g,'%2B');
	return str;
}

function showProfilDiv(phase, message){
	if(phase == "phase4-2"){
		//Champ obligatoires...
		if(document.getElementById("lastname").value == ""){
		 	document.getElementById("message").innerHTML = message;
			document.getElementById("message").style.display="block";
			return;
		 }else{
		 	document.getElementById("message").innerHTML = "";
			document.getElementById("message").style.display="none";
		 }
		 
		 //Copier firstname et lastname dans les champs adresse de facturation
		 document.getElementById("firstname_disabled").value = document.getElementById("firstname").value;
		 document.getElementById("lastname_disabled").value = document.getElementById("lastname").value;
	}
	
	document.getElementById('phase4-1').style.display = "none";
	document.getElementById('step-phase4-1').className = "link_profil_phase_off";
	document.getElementById('phase4-2').style.display = "none";
	document.getElementById('step-phase4-2').className = "link_profil_phase_off";
	document.getElementById('phase4-3').style.display = "none";
	document.getElementById('step-phase4-3').className = "link_profil_phase_off";
	document.getElementById('phase4-4').style.display = "none";
	document.getElementById('step-phase4-4').className = "link_profil_phase_off";
	document.getElementById('phase4-5').style.display = "none";
	document.getElementById('step-phase4-5').className = "link_profil_phase_off";
	
	document.getElementById(phase).style.display = "block";
	document.getElementById('step-'+phase).className = "link_profil_phase_on";
		
}

function showCommandeDetail(orderid,nbouvrages,libouvrages){
	if(document.getElementById('detail_commande_'+orderid)){
		document.getElementById('detail_commande_'+orderid).style.display = "";
		
		var newTd = nbouvrages + " " + libouvrages + " &nbsp;&nbsp<img src=\"/img/symbole/moins.gif\" border=\"0\" onclick=\"hideCommandeDetail("+orderid+","+nbouvrages+",'"+libouvrages+"')\"/>";
		document.getElementById('nb_ouv_'+orderid).innerHTML = newTd;
	}
}

function hideCommandeDetail(orderid,nbouvrages,libouvrages){
	if(document.getElementById('detail_commande_'+orderid)){
		document.getElementById('detail_commande_'+orderid).style.display = "none";
		
		var newTd = nbouvrages + " " + libouvrages + " &nbsp;&nbsp<img src=\"/img/symbole/plus.gif\" border=\"0\" onclick=\"showCommandeDetail("+orderid+","+nbouvrages+",'"+libouvrages+"')\"/>";
		document.getElementById('nb_ouv_'+orderid).innerHTML = newTd;
	}
}

function MyProfil(email){
	var arrayMail = email.split('@@@');
	document.getElementById('email').value = arrayMail[0];
	if(arrayMail.length == 2){
		validProfil(11,'',arrayMail[1]);
	}else{
		validProfil(11,'','');
	}
}

function changeAdrLivrStatus(){
	if(document.getElementById('adr_livr_like_adr_fact').checked){
		document.getElementById('adr_livr_name').className = 'dhidden';
		document.getElementById('adr_livr_pays').className = 'dhidden';
		document.getElementById('adr_livr_adr1').className = 'dhidden';
		document.getElementById('adr_livr_adr2').className = 'dhidden';
		document.getElementById('adr_livr_cp').className = 'dhidden';
		document.getElementById('adr_livr_city').className = 'dhidden';
		document.getElementById('adr_livr_phone').className = 'dhidden';
	}else{
		document.getElementById('adr_livr_name').className = '';
		document.getElementById('adr_livr_pays').className = '';
		document.getElementById('adr_livr_adr1').className = '';
		document.getElementById('adr_livr_adr2').className = '';
		document.getElementById('adr_livr_cp').className = '';
		document.getElementById('adr_livr_city').className = '';
		document.getElementById('adr_livr_phone').className = '';				
	}
	
}

function ValidPassword(champ) {
	var mode = "";
	if (document.getElementById(champ)) {
		pass1 = document.getElementById(champ).value;
		var minLength = 6; // Minimum length
		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;	
}

