﻿var slDataRequested = false;
var autoSelectText = '';


function sl_OnClientItemsRequesting(sender, eventArgs) {
    if (eventArgs.get_text().length == 0) {
        sender.hideDropDown();
        eventArgs.set_cancel(true);
        return;
    }

    var context = eventArgs.get_context();
    context["FilterString"] = eventArgs.get_text();
}

function sl_OnClientItemsRequested(sender, eventArgs) {
    if (sender.get_items().get_count() == 0) {
        sender.hideDropDown();
    }
    else if (!slDataRequested) {
        slDataRequested = true;
        sender.showDropDown();
    }
}

function sl_OnClientDropDownClosed(sender, eventArgs) {
    var items = sender.get_items().clear();
    slDataRequested = false;
    $('div.city div.select').css('overflow', 'visible');
    $('div.left-round-select div.select').css('overflow', 'visible');
}

function sl_OnClientDropDownOpening(sender, eventArgs) {
    $('div.city div.select').css('overflow', 'hidden');
    $('div.left-round-select div.select').css('overflow', 'hidden');

    $('#SelectTownsBottom_Input').removeClass('selectTownStyle').addClass('unSelectTownStyle');
    $('#SelectTowns_Input').removeClass('selectTownStyle').addClass('unSelectTownStyle');
}

function sl_OnClientItemsRequestFailedHandler(sender, eventArgs) {
    // set cancel to hide the default message    
    eventArgs.set_cancel(true);
}

function changeCity(sender, eventArgs) {
    var obj = $.parseJSON(sender);
    if (obj != null) {
        $.cookie("cityId", obj.cityId, { expires: 365, path: '/', domain: (siteDomain && siteDomain > "" ? siteDomain : "kurortmag.ru") });
        ResetCurrency();
        ChangeLocalization(obj.locId, 1);
    }
}

function sl_OnClientSelectedIndexChanged(sender, eventArgs) {
    if (eventArgs._domEvent.target && eventArgs._domEvent.target.className.indexOf('rcbHovered') != -1)
        changeCity(sender.get_value(), eventArgs);
}

function sl_OnClientTextChange(sender, eventArgs) {
    if (eventArgs._domEvent.target && eventArgs._domEvent.target.className.indexOf('rcbHovered') != -1)
        changeCity(sender.get_value(), eventArgs);
}
function ClearSelectTownText(sel) {
    sel.value = '';
    sel.focus();
}

function onBlurSelectTown() {
    this.value = currentCity;
    if (currentCity == notDefine) {
        $('#SelectTownsBottom_Input').removeClass('unSelectTownStyle').addClass('selectTownStyle');
        $('#SelectTowns_Input').removeClass('unSelectTownStyle').addClass('selectTownStyle');
    }
}

function onKeyPressSelectTown(sender, args) {
    if (autoSelectText != null && args._domEvent.keyCode == 13) {
        var tmp;
        if (sender._text.indexOf(')') != -1) {
            var tmp = sender._text.substr(0, sender._text.indexOf(')') + 1); //отрезаем лишние символы на случай если ввел что-нить в конце
        }
        else {
            var tmp = sender._text;
        }

        changeCity(listCities[tmp], null);

        if (args._domEvent.preventDefault) {
        args._domEvent.preventDefault();
    }
        sender.focus();
    }
    if (args._domEvent.stopPropagation) {
        args._domEvent.stopPropagation();
    }
}
