/**
 * Paramétrage des différents éléments (couleurs et divers)
 */
  //Couleur de background lorsque l'on oublie un champ obligatoire
  colorForget = "#FDFCC8";
  imageForget = "url('../css/images/pictos/exclam.gif')";
  
  //Couleur de background lorsque l'on inverse l'oublie d'un champ obligatoire
  colorForgetConsume = "#ffffff";
  imageForgetConsume = "";

/**
 * Permet d'ouvrir ou non des élément de la page avec un changement de classe
 **/
  function setZoomSearch(lookFiche, valueObj, titleFiche) {
    if (document.getElementById(""+ lookFiche +"").style.display == 'none') {
      document.getElementById(""+ lookFiche +"").style.display  = "block";
      document.getElementById(""+ titleFiche +"").className = "titreSearchCritOpen";
    } else if (document.getElementById(""+ lookFiche +"").style.display == 'block') {
      document.getElementById(""+ lookFiche +"").style.display  = "none";
      document.getElementById(""+ titleFiche +"").className = "titreSearchCritClose";
    }  }

/**
 * ECRITURE D'UNE DIV
 **/ 
function writeDiv(id,texte) {
  document.getElementById(''+ id +'').style.display  = "block";
  document.getElementById(''+ id +'').innerHTML = texte;
}

/**
 * FERMETURE D'UNE DIV
 **/ 
function closeDiv(id) {
  document.getElementById(''+ id +'').style.display  = "none";
}

/**
 * Verifie que la chaine passée n'est pas une chaine vide
 *
 * @param	string strSaisie	Chaine de caractère
 * @return	boolean				Retourne false si elle est vide, true dans la cas contraire
 */
function isBlank(strSaisie) {
	var iSaisie = 0;
	var strBlank = ""

	if (strSaisie != "") {
		for (i=0; i < strSaisie.length; i++)
			if (strSaisie.charAt(i) != ' ') iSaisie = 1;
		if (iSaisie == 1)
			return false;
	}
	return true;
}

/**
 * VIDAGE DES CHAMPS DE FORM APR7S UTILISATION
 **/ 
function blankInput(fieldConsume) {
  fieldConsume.style.backgroundColor      = colorForgetConsume;
  fieldConsume.style.backgroundImage      = imageForgetConsume;
  return true;
}
/**
 * CHECK DES ERREURS DE FORMULAIRE
 **/ 
function errorCheck(form) {
  var x;
  errors = '0';
  
  for (x in form.elements) {
    //--> Permet de ne pas prendre en compte les propriété DOM
    retourGagnant = inListDom(x);
    //     alert(x); //--> Afficher les propriété "DOM"
    if (retourGagnant == 'no' && typeof(form.elements[x].className) != 'undefined') {
      if (form.elements[x].className.match('mandatoryField')) {
        if( form.elements[x].value == '' ) {
          form.elements[x].style.backgroundColor      = colorForget;
          form.elements[x].style.backgroundImage      = imageForget;
          form.elements[x].style.backgroundRepeat     = "no-repeat";
          form.elements[x].style.backgroundPosition   = "top right";
          errors++;
        }
      } //End - Traitement des erreurs
      
      //--> TRAITEMENT PARTICULIER
      /* Permet de tester l'intégrité du champ mail et de savoir si il y a un doublon possible dans la BDD */
       if (form.elements[x].name == 'rowUser[email]') {
         emailValue = form.elements[x].value;
       resultatVerifMail = verifEmail(emailValue,form);
       switch ( resultatVerifMail ) {
         case '1' :
           writeDiv('email_box','<span class="avertissement">Cette adresse Email existe déjà dans notre base entreprise, merci de changer.</span>');
           errors++;
           break;
         case '2' :
           writeDiv('email_box','<span class="valide">Email valide</span>');
           break;
         case '3' :
           writeDiv('email_box','<span class="avertissement">Cette adresse Email est incorrecte</span>');
           errors++;
           break;
         case '4' :
           writeDiv('email_box','');
           errors++;
           break;
         case '5' :
           writeDiv('email_box','<span class="alert">Cette adresse Email est trop longue</span>');
           errors++;
           break;
       } //End - Switch Email
     } //End - Traitement de l'email
    }
  } //End - For in
  
//   alert(errors);//----> N'AFFICHE RIEN !
  
  //Si il existe des erreurs on n'envois pas le form et averti l'utilisateur
  if (errors > 0) {
    writeDiv('total_error','<div id="alert_error">Certain champs de formulaire à caractère obligatoire ne sont pas renseignés.<br /> Pour information il sont repéré <img src="../css/images/pictos/exclam.gif" alt="" title="" /></div>');
    return false;
  } else {
    form.submit();
  }//End - Errors

}



/**
 * VERIFICATION DE L'EMAIL (VOIR SI DOUBLON)
 **/ 
function verifEmail(email,form) {
  var verificationMail = '';
  if(email != '') {
    if(email.length<2) {
      verificationMail = '4';
//       writeDiv('email_box','<span class="alert">Cette adresse Email est trop courte</span>');
    } else if(email.length>255) {
      verificationMail = '5';
    }  
    else if(texte = file('../ajax/ajax-email.php?q=ajax&email='+escape(email))) {
      verificationMail = texte;
    }
  }
  return verificationMail;
}
/** 
 * LANCEMENT DE LA RQT AJAX
 **/ 
function file(fichier) {
  if(window.XMLHttpRequest) // FIREFOX
    xhr_object = new XMLHttpRequest();
  else if(window.ActiveXObject) // IE
    xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
  else
    return(false);
    xhr_object.open("GET", fichier, false);
    xhr_object.send(null);
    if(xhr_object.readyState == 4) return(xhr_object.responseText);
  else return(false);
}

/**
 *  FONCTION PERMETTANT DE PASSER OUTRE DES PROPRIETE DE DOM
 **/ 

function inListDom(searchItem) {
  strList = "undefined;language;scrollHeight;isTextEdit;currentStyle;document;onmouseup;oncontextmenu;isMultiLine;clientHeight;onrowexit;onbeforepaste;onactivate;scrollLeft;lang;onmousemove;onmove;onselectstart;parentTextEdit;oncontrolselect;canHaveHTML;onkeypress;oncut;onrowenter;onmousedown;onpaste;className;id;onreadystatechange;onbeforedeactivate;hideFocus;dir;isContentEditable;onkeydown;clientWidth;onlosecapture;parentElement;ondrag;ondragstart;oncellchange;recordNumber;onfilterchange;onrowsinserted;ondatasetcomplete;onmousewheel;ondragenter;onblur;onresizeend;onerrorupdate;onbeforecopy;ondblclick;scopeName;onkeyup;onresizestart;onmouseover;onmouseleave;outerText;innerText;onmoveend;tagName;title;offsetWidth;onresize;contentEditable;runtimeStyle;filters;ondrop;onpage;onrowsdelete;tagUrn;offsetLeft;clientTop;style;onfocusout;clientLeft;ondatasetchanged;canHaveChildren;ondeactivate;isDisabled;onpropertychange;ondragover;onhelp;ondragend;onbeforeeditfocus;disabled;onfocus;behaviorUrns;accessKey;onscroll;onbeforeactivate;onbeforecut;readyState;all;sourceIndex;onclick;scrollTop;oncopy;onfocusin;tabIndex;onbeforeupdate;outerHTML;innerHTML;ondataavailable;offsetHeight;onmovestart;onmouseout;scrollWidth;offsetTop;onmouseenter;onlayoutcomplete;offsetParent;onafterupdate;ondragleave;children;parentNode;nodeValue;name;length;onreset;onsubmit;lastChild;elements;attributes;acceptCharset;action;method;nodeType;target;previousSibling;ownerDocument;nodeName;childNodes;nextSibling;firstChild;encoding;autocomplete;length;item;namedItem;1;0;14;8";
  if ( strList.indexOf(searchItem) >= 0 ) {
    return 'yes';
  } else {
    return 'no';
  }
}  
