﻿$(function () {

    // Professional Dates

    $('.prof-selected').data('list', {});

    function prof_loadfrom_hidden() {
        var list = $.parseJSON($('.prof-hid').val());
        $('.prof-selected').data('list', list);

        for (var elem in list) {
            prof_add_one(elem, list[elem]);
        }
    }

    prof_loadfrom_hidden();

    function prof_add_one(val, name) {
        $('.prof-selected').append('<li val="' + val + '" name="' + name + '">' + name + '&nbsp;&nbsp;<a class="del" href="#">Исключить</a></li>');
    }

    $('.prof-add').click(function () {
        var types = $('.prof-types').get(0);
        var typeval = types.value;
        var typename = types.options[types.selectedIndex].text;

        if (!$('.prof-selected').data('list')[typeval]) {

            prof_add_one(typeval, typename);

            prof_reload_json();
        }
    });

    function prof_reload_json() {
        var list = {};

        $('.prof-selected li').each(function (i, n) {
            list[$(n).attr('val')] = $(n).attr('name');
        });

        $('.prof-selected').data('list', list);

        $('.prof-hid').val($.toJSON(list));
    }

    $('.prof-selected .del').live('click', function (e) { $(this).parent().remove(); prof_reload_json(); });

    // Three level products lists - Basket

    window.prod_cache = {};

    $('.practice-list').change(function () {
        prod_reload_praktic($(this).val());
    });

    $('.solution-list').change(function () {
        prod_reload_solution(prod_cache[$('.practice-list').val()][$(this).val()].products);
    });

    function prod_reload_solution(prods) {

        var products = [];
        for (var prod in prods) {
            products.push($('<option style=" width:790px;min-width:800px; color:Blue"></option>').attr('value', prod).html(prods[prod].name).get(0));
        }

        $('.product-list').empty().append(products);
    }

    function prod_reload_praktic(pid) {
        if (!prod_cache[pid]) {
            $.getJSON('/Products/ProductAjax.ashx', { practice: pid, extended: true },
                function (data) {
                    prod_cache[pid] = data;
                    prod_reload_praktic(pid);
                }
            );
        } else {
            // load solution data

            var solutions = [];
            for (var sol in prod_cache[pid]) {
                solutions.push($('<option style=" width:100%"></option>').attr('value', sol).html(prod_cache[pid][sol].name).get(0));
            }

            $('.solution-list').empty().append(solutions);

            // load by selected solution

            prod_reload_solution(prod_cache[pid][$('.solution-list').val()].products);
        }
    }

    if ($('.practice-list').size() > 0)
        prod_reload_praktic($('.practice-list').val());


    // all collapse
    $('.collapse').click(function () {
        $(this).parents('tbody:first').find('.data').toggle();
        $(this).html($(this).html() == 'Свернуть' ? 'Развернуть' : 'Свернуть');
    });

    // открыть группу проектов
    $('.addpg.button').click(function () {
        $('.addpg.form').toggle();
    });

    // коммуникации
    $('.addproject-cbx').click(function () {
        var disabled = $('.addproject').attr('disabled');
        $('.addproject').toggleClass('redtext').attr('disabled', !disabled);
    });

    $('.addtheme-button').click(function () {
        var subjId = $(this).parents('.addtheme').attr('subjId');
        $('.addtheme[subjId=' + subjId + ']').toggle()
    });

    $('.addsubject-button').click(function () {
        $('.addsubject').toggle();
    });
    $('.collapse-button').click(function () {
        var subjId = $(this).attr('subjId');
        $('.collapse[subjId=' + subjId + ']').toggle();
    });

    $('.collapse-buttonall').click(function () {
        $('.collapse').toggle();
    });

    // upload

    $('.upload').change(function () {

        $('.upload_list .new').remove();

        $.each(this.files, function (i, file) {

            //                                    reWin = /.*\\(.*)/; reUnix = /.*\/(.*)/;
            //                                    var fileTitle = file.name.replace(reWin, "$1");
            //                                    fileTitle = fileTitle.replace(reUnix, "$1");

            //                                    var RegExExt = /.*\.(.*)/;
            //                                    var ext = fileTitle.replace(RegExExt, "$1");

            $('.upload_list').prepend(
                '<tr class="new"><td><img src="../../Media/Image/plus.png" />&nbsp; ' + file.name + '</td>' +
                                '<td>' + user.name + '</td>' +
                                '<td>' + date + '</td>' +
                                '<td>' + utils.file_size_shorter(file.fileSize) + '</td></tr>');

        });
    });

    // 

    $('.popup .ok').click(function () {
        var s = window.popup.source;
        window.popup.ok = true;
        if (s[0].tagName == 'INPUT') { s.click() }
        if (s[0].tagName == 'A') { eval(s.attr('href')); }
    });

    $('.popup .cancel').click(function () {
        $('.popup, .popup-back').hide();
    });

    $('.doc .delete, .payments .delete, .account .delete, .project-part-item .project-cancel, .bill .cancel, .bill .delete,  .order .cancel, .order .fullpaid, .order .accept').click(function (e) {
        if (!window.popup.ok) e.preventDefault();

        window.popup.source = $(this);
        $('.popup, .popup-back').show();
        $('.popup .text').html($(this).attr('confirm_mark'));
    });

    $('.popup-iframe-call').click(function (e) {
        e.preventDefault();
        $('.popup-iframe').show();
        $('.popup-iframe iframe').attr('src', $(this).attr('href').replace('Pay.aspx', 'PayFrame.aspx'));
        $('.popup-iframe-back').show();
    });

    //$('.popup-iframe .close').click(function () { $('.popup-iframe').hide(); });

    //    $("#tabs").tabs({
    //        icons: { header: "ui-icon-circle-arrow-e",
    //            headerSelected: "ui-icon-circle-arrow-s"
    //        },
    //        select: function (e, ui) { $('.tab-current').val(ui.index); }
    //    })
    //    .find(".ui-tabs-nav").sortable({ axis: 'x' });

    //    $("#tabs").tabs('select', parseInt($('.tab-current').val()));
});

window.popup = {
    close: function () {
        $('.popup-iframe, .popup-iframe-back').hide();
    }
};

utils = {
    file_size_shorter: function (v) {
        if (v >= 1073741824) return (v / 1073741824).toFixed(2) + " Гб";
        else if (v >= 1048576 & v < 1073741824) return (v / 1048576).toFixed(2) + " Мб";
        else if (v >= 1024 & v < 1048576) return Math.round(v / 1024) + " Кб";
        else return v;
    }
}
