var open_signin = function(){
    if($.browser.msie) return true;

    $("#signin_dialog").show();
    $("#modal_bg").show();
    $("input[name=AutLogin]").val('').focus();
    $("input[name=AutPass]").val('');
    $("#auth_error").html('');
    return false;
}

var open_region_sel = function(){
    if($.browser.msie) return true;
    
    $("#region_select_box").show();
    $("#modal_bg").show();
    $("#region_list").html('<div class="w100p" style="text-align: center; padding-top: 150px;"><img src="/i/v2/ajax-loader.gif" /></div>');
    $.get('/inner.phtml?c=regions', {
        view_type: 'ajax_html'
    }, function(data){
        $("#region_list").html(data);
    });
    return false;
}

var close_signin = function(){
    $("#signin_dialog").hide();
    $("#modal_bg").hide();
}

var close_region_sel = function(){
    $("#region_select_box").hide();
    $("#modal_bg").hide();
}

var ajax_auth = function (){
    $("input[name=AutForm]").attr('disabled', 'disabled');
    $("#auth_error").html('');
    $.ajax({
        url:'/inner.phtml?c=autorization&action=jsonauth&view_type=json',
        type: "POST",
        dataType: 'json',
        data:{
            AutLogin: $("input[name=AutLogin]").val(),
            AutPass: $("input[name=AutPass]").val(),
            Rem: $("input[name=Rem]:checked").val()
        },
        success:function(data){
            $("input[name=AutForm]").attr('disabled', '');
                
            if(data.code == 'error'){
                $("#auth_error").html(data.mess);
                return;
            }
            if(data.code == 'succes'){
                window.location.reload();
                return;
            }
        }
    });
    return false;
}

var get_bask_compare_handler = function(type, succes_text){
    return function(){
        var click_obj = $(this);
        var id = click_obj.attr('rel');
        $.getJSON('/inner.phtml?c='+type+'&view_type=json&add'+type+'='+id,
        {},
            function(data){
                if(data.code == 'succes'){
                    $("#"+type+"_count_box").html(data.count);
                    click_obj.html(succes_text);
                    click_obj.removeClass('add_'+type+'_a');
                }
            }
            );
        return false;
    };

}

var get_select_bask_compare = function (type, succes_text){
    return function(){
        var item_obj = $(this);
        var id = item_obj.attr('rel');
        eval('arr = global_'+type+'_arr');
        if($.inArray(id, arr) > -1){
            item_obj.html(succes_text);
            item_obj.removeClass('add_'+type+'_a');
        }
    }
}

var get_autocomplete_source = function( request, response ){
    var type = $("input[name=area]:checked").val();
    if(type != 'gost' && type != 'goods') {
        response( [] );
        return;
    }

    if(type == 'goods') type = 'rubr';

    return $.getJSON(
        "/inner_c_search.phtm?view_type=json",
        {
            srch: $("#srch_text").val(),
            area: type
        },
        function(data){
            response( data );
        }
        );
}

var get_ac_select_handler = function(event, ui ){
    var type = $("input[name=area]:checked").val();
    var url = '';
    if(type == 'gost') url = '/inner_c_article_id_' + ui.item.id + '.phtm';
    if(type == 'goods') url = '/rubr/rbrid/' + ui.item.id + '/';

    window.location = url;
    return false;
}

$(document).ready(function(){
    var succes_mess_bask  = 'Отложено';
    var succes_mess_compare  = 'В списке сравнения';

    $("a.signin_a").click(open_signin);
    $(".close_signin").click(close_signin);

    $("#region_sel_a").click(open_region_sel);
    $(".close_region_sel").click(close_region_sel);
    $("#signin_form").submit(ajax_auth);

    if(cur_inner_act_id){
        $().ready(function(){
            $("#"+cur_inner_act_id).addClass('select').removeClass('nohref_a');
        });
    }
    $(".nohref_a").click(function(){
        window.location = $(this).attr('rel')
    });

    $("span.add_bask_a").click(get_bask_compare_handler('bask', succes_mess_bask)).each(get_select_bask_compare('bask', succes_mess_bask));

    $("span.add_compare_a").click(get_bask_compare_handler('compare', succes_mess_compare)).each(get_select_bask_compare('compare', succes_mess_compare));

    $("#srch_text").autocomplete({
        source: get_autocomplete_source,
        minLength: 2,
        select: get_ac_select_handler
    });

});

function win2unicode(str) {
    var charmap   = unescape(
        "%u0402%u0403%u201A%u0453%u201E%u2026%u2020%u2021%u20AC%u2030%u0409%u2039%u040A%u040C%u040B%u040F"+
        "%u0452%u2018%u2019%u201C%u201D%u2022%u2013%u2014%u0000%u2122%u0459%u203A%u045A%u045C%u045B%u045F"+
        "%u00A0%u040E%u045E%u0408%u00A4%u0490%u00A6%u00A7%u0401%u00A9%u0404%u00AB%u00AC%u00AD%u00AE%u0407"+
        "%u00B0%u00B1%u0406%u0456%u0491%u00B5%u00B6%u00B7%u0451%u2116%u0454%u00BB%u0458%u0405%u0455%u0457")
    var code2char = function(code) {
        if(code >= 0xC0 && code <= 0xFF) return String.fromCharCode(code - 0xC0 + 0x0410)
        if(code >= 0x80 && code <= 0xBF) return charmap.charAt(code - 0x80)
        return String.fromCharCode(code)
    }
    var res = ""
    for(var i = 0; i < str.length; i++) res = res + code2char(str.charCodeAt(i))
    return res
}


