$(document).ready(function() {
    $('.world_map').maphilight();

    $('.weather_city_dd').click(function(e) {
        e.stopPropagation();
        if ($(this).hasClass('weather_city_dd_active')) {
            $(this).parent().find('span:eq(0)').css('color', '#333');
            $('.weather_city_dd_active').removeClass('weather_city_dd_active');
            $('#weather_city_dd').hide();
        }
        else {
            $(this).parent().find('span:eq(0)').css('color', '#fff');
            $('.weather_city_dd_active').removeClass('weather_city_dd_active');
            $(this).addClass('weather_city_dd_active');
            $(this).parent().append($('#weather_city_dd'));
            $('#weather_city_dd').show();
            $('#foundNoCities').hide();
            $('#citySearchQuery').val('');
            $('#foundCities').uncolumnlists();
            $('#defaultCities').uncolumnlists();
            $('#foundCities').hide();
            $('#defaultCities').makeacolumnlists({ cols: 3, equalHeight: true });
        };
        e.preventDefault();
    });
    $('#weather_city_dd').click(function(e) {
        e.stopPropagation();
    });
    $(document).click(function() {
        $('.weather_city_dd').parent().find('span:eq(0)').css('color', '#333');
        $('.weather_city_dd_active').removeClass('weather_city_dd_active');
        $('#weather_city_dd').hide();
    });

    $('#citySearchQuery').keyup(function() {
        var urlBase = "/json/getcitiesjson/";
        $('#foundNoCities').hide();
        if ($(this).val().length >= 2) {
            $('#searchCityLoader').show();
            var url = urlBase + $(this).val();

            $.getJSON(url, function(data) {
                $('#defaultCities').uncolumnlists();
                $('#foundCities').uncolumnlists();
                $('#foundCities').empty();
                $('#searchCityLoader').hide();
                if (data.length == 0) {
                    $('#foundNoCities').show();
                    $('#foundCities').hide();
                    $('#defaultCities').show();
                    $('#defaultCities').makeacolumnlists({ cols: 3, equalHeight: true });
                    return;
                };
                $.each(data, function(i, item) {
                    var cityUrl = "/" + item.ContinentEnName + '/' + item.CountryEnName + '/' + item.EnName + '?cityId=' + item.CityId;
                    var cityTitle = item.RuName + ', ' + item.CountryRuName;
                    $('#foundCities').append('<li><a href="' + cityUrl + '" title="' + cityTitle + '">' + item.RuName + '</a></li>');
                });
                $('#defaultCities').hide();
                $('#foundCities').show();
                $('#foundCities').makeacolumnlists({ cols: 3, equalHeight: true });
            });
        } else {

            $('#foundCities').uncolumnlists();
            $('#defaultCities').uncolumnlists();
            $('#defaultCities').show();
            $('#foundCities').hide();
            $('#defaultCities').makeacolumnlists({ cols: 3, equalHeight: true });
        };
    });


    // Searching cities by countryId
    //
    $('#weather_city_dd_href1').click(function(e) {
        e.stopPropagation();
        $('#weather_city_dd_href1').toggleClass('weather_city_dd_active');
        $('#weather_city_dd1').toggle();
        if ($('#weather_city_dd1').is(':visible')) {
            $('#foundNoCities1').hide();
            $('#citySearchQuery1').val('');
            $('#foundCities1').uncolumnlists();
            $('#defaultCities1').uncolumnlists();
            $('#foundCities1').hide();
            $('#defaultCities1').makeacolumnlists({ cols: 3, equalHeight: true });
        };
        e.preventDefault();
    });
    $('#weather_city_dd1').click(function(e) {
        e.stopPropagation();
    });
    $(document).click(function() {
        $('#weather_city_dd_href1').removeClass('weather_city_dd_active');
        $('#weather_city_dd1').hide();
    });

    $('#citySearchQuery1').keyup(function() {
        var urlBase = "/json/getcitiesjson/";
        $('#foundNoCities1').hide();
        if ($(this).val().length >= 2) {
            $('#searchCityLoader1').show();
            var countryId = $('#country_id_hidden').val();
            var url = urlBase + $(this).val() + "/" + countryId;
            //debugger;
            $.getJSON(url, function(data) {
                $('#defaultCities1').uncolumnlists();
                $('#foundCities1').uncolumnlists();
                $('#foundCities1').empty();
                $('#searchCityLoader1').hide();
                if (data.length == 0) {
                    $('#foundNoCities1').show();
                    $('#foundCities1').hide();
                    $('#defaultCities1').show();
                    $('#defaultCities1').makeacolumnlists({ cols: 3, equalHeight: true });
                    return;
                };
                $.each(data, function(i, item) {
                    var cityUrl = "/" + item.ContinentEnName + '/' + item.CountryEnName + '/' + item.EnName + '?cityId=' + item.CityId;
                    var cityTitle = item.RuName + ', ' + item.CountryRuName;
                    $('#foundCities1').append('<li><a href="' + cityUrl + '" title="' + cityTitle + '">' + item.RuName + '</a></li>');
                });
                $('#defaultCities1').hide();
                $('#foundCities1').show();
                $('#foundCities1').makeacolumnlists({ cols: 3, equalHeight: true });
            });
        } else {

            $('#foundCities1').uncolumnlists();
            $('#defaultCities1').uncolumnlists();
            $('#defaultCities1').show();
            $('#foundCities1').hide();
            $('#defaultCities1').makeacolumnlists({ cols: 3, equalHeight: true });
        };
    });

    $('#zodiaks_dd li a').click(function(e) {
        e.preventDefault();
        var need = $(this).parent().index();
        var displayed = $('#horo_types').find('div.b_text.right').eq(need);
        $(this).parents('.b_text.right').css('display', 'none');
        displayed.css('display', 'block');
        e.stopPropagation();
    });

});
