function exec(cmd) {
    var sort = jQuery("input[id $= hSort]").val();
    jQuery.ajax({
        type: "POST",
        url: "/jQueryAjaxRequest.aspx/HandleCommand",
        data: "{command : '" + cmd + "'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(response) { confirmCommand(response); },
        error: function(response) { jQuery.notifier("Произошла ошибка. Попробуйте снова.", "error"); }
    });
}

function confirmCommand(response) {
    var result = eval('(' + response.d + ')');
    if (result.IsSuccess) {
        switch (result.Command.split("_")[0]) {
            case "getModificationsAddBasket":
                jQuery("#tModsData").html(result.Message);
                jQuery("#h3Title").html(result.Message2);
                jQuery("#divPopupModifications").fadeIn();
                Basket();
                break;
            case "getModificationsAddReview":
                jQuery("#tModsData").html(result.Message);
                jQuery("#h3Title").html(result.Message2);
                jQuery("#divPopupModifications").fadeIn();
                break;
        }
    }
    else {
        jQuery.notifier("Произошла ошибка. Попробуйте снова.", "error");
    }
}

function CallTrack() {
    jQuery(document).bind('keydown', function(event) {
        if (event.ctrlKey && event.keyCode == '13') {
            jQuery("#divPopupCallTRacker").fadeIn();
            pageTracker._trackPageview("/call_tracker");
            jQuery(document).unbind('keydown');
        }
    });
}

window.onload = (function() {


    jQuery("#aCallOpen").click(function() {
        jQuery("#divCallMePlease").fadeIn();
        return false;
    });

    jQuery("#aCallOpen").hover(
        function() {
            jQuery("#aAddCallMe").show();
            jQuery("#divCallNote").fadeIn(300);
        },
        function() {
            jQuery("#divCallNote").hide();
        }
    );

    jQuery("*[class*=popup-close]").click(function() {
        jQuery("*[class*=popup-position]").fadeOut();
    })

    jQuery("#divCallMePlease #tbPhone").unbind("keyup").keyup(function() {
        jQuery(this).val(jQuery(this).val().replace(/[^0-9+\-() ]/g, ""));
    });


    jQuery("#aAddCallMe").click(function() {

        jQuery(this).hide();
        var name = HtmlEncode(jQuery("#divCallMePlease #tbName").val());
        var phone = jQuery("#divCallMePlease #tbPhone").val();
        var comment = HtmlEncode(jQuery("#divCallMePlease #tbComment").val());
        if (name != '' && phone != '') {
            jQuery.ajax({
                type: "POST",
                url: "index.php",
                data: {"ajax": true, "name": name, "phone": phone, "comment":  comment},
				contentType: "application/x-www-form-urlencoded; charset=utf-8",
                dataType: "json",
                success: function(response) { jQuery('#divCallMePlease').fadeOut();  jQuery.notifier("Ваш номер добавлен.", "success"); },
                error: function() { jQuery('#divCallMePlease').fadeOut(); jQuery.notifier("Ошибка. Попробуйте еще раз.", "error"); }
            });
        }
        else {
            jQuery(this).show();
            jQuery.notifier("Ошибка. Поля заполнены неверно", "error");
        }
    });
    

});

function ValidateEmail(email) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    return reg.test(email);
}

//notifier
(function(jQuery) {
    jQuery.notifier = function(message, type) { notify(message, type); }

    function notify(message, type) {
        var instance = jQuery(document.getElementById('divNoticeContainer'));
        var html = jQuery.notifier.settings.noticeTemplate;
        html = html.replace('%Message%', message);

        if (type == "success")
            html = html.replace('%CssClass%', 'b-notif-success');
        else if (type == "error")
            html = html.replace('%CssClass%', 'b-notif-error');

        var notice = jQuery(html).hide().fadeIn(jQuery.notifier.settings.noticeFadeTimeout);

        jQuery.notifier.settings.noticeDisplay(notice);
        instance.append(notice);

        if (jQuery.notifier.settings.displayTimeout > 0) {
            setTimeout(function() {
                jQuery.notifier.settings.noticeRemove(notice, function() {
                    notice.remove();
                });
            }, jQuery.notifier.settings.displayTimeout);
        }
    };

    jQuery.notifier.settings = {
        noticeTemplate: '<div class="%CssClass%">%Message%</div>',
        noticeDisplay: function(notice) {
            notice.fadeIn(jQuery.notifier.settings.noticeFadeTimeout);
        },
        noticeRemove: function(notice, callback) {
            notice.animate({ opacity: '0', height: '0px' }, { duration: jQuery.notifier.settings.noticeFadeTimeout, complete: callback });
        },
        noticeFadeTimeout: 'slow',
        displayTimeout: 5000
    };
})(jQuery);

//function pageLoad(sender, args) {
//    if (args.get_isPartialLoad()) {
//        completeNotify();
//    }
//}

function completeNotify() {
    var inputs = jQuery("input[id*=hCommandStatusMessage]");
    for (var i = 0; i < inputs.length; i++) {
        var message = inputs[i].value;
        if (message) {
            jQuery.notifier(message);
            inputs[i].value = '';
        }
    }
}



function HtmlEncode(value) {
    return jQuery('<div/>').text(value).html().replace(/\"/g, "&quot;");
}

function HtmlDecode(value) {
    return jQuery('<div/>').html(value).text().replace(/&quot;/g, "\"");
}