var url; 
var moz = (document.implementation && document.implementation.createDocument); 
var ie = (window.ActiveXObject); 
var xmlHTTP,xmlHTTPForMake, xmlHTTPForVersion, xmlHTTPForType, xmlHTTPForCity;

//var actif = window. setTimeout("initValue()",1500);
function LoadWindow()
{
	var form = document.forms[0];
	var elementMake 	= document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_19112');
	var elementModel 	= document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_15849');
	var elementVersion	= document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_28409');
	var elementType		= document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_10855');
	
	var hidMark     = document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_19347');
	var hidModel    = document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_14364');
	var hidversion  = document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_26894');
	var hidtype     = document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_13478');

	if (form.elements[2].value ==''){
		if (hidMark.value != '') {
			elementMake.selectedIndex = hidMark.value;
			chargeXmlForModels('aGSCROGTAEntry', 'Make', elementMake.options[elementMake.selectedIndex].innerHTML, elementModel );
			elementModel.selectedIndex = hidModel.value;
			chargeXmlForVersions('aGSCROGTAEntry', elementMake.options[elementMake.selectedIndex].innerHTML , elementModel.options[elementModel.selectedIndex].innerHTML, elementVersion );
			elementVersion.selectedIndex = hidversion.value;
			chargeXmlForTypes('aGSCROGTAEntry', elementMake.options[elementMake.selectedIndex].innerHTML , elementModel.options[elementModel.selectedIndex].innerHTML, elementVersion.options[elementVersion.selectedIndex].innerHTML , elementType);
			elementType.selectedIndex = hidtype.value;
		}
	}
}

function chargeXMLForCity(postalCode, sel)
{
	url = '/ClientDirect/FillIntoCity.asp?CP='+ escape(postalCode)
	initialiseAnHttpRequestForCity (url);
	for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
	if (ie) {fillComboBoxCityForIE( sel);}
	else if (moz)
	{fillComboBoxCityForMOZ(sel);}
   	
}

function fillComboBoxCityForMOZ(sel)
{
	var xml = xmlHTTPForCity.responseXML;
	var docXML= xmlHTTPForCity.responseXML.documentElement;
	var comroot = docXML.getElementsByTagName('City');
	var curNode;
	var index=0;
	for (var i=0; i<= docXML.childNodes.length-1; i++) 
	{
		curNode = docXML.childNodes[i];
		if (curNode.textContent != "\n")
		{
			sel[index] = new Option(curNode.textContent);
			index++;
		}
	}
	if (sel.length == 1)
	{
		sel[sel.length] = new Option('---------------------------------------');
	}
}
function fillComboBoxCityForIE( sel)
{
	var xml = xmlHTTPForCity.responseXML.getElementsByTagName('City');
	if (xml.length>1)
	{
		sel[sel.length] = new Option('---------------------------------------');
   		for (x=0; x<=xml.length-1; x++) 	{ sel[sel.length] = new Option(xml[x].getAttribute('CityName')); }
   	}
	else
	{
		if (xml.length == 1)
		{
			sel[sel.length] = new Option(xml[0].getAttribute('CityName')); 
		}
		else
		{
			sel[sel.length] = new Option('---------------------------------------');
		}
	}
}

function initialiseAnHttpRequestForCity(url)
{	
	if (moz)    { xmlHTTPForCity = new XMLHttpRequest();}
   	else if (ie) { xmlHTTPForCity = new ActiveXObject('Microsoft.XMLHTTP');}		
	if (xmlHTTPForCity!=null)
 	{
		//Mode synchrone
		xmlHTTPForCity.onreadystatechange=state_ChangeForCity;
		xmlHTTPForCity.open("GET",url,false);

		xmlHTTPForCity.send(null);
  	}
	else
  	{
  		alert("Your browser does not support XMLHTTP.");
  	}
	
}
function state_ChangeForCity()
{
	if (xmlHTTPForCity.readyState==4)
  	{
	  	if (xmlHTTPForCity.status==200)
		{
			// ...some code here...
		}
	 	else
		{
			alert("Problem retrieving XML data. Status's code is ="+xmlHTTPForCity.status)
		}
  	}
	
}

function chargeXmlForModels(table, filtre, filtre_id, sel) 
{
	filtre = filtre.replace("'", "''");
	filtre_id = filtre_id.replace("'", "''");	
	var  body= document.getElementById('aProtegysContractMotoWEB_BodyVehicle_BodyVehicle');
	url = '/ClientDirect/FillIntoListForMoto.asp?table=' + escape(table); 
   	url += '&filtre=' + filtre;
   	url += '&filtre_id=' + filtre_id;
	url += '&body=' + body.value;
	
   	initialiseAnHttpRequest(url);
	var xml;
	if (moz)
	{
		xml = xmlHTTP.responseXML;
		var docXML= xmlHTTP.responseXML.documentElement;
		var comroot = docXML.getElementsByTagName(escape(table));
		var curNode;
		for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
		sel[sel.length] = new Option('---------------------------------------');
   		for (var i=0; i<= docXML.childNodes.length-1; i++) 
		{
			curNode = docXML.childNodes[i];
			if (curNode.textContent != "\n")
			{
				sel[sel.length] = new Option(curNode.textContent);
				
			}
		}
	}
	else if (ie)
	{
		xml = xmlHTTP.responseXML;
		var docXML= xmlHTTP.responseXML.documentElement;
		
		xml = xmlHTTP.responseXML.getElementsByTagName(escape(table));
		for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
		sel[sel.length] = new Option('---------------------------------------');
   		for (x=0; x<=xml.length-1; x++) 	{ sel[sel.length] = new Option(xml[x].getAttribute('Model')); }
  	}
	/*
	var xml = xmlHTTP.responseXML.getElementsByTagName(escape(table));
	for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
	sel[sel.length] = new Option('---------------------------------------');
   	for (x=0; x<=xml.length-1; x++) 	{ sel[sel.length] = new Option(xml[x].getAttribute('Model')); }
   	*/
}

function initialiseAnHttpRequest(url)
{	
	if (moz)    { xmlHTTP = new XMLHttpRequest();}
   	else if (ie) { xmlHTTP = new ActiveXObject('Microsoft.XMLHTTP');}		
	if (xmlHTTP!=null)
 	{
		//Mode synchrone
		xmlHTTP.onreadystatechange=state_Change;
		xmlHTTP.open("GET",url,false);
		//Mode asynchrone
		xmlHTTP.send(null);
  	}
	else
  	{
  		alert("Your browser does not support XMLHTTP.");
  	}
}

function state_Change()
{
	if (xmlHTTP.readyState==4)
  	{
		if (xmlHTTP.status==200)
    		{
    			// ...some code here...
    		}
 	 	else
    		{
    			alert("Problem retrieving XML data. Status's code is ="+xmlHTTP.status)
    		}
  	}
}


function RemplacerCaractereSpeciaux(chaineAmodifier)
{
	var aRemplacer = /\'/g;
	chaineAmodifier = chaineAmodifier.replace(aRemplacer ,"''");
	return chaineAmodifier;
}

function chargeXmlForTypes(table, make, model, version, sel) 
{
		
	make = make.replace("'", "''");
	model = model.replace("'", "''");
	version = RemplacerCaractereSpeciaux(version);
	version = version.replace("&amp;","&");
	var  body= document.getElementById('aProtegysContractMotoWEB_BodyVehicle_BodyVehicle');
	url = '/ClientDirect/FillTypesIntoListForMoto.asp?table=' + escape(table); 
   	url += '&make=' + make;
   	url += '&model='+ model;
   	url += '&version='+ version;
	url += '&body=' + body.value;
		
	initialiseAnHttpRequestxmlHTTPForType(url);
	
	var xml;
	if (moz)
	{
		xml = xmlHTTPForType.responseXML;
		var docXML= xmlHTTPForType.responseXML.documentElement;
		var comroot = docXML.getElementsByTagName(escape(table));
		var curNode;
		for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
		sel[sel.length] = new Option('---------------------------------------');
   		for (var i=0; i<= docXML.childNodes.length-1; i++) 
		{
			curNode = docXML.childNodes[i];
			if (curNode.textContent != "\n")
			{
				sel[sel.length] = new Option(curNode.textContent);
			}
		}
	}
	else if (ie)
	{
		xml = xmlHTTPForType.responseXML.getElementsByTagName(escape(table));
		for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
		sel[sel.length] = new Option('---------------------------------------');
   		for (x=0; x<=xml.length-1; x++) 	{ sel[sel.length] = new Option(xml[x].getAttribute('Type')); }
	}
}




function chargeXmlForVersions(table, make, model, sel) 
{
	var str = '';	
	make = make.replace("'", "''");
	model = model.replace("'", "''");
	var  body= document.getElementById('aProtegysContractMotoWEB_BodyVehicle_BodyVehicle');
	url = '/ClientDirect/FillVersionsIntoListForMoto.asp?table=' + escape(table); 
   	url += '&make=' + make;
   	url += '&model='+ model;
	url += '&body=' + body.value;

	initialiseAnHttpRequestForVersion(url);		
	var xml;
	if (moz)
	{
		xml = xmlHTTPForVersion.responseXML;
		var docXML= xmlHTTPForVersion.responseXML.documentElement;
		var comroot = docXML.getElementsByTagName(escape(table));
		var curNode;
		for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
		sel[sel.length] = new Option('---------------------------------------');
   		for (var i=0; i<= docXML.childNodes.length-1; i++) 
		{
			curNode = docXML.childNodes[i];
			if (curNode.textContent != "\n")
			{
				sel[sel.length] = new Option(curNode.textContent);
			}
		}
	}
	else if (ie)
	{
		xml = xmlHTTPForVersion.responseXML.getElementsByTagName(escape(table));
		for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
		sel[sel.length] = new Option('---------------------------------------');
   		for (x=0; x<=xml.length-1; x++) 	{ sel[sel.length] = new Option(xml[x].getAttribute('Version')); }
	}
}

function chargeXmlForMakes(table, make, sel)
{	
	make = make.replace("'", "''");	
	url = '/ClientDirect/FillMakesIntoListForMoto.asp?table=' + escape(table); 
	
	initialiseAHttpRequestxmlHTTPForMake(url);
	var xml;
	if (moz)
	{
		xml = xmlHTTPForMake.responseXML;
		var docXML= xmlHTTPForMake.responseXML.documentElement;
		var comroot = docXML.getElementsByTagName(escape(table));
		var curNode;
		for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
		sel[sel.length] = new Option('---------------------------------------');
   		for (var i=0; i<= docXML.childNodes.length-1; i++) 
		{
			curNode = docXML.childNodes[i];
			if (curNode.textContent != "\n")
			{
				sel[sel.length] = new Option(curNode.textContent);
			}
		}
	}
	else if (ie)
	{
		xml = xmlHTTPForMake.responseXML.getElementsByTagName(escape(table));
		for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
		sel[sel.length] = new Option('---------------------------------------');
   		for (x=0; x<=xml.length-1; x++) 	{ sel[sel.length] = new Option(xml[x].getAttribute('make')); }
	}
}

function initialiseAHttpRequestxmlHTTPForMake(url)
{
	if (moz)    { xmlHTTPForMake = new XMLHttpRequest();}
   	else if (ie) { xmlHTTPForMake = new ActiveXObject('Microsoft.XMLHTTP');}		
	
	if (xmlHTTPForMake!=null)
 	{
		xmlHTTPForMake.onreadystatechange=state_ChangeForMake;
		xmlHTTPForMake.open("GET",url,false);
		xmlHTTPForMake.send(null);
  	}
	else
  	{
  		alert("Your browser does not support xmlHTTPForMake.");
  	} 	
}

function state_ChangeForMake()
{
	if (xmlHTTPForMake.readyState==4)
  	{
		if (xmlHTTPForMake.status==200)
	    	{
	    	}
 	 	else
	    	{
	    		alert("Problem retrieving XML data. Status's code is ="+xmlHTTPForMake.status)
	    	}
  	}
}

function initialiseAnHttpRequestxmlHTTPForType(url)
{
	if (moz)    { xmlHTTPForType = new XMLHttpRequest();}
   	else if (ie) { xmlHTTPForType = new ActiveXObject('Microsoft.XMLHTTP');}		
	if (xmlHTTPForType!=null)
 	{
		xmlHTTPForType.onreadystatechange=state_ChangeForType;
		xmlHTTPForType.open("GET",url,false);
		xmlHTTPForType.send(null);
  	}
	else
  	{
  		alert("Your browser does not support xmlHTTPForType.");
  	}
}

function initialiseAnHttpRequestForVersion(url)
{
	if (moz)    { xmlHTTPForVersion = new XMLHttpRequest();}
   	else if (ie) { xmlHTTPForVersion = new ActiveXObject('Microsoft.XMLHTTP');}		
	if (xmlHTTPForVersion!=null)
 	{
		xmlHTTPForVersion.onreadystatechange=state_ChangeForVersion;
		xmlHTTPForVersion.open("GET",url,false);
		xmlHTTPForVersion.send(null);
  	}
	else
  	{
  		alert("Your browser does not support xmlHTTPForVersion.");
  	}
}

function state_ChangeForVersion()
{
	if (xmlHTTPForVersion.readyState==4)
  	{
		if (xmlHTTPForVersion.status==200)
	    	{
	    	}
 	 	else
	    	{
	    		alert("Problem retrieving XML data. Status's code is ="+xmlHTTPForVersion.status)
	    	}
  	}
}

function state_ChangeForType()
{
	if (xmlHTTPForType.readyState==4)
  	{
		if (xmlHTTPForType.status==200)
	    	{
    		// ...some code here...
    		}
 	 	else
    		{
    			alert("Problem retrieving XML data. Status's code is ="+xmlHTTPForVersion.status)
    		}
  	}
}

function MakeOnChange()
{
	var form = document.forms[0];
	var elementMake 	= document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_19112');
	var elementModel 	= document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_15849');
	var elementVersion	= document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_28409');
	var elementType		= document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_10855');
	form.elements[2].value='';
	form.elements[4].value='';
	form.elements[6].value='';
	form.elements[8].value='';

	var hidMark = document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_19347');//------- Sauvegarder ds le champs HIDDEN
	hidMark.value = elementMake.selectedIndex;
	ReinitialiseSelectList(elementModel);
	ReinitialiseSelectList(elementVersion);
	ReinitialiseSelectList(elementType);
	chargeXmlForModels('aGSCROGTAEntry', 'Make', elementMake.options[elementMake.selectedIndex].innerHTML, elementModel );
}

function ModelOnChange()
{	
	var elementMake 	= 	document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_19112');
	var elementModel 	= 	document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_15849');
	var elementVersion	=	document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_28409');
	var elementType		=	document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_10855');
	
	var hidModel = document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_14364');//------- Sauvegarder ds le champs HIDDEN
	hidModel.value = elementModel.selectedIndex;
	ReinitialiseSelectList(elementVersion);
	ReinitialiseSelectList(elementType);
	chargeXmlForVersions('aGSCROGTAEntry', elementMake.options[elementMake.selectedIndex].innerHTML , elementModel.options[elementModel.selectedIndex].innerHTML, elementVersion );
	
}

function VersionOnChange()
{
	var elementMake 	= 	document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_19112');
	var elementModel 	= 	document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_15849');
	var elementVersion	=	document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_28409');
	var elementType		=	document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_10855');
	
	var hidversion = document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_26894');//------- Sauvegarder ds le champs HIDDEN
	hidversion.value = elementVersion.selectedIndex;
	ReinitialiseSelectList(elementType);
	chargeXmlForTypes('aGSCROGTAEntry', elementMake.options[elementMake.selectedIndex].innerHTML , elementModel.options[elementModel.selectedIndex].innerHTML, elementVersion.options[elementVersion.selectedIndex].innerHTML , elementType);
	
}

function ReinitialiseSelectList(sel)
{
	for (x=sel.length-1; x>=0; x--)   	{sel.options[x] = null;}
	sel[sel.length] = new Option('---------------------------------------');
}

function FillCity(Code)
{
	var elementCP 	= document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_10056');
	var elementCity = document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_5400');
	if (elementCP.value.length == 5)
	{
		chargeXMLForCity (elementCP.value, elementCity);
	}
	
}

function TypeOnChange()
{
	var hidtype   = document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_13478');
	var elementType		=	document.getElementById('aProtegysContractMotoWEB_VehicleInfoGeneriqueOnePage_10855');
	hidtype.value = elementType.selectedIndex;
}

