//Instancia un nuevo objeto XMLHttpRequest
function obtenerXHR(){
	req=false;
	if(window.XMLHttpRequest){
		req=new XMLHttpRequest();
	}else{
		if(ActiveXObject){
			//Definimos un vector con las distintas posibilidades
			var vectorVersiones=["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp", "Microsoft.XMLHttp"];
			//Lo recorremos e intentamos instanciar cada uno
			for(var i=0; i<vectorVersiones.length; i++){
				try{
					req=new ActiveXObject(vectorVersiones[i]);
					return req;
				}catch(e){
				}
			}
		}
	}
	return req;
}

function cargar(url,obId,obId2,obId3)
{
	var obXHR = obtenerXHR();
	var obCon = document.getElementById(obId);            //En este caso viene por parámetro.
	var preloader = document.getElementById('preloader_productos'); //recoge el elemento de la pagina cuyo nombre sea "preloader"
	var box1= document.getElementById('categoria');                //Combo box a desactivar.
	var box2= document.getElementById('familia');
	var box3= document.getElementById('fabricante');
	var btn1= document.getElementById('botonb');
	
	var obCon2 = document.getElementById(obId2);
	var obCon3 = document.getElementById(obId3); 
	
	//tengo que hacer un curso de Ajax q es la ostia.
	obXHR.open("GET", url, true);
	obXHR.onreadystatechange = function() 
	{
		if(obXHR.readyState == 1){
	
			preloader.style.background = "url('../img/cargando.gif') no-repeat";

			box1.disabled=true;
			box2.disabled=true;
			box3.disabled=true;
			btn1.disabled=true;
			
		}
		else if (obXHR.readyState == 4 && obXHR.status == 200) 
		{
			//Pondriamos algo si indicara "esta cargado"
						
			preloader.style.background = "none";
		
				
			box1.disabled=false;
			box2.disabled=false;
			box3.disabled=false;
			btn1.disabled=false;
			
			
			obXML = obXHR.responseXML;
			obCod = obXML.getElementsByTagName("codigo");
			obDes = obXML.getElementsByTagName("descri");
			obCon.length=obCod.length;	
			for (var i=0; i<obCod.length;i++) 
			{		

				obCon.options[i].value=obCod[i].firstChild.nodeValue;
				obCon.options[i].text=obDes[i].firstChild.nodeValue;
				
				/*seleccionar uno por defcto 
					if (obCon.options[i].value == d) {
					obCon.options[i].selected = true;
				}*/
			}
			
			if(obId2!=""){
				//----------------Objeto2 Box familia------------------//
				obCod2 = obXML.getElementsByTagName("codigofamilia");
				obDes2 = obXML.getElementsByTagName("nombrefamilia");
				obCon2.length=obCod2.length;	
				for (var i=0; i<obCod2.length;i++) 
				{				
					obCon2.options[i].value=obCod2[i].firstChild.nodeValue;
					obCon2.options[i].text=obDes2[i].firstChild.nodeValue;
				}
			}
			if(obId3!=""){
				//----------------Objeto3 Box fabricante----------------//
				obCod3 = obXML.getElementsByTagName("codigofabricante");
				obDes3 = obXML.getElementsByTagName("nombrefabricante");
				obCon3.length=obCod3.length;	
				for (var i=0; i<obCod3.length;i++) 
				{				
					obCon3.options[i].value=obCod3[i].firstChild.nodeValue;
					obCon3.options[i].text=obDes3[i].firstChild.nodeValue;
				}
			}
			
		}
	}
	obXHR.send(null);
}
