// VERSION 1.0 : octobre 2003
//		function valid_text(f,liste)
//		function valid_phone(f,champ)
//		function valid_email(f,champ)

// cette fonction permet de tester une serie de champs
// exemple : 
//  <form method="post" action="send.php" onsubmit="return(valid_text(this,'NOM,PRENOM'));">
//    verifiera que les champs NOM et PRENOM sont non vides.
//    Affiche une alerte avec la liste des champs a complˇter
function valid_password(f)
{
	if(f.elements['personne_password'].value.length < 5)
	{	alert('Le mot de passe doit avoir au moins 5 caracteres.');
		return(false);
	}
	if(f.elements['personne_password'].value != f.elements['pass2'].value)
	{	alert('Les 2 mots de passe saisis doivent etre identiques.');
		return(false);
	}
    return(true);    
}



function valid_email(f,champ)
{
    var ok = true;
    if(f.elements[champ].value == '')
    	ok = false;
    else {
	  // Puis nous recherchons des espaces dans l'adresse e-mail
	  // '-1' signifie qu'aucun espace n'a ˇtˇ trouvˇ.
	  if(f.elements[champ].value.search(/ /) != '-1')
	  	ok = false;

	  // Pour finir, nous vˇrifions le format. 
	  // Pour cela, nous fractionnons l'adresse en deux.
	  // (avant et apr¸s le caract¸re"@"
	  s = f.elements[champ].value.split(/@/);
	  // Avec un seul caract¸re "@" il ne peut y avoir que deux parties.
	  if((s.length != 2) || s[0] == '' || s[1] == '')
	    ok = false;
	}
	
	if(ok != true) {
	    alert('Une adresse e-mail doit avoir le format "utilisateur@domaine"');
    	return(false);
    }
    return(true); 
}

function TestOneCheckBoxInGroup(prefix,str,autre,groupname)
{
	var arr = str.split(",");
    for (var i in arr)
    {//	alert(prefix+arr[i]);
    	obj = document.forms[0].elements[prefix+arr[i]];
    	if(obj.checked)
    		return(true);
    }
	obj = document.forms[0].elements[autre];
	if(obj.checked)
		return(true);
   
    alert("Information manquante : "+groupname);
    return(false);
}

function valid_text(f, champ)
{//	alert(f.elements[champ].value.length);
	var arr = champ.split("_");
	
    if(f.elements[champ].value.length < 1)
    {	alert('Info manquante : '+arr[1]);
    	return false;
    }
    return true;
}

function getRandomNum() {

    // between 0 - 1
    var rndNum = Math.random()

    // rndNum from 0 - 1000
    rndNum = parseInt(rndNum * 1000);

    // rndNum from 33 - 127
    rndNum = (rndNum % 94) + 33;

    return rndNum;
}

function checkPunc(num) {

    if ((num >=33) && (num <=47)) { return true; }
    if ((num >=58) && (num <=64)) { return true; }
    if ((num >=91) && (num <=96)) { return true; }
    if ((num >=123) && (num <=126)) { return true; }

    return false;
}


function GeneratePassword(edit1) {

    var length = 8;
    var sPassword = "";
    var noPunction = true;


    for (i=0; i < length; i++) {

        numI = getRandomNum();
        if (noPunction) { while (checkPunc(numI)) { numI = getRandomNum(); } }

        sPassword = sPassword + String.fromCharCode(numI);
    }

    edit1.value = sPassword

    return true;
}

function JS_TestCheckBox(iobj,objStr,theProp,theValue) { //v2.0
    var obj = eval(objStr);
    if ( (obj != null) && (theProp.indexOf("style.") != 0 || obj.style != null)) {
      if(iobj.checked) {
         var autre = prompt ( theValue, ' ' );
         eval(objStr+'.'+theProp + '="'+autre+'"');
      }
      else{
         eval(objStr+'.'+theProp + '=""');
      }      	
   }
}

function JS_AddToPoUp(iobj,theValue)
{
	 if(theValue != null) {
		 iobj.options[iobj.selectedIndex].value = theValue;
		 iobj.options[iobj.selectedIndex].text = theValue;
		 iobj.options.length++;
		 iobj.options[iobj.selectedIndex+1] = new Option("Autres","AUTRE");
	 }
}

function JS_TestPopUp(iobj,theValue) { //v2.0
    if(iobj.options[iobj.selectedIndex].value == "AUTRE") {
       var autre = prompt ( theValue, ' ' );
       JS_AddToPoUp(iobj,autre);
    }
}

function calculer(table)
{
	// calcul du champ logiciels :
    var str = '';
	// calcul du champ NiveauConnaiss :

	document.forms[0].elements["queryvalues"].value = '';
	if(table == "offre_")
       tab = new Array("vw","rw","fts","art","pira","c4d","c2D","c3D","cBDD","cIma","cAnim","Mac","Win","phone");
	else
       tab = new Array("vw","rw","fts","art","pira","c4d","c2D","c3D","cBDD","cIma","cAnim","pSaisie","pPlan","pIma","pDeTech","pProj","pExec","pAnim","Mac","Win","phone");

    for (var i in tab)
    {//	alert("candidature_"+tab[i]);
    	obj = document.forms[0].elements[table+tab[i]];
    	if(!obj.checked)
    		document.forms[0].elements["queryvalues"].value += (","+tab[i]+" = 0");
    }
    
    //
    // DATE DE DEBUT
    //
	if(table == "offre_")
	{	obj = document.forms[0].elements[table+"DateDebut"];
		var an = document.forms[0].elements["datedebutan"].value;
		var mois = document.forms[0].elements["datedebutm"].value;
		var jour = document.forms[0].elements["datedebutj"].value;
		if(an < 2000) an = "20"+an;
		obj.value = an + "-" + mois + "-" + jour; 
	}
	
    //
    // DateLimit = today + 2 mois
    //
	var obj = document.forms[0].elements[table+"DateLimite"];
	var da = new Date();
	var month = (da.getMonth() + 2)%12;
	var year = da.getFullYear();
	var day = da.getDate();
	if(month < 2)
		year += 1;
	if(day > 28)
		day = 28;
	month += 1;
	obj.value = year+"-"+month+"-"+day;
	
	//
	// Duree Mission
	//
	if(table == "offre_")
	{	obj = document.forms[0].elements["DureeMission"];
		str = obj.value;
		if(document.forms[0].elements["duree"][0].checked)
			str = str + " jours";
		else
			str = str + " mois";
			
		document.forms[0].elements[table+"DureeMission"].value = str;
	}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}




