// JavaScript Document
// Validation formulaire
var envoi=false;


function checkInteger(formulaire, integerField){
	
		if (!formulaire || !integerField ) { 
				return;
			}

	this.init = function() {
		
		// verification live des champs integer
		if(integerField!=null){
		var messageFieldInteger="";
		
				for(i=0;i<integerField.length;i++){
					var champ = integerField[i];
					
					// detection champ type code postal
					var motifCP = /code_postal/gi;
					if(champ.name.match(motifCP) ){	champ.minimum=5;}
					// /champ code postal

					// detection champ type telephone ou fax
					var motifTelFax = /telephone|fax/gi;
					if(champ.name.match(motifTelFax) ){	champ.minimum=10;}
					// /champ code telephone ou fax


					//
					var messageErreur = document.getElementById("messageErreur");
					var messageEspacePro = document.getElementById("messageEspacePro");
					
					champ.onkeyup = function(event){

					if( !isInteger(this.value) ||  this.value.length<this.minimum){
										if(messageErreur)messageErreur.innerHTML="&gt; "+this.title+" doit comporter un minimum de "+this.minimum+" chiffres";
										if(messageEspacePro)messageEspacePro.innerHTML="<p>&gt; "+this.title+" doit comporter un minimum de "+this.minimum+" chiffres</p>";
									
									
										this.style.backgroundColor='#EAE6E5';
										if(!isInteger(this.value))this.value="";
									} else {
										if(messageErreur)messageErreur.innerHTML="";
										if(messageEspacePro)messageEspacePro.innerHTML="";
										
										this.style.backgroundColor='';
									}
							}
					//
					
				}
			}
			//
			
			
	}
	// init
}

var valeurConnuMc = "";

function checkBoites(){

	this.arguments = arguments;
	var cible = document.getElementById("connu_mc_france");
	var envoiCible = document.getElementById("provenance_clients_pro");
	
	var valeur = Array();
	var retour="";
	
	function afficher(){
		virgule = /\,/gi;
		
		retour = valeur.toString();
		retour = retour.replace(virgule, '');
		cible.value = retour;
		envoiCible.value = valeur;
	}
	
	
	this.init = function() {
		//
			for(i=0;i<this.arguments.length;i++){
				var box = this.arguments[i];
				box.num = i;
				
				box.onfocus = box.onclick = function(event){
					if(this.checked==true){valeur[this.num]=this.value;}
					else {valeur[this.num]="";}
					
					afficher();
				}
				
			}
			//
	}
	//

}





function validerContact(formulaire){
var messageErreur = document.getElementById("messageErreur");
if(messageErreur)messageErreur.innerHTML="&gt; V&eacute;rification en cours ...";


var champs = new Array();
	
	// preparation objet request
	var httpRequest = false;
	if (window.XMLHttpRequest) { 
            httpRequest = new XMLHttpRequest();
        }
        else if (window.ActiveXObject) { 
            try {
                httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e) {
                try {
                    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) {}
            }
        }

        if (!httpRequest) {
            return false;
        } 
		//
		
		var data = "";
		
		// boucle
		for(i=1;i<arguments.length;i++){
			var obj = arguments[i];
			var val=obj.value;
			champs.push(obj);
			
		// detection champ type email
			var motifEmail = /email/gi;
			if(obj.name.match(motifEmail)){
				data+=obj.name+"="+val+"&";
			}
		//
		
		// detection champ type code postal
			var motifCP = /code_postal/gi;
			if(obj.name.match(motifCP)){
				data+=obj.name+"="+val+"&";
			}
		//
		
		// detection champ telephone
			var motifTel = /telephone/gi;
			if(obj.name.match(motifTel)){
				data+=obj.name+"="+val+"&";
			}
		//
		
		// detection champ type fax
			var motifFax = /fax/gi;
			if(obj.name.match(motifFax)){
				data+=obj.name+"="+val+"&";
			}
		//
		
		// detection champ date de naissance
			var motifDate = /date_naissance/gi;
			if(obj.name.match(motifDate)){
				data+=obj.name+"="+val+"&";
			}
		//

		// detection champ captcha
			var motifCaptcha = /verificationCaptcha/gi;
			if(obj.name.match(motifCaptcha)){
				data+=obj.name+"="+val+"&";
			}
		//
		
		// detection champ email oublie
			var motifVerifictionEmail = /mail_verification/gi;
			if(obj.name.match(motifVerifictionEmail)){
				data+=obj.name+"="+val+"&";
			}
		//



	}
	// /boucle
	
	// envoi de la requete
	 httpRequest.open('POST', url, true);
	 httpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	 
     httpRequest.send(data);
	
	// reponse 
    httpRequest.onreadystatechange = function() { reponse(httpRequest, formulaire, champs); };
}



var code_validation=1;
var messageValidation="";

function reponse(httpRequest, formulaire, champs) {
	
		if (httpRequest.readyState == 4) {
			
			if (httpRequest.status == 200) {
			code_validation=parseInt(httpRequest.responseText);
				
					switch(code_validation){
						case 0:
						messageValidation="&gt; adresse email correcte ...";
						break;
						
						case 1:
						messageValidation="&gt; problème dans l'enregistrement de votre email. Veuillez renouveler l'opération.";
						break;
						
						case 2:
						messageValidation="&gt; votre adresse email est déjà enregistrée.";
						break;
						
						case 3:
						messageValidation="&gt; l'adresse email que vous avez saisie est invalide.";
						break;
						
						case 4:
						messageValidation="&gt; problème de connexion avec le serveur.";
						break;
						
						case 5:
						messageValidation="&gt; votre code postal doit comporter un minimum de 5 chiffres.";
						break;

						case 6:
						messageValidation="&gt; votre numéro de téléphone doit comporter un minimum de 10 chiffres.";
						break;
						
						case 7:
						messageValidation="&gt; format de date invalide.";
						break;

						case 8:
						messageValidation="&gt; votre code de validation est incorrect.";
						break;

						case 9:
						messageValidation="&gt; votre adresse email n'est pas répertoriée dans notre base de données.";
						break;
						
						default:
						messageValidation="&gt; problème d'envoi.";
						break;
						}
					
			checkField(champs);
			
					if(envoi==true){ //envoi
					
							// masque les champs select
							if(document.getElementsByTagName("select")){
								var champsSelect = document.getElementsByTagName("select");
						
								for(var i=0; i<champsSelect.length; i++){
									var champ = champsSelect[i];
									champ.style.visibility='hidden';
								}
							}
							//
					
						formulaire.style.visibility='hidden';
						formulaire.submit();
						
					}
					
				} 
		  }
}


function checkField(champs){
var bloque=false;

if(document.getElementById("messageErreur"))var messageErreur = document.getElementById("messageErreur");
if(document.getElementById("messageEspacePro"))var messageEspacePro = document.getElementById("messageEspacePro");

if(messageErreur)messageErreur.innerHTML="&gt; V&eacute;rification en cours ...";
if(messageEspacePro)messageEspacePro.innerHTML="<p>&gt; V&eacute;rification en cours ...</p>";

// boucle
	do {	

		for(i=0;i<champs.length;i++){
			var obj = champs[i];
			var val=obj.value;
			val=val.replace(/(^\s*)|(\s*$)/g,'');
			
			if(bloque=obj.getAttribute("disabled"))bloque=true;
			else bloque=false;
			
			var motifFichier = /^(fichier)/gi;
			if(obj.name.match(motifFichier))var mess = "&gt; Merci de bien vouloir joindre";
			else var mess = "&gt; Merci de pr&eacute;ciser";
			
			
		// champ vide
		if( val=='' && bloque==false){
			envoi=false;
			if(messageErreur)messageErreur.innerHTML=mess+" "+obj.title+".";
			if(messageEspacePro)messageEspacePro.innerHTML="<p>"+mess+" "+obj.title+".</p>";
			
			obj.style.backgroundColor='#EAE6E5';
			if(obj.type!='hidden')obj.focus();
			break;
				}
		// /champ vide
		
		// detection champ type email
		var motifEmail = /email/gi;
		if(obj.name.match(motifEmail) && code_validation==3){
			envoi=false;
			if(messageErreur)messageErreur.innerHTML=messageValidation;
			if(messageEspacePro)messageEspacePro.innerHTML="<p>"+messageValidation+"</p>";
			
			obj.style.backgroundColor='#EAE6E5';
			obj.focus();
			break;
			}
		// /champ email
		
		// detection champ type code postal
		var motifCP = /code_postal/gi;
		if(obj.name.match(motifCP) && code_validation==5){
			envoi=false;
			if(messageErreur)messageErreur.innerHTML=messageValidation;
			if(messageEspacePro)messageEspacePro.innerHTML="<p>"+messageValidation+"</p>";
			
			obj.style.backgroundColor='#EAE6E5';
			obj.focus();
			break;
			}
		// /champ code postal

			
		// detection champ type telephone
		var motifTel = /telephone/gi;
		if(obj.name.match(motifTel) && code_validation==6){
			envoi=false;
			if(messageErreur)messageErreur.innerHTML=messageValidation;
			if(messageEspacePro)messageEspacePro.innerHTML="<p>"+messageValidation+"</p>";
			
			obj.style.backgroundColor='#EAE6E5';
			obj.focus();
			break;
			}
		// /champ telephone

		// detection champ type  fax
		var motifFax = /fax/gi;
		if(obj.name.match(motifFax) && code_validation==6){
			envoi=false;
			if(messageErreur)messageErreur.innerHTML=messageValidation;
			if(messageEspacePro)messageEspacePro.innerHTML="<p>"+messageValidation+"</p>";
			
			obj.style.backgroundColor='#EAE6E5';
			obj.focus();
			break;
			}
		// /champ fax
		
		
		// detection champ type  fax
		var motifDate = /date_naissance/gi;
		if(obj.name.match(motifDate) && code_validation==7){
			envoi=false;
			if(messageErreur)messageErreur.innerHTML=messageValidation;
			if(messageEspacePro)messageEspacePro.innerHTML="<p>"+messageValidation+"</p>";
			
			obj.style.backgroundColor='#EAE6E5';
			obj.focus();
			break;
			}
		// /champ fax


		// detection champ type  captcha
		var motifCaptcha = /verificationCaptcha/gi;
		if(obj.name.match(motifCaptcha) && code_validation==8){
			envoi=false;
			if(messageErreur)messageErreur.innerHTML=messageValidation;
			if(messageEspacePro)messageEspacePro.innerHTML="<p>"+messageValidation+"</p>";
			
			obj.style.backgroundColor='#EAE6E5';
			obj.focus();
			break;
			}
		// /champ captcha
		
		
		// detection champ type  mot de passe oubli
		var motifVerifictionEmail = /mail_verification/gi;
		if(obj.name.match(motifVerifictionEmail) && code_validation==9){
			envoi=false;
			if(messageErreur)messageErreur.innerHTML=messageValidation;
			if(messageEspacePro)messageEspacePro.innerHTML="<p>"+messageValidation+"</p>";
			
			obj.style.backgroundColor='#EAE6E5';
			obj.focus();
			break;
			}
		// /champ captcha


		envoi=true;
		obj.style.backgroundColor='';
		}
		// /boucle	
		
		}
	while(false);
}




function choisir(obj, autre, choixAutre){
	var autre=document.getElementById(autre);
	var choixAutre=document.getElementById(choixAutre);

	if(obj.selectedIndex==obj.length-1){
		choixAutre.style.visibility='visible';
		autre.removeAttribute("disabled");
		autre.focus();
	} else {
		choixAutre.style.visibility='hidden';
		autre.setAttribute("disabled","disabled");
	}
}


function deverouiller(obj){
	// traitement du champ société
	
	var societe = obj.form.societe;
	if(obj.selectedIndex==obj.length-1){
		societe.style.visibility='hidden';
		societe.setAttribute("disabled","disabled");
	} else {
		societe.style.visibility='visible';
		societe.removeAttribute("disabled");
	}
}

/*********************** pieces jointes ***************************************/

function parcourir(cible, idFichier){
	
	try{
		
		var uploadFlash=document.createElement("object");
		
		var src=root+"back_office/upload_cv.swf?&fileURL="+root+"&idFichier="+idFichier;

		// crée  param 
		var paramMovie=document.createElement("param");
		var paramQuality=document.createElement("param");
		var paramWmode=document.createElement("param");
		var paramMenu=document.createElement("param");

		// ajoute aux params leurs atributs
		paramMovie.setAttribute("name","movie");
		paramMovie.setAttribute("value",src);
		
		paramQuality.setAttribute("name","quality");
		paramQuality.setAttribute("value","high");
		
		paramWmode.setAttribute("name","wmode");
		paramWmode.setAttribute("value","transparent");
			
		paramMenu.setAttribute("name","menu");
		paramMenu.setAttribute("value","false");
		
		// ajoute param à l'object
		uploadFlash.appendChild(paramMovie);
		uploadFlash.appendChild(paramQuality);
		//uploadFlash.appendChild(paramWmode);
		uploadFlash.appendChild(paramMenu);
		
		// append	
		cible.appendChild(uploadFlash);
		
		uploadFlash.setAttribute("width","255");
		uploadFlash.setAttribute("height","20");

		if(document.all){
			uploadFlash.setAttribute("classid","clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");
		} else {
			uploadFlash.setAttribute("type","application/x-shockwave-flash");
			uploadFlash.setAttribute("data",src);
		}
		

	} catch(e){}
}



function browse(hiddenField){
	
			if (!hiddenField ) { 
				return;
			}

	/**** initialisation ****/
	this.init = function() {
		
		//
		for(var i=0; i<hiddenField.length;i++){
			var cible = document.getElementById(hiddenField[i]);
			parcourir(cible.parentNode, cible.id);
		}
		//
		
	}
	/************************/

}
		
function fillHidden(idFichier, val){
	var hidden = document.getElementById(idFichier);
	hidden.value = val;
}
