/*
* Fecha: 16-01-2008
* Autor: ablesa@masterd.es
* Funciones para la carga  de los SELECT para Paises, Provincias, Poblaciones, Codigos postales, y Estudios.
* Actualizacion 20-02-2008 : A�adida funcion para obtener el obj XMLHttpRequest concreto dependiendo del tipo de IExplorer
*/

  var reqPaises;
  var reqProvincias;
  var reqEstudios;
  var reqCodigosPostales;
  var reqPoblaciones;
  
  var urlPaises;
  var urlProvincias;
  var urlEstudios;
  var urlCodigosPostales;
  var urlPoblaciones;
  
  /*
  * Funcion para cargar un determinado control HTML (un DIV) que se pasa por nombre en 
  * el parametro divElementParam
  * IMPORTTANTE: cambiar 'http://cupontracker.masterd.es/tracker' o  http://localhost:8080
  * por la URL de vuestro servidor donde resida el 
  * proxy-masterd.php o en su defecto el proxy programado en la tecnolog�a correspondiente.
  *
  * Actualizacion 20-02-2008: Anadida funcion para obtener el obj XMLHttpRequest correcto en 
  * funcion del IExplorer que tengamos 6.0. , 7.0 u otro
  */
  function loadCombo(divElementParam) {
	    if (window.XMLHttpRequest) { // Non-IE browsers
	      try {
			  if(divElementParam == "estudiosDiv"){
			      urlEstudios = "http://www.tuformacionprofesional.com/tracker/proxy-masterd.php?action=getNivelEstudiosCombo";
			      //urlEstudios = "http://cupontracker.masterd.es/tracker/proxy-masterd.php?action=getNivelEstudiosCombo";
			      reqEstudios = new XMLHttpRequest();
			      reqEstudios.onreadystatechange = processStateChangeEstudios;
			      reqEstudios.open("GET", urlEstudios, true);
				  reqEstudios.send(null);
			      
			  }else if(divElementParam == "provinciasDiv"){
			      urlProvincias = "http://www.tuformacionprofesional.com/tracker/proxy-masterd.php?action=getProvinciasCombo";
			      //urlProvincias = "http://cupontracker.masterd.es/tracker/proxy-masterd.php?action=getProvinciasCombo";
	  		      reqProvincias = new XMLHttpRequest();
			      reqProvincias.onreadystatechange = processStateChangeProvincias;
			      reqProvincias.open("GET", urlProvincias, true);
				  reqProvincias.send(null);
			      
		  	  }else if(divElementParam == "poblacionesDiv"){
		  	      urlPoblaciones = "http://www.tuformacionprofesional.com/tracker/proxy-masterd.php?action=getPoblacionesCombo&provinciaid="+document.getElementById('provinciaid').value;
		  	      //urlPoblaciones = "http://cupontracker.masterd.es/tracker/proxy-masterd.php?action=getPoblacionesCombo&provinciaid="+document.getElementById('provinciaId').value;
	  		      reqPoblaciones = new XMLHttpRequest();
			  	  reqPoblaciones.onreadystatechange = processStateChangePoblaciones;
			      reqPoblaciones.open("GET", urlPoblaciones, true);
			      reqPoblaciones.send(null);

			  }else if(divElementParam == "codigosPostalesDiv"){
		  	      urlCodigosPostales = "http://www.tuformacionprofesional.com/tracker/proxy-masterd.php?action=getCodigosPostalesCombo&poblacionid="+document.getElementById('poblacionid').value;
		  	      //urlCodigosPostales = "http://cupontracker.masterd.es/tracker/proxy-masterd.php?action=getCodigosPostalesCombo&poblacionid="+document.getElementById('poblacionId').value;
	  		      reqCodigosPostales = new XMLHttpRequest();
				  reqCodigosPostales.onreadystatechange = processStateChangeCodigosPostales;		  
			      reqCodigosPostales.open("GET", urlCodigosPostales, true);
			      reqCodigosPostales.send(null);
			  }else if(divElementParam == "paisIdDiv") {
				  urlPaises = "http://www.tuformacionprofesional.com/tracker/proxy-masterd.php?action=getpaisescombo";
			      //urlCodigosPostales = "http://cupontracker.masterd.es/tracker/proxy-masterd.php?action=getCodigosPostalesCombo&poblacionid="+document.getElementById('poblacionId').value;
			      reqPaises = new XMLHttpRequest();
			      reqPaises.onreadystatechange = processStateChangePaises;		  
			      reqPaises.open("GET", urlPaises, true);
			      reqPaises.send(null);
		      }				           
	      } catch (e) {
	          alert(e);
	      }
	    } else if (window.ActiveXObject) { // IE
	      //req = new ActiveXObject("Microsoft.XMLHTTP");
		  req = getXmlHttpObject();
	      if (req) {
		    if(divElementParam == "estudiosDiv"){
			      urlEstudios = "http://www.tuformacionprofesional.com/tracker/proxy-masterd.php?action=getNivelEstudiosCombo";
			      //urlEstudios = "http://cupontracker.masterd.es/tracker/proxy-masterd.php?action=getNivelEstudiosCombo";
			      reqEstudios = req;
			      reqEstudios.onreadystatechange = processStateChangeEstudios;
			      reqEstudios.open("GET", urlEstudios, true);
		          reqEstudios.send();
			      
			}else if(divElementParam == "provinciasDiv"){
			      urlProvincias = "http://www.tuformacionprofesional.com/tracker/proxy-masterd.php?action=getProvinciasCombo";
			      //urlProvincias = "http://cupontracker.masterd.es/tracker/proxy-masterd.php?action=getProvinciasCombo";
			      reqProvincias = req;
			      reqProvincias.onreadystatechange = processStateChangeProvincias;
			      reqProvincias.open("GET", urlProvincias, true);
		          reqProvincias.send();
			       
		  	}else if(divElementParam == "poblacionesDiv"){
		  	      urlPoblaciones = "http://www.tuformacionprofesional.com/tracker/proxy-masterd.php?action=getPoblacionesCombo&provinciaid="+document.getElementById('provinciaid').value;
		  	      //urlPoblaciones = "http://cupontracker.masterd.es/tracker/proxy-masterd.php?action=getPoblacionesCombo&provinciaid="+document.getElementById('provinciaId').value;
		  	      reqPoblaciones = req;
			  	  reqPoblaciones.onreadystatechange = processStateChangePoblaciones;
			      reqPoblaciones.open("GET", urlPoblaciones, true);
		          reqPoblaciones.send();
			  	  
			}else if(divElementParam == "codigosPostalesDiv"){
			      urlCodigosPostales = "http://www.tuformacionprofesional.com/tracker/proxy-masterd.php?action=getCodigosPostalesCombo&poblacionid="+document.getElementById('poblacionid').value;
		  	      //urlCodigosPostales = "http://cupontracker.masterd.es/tracker/proxy-masterd.php?action=getCodigosPostalesCombo&poblacionid="+document.getElementById('poblacionId').value;
		  	      reqCodigosPostales = req;
				  reqCodigosPostales.onreadystatechange = processStateChangeCodigosPostales;		  
			      reqCodigosPostales.open("GET", urlCodigosPostales, true);
		          reqCodigosPostales.send();
			}else if(divElementParam == "paisIdDiv") {
				urlPaises = "http://www.tuformacionprofesional.com/tracker/proxy-masterd.php?action=getpaisescombo";
				//urlCodigosPostales = "http://cupontracker.masterd.es/tracker/proxy-masterd.php?action=getCodigosPostalesCombo&poblacionid="+document.getElementById('poblacionId').value;
				reqPaises = req;
				reqPaises.onreadystatechange = processStateChangePaises;		  
				reqPaises.open("GET", urlPaises, true);
				reqPaises.send();
			}				            
	      }
	    }
  }

/*
 * Función handler para manejar la respuesta de la petición asincrona para cargar el select de países.
 */ 
function processStateChangePaises() {
	if (reqPaises.readyState == 4) { 			// Complete
		if (reqPaises.status == 200) { 			// OK response
			document.getElementById("paisIdDiv").innerHTML = reqPaises.responseText;
		}
		else {
			alert("Problem: " + reqPaises.statusText);
		}
	}
} 

  /*
  * Funcion handler para manejar la respuesta de la peticion asincrona para cargar el select de 
  * estudios
  */ 
  function processStateChangeEstudios() {
    if (reqEstudios.readyState == 4) { // Complete
      if (reqEstudios.status == 200) { // OK response
        document.getElementById("estudiosDiv").innerHTML = reqEstudios.responseText;
      } else {
        alert("Problem: " + reqEstudios.statusText);
      }
    }
  }  
  
  /*
  * Funcion handler para manejar la respuesta de la peticion asincrona para cargar el select de 
  * provincias
  */
  function processStateChangeProvincias() {
    if (reqProvincias.readyState == 4) { // Complete
      if (reqProvincias.status == 200) { // OK response
        document.getElementById("provinciasDiv").innerHTML = reqProvincias.responseText;
      } else {
        alert("Problem: " + reqProvincias.statusText);
      }
    }
  }    
  
  /*
  * Funcion handler para manejar la respuesta de la peticion asincrona para cargar el select de 
  * poblaciones
  */ 
  function processStateChangePoblaciones() {
    if (reqPoblaciones.readyState == 4) { // Complete
      if (reqPoblaciones.status == 200) { // OK response
        document.getElementById("poblacionesDiv").innerHTML = reqPoblaciones.responseText;
      } else {
        alert("Problem: " + reqPoblaciones.statusText);
      }
    }
  }    
  
  /*
  * Funcion handler para manejar la respuesta de la peticion asincrona para cargar el select de 
  * codigos postales
  */
  function processStateChangeCodigosPostales() {
    if (reqCodigosPostales.readyState == 4) { // Complete
      if (reqCodigosPostales.status == 200) { // OK response
        document.getElementById("codigosPostalesDiv").innerHTML = reqCodigosPostales.responseText;
      } else {
        alert("Problem: " + reqCodigosPostales.statusText);
      }
    }
  }      
  
  /*
  * Funcion para resetear el combo de codigos postales.
  * Utilizado cuando se cambia de provincia en el combo de provincias. Entonces 
  * se piden las poblaciones de esa nueva provincia, y para que no se queden los 
  * codigos postales de la ultima poblacion seleccionada, se resetea el combo de codigos postales.
  * Cuando se seleccione una nueva poblaci�n se cargar�n de nuevo los codigos postales de esa poblaci�n.
  */
 function resetComboCodigosPostales(){
	 var cpDiv       = document.getElementById('codigosPostalesDiv');
     // Eliminamos el select de cp
     cpDiv.innerHTML = "<select id='codigopostal' name='codigopostal' style='width:160px;'><option value='0'>-- Codigo postal --</option></select>";
     
 }
 
 
 /**
 * Funcion para obtener el obj XMLHttpRequest para los diferentes Iexplorer
 * Fecha Creacion: 20-02-2008 
 */
 function getXmlHttpObject(){
	var xmlHttpReq = null;
	try{
		// Nuevo para i.e. 7.0 
		xmlHttpReq = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	}catch (e){
		try	{
			//Para IE 6
			xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try	{
				xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				// NA			
			}
		}
	}
	return xmlHttpReq;
 }
 
 
 
