//Appelée apres la mise a jour d'une liste deroulante de date.
//permet de creer une coherence et une valide des dates
function verif_date(nom) {


        annee = eval('document.forms[0].annee_'+nom+'.options[document.forms[0].annee_'+nom+'.selectedIndex].value');
        mois = eval('document.forms[0].mois_'+nom+'.options[document.forms[0].mois_'+nom+'.selectedIndex].value');
        //les_jours = eval('document.forms[0].jour_'+nom);


        if( (mois == 02) || (mois == 04) || (mois == 06) || (mois == 09) || (mois == 11) ){
                //les_jours.options[31].value = "";
                //les_jours.options[31].text = " --";
        }
        else{
                //les_jours.options[31].value = "31";
                //les_jours.options[31].text = "31";
        }


        if(mois == 02){
                //les_jours.options[30].value = "";
                //les_jours.options[30].text = " --";
        }
        else{
                //les_jours.options[30].value = "30";
                //les_jours.options[30].text = "30";
        }


        if((annee % 4) == 0){
                //les_jours.options[29].value = "29";
                //les_jours.options[29].text = "29";
        }
        else{
                if(mois == 02){
                  //      les_jours.options[29].value = "";
                    //    les_jours.options[29].text = " --";
                }
                else{
                      //  les_jours.options[29].value = "29";
                      //  les_jours.options[29].text = "29";
                }
        }
}

// Transforme les caractères de la chaîne str dont le code ASCII est inconnu
function ReplaceWord(str) {
	str_temp = str;
	var ms = "-" + "	 " + " " + " "  + " " + " " + " " + " "  + " " + " "  + " " + " " + " " + " " + " " + " "  + " " + " " + " " + " " + " "  + " " + " " + " " + " " + " "  + " " + " " + " " + " ";
	var msi = 0;
	var i, c, rs, ts;
	while (msi < ms.length) {
		c = ms.charAt(msi);
		rs = ms.substring(++msi, msi+1);
		msi += 1;
		i = 0;
		while (true) { 
			i = str_temp.indexOf(c, i);
			if (i == -1) break;
			ts = str_temp.substring(0, i);
			str_temp = ts + rs + str_temp.substring(++i, str_temp.length);
		}
	}
	return str_temp;
}

// Encode en HTML les caractères ASCII de la chaîne str dont le code est supérieur à 128
function HTMLEncode(str) {
	str_temp = str;
	for (i=0; i<str_temp.length; i++) {
		ascii = str_temp.charCodeAt(i);
		if (ascii>128) {
			str_temp = str_temp.substring(0, i) + "&#" + ascii + ";" + str_temp.substring(i+1, str_temp.length);
		}
	}
	str_temp = trim(str_temp)
	return ReplaceWord(str_temp);
}

// Fonction de suppression d'espaces en début et fin de chaîne
function trim(s)
{ 
return s.replace(/^\s+/,"").replace(/\s+$/,"");
}

// Encode en HTML tous les champs d'un formulaire en utilisant la fonction HTMLEncode ci-dessus
function FormHTMLEncode(formulaire) {
	for (fhe_i=0; fhe_i<formulaire.elements.length; fhe_i++) {
		if ((formulaire.elements[fhe_i].type=="select-one") || (formulaire.elements[fhe_i].type=="select-multiple")) {
			for (fhe_j=0; fhe_j<formulaire.elements[fhe_i].options.length; fhe_j++) {
				formulaire.elements[fhe_i].options[fhe_j].value = HTMLEncode(formulaire.elements[fhe_i].options[fhe_j].value);
			}
		}
		else {
			if (formulaire.elements[fhe_i].type!="file") {
				formulaire.elements[fhe_i].value = HTMLEncode(formulaire.elements[fhe_i].value);
			}
		}
	}
}

// Permet l'ouverture d'une page dans un popup
function popup (url,h,v,x,y)
{
   propriete="toolbar=1,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width="+ h +",height=" + v + ",top="+x+",left="+y;
   var popup = window.open (url, "Giropharm",propriete);
   if( navigator.appName.substring(0,8) == "Netscape" )
           {popup.location = url;}
}


// Redimensionne les popup à l'ouverture
function new_size(hauteur_supp) {
	var hauteur;
	var largeur;
	var version=navigator.appVersion;
	var haut_ecran=window.screen.height;
	//var larg_ecran=window.screen.width;

	if (version.lastIndexOf('Win') != -1) {
		if (navigator.appName=="Netscape") {
			hauteur=document.height;
			if (haut_ecran>=768)
			{
				if (hauteur>=768) {hauteur=708}
			} else {
				if (hauteur>=600) {hauteur=540}
			}
			largeur=document.width;
			window.setResizable(true);
			window.resizeTo(largeur,hauteur+hauteur_supp+12);
			window.setResizable(true);
		} else {
			hauteur=window.document.body.scrollHeight+29+16;
			if (haut_ecran>=768)
			{
				if (hauteur>=768) {hauteur=738}
			} else {
				if (hauteur>=600) {hauteur=525}
			}
			largeur=window.document.body.scrollWidth+10+20;
			window.resizeTo(largeur,hauteur+hauteur_supp+12);
		}
	} else {
		if (navigator.appName=="Netscape") {
			hauteur=document.height;
			if (haut_ecran>=768)
			{
				if (hauteur>=768) {hauteur=708}
			} else {
				if (hauteur>=600) {hauteur=540}
			}
			largeur=document.width;
			window.setResizable(true);
			window.resizeTo(largeur,hauteur+hauteur_supp+12);
			window.setResizable(true);
		} else {
			hauteur=document.height;
			largeur=document.width;
			window.alert(hauteur + '\n' + largeur);
			window.resizeTo(largeur,hauteur+hauteur_supp+12);
		}
	}
}

function estAnneeBissextile(annee) {
	return ( (annee % 4 == 0) && ((annee % 100 != 0) || (annee % 400 == 0)) );
}

function estDateValide(jour, mois, annee) {
	var nb_jours_fevrier;

	if ( typeof(annee)=="undefined" || estAnneeBissextile(annee) ) {
		nb_jours_fevrier = 29;
	}
	else {
		nb_jours_fevrier = 28;
	}

	return ( (mois==1) || (mois==3) || (mois==5) || (mois==7) || (mois==8) || (mois==10) || (mois==12)
			|| (((mois==4) || (mois==6) || (mois==9) || (mois==11)) && (jour<31))
			|| ((mois==2) && (jour<=nb_jours_fevrier)) );
}