﻿var curr_td = ""; var curr_tr; var curr_td_txt = "";
function ii(n) { jQuery(n).addClass('sel_td'); }
function oo(n) { jQuery(n).removeClass('sel_td'); }
function do_ajax(n) {
    if (n == 1) { jQuery("div#do_ajax").show(); }
    else { jQuery("#do_ajax").hide(); }
}

//**************************
function get_hash_id_val(n)
//**********************
{
    do_ajax(1);
    var data = {};
    // находим все текстовые поля
    var arr_txt = jQuery(n).find("input:text");
    // переводим в хэш arr_txt
    data = convert_to_hash(data, arr_txt)    
    
    // находим селекты
    var arr_select = jQuery(n).find("select");
    // переводим в хэш arr_txt
    data = convert_to_hash(data, arr_select)

    // находим checkbox
    var arr_checkbox = jQuery(n).find("input:checkbox");
    // переводим в хэш arr_txt
    data = convert_to_hash_checkbox(data, arr_checkbox)
    return data;
}
 
function convert_to_hash(hsh, arr) {
    // переводим в хэш arr_txt
    var len = arr.length;
    for (var i = 0; i < len; i++) {
        var vl = jQuery(arr[i]).val();
        var id = arr[i].id;
        // оставляем только ключ колонки
        hsh[id] = vl;
    }
    return hsh;
}

function convert_to_hash_checkbox(hsh, arr) {
    // переводим в хэш arr_txt
    var len = arr.length;
    for (var i = 0; i < len; i++) {
        var vl = jQuery(arr[i]).attr('checked');
        var id = arr[i].id;
        // оставляем только ключ колонки
        hsh[id] = vl;
    }
    return hsh;
}

function i_lng(n) { jQuery(n).addClass('sel_lng'); }
function o_lng(n) { jQuery(n).removeClass('sel_lng'); }


function sl_lng(l) {
    var this_url = window.location;
    window.location = "/Home/lang/" + l + "?plc=" + this_url;
    return false;
}

function chng_person() {
    var sl_prsn = jQuery("select#sl_order_person").val();
    if (sl_prsn == "private") {
        jQuery("div#dv_prs_priv").show();
        jQuery("div#dv_prs_jur").hide();
    } else {
        jQuery("div#dv_prs_priv").hide();
        jQuery("div#dv_prs_jur").show();
    }
}

//********************************************************************** PAGING
function ipg(n) { jQuery(n).addClass("sel_pgn"); }
function opg(n) { jQuery(n).removeClass("sel_pgn"); }

/*
function slrw(this_tr, event) {
    if (curr_tr != null) {
        jQuery(curr_tr).removeClass('clk_td');
    }
    jQuery(this_tr).addClass('clk_td');
    curr_tr = this_tr;
    var txt_id = this_tr.id;
    jQuery("input:hidden:#cur_rw").val(txt_id);
}

function svbs(this_fld) {
    do_ajax(1);
    jQuery.ajax({
        type: "POST",
        url: "/prices_import/save_to_base",
        global: false,
        data: ({}),
        dataType: "script", //"html", //
        complete: function(rqwst) { },
        error: function(msg, textStatus, errorThrown) { do_ajax(0); },
        success: function(data, textStatus) { do_ajax(0); }
    });

}


//********************************************************************** Select files and folders
function lstdir(this_fld) {
    if (jQuery("#sub_" + this_fld.id).length == 0) {
        do_ajax(1);
        jQuery.ajax({
            type: "POST",
            url: "/prices_import/list_dir",
            global: false,
            data: ({ id_fld: this_fld.id }),
            dataType: "script", //"html",
            complete: function(rqwst) { },
            error: function(msg, textStatus, errorThrown) { do_ajax(0); },
            success: function(data, textStatus) { do_ajax(0); }
        });
    }
    else {
        jQuery("#sub_" + this_fld.id).remove();
}    }

function opfl(this_fl) {
    do_ajax(1);
    jQuery.ajax({
        type: "POST",
        url: "/prices_import/processing_file",
        global: false,
        data: ({ id_fl: this_fl.id }),
        dataType: "script", //"html",
        complete: function(rqwst) { },
        error: function(msg, textStatus, errorThrown) {  },
        success: function(data, textStatus) {}
    });
    setTimeout( function(){ wait_load_file() }, 3000 );
}

function wait_load_file() {
    jQuery.ajax({
        type: "POST",
        url: "/prices_import/check_file_ready",
        global: false,
        dataType: "script", //"html",
        complete: function(rqwst) { },
        error: function(msg, textStatus, errorThrown) { },
        success: function(data, textStatus) { }
    });
}

function wait_save_to_base() {
    jQuery.ajax({
        type: "POST",
        url: "/prices_import/progress_insert_to_base",
        global: false,
        dataType: "script", //"html",
        complete: function(rqwst) { },
        error: function(msg, textStatus, errorThrown) { },
        success: function(data, textStatus) { }
    });
}

//********************************************************************** Panel select and set field in excel files
function slpnl(this_td, event) {
    if (curr_td != "") {
        jQuery(curr_td).removeClass('clk_td');
    }
    jQuery(this_td).addClass('clk_td');  
    curr_td = this_td;
    curr_td_txt = jQuery(this_td).text();
    var mp = mouse_pos(event);
    var sl_pnl = jQuery("div:#dv_select_panel");    
    sl_pnl.css('left', mp[0]);
    sl_pnl.css('top', mp[1]);
    sl_pnl.show();
}
function slpnl_clz() {
    jQuery("div:#dv_select_panel").hide();
    jQuery(curr_td).removeClass('clk_td');
}
function slpnl_strw() {
    do_ajax(1);
    var vert_lst = jQuery("input:checkbox:checked#chb_vert_lst").val();
    jQuery.ajax({
        type: "POST",
        url: "/prices_import/set_start_row",
        global: false,
        data: ({ idtd: curr_td.id, vrtlst: vert_lst }),
        dataType: "script", //"html",
        complete: function(rqwst) { },
        error: function(msg, textStatus, errorThrown) { do_ajax(0); },
        success: function(data, textStatus) { do_ajax(0); }
    });
}
function slpnl_sv() {
    do_ajax(1);
    jQuery.ajax({
        type: "POST",
        url: "/prices_import/save_list_sootv",
        global: false,
        data: ({}),
        dataType: "script", //"html",
        complete: function(rqwst) { },
        error: function(msg, textStatus, errorThrown) { do_ajax(0); },
        success: function(data, textStatus) { do_ajax(0); }
    });
}
function rmv_lst_sootv(n) {
    do_ajax(1);
    jQuery.ajax({
        type: "POST",
        url: "/prices_import/remove_from_list_sootv",
        global: false,
        data: ({ clm: n }),
        dataType: "script", //"html",
        complete: function(rqwst) { },
        error: function(msg, textStatus, errorThrown) { do_ajax(0); },
        success: function(data, textStatus) { do_ajax(0); }
    });
}
function chg_slclm(event) {
    do_ajax(1);
    var n = get_target_obj(event);
    var chk = jQuery(n).val();
    var vert_lst = jQuery("input:checkbox:checked#chb_vert_lst").val();       
    jQuery.ajax({
        type: "POST",
        url: "/prices_import/select_column",
        global: false,
        data: ({ clm: chk, idtd: curr_td.id, cntx: curr_td_txt, vrtlst: vert_lst }),
        dataType: "script", //"html",
        complete: function(rqwst) { },
        error: function(msg, textStatus, errorThrown) { do_ajax(0); },
        success: function(data, textStatus) { do_ajax(0); }
    });
}
*/
//*********************************************************************************************** OTHER
function mouse_pos(e) {
    var posX = 0;
    var posY = 0;
    if ("\v" == "v") { //for IE
        posX = e.x;
        posY = e.y;
    }
    else { 
        posX = e.pageX;
        posY = e.pageY;
    }
    //posX = posX - 10;
    //posY = posY - 10;
    return [posX, posY];
}
function get_target_obj(e) {
    var obj;
    if (!e) var e = window.event;
    if (e.target) obj = e.target;
    else if (e.srcElement) obj = e.srcElement;
    return obj;
}



