/**
 * Variables del script
 */
var provincia = '';
var partido = '';
var localidad = '';

/**
 * onChangeProvincias(valor)
 * notodos=1 carga select con partidos que tengan algun registro en bf agentes
 */
function onChangeProvincias(valor,partido,notodos){
    var id = valor;
    ocultar('trlocalidades');
    if (valor != 0) {    //que no sea el que pone "seleccione provincia..."
        mostrar("trcargando"); //quitar display : none del div que contiene la imagen gif azul para que se vea.
        ocultar("trpartidos"); //poner display: none antes de cada nueva "generación" del select.
        xajax_generaSelectPartidosSQL(id,partido,notodos);  // ejecutar la consulta de partidos según la provincia
    } else {
        ocultar('trpartidos');  // esconder los campos hijos del de provincias
    }
}
/**
 *  onChangePartidos(valor)
 * notodos=1 carga select con localidades que tengan algun registro en bf agentes
 */
function onChangePartidos(valor,localidad,notodos){
    var id = valor;
    if (valor != 0) { // que no sea el que pone "seleccione partido..."
        /**
         * Se llama a la función de xajax partidoTieneLocalidades
         * de manera síncrona. Se le pasa la id como parámetro.
         * Comprueba que el partido tenga localidades.
         */
        var sub = xajax.call('partidoTieneLocalidades', {
            parameters:[id],
            mode: 'synchronous'
        });
        if (sub == 1) {
            mostrar("trcargando");
            ocultar("trlocalidades");
            xajax_generaSelectLocalidadesSQL(id,localidad,notodos);
            document.getElementById('partidoh').value=id; //asignar valor al hidden para recibir por post
        } else {        // si el partido no tiene localidades (sólo en algunos barrios de Capital Federal)
            document.getElementById('partidoh').value=id;
            ocultar("trlocalidades");
            activarMapa(0);
        }
    } else { // cuando se selecciona el primer valor del select, que no es ningun partido.
        ocultar('trlocalidades');
    }
}
function onChangeLocalidades(valor){
    document.getElementById('localidadh').value=valor; //asignar valor al hidden para recibir por post
    activarMapa(0);
}
function capturaSelects(){
    provincia = document.getElementById('provincia').options[document.getElementById('provincia').selectedIndex].text;
    partido = document.getElementById('partido').options[document.getElementById('partido').selectedIndex].text;
    localidad = document.getElementById('localidad').options[document.getElementById('localidad').selectedIndex].text;
}
/**
 * activarMapa(num, lat, lon)
 *
 * num = tipo de carga
 * lat = latitud (entero)
 * lon = longitud (entero)
 *
 * Esta es la primera llamada a todo lo que se relaciona con la carga del mapa.
 * Cuando num es 1, es porque se hace la llamada desde el formulario de
 * registro de bookingfax Argentina.
 *
 * Cuando num es 2, es porque se llama a la función desde el perfil del usuario del agente
 * así que se comprueban los campos de latitud o longitud. Si estos campos contienen
 * ceros, se carga el mapa a partir del valor de los selects.
 *
 * Si latitud y longitud están definidas se usan en la carga del mapa.
 */
function activarMapa(num,lat,lon){
    if (num == 1) {
        cargarPorPrimeraVez(1);
    } else if (num == 2) {
        if (lat == 0 || lon == 0) {
            capturaSelects();
            creaMapa();
            cargar(partido,localidad,provincia);
        } else {
            cargarPorPrimeraVez(2,lat,lon);
        }
    } else {
        capturaSelects();
        cargar(partido,localidad,provincia);
    }
}

function mostrar(div){
    document.getElementById(div).style.display="";
}

function ocultar(div){
    document.getElementById(div).style.display="none";
}
