function Majuscule (s)
{
reu = /[úûüûùÛÙÚÛÜ]/;
rea = /[áããäåæâàÂÀÁÂÃÄÅÆ]/ ;
ree = /[ÈÉÊËÊèéêëè]/ ;
rei = /[ÌÍÎÏÎîìíîï]/ ;
reo = /[óôõöôÔÒÓÔÕÖ]/ ;
rec = /[çÇ]/ ;
redq = /\"/ ;


var returnString="";
// Remplacement
 var i;
 var texte = s.value;
     
    for (i = 0; i < texte.length; i++)
    {
        var val = texte.charAt(i);
         val = val.replace (reu, "U");
         val = val.replace (rea, "A");
         val = val.replace (ree, "E");
         val = val.replace (rei, "I");
         val = val.replace (reo, "O");
         val = val.replace (rec, "C");
         val = val.replace (redq, "'");
         returnString += val;
    }

s.value = returnString.toUpperCase();
}

function ToucheEnter(choix)
   { 
   if (event.keyCode == 13) 
      { 
      document.form._choix.value=choix;
      } 
   } 


function precedent()
{ window.history.back() ; }

//  Eddy G.  17jun05
function positionner_pays(obj,val)
{
var f=document.forms[0];
var nb;
nb=obj.options.length;
for (var i=0; i < nb; i++)
    {
    if (obj.options[i].value == val)
        {
        //obj.options[i].selected=true;
        obj.selectedIndex=i;
        return true;
        }
    else
        {
        obj.selectedIndex = nb - 1;
        }
    }
}


//  Eddy G.  7jul05
function set_choix(choix,subm)
{
var F=document.form;
F._choix.value=choix;

if (subm == "Y")
   F.submit();

return;
}

// SPIL le 10/08/2005
function set_gencod()
{
var F=document.form1;
if (F._partenaire.value != "***")
   F._gencode.value=F._partenaire.value;
else
   F._gencode.value="";
}

// SPIL le 10/08/2005
function set_marche()
{
var F=document.form;
if (F._marche.value != "***")
   {
   var i = F._marche.value.length;
   while ( F._marche.value.substr(i-1,1) == ' ' )
        {
        if (i == 8)
           break;
        i--;
        }

   i = i - 8;
   

   F._date_appel_offre_D.value=F._marche.value.substr(6,2);
   F._date_appel_offre_M.value=F._marche.value.substr(4,2);
   F._date_appel_offre_Y.value=F._marche.value.substr(0,4);
   F._ref_marche.value=F._marche.value.substr(9,i);
   }
}

//  Eddy G.  19jul05
function traite_ligne(choix , num_ligne, titre)
{
var F=document.form;
F._choix.value=choix;
F._num_ligne.value=num_ligne;
// alert("choix="+choix);
if  (choix == "SUPP")
	{
	if  (!confirm ("Voulez-vous supprimer le titre '"+titre+"' ?"))	{return;}
	}
F.submit();
return;
}

//  Eddy G.  04aou05
function focus_on(obj)
{
   //form.onLoad::focus premier field
   var f=document.form; 
   f.elements[obj].focus();
}

//  SPIL le 16/08/2005
function decl_focus_on(obj)
{
   //form.onLoad::focus premier field
   var f=document.form1; 
   f.elements[obj].focus();
}


//  Eddy G.  04aou05
function move_focus(obj1,obj2,len)
	{
	var f=document.form; 

	// 9 shift+tab ; 16 shift ; 36 - 41 fleches G, D, H, B
	if ( (event.keyCode==9) || (event.keyCode==16)
		|| ( (event.keyCode>36) && (event.keyCode<41) )) 
		{
		return;
		}
	if (obj1.value.length == len)
		{
		//alert("move_focus " + obj1.name);
			obj2.focus();
		}
	}

// Ajout SPIL le 05/09/2005
// Permet d'afficher des info bulles proprement

function infobulle(infobulle,width,height,evt)
   {
   bulle = document.getElementById(infobulle); 
   bulle.style.width=width+"px";   
   bulle.style.height=height+"px"; 
   bulle.style.display="block";
       
   if (evt.pageX)
      {
      courantX=evt.pageX ;
      courantY=evt.pageY;
      }
   else
      {
      courantX=evt.clientX+document.body.scrollLeft;
      courantY=evt.clientY+document.body.scrollTop;
      };
           
   courantX+=10;
   courantY+=10;
   
   /*  placement de l'infobule en fonction de la place dispo*/
   var scrolledx,scrolledy;
   var viewportx, viewporty;
   if (self.pageYOffset) // all except Explorer
      {
      scrolledx = self.pageXOffset;
      scrolledy = self.pageYOffset;
      }
   else
   if  (document.documentElement && document.documentElement.scrollTop)
           // Explorer 6 Strict
      {
      scrolledx = document.documentElement.scrollLeft;
      scrolledy = document.documentElement.scrollTop;
      }
   else
   if (document.body) // all other Explorers
      {
           scrolledx = document.body.scrollLeft;
           scrolledy = document.body.scrollTop;
      } 
   // distance par rapport au bord gauche du viewport
   viewportx = courantX-scrolledx;
   // distance par rapport au haut du viewport
   viewporty = courantY-scrolledy;
   // adaptation de la position par rapport au viewport : calcul de la visibilité de l'infobulle
   // adaptation en hauteur : si il ne reste pas assez de hauteur en dessous pour afficher l'infobulle, on la déplace
   if ( height > (document.body.clientHeight - viewporty))
      {
      courantY = courantY- height -20 ;
      }
   // idem en largueur
   if ( width > (document.body.clientWidth - viewportx))
      {
      courantX = courantX- width -20 ;
      }
   // affectation de la position
   bulle.style.left=courantX+"px";
   bulle.style.top=courantY+"px";
   };


// Permet d'afficher des info bulles proprement pour la liste declaration pendant l'ajout

function infobulle_ajout_declar(infobulle,width,height,evt)
   {
   bulle = document.getElementById(infobulle); 
   bulle.style.width=width+"px";   
   bulle.style.height=height+"px"; 
   bulle.style.display="block";
       
   if (evt.pageX)
      {
      courantX=evt.pageX ;
      courantY=evt.pageY;
      }
   else
      {
      courantX=evt.clientX+document.body.scrollLeft;
      courantY=evt.clientY+document.body.scrollTop;
      };
           
   courantX+=150;
   courantY+=10;
   
   /*  placement de l'infobule en fonction de la place dispo*/
   var scrolledx,scrolledy;
   var viewportx, viewporty;
   if (self.pageYOffset) // all except Explorer
      {
      scrolledx = self.pageXOffset;
      scrolledy = self.pageYOffset;
      }
   else
   if  (document.documentElement && document.documentElement.scrollTop)
           // Explorer 6 Strict
      {
      scrolledx = document.documentElement.scrollLeft;
      scrolledy = document.documentElement.scrollTop;
      }
   else
   if (document.body) // all other Explorers
      {
           scrolledx = document.body.scrollLeft;
           scrolledy = document.body.scrollTop;
      } 
   // distance par rapport au bord gauche du viewport
   viewportx = courantX-scrolledx;
   // distance par rapport au haut du viewport
   viewporty = courantY-scrolledy;
   // adaptation de la position par rapport au viewport : calcul de la visibilité de l'infobulle
   // adaptation en hauteur : si il ne reste pas assez de hauteur en dessous pour afficher l'infobulle, on la déplace
   if ( height > (document.body.clientHeight - viewporty))
      {
      courantY = courantY- height -20 ;
      }
   // idem en largueur
   if ( width > (document.body.clientWidth - viewportx))
      {
      courantX = courantX- width -20 ;
      }
   // affectation de la position
   bulle.style.left=courantX+"px";
   bulle.style.top=courantY+"px";
   };


       
function chassebulle(infobulle)
   {
        if (infobulle!='')
           {
                bulle = document.getElementById(infobulle);
                bulle.style.display="none";   
           };
        };


/**
*	On copie les champs de champ1 à champ2 si tous les champs obligatoires de champ1 sont remplis...
*/
function copierChamps(champ1, champ2){
	if((document.getElementById(champ1+".civilite.Mme").checked ||
		document.getElementById(champ1+".civilite.M").checked) &&
		document.getElementById(champ1+".telephone").value != '' &&
		document.getElementById(champ1+".nom").value != '' &&
		document.getElementById(champ1+".prenom").value != '' &&
		document.getElementById(champ1+".qualite").value != '' &&
		//  et si tous les champs de champ2 sont vides
		!document.getElementById(champ2+".civilite.Mme").checked &&
		!document.getElementById(champ2+".civilite.M").checked &&
		document.getElementById(champ2+".telephone").value == '' &&
		document.getElementById(champ2+".nom").value == '' &&
		document.getElementById(champ2+".fax").value == '' &&
		document.getElementById(champ2+".prenom").value == '' &&
		document.getElementById(champ2+".email").value == '' &&
		document.getElementById(champ2+".qualite").value == ''){
			document.getElementById(champ2+".civilite.Mme").checked = document.getElementById(champ1+".civilite.Mme").checked;
			document.getElementById(champ2+".civilite.M").checked = document.getElementById(champ1+".civilite.M").checked;
			document.getElementById(champ2+".telephone").value = document.getElementById(champ1+".telephone").value;
			document.getElementById(champ2+".nom").value = document.getElementById(champ1+".nom").value;
			document.getElementById(champ2+".fax").value = document.getElementById(champ1+".fax").value;
			document.getElementById(champ2+".prenom").value = document.getElementById(champ1+".prenom").value;
			document.getElementById(champ2+".email").value = document.getElementById(champ1+".email").value;
			document.getElementById(champ2+".qualite").value = document.getElementById(champ1+".qualite").value;
		}
}
/*
function copierChamps(champ1, champ2){
	if( !document.getElementById(champ2+".civilite.Mme").checked &&
		!document.getElementById(champ2+".civilite.M").checked &&
		document.getElementById(champ2+".telephone").value == '' &&
		document.getElementById(champ2+".nom").value == '' &&
		document.getElementById(champ2+".fax").value == '' &&
		document.getElementById(champ2+".prenom").value == '' &&
		document.getElementById(champ2+".email").value == '' &&
		document.getElementById(champ2+".qualite").value == ''){
			document.getElementById(champ2+".civilite.Mme").checked = document.getElementById(champ1+".civilite.Mme").checked;
			document.getElementById(champ2+".civilite.M").checked = document.getElementById(champ1+".civilite.M").checked;
			document.getElementById(champ2+".telephone").value = document.getElementById(champ1+".telephone").value;
			document.getElementById(champ2+".nom").value = document.getElementById(champ1+".nom").value;
			document.getElementById(champ2+".fax").value = document.getElementById(champ1+".fax").value;
			document.getElementById(champ2+".prenom").value = document.getElementById(champ1+".prenom").value;
			document.getElementById(champ2+".email").value = document.getElementById(champ1+".email").value;
			document.getElementById(champ2+".qualite").value = document.getElementById(champ1+".qualite").value;
		}
}*/