// JavaScript Document
function prepare()
{
	obtenirMoteur();
}

/*
function valide()
{
		var form = document.getElementById("fMoteur");
		var obj = new Array();
//on refait le tableau des valeurs pour le GET
	for (var i = 0; i < form.elements.length;i++)
	{
		obj[form.elements[i].name]=form.elements[i].value;
//		alert(form.elements[i].name+" "+form.elements[i].value);
	}

	attente(obj);

}
*/
function valide()
{
	document.fMoteur.submit();
}
function photo(idElem,fic,larg,haut,l_dest,h_dest)
{
	var obj = document.getElementById(idElem);
	var ratio = haut/h_dest;

//alert("hauteur: "+obj.height+" largeur: "+obj.width+" ratio: "+ratio);
	obj.src = fic;
	obj.width=larg/ratio;
	obj.height=h_dest;
//alert("hauteur: "+obj.height+" largeur: "+obj.width+" ratio: "+ratio);
	
}

function montre(id, obj)
{
//alert(id.src+" "+obj);
id.src=obj;
}
//preparation du moteur de recherche pour AJAX appelee sur onload
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//								A J A X
//+++++++++++++++++++++++++++++++++++++++++++++++++++e+++++++++++++++++++++++++++++++++++++++++
function obtenirMoteur()
{
	var xhr = null;
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
       xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { recuMoteur(xhr); };

    //on appelle le fichier reponse.php
    xhr.open("GET", "initMoteur.php", true);
    xhr.send(null);
}

function attente(infos)
{
	var xhr = null;
	var texte = "reponseMoteur.php?";
    if (window.XMLHttpRequest) { 
        xhr = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) 
    {
       xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //on définit l'appel de la fonction au retour serveur
    xhr.onreadystatechange = function() { listeRecue(xhr); };
	var ok = true;
	for (var cle in infos)
	{
			if(ok)
			{
				ok = false;
			}
			else
			{
				texte +="&";
			}
			texte += cle+"="+escape(infos[cle]);
	}
    xhr.open("GET", texte, true);
    xhr.send(null);
}
function recuMoteur(xhr)
{
	var docXML = null;
	
   if (xhr.readyState==4) 
    {
    	docXML = xhr.responseXML;
		creationOptions(docXML,"MARQUE");
		//creation de l'energie
		creationOptions(docXML,"CGENERGIE");
		creationOptions(docXML,"CARROSSERIE");
		//vidage de la liste et recuperation de la nouvelle
		creerListe(docXML);
	}
}
function creerListe(docXML)
{
	var laTable = document.getElementById("pourAjax");
	var elts = laTable.getElementsByTagName("tr");
	var lesVehicules = null;
	var ligne = null;
	var cellule = null;
	var texte = null;
	var letype = null;
	var paire = true;
	var laClasse = null;
	var leLien = null;
	var laRef = null;
	var pourRef = null;
	var limage = null;
	
	viderMarques();
	//creation de la table
	leType = "vehicule";
	element = docXML.getElementsByTagName(leType+"s")[0];
	lesVehicules = element.getElementsByTagName(leType);
	for(var i=0; i < lesVehicules.length; i++)
	{
		pourRef = lesVehicules[i].getElementsByTagName("ref")[0].firstChild.nodeValue;
		ligne = laTable.insertRow((i+1));
		if(paire)
		{
			laClasse = "lignePaire";
		}
		else
		{
			laClasse = "ligneImpaire";
		}
		paire = !paire;

		ligne.className = laClasse;
		cellule = ligne.insertCell(0);
		cellule.className = "cellInfo";
		leLien = document.createElement("a");
		leLien.setAttribute("target","_self");
		leLien.setAttribute("href","voiture.php?&id="+pourRef);
		limage = document.createElement("img");
		limage.setAttribute("src",lesVehicules[i].getElementsByTagName("image")[0].firstChild.nodeValue);
		limage.className = "vignette";
		leLien.appendChild(limage);
		cellule.appendChild(leLien);
		cellule = ligne.insertCell(1);
		cellule.className = "cellMarque";
		leLien = document.createElement("a");
		leLien.setAttribute("target","_self");
		leLien.setAttribute("href","voiture.php?&id="+pourRef);
		texte = document.createTextNode(lesVehicules[i].getElementsByTagName("marq")[0].firstChild.nodeValue);
		leLien.appendChild(texte);
		cellule.appendChild(leLien);
		cellule = ligne.insertCell(2);
		cellule.className = "cellModele";
		leLien = document.createElement("a");
		leLien.setAttribute("target","_self");
		leLien.setAttribute("href","voiture.php?&id="+pourRef);
		texte = document.createTextNode(lesVehicules[i].getElementsByTagName("mod")[0].firstChild.nodeValue);
		leLien.appendChild(texte);
		cellule.appendChild(leLien);
		cellule = ligne.insertCell(3);
		cellule.className = "cellMillesime";
		leLien = document.createElement("a");
		leLien.setAttribute("target","_self");
		leLien.setAttribute("href","voiture.php?&id="+pourRef);
		texte = document.createTextNode(lesVehicules[i].getElementsByTagName("cgame")[0].firstChild.nodeValue);
		leLien.appendChild(texte);
		cellule.appendChild(leLien);
		cellule = ligne.insertCell(4);
		cellule.setAttribute("class","cellKilom");
		leLien = document.createElement("a");
		leLien.setAttribute("target","_self");
		leLien.setAttribute("href","voiture.php?&id="+pourRef);
		texte = document.createTextNode(lesVehicules[i].getElementsByTagName("kilom")[0].firstChild.nodeValue);
		leLien.appendChild(texte);
		cellule.appendChild(leLien);
		cellule = ligne.insertCell(5);
		cellule.className = "cellPrix";
		leLien = document.createElement("a");
		leLien.setAttribute("target","_self");
		leLien.setAttribute("href","voiture.php?&id="+pourRef);
		texte = document.createTextNode(lesVehicules[i].getElementsByTagName("prix")[0].firstChild.nodeValue);
		leLien.appendChild(texte);
		cellule.appendChild(leLien);
		cellule = ligne.insertCell(6);
		cellule.className = "cellLP";
		leLien = document.createElement("a");
		leLien.setAttribute("target","_self");
		leLien.setAttribute("href","voiture.php?&id="+pourRef);
		texte = document.createTextNode(pourRef);
		leLien.appendChild(texte);
		cellule.appendChild(leLien);
	}
}
function viderMarques()
{
	var laTable = document.getElementById("pourAjax");
	
	for(var i = laTable.rows.length - 1; i > 0 ; i--) //on garde l'entete
	{
		laTable.deleteRow(i);
	}
}

function creationOptions(docXML,leType)
{
	var comp = null;
	var elts = null;
	var element = null;
	var texte = null;
	var lesMarques = null;

		comp = document.getElementById(leType);
//		comp.setAttribute("onChange","valide(\'fMoteur\');");
		//on vide la combo
		elts = comp.options;
		for( var i = elts.length - 1; i > 0 ; i--)
		{
			comp.remove(i);
		}
		//ccreation de tous les autres elements de la marque
		leType = leType.toLowerCase();
		element = docXML.getElementsByTagName(leType+"s")[0];
		lesMarques = element.getElementsByTagName(leType);
		if(lesMarques != null)
		{
			for(var i=0; i < lesMarques.length; i++)
			{
				element = document.createElement("option");
				element.value =lesMarques[i].getElementsByTagName("valeur")[0].firstChild.nodeValue;
				element.text = lesMarques[i].getElementsByTagName("texte")[0].firstChild.nodeValue;
				try {
				  comp.add(element,null);
				}
				catch(ex) {
					comp.add(element); //pour IE
				}
			}
		}
}

function listeRecue(xhr)
{
	var docXML = null;
   if (xhr.readyState==4) 
    {
    	docXML = xhr.responseXML;
		//vidage des modeles si on veut toutes les marques
		if(document.fMoteur.MARQUE.selected)
		{
			viderMarques();
		}
		if(docXML.getElementsByTagName("modeles").length > 0)
		{
			creationOptions(docXML,"MODELE");
		}
		creerListe(docXML);
	}
}