// fonctions javascript diverses
//     (se réferer aux commentaires)
////////////////////////////////////////////


function editionOrder()
{
   options = "Width=700,Height=700";
   window.open( "saveOrder.php", "edition", options );
}

function testFormatDate( strDate1 )
//renvoie vrai si la chaine est au format date suivant: aaaa-mm-jj
{
	//var reg=new RegExp("^[0-9]{2}[/]{1}[0-9]{2}[/]{1}[0-9]{4}$","g"); //Test pr format jj/mm/aaaa
	var reg=new RegExp("^[0-9]{4}[-]{1}[0-9]{2}[-]{1}[0-9]{2}$","g");	//Test pr format aaaa-mm-jj
	var chaine1= strDate1;	//"15/12/2003";
	//var chaine2= strDate2;	//"1a/bb/2003";
	//document.write(chaine1+" ");
	if (reg.test(chaine1)) { return true }
	else { return false }
	//document.write(chaine2+" ");
	//if (reg.test(chaine2)) {document.write("est bien au format date")}
	//else {document.write("n'est pas au format date")}
}

// - Ouvre une PoPup qui affiche la commande
function affichCmd() {
   msgWindow=window.open('affichCmd.htm' ,'JavaScriptIt','toolbar= 0, left=150,top=150, location= no,directories= 0,status= 0,menubar= 0,scrollbars= 0,resizable= 0,copyhistory= 0,width=596,height=836');
}


//change le fond du champ texte dont le nom est passé en param 
//et appartenant aux formulaire dont le nom est passé en param
// NE FOCNTIONNE QUE POUR LES FORMULAIRE AVEC 2 CHAMPS TEXTES
function bgChangeVert( nameForm, nameItem ){
      var nbChamp = 2;
      for (var i=0; i<2; i++)
         nameForm.item(i).style.backgroundColor = "#FFFFFF";
      nameItem.style.backgroundColor = "#F8E6B6";
}


//change le fond du champ texte dont le nom est passé en param 
//et appartenant aux formulaire dont le nom est passé en param
// NE FOCNTIONNE QUE POUR LES FORMULAIRE AVEC 2 CHAMPS TEXTES
function bgChangeBleu( nameForm, nameItem ){
      var nbChamp = 2;
      for (var i=0; i<2; i++)
         nameForm.item(i).style.backgroundColor = "#FFFFFF";
      nameItem.style.backgroundColor = "#F8FBFE";
}


//change le fond du champ texte (blanc) dont le nom est passé en param
function bgDefaut(nameItem){
   nameItem.style.backgroundColor = "#FFFFFF";
}


//place le focus sur l'item de saisie du pseudo et selctionne son contenu
function setFocus1()
{
	document.connecForm.loginId.focus();
	document.connecForm.loginId.select();
}



/*
Add-to-favorites Script
Created by David Gardner (toolmandav@geocities.com)
No warranty of any kind comes with this script!
Permission granted to Dynamic Drive (http://dynamicdrive.com) 
to post and feature this script on their DHTML archive
*/
function addbookmark(){
	var bookmarkurl="http://ea.net/IQ20v2/index.php"
	var bookmarktitle="Application Intranet IQ20v2"
	
	if (document.all)
	window.external.AddFavorite(bookmarkurl,bookmarktitle)
}


// SCRIPT Redirection 
//redirection de la page vers une autre adresse
function redirection(lien)
{
        document.location.replace(lien);
}



// fonction ajout dans favoris 
function favoris() {
   window.external.addfavorite('http://ea.net/trpaiesage/interface.php','La page de tranformation de fichier de Paie Sage');
   return false;
}



// - popup : fenetre d'affichage de la def. des specs
function infoColumns() {
   msgWindow=window.open('infoColumns.htm' ,'JavaScriptIt','toolbar= 0,location= 0,directories= 0,status= 0,menubar= 0,scrollbars= 1,resizable= 1,copyhistory= 0,width=600,height=400,left=200,top=200');
}



////////////////////////////////////////////////////////////////////////

// controle de validité des champ de saisie --
// -------------------------------------------
function validFormDocCreate(formulaire) {
     //alert("passage OK");
	 if (formulaire.formName.value=="") { alert("The Name is mandatory."); return false; }
	 if (formulaire.formPosition.value=="") { alert("The Position is mandatory."); return false; }
	 if (isNaN(formulaire.formPosition.value)) { alert("The Position must be an integer"); return false; }
	 if ( testFormatDate( formulaire.formDate.value )==false ) { alert("The Date must be in format yyyy-mm-dd."); return false; }
	 return true;
}

/*
function validFormSupCreate(formulaire) {
     //alert("passage OK");
	 if (formulaire.formCompany.value=="") { alert("The Company field is mandatory."); return false; }
	 //if (formulaire.formDataSupplierCode.value=="") { alert("The Data supplier code field is mandatory."); return false; }
	 if (formulaire.formTel.value=="") { alert("The tel field is mandatory."); return false; }
	 return true;
}
*/
/*
function validFormEqupCreate(formulaire) {
     if (formulaire.formRespPn.value=="") { alert("The Resp PN field is mandatory."); return false; }
	 if (formulaire.formPn.value=="") { alert("The Cus Cus PN is mandatory."); return false; } 
	 if (formulaire.formDescription.value=="") { alert("The Description field is mandatory."); return false; }
	 if (formulaire.formLocationCode.value=="") { alert("The Location Code field is mandatory."); return false; } 
	 if (formulaire.formAvailableStkQty.value=="") { alert("The Available Stock Qty field is mandatory."); return false; } 
	 if (formulaire.formAvailableStkQty.value=="0") { alert("The Available Stock Qty can not be zero."); return false; } 
	 if (formulaire.formUnitPriceAmount.value=="") { alert("The Unit Price Amount field is mandatory."); return false; }
	 if (formulaire.formUnitPriceAmount.value=="0") { alert("The Unit Price Amount can not be zero."); return false; }
	 if (formulaire.formInternCurrencyCode.value=="") { alert("The Intern Currency Code field is mandatory."); return false; } 
	 if (formulaire.formUnitMesure.value=="") { alert("The Unit Mesure field is mandatory."); return false; }
	 if (formulaire.formLeadTime.value=="") { alert("The Lead Time field is mandatory."); return false; } 
	 if (formulaire.formLeadTime.value=="0") { alert("The Lead Time can not be zero."); return false; } 
	 if (formulaire.formStdPackQty.value=="") { alert("The Std Pack Qty field is mandatory."); return false; } 
	 if (formulaire.formStdPackQty.value=="0") { alert("The Std Pack Qty field can not be zero."); return false; } 
	 if (formulaire.formStdPackQty.value>formulaire.formAvailableStkQty.value) { alert("The Std Pack Qty must be inferior that Available Stock Qty."); return false; } 
	 return true;
}
*/
/*
function validFormCreateCus(formulaire) {
     if (formulaire.formCompany.value=="") { alert("The Company field is mandatory."); return false; }
	 if (formulaire.formName.value=="") { alert("The Name field is mandatory."); return false; } 
	 if (formulaire.formFirstName.value=="") { alert("The Fisrt name field is mandatory."); return false; }
	 if (formulaire.formTel.value=="") { alert("The Tel field is mandatory."); return false; } 
	 if (formulaire.formFax.value=="") { alert("The fax field is mandatory."); return false; } 
	 return true;
}
*/
function validFormLogon(formulaire) {
     if (formulaire.formLogin.value=="") { alert("The Login field is mandatory."); return false; }
	 if (formulaire.formPwd.value=="") { alert("The Pasword field is mandatory."); return false; } 
	 //formulaire.formPwd.focus(); ==> il serait interresant de positionner le code precedent juste avant le alert
	 // mais à cause d'un bug firefox et de la desactivation par defaut de cette fonction javascript toujours sous firefox
	 // il est preferable de ne pas utiliser cette fonction
	 return true;
}
/*
function validFormConfirmOrder(formulaire) {
	 if (formulaire.formSupplierOrderRef.value=="") { alert("The field PO Reference is mandatory. Please write your Purchase Order Reference."); return false; } 
     if (formulaire.formLivCompany.value=="") { alert("The field -1- of Delivery Address is mandatory. Please write your company name."); return false; }
	 if (formulaire.formLivName.value=="") { alert("The field -2- of Delivery Address is mandatory. Please write your name."); return false; } 
	 if (formulaire.formLivFirstName.value=="") { alert("The field -3- of Delivery Address is mandatory. Please write your first name."); return false; }
	 if ( !verifMail(formulaire.formLivMail.value) ) { return false; };
	 return true;
}
*/
function validFormContact(formulaire) {
	//alert("taille" + formulaire.formPassword.value.length);
     if (formulaire.formLogin.value=="") { alert("The Login field is mandatory."); return false; }
	 if (formulaire.formPassword.value=="") { alert("The Password field is mandatory."); return false; } 
 	 if (formulaire.formPassword.value.length<8) { alert("The Password field must contain 8 characters (minimum)"); return false; } 
	 if (formulaire.formConfPassword.value=="") { alert("The Confirmation Pasword field is mandatory."); return false; } 
	 if (formulaire.formName.value=="") { alert("The Name field is mandatory."); return false; } 
	 if (formulaire.formFirstName.value=="") { alert("The First Name field is mandatory."); return false; }
	 if (formulaire.formCompany.value=="") { alert("The Company field is mandatory."); return false; }
	 if (formulaire.formConfPassword.value!=formulaire.formPassword.value) { alert("The value of Confirmation Password is not exactly the same that the value of Password field."); return false; } 
	 if (formulaire.formIdCustomer.value=="" && formulaire.formIdSupplier.value=="") { alert("You must select a customer company or supplier company."); return false; } 
	 if (formulaire.formIdCustomer.value!="" && formulaire.formIdSupplier.value!="") { alert("You must select only a customer company or only supplier company."); return false; } 
	 return true;
}

function verifMail(a)
{
	// On ouvre la fonction en lui envoyant la contenu du champ
	testm = false ;
	/*	la on spécifie que l'adresse est false (fausse) dès le début. Cela permet de pouvoir dire que si rien n'est entré dans le champ l'adresse est fausse. */
	
	 for (var j=1 ; j<(a.length) ; j++) {
	 //	Ici, ouverture d'une boucle for à 1 qui permettra de tester du premier jusqu'au dernier caractère de l'adresse e-mail entrée.
	  	if (a.charAt(j)=='@') {
		// La on commence les conditions de tests. Ici on cherche l'@
		   if (j<(a.length-4)){
			// Ici on regarde si il y a bien 4 caractère après le @
				for (var k=j ; k<(a.length-2) ; k++) {
				// On ouvre une seconde boucle pour
					 if (a.charAt(k)=='.') 
					 //on vérifie qu'il y ai bien un point et on met la variable testm à true (implicitement si toutes les conditions sont remplies) puis on ferme les conditions et boucles
						testm = true;
				}
			}
		 }
	 }
	
	if (testm==false) alert('The field -10- of Delivery Address is mandatory. Please write a correct mail address and verify that there are an @ and a dot.');
	// si testm est évalué à false, on ouvre une boite d'alerte pour prévenir.
	
	return testm ;
}

/*
function verifCheckBox(formulaire) {
	alert( formulaire.champ1.value );
	if ( 
	     formulaire.champ1.value=="" && formulaire.champ2.value=="" &&
	     formulaire.champ3.value=="" && formulaire.champ4.value=="" &&
	     formulaire.champ5.value=="" && formulaire.champ6.value=="" &&
	     formulaire.champ7.value=="" && formulaire.champ8.value=="" &&
	     formulaire.champ9.value=="" && formulaire.champ10.value=="" &&
	     formulaire.champ11.value=="" && formulaire.champ12.value=="" &&
	     formulaire.champ13.value=="" && formulaire.champ14.value=="" &&
	     formulaire.champ15.value=="" && formulaire.champ16.value=="" &&
	     formulaire.champ17.value=="" && formulaire.champ18.value=="" &&
	     formulaire.champ19.value=="" && formulaire.champ20.value=="" &&   
	     formulaire.champ21.value==""
	   ) 
	   { formulaire.champ1.focus();alert("Cocher au minimum un champ "); return false; }
	
}
*/
////////////////////////////////////////////////////////////////////////

// GESTION AFFICHAGE BULLES D'AIDE
////////////////////////////////////////////////////////////////////////
function GetId(id)
{
	return document.getElementById(id);
}

var i=false; // La variable i nous dit si la bulle est visible ou non

function move(e) {

  if(i) 
  {  // Si la bulle est visible, on calcul en temps reel sa position ideale
    if (navigator.appName!="Microsoft Internet Explorer")
	{ // Si on est pas sous IE
    	GetId("curseur").style.left=e.pageX + 5+"px";
    	GetId("curseur").style.top=e.pageY + 10+"px";
	}
    else 
	{ // Modif proposé par TeDeum, merci à  lui
	    if(document.documentElement.clientWidth>0)
		{
			GetId("curseur").style.left=20+event.x+document.documentElement.scrollLeft+"px";
			GetId("curseur").style.top=10+event.y+document.documentElement.scrollTop+"px";
	    } 
		else 
		{
			GetId("curseur").style.left=20+event.x+document.body.scrollLeft+"px";
			GetId("curseur").style.top=10+event.y+document.body.scrollTop+"px";
         }
    }
  }
}

function montre(text) {

  if(i==false)
  {
	  GetId("curseur").style.visibility="visible"; // Si il est cacher (la verif n'est qu'une securité) on le rend visible.
	  GetId("curseur").innerHTML = text; // on copie notre texte dans l'élément html
	  i=true;
  }
}

function cache() {

	if(i==true)
	{
		GetId("curseur").style.visibility="hidden"; // Si la bulle est visible on la cache
		i=false;
	}
}

document.onmousemove=move; // dès que la souris bouge, on appelle la fonction move pour mettre à jour la position de la bulle.

////////////////////////////////////////////////////////////////////////
