var strBrowserAgent_Ajax;

var MarkID;
var MarkDesc;
var ModelID;
var ModelDesc;
var CombustibleID;
var PuertasID;
var PotenciaID;
var VersionID;
function getHTTPObject() 
{
    //Declaración de variables
    var req;
    req = false;
    
    if(  window.XMLHttpRequest && !(window.ActiveXObject)) 
    {
    	try 
    	{
			req = new XMLHttpRequest();
        } 
        catch(e) 
        {
			req = false;
        }

    } 
    else if(window.ActiveXObject) 
    {
       	try 
       	{
        	req = new ActiveXObject("Msxml2.XMLHTTP");
      	} 
      	catch(e) 
      	{
        	try 
        	{
          		req = new ActiveXObject("Microsoft.XMLHTTP");
        	}
        	catch(e) 
        	{
          		req = false;
        	}
		}
    }
    
    return req;
    
}

function LoadModelsAndVersions(intSelection)
{
	var secondAttempt = false;
	
	//Se muestran los literales de cargando...
	if (intSelection.toString().length == 1)
	{
		

	  
	  var textoMarca;
		var textoModelo;
		var textoCombustible;
		var textoPuertas;
		var textoPotencia;
		var textoVersion;
		
		var intC;
		var blnLoadXML;
		var xmlDoc;
		var objControl;
		var mySerializer;
		var xmlSerializer;
		
	  
	  

		
		if (intSelection.toString().substring(0,1) == "1")
		{
			MarkID=document.MainForm.marca.value;
			MarkDesc=document.MainForm.marca.options[document.MainForm.marca.selectedIndex].text;
			ModelID='';
			ModelDesc='';
			CombustibleID='';
			PuertasID='';
			PotenciaID='';
			VersionID='';
			
			//Se cargan los Modelos
			if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0)
			{
				replaceContents(window.document.forms['MainForm'].modelo,'modelo','<SELECT class="comboNormNoWidth" name="modelo" id="modelo"><OPTION>Cargando...</OPTION></SELECT>');
				replaceContents(window.document.forms['MainForm'].combustible,'combustible','<SELECT class="comboNormNoWidth" name="combustible" id="combustible"><OPTION>Indicar</OPTION></SELECT>');
				replaceContents(window.document.forms['MainForm'].puertas,'puertas','<SELECT class="comboNormNoWidth" name="puertas" id="puertas"><OPTION>Indicar</OPTION></SELECT>');
				replaceContents(window.document.forms['MainForm'].potencia,'potencia','<SELECT class="comboNormNoWidth" name="potencia" id="potencia"><OPTION>Indicar</OPTION></SELECT>');
				replaceContents(window.document.forms['MainForm'].version,'version','<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION>Indicar</OPTION></SELECT>');
				
			}	
			else
			{
				document.getElementById("modelo").outerHTML = '<SELECT class="comboNormNoWidth" name="modelo" id="modelo"><OPTION>Cargando...</OPTION></SELECT>';
				document.getElementById("combustible").outerHTML = '<SELECT class="comboNormNoWidth" name="combustible" id="combustible"><OPTION>Indicar</OPTION></SELECT>';
				document.getElementById("puertas").outerHTML = '<SELECT class="comboNormNoWidth" name="puertas" id="puertas"><OPTION>Indicar</OPTION></SELECT>';
				document.getElementById("potencia").outerHTML = '<SELECT class="comboNormNoWidth" name="potencia" id="potencia"><OPTION>Indicar</OPTION></SELECT>';
				document.getElementById("version").outerHTML = '<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION>Indicar</OPTION></SELECT>';
				
			}

			document.getElementById("modelo").disabled = true;
			document.getElementById("combustible").disabled = true;
			document.getElementById("puertas").disabled = true;
			document.getElementById("potencia").disabled = true;
			document.getElementById("version").disabled = true;
		
		
	}else if (intSelection.toString().substring(0,1) == "2"){
			
			MarkID=document.MainForm.marca.value;
			MarkDesc=document.MainForm.marca.options[document.MainForm.marca.selectedIndex].text;
			ModelID=document.MainForm.modelo.value;
			ModelDesc=document.MainForm.modelo.options[document.MainForm.modelo.selectedIndex].text;
			CombustibleID='';
			PuertasID='';
			PotenciaID='';
			VersionID='';
			
			
			//Se cargan los Modelos
			if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0)
			{
				replaceContents(window.document.forms['MainForm'].combustible,'combustible','<SELECT class="comboNormNoWidth" name="combustible" id="combustible"><OPTION>Cargando...</OPTION></SELECT>');
				replaceContents(window.document.forms['MainForm'].puertas,'puertas','<SELECT class="comboNormNoWidth" name="puertas" id="puertas"><OPTION>Indicar</OPTION></SELECT>');
				replaceContents(window.document.forms['MainForm'].potencia,'potencia','<SELECT class="comboNormNoWidth" name="potencia" id="potencia"><OPTION>Indicar</OPTION></SELECT>');
				replaceContents(window.document.forms['MainForm'].version,'version','<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION>Indicar</OPTION></SELECT>');
				
			}	
			else
			{
				document.getElementById("combustible").outerHTML = '<SELECT class="comboNormNoWidth" name="combustible" id="combustible"><OPTION>Cargando...</OPTION></SELECT>';
				document.getElementById("puertas").outerHTML = '<SELECT class="comboNormNoWidth" name="puertas" id="puertas"><OPTION>Indicar</OPTION></SELECT>';
				document.getElementById("potencia").outerHTML = '<SELECT class="comboNormNoWidth" name="potencia" id="potencia"><OPTION>Indicar</OPTION></SELECT>';
				document.getElementById("version").outerHTML = '<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION>Indicar</OPTION></SELECT>';
				
			}

			document.getElementById("combustible").disabled = true;
			document.getElementById("puertas").disabled = true;
			document.getElementById("potencia").disabled = true;
			document.getElementById("version").disabled = true;
		
	}else if (intSelection.toString().substring(0,1) == "3"){

		MarkID=document.MainForm.marca.value;
		MarkDesc=document.MainForm.marca.options[document.MainForm.marca.selectedIndex].text;
		ModelID=document.MainForm.modelo.value;
		ModelDesc=document.MainForm.modelo.options[document.MainForm.modelo.selectedIndex].text;
		CombustibleID = document.MainForm.combustible.value;	
		PuertasID='';
		PotenciaID='';
		VersionID='';
		
		//Se cargan los Modelos
			if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0)
			{
				replaceContents(window.document.forms['MainForm'].puertas,'puertas','<SELECT class="comboNormNoWidth" name="puertas" id="puertas"><OPTION>Cargando...</OPTION></SELECT>');
				replaceContents(window.document.forms['MainForm'].potencia,'potencia','<SELECT class="comboNormNoWidth" name="potencia" id="potencia"><OPTION>Indicar</OPTION></SELECT>');
				replaceContents(window.document.forms['MainForm'].version,'version','<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION>Indicar</OPTION></SELECT>');
				
			}	
			else
			{
				document.getElementById("puertas").outerHTML = '<SELECT class="comboNormNoWidth" name="puertas" id="puertas"><OPTION>Cargando...</OPTION></SELECT>';
				document.getElementById("potencia").outerHTML = '<SELECT class="comboNormNoWidth" name="potencia" id="potencia"><OPTION>Indicar</OPTION></SELECT>';
				document.getElementById("version").outerHTML = '<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION>Indicar</OPTION></SELECT>';
				
			}

			document.getElementById("puertas").disabled = true;
			document.getElementById("potencia").disabled = true;
			document.getElementById("version").disabled = true;
	}else if (intSelection.toString().substring(0,1) == "4"){
			MarkID=document.MainForm.marca.value;
			MarkDesc=document.MainForm.marca.options[document.MainForm.marca.selectedIndex].text;
			ModelID=document.MainForm.modelo.value;
			ModelDesc=document.MainForm.modelo.options[document.MainForm.modelo.selectedIndex].text;
			CombustibleID = document.MainForm.combustible.value;	
	  	PuertasID = document.MainForm.puertas.value;	
			PotenciaID='';
			VersionID='';
	  
		//Se cargan los Modelos
			if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0)
			{
				replaceContents(window.document.forms['MainForm'].potencia,'potencia','<SELECT class="comboNormNoWidth" name="potencia" id="potencia"><OPTION>Cargando...</OPTION></SELECT>');
				replaceContents(window.document.forms['MainForm'].version,'version','<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION>Indicar</OPTION></SELECT>');
				
			}	
			else
			{
				document.getElementById("potencia").outerHTML = '<SELECT class="comboNormNoWidth" name="potencia" id="potencia"><OPTION>Cargando...</OPTION></SELECT>';
				document.getElementById("version").outerHTML = '<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION>Indicar</OPTION></SELECT>';
				
			}

			document.getElementById("potencia").disabled = true;
			document.getElementById("version").disabled = true;
	}else if (intSelection.toString().substring(0,1) == "5"){
			MarkID=document.MainForm.marca.value;
			MarkDesc=document.MainForm.marca.options[document.MainForm.marca.selectedIndex].text;
			ModelID=document.MainForm.modelo.value;
			ModelDesc=document.MainForm.modelo.options[document.MainForm.modelo.selectedIndex].text;
			CombustibleID = document.MainForm.combustible.value;	
	  	PuertasID = document.MainForm.puertas.value;	
	  	PotenciaID = document.MainForm.potencia.value;
			VersionID='';
			//Se cargan los Modelos
			if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0)
			{
				replaceContents(window.document.forms['MainForm'].version,'version','<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION>Cargando...</OPTION></SELECT>');
				
			}	
			else
			{
				document.getElementById("version").outerHTML = '<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION>Cargando...</OPTION></SELECT>';
				
			}

			document.getElementById("version").disabled = true;
		}
	}
	
	
	
	var http = getHTTPObject();
	http.open("GET", "DatosMinimos_Coches1.asp?hddMarkID=" + MarkID + "&hddModelID=" + ModelID + "&hddMarkDesc=" + MarkDesc + "&hddModelDesc=" + ModelDesc  + "&hddCombustible=" + CombustibleID + "&hddPuertas=" + PuertasID + "&hddPotencia=" + PotenciaID + "&hddVersionID=" + VersionID +   "&hddType=" + intSelection , true);
	
	http.onreadystatechange = function() 
	{	
		if (http.readyState == 4 && http.status == 200)
		{	
			
			try{
				
				//Comprobamos la versión del navegador para cargar los datos
				if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0 || strBrowserAgent_Ajax.toLowerCase().indexOf('safari') > 0){
					var parser = new DOMParser();
    				xmlDoc = parser.parseFromString('<xml>' + http.responseText + '</xml>',"text/xml");
					blnLoadXML = true;
				} else {
					//Se hace el load del XML
					xmlDoc = new ActiveXObject("msxml2.DOMDocument");
					xmlDoc.preserveWhiteSpace = true;
					blnLoadXML = xmlDoc.loadXML('<xml>' + http.responseText + '</xml>');
				}	

				
				
				if (blnLoadXML == true) {

					//Obtenemos todos los options
					objControl = xmlDoc.getElementsByTagName('SELECT');
					
					if (objControl.length == 0 ){
						//Lo hacemos a las bravas
						textoMarca = '<SELECT class="comboNormNoWidth" name="marca" id="marca" onChange="LoadMarksModelsAndVersions(1);"><OPTION value="0">Indicar</OPTION></SELECT>';
						textoModelo = '<SELECT class="comboNormNoWidth" name="modelo" id="modelo" onChange="LoadMarksModelsAndVersions(2);"><OPTION value="0">Indicar</OPTION></SELECT>';
						textoModelo = '<SELECT class="comboNormNoWidth" name="combustible" id="combustible" onChange="LoadMarksModelsAndVersions(3);"><OPTION value="0">Indicar</OPTION></SELECT>';
						textoModelo = '<SELECT class="comboNormNoWidth" name="puertas" id="puertas" onChange="LoadMarksModelsAndVersions(4);"><OPTION value="0">Indicar</OPTION></SELECT>';
						textoModelo = '<SELECT class="comboNormNoWidth" name="potencia" id="potencia" onChange="LoadMarksModelsAndVersions(5);"><OPTION value="0">Indicar</OPTION></SELECT>';
						textoVersion = '<SELECT class="comboNormNoWidth" name="version" id="version"><OPTION value="0">Indicar</OPTION></SELECT>';
					} else {
										
						for (intC=0;intC<=objControl.length-1;intC++) {
							
							//Recuperamos el combo
							if (objControl[intC].xml == null || objControl[intC].xml == 'undefined') {
								mySerializer = new XMLSerializer();
								xmlSerializer = mySerializer.serializeToString(objControl[intC]);
							} else {
								xmlSerializer = objControl[intC].xml;
							}
							
							//Se asignan los valores a marca, modelo y versión
							if (objControl[intC].attributes.getNamedItem("name").value.toLowerCase() == "marca") {
								textoMarca = xmlSerializer;
							} else if (objControl[intC].attributes.getNamedItem("name").value.toLowerCase() == "modelo") {	
								textoModelo = xmlSerializer;
							} else if (objControl[intC].attributes.getNamedItem("name").value.toLowerCase() == "combustible") {	
								textoCombustible = xmlSerializer;
							} else if (objControl[intC].attributes.getNamedItem("name").value.toLowerCase() == "puertas") {	
								textoPuertas = xmlSerializer;
							} else if (objControl[intC].attributes.getNamedItem("name").value.toLowerCase() == "potencia") {	
								textoPotencia = xmlSerializer;		
							} else if (objControl[intC].attributes.getNamedItem("name").value.toLowerCase() == "version") {
								textoVersion = xmlSerializer;
							}
							
						}
					}
				
				}
				
				
				//Combo de Marcas
				
				if (textoMarca != null && textoMarca != 'undefined') {
					if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0){
						replaceContents(window.document.forms['MainForm'].marca,'marca',textoMarca);
					} else {
						document.getElementById("marca").outerHTML = textoMarca;
					}
				}
				
				//Combo de Modelos
				if (textoModelo != null &&  textoModelo != 'undefined') {
					if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0){
						replaceContents(window.document.forms['MainForm'].modelo,'modelo',textoModelo);
					} else {
						document.getElementById("modelo").outerHTML = textoModelo;
					}
				}
				
				//Combo de Combustible
				if (textoCombustible != null &&  textoCombustible != 'undefined') {
					if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0){
						replaceContents(window.document.forms['MainForm'].combustible,'modelo',textoCombustible);
					} else {
						document.getElementById("combustible").outerHTML = textoCombustible;
					}
				}
				
				//Combo de Puertas
				if (textoPuertas != null &&  textoPuertas != 'undefined') {
					if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0){
						replaceContents(window.document.forms['MainForm'].puertas,'modelo',textoPuertas);
					} else {
						document.getElementById("puertas").outerHTML = textoPuertas;
					}
				}
				
				//Combo de Potencia
				if (textoPotencia != null &&  textoPotencia != 'undefined') {
					if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0){
						replaceContents(window.document.forms['MainForm'].potencia,'modelo',textoPotencia);
					} else {
						document.getElementById("potencia").outerHTML = textoPotencia;
					}
				}
				//Combo de Version
				if (textoVersion != null &&  textoVersion != 'undefined') {
					if (strBrowserAgent_Ajax.toLowerCase().indexOf('firefox') > 0){
						replaceContents(window.document.forms['MainForm'].version,'modelo',textoVersion);
					} else {
						document.getElementById("version").outerHTML = textoVersion;
					}
				}
				
					
				
				
				
			}
			catch (e){alert('Error:' + e);}
		}
	}
	http.send(null);

	//Segundo intento si caducó la sesión en el primero	
	if (secondAttempt)
	{
		this.LoadModelsAndVersions(intSelection + '0');
	}
}


function LoadModels3(strMarkId, strModelId, strCombustible, strDoors, strPower, strVersion){
	
	var charSEP = '%23';
		
	//Lanza la carga de modelos de una marca seleccionada
	MarkID=strMarkId;
	MarkDesc='';
	ModelID=strModelId;
	ModelDesc='';
	CombustibleID = strCombustible;	
	PuertasID = strDoors;	
	PotenciaID = strPower;
	VersionID = Replace(strVersion, '#', charSEP);
	
	LoadModelsAndVersions(6);
	
}


//Función que reemplaza un combo por otro nuevo, para FireFox 
function replaceContents(oldElement,newElementName,newContent){
    var newElement=document.createElement(newElementName);
    newElement.innerHTML=newContent;
    oldElement.parentNode.replaceChild(newElement,oldElement);
}

function MaintainSession(intSessionTime){
	setTimeout('javascript:GetBlankPage(' + intSessionTime + ')',intSessionTime-60000);
}

function GetBlankPage(intSessionTime){
	//Se encarga de lanzar una petición Ajax a una página vacía para que no caduque la sesión
	var http = getHTTPObject();
	http.open("GET", "/blank.asp", true);
	http.send(null);
	setTimeout('javascript:GetBlankPage(' + intSessionTime + ')',intSessionTime-60000);
}
