<!--
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) { //v3.0
    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); 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];}
}

//pour les menus de reroutage
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

//openwindow simple : sans scroll sans menu
function openwindow(newURL, newWidth, newHeight)
{
    //declaration des variables du coin de la nouvelle fenetre
    var calcLeft = 100;
    var calcTop = 100;

    if (parseInt(navigator.appVersion) >= 4){
        calcTop = screen.availHeight / 2 - newHeight /2;
        calcLeft = screen.availWidth /2 - newWidth / 2;}

    remoteWindow = window.open(newURL, 'remote', 'status=no,toolbar=no,menubar=no,location=no,scrollbars=no,width=' + newWidth + ',height=' + newHeight + ',left=' + calcLeft + ',top=' + calcTop + ',resizable=no');

}

//openwindow simple : avec scroll et menu
function openwindow2(newURL, newWidth, newHeight)
{
    //declaration des variables du coin de la nouvelle fenetre
    var calcLeft = 100;
    var calcTop = 100;

    if (parseInt(navigator.appVersion) >= 4){
        calcTop = screen.availHeight / 2 - newHeight /2;
        calcLeft = screen.availWidth /2 - newWidth / 2;}

    remoteWindow = window.open(newURL, 'remote', 'status=no,toolbar=no,menubar=yes,location=no,scrollbars=yes,width=' + newWidth + ',height=' + newHeight + ',left=' + calcLeft + ',top=' + calcTop + ',resizable=no');

}

//openwindow simple : avec scroll sans menu
function openwindow3(newURL, newWidth, newHeight)
{
    //declaration des variables du coin de la nouvelle fenetre
    var calcLeft = 100;
    var calcTop = 100;

    if (parseInt(navigator.appVersion) >= 4){
        calcTop = screen.availHeight / 2 - newHeight /2;
        calcLeft = screen.availWidth /2 - newWidth / 2;}

    remoteWindow = window.open(newURL, 'remote', 'status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,width=' + newWidth + ',height=' + newHeight + ',left=' + calcLeft + ',top=' + calcTop + ',resizable=no');

}

//openwindow spe : avec scroll resizable et nom
function openwindowspe(newURL, name, newWidth, newHeight)
{
    //declaration des variables du coin de la nouvelle fenetre
    var calcLeft = 100;
    var calcTop = 100;

    if (parseInt(navigator.appVersion) >= 4){
        calcTop = screen.availHeight / 2 - newHeight /2;
        calcLeft = screen.availWidth /2 - newWidth / 2;}

    remoteWindow = window.open(newURL, name, 'status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,width=' + newWidth + ',height=' + newHeight + ',left=' + calcLeft + ',top=' + calcTop + ',resizable=yes');

}

//openwindow pour chat
function openwindowresizable(newURL, newWidth, newHeight)
{
    //declaration des variables du coin de la nouvelle fenetre
    var calcLeft = 100;
    var calcTop = 100;

    if (parseInt(navigator.appVersion) >= 4){
        calcTop = screen.availHeight / 2 - newHeight /2;
        calcLeft = screen.availWidth /2 - newWidth / 2;}

    remoteWindow = window.open(newURL, '', 'status=no,toolbar=no,menubar=no,titlebar=no,hotkeys=no,location=no,scrollbars=yes,width=' + newWidth + ',height=' + newHeight + ',left=' + calcLeft + ',top=' + calcTop + ',resizable=yes');

}

//ferrme la fenetre popup et rafraichie l'opener avec une nouvelle url
function fermer(url)
{
window.close();
opener.location=url;
opener.focus();
}

//utiliser dans la consultation du module PDF
//fonction pour verifier si au moin une case a été cochées
//exemple verif_caseacocher(document.form,'categorie[]','mon message')
function verif_caseacocher(myform,champ,message)
        {
    nbdocs=myform.elements[champ].length;
    if (nbdocs>0) {
        for (j=0; j<nbdocs; j++) {
            if (myform.elements[champ][j].checked)
                return true;
        }
    }
    else {
        if (myform.elements[champ].checked==1) {
            return true;
        }
    }
	alert(message);
    return false;
}

//fonction pour verifier si il y a bien eu une selection de faite par l'utilisateur dans un combo et renvoi un message personnalisable
//utiliser dans le calendrier pour la suppression des categories
function verif_combo(element,message)
{
if (element.options[element.selectedIndex].value == "0")
        {
                alert(message);
				element.focus();
                return false;
        }
else
        {
                return true;
        }
}

function is_not_null(tab){
    /****************************
     * Prend un tableau ou un élément en paramètre.
     * retourne false et se focalise sur le champ qui est vide
     * retour true si tous les champs sont non vide.
     ****************************/
    if (tab.length>0) {
        var i=-1;
        while(tab[++i]) {
            if (is_null(tab[i])) {
                alert('Veuillez saisir le champ suivant !');
                tab[i].focus();
                return false;
            }
        }
        return true;
    }
    else {
        if (is_null(tab)) {
            alert('Veuillez saisir le champ suivant !');
            objet.focus();
            return false;
        }
    }
}

function is_null(objet) {
    /**********************
     *  Retourne false si l'objet (objet=text|textarea|radio|checkbox) n'est pas nul. True sinon.
     *  Fonction à améliorer ultérieurement pour prendre en compte d'autres objets.
     **********************/
    switch (objet.type) {
    case 'text':
	case 'password':
    case 'textarea':
        var vide=new RegExp("^ *$");
        if (vide.test(objet.value)) {
            return true;
        }
        return false;
        break;
    case 'radio':
    case 'checkbox':
        if (objet.checked) return false;
        else return true;
        break;
	case 'file':		
        if (objet.value=="" && objet.value!="none") return true;
        else return false;
		break;
        default: alert (objet.type);
        return true;
    }
}

//fonction qui verifie si la valeur de l'element passé en parametre est un email valide
function verif_email(email,isnull)
	{
   var espaces="[ \\\f\\\n\\\r\\\t\\\v]*";
   var reg_null=new RegExp("^"+espaces+"$");
   if (isnull&&reg_null.test(email.value))
	{
      email.value="";
      return true;
   }
   var limited_text=new RegExp("^"+espaces+".+@(.+\\\.)+[a-z]{2,4}"+espaces+"$");
   if (!limited_text.test(email.value)) {
      email.focus();
      alert("Veuillez vérifier l'adresse que vous avez saisie.\nLe bon format pour une adresse e-mail est :\n\tnom@fournisseur.dom");
      return false;
   }
   return true;
}

/////////////////////////////////
//fait par samy a verifier
//fonction qui verifie si la valeur de l'element passé en parametre est un code postal français
////////////////////////////////
function verif_codepostal(element,isnull)
{
//si pas rempli et si doit remplir
if (!isnull&&element.value.length==0)
{
	alert("Veuillez saisir un code postal !");
	element.focus();
	return false;
}
else
{
	var reg=new RegExp("^[0-9]*$");
//si rempli
if(element.value.length!=0)
	{	//si comprend 5 nombres
		if (reg.test(element.value)&&element.value.length==5)
		{
		return true;
		}
		else
		{
		alert("Veuillez saisir un code postal valide !");
		element.focus();
		return false;
		}
	}
else
	{
	return true;
	}

}


}

//fonction qui verifie si la valeur de l'element passé en parametre est un numero de telephone français
function verif_tel(tel,isnull) {
   var espaces=" *";
   var separateur="("+espaces+"\\\.?|\\\/?|-?|_?"+espaces+")";
   var num_tel="0[0-9]((("+separateur+"[0-9]{2}){4})|"
                             +"("+separateur+"[0-9]{2}("+separateur+"[0-9]{3}){2})"
                             +")";
   var reg=new RegExp("^"+espaces+num_tel+espaces+"$");
   var reg_null=new RegExp("^"+espaces+"$");
   if (reg_null.test(tel.value)) {
      tel.value="";
      if (isnull) return 1;
      else {
         alert("Veuillez saisir le numéro de téléphone");
         return false;
      }
   }
   if (!reg.test(tel.value)) {
      tel.focus();
      alert("Veuillez vérifier le numéro que vous avez saisi.\nLe bon format est du type :\n   04 98 76 54 32");
      return false;
   }
   return true;
}

// retourne vrai si au moins une case est cochée dans le formulaire
function is_checked2(myform) {
    nbdocs=myform.elements.length;
    if (nbdocs>0) {
        for (j=0; j<nbdocs; j++) {
            if (myform.elements[j].checked)
                return true;
        }
    }
   
    return false;
}  

// Fonction permettant de verifier si la longueur lmin minimale est respectée
function verif_length(obj, lmin, typobj) {
	if (obj.value.length<lmin) {
		alert('Votre '+typobj+' doit contenir au moins '+lmin+' caractères');
		obj.focus();
		return false;
	}
	return true;
}

// fonction permettant de vérifier si un champ nomchp est renseigné
function champok(chp,nomchp) { 
   if (chp.value=="") 
     { alert("Veuillez saisir le champ "+nomchp+" !");
	   chp.focus();
	return false;
	 }
	 return true;
}
//-->