﻿$(document).ready(function () {
    //Востановить состояние меню
    if ($("#left-menu") != null) {
        var left_menu_attr = $("#left-menu").attr("ident_for_cache_history");
        if (left_menu_attr != null) {
            if ($.cookie("left_menu_" + left_menu_attr, { path: '/' }) != null) {
                if ($.cookie("left_menu_" + left_menu_attr, { path: '/' }).length > 0) {
                    var value_to_save = ($.cookie("left_menu_" + left_menu_attr, { path: '/' }));
                    for (var i = 0; i < $("#left-menu>ul>li").length; i++) {
                        ($($("#left-menu>ul>li")[i]).attr("class", (value_to_save.split(',')[i])));
                    }
                }
            }
        }
    }


    $("#left-menu a.toggle").click(function () {
        var ident = $("#left-menu").attr("ident_for_cache_history");
        if ($(this).parent().hasClass('on')) {
            $(this).parent().removeClass('on');
        }
        else {
            $(this).parent().addClass('on');
        }
        var value_to_save = '';
        for (var i = 0; i < $("#left-menu>ul>li").length; i++) {
            value_to_save = value_to_save + ($($("#left-menu>ul>li")[i]).attr('class')) + ',';
        }
        $.cookie("left_menu_" + ident, value_to_save, { path: '/' });
    });

    //для отображения подсказки в input полях
    $('input.search_with_hint').focus(function () {
        if ($(this).val() == $(this).attr('title')) {
            $(this).val('').css('color', '#333');
        }
    }).blur(function () {
        if ($(this).val() != $(this).attr('title') && $.trim($(this).val()).length == 0) {
            $(this).val($(this).attr('title')).css('color', '#AAA');
        }
    }).blur();


});

//Убрать хинт чтоб он не попал в сабмит
function removeHintSearchValues() {
    var search = $('input.search_with_hint');
    if ($(search).val() == $(search).attr('title')) {
        $(search).val('');
    }
}

function ChangeLocalization(lang) {
    $.cookie("Site_Culture", lang);
}

//Изменить состояние селекта(Если вместо селекта используют 2 дива)
function makeSelectClick(select_container) {
    if ($(select_container).is(":visible")) {
        $(select_container).hide();
    } else {
        $(document).bind('click', function () {
            if ($(select_container).is(":visible"))
                $(select_container).hide();
        });
        setTimeout(function () { $(select_container).show() }, 50);
    }

}

function parseToDate(str) {
    var mdy = str.split('.')
    return new Date(mdy[2], mdy[1], mdy[0]);
}

function dayDiff(first_date, second_date) {
    return (first_date - second_date) / (1000 * 60 * 60 * 24)
}

function check_checkbox(container) {
    if ($(container).attr('checked') == true) {
        $(container).removeAttr("checked");
    }
    else {
        $(container).attr('checked', 'checked');
    }
}

function ifExistHelpKey(app_id, help_id) {
    var help_key = $("#text_box_help_key").val();
    if (help_key.length > 50)
        return;
    if (help_key.length == 0) {
        $("#form_save_key").submit();
        return;
    }
    //showLoadingImgUnderPopup();
    $.get('/default/AdminApps/ifExistHelpKey', { help_key: help_key, app_id: app_id, help_id: help_id }, function (data) {
        success = data["success"]
        if (!success) {
            $("#validator_help_key").attr("class", "field-validation-error");
            $("#validator_help_key").text(data["error"]);
        }
        else {
            $("#form_save_key").submit();
        }
        //closeLoadingImg();
    });
}

//изменение языка при заполнении помощи
function ChangeCurrentLanguage(lang, message, this_link, created, help_id, data_id) {
    if ($("#hidden_field_language").val() != lang) {
        if ($("#isTextChanged").val() == 1) {
            if (!confirm(message)) {
                return;
            }
        }
        $("#data_lang_id").val(data_id);
        $("#hidden_field_language").val(lang);
        $(".language_blue_link_class").attr("style", "color: Blue");
        $(".language_gray_link_class").attr("style", "color: Gray");
        $(this_link).attr("style", "color: Red;text-decoration:none");

        if (created == 1) {
            GetHelpTextToEdit(help_id, lang);
        }
        else {
            $("#text_box_title_full").val("");
            $("#text_box_title_short").val("");
            $("#text_area_body_web").val("");
            $("#text_area_body_mobile").val("");
        }
        $("#isTextChanged").val(0);
    }
}

function InsertHelpTextSelectedLanguage(help_id, message) {
    if ($("#isTextChanged").val() == 1) {
        if (!confirm(message)) {
            return;
        }
    }
    GetHelpTextToEdit(help_id, $("#insert_lang_combo").val());
    $("#isTextChanged").val(0);
}

function GetHelpTextToEdit(help_id, lang) {
    showLoadingImg();
    $.get('/default/AdminApps/GetHelpText', { help_id: help_id, lang_code: lang }, function (data) {
        $("#text_box_title_full").val(data["title_full"]);
        $("#text_box_title_short").val(data["title_short"]);
        $("#text_area_body_web").val(data["body"]);
        $("#text_area_body_mobile").val(data["body_mobile"]);
        closeLoadingImg();
    });
}

function TextChanged_AppHelp(value) {
    $("#isTextChanged").val(value);
}

function OnBeginShowPopup(message) {
    if ($("#isTextChanged").val() == 1) {
        if (!confirm(message)) {
            return;
        }
    }
    $("#hidden_button_edit_help").click();
}

function CreateFileUploader(btnName, dontUploaded, cancel, completeFunk, params, multi, is_hide) {
    var uploader = new qq.FileUploader({
        element: document.getElementById('file_uploader'),
        action: '/default/Common/FilesUpload',
        params: params,
        multiple: multi,
        sizeLimit: 20971520,
        allowedExtensions: [],
        onSubmit: function (id, fileName) { },
        onComplete: function (id, fileName, responseJSON) {
            if (responseJSON['success'] == true) {
                if (is_hide == false)
                    $("#PopUpResult").dialog("close");
                completeFunk(responseJSON);
            }
            else {
                $("#message_text").text(responseJSON['message']);
            }
        }
    }, btnName, dontUploaded, cancel);
}

function HideUploadInfoBlock() {
    $("ul.qq-upload-list").attr("style", "display:none");
}

function WikiFileUp(responseJSON) {
    getCaretPos('text_area_edit', responseJSON['typefile'], responseJSON['link'])
}

function ForumIcon(responseJSON) {
    $("#icon_image_id").attr("src", responseJSON['fullPath']);
    $("#hidden_icon_name").val(responseJSON['imageName']);
}

function ForumFiles(responseJSON) {
    var html = '<div><input type="hidden" name="files_str" value="';
    html += responseJSON['fileName'] + ':' + responseJSON['original'] + ':' + responseJSON['extention'] + ':' + responseJSON['typeFile'];
    html += '" /><a href="' + responseJSON['link'] + '">' + responseJSON['original'] + '.' + responseJSON['extention'] + '</a>';
    html += '<a class="delit" onclick="DeleteUploadFile(this)" title="' + responseJSON['title'] + '"></a></div>';
    $('#div_uploaded_files').append(html);
}

//function TicketFiles(responseJSON) {
//    var html = '<div><input type="hidden" name="files" value="';
//    html += responseJSON['fileName'] + ':' + responseJSON['typeFile'] + ':' + responseJSON['original'] + ':' + responseJSON['extention'];
//    html += '" /><a href="' + responseJSON['link'] + '">' + responseJSON['original'] + '.' + responseJSON['extention'] + '</a>';
//    html += '<a class="delit" onclick="DeleteUploadFile(this)"></a></div>';
//    $('#div_uploaded_files').append(html);
//}

function DeleteUploadFile(button) {
    $(button).parent().remove();
}

function InsertImage_inTextArea(responseJSON) {
    var imgName = responseJSON['imageName'];
    var text_area;
    if ($("#last_focus_text_area").val() == 'w')
        text_area = 'text_area_body_web';
    else text_area = 'text_area_body_mobile';

    var scroll = $('#' + text_area).scrollTop();
    var obj = document.getElementById(text_area);
    var valTxt = obj.value;
    var pos = getTextArea_position(text_area);
    var insertElem = '<img src="' + imgName + '" resize="480:60,320:50,240:40,176:30" />';
    var cursorPos = 35 + imgName.length;
    var text = valTxt.substring(0, pos) + insertElem + valTxt.substring(pos, valTxt.length);
    obj.value = text;
    obj.setSelectionRange(pos + cursorPos, pos + cursorPos);
    $('#' + text_area).scrollTop(scroll);
}

function AddScreenshotToApp(responseJSON) {
    var html = '<div><img src="' + responseJSON['fullPath'] + '" />' +
    '<a href="javascript:;" class="button gray" onclick="DeleteScreenshot(this, ' + "'" + responseJSON['app_id'] + "', '" + responseJSON['img_id'] + "'" + ')">' + responseJSON['button_text'] + '</a></div>';
    $('#screens_div').append(html);
}

function DeleteScreenshot(button, app_id, screen_id) {
    showLoadingImg();
    $.get('/default/AdminApps/DeleteScreenshot', { app_id: app_id, screen_id: screen_id }, function (data) {
        if (data["success"]) {
            $(button).parent().remove();
        }
        closeLoadingImg();
    });
}

function UploadApplication(responseJSON) {
    $('#span_file_name_' + responseJSON['extention']).text(responseJSON['fileName'] + '.' + responseJSON['extention']);
    $('#link_to_file_' + responseJSON['extention']).text(responseJSON['link']);
    $('#link_to_file_' + responseJSON['extention']).attr("href", responseJSON['link']);
    $('#hidden_file_name_' + responseJSON['extention']).val(responseJSON['fileName']);

    switch (responseJSON['extention']) {
        case 'jad':
        case 'jar':
            $('#java_checkbox').attr("checked", "checked");
            $('#span_java_jar').text('');
            $('#span_java_jad').text('');
            break;
        case 'apk':
            $('#android_checkbox').attr("checked", "checked");
            $('#span_android').text('');
            break;
    }
}

function LastFocusedTextArea(value) {
    $("#last_focus_text_area").val(value);
}

function ChangePreviewWidth(width) {
    $("#preview_help_div").attr("style", "width:" + width + "px; height:400px; border:1px solid gray; overflow-y:scroll; overflow-x:hidden; padding-right:14px");
    $("#hidden_value_div_width").val(width);
    var text_area;
    if ($("#last_focus_text_area").val() == 'w')
        text_area = 'text_area_body_web';
    else text_area = 'text_area_body_mobile';
    Render_and_Preview(text_area);
}

function Render_and_Preview(text_area) {
    $.post('/default/AdminApps/RenderTextToPreview', { text: $("#" + text_area).val(), width: $("#hidden_value_div_width").val() }, function (data) {
        $("#preview_help_div").html(data['text']);
    });
}

function ImageGalleryChange(gallery_container, change) {


    $(gallery_container + ' .next').removeClass("disable");
    $(gallery_container + ' .prev').removeClass("disable");

    var from = parseInt($(gallery_container + ' [name=from]').val());
    var count = parseInt($(gallery_container + ' [name=count]').val());
    var tottal_count = $(gallery_container + ' img').length;
    if (from + change < 1) {
        change = 0;
        from = 1;
        $(gallery_container + ' .prev').addClass("disable");
    }

    if (from + count + change > tottal_count + 1) {
        change = 0;
        from = tottal_count - count + 1;
        $(gallery_container + ' .next').addClass("disable");
    }

    if (from + change < 1 + change*(-1))
        $(gallery_container + ' .prev').addClass("disable");
    if (from + count + change > tottal_count + 1+ change*(-1))
        $(gallery_container + ' .next').addClass("disable");
    
    $(gallery_container + ' img').hide();
    for (var i = from + change; i < from + count + change; i++) {
        $(gallery_container + ' img:nth-child(' + i + ')').show();
    }
    $(gallery_container + ' [name=from]').val(from + change);
}

function ChangeButtonHref(security, controller, action, keys, valId, values, button, hiddenResult) {
    //значения valId: 1 - value, 2 - id контрола, 3 - имя чекнутых боксов
    if (hiddenResult != 0) {
        if ($("#" + hiddenResult).val() == 0)
            return false;
    }

    var link = "/" + security + "/" + controller + "/" + action + "?";
    for (var t = 0; t < keys.length; ++t) {
        link += keys[t] + "=";
        switch (valId[t]) {
            case '1':
                link += values[t];
                break;
            case '2':
                link += $('#' + values[t]).val();
                break;
            case '3':
                var mass = $('[name=' + values[t] + ']:checked');
                if (mass.length == 0)
                    return false;
                var strMass = new Array();
                for (var i = 0; i < mass.length; ++i) {
                    strMass[i] = mass[i].value;
                }
                link += strMass;
                break;
        }
        if (t != keys.length - 1)
            link += "&";
    }
    $(button).attr("href", link);
    return true;
}

function ChangeButtonHrefWithConfirm(security, controller, action, keys, valId, values, button, hiddenResult, message) {
    var hasCheckBox = false;
    var id_check;
    for (var t = 0; t < valId.length; ++t) {
        if (valId[t] == 3) {
            hasCheckBox = true;
            id_check = t;
            break;
        }
    }
    if ((hasCheckBox == false || (hasCheckBox == true && $('[name=' + values[id_check] + ']:checked').length > 0)) && confirm(message)) {
        return ChangeButtonHref(security, controller, action, keys, valId, values, button, hiddenResult);
    }
    else return false;
}

function add_moderators_to_forum(user_text_id, moder_div, forum_id) {
    var us_id = parseInt($('#' + user_text_id).val(), 10);
    if (!isNaN(us_id)) {
        showLoadingImg();
        $.get('/default/Forum/AddDeleteModer', { moder_id: us_id, is_Add: true, forum_id: forum_id }, function (data) {
            if (data["success"]) {
                var html = '<a href="javascript:;" ';
                if (data["online"]) {
                    html += 'class="online" ';
                }
                html += 'onclick="delete_moderator_from_forum(this, \'' + moder_div + '\', \'' + data["user_id"] + '\',\'' + forum_id + '\')">' + data["user_nick"] + '</a>';

                $('#' + moder_div).append(html);
            }
            closeLoadingImg();
        });
    }
}

function delete_moderator_from_forum(moder, moder_div, user_id, forum_id) {
    showLoadingImg();
    $.get('/default/Forum/AddDeleteModer', { moder_id: user_id, is_Add: false, forum_id: forum_id }, function (data) {
        if (data["success"]) {
            $(moder).remove();
        }
        closeLoadingImg();
    });
}

function ChangeFavoriteStatus(favor, status, post_id, user_id) {
    var value = $('#' + status).val().toLowerCase();
    var is_favor;
    if (value == "false") {
        is_favor = true;
    }
    else if (value == "true") {
        is_favor = false;
    }
    showLoadingImg();
    $.get('/default/Forum/ChangeFavoriteStatus', { post_id: post_id, user_id: user_id, is_favorite: is_favor }, function (data) {
        if (data["success"]) {
            $('#' + status).val(is_favor);
            if (is_favor) {
                $(favor).addClass("remove");
            }
            else {
                $(favor).removeClass("remove");
            }
        }
        closeLoadingImg();
    });
}

function PinningTopic(pin_link, forum, post, is_pinned_id, de_pin, pin) {
    var value = $('#' + is_pinned_id).val().toLowerCase();
    var is_pin;
    if (value == "false") {
        is_pin = true;
    }
    else if (value == "true") {
        is_pin = false;
    }
    showLoadingImg();
    $.get('/default/Forum/PinningTopic', { forum_id: forum, post_id: post, is_pinned: is_pin }, function (data) {
        if (data["success"]) {
            $('#' + is_pinned_id).val(is_pin);
            if (is_pin)
                $(pin_link).text(de_pin);
            else $(pin_link).text(pin);
        }
        closeLoadingImg();
    });
}

function CheckTextEmpty() {
    if ($('#post_textarea_id').val().length == 0 && $('#hidden_input_0').val().length == 0)
        return false;
    else return true;
}

function openPopupUnivers(title_str, close_str, div_id) {
    $('#' + div_id).dialog({
        autoOpen: true,
        title: title_str,
        width: 'auto',
        height: 'auto',
        modal: true,
        resizable: false,
        minHeight: 100,
        closeText: close_str
    });

    closeLoadingImg();
}

function SaveVoteValues(valid_mes, btn_text) {
    var valid = true;
    var count = $('#hidden_count_fields').val();
    for (var t = 0; t <= count; ++t) {
        if ($('#hidden_validate_' + t).val() == 0) {
            valid = false;
            if ($('#text_input_' + t).val().length == 0)
                $('#validation_options_' + t).text(valid_mes);
        }
    }
    if (valid) {
        for (var t = 0; t <= count; ++t) {
            if (t == 0)
                $('#hidden_input_' + t).val($('#text_input_' + t).val());
            else
                $('#hidden_input_' + t).val($('#hidden_option_id_' + t).val() + ":" + $('#text_input_' + t).val());
        }
        $('#button_vote_id').text(btn_text);
        $('#Popup_div_hidden').dialog("close");
    }
}

function AddInputField(mess1, mess2) {
    var count = $('#hidden_count_fields').val();
    if (count < 10) {
        ++count;
        $('#div_input_fields').append('<input type="text" class="text half" id="text_input_' + count + '" onblur="ValidationInputs(\'' + count + '\',\'' + mess1 + '\',\'' + mess2 + '\',\'50\')" maxlength="50" />');
        $('#div_input_fields').append('<span style="color: Red" id="validation_options_' + count + '"></span>');
        $('#div_input_fields').append('<input type="hidden" id="hidden_validate_' + count + '" value="0" />');
        $('#div_input_fields').append('<input type="hidden" id="hidden_option_id_' + count + '" value="0" />');
        $('#div_hidden_inputs').append('<input type="hidden" name="inputs" id="hidden_input_' + count + '" />');
        $('#hidden_count_fields').val(count);
    }
}

function DeleteInputField() {
    var count = $('#hidden_count_fields').val();
    if (count > 2) {
        $('#text_input_' + count).remove();
        $('#validation_options_' + count).remove();
        $('#hidden_validate_' + count).remove();
        $('#hidden_input_' + count).remove();
        $('#hidden_option_id_' + count).remove();
        --count;
        $('#hidden_count_fields').val(count);
    }
}

function ValidationInputs(id, req_mes, leng_mes, length) {
    if ($('#text_input_' + id).val().length == 0) {
        $('#validation_options_' + id).text(req_mes);
        $('#hidden_validate_' + id).val(0);
    }
    else if ($('#text_input_' + id).val().length > length) {
        $('#validation_options_' + id).text(leng_mes);
        $('#hidden_validate_' + id).val(0);
    }
    else {
        $('#validation_options_' + id).text('');
        $('#hidden_validate_' + id).val(1);
    }
}

function DeleteVote(btn_text) {
    var count = $('#hidden_count_fields').val();
    if (count > 2) {
        for (var t = 3; t <= count; ++t) {
            $('#text_input_' + t).remove();
            $('#validation_options_' + t).remove();
            $('#hidden_validate_' + t).remove();
            $('#hidden_input_' + t).remove();
            $('#hidden_option_id_' + t).remove();
        }
    }
    for (var i = 0; i <= 2; ++i) {
        $('#text_input_' + i).val('');
        $('#validation_options_' + i).text('');
        $('#hidden_validate_' + i).val('0');
        $('#hidden_input_' + i).val('');
        $('#hidden_option_id_' + i).val('0');
    }
    $('#button_vote_id').text(btn_text);
    $('#Popup_div_hidden').dialog("close");
}

function InsertCitation(user_nick, inner_text) {
    var pos = getTextArea_position('post_textarea_id');
    var text = $('#post_textarea_id').val();
    var out_text = text.substring(0, pos) + '[citation ' + user_nick + ']' + inner_text + '[/citation]' + text.substring(pos, text.length);
    $('#post_textarea_id').val(out_text);
}

function SetAppRating(app_id, user_id, value, value_input) {
    if (value == -1)
        value = parseInt($('#' + value_input).val(), 10);
    if (!isNaN(value)) {
        $.get('/default/ForUser/SetAppRating', { app_id: app_id, user_id: user_id, value: value }, function (data) {
            if (data["on_page"]) {
                if (data["success"]) {
                    var rating = parseInt(data["rating"], 10);
                    $("#li_current_width").attr("style", "width: " + rating * 0.55 + "px");
                    $("#message_div").text(data["message"]);
                }
                else {
                    $("#message_div").text(data["message"]);
                }
                $("#message_div").show(300);
                AutoHideMessageDiv('message_div');
            }
        });
    }
}

function AutoHideMessageDiv(element) {
    setTimeout(function () {
        $("#" + element).hide(300);
    }, 10000);
}

function ShowMessageDiv(message_div) {
    $('#' + message_div).show(300);
    AutoHideMessageDiv(message_div);
}

function PreRating(app_id, value_input) {
    var value = parseInt($('#' + value_input).val(), 10);
    if (!isNaN(value)) {
        $.get('/default/ForUser/SetAppRating', { app_id: app_id, user_id: -100, value: value, prev: true }, function (data) {
            $("#app_rating").text(data["rating"]);
        });
    }
}

function AddDeleteFavoriteApp(app_id, hidden_id, button, mess_add, mess_del) {
    $.get('/default/ForUser/AddDeleteFavoriteApp', { app_id: app_id, is_favor: $('#' + hidden_id).val() }, function (data) {
        if (data["success"]) {
            var html;
            if (data["adding"]) {
                html = '<div class="favorite out">' + mess_del + '</div>';
                $('#' + hidden_id).val("true");
            }
            else {
                html = '<div class="favorite in">' + mess_add + '</div>';
                $('#' + hidden_id).val("false");
            }
            $(button).empty();
            $(button).append(html);
        }
    });
}

function SendTicketUpdateBlock(responseJSON) {
    if (responseJSON["success"]) {
        $('#main_block_div').hide();
        $('#info_block_div').show();
    }
}

function ViewAdditionalFeatures() {
    if ($('#hidden_shut_open_value').val() == "0") {
        $('#div_additional_id').slideDown();
        $('#hidden_shut_open_value').val("1");
    }
    else {
        $('#div_additional_id').slideUp();
        $('#hidden_shut_open_value').val("0");
    }
}

function SetCookiesInfo(user_id) {
    var cookie_name;
    if (user_id == "0")
        cookie_name = 'platforms';
    else cookie_name = 'platforms' + user_id;
    var date = new Date();
    date.setFullYear(date.getFullYear() + 1);
    var java, android;
    if ($('#android_check').attr('checked'))
        android = 1;
    else android = 0;
    if ($('#java_check').attr('checked'))
        java = 1;
    else java = 0;
    if (java ==1 && android==1)
        document.cookie = cookie_name + '= ; expires=' + new Date() + '; path=/';
    else
        document.cookie = cookie_name + '=' + java + ',' + android + '; expires=' + date.toGMTString() + '; path=/';
}

function ChangeContry() {
    if ($('#contry_drop_down_list').val() != "0") {
        $('#region_drop_down_list').attr("disabled", "");
        $('#city_drop_down_list').attr("disabled", "disabled");
        $.get('/default/Profile/GetRegionsList', { country_id: $('#contry_drop_down_list').val() }, function (data) {
            if (data["success"]) {
                $('#region_drop_down_list').empty();
                for (var t = 0; t < data["reg_id"].length; ++t) {
                    $('#region_drop_down_list').append('<option value="' + data["reg_id"][t] + '">' + data["reg_name"][t] + '</option>');
                }
            }
        });
    }
    else {
        $('#region_drop_down_list').val(0);
        $('#city_drop_down_list').val(0);
        $('#region_drop_down_list').attr("disabled", "disabled");
        $('#city_drop_down_list').attr("disabled", "disabled");
    }
}

function ChangeRegion() {
    if ($('#region_drop_down_list').val() != "0") {
        $('#city_drop_down_list').attr("disabled", "");
        $.get('/default/Profile/GetCitiesList', { region_id: $('#region_drop_down_list').val() }, function (data) {
            if (data["success"]) {
                $('#city_drop_down_list').empty();
                for (var t = 0; t < data["cit_id"].length; ++t) {
                    $('#city_drop_down_list').append('<option value="' + data["cit_id"][t] + '">' + data["cit_name"][t] + '</option>');
                }
            }
        });
    }
    else {
        $('#city_drop_down_list').val(0);
        $('#city_drop_down_list').attr("disabled", "disabled");
    }
}
