function loadMarque() {
		alert('loadMarque -> IN');
		var d = document.forms[0].modele;
		while (d.length>1) d.options[d.length-1] = null;
		
		var selectedMarque = getValue(document.forms[0].marque)
		if (selectedMarque != '') {
			getHttpRequest();
			var url = "ajax.modeles.php?marque=" + selectedMarque;
			xmlHttp.open('GET',url, true);
			xmlHttp.onreadystatechange = loadMarqueDone;
			xmlHttp.send(null);
		}
	}

	function loadMarqueDone() {
		if (xmlHttp.readyState == 4) {
			if (xmlHttp.status == 200) {
				response = xmlHttp.responseXML.documentElement;
				var d = document.forms[0].modele;
				for (var i=0; i<response.childNodes.length; i++) {
					var modele = response.childNodes[i].getAttribute('name');
					var e = new Option(modele, modele);
					d.options[d.length] = e;
				}
			}
		}
	}
	
	var xmlHttp = false;

	var ns6 = document.getElementById&&!document.all

	var screenWidth = screen.width;
	var screenHeight = screen.height;

	var browserWidth = screen.availWidth;
	var browserHeight = screen.availHeight;

	// variables contenant la position de la souris
	var mouseX = 0;
	var mouseY = 0;

	// Fonction pour retrouver les coordonnees de la souris
	function getMouseXY (e) {
		doContinue = true;
		if ((!ns6) && (document.body == null)) {
			doContinue = false;
		}

		if (doContinue) {
			if (ns6) {
				mouseX = e.pageX;
				mouseY = e.pageY;
			} else {
				mouseX = event.clientX + document.body.scrollLeft;
				mouseY = event.clientY + document.body.scrollTop;
			}
		}
	  return true;
	}

	var hidePictureTimeout = null;

	function mouseOverTd(e) {
		t = window.event ? window.event.srcElement : e ? e.target : null;
		tr = t.parentNode;
		tds = tr.childNodes;
		for (i=0; i<tds.length; i++) {
			if (tds[i].className.indexOf('Hover')==-1) {
				tds[i].className += 'Hover';
			}
		}
	}

	function showPicture (e) {
		var img = window.event ? window.event.srcElement : e ? e.target : null;
		var pic = img.getAttribute('imgfile');
		window.clearTimeout(hidePictureTimeout);
		var i = document.getElementById('picture_view');
		i.innerHTML = '<img src="images/annonces/' + pic + '" width="280" height="209">';
		i.style.display = 'block';
		i.style.left = (mouseX-290) + 'px';
		i.style.top = (mouseY+10) + 'px';
	}

	function _hidePicture () {
		var i = document.getElementById('picture_view');
		i.style.display = 'none';
	}

	function hidePicture() {
		hidePictureTimeout = window.setTimeout('_hidePicture()', 500);
	}

	document.onmousemove = getMouseXY;

	// fonction permettant d'attribuer un evenement (multi-browser)
	function addEvent(elm, evType, fn, useCapture) {
		if (elm.addEventListener) {
			elm.addEventListener(evType, fn, useCapture);
			return true;
		} else if (elm.attachEvent) {
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		} else {
			elm['on' + evType] = fn;
		}
	}

	/**
	* Fonction renvoie un noeud "A" Html
	* Le premier argument est le texte du lien, les suivants des couples attribut/valeur
	* Exemple: htmlLink('ceci est un lien', 'href', 'http://www.google.fr', 'target', 'blank');
	**/
	function htmlLink() {
		var argv = htmlLink.arguments;
		var argc = argv.length;
		var content = argv[0];
		if ((typeof(content) == 'string') || (typeof(content) == 'number')) {
			content = htmlTextNode(content);
		}
		var link = document.createElement('a');
		link.appendChild(content);
		for (i = 1; i < argc; i=i+2) {
			if (argv[i] == 'class') {
				link.className = argv[i+1];
			} else {
				link.setAttribute(argv[i], argv[i+1]);
			}
		}
		return link;
	}

	/**
	* Fonction ajoutant un TD a un TR existant. Le TR est le premier parametre
	* Le contenu est le 2eme parametre
	* Les parametres suivants sont des paires attribut, valeur
	* Exemple: addTd(monTr, monContenu, 'width', '100', 'colspan', '2');
	* monContenu peut etre un String ou un noeud DOM
	**/
	function addTd() {
		var argv = addTd.arguments;
		var argc = argv.length;

		var row = argv[0];
		var table = row.parentNode;
		var content = argv[1];
		if ((typeof(content) == 'string') || (typeof(content) == 'number')) {
			content = htmlTextNode(content);
		}
		var td = document.createElement('td');
		td.appendChild(content);
		for (var i = 2; i < argc; i=i+2) {
			if (argv[i] == 'class') {
				td.className = argv[i+1];
			} else {
				td.setAttribute(argv[i], argv[i+1]);
			}
		}

		row.appendChild(td);

		return td;
	}

	function htmlTextNode(content) {
		return document.createTextNode(content);
	}

	/**
	* Fonction ajoutant un TR a une TABLE existante (en fin de table)
	* Le nom de la table est le premier parametre
	* Les parametres suivants sont des paires attribut, valeur
	* Exemple: addTr('maTable', 'width', '100');
	* La fonction ajoute automatiquement un numero de ligne au TR cree
	**/
	function addTr() {
		var argv = addTr.arguments;
		var argc = argv.length;

		var table = argv[0];
		var rowNum = table.rows.length;
		var row = table.insertRow(rowNum);

		for (var i = 1; i < argc; i=i+2) {
			row.setAttribute(argv[i], argv[i+1]);
		}

		return row;
	}

	function clearResultTable() {
		var td = document.getElementById('resultTable');
		for (var i=td.childNodes.length-1; i>=0; i--) {
			td.removeChild(td.childNodes[i]);
		}
	}

	function htmlTable() {
		var argv = htmlTable.arguments;
		var argc = argv.length;

		var t = document.createElement('table');
		for (var i = 0; i < argc; i=i+2) {
			t.setAttribute(argv[i], argv[i+1]);
		}

		return t;
	}

	function getPhoto(photo) {
		var img = document.createElement('img');
		img.setAttribute('src', 'images/annonces/' + photo);
		img.setAttribute('width', '126');
		img.setAttribute('height', '94');
		img.setAttribute('border', '0');
		img.className = 'bor';

		return img;
	}

	function getSecondTD(bgColor, marque, type, modele, kilom, carb, date, porte, couleur, ariv, id_voiture, photo, bgColor2, prix) {
		var table = htmlTable('width', '100%', 'height', '92', 'border', '0', 'cellSpacing', '0', 'cellPadding', '0');
		var tr = addTr(table);
		addTd(tr, getInsideSecondTD(marque, type, modele), 'height', '25', 'width', '400', 'bgColor', bgColor);
		addTd(tr, getThirdTD(prix), 'width', '132', 'align', 'center', 'bgColor', bgColor2);

		// Deuxieme Ligne
		tr = addTr(table);
		fillSecondLine(tr, kilom, carb, date, porte, couleur, ariv, id_voiture, photo);

		return table;
	}

	function getInsideSecondTD(marque, type, modele) {
		var table = htmlTable('width', '100%', 'height', '25', 'border', '0', 'cellSpacing', '0', 'cellPadding', '0');
		var tr = addTr(table);
		// On a une autre table dans la table...
		var subTable = htmlTable('border', '0', 'cellSpacing', '0', 'cellPadding', '0');
		var subTr = addTr(subTable);
		addTd(subTr, ' ', 'width', '10');
		var span = document.createElement('span');
		span.className = 'txtan2';
		span.appendChild(htmlTextNode(marque + ' '));
		var td = addTd(subTr, span);
		span = document.createElement('span');
		span.className = 'txtan2';
		span.appendChild(htmlTextNode(type + ' '));
		td.appendChild(span);
		span = document.createElement('span');
		span.className = 'txtan3';
		span.appendChild(htmlTextNode(modele + ' '));
		td.appendChild(span);

		addTd(tr, subTable);

		return table;
	}

	function getThirdTD(prix) {
		var subSpan1 = document.createElement('span');
		subSpan1.className = 'txtprix2';
		subSpan1.appendChild(htmlTextNode(' '));
		var subSpan2 = document.createElement('span');
		subSpan2.className = 'txtprix3';
		subSpan2.appendChild(htmlTextNode(prix + ' � <?=$taxe?>'));

		var span = document.createElement('span');
		span.appendChild(subSpan1);
		span.appendChild(subSpan2);
		span.className = 'txtprix3';
		return span;
	}

	function getKilometrage(kilom) {
		var subSpan1 = htmlTextNode('Kilom�trage : ');
		var subSpan2 = document.createElement('span');
		subSpan2.className = 'txtan4';
		subSpan2.appendChild(htmlTextNode(kilom + ' Km'));
		var span = document.createElement('span');
		span.appendChild(subSpan1);
		span.appendChild(subSpan2);
		return span;
	}

	function getTiret() {
		var img = document.createElement('img');
		img.setAttribute('src', 'pro/admin/images/tiret.gif');
		img.setAttribute('width', '1');
		img.setAttribute('height', '66');
		return img;
	}

	function getCarburant(carb) {
		var subSpan1 = htmlTextNode('Carburant : ');
		var subSpan2 = document.createElement('span');
		var carburant = 'Essence';
		if (carb == 'D') carburant = 'Diesel';
		subSpan2.appendChild(htmlTextNode(carburant));
		subSpan2.className = 'txtan4';
		var span = document.createElement('span');
		span.appendChild(subSpan1);
		span.appendChild(subSpan2);
		return span;
	}

	function getAnnee(date) {
		var subSpan1 = htmlTextNode('Ann�e : ');
		var subSpan2 = document.createElement('span');
		subSpan2.appendChild(htmlTextNode(date));
		subSpan2.className = 'txtan4';
		var span = document.createElement('span');
		span.appendChild(subSpan1);
		span.appendChild(subSpan2);
		return span;
	}

	function getPortes(porte) {
		var subSpan1 = htmlTextNode('Portes : ');
		var subSpan2 = document.createElement('span');
		subSpan2.appendChild(htmlTextNode(porte));
		subSpan2.className = 'txtan4';
		var span = document.createElement('span');
		span.appendChild(subSpan1);
		span.appendChild(subSpan2);
		return span;
	}

	function getCouleur(couleur) {
		var subSpan1 = htmlTextNode('Couleur : ');
		var subSpan2 = document.createElement('span');
		subSpan2.appendChild(htmlTextNode(couleur));
		subSpan2.className = 'txtan4';
		var span = document.createElement('span');
		span.appendChild(subSpan1);
		span.appendChild(subSpan2);
		return span;
	}

	function getDateDispo(ariv) {
		var subSpan1 = htmlTextNode('Disponibilit� : ');
		var subSpan2 = document.createElement('span');
		var dispo = 'Sur le parc';
		if (ariv == '0') dispo = 'En arrivage';
		subSpan2.appendChild(htmlTextNode(dispo));
		subSpan2.className = 'txtan4';
		var span = document.createElement('span');
		span.appendChild(subSpan1);
		span.appendChild(subSpan2);
		return span;
	}
	

	function getDispo(ariv, id_voiture, photo) {
		var table = htmlTable('width', '100%', 'border', '0', 'cellSpacing', '0', 'cellPadding', '0');
		var tr1 = addTr(table);
		addTd(tr1, getDateDispo(ariv), 'align', 'left', 'class', 'txtan');
		addTd(tr1, htmlLink('En savoir plus ', 'href', 'pages_detail.php?voiture=' + id_voiture, 'class', 'linksans'), 'align', 'right');
		var img = document.createElement('img');
		img.setAttribute('src', 'images/picto_loupe.gif');
		img.setAttribute('width', '26');
		img.setAttribute('height', '18');
		img.setAttribute('border', '0');
		var link = htmlLink(img, 'href', 'pages_detail.php?voiture=' + id_voiture, 'class', 'linksans');
		//addEvent(link, 'mouseover', showPicture, false);
		//addEvent(link, 'mouseout', hidePicture, false);
		addTd(tr1, link, 'width', '1');

		return table;
	}

	function fillSecondLine(tr, kilom, carb, date, porte, couleur, ariv, id_voiture, photo) {
		var table = htmlTable('width', '100%', 'border', '0', 'cellSpacing', '0', 'cellPadding', '0');
		var tr1 = addTr(table);
		addTd(tr1, ' ', 'width', '10', 'rowSpan', '3', 'class', 'txtan');
		addTd(tr1, getKilometrage(kilom), 'width', '40%', 'height', '21', 'class', 'txtan');
		addTd(tr1, getTiret(), 'width', '80', 'rowSpan', '3', 'align', 'center');
		addTd(tr1, getCarburant(carb), 'width', '50%', 'class', 'txtan');
		var tr2 = addTr(table);
		addTd(tr2, getAnnee(date), 'width', '40%', 'height', '21', 'class', 'txtan');
		addTd(tr2, getPortes(porte), 'width', '50%', 'class', 'txtan');
		var tr3 = addTr(table);
		addTd(tr3, getCouleur(couleur), 'width', '40%', 'height', '21', 'class', 'txtan');
		addTd(tr3, getDispo(ariv, id_voiture, photo), 'width', '50%');
		addTd(tr, table, 'colSpan', '2');
	}
	function addResultCar(marque, type, modele, kilom, date, prix, photo, id_voiture, couleur, carb, porte, ariv, bgColor, bgColor2) {
		// recuperation du td dans lequel il faut inserer l'annonce
		var parent = document.getElementById('resultTable');

		var table = htmlTable('width', '98%', 'border', '0', 'cellSpacing', '1', 'cellPadding', '0');

		// Premiere Ligne
		var tr = addTr(table);

		// premier TD: La photo
		addTd(tr, getPhoto(photo), 'width', '1');

		// 2eme TD
		var td = addTd(tr, getSecondTD(bgColor, marque, type, modele, kilom, carb, date, porte, couleur, ariv, id_voiture, photo, bgColor2, prix), 'valign', 'top');
		td.style.border = '#c9c9c9 1px solid';

		parent.appendChild(table);
		parent.appendChild(document.createElement('br'));
	}


	function getValue(field) {
		val = '';
		fieldType = field.type;
		multiple = false;
		if (field.length != undefined) {
			fieldType = field[0].type;
			multiple = true;
		}
		if (fieldType == 'select-one') {
			field.options[field.selectedIndex].value;
		} else {
			if ((fieldType == 'radio') || (fieldType == 'checkbox')) {
				if (multiple) {
					for (i = 0; i < field.length; ++i) {
						if (field[i].checked) val = field[i].value;
					}
				} else {
					field.checked = field.value;
				}
			} else {
				val = field.value;
			}
		}
		return val;
	}

	function getXMLRequester()
	{
		var xmlHttp = false;
				
		// try to create a new instance of the xmlhttprequest object        
		try
		{
			// Internet Explorer
			if( window.ActiveXObject )
			{
				for( var i = 5; i; i-- )
				{
					try
					{
						// loading of a newer version of msxml dll (msxml3 - msxml5) failed
						// use fallback solution
						// old style msxml version independent, deprecated
						if( i == 2 )
						{
							xmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" );    
						}
						// try to use the latest msxml dll
						else
						{
							
							xmlHttp = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );
						}
						break;
					}
					catch( excNotLoadable )
					{                        
						xmlHttp = false;
					}
				}
			}
			// Mozilla, Opera und Safari
			else if( window.XMLHttpRequest )
			{
				xmlHttp = new XMLHttpRequest();
			}
		}
		// loading of xmlhttp object failed
		catch( excNotLoadable )
		{
			xmlHttp = false;
		}
		return xmlHttp ;
	}

	function getHttpRequest() {
		if (!xmlHttp) {
			xmlHttp = getXMLRequester();
		}
	}

	function rechercheVoitures() {
		clearResultTable();

		// load
		var marque = getValue(document.forms[0].<?=$MARQUE?>)
		var modele = getValue(document.forms[0].<?=$MODELE?>)
		var carburant = getValue(document.forms[0].<?=$CARBURANT?>)
		var kmA = getValue(document.forms[0].<?=$KLM_A?>)
		var prixA = getValue(document.forms[0].<?=$PRIX_A?>)
		getHttpRequest();
		var url = "ajax.voitures.php?<?=$MARQUE?>=" + marque + "&<?=$MODELE?>=" + modele + "&<?=$CARBURANT?>=" + carburant + "&<?=$KLM_A?>=" + kmA + "&<?=$PRIX_A?>=" + prixA;
		xmlHttp.open('GET',url, true);
		xmlHttp.onreadystatechange = rechercheVoituresDone;
		xmlHttp.send(null);
		return false;
	}
	
	function rechercheVoituresDone() {
		if (xmlHttp.readyState == 4) {
			if (xmlHttp.status == 200) {
				response = xmlHttp.responseXML.documentElement;
				var d = document.forms[0].<?=$MODELE?>;
				var table = document.getElementById('liste_annonces');
				var tableContent = '';
				for (var i=0; i<response.childNodes.length; i++) {
					var n = response.childNodes[i];

					var bgcol = "#DCDEB4";
					var bgcol2 = "#959A10";
					if ((i%2) == 0) {
						bgcol = "#CEE6F1";
						bgcol2 = "#66B5DA";
					}

					var km = n.getAttribute('km');
					if (km.length>3) km = km.substring(0, km.length-3) + '.' + km.substr(km.length-3);
					addResultCar(n.getAttribute('marque'),
								n.getAttribute('modele'),
								n.getAttribute('motorisation'),
								km,
								n.getAttribute('prem_circ'),
								n.getAttribute('prix'),
								n.getAttribute('photo'),
								n.getAttribute('id'),
								n.getAttribute('couleur'),
								n.getAttribute('carbur'),
								n.getAttribute('portes'),
								n.getAttribute('ariv'),
								bgcol,
								bgcol2);
				}
			}
		}
	}

	

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
