$(function () {
        
        function getFormData() {
            var s = $("input[name='price']").serialize();
            $("#que :input").each(function () {
                s += "&" + $(this).serialize()
            });
            s += "&comments=" + escape($("textarea#comments").val());
            s += "&link=<a href='" + encodeURIComponent(window.location) + "'>" + encodeURIComponent(document.title) + "</a>" + "&data=<ul>";
            $("select").each(function () {
                if ($(this).next().html()) {
                    s += "<li>" + $(this).attr("title") + " - " + $(this).find("option:selected").html() + " x ";
                } else {
                    s += ($(this).attr("title") ? ("<li>" + $(this).attr("title") + " - ") : ("")) + $(this).find("option:selected").html() + "</li>";
                }
            });
            return s + "</ul>";
        }
        
        $("#toggle").click(function () {
            $(this).hide();
            $("#que").slideToggle();
        });
        
        $("#closer").click(function () {
            $("#que").slideToggle("slow", function () {
                $("#toggle").fadeToggle();
            });
        });
        
        $("#cmdsubmit").click(function () {
            var valid = true;
            $("#aspnetForm_errorloc").html("");
            $.fn.setv = function(){
                if ($(this).html() != null){
                    $("#aspnetForm_errorloc").html("<ul><li>Пожалуйста, заполните все обязательные поля.</li></ul>");
                    valid = false;
                    return $(this);
                }
            }
            $("#phone,#email,#comp,#nssn").removeAttr("style").filter(":text[value='']").css("border", "2px dotted red").first().focus().setv();
            var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            if (valid && !regex.test($("#email").attr("value"))) {
                $("#aspnetForm_errorloc").html("<ul><li>Введен некорректный адрес электронной почты.</li></ul>");
                $("#email").css("border", "2px dotted red").focus();
                valid = false;
            }
            if (!valid) return false;
            $.ajax({
                type: "POST",
                url: "SaveOrder.aspx",
                data: getFormData(),
                beforeSend: function () {
                    $("#que").animate({opacity: 0}, 300).slideUp("slow");
                },
                success: function (data) {
                    $("#order_status").html(data).fadeIn("slow").delay(5000).fadeOut("slow");
                },
                error: function () {
                    $("#que").fadeToggle("slow", function () {
                        $("#order_status").html("Что-то пошло не так. Заказ не сохранен.").fadeIn("slow");
                    });
                }
            });
        });
        
        $(".menutop").hover(function () {
            $(".ex").hide();
            var dv = $("#div4_" + $(this).attr("id"));
            dv.css({
                'position': 'absolute',
                'top': $(this).offset().top + 20,
                'left': $(this).offset().left - 20,
                'visibility': 'visible',
                'display': 'block'
            });
        }, function () {
            var dv = $("#div4_" + $(this).attr("id"));
            var timer = setTimeout(function () {
                dv.fadeOut();
            }, 500);
            dv.hover(function () {
                clearTimeout(timer);
            }, function () {
                timer = setTimeout(function () {
                    dv.fadeOut();
                }, 500);
            });
        });
        
        $("select[title='HDD'],select[title='RAID']").change(function() {
            if ($("select[title='RAID'] > option[text]:contains('NO SAS')").filter(":selected").text() 
                && $("select[title='HDD'] > option[text]:contains('SAS')").filter(":selected").text()){
                $("button#toggle").attr("disabled", "disabled")
                .after("<div id='no_cake_for_you' class='error'>Для использования SAS дисков необходимо выбрать соответствующий контроллер</div>");
            } else {
                $("button#toggle").prop("disabled", false);
                $("div#no_cake_for_you").detach();
            }
        });
    }); 
