function getChildren(node, filter)
{
 var children = new Array();
 if (!node.hasChildNodes()) return;
 var child;
 for (var i=0; i < node.childNodes.length; i++)
 {
  child = node.childNodes[i];
  if (child.hasChildNodes()) children = children.concat(getChildren(child, filter));
  if (child.nodeName == filter) children.push(child);
 }
 return children;
}

//variable mise a jour contenant l'id de l'opticien dont le devis a été affiché en dernier
var cur = null;
var curid = null;
//var curpic = 1;
//création du tableau devis
var devis = new Array();
//remplissage préalable du tableau devis avec les données devis_ du tableau session
for(var row in session)
  if(row.substr(0,6) == "DEVIS_") devis[row] = session[row];

function saveDevis(idform)
{
 var myform = document.getElementById(idform);
 if (!myform) return;
 //on sauve le formulaire entier
 children = new Array();
 children = getChildren(myform, "INPUT");
 children = children.concat(getChildren(myform, "SELECT"));
 children = children.concat(getChildren(myform, "TEXTAREA"));
 for(var i=0; i<children.length; i++)
 {
  if(children[i].getAttribute("id"))
  {
    if (children[i].getAttribute("type") == "checkbox")
    {
       if (document.getElementById(children[i].getAttribute("id")).checked
          && document.getElementById(children[i].getAttribute("id")+"_N").value == 0) //vérification de la valeur du champ caché
          devis[children[i].getAttribute("id")] = children[i].getAttribute("value");
       else
          devis[children[i].getAttribute("id")] = 0;
    }
    else if (children[i].getAttribute("type") == "select")
    {
       //on parcours les options pour savoir laquelle est selectionée
       opts = document.getElementById(children[i].getAttribute("id")).options;
       for(var j=0; j<opts.length; j++)
       {
         if (opts[j].selected)
            devis[children[i].getAttribute("id")] = opts[j].value;
       }
    }
    else if (children[i].getAttribute("type") == "radio")
    {
      if(document.getElementById(children[i].getAttribute("id")).checked)
      {
        devis[children[i].getAttribute("name")] = document.getElementById(children[i].getAttribute("id")).value;
      }
    }
    else if (children[i].getAttribute("type") == "textarea")
       devis[children[i].getAttribute("id")] = document.getElementById(children[i].getAttribute("id")).value;
    else
    {
      if (children[i].getAttribute("type2") != "check")
        devis[children[i].getAttribute("id")] = children[i].getAttribute("value");
    }
  }
 }
}

function loadDevis()
{

  for(var fid in devis)
  {
   myf = document.getElementById(fid);
   if(!myf) 
   {
     //on verifie que c'est pas un radio (radio.name != radio.id) ...
     if (!(myf = document.getElementById(fid+devis[fid])))
        continue;
   }
   if (myf.getAttribute("type") == "checkbox")
   {
     if (devis[fid] != 0)
      myf.checked = true;
   }
   else if (myf.getAttribute("type") == "select")
   {
      for (i=0; i<myf.options.length; i++)
          if (myf.options[i].value == devis[fid]) myf.options[i].selected = true;
   }
   else if (myf.getAttribute("type") == "radio")
      myf.checked = true;
   else if (myf.getAttribute("type") == "textarea")
      myf.innerHTML = devis[fid].replace("<rc>", "\n");
   else
      myf.value = devis[fid];
  }
}
 
function showDevis(id)
{	
	tgt = document.getElementById('devis-infos-'+id);
	if (document.getElementById('map-tr-results').style.display=="") document.getElementById('map-tr-results').style.display="none";
	document.getElementById("relcontent").innerHTML="";
	//document.getElementById("relcontent").innerHTML=tgt.innerHTML;
			
	// var tgt = document.getElementById("devis-infos-"+id);
	// if (cur && cur != tgt)
		//cur.style.display = "none";
	//dois on afficher le premier formulaire ? (les infos du client)
	if(!session["formfilled"])
	{
		var form_cus = document.getElementById("formcusbox");
	 
		//document.getElementById("relcontent").innerHTML = "<div style='border:2px solid orange;background-color:white'><br/><center><b><span style='font-size:16px'>Demande de devis : saisissez vos coordonnées</span></b></center><br/>" + form_cus.innerHTML+"</div>";
		telephone = document.getElementById('telephone'+id).value;
		if(telephone.length == 10)
			telephone = telephone.substr(0, 2) + ' ' + telephone.substr(2, 2) + ' ' + telephone.substr(4, 2) + ' ' + telephone.substr(6, 2) + ' ' + telephone.substr(8, 2);
		document.getElementById("relcontent").innerHTML = "<div style='border:2px solid orange;background-color:white'><br/><center><b><span style='font-size:16px'>Demande de devis : "+document.getElementById('nomopticien'+id).value+"</span></b><br/><br/><br/><span style='font-size:16px;'>Rendez-vous chez votre opticien au<br/><font color='#7777FF' style='font-style:italic; font-weight:bold; font-size:16px;'>"+document.getElementById('adresse'+id).value+"</font><br><br>Appelez votre opticien au : <font color='#7777FF' style='font-weight: bold; font-size: 16px;'>"+telephone+"</font><br><p style='font-size: 13px;'>"+document.getElementById('horaires'+id).value+"</p><font color='#7777FF'>Offre de bienvenue pour les internautes d'Optique Devis</font><br/><br/></span></center></div>";
	        document.getElementById("relcontent").style.display = "";
		// }
	    // else
	    // {
			// document.getElementById("relcontent").innerHTML.innerHTML = "";
			// document.getElementById("relcontent").style.display = "none";			
	    // }
	}
	else
	{

		if (document.getElementById("optid")) document.getElementById("optid").value = id;
		if (document.getElementById("cusform")) document.getElementById("cusform").submit();
		curid = id;
		//checkdevis();
	}
//	cur = tgt;
	curid = id;
}

function showRappel(id) 
{
	tgt = document.getElementById('rappel-tr-'+id);

	if (cur && cur != tgt)
		cur.style.display = "none";
	
	if (tgt.style.display=='') {
	document.getElementById('rappel-tr-'+id).style.display='none';
	}
	else
	{
		document.getElementById('rappel-tr-'+id).style.display='';
		if (session["TEL"] && session["TEL"]!="") document.getElementById("NUM_RAPPEL_"+id).value=session["TEL"];
		else if (session["GSM"] && session["GSM"]!="") document.getElementById("NUM_RAPPEL_"+id).value=session["GSM"];
	}
	cur = tgt;
	curid = id;
}

function get_index(tab, id, ind)
{
	for (var i = 0; i < tab.length; i++)
		if (tab[i][ind] == id) return (i);
	return -1;	
}

function showPhotos(id)
{
	//if (tab_opts[get_index(tab_opts, id, 0)].length)
	//{
		//if (curid != id || curpic >= tab_opts[get_index(tab_opts, id, 0)].length) 
		//on a changé d'opticien ou on a atteinds la fin, on reprends le diaporama a la premiere image
	 	//	curpic = 1;	
		tgt = document.getElementById('photos-tr-'+id);
		if (document.getElementById('map-tr-results').style.display=="") document.getElementById('map-tr-results').style.display="none";
		document.getElementById("relcontent").innerHTML="";
		document.getElementById("relcontent").innerHTML=tgt.innerHTML;
		//if (cur && cur != tgt) cur.style.display = "none";			
		//if (tgt.style.display!='') tgt.style.display='';
		//else tgt.style.display='none';
		//alert(document.getElementById('map-tr-results'));
		
		//delete document.getElementById("photo-"+id).width;
		//document.getElementById("photo-"+id).src = "/upload/"+id+"/"+tab_opts[get_index(tab_opts, id, 0)][curpic];
		//if (document.getElementById("photo-"+id).width > 500) document.getElementById("photo-"+id).width = 500;
		
		//cur = tgt;
		curid = id;	
		//curpic++;
	//}
}

function showInfos(id)
{
	if (document.getElementById('map-tr-results').style.display=="") document.getElementById('map-tr-results').style.display="none";
	tgt = document.getElementById('infos-tr-'+id);
	//if (cur && cur != tgt) cur.style.display = "none";			
	//if (tgt.style.display!='') tgt.style.display='';
	//else tgt.style.display='none';
	//cur = tgt;
	document.getElementById('relcontent').innerHTML=tgt.innerHTML;
	
	curid = id;	

}

function rappel(id) {
	//check num
	VIRTUAL.location="/rappel.php?idshop="+id+"&num="+document.getElementById("NUM_RAPPEL_"+id).value;
	//on sauvegarde le numéro de téléphone
	session["TEL"] = document.getElementById("NUM_RAPPEL_"+id).value;
}

function rappelDone(id) {
	document.getElementById('rappel-tr-'+id).style.display='none';
	document.getElementById("imgrappel-"+id).src="/images/icones/rappel-ok.png";
	document.getElementById("text-imgrappel-"+id).href="javascript: alert('Vous avez déjà demandé un rappel de cet opticien');";
	alert("La demande de rappel a bien été envoyée !");
}

function checkdevis()
{
 //vérification des champs (ou pas)
 //document.getElementById("devis-sent-"+curid).style.display = "";
 document.getElementById("imgdevis-"+curid).src="/images/icones/devis-ok.png";
 document.getElementById("devis-infos-"+curid).style.display = "none";
 document.getElementById("WAITING").style.display = "none";
 document.getElementById("relcontent").innerHTML="<div style='height:350px;background-color:white;font-size:16px'><center><br><br><img src='/images/checkmark.gif'><br><br><br><b>Félicitations, votre devis a bien été envoyé !</b><br><br><a href='javascript: showAllOpticiens()'> > retour à la  carte des opticiens</a></center></div>";
 document.getElementById("relcontent").style.display="";
 //document.getElementById("devis-infos-"+curid).style.display = "none";
 //document.getElementById("devis-infos-"+curid).style.display = "none";
 document.getElementById("text-imgdevis-"+curid).href="javascript: alert('Vous avez déjà demandé un devis de cet opticien');";
  alert("Le devis a bien été envoyé !");
 return true;
}

/*function checkform() 
{	
	session["formfilled"] = true;	
	return true;
	
	var err="";
	if (document.form.TITRE.selectedIndex==0) err+=". Le champ 'Civilité' est obligatoire\n";
	if (document.form.NOM.value=="" || document.form.PRENOM.value=="") err+=". Les champs 'Nom' et 'Prénom' sont obligatoires\n";
	if (document.form.ADRESSE.value=="" || document.form.CP.value=="" || document.form.VILLE.value=="") err+=". Les champs 'Adresse', 'Code Postal' et 'Ville' sont obligatoires\n";			
	if (document.form.TEL.value=="" && document.form.MOBILE.value=="") err+=". Un des téléphones est obligatoire !\n";
	if (document.form.EMAIL.value=="") err+=". L'email est obligatoire !\n";	

	if (err!="") 
	{
		alert(err);
		return false;				
	}
	return true;
}*/

function cb(field)
{
  //fonction qui change la valeur des champs checkbox cachées pour modifier la valeur des visibles sur le tas
  if (document.getElementById(field).checked == true)
     document.getElementById(field+"_N").value = 0;
  else
     document.getElementById(field+"_N").value = 1;
}

function ClignoterDevis()
{

	if(document.getElementById('DemandeDevis').style.visibility=='hidden')
	{
		document.getElementById('DemandeDevis').style.visibility='visible';
	}
	else
	{
		document.getElementById('DemandeDevis').style.visibility='hidden';
	}

setTimeout("ClignoterDevis()", 500);
}
