/*
'***************************************************************
'Bibliotheque javascript du site web optibus
'Creee le 20070601 par GDA
'Revisee le : par : 
'===============================================> Version x.x.x
'Liste des fonctions implementees :
'     - fn_stoprobot(debut, sep, ext) 
'     - fn_validForm(frm)
'***************************************************************
*/

/*fn_stoprobot****************************************************
| description : empeche les robots de recuperer l adresse mail
|----------------------------------------------------------------------------
| Algorithme :
|----------------------------------------------------------------------------
| Creation : 20070106
| Auteur   : gda
| Revision : 
| Auteur   : 
|----------------------------------------------------------------------------
| Parametres : E  debut : debut de l adresse mail
|                 sep : @
|                 ext : fin de l adresse email (nom de domaine)                                            
|              S 
| Retour :  Retourne l adresse mail correctement formater avec ouverture du client mail
****************************************************************************/ 
function fn_stoprobot(debut, sep, ext)
{
  //Formate corrextement l adresse mail
  debut = debut + sep + ext
  //Ouverture du client de messagerie
	document.location.href = "mailto:" + debut
} 

/*fn_validForm****************************************************
| description : Valide le formulaire avant de l envoyer
|----------------------------------------------------------------------------
| Algorithme :
|----------------------------------------------------------------------------
| Creation : 20070106
| Auteur   : gda
| Revision : 
| Auteur   : 
|----------------------------------------------------------------------------
| Parametres : E  frm : objet formualaire
|              S 
| Retour : Affichage d un message a l utilisateur
****************************************************************************/ 
function fn_validForm(frm)
{
  //Message a afficher si tous les champs ne sont pas remplis
  var message = "Tous les champs précédés d'un astérix (*) doivent-être renseignés !";
  
  //Verifie si tous les champs obligatoires sont renseignes
  if(verif_form(frm, "*", ""))
  {
    //Soumission du formulaire
    frm.submit();
    //Affichage d un message a l utilisateur lui indiquant que son formulaire a ete transmis
	  alert('Votre demande d\'informations a été prise en compte ! Merci de votre intérêt pour OPTIBUS.');
  }
  else
  {
    //Affichage du message d erreur
    alert(message);
  }

}


function verif_form(formulaire, test_text, test_class) 
{
	vide = 0;
	for ( var i=0; i<formulaire.getElementsByTagName("label").length; i++ ) 
	{
		element_label = formulaire.getElementsByTagName("label")[i];
		txt_label = element_label.firstChild.nodeValue;
		class_label = element_label.className;
		if ( (test_text != "" && txt_label.indexOf(test_text) != -1) || (test_class != "" && class_label == test_class) ) 
		{
			if ( element_label.getAttribute("htmlFor") || element_label.getAttribute("for") ) 
			{
				if ( document.all ) id_champs = element_label.getAttribute("htmlFor");
				else id_champs = element_label.getAttribute("for");
				champs = document.getElementById(id_champs);
				if ( champs.tagName == "INPUT" && champs.getAttribute("type") == "text" ) 
				{
					if ( champs.value == "" ) vide ++;
				}
				else if ( champs.tagName == "TEXTAREA" && champs.value == "" ) vide ++;
			}
			else {
			if ( element_label.getElementsByTagName("input")[0] ) 
			{
				input_label = element_label.getElementsByTagName("input")[0];
				if ( input_label.getAttribute("type") == "text" && input_label.value == "" ) vide ++;
			}
			else if ( element_label.getElementsByTagName("textarea")[0] && element_label.getElementsByTagName("textarea")[0].value == "" ) vide ++;
			}
		}
	}
	for (var j=0; j<formulaire.getElementsByTagName("select").length; j++ ) 
	{
		liste = formulaire.getElementsByTagName("select")[j];
		for ( var k=0; k<liste.options.length; k++) 
		{
			if ( liste.options[k].selected == true && liste.options[k].value == "" ) vide ++;
		}
	}
	if ( vide != 0 ) 
	{
		return false;
	}
	else 
	{
		return true;
	}
}
