var excolorfond = "";
var excolortext = "";
var mail = "" ;
var confirmail = "" ;
var cp = "" ;
var telephone = "" ;
var message = "" ;
var focus = false ;
//déclaration des variables pour les input radio
var radio = new Array();
radio['reappro'] = false ;
radio['therape'] = false ;
radio['inhale'] = false ;
radio['recinfo'] = false ;
radio['detendeur'] = false ;
window.onerror = traitementerreur;

function traitementerreur(txtmessage,txterreur,noligne)
{ //Gestion erreur personalisée
  if(!test){test=0;}
  if(test){
    alert("Erreur Javascript la ligne : "+noligne+"\n"+txtmessage+"\n"+txterreur) ;
  }
  return true;
}
function changevisi(toto,idelement)
{ //Appel changevisi(this,id element à modifier)
  var d = document.getElementById(idelement) ;
  if(d){
    if(toto.checked && toto.value == 'oui' ) {
      d.style.display = 'block' ;
    } else {
      d.style.display = 'none' ;
    }
  }
}
function changevisibilite(toto,idelement,numero)
{ //Appel changevisi(this,id element à modifier,numero qui doit afficher element)
  var d = document.getElementById(idelement) ;
  if(d){
    if(toto.value == numero ) {
      d.style.display = 'block' ;
    } else {
      d.style.display = 'none' ;
    }
  }
}
function afficheblock(id)
{  //Affiche ID
  var d = document.getElementById(id) ;
  if(d) {
    d.style.display = "block" ;
  }
}
function effaceblock(id)
{  //efface id
  var d = document.getElementById(id) ;
  if(d) {
    d.style.display = "none" ;
  }
}
function ajoutcompo()
{  //Ajoute un composant
  var selecteur = document.getElementsByName('additio')[0];
  var d = selecteur.options[selecteur.selectedIndex].value ;
  if(d<8){
    selecteur.selectedIndex = d ;
    ajoudescompo();
  }
}
function supcompo()
{  //supprime un composant
  var selecteur = document.getElementsByName('additio')[0];
  var d = selecteur.options[selecteur.selectedIndex].value ;
  d-=2 ;
  if(d>=0){
    selecteur.selectedIndex = d ;
    ajoudescompo();
  }
}
function ajoudescompo()
{// Appel : ajoudescompo() 
  var selecteur = document.getElementsByName('additio')[0];
  var d = selecteur.options[selecteur.selectedIndex].value ; //
  /*for(i in selecteur){
    alert(i+' : '+selecteur[i]) ;
  }*/
  
  for(var i = 1;i<=d;i++){
    var k = document.getElementById('constituant'+i+'_1') ;
    if (k){
      k.style.display = 'block';
    }
  }
  d++ ;
  for(var i = d;i<=8;i++){
    var k = document.getElementById('constituant'+i+'_1') ;
    if (k){
      k.style.display = 'none';
    }
  }
}
function remplichamp(toto,id)
{//appel remplichamp(this,id) id nom du champs à remplir
  var text = toto.options[toto.selectedIndex].text ;
  var champ = document.getElementsByName(id)[0];
  if(champ){
    champ.value = text ;
  }
}
/**************************************************/
/*validation formulaire                           */
/**************************************************/
function valide_form(toto,niveau)
{ //Appel : valide_form(this.form,niveau de navigation) : $_SESSION['niveau']
  var erreur = false ;
  focus = false ;
  message = "" ;
  var entree = document.forms['form'] ;
  for(var i = 0 ; i < entree.length; i++){
    var name = entree[i].name ;
    var type = entree[i].type ;
    if(name!=''){
      switch(type) {  //traitement par type de champs du formulaire
      case 'radio':
        if(entree[i].checked){radio[name] = true;}
        break;
/**************************************************/
      case 'text':
        var atraiter = true ;
        if(name=='bouteilleautre' || name=='constituant1' || name=='constituant2' || name=='constituant3' || name=='constituant4' || name=='constituant5' || name=='constituant6' || name=='constituant7' || name=='constituant8' || name == 'balanceautre' || name=='concentration1' || name=='concentration2' || name=='concentration3' || name=='concentration4' || name=='concentration5' || name=='concentration6' || name=='concentration7' || name=='concentration8') {
          var d = document.getElementById(name+'_1') ;
          if(d){
            if(d.style.display == '' || d.style.display == 'none' ){
              atraiter = false ;
            }
          } else {
            var lon = name.length - 1 ;
            var vraisnom = name.substring(0,lon) ;
            //alert(vraisnom);
            if(vraisnom =='concentration'){
              var fin = lon + 1;
              var indice = name.substring(lon,fin) ;
              var d = document.getElementById('constituant'+indice+'_1') ;
              if(d){
                if(d.style.display == '' || d.style.display == 'none' ){
                  atraiter = false ;
                  //alert('constituant'+indice+'_1 style ='+d.style.display) ;
                } else {
                  
                }
              } else {
                //alert('constituant'+indice+'_1 inconnu') ;
              }
            } else {
              atraiter = false ;
            }
          } 
        } else {
          //Traitement des champs non obligatoire
          if(name=='prenom' || name=='service' || name=='ville' || name=='codclient' || name=='autreetablissement' || name=='fax' ) {
            atraiter = false ;
          }
          if(name=='mail' || name=='confirmail'){
            if(name=='mail') {
              mail = entree[i].value ; 
            } else {
              confirmail = entree[i].value ;
            }
          }
          if(name=='cp') {
            cp = entree[i].value ;
          }
          if(name=='telephone') {
            telephone = entree[i].value ;
          }
        }
        if(atraiter){
          if(entree[i].value == ''){
            erreur = true;
            affchamperreur(name);
          }
        }
        break ;
/**************************************************/
      case 'textarea':
        var atraiter = true ;
        if(name=='reapproref' || name=='fintherape' || name=='typedetend') {
          var d = document.getElementById(name+'_1') ;
          if(d){
            if(d.style.display == '' || d.style.display == 'none' ){
              atraiter = false ;
            }
          } else {
            atraiter = false ;
          } 
        } else {
          //Traitement des champs non obligatoire
          if(name=='commentaire') {
            atraiter = false ;
          }
        }
        if(atraiter){
          if(entree[i].value == '') {
            erreur = true;
            affchamperreur(name);
          }
        }
        break;
/**************************************************/
      case 'select-one':
         var atraiter = true;
         if (name=='unite1' || name=='unite2' || name=='unite3' || name=='unite4' || name=='unite5' || name=='unite6' || name=='unite7' || name=='unite8') {
          var lon = name.length - 1 ;
          var fin = lon + 1;
          var indice = name.substring(lon,fin) ;
          var d = document.getElementById('constituant'+indice+'_1') ;
          if(d){
            if(d.style.display == '' || d.style.display == 'none' ){
              atraiter = false ;
            }
          } else {
            atraiter = false ;
          } 
        } else {
          //Traitement des champs non obligatoire
          if(name=='type_etablissement' || name=='civilite') {
            atraiter = false ;
          }
       }
       if(atraiter){
        if(entree[i].value==-1){
          erreur = true;
          affchamperreur(name);
        }
      }
        break;
/**************************************************/
      } //Fin de traitement par type de champs du formulaire
    }
  }
  if(niveau == 1 && radio['reappro']==false){
    name = 'reappro' ;
    erreur = true;
    affchamperreur(name);
  }
  if(niveau == 1 && radio['therape']==false){
    name = 'therape' ;
    erreur = true;
    affchamperreur(name);
  }
  if(niveau == 1 && radio['inhale']==false){
    name = 'inhale' ;
    erreur = true;
    affchamperreur(name);
  }
  if(niveau == 3 && radio['recinfo']==false){
    name = 'recinfo' ;
    erreur = true;
    affchamperreur(name);
  }
  if(niveau == 2 && radio['detendeur']==false){
    name = 'detendeur' ;
    erreur = true;
    affchamperreur(name);
  }

  if(niveau == 3 ) {
    if(mail != confirmail) {
      erreur = true;
      name = 'mail' ;
      affchamperreur(name);
      name = 'confirmail' ;
      affchamperreur(name);
    } else {
      var er = controlemail(mail) ;
      if(er == false) {
        erreur = true;
        name = 'mail' ;
        affchamperreur(name);
      }
    }
    //alert(telephone.length+' '+cp.length) ;
    if(telephone!=''  && telephone.length<10){
      erreur = true;
      name = 'telephone' ;
      affchamperreur(name);
    }
    if(cp!=''  && cp.length<5){
      erreur = true;
      name = 'cp' ;
      affchamperreur(name);
    }
  }
  if(!erreur){
    toto.submit() ;
  } else {
    alert(message) ;
  }
} //fin de fonction valide_form

function affchamperreur(id)
{
  var d = document.getElementById(id+'1') ;
  if(d) {
    d.style.color = 'red' ;
    if(message == ''){
      message += "Veuillez completer ou vérifier, le ou les champs suivants :\n" ;
    }
    message += d.innerHTML+"\n";
  }
  if(!focus){
    focus = true;
    var d = document.getElementsByName(id)[0];
    if(d){
      document.getElementsByName(id)[0].focus();
    }
  } 
}
function ouvrefen(script) 
{
  //ouvre une nouvelle fenetre
  //script = url de la page
  var desfen = '" status=no, location=no, height=665, width=835, top=0, left=0, menubar=no, resizable=yes, scrollbars=yes, resizable=yes "';
  var fen = window.open(script,"Visu",desfen) ;
  if (fen!=false) {
    fen.focus() ;
  } else {
    alertpopup() ;
  }
}
function alertpopup()
{
  alert("Pour afficher l'aide \nvous devez accepter les popup") ;
}
/*********************/
/*controle mail		   */
/*********************/
function controlemail(unmail) {
	var decompose = unmail.split("@") ;
	if (controlobjet(decompose[0]) == false) { return false ; }
	if (controlobjet(decompose[1]) == false) { return false ; }
	var unnom = decompose[0] ;
	var undomaine = decompose[1].split(".") ;
	if (controlobjet(undomaine[0]) == false) { return false ; }
	if (controlobjet(undomaine[1]) == false) { return false ; }
	var nomdom = undomaine[0] ;
	var extension = undomaine[1] ;
	if ( unnom.length == 0 || nomdom.length == 0 || extension.length < 2 ) {
		return false ;
	} else {
		return true ;
	}
}
/*********************/
/*controle Objet	   */
/*********************/
function controlobjet(ob) {
	if (typeof(ob) == "undefined") {
		return false ;
	} else {
		return true ;
	} 
}
/********************/
/*  Bulle d'aide    */
/********************/
function showtip(x,myEvent,descText) 
{
	var d = document.getElementById('floatBox');
	var y = -5;
	if (d) {
		var top = eval(myEvent.clientY + document.documentElement.scrollTop + document.body.scrollTop - y);
		/*if (top > 430 ) {
        top = eval(top - (d.offsetHeight + y ));
    }*/
    d.style.top= top+'px';
    d.style.left = eval(myEvent.clientX - x)+'px';
		document.getElementById('float-descText').innerHTML=descText ; //
		d.style.display='block';
	}
}
function hidetip() 
{
	var d = document.getElementById('floatBox');
	if (d) {
		d.style.display='none';
		document.getElementById('float-descText').innerHTML='';
	}
}
