var remiseInit=false;
var alreadySubmitted=false;

function doSubmit (choix) {
	if(alreadySubmitted==false){
		if(choix != 'CSV'){
			alreadySubmitted=true;
		}

		var f=document.forms[0];
		if(choix=="SEARCH"){
			f.newSearch.value="1";
		}
		f.choix.value = choix;
		f.submit();	
	}
}

function doSubmitBoc(choix) {
	if(alreadySubmitted==false){
		alreadySubmitted=true;
		var f=document.forms[0];
	    f.elements["moteur"].value = "boc";
		f.choix.value = choix;
		f.submit();	
	}
}

function doSubmitD (choix, id, iCount, gcd13, sessionId) {
	if(alreadySubmitted==false){		
		if(choix=='SUPP' || choix=='SUPPTEMP'){
			if(!confirm("Voulez-vous vraiment supprimer cette d\351claration ?")){
				return;
			}
		}
		alreadySubmitted=true;
		var f=document.forms[0];
		f.choix.value = choix;
		f.id.value = id;
		if (f.elements["ancre"] != null)
			f.elements["ancre"].value = iCount;
		if (f.elements["_gcd13"] != null)
			f.elements["_gcd13"].value = gcd13;
		if (f.elements["_sessionId"] != null)
			f.elements["_sessionId"].value = sessionId;
		f.submit();	
	}
}

function doSubmitLigne(choix , noLigne, titre, msj)
{
	if(alreadySubmitted==false){
		var f=document.forms[0];
		f.choix.value = choix;
		f.noLigne.value = noLigne;
		if  (choix == "LIG2SUP")
		{
			if  (!confirm (msj+" '" + titre + "' ?"))	{
				return;
			}
			else{
				alreadySubmitted=true;
			}
		}
		f.submit();	
		return;
	}
}

function doSubmitDateFacture (choix, jour, mois, annee) {
	if(alreadySubmitted==false){
		alreadySubmitted=true;
		var f=document.forms[0];
		f.choix.value = choix;
		f.date_facture_D.value = jour;
		f.date_facture_M.value = mois;
		f.date_facture_Y.value = annee;
		f.submit();	
	}
}

// ************************************************************** /
// * submit par 'Ajout' de la liste du catalogue                 */
// * Note. affecter  f.page.value=f.currentPage.value            */
// * pour gerer la pagination                                    */
// ************************************************************** /
function doSubmitAjout (choix, ean13, qte, prixHT, prixTTC, titre, auteur, editeur) {
	if(alreadySubmitted==false){
		alreadySubmitted=true;
		var f=document.forms[0];
		if(f.elements["choix"].value != choix) {
			f.elements["choix"].value = choix;
			f.elements["_ean13"].value = ean13;
			f.elements["_quantite"].value = qte;
			f.elements["_prixHT"].value = prixHT;
			f.elements["_prixTTC"].value = prixTTC;
			f.elements["_titre"].value = titre;
			f.elements["_auteur"].value = auteur;
			f.elements["_editeur"].value = editeur;
			f.elements["moteur"].value = "fel";
			f.elements["page"].value = f.elements["currentPage"].value;
		}
		f.submit();
		return;
	}
}

function doSubmitAjoutBoc (choix, ean13, qte, prix, titre, auteur, editeur) {
	if(alreadySubmitted==false){
		alreadySubmitted=true;
		var f=document.forms[0];
		if(f.elements["choix"].value != choix) {
			f.elements["choix"].value = choix;
			f.elements["_ean13"].value = ean13;
			f.elements["_quantite"].value = qte;
			f.elements["_prixHT"].value = prix;
			f.elements["_titre"].value = titre;
			f.elements["_auteur"].value = auteur;
			f.elements["_editeur"].value = editeur;
			f.elements["page"].value = f.elements["currentPage"].value;
		}
		f.submit();
		return;
	}
}


function setChoix (choix) {
	var f=document.forms[0];
	f.choix.value = choix;
}

/* trim */
function trim(str) { 
	return str.replace(/(^\s*)|(\s*$)/g,''); 
}

/* fonctions utilisees pour les declarations des factures */

function initTotal() {
    var f=document.forms[0]; 
	var total;

	total = f.elements["declaration.totalNetHt"].value.trim(); 
	if (total == "") {
		f.elements["declaration.totalNetHt"].value = "0.00";
	}
	
	total = f.elements["declaration.totalNetTtc"].value.trim(); 
	if (total == "") {
		f.elements["declaration.totalNetTtc"].value = "0.00";
	}
		
	total = f.elements["global.totalPpHt"].value.trim(); 
	if (total == "") {
		f.elements["global.totalPpHt"].value = "0.00";
	}

	total = f.elements["global.totalPpTtc"].value.trim(); 
	if (total == "") {
		f.elements["global.totalPpTtc"].value = "0.00";
	}
}


/* autres */
String.prototype.trim = function() { 
	return this.replace(/^\s+|\s+$/, ''); 
}



function date_limite_facture()
{
	var f=document.forms[0]; 
	if(f.dateFactureY.value < 2004){
		return true;		
	}
	if(f.dateFactureY.value==2004 && f.dateFactureM.value < 08)
		return true;
	else return false;
}

function date_facture_vide()
{
	var f=document.forms[0]; 
	if(f.dateFactureY.value == "" || f.dateFactureM.value == "" || f.dateFactureD.value == "" || f.dateFactureD.value.length<2 || f.dateFactureM.value.length<2 || f.dateFactureY.value.length<4)
		return true;
	else{
	 //alert('date non vide');
	 return false;
	 }
}

function Majuscule (s)
{
reu = /[\331\332\333\334\371\372\373\374]/;
rea = /[\300\301\302\303\304\305\340\341\342\343\344\345]/ ;
reae = /[\306\346]/
ree = /[\310\311\312\313\350\351\352\353]/ ;
rei = /[\314\315\316\317\354\355\356\357]/ ;
reo = /[\322\323\324\325\326\362\363\364\365\366]/ ;
rec = /[\307\347]/ ;
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 (reae, "AE");
         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 normalisationChiffre(champ)
{
	var texte=champ.value;
	//on refuse tout ce qui n'est pas des chiffres
	texte=texte.replace(/[^0-9]/g,"");
	champ.value=texte;
}



function ToucheEnter(cmd,event)
   { 
   if (event.keyCode == 13) 
      { 
      eval(cmd);
      } 
   } 


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(obj)
{
var F=document.forms[0];
if (obj.value != "0")
   F.gencod.value=obj.value;
else
   F.gencod.value="";
}


function set_marche_ref(obj){
	
	var F=document.forms[0];
	if(obj.value!=""){
		if (F.elements["declaration.marchePublic"] != null){
	  		F.elements["declaration.marchePublic"][0].checked=true;
		}
		if (F.elements["marchePublic"] != null){
	  		F.elements["marchePublic"][0].checked=true;
		}
    }
    marchePublicSelect();
}


// SPIL le 10/08/2005
function set_marche()
{
var F=document.forms[0];
if (F.marches.value != "***")
   {
   var i = F.marches.value.length;
   while ( F.marches.value.substr(i-1,1) == ' ' )
        {
        if (i == 8)
           break;
        i--;
        }

   i = i - 8;
   

   F.dateAppelOffreD.value=F.marches.value.substr(6,2).trim();
   F.dateAppelOffreM.value=F.marches.value.substr(4,2).trim();
   F.dateAppelOffreY.value=F.marches.value.substr(0,4).trim();

   //F.refMarche.value=F.marches.value.substr(9,i);
   if (F.elements["refMarche"] != null)
   		F.elements["refMarche"].value=F.marches.value.substr(9,i);

   if (F.elements["declaration.refMarche"] != null)
   		F.elements["declaration.refMarche"].value=F.marches.value.substr(9,i);
   }
   
   if (F.elements["declaration.marchePublic"] != null){
  	 F.elements["declaration.marchePublic"][0].checked=true;
   }
   if (F.elements["marchePublic"] != null){
  	 F.elements["marchePublic"][0].checked=true;
   }
   
   marchePublicSelect();
}

//  Eddy G.  19jul05
function traite_ligne(choix , num_ligne, titre, msj)
{
var F=document.form;
F._choix.value=choix;
F._num_ligne.value=num_ligne;
// alert("choix="+choix);
if  (choix == "SUPP")
	{
	if  (!confirm (msj+" '"+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
// + event pour mozilla
function move_focus(obj1,obj2,len, event)
	{
	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();
		}
	};

//  Eddy G.  26jan06
function next_or_submit(nmobj1,choix,subm, event)
	{
        var f=document.forms[0]; 
        var obj1;
    
        if  (event.keyCode == 13)
            {
            if  (subm == "Y" && alreadySubmitted==false)
                    {
                    alreadySubmitted=true;
                    f.choix.value=choix;
                    f.submit();
                    }
                else
                    {
                    obj1=document.getElementById(nmobj1);
                    obj1.focus();
                    }
            }
        };

// Ajout SPIL le 05/09/2005
// Permet d'afficher des info bulles proprement

function infobulle(infobul,width,height,evt)
   {
   bulle = document.getElementById(infobul); 
   infoBulleDoc =  bulle.contentWindow.document;
   bulle.style.width=width+"px";   
   if(height==-1){
       //bulle.style.height=infoBulleDoc.forms[0].tableSize.value +"px"; 
   }
   else{
       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;

      if  (document.documentElement && document.documentElement.scrollTop){
          courantX=evt.clientX+document.documentElement.scrollLeft;
          courantY=evt.clientY+document.documentElement.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";   
           };
        };

//Cette fonction vide tous les champs d'une saisie manuelle de ligne de d�claration
function emptyManualEntry(){
	document.forms[0].elements["ligne.ean13"].value="";
	document.forms[0].elements["ligne.titre"].value="";
	document.forms[0].elements["ligne.auteur"].value="";
	document.forms[0].elements["ligne.editeur"].value="";
	document.forms[0].elements["ligne.quantite"].value="0";
	document.forms[0].elements["ligne.unitePpTtc"].value="0.00";
	document.forms[0].elements["ligne.unitePpHt"].value="0.00";
	document.forms[0].elements["ligne.flagModif"].value="";
}

/*Fonction qui permet de formatter l'ann�e d'une date avec 4 chiffres si l'utilisateur n'en a mis que 2
on ajoute 20 devant ces 2 chiffres*/
function formatAnnee(champ){
	if(champ.value.length == 2){
		champ.value = '20'+champ.value;
	}
}


/**
*	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;
		}
}

/*
** On d�sactive/r�active les champs en cliquant sur le radio bouton "marche public / hors march� public"
**/

function marchePublicSelect(){

	if(document.getElementById("marchePublicF").checked){		
		document.getElementById("refMarch").readOnly  = false;
		document.getElementById("refMarch").style.backgroundColor = '';		
		
		document.getElementById("noAnnonce").readOnly  = false;
		document.getElementById("noAnnonce").style.backgroundColor = '';		
		
		document.getElementById("dateAppelOffreD").readOnly  = false;
		document.getElementById("dateAppelOffreD").style.backgroundColor = '';
		
		document.getElementById("dateAppelOffreM").readOnly  = false;
		document.getElementById("dateAppelOffreM").style.backgroundColor = '';
		
		document.getElementById("dateAppelOffreY").readOnly  = false;
		document.getElementById("dateAppelOffreY").style.backgroundColor = '';
		
		document.getElementById("marches").disabled  = false;
		document.getElementById("marches").style.backgroundColor = '';
		
	}
	if(document.getElementById("marchePublicA").checked){
		document.getElementById("refMarch").readOnly  = true;
		document.getElementById("refMarch").style.backgroundColor = '#cccccc';
			document.getElementById("refMarch").value = '';
		
		document.getElementById("noAnnonce").readOnly  = true;
		document.getElementById("noAnnonce").style.backgroundColor = '#cccccc';
		document.getElementById("noAnnonce").value = '';		
		
		document.getElementById("dateAppelOffreD").readOnly  = true;
		document.getElementById("dateAppelOffreD").style.backgroundColor = '#cccccc';
		document.getElementById("dateAppelOffreD").value = '';
		
		document.getElementById("dateAppelOffreM").readOnly  = true;
		document.getElementById("dateAppelOffreM").style.backgroundColor = '#cccccc';
		document.getElementById("dateAppelOffreM").value = '';
		
		document.getElementById("dateAppelOffreY").readOnly  = true;
		document.getElementById("dateAppelOffreY").style.backgroundColor = '#cccccc';
		document.getElementById("dateAppelOffreY").value = '';
		
		document.getElementById("marches").disabled  = true;
		document.getElementById("marches").style.backgroundColor = '#cccccc';
		document.getElementById("marches").value = '***';
	}
}

