﻿function searchCity()
{
    ASItxtcity.onkeypress = function() 
    {
        ASItxtbairro.disabled = 'disabled';
        ASItxtbairro.value = 'Selecione uma cidade';
        resultBairro.style.display = 'none';
        resultCity.style.display = 'none';
        hiddenCity.value = 0;
        hiddenBairro.value = 0;
        if (this._timeout) {
            clearTimeout(this._timeout);
        }
        this._timeout = setTimeout(function() 
        {
            if (ASItxtcity.value != '' && ASItxtcity.value.length > 2)
            {
                Ajax_Search.Cities(ASItxtcity.value, ASItxtcity.callBack);
            }
        }, 500);
    }
    ASItxtcity.callBack = function(result) 
    {
        try 
        {
            //remove prev childs
            if (resultCity.hasChildNodes()) 
            {
                while (resultCity.childNodes.length >= 1) 
                {
                    resultCity.removeChild(resultCity.firstChild);
                }
            }

            //create new childs
            for (var i = 0; result.length > i; i++) 
            {
                var child = document.createElement("div");
                child.innerHTML = result[i].Key;
                child.rel = result[i].Value;
                child.onclick = function() 
                {
                    ASItxtcity.value = this.innerHTML;
                    hiddenCity.value = this.rel;
                    ASItxtbairro.value = '';
                    hiddenBairro.value = '';
                    Ajax_Search.CityHasBairros(this.rel,function(e){if (e == true){ASItxtbairro.disabled = '';}else{ASItxtbairro.value = 'No bairros';}});
                    //ASItxtbairro.disabled = '';
                    resultCity.style.display = 'none';
                }
                resultCity.appendChild(child);
            }
            resultCity.style.display = "block";
            setTimeout("resultCity.style.display = 'none';", 15000);
        } 
        catch (ex) 
        { 
            alert(ex); 
        }
    }
    window.onclick = function() 
    {
        resultCity.style.display = "none";
    }
}
addLoadEvent(searchCity);



function searchBairro()
{
    ASItxtbairro.onkeypress = function() 
    {
        if (this._timeout) {
            clearTimeout(this._timeout);
        }
        this._timeout = setTimeout(function() 
        {
            var city = hiddenCity.value;
            if (ASItxtbairro.value != '' && ASItxtbairro.value.length > 2)
            {
                Ajax_Search.Bairros(ASItxtbairro.value, city, ASItxtbairro.callBack);
            }
        }, 500);
    }
    ASItxtbairro.callBack = function(result) 
    {
        try 
        {
            //remove prev childs
            if (resultBairro.hasChildNodes()) 
            {
                while (resultBairro.childNodes.length >= 1) 
                {
                    resultBairro.removeChild(resultBairro.firstChild);
                }
            }

            //create new childs
            for (var i = 0; result.length > i; i++) 
            {
                var child = document.createElement("div");
                child.innerHTML = result[i].Key;
                child.rel = result[i].Value;
                child.onclick = function() 
                {
                    ASItxtbairro.value = this.innerHTML;
                    hiddenBairro.value = this.rel;
                    resultBairro.style.display = 'none';
                }
                resultBairro.appendChild(child);
            }
            resultBairro.style.display = "block";
            setTimeout("resultBairro.style.display = 'none';", 15000);
        } 
        catch (ex) 
        { 
            alert(ex); 
        }
    }
    window.onclick = function() 
    {
        resultBairro.style.display = "none";
    }
}
addLoadEvent(searchBairro);


function types(type)
{
    hiddenTypes.value = type;
}
