window.onload=demarrer;

function demarrer() {
	rollover() ;
	SetFocus();
	desactiveSubmit();
	popup();
}
function SetFocus() {
  if (document.forms.length > 0) {
    var field = document.forms[0];
    for (var i=0; i<field.length; i++) {
      if ( (field.elements[i].type != "image") &&
           (field.elements[i].type != "hidden") &&
           (field.elements[i].type != "reset") &&
           (field.elements[i].type != "submit") ) {

        document.forms[0].elements[i].focus();

        if ( (field.elements[i].type == "text") || (field.elements[i].type == "password") ) {
          document.forms[0].elements[i].select();
				}
        break;
      }
    }
  }
}
function rollover() {
	if(document.getElementById('Menu')) {
		var menu=document.getElementById('Menu');
		var lis = menu.getElementsByTagName('LI');
		var nbre_lis = lis.length;
		for(var i=0; i<nbre_lis; i++) {
			lis[i].onmouseover=function() {
				var a = this.firstChild;
				if(a.firstChild && a.firstChild.nodeName=='IMG') {
					var img_src = a.firstChild.src;
					var ext = img_src.substr(img_src.length-4, img_src.length);
					var pos = img_src.lastIndexOf(ext);
					if(img_src.substr((pos-2), pos)!='_2'+ext) {
						var new_src = img_src.substr(0,pos)+'_2'+ext;
						a.firstChild.src = new_src;
					}
				}		
			}
			lis[i].onmouseout=function() {
				var a = this.firstChild;
				if(a.firstChild && a.firstChild.nodeName=='IMG') {
					var img_src = a.firstChild.src;
					var ext = img_src.substr(img_src.length-4, img_src.length);
					var pos = img_src.lastIndexOf(ext);
					if(img_src.substr((pos-2), pos)=='_2'+ext) {
						var new_src = img_src.substr(0,pos-2)+ext;
						a.firstChild.src = new_src;
					}
				}	
			}
		}
	}
}
function popup() {
	// voir si un lien a class="popup"
	var aList = document.getElementsByTagName('A');
	var nbreA=aList.length;
	for(var i=0;i<nbreA; i++) {
		if(aList[i].className && aList[i].className=='popup') {
//		if(aList[i].hasAttribute('class') && aList[i].getAttribute('class')=='popup') { // ne fonctionne pas sous IE ...
			var popup= aList[i];
			popup.onclick=function(){
				window.open('popup.php?page='+popup,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes, resizable=yes,copyhistory=no,width=600,height=500,screenX=150,screenY=150,top=5,left=5');
				return false;
			}
		}
	}
}

function desactiveSubmit() {

  if (document.forms.length > 0) {
		var nombreForms=document.forms.length;
		for(var j=0; j<nombreForms; j++) {
			//var inputSubmitType = '';
			var field = document.forms[j];
			var fieldName=field.getAttribute('name');

			for (var i=0; i<field.length; i++) {
				var inputSubmit=field.elements[i];
				var inputSubmitType=inputSubmit.type;
				var inputSubmitName=inputSubmit.name;
				var inputSubmitValue=inputSubmit.value;
				//inputSubmitType=field.childNodes[i].type;
				//alert(' inputSubmitType : '+inputSubmitType+' ; inputSubmitName : '+inputSubmitName+' ; inputSubmitValue : '+inputSubmitValue);
			if (inputSubmitType == "submit") 
			// || inputSubmitType == "image") DOM ne lit pas le type image ...
			{
					inputSubmit.onclick=function() 
					//inputSubmit.onmouseout=function(j,i) 
					//inputSubmit.onsubmit=function() 
					{
						activeSubmit();
						var subQueryString="";
						var inputName = this.name;
						var inputValue = this.value;
						var subParent = this.parentNode;
						var formName=subParent.getAttribute('name');
						var subChildren = subParent.childNodes;
						
						// recupérer les input placés dans ce formulaire
						for(var k=0; k<subChildren.length; k++) {
							if(subChildren[k].name) {
								var ceformulaire=this.form;
								var ceformulaireName=ceformulaire.getAttribute('name');
								var ceinputName=subChildren[k].name;
								var ceinputValue=subChildren[k].value;

			
									//alert(' ceformulaire : '+ceformulaire+' ;  ceformulaireName : '+ceformulaireName+' ; ceinputName : '+ceinputName+' ; ceinputValue : '+ceinputValue );
									//alert('if clePrimaire === clePrimaire : '+clePrimaire+' ; clePrimaireName : '+clePrimaireName) ; 
								
								switch(ceinputName) {

									case 'envoyer' :
										if(inputName==ceinputName) {
											return verifieJit(ceformulaire);
										}
									break;
									case 'enter_admin' :
										//alert("formulaire: "+ceformulaire+" ; ceformulaireName: "+ceformulaireName+" ; subParent : "+subParent+" ; ceformName="+ceformName+" ; ceinputName="+ceinputName+" ; ceinputValue="+ceinputValue);
										return verifieJit(ceformulaire);
									break;
									case 'annuler': 
										annuler();
										return false;
									break;
									case 'submit_rechercher':
										//alert("ceinputName: "+ceinputName);
										return true;
									break;
									case 'submit_reset':
										//alert("ceinputName: "+ceinputName);
										resetSearchField();
										return false;
									break;
									
								}
								subQueryString += subChildren[k].name+"="+subChildren[k].value;
								if(k<subChildren.length) subQueryString += "&";
								//alert("subParent : "+subParent+" ;  formName : "+formName+" ; inputName : "+inputName+" ; subQueryString : "+subQueryString);
							}
						}
						while(subQueryString.substr((subQueryString.length)-1,subQueryString.length)=='&') {
							subQueryString=subQueryString.substr(0,(subQueryString.length)-1);
						}
					}
				}
			}
		}
  }
}

function verifieJit(Formulaire) {
	// récupérer les champs du formulaire à vérifier
	var champs = Formulaire.elements;
	var nbre_champs=champs.length;
	//alert("nbre_champs : "+nbre_champs);
	var messageAverts=Array;
	var messageAvert = '';
	var msgErreur = "";
	var j=0;
	for(var i=0; i<nbre_champs; i++) {
		var champNode=champs[i];

		if(champNode.className=='requis') {
			var champType=champNode.type;
			var champName=champNode.name;
			var regExpRecherche = /\[[0-9]+\]$/; // recherche le type Array
			var regExec = regExpRecherche.exec(champName)  ;
			if(regExec!=null) champName=champName.substr(0,champName.indexOf('['));
			//alert('champName : '+champName+' ; regExec : '+regExec);
			var champValue=champNode.value;
			var champLabel='';

			// cas special : language
			if(champName== 'language_name')	
				var champLabel_lang_name= champValue; 
			if(champName== 'language_code')	
				var champLabel_lang_code= champValue; 

			if(champValue=="" || champValue=="0") {
				j++;
			 //alert("----- champType : "+champType+" ; champName : "+champName+" ; champValue : "+champValue+"\n");
			// récupérer le label 
				switch (champName) {
					case 'pseudo' : champLabel = 'votre login';	break;
					case 'pseudo_mail' : champLabel = 'votre courriel'  ;	break;
					case 'mot_de_passe' : champLabel = 'votre mot de passe';	break;
					case 'name' : champLabel =  (champLabel_lang_code && champLabel_lang_code=='en') ? 'your name' : 'votre nom';	break;
					case 'email' : champLabel = (champLabel_lang_code && champLabel_lang_code=='en') ? 'your email' : 'votre courriel';	break;
					case 'enquiry':	champLabel =  (champLabel_lang_code && champLabel_lang_code=='en') ? 'your message' : 'votre message';	break;
					case 'designation':
						// précise le nom du language	
						champLabel = 'le nom '+champLabel_lang_name;
					break;
					case 'auteur': champLabel = 'ton nom'; break;
					case 'commentaire': champLabel = 'ton commentaire'; break;
				}
				messageAverts[j] = champLabel;
			}
			if(champName== 'email') {	
				if(champValue!='') {
					//alert("valeur mail : "+champValue);
					return verifierAdresse(Formulaire, champValue, champLabel_lang_code);
				}	
			}
			
		}
	}
	if(messageAverts.length>0) {
		for(var k=1; k<=j; k++) {
			messageAvert += messageAverts[k];
			messageAvert += k<(j-1) ? ', ' : (k==(j-1) ? ((champLabel_lang_code && champLabel_lang_code=='en') ? ' and ' : ' et ') : '');
		}
	}
	if(messageAvert!='') {
		msgErreur = (champLabel_lang_code && champLabel_lang_code=='en') ? 'Please enter ' : "SVP, renseignez " ;
		msgErreur += messageAvert;
		afficheMsgErreur(Formulaire, msgErreur);
		return false;
	}
	else
		return true;
}

function afficheMsgErreur(Formulaire,msg) {
	var msgErreur = msg;
	var messageErreur = document.getElementById("messageBox");
	var ParentErreur = Formulaire ;
	var ParentForm = Formulaire.parentNode;
	
	if(!messageErreur) {
		var div_messageBox = document.createElement("div");
		div_messageBox.setAttribute("id","messageBox");
		div_messageBox.setAttribute("class","error");
		var messageErreur = ParentForm.appendChild(div_messageBox);
		ParentForm.insertBefore(div_messageBox,Formulaire);
	}
	else {
		messageErreur.innerHTML="";
		messageErreur.style.display="none";
	}
	
	if(messageErreur) {
		messageErreur.innerHTML=msgErreur;
		messageErreur.style.display="block";
	}
	return false;
	//alert('Formulaire : '+Formulaire+' ; msgErreur : '+msgErreur);
}

function activeSubmit() {
	if(document.getElementById("messageBox")) {
		document.getElementById("messageBox").innerHTML="";
		document.getElementById("messageBox").style.display="none";
	}
	var nombreForms=document.forms.length;
	for(var j=0; j<nombreForms; j++) {
		var field = document.forms[j];
		for (var i=0; i<field.length; i++) {
			var inputSubmit=field.elements[i];
			var inputSubmitType=inputSubmit.type;
			var inputSubmitName=inputSubmit.name;
			if (inputSubmitType == "submit") {
				//alert('inputSubmitType : '+inputSubmitType+' ; inputSubmitName : '+inputSubmitName);
				inputSubmit.disabled=false;
			}
		}
	}
}


//////// verification adresse mail /////////////
function verifierAdresse(Formulaire, val, langCode){
	var m = val;
	var msgErreur='';
	if(m == null || m.length == 0 || m.indexOf(".") == -1 || m.indexOf("@") == -1 || m.indexOf(" ") != -1) {
		//msgErreur += "Assurez-vous que l'adresse mail ne contienne pas d'espace et soit bien valide.";
		msgErreur = langCode=='en' ? "The email address is not valid" : "Le courriel n'est pas valide.";
	}
	var regex = /(^\w{2,}\.?\w{2,})@/;
	var _match = regex.exec(m);
	if(_match) {
		user=RegExp.$1;
		//alert("user : "+user);
	}
	else {
		//msgErreur += "<br />Assurez-vous que le nom contient plus de 2 caractères, ne commence pas ou ne se termine pas par un point (.), et ne soit pas invalide.";
		msgErreur = langCode=='en' ? "The email address is not valid" : "Le courriel n'est pas valide.";
	}
	regex = /@(\[\d{1,3}\.d{1,3}\.d{1,3}.\d{1,3}\])$/;
	_match = regex.exec(m);
	if(_match) {
		domain=RegExp.$1;
		return true;
	}
	else {
		regex=/@(\w{2,}\.(\w{2,}\.)?[a-zA-Z]{2,3})$/;
		_match = regex.exec(m);
		if(_match) {
			domain = RegExp.$1;
			//alert("domain : "+domain);
		}
		else {
			//msgErreur += "<br />Le domaine de l'adresse mail contient moins de 2 caractères ou n'est pas valide.";
		}
	}
	if(msgErreur != '') {
		afficheMsgErreur(Formulaire, msgErreur);
		return false;
	}
}
<!--
//Fonction de chargemnt active X flash pour nouvelle version de IE

//v1.0
function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="
     , "http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"
     , "application/x-shockwave-flash", "7,0,0,0"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , "http://fpdownload.macromedia.com/pub/shockwave/cabs/director/sw.cab#version="
     , "http://www.macromedia.com/shockwave/download/"
     , null, "8,5,0,0"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, codebase, pluginsPage, mimeType, cbVers){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "codebase":
      case "pluginspage":
      case "type":
      case "classid":
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "minversion":
        cbVers = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  ret.objAttrs["codebase"] = codebase + cbVers;
  ret.embedAttrs["pluginspage"] = pluginsPage;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}
/*
function popup_pdf(url) {
window.open('includes/upload_pdf.php?file=url','popupPdf','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150');
} 
*/
var myWindow = null;
function ChangeUrl(formulaire) {
if (formulaire.ListeUrl.selectedIndex != 0) {
//if (myWindow != null)
//	myWindow.close();
// myWindow = null;
myWindow = open('includes/upload_pdf.php?file='+formulaire.ListeUrl.options[formulaire.ListeUrl.selectedIndex].value, "_blank", "width=730,height=800,scrollbars=yes,resizable=yes", false);
}
}
//FIN



