﻿function recheckAllcheckboxes(name, checked) {
    $('[name=' + name + ']').attr('checked', checked);
}


function recheckAllcheckboxesForButton(name) {
    var hid = $('#check_state_to_change').val();
    if (hid == 1) {
        $('[name=' + name + ']').attr('checked', true);
        $('#check_state_to_change').val(0);
        $('#btnCheck_checked').val($('#check_state_btnNameUnChecked').val());
    }
    else {
        $('[name=' + name + ']').attr('checked', false);
        $('#check_state_to_change').val(1);
        $('#btnCheck_checked').val($('#check_state_btnNameChecked').val());
    }
}


function apps_changeTextForStartPageInfo() {
    //В админке при изменении страниц, пересчитывать ссылки.
    var server_url = $("div#Apps_ServerUrls input:eq(0)").val();
    $("div#Apps_ServerUrls a:eq(0)").text('http://' + server_url + '/');
    $("div#Apps_ServerUrls a:eq(0)").attr('href', 'http://' + server_url + '/');

    $("div#Apps_ServerUrls a:eq(1)").text('http://' + server_url + '/' + $("div#Apps_ServerUrls input:eq(1)").val());
    $("div#Apps_ServerUrls a:eq(1)").attr('href', 'http://' + server_url + '/' + $("div#Apps_ServerUrls input:eq(1)").val());

    if ($("div#Apps_ServerUrls input:eq(2)").val().length > 0) {
        $("div#Apps_ServerUrls a:eq(2)").text('http://' + server_url + '/' + $("div#Apps_ServerUrls input:eq(2)").val());
        $("div#Apps_ServerUrls a:eq(2)").attr('href', 'http://' + server_url + '/' + $("div#Apps_ServerUrls input:eq(2)").val());
    } else {
        $("div#Apps_ServerUrls a:eq(2)").text('');
        $("div#Apps_ServerUrls a:eq(2)").attr('');
    }
}


function localization_check_checkbox(name,min_count,max_count, error_message) {
    if (($('[name=' + name + ']:checked').length < min_count) || ($('[name=' + name + ']:checked').length > max_count)) {
        $('#localization_error_message_container').show();
        $('#localization_error_message_container').text(error_message);
        return false;
    }
    else {
        $('#localization_error_message_container').hide();
        return true;
    }
}

function Prepare_to_Delete(result, message, toInput) {
    if (result) {
        if (confirm(message)) {
            if (toInput == 0)
                $("#hidden_result_value").val(1);
            return true;
        }
    }
    if (toInput == 0)
        $("#hidden_result_value").val(0);
    return false;
}

function Prepare_to_Delete_one_comment(message, hidden_link_id) {
    if (confirm(message)) {
        $("#" + hidden_link_id).click();
    }
}

function localization_enable_fictive_click() {
    $('#localization_hidden_field_for_fix_fake_click_bug').val(0);
}
function localization_fictive_click(row) {
    if ($('#localization_hidden_field_for_fix_fake_click_bug').val() == 1) {
    } else {
        $('#localization_hidden_field_for_fix_fake_click_bug').val(1);
        $(row).parent().find(".localization_facke_button_class").click();
    }
}


function TextRedact(id_text, die) {
    //alert("redact");
    var simvol, simvol2;
    var area = document.getElementById(id_text);
    var text = area.value;
    var start = 0, end = 0;
    var scroll = $('#' + id_text).scrollTop();

    if (document.getSelection) {
        start = area.selectionStart;
        end = area.selectionEnd;
    }
    else {
        var selectStart = document.selection.createRange();
        var selectEnd = document.selection.createRange();
        var cloneS = selectStart.duplicate();
        var cloneE = selectEnd.duplicate();
        selectStart.collapse(true);
        selectEnd.collapse(false);
        cloneS.moveToElementText(area);
        cloneE.moveToElementText(area);
        cloneS.setEndPoint('EndToStart', selectStart);
        cloneE.setEndPoint('EndToEnd', selectEnd);
        start = cloneS.text.length;
        end = cloneE.text.length;
    }

    //alert(start);
    //alert(end);

    var one = true;
    var result = 0;
    if (start != end || true) {
        switch (die) {
            case 'b':
                simvol = '*';
                break;
            case 'i':
                simvol = '_';
                break;
            case 'u':
                simvol = '+';
                break;
            case '{}':
                one = false;
                result = 1;
                simvol = '{{';
                simvol2 = '}}';
                break;
            case 'B':
                simvol = '[b]';
                simvol2 = '[/b]';
                one = false;
                break;
            case 'I':
                simvol = '[i]';
                simvol2 = '[/i]';
                one = false;
                break;
            case 'U':
                simvol = '[u]';
                simvol2 = '[/u]';
                one = false;
                break;
            case 'R':
                simvol = '[ModRed]';
                simvol2 = '[/ModRed]';
                one = false;
                break;
            default:
                result = 1;
                simvol = die;
                break;
        }
        var sel_out;
        if (one) {
            if (result == 1) {
                sel_out = simvol + "\n" + text.substring(start, end) + "\n" + simvol;
            }
            else {
                sel_out = simvol + text.substring(start, end) + simvol;
            }
        }
        else {
            //sel_out = '{{' + text.substring(start, end) + '}}';
            sel_out = simvol + text.substring(start, end) + simvol2;
        }
        text = text.substring(0, start) + sel_out + text.substring(end, text.length);
        document.getElementById(id_text).value = text;
        $('#' + id_text).scrollTop(scroll);
    }
    return result;
}

function getTextArea_position(text_area) {
    var obj = document.getElementById(text_area);
    var valTxt = obj.value;
    obj.focus();
    var pos;
    if (obj.selectionStart) {
        pos = obj.selectionStart;  //Gecko
        //alert(pos);
    }
    else if (document.selection)//IE
    {
        //alert("IE");
        var sel = document.selection.createRange();
        var clone = sel.duplicate();
        sel.collapse(true);
        clone.moveToElementText(obj);
        clone.setEndPoint('EndToEnd', sel);
        pos = clone.text.length;
        //alert(pos);
    }
    else pos = 0;
    return pos;
}

function getCaretPos(id_text, die, link) {
    var scroll = $('#' + id_text).scrollTop();

    var obj = document.getElementById(id_text);
    var valTxt = obj.value;
    var pos = getTextArea_position(id_text);

    var insertElem;
    var cursorPos;
    var insert = true;

    switch (die) {
        case 'url':
            insertElem = "[url:http://]";
            cursorPos = 12;
            break;
        case 'code':
            if (TextRedact(id_text, '{}') != 1) {
                insertElem = "{{\n\n}}";
                cursorPos = 3;
            }
            else
                insert = false;
            break;
        case 'img':
            insertElem = "[image:" + link + "]";
            cursorPos = link.length + 8;
            break;
        case 'video':
            insertElem = "{video:url=" + link + ",type=windows}";
            cursorPos = link.length + 25;
            break;
        case 'doc':
            insertElem = "[url:" + link + "]";
            cursorPos = link.length + 6;
            break;
        case 'A':
            insertElem = '[a href="#"][/a]';
            cursorPos = 12;
            break;
        default:
            var el = "{code:" + die + "}";
            if (TextRedact(id_text, el) != 1) {
                insertElem = el + "\n\n" + el;
                cursorPos = 8 + die.length;
            }
            else
                insert = false;
            break;
    }

    if (insert) {
        var text = valTxt.substring(0, pos) + insertElem + valTxt.substring(pos, valTxt.length);
        obj.value = text;
        obj.setSelectionRange(pos + cursorPos, pos + cursorPos);
    }
    $('#' + id_text).scrollTop(scroll); ///////////////////////////////////////////////////////

    return 0;
}

function EnableButton(element) {
    $("#" + element).attr("disabled", "");
}
function ChangeTypeAppDisable_for_Billing() {
    if ($("#type_combo_box").val() == 5) {
        $("#app_combo_box").attr("disabled", "");
    }
    else {
        $("#app_combo_box").val(-1);
        $("#app_combo_box").attr("disabled", "disabled");
    }
}
function bill_gateOptions_Enable(responseJSON) {
    $('#active').val(responseJSON['state']);
    $('#ajax_button1').text(responseJSON['btnN']);
    $('#span_text').text(responseJSON['stateN']);
    if (responseJSON['state'])
        $('#btn_save1').attr("disabled", "");
    else
        $('#btn_save1').attr("disabled", "disabled");
}
function bill_gateOptions_CalculateCost(responseJSON) {
    $('#text_box3').val(responseJSON['usd_cost']);
    $('#text_box4').val(responseJSON['usd_revenue']);
    $('#text_box5').val(responseJSON['points']);
}
function bill_wmOptions_CalculatePointCost(responseJSON) {
    $('#text_box1').val(responseJSON['point_cost']);
}
function AddTo_hrefScrollParam(href, control) {
    $(control).attr("href", href + "&scroll=" + $(document).scrollTop());
}

function adm_dev_change_file_urls(file_container,selected_params) {
    //Подменить ссылки на файлы приложений, после переключения реферальной программы.ы
    var ref_camp_id = $(selected_params).val().split(',')[0];
    var market_id = $(selected_params).val().split(',')[1];
    $(file_container).each(function () {

        var href_params = $(this).attr("href").split('-');
        var href = href_params[0] + "-" + href_params[1] + "-" + href_params[2]
            + "-" + href_params[3] + "-" + href_params[4] //+ "-" + href_params[5]
            + "-rc" + ref_camp_id + "-m" + market_id + "/" + href_params[6].split('/')[1];
        $(this).attr("href", href);
    });
}

$(document).ready(function () {

    //Востановить состояние фильтраы
    if ($.cookie("filter_" + (document.location.href.split('?')[0]).replace(/\//g, "").replace(/:/g, "")) == "on") {
        $(".green-title .toggle a").parent().addClass('on');
        $(".filters").removeClass('off');
    }

    $(".green-title .toggle a").click(function () {
        var url = (document.location.href.split('?')[0]).replace(/\//g, "").replace(/:/g, "");
        if ($(this).parent().hasClass('on')) {
            $(this).parent().removeClass('on');
            $(".filters").addClass('off');
            $.cookie("filter_" + url, "off", { path: '/' });
        } else {
            $(this).parent().addClass('on');
            $(".filters").removeClass('off');
            $.cookie("filter_" + url, "on", { path: '/' });
        }
    });


});

function table_apply_filter() {
    //Подменить ссылки на файлы приложений, после переключения реферальной программы.ы
    if ($(this).parent().hasClass('on')) {
        $(this).parent().removeClass('on');
        $(".filters").addClass('off');
    } else {
        $(this).parent().addClass('on');
        $(".filters").removeClass('off');
    }
}


function adm_makeSameSum(item1,item2,sum,delta) {
    if ($(item1).val() > sum - delta)
        $(item1).val(sum - delta);

    $(item2).val(sum - $(item1).val());
}

function adm_checkSameSum(item1, item2, sum, delta) {
    if ($(item1).val() < delta) {
        $(item1).val(delta);
        $(item2).val(sum-delta);
        return false;
    }
    if ($(item2).val() < delta) {
        $(item2).val(delta);
        $(item1).val(sum - delta);
        return false;
    }
    return true;
}

function add_moderators_to_mobile_forum(user_text_id, moder_div, forum_id, app_id) {
    var us_id = parseInt($('#' + user_text_id).val(), 10);
    if (!isNaN(us_id)) {
        showLoadingImg();
        $.get('/default/AdminApps/AddDeleteModerator', { moder_id: us_id, is_Add: true, forum_id: forum_id, app_id: app_id }, function (data) {
            if (data["success"]) {
                var html = '<a href="javascript:;" ';
                html += 'style="display:block; font-weight:bold; text-decoration:none; '
                if (data["online"])
                    html += 'color:Green"';
                else
                    html += 'color:Black"';
                html += ' onclick="delete_moderator_from_mobile_forum(this, \'' + moder_div + '\', \'' + data["user_id"] + '\',\'' + forum_id + '\',\'' + app_id + '\')">' + data["user_nick"] + '</a>';

                $('#' + moder_div).append(html);
            }
            closeLoadingImg();
        });
    }
}

function delete_moderator_from_mobile_forum(moder, moder_div, user_id, forum_id, app_id) {
    showLoadingImg();
    $.get('/default/AdminApps/AddDeleteModerator', { moder_id: user_id, is_Add: false, forum_id: forum_id, app_id: app_id }, function (data) {
        if (data["success"]) {
            $(moder).remove();
        }
        closeLoadingImg();
    });
}

function TicketsShow(main_id, is_resolv, mess_close, mess_open) {
    $('#main_table_div').hide();
    $('#send_admin_answer_div').show();
    $('#div_tickets_' + main_id).show();
    $('#main_ticket_id_input').val(main_id);
    
    if (is_resolv == 'true') {
        $('#close_button_id').val(mess_open);
        $('#hidden_close_id').val('false');
    }
    else {
        $('#close_button_id').val(mess_close);
        $('#hidden_close_id').val('true');
    }
}

function TicketsShowUser_new(href_url) {
    window.document.location.href = href_url;
}

function TicketsShowUser(main_id, is_new) {

    /* Необходимо для полной (старой) версии
    $('#main_table_div').hide();
    $('#send_admin_answer_div').show();
    $('#div_tickets_' + main_id).show();*/
    //alert("GGG");
    $('#main_ticket_id_input').val(main_id);
    if (is_new == 'true') {
        $('#table_tr_message_' + main_id).removeClass();
        $('#table_tr_message_' + main_id).addClass("read");
        $.get('/default/ForUser/MessageReview', { main_id: main_id });
    }
    //if ($('#is_opened_hidden_input_' + main_id).val() == "0") {
    //var moreHeight = ($(window).height() - ($('#place').height() + 10)) - 27;
//    if ($('#current_place_val_' + main_id).val() == "0") {
//        moreHeight = ($(window).height() - ($('#place').height() + 10)) - 27;
//        $('#current_place_val_' + main_id).val($('#place').height() + 10);
//    }
//    else moreHeight = ($(window).height() - parseInt($('#current_place_val_' + main_id).val(), 10)) - 27;

    //var win_hei = $(window).height();
    var moreHeight = $(window).height() - ($('#place').height() + $('#addition_left_div').height());
    if (moreHeight < 0)
        moreHeight = 0;
    if ($('#left-menu').height() > $('div.page').height()) {
        moreHeight += $('#left-menu').height() - $('div.page').height();
    }
    //alert("wind - " + $(window).height() + "; all_page - " + ($('#place').height() + $('#addition_left_div').height()) +
       // "; more - " + moreHeight + "; page - " + $('div.page').height() + "; menu - " + $('#left-menu').height());

    var tab_height = $('#message_table_id_' + main_id).height() - 150;
    var new_height = 150;
    if (tab_height > 0 && moreHeight > 0) {
        if (moreHeight > tab_height)
            new_height = tab_height + 150;
        else new_height = moreHeight + 150;
        $('#hidden_div_id_' + main_id).height(new_height);
    }
    if ((tab_height + 150) > new_height) {
        var scroller = (new_height - 40) * new_height / (tab_height + 150);
        $('#value_scroller_height_id_' + main_id).val(scroller);
        $('#scroll_tab_id_' + main_id).height(scroller);
        $('#hidden_div_id_' + main_id).scrollTop(tab_height + 150 - new_height);
    }
    else
        $('#div_tickets_' + main_id + ' div.display').addClass("noscroll");
}

function HiddenDivScroll(main_id, profile_url) {
    if ($('#hidden_input_main_id_value').val() == "0") {
        //alert("GGG");
        var scr_top = $('#hidden_div_id_' + main_id).scrollTop();
        var scr_bot = $('#message_table_id_' + main_id).height() - ($('#hidden_div_id_' + main_id).height() + scr_top);
        var scr_height = ($('#hidden_div_id_' + main_id).height() - 40) - $('#value_scroller_height_id_' + main_id).val();
        var prcT = scr_top / (scr_top + scr_bot);
        $('#scroll_tab_id_' + main_id).attr("style", "top:" + (scr_height * prcT + 20) + "px;height:" + $('#value_scroller_height_id_' + main_id).val() + "px");
        if (scr_top < 40 && $('#hidden_input_messages_loaded').val() == "0" && $('#hidden_input_has_messages').val() == "1")
            AddMessages(main_id, profile_url);
    }
    else {
        if ($('#hidden_div_id_' + main_id).scrollTop() < 40 && $('#hidden_input_messages_loaded').val() == "0" && $('#hidden_input_has_messages').val() == "1") {
            BodyMouseUp();
            AddMessages(main_id, profile_url);
        }
    }
}

function AddMessages(main_id, profile_url) {
    $('#hidden_input_messages_loaded').val("1");
    $.get('/default/ForUser/AddMessageBlock', { main_id: main_id, last_mess: $('#hidden_input_count_value').val(), profile_url: profile_url }, function (data) {
        if (data["success"]) {
            var prev_height = $('#message_table_id_' + main_id).height();
            $('#upload_message_gif').remove();
            $('#message_table_id_' + main_id + ' tbody').prepend(data["html"]);
            $('#hidden_input_has_messages').val(data["more_mess"]);
            $('#hidden_input_count_value').val($('#hidden_input_count_value').val() * 2);
            RebuildPageScroller(main_id, prev_height);
            $('#hidden_input_messages_loaded').val("0");
        }
    });
}

function RebuildPageScroller(main_id, prev_height) {
    var scroller = ($('#hidden_div_id_' + main_id).height() - 40) * $('#hidden_div_id_' + main_id).height() / $('#message_table_id_' + main_id).height();
    $('#value_scroller_height_id_' + main_id).val(scroller);
    $('#scroll_tab_id_' + main_id).height(scroller);
    $('#hidden_div_id_' + main_id).scrollTop($('#message_table_id_' + main_id).height() - prev_height);
}

function ScrollTabDown(main_id, e) {
    if ($('#hidden_input_main_id_value').val() == "0") {
        $(document.body).bind('mousemove', function (event) { BodyMouseMove(event.clientY) });
        $(document.body).bind('mouseup', function () { BodyMouseUp() });
        $('#hidden_input_clientY_value').val(e.clientY);
        $('#hidden_input_main_id_value').val(main_id);
    }
}

function BodyMouseUp() {
    $(document.body).unbind('mouseup');
    $(document.body).unbind('mousemove');
    $('#hidden_input_main_id_value').val(0);
    $('#hidden_input_clientY_value').val(0);
}

function BodyMouseMove(client) {
    if ($('#hidden_input_main_id_value').val() != "0") {
        var main_id = $('#hidden_input_main_id_value').val();
        var offset = client - parseInt($('#hidden_input_clientY_value').val(), 10);
        var scr_value = $('#scroll_tab_id_' + main_id).position().top + (client - parseInt($('#hidden_input_clientY_value').val(), 10));
        var max_val = ($('#hidden_div_id_' + main_id).height() - $('#value_scroller_height_id_' + main_id).val()) - 20;
        if (scr_value < 20)
            scr_value = 20;
        if (scr_value > max_val)
            scr_value = max_val;
        $('#scroll_tab_id_' + main_id).attr("style", "top:" + scr_value + "px;height:" + $('#value_scroller_height_id_' + main_id).val() + "px");
        $('#hidden_input_clientY_value').val(client);
        //var ppr = (scr_value - 20) / (max_val - 20);
        var hhr = ($('#message_table_id_' + main_id).height() - $('#hidden_div_id_' + main_id).height()) * ((scr_value - 20) / (max_val - 20));
        $('#hidden_div_id_' + main_id).scrollTop(hhr);
    }
}

function TicketsHide(main_id) {
    $('#div_tickets_' + main_id).hide();
    $('#main_table_div').show();
    $('#send_admin_answer_div').hide();
    $('#main_ticket_id_input').val(0);
}

function ShowFiles(ticket_id, inner) {
    showLoadingImg();
    $.get('/default/TicketBlock/GetTicketFiles', { ticket_id: ticket_id }, function (data) {
        if (data["success"]) {
            $(inner).parent().empty().append(data["html"]);
        }
        closeLoadingImg();
    });
}

function DisableRoleList(checkbox) {
    if (checkbox.checked == true)
        $('#role_list_id').attr('disabled', '');
    else
        $('#role_list_id').attr('disabled', 'disabled');
}

function isTextEmpty(text_id) {
    if ($('#' + text_id).val().length == 0)
        return false;
    else return true;
}

function DeleteOneMessage(ticket_id, this_link) {
    showLoadingImg();
    $.get('/default/ForUser/DeleteOneMessage', { ticket_id: ticket_id }, function (data) {
        if (data["success"]) {
            $(this_link).parent().parent().parent().hide();
        }
        closeLoadingImg();
    });
}

function SelectApplicationSettings(app_type) {
    if (app_type == '1') {
        $('#framework_app_div_id').show();
        $('#uploaded_app_div_id').hide();
    }
    if (app_type == '2') {
        $('#framework_app_div_id').hide();
        $('#uploaded_app_div_id').show();
    }
}

function JavaAndroidFileMessage(checkbox, message) {
    if (checkbox.id == 'java_checkbox') {
        if (checkbox.checked == false) {
            if ($('#hidden_file_name_jar').val() != '')
                $('#span_java_jar').text(message);
            if ($('#hidden_file_name_jad').val() != '')
                $('#span_java_jad').text(message);
        }
        else {
            $('#span_java_jar').text('');
            $('#span_java_jad').text('');
        }
    }
    if (checkbox.id == 'android_checkbox') {
        if (checkbox.checked == false) {
            if ($('#hidden_file_name_apk').val() != '')
                $('#span_android').text(message);
        }
        else
            $('#span_android').text('');
    }


    $('span.' + class_span).text(message);
    if (checkbox.checked == true) {
        alert('mess');
    }
}
