﻿/*
	Nombre: selector.js
	Funcion: selector de provincias y zonas
	Autores: Martin Constante
	Versión: 1.0
	Fecha creacion: 9 de mayo de 2009
	Fecha modificacion : 25 de noviembre de 2009
	Viene de: search.php
	Va a: cada desplegable segun llamada
*/

var http_request = false;


//------------------ Funcion que arma el objeto zonas con el resultado del cambio de provincia.
function provinciaOnchange() 
   {
  			CrearObjeto()       

  			var selectedprovincia = document.search.provinciaList.value; //Lee el valor de la provincia seleccionado

        requestUrl = "selector_zona_x_prov.php" + "?filter=" + selectedprovincia+"&iso=en"; // armo el url para el selector
	
        http_request.onreadystatechange = alertContents_prov;
        http_request.open('GET', requestUrl, true); // llamo al archivo selector de provincia x pais con el identificador de pais
        http_request.send(null);
    }
//------------------ Fin de funcion que arma el objeto zonas con el resultado del cambio de provincia.


//------------------ Cargo en imprimir_resultado el resultado de las zonas
    function alertContents_prov() 
    {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
									var resultado_zona = http_request.responseXML.documentElement
									imprimir_resultado_zona(resultado_zona);
            } else {
                alert('Hubo problemas con la petición.');
            }
        }
    }
//------------------------------- Fin imprimir    


//---------------------------- funcion que arma el desplegable zona con el resultado.
function imprimir_resultado_zona(resultado_zona)
{	
			// Borro el select con el resultado anterior
  var zonaList = document.getElementById("zonaList");
	for (var count = zonaList.options.length-1; count >-1; count--)
	{
		zonaList.options[count] = null;
	}
			// Fin de borrado

	nombre_zona = resultado_zona.getElementsByTagName('zona_nombre');
	id_zona = resultado_zona.getElementsByTagName('zona_id');

	var optionItem;
	var zona_nombre;
	var zona_id;
	
			// Recorro el select y lo armo
	for (var count = 0; count < nombre_zona.length; count++)
	{ 
  	zona_nombre = GetInnerText(nombre_zona[count]);
		zona_id = GetInnerText(id_zona[count]);
		 
		idValue=count;		
		optionItem = new Option( zona_nombre, zona_id,  false, false);
		zonaList.options[zonaList.length] = optionItem;
	}
}

//----------------------------Fin de funcion que arma el desplegable zona con el resultado.

//--------------------------------------------------------------------------------------------
//----------------------------- fin de FUNCIONES de zonas -------------------------------
//--------------------------------------------------------------------------------------------


//--------------------------------------------------------------------------------------------
//----------------------------- FUNCIONES COMUNES --------------------------------------------
//--------------------------------------------------------------------------------------------

//---------------------------- Funcion que borra las comillas
function delquote ( str ) 
		{
			// return ( str = str . replace (/[ "']{1}/gi,""));
		} 
//---------------------------- Fin de funcion borrado


// Extraigo la info del nodo resultado
function GetInnerText (node) 
{
	 return (node.textContent || node.innerText || node.text) ;
}
// Fin de extraccion

// Creo la instancia del objeto XML
function CrearObjeto() 
    {
        http_request = false;
				// Crea el objeto xml

        if (window.XMLHttpRequest)
         { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType)
             {
                http_request.overrideMimeType('text/xml');
                // Ver nota sobre esta linea al final
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
				//  objeto xml creado
				
        if (!http_request) {
            alert('Falla :( No es posible crear una instancia XMLHTTP');
            return false;
        }
   }
// Fin de creacion de instancia