﻿$(function () {
    //Коллапс меню, запись состояний меню (свёрнуто, развёрнуто)
    $('.l-menu-section .t-link.t-header').click(function() {
        var id = $(this).parent().attr('id');
        if ($(this).parent().hasClass('collapse')) {
            $('.t-group', $(this).parent()).slideUp();
            stateMenu(id, false);
        } else {
            $('.t-group', $(this).parent()).slideDown();
            stateMenu(id, true);
        }
        $(this).parent().toggleClass('collapse');
    });

    function stateMenu(id, state) {
        $.ajax({
            type: 'post',
            url: '/Account/SetMenuProfile?Key=' + id,
            data: ({ value: state })
        });
    }
});

//Функция при клике на input с подсказкой(label), скрываем этот label
function showHideLabel(input) {
    $(input + ' input').each(function() {
        if ($(this).val() != '') {
            $(this).prev('label').hide();
        }
    });

    $(input + ' label').click(function() {
        $(this).hide().next('input').focus();
    });

    $(input + ' input').focusout(function() {
        if ($(this).val() == '') {
            $(this).prev('label').show();
        }
    }).focusin(function() {
        $(this).prev('label').hide();
    });
}

//Добавление/уничтожение overlay
var loader = {
    init: function() {
        $('body').append('<div class="loader"><span></span><div></div></div>');
    },
    destroy: function() {
        $('.loader').remove();
    }
};

//Функция проверки e-mail адреса
function isValidEmailAddress(emailAddress) {
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
    return pattern.test(emailAddress);
}

var tooltipWProcenka = {
    init: function () {
        $('.wr, .we').mouseenter(function () {
            var txtReturn = '';
            if ($(this).hasClass('wr') == true) {
                txtReturn = '<span style="color:#ff0000;">Возврат невозможен.</span>';
            };
            if ($(this).hasClass('we') == true) {
                if ($(this).hasClass('rv') == true) {
                    txtReturn = '<span style="color:green;">Возврат возможен.</span>';
                } else {
                    txtReturn = '<span style="color:#990000;">Возврат по запросу.</span>';
                };
            };
            var offset = $(this).offset(),
                topOffset = $(document).scrollTop(),
                top = offset.top - topOffset,
                item = $(this),
                attrF = item.attr('f'),
                attrA = item.attr('a'),
                attrR = item.attr('r'),
                attrG = item.attr('g'),
                attrB = item.attr('b');

            if (attrF != undefined || attrA != undefined || attrR != undefined || attrG != undefined || attrB != undefined) {
                item.html('<div class="iw-tooltip" style="width:40%;left:' + (offset.left + 30) + 'px;top:' + top + 'px;"></div>');
                tooltipWProcenka.attrCheck(attrR, item);
                tooltipWProcenka.attrCheck(attrG, item);
                $('.iw-tooltip', item).append(txtReturn);
                tooltipWProcenka.attrCheck(attrB, item);
                tooltipWProcenka.attrCheck(attrF, item);
                tooltipWProcenka.attrCheck(attrA, item);
            } else {
                var str = item.closest('tr').attr('r');
                item.html('<div class="iw-tooltip" style="width:40%; left:' + (offset.left + 30) + 'px;top:' + top + 'px;"><img src="/image/ajax-loader.gif" width="32" height="32" style="margin-left:230px;" alt="" /></div>');

                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "StatisticProviderWebService.asmx/GetStatistic",
                    data: "{idGr:" + str + "}",
                    dataType: "json",
                    success: function (msg) {
                        var tItem = $('.iw-tooltip', item);
                        $('img', tItem).remove();

                        if (msg.d.NextDateSend != 'null') {
                            item.attr('r', msg.d.NextDateSend);
                            tItem.append(msg.d.NextDateSend);
                        }

                        if (msg.d.LastUpdateDate != 'null') {
                            item.attr('g', msg.d.LastUpdateDate);
                            tItem.append(msg.d.LastUpdateDate);
                        }

                        tItem.append(txtReturn);

                        if (msg.d.MinSummOrder != 'null') {
                            item.attr('b', msg.d.MinSummOrder);
                            tItem.append(msg.d.MinSummOrder);
                        }

                        if (msg.d.Features != 'null') {
                            item.attr('f', msg.d.Features);
                            tItem.append(msg.d.Features);
                        };
                        if (msg.d.AdditionalConditions != 'null') {
                            item.attr('a', msg.d.AdditionalConditions);
                            tItem.append(msg.d.AdditionalConditions);
                        };
                    }
                });
            }
        }).mouseleave(function () {
            $(this).empty();
        });
    },
    attrCheck: function (attr, it) {
        if (attr != undefined) {
            $('.iw-tooltip', it).append(attr);
        };
    },
    basketInit: function () {
        $('.wr').mouseenter(function () {
            var cl = $(this).attr('class'),
                txt = '',
                offset = $(this).offset(),
                topOffset = $(document).scrollTop(),
                top = offset.top - topOffset,
                item = $(this);
            switch (cl) {
                case 'wr':
                    txt = 'Возврат невозможен.';
                    break;
            }
            item.html('<div class="iw-tooltip" style="width:40%;left:' + (offset.left + 30) + 'px;top:' + top + 'px;">Возврат невозможен.</div>');
        }).mouseleave(function () {
            $(this).empty();
        });

        /*$('.tablePrice input[id*=lnkSetOr]').click(function () {
        if ($('.wr').length > 0) {
        if (confirm('Есть позиции, которые невозможны к возврату или имеют особые условия возврата. Продолжить?') == false) {
        return false;
        }
        }
        });*/
    },
    bindActionPr: function () {
        var tr = $('#itemPlaceholderContainer tr');
        tr.click(function () {
            tr.removeClass('al');
            $(this).addClass('al');
        });

        var p = $('#itemPlaceholderContainer .p');
        p.click(function (event) {
            var t = $(this).closest('tr').attr('c');
            Cat.init(event, t);
        });

        //        var g = $('#itemPlaceholderContainer .d div');
        //        g.click(function (event) {
        //            var q = $(this).closest('tr').attr('r');
        //            Stat.show(event, q)
        //        })
    },
    statImgInit: function () {
        var d = $('#itemPlaceholderContainer .d');
        $('div', d).mouseenter(function () {
            var offset = $(this).offset(),
                topOffset = $(document).scrollTop(),
                id = $(this).closest('tr').attr('r'),
                item = $(this),
                top = offset.top - topOffset;

            if (top > 350 && top < 550) {
                var fixTop = top - 200;
            } else {
                if (top > 550) {
                    var fixTop = top - 400;
                } else {
                    var fixTop = top;
                }
            }

            $(this).append('<span class="iw-tooltip" style="left:' + (offset.left - 550) + 'px;top:' + fixTop + 'px;"><img class="lo" src="/image/ajax-loader.gif" width="32" height="32" style="margin-left:230px;float:left;" alt="" /></span>');
            $('span', this).append(function () {
                return '<img src="/StatisticProviderChart.ashx?IdProvider=' + id + '" alt="" class="st-img" />';
            });
            var i = $('span', this).find('.st-img');
            i.load(function () {
                $(this).closest('span').find('.lo').remove();
                $(this).show();
            })
        }).mouseleave(function () {
            $('span', this).remove();
        });
    }
}
