/*
--------------------------------------------------
tratamento em ajax para o site
--------------------------------------------------
*/

// variaveis locais
var xmlhttp;
var saidaFinal;
var saida;
var pais;
var estado;
var cidade;

// instanciando xml object
try {
    xmlhttp = new XMLHttpRequest();
} catch(ee) {
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(E) {
            xmlhttp = false;
        }
    }
}

function buscaEstados(pais, estadoVal)
{
    if (status == undefined) {
        status = 0;
    }
    
    var e = document.getElementById("estado");

    while (e.options.length > 0) e.options[0]=null;

    e.options[0] = new Option("Aguarde...");

    xmlhttp.open("GET", "/ajax_estados:" + pais, true);
    xmlhttp.onreadystatechange = function()
    {
        if ( xmlhttp.readyState == 4 ) {
            if (xmlhttp.status == 200) {
                // Transforma a lista JSON em Javascript
                var retEstados	= xmlhttp.responseText;

                if (retEstados != "") {
                    while ( e.options.length > 0 ) e.options[0] = null;

                    var aEstados = retEstados.split(",");
                    for (var i=0; i < aEstados.length; i++) {
                        tmpEstado		= unescape( aEstados[i] );
                        aTmpEstado		= tmpEstado.split(";");
                        tmpEstadoNome	= aTmpEstado[1];
                        tmpEstadoId		= aTmpEstado[0];
                        tmpOptionsValor	= tmpEstadoNome; //tmpEstadoNome.substr(0, eval(tmpEstadoNome.length - 1) );
                        tmpOptionsIndice= tmpEstadoId //tmpEstadoId.substr(0, eval(tmpEstadoId.length + 1) ); // tmpEstadoId.substr(1);
                        
                        if ( tmpOptionsIndice == estadoVal) {
                            selecionado = 'selected';
                        } else {
                            selecionado = '';
                        }
                        
                        e.options[ e.options.length ] = new Option( tmpOptionsValor, tmpOptionsIndice, '', selecionado);
                        
                        //e.options[ e.options.length ] = new Option( tmpOptionsValor, tmpOptionsIndice );
                    }

                    setTimeout( function() {
                        tmpCidade		= unescape( aEstados[0] );
                        aTmpCidade		= tmpCidade.split(";");
                        tmpCidadeId		= aTmpCidade[0];

                        //buscaCidades(pais, tmpCidadeId);
                    }, 50);
                } else {
                    e.options[0] = new Option('Exterior',0);
                    //buscaCidades(pais, "");
                }
            }
        }
    }

    xmlhttp.send(null);
}

function buscaCidades(pais, estado)
{
    var c = document.getElementById("cidade");
    var p = document.getElementById("pais");

    while (c.options.length > 0) c.options[0]=null;

    c.options[0] = new Option("Aguarde...");

    xmlhttp.open("GET", "/ajax_cidades:"+ pais + "," + estado, true);

    xmlhttp.onreadystatechange = function()
    {
        if ( xmlhttp.readyState == 4 ) {
            if (xmlhttp.status == 200) {
                // Transforma a lista JSON em Javascript
                var retCidades	= xmlhttp.responseText;

                if (retCidades != "") {
                    while ( c.options.length > 0 ) c.options[0] = null;

                    var aCidades = retCidades.split(",");

                    for (var i=0; i < aCidades.length; i++) {
                        tmpCidade		= unescape( aCidades[i] );
                        aTmpCidade		= tmpCidade.split(";");
                        tmpCidadeId		= aTmpCidade[0];
                        tmpCidadeNome	= aTmpCidade[1];
                        tmpOptionsValor	= tmpCidadeNome.substr(0, eval(tmpCidadeNome.length - 1) );
                        tmpOptionsIndice= tmpCidadeId.substr(1);
                        c.options[ c.options.length ] = new Option( tmpOptionsValor, tmpOptionsIndice );
                    }
                } else {
                    c.options[0] = new Option("------------");
                }
            }
        }
    }
    xmlhttp.send(null)
}

function paises(status,paisVal,estadoVal)
{
    if (status == undefined) {
        status = 0;
    }
    
    var c = document.getElementById("pais");
    
    while (c.options.length > 0) c.options[0]=null;

    c.options[0] = new Option("Aguarde...");
    
    if (status) {
        xmlhttp.open("GET", "/ajax_paises_on", true);
    } else {
        xmlhttp.open("GET", "/ajax_paises", true);
    }

    xmlhttp.onreadystatechange = function()
    {
        if ( xmlhttp.readyState == 4 ) {
            if (xmlhttp.status == 200) {
                // Transforma a lista JSON em Javascript
                var retPaises	= xmlhttp.responseText;

                if (retPaises != "") {
                    while ( c.options.length > 0 ) {
                        c.options[0] = null;
                    }

                    var aPaises = retPaises.split(",");

                    for (var i=0; i < aPaises.length; i++) {
                        tmpPaises		= unescape( aPaises[i] );
                        aTmpPaises		= tmpPaises.split(";");
                        tmpPaisId		= aTmpPaises[0];
                        tmpPaisNome	    = aTmpPaises[1];
                        
                        if (i == 0) tmpPrimerPaisId = tmpPaisId;
                        
                        tmpOptionsValor	= tmpPaisNome; //tmpPaisNome.substr(0, eval(tmpPaisNome.length - 1) );
                        tmpOptionsIndice= tmpPaisId;   //tmpPaisId.substr(0, eval(tmpPaisId.length + 1) );
                        
                        if ( tmpOptionsIndice == paisVal) {
                            selecionado = 'selected';
                        } else {
                            selecionado = '';
                        }
                        
                        c.options[ c.options.length ] = new Option( tmpOptionsValor, tmpOptionsIndice, '', selecionado);
                    }

                    setTimeout( function() {
                        //alert(c.options[1].text);
                        //c.options['AR'].defaultSelected;
                        //c.options['AR'].selected;
                        
                        //c.options[0].selected = true;
                        
                        buscaEstados(paisVal,estadoVal);
                    }, 10);
                } else {
                    c.options[0] = new Option("------------");
                }
            }
        }
    }
    xmlhttp.send(null);
}

function validar_nacimiento() {
	nacimiento = new Date(document.getElementById('f_ano_nascimento').value,document.getElementById('f_mes_nascimento').value-1,document.getElementById('f_dia_nascimento').value,0,0,0);
	hoy = new Date();
	if (nacimiento > hoy) {
		alert('Ha ingresado una fecha de nacimiento mayor a la fecha actual.');
		return false;
	}
    return true;
}
