/*
* 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
* Actualizacion 22-04-2008 : Anadida funcion de listar especialidades de estudios para un curso.
*/

  var reqPaises;
  var reqProvincias;
  var reqEstudios;
  var reqCodigosPostales;
  var reqPoblaciones;
  var reqEspecialidadesEstudios;
  
  var urlPaises;
  var urlProvincias;
  var urlEstudios;
  var urlCodigosPostales;
  var urlPoblaciones;
  var urlEspecialidadesEstudios;
  /*
  * Funcion para cargar un determinado control HTML (un DIV) que se pasa por nombre en 
  * el parametro divElementParam
  * IMPORTTANTE: cambiar 'http://www.masterd.es/masterd' 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 == "paisesDiv"){
 			      //urlPaises = "http://localhost:8080/tracker/getPaisesCombo.action";
 			      urlPaises = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getpaisescombo";
				  //urlPaises = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?action=getPaisesCombo";
	  		      reqPaises = new XMLHttpRequest();
			      reqPaises.onreadystatechange = processStateChangePaises;
			      reqPaises.open("GET", urlPaises, true);
				  reqPaises.send(null);
			      
			  }else if(divElementParam == "estudiosDiv"){
			      //urlEstudios = "http://localhost:8080/tracker/getNivelEstudiosCombo.action";
			      urlEstudios = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getnivelestudioscombo";
				  //urlEstudios = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?action=getNivelEstudiosCombo";
			      reqEstudios = new XMLHttpRequest();
			      reqEstudios.onreadystatechange = processStateChangeEstudios;
			      reqEstudios.open("GET", urlEstudios, true);
				  reqEstudios.send(null);
			      
			  }else if(divElementParam == "provinciasDiv"){
			      //urlProvincias = "http://localhost:8080/tracker/getProvinciasCombo.action";
			      urlProvincias = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getprovinciascombo";
				  //urlProvincias = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?action=getProvinciasCombo";
	  		      reqProvincias = new XMLHttpRequest();
			      reqProvincias.onreadystatechange = processStateChangeProvincias;
			      reqProvincias.open("GET", urlProvincias, true);
				  reqProvincias.send(null);
			      
		  	  }else if(divElementParam == "poblacionesDiv"){
		  	      //urlPoblaciones = "http://localhost:8080/tracker/getPoblacionesCombo.action?provinciaid="+document.getElementById('provinciaid').value;
		  	      urlPoblaciones = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getpoblacionescombo&provinciaid="+document.getElementById('provinciaid').value;
				  //urlPoblaciones = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?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://localhost:8080/tracker/getCodigosPostalesCombo.action?poblacionid="+document.getElementById('poblacionid').value;
		  	      urlCodigosPostales = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getcodigospostalescombo&poblacionid="+document.getElementById('poblacionid').value;
				  //urlCodigosPostales = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?action=getCodigosPostalesCombo&poblacionid="+document.getElementById('poblacionid').value;
	  		      reqCodigosPostales = new XMLHttpRequest();
				  reqCodigosPostales.onreadystatechange = processStateChangeCodigosPostales;		  
			      reqCodigosPostales.open("GET", urlCodigosPostales, true);
			      reqCodigosPostales.send(null);
			      
			  }else if(divElementParam == "especialidadesDiv"){
				  urlEspecialidadesEstudios = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getespecialidadesestudioscombo";
				  //urlEspecialidadesEstudios = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?action=getEspecialidadesEstudiosCombo";
				  reqEspecialidadesEstudios = new XMLHttpRequest();
				  reqEspecialidadesEstudios.onreadystatechange = processStateChangeEspecialidadesEstudios;		  
				  reqEspecialidadesEstudios.open("GET", urlEspecialidadesEstudios, true);
				  reqEspecialidadesEstudios.send(null);
			  }
			  
	      } catch (e) {
	          alert(e);
	      }
	    } else if (window.ActiveXObject) { // IE
	      //req = new ActiveXObject("Microsoft.XMLHTTP");
		  req = getXmlHttpObject();
	      if (req) {
		    if(divElementParam == "paisesDiv"){
  			       urlPaises = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getpaisescombo";
   			       //urlPaises = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?action=getPaisesCombo";
   		           reqPaises = req;
			       reqPaises.onreadystatechange = processStateChangePaises;
			       reqPaises.open("GET", urlPaises, true);
		           reqPaises.send();
			}else if(divElementParam == "estudiosDiv"){
			      //urlEstudios = "http://localhost:8080/tracker/getNivelEstudiosCombo.action";
			      urlEstudios = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getnivelestudioscombo";
				  //urlEstudios = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?action=getNivelEstudiosCombo";
			      reqEstudios = req;
			      reqEstudios.onreadystatechange = processStateChangeEstudios;
			      reqEstudios.open("GET", urlEstudios, true);
		          reqEstudios.send();
			      
			}else if(divElementParam == "provinciasDiv"){
			      //urlProvincias = "http://localhost:8080/tracker/getProvinciasCombo.action";
			      urlProvincias = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getprovinciascombo";
				  //urlProvincias = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?action=getProvinciasCombo";
			      reqProvincias = req;
			      reqProvincias.onreadystatechange = processStateChangeProvincias;
			      reqProvincias.open("GET", urlProvincias, true);
		          reqProvincias.send();
			       
		  	}else if(divElementParam == "poblacionesDiv"){
		  	      //urlPoblaciones = "http://localhost:8080/tracker/getPoblacionesCombo.action?provinciaid="+document.getElementById('provinciaid').value;
		  	      urlPoblaciones = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getpoblacionescombo&provinciaid="+document.getElementById('provinciaid').value;
				  //urlPoblaciones = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?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://localhost:8080/tracker/getCodigosPostalesCombo.action?poblacionid="+document.getElementById('poblacionid').value;
		  	      urlCodigosPostales = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getcodigospostalescombo&poblacionid="+document.getElementById('poblacionid').value;
				  //urlCodigosPostales = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?action=getCodigosPostalesCombo&poblacionid="+document.getElementById('poblacionid').value;
		  	      reqCodigosPostales = req;
				  reqCodigosPostales.onreadystatechange = processStateChangeCodigosPostales;		  
			      reqCodigosPostales.open("GET", urlCodigosPostales, true);
		          reqCodigosPostales.send();
		          
			}else if(divElementParam == "especialidadesDiv"){
				  urlEspecialidadesEstudios = "http://www.blogenergiasrenovables.com/wp-content/proxy/proxy-masterd.php?action=getespecialidadesestudioscombo";
				  //urlEspecialidadesEstudios = "http://ainsa.masterd.es:8080/masterd/proxy-masterd.action?action=getEspecialidadesEstudiosCombo";
				  reqEspecialidadesEstudios = req;
				  reqEspecialidadesEstudios.onreadystatechange = processStateChangeEspecialidadesEstudios;		  
				  reqEspecialidadesEstudios.open("GET", urlEspecialidadesEstudios, true);
				  reqEspecialidadesEstudios.send();
			}
		    
		    
		    
	      }
	    }
  }

  /*
  * Funcion handler para manejar la respuesta de la peticion asincrona para cargar el select de 
  * paises
  */
  function processStateChangePaises() {
    if (reqPaises.readyState == 4) { // Complete
      if (reqPaises.status == 200) { // OK response
        document.getElementById("paisesDiv").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 handler para manejar la respuesta de la peticion asincrona para cargar el select de 
   * especialidades de estudios
   */
   function processStateChangeEspecialidadesEstudios() {
     if (reqEspecialidadesEstudios.readyState == 4) { // Complete
       if (reqEspecialidadesEstudios.status == 200) { // OK response
         document.getElementById("especialidadesDiv").innerHTML = reqEspecialidadesEstudios.responseText;
       } else {
         alert("Problem: " + reqEspecialidadesEstudios.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' class='select_combo_md' 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;
 }
 
 
 