function order(item, button){
    var id=item.find(".itemId").attr("value");
    var variant;//=parseInt(item.find(".variant").attr("value"));
    var size;
    if(item.find(".tabWrap").length>0){
        size=parseInt(item.find(".active .sizeId").attr("value"));
    }
    else size=false;
    if($("#variants").length>0){
        variant=parseInt(item.find("div.selected").attr("id").match(/[0-9]+/));
    }
    if(item.find(".hiddenVariants .variant").length>0){
        $("#messageHead").html("Выберите желаемый вариант");
        $("#messageChoise").html(item.find(".hiddenVariants").html());
        $("#messageChoise .variant").first().addClass("selected");
        attachVariantSelection($("#messageChoise .variant"));
        $("#filter").css({display:"block",opacity:"0"}).animate({opacity:"0.5"},200,function(){

        });
        $("#message").css({display:"block",opacity:"0"}).animate({opacity:"1"},300,function(){
            
        });
        $("#messageSubmit").click(function(){
            variant=parseInt($("#messageChoise div.selected").attr("class").match(/[0-9]+/));
            sendOrder(id, variant, size, button);
        });
    }
    else{
        sendOrder(id, variant, size, button);
    }
}
function sendOrder(item_id, variant, size, button){
    if(item_id){
        button.removeClass("orderButton").addClass("loading").attr("title","Заказ отправляется...");
        closeMessage();
        $.ajax({
            url:"/cart-actions/",
            type:"POST",
            data:"action=add&id="+item_id+(variant?"&variant="+variant:"")+(size?"&size="+size:""),
            dataType:"json",
            error:function(xhr, ajaxOptions, thrownError){
                button.removeClass("loading").addClass("orderButton").attr("title","");
                alert("Request failed");
                
            },
            success:function(response){
                button.removeClass("loading").addClass("orderButton").attr("title","");
                if(response.ok){
                    if(response.add!==undefined){
                        var contents = $("#cartContents");
                        contents.append('<div class="cartItem" id="cartItem'+response.cartid+'"><div class="name">'+response.name+(response.variantName?" ("+response.variantName+")":"")+(response.sizeName?", "+response.sizeName:"")+'</div><div class="number">'+response.number+'</div><div class="price">'+response.price+'</div></div>');
                        if(parseInt(contents.css("height"))>120){
                            $("#cartScrollDown div").attr("class","active");
                        }
                    }
                    else{
                        $("#cartItem"+response.cartid.toString()).find(".number").html(response.number.toString());
                    }

                    $("#orderSum").html(response.sum.toString());
                    
                }
                else{
                    alert("Ошибка: "+response.message);
                }
            }
        });
    }
}
function closeMessage(){
    var message=$("#message");
    if(message.css("display")=="block"){
        $("#filter").animate({opacity:"0"},200,function(){
            $(this).css("display","none");
        });
        $("#message").animate({opacity:"0"},300,function(){
            $(this).css("display","none");
            $("#messageChoise").html("");
        });
        $("#messageSubmit").unbind('click');
    }
}
function scrollCart(pixDown){
    var contents = $("#cartContents");
    var topValue = parseInt(contents.css("top"))+pixDown;
    var width = $("#cartContents").height();
    if(topValue<0){
        if(topValue>-width + 120){
            $("#cartContents").css("top", topValue+"px");
            $("#cartScrollDown div").attr("class","active");
            $("#cartScrollUp div").attr("class","active");
        }
        else{
            $("#cartScrollDown div").attr("class","inactive");
        }
    }
    else{
        $("#cartScrollUp div").attr("class","inactive");
    }
}
function scrollCartToTheTop(){
    if(parseInt($("#cartContents").css("top"))<0){
        $("#cartContents").animate({top:"0"},500,function(){
            $("#cartScrollUp div").attr("class","inactive");
            if($(this).height()-120>0){
                $("#cartScrollDown div").attr("class","active");
            }
            else{
                $("#cartScrollDown div").attr("class","inactive");
            }

        });
    }
}
function moveCartUp(){
    scrollCart(2);
}
function moveCartDown(){
    scrollCart(-2);
}
function attachVariantSelection(divs){
    divs.click(function(){
        if(!$(this).hasClass("selected")){
            $("div.selected").removeClass("selected");
            $(this).addClass("selected");
        }
    });
}
$(document).ready(function(){
    $(".tabTitle").click(function(){
        tab=$(this).parent(".tab");
        if(tab.hasClass("inactive")){
            var item=tab.parent().parent().parent(".item");
            newprice=tab.children(".tabPrice").attr("value");
            item.find(".tab").each(function(){
                if($(this).hasClass("active")){
                    $(this).attr("class","tab inactive");
                }
            });
            tab.attr("class","tab active");
            //item.find(".price").animate
            item.find(".priceWrap").fadeOut(200,function(){
                $(this).children(".price").html(newprice);
                $(this).fadeIn(200);
            });
        }

    });
    $(".itemImage img").click(function(){
        $("#viewerScreen img").attr("src","/images/loading.gif");
        var itemName = $(this).attr("alt");
        $("#viewerHeading").html(itemName);
        var newImg=new Image();
        $(newImg).attr("src",$(this).attr("src").replace("/small/","/large/"));
        $(newImg).load(function(){
            $("#viewerScreen img").remove();
            $("#viewerScreen").append($(this));
        });
        $("#filter").css({display:"block",opacity:"0"}).animate({opacity:"0.5"},300,function(){

        });
        $("#viewer").css({display:"block",opacity:"0"}).animate({opacity:"1"},700,function(){

        });
    });
    $("#closeViewer").click(function(){
        $("#viewer").animate({opacity:"0"},300,function(){
            $(this).css({display:"none"});

        });
        $("#filter").animate({opacity:"0"},500,function(){
            $(this).css({display:"none"});
        });
    });
    $(".orderButton").click(function(){
        if($(this).hasClass("orderButton")){
            var item=$(this).parent().parent();
            order(item, $(this));
        }
    });
    var scrolling=false;
    $("#cartScrollUp").mousedown(function(){
        scrolling=setInterval(moveCartUp,30);
    });
    $("#cartScrollDown").mousedown(function(){
        scrolling=setInterval(moveCartDown,30);
    });
    $("#cartScrollUp").mouseup(function(){
        clearInterval(scrolling);
    });
    $("#cartScrollDown").mouseup(function(){
        clearInterval(scrolling);
    });
    if($("#cartContents").height()>120){
        $("#cartScrollDown div").attr("class","active");
    }
    attachVariantSelection($("div.variant"));
    /*$("div.variant").click(function(){
        if(!$(this).hasClass("selected")){
            $("div.selected").removeClass("selected");
            $(this).addClass("selected");
        }
    });*/
    if($("#variants").length>0){
        $("div.variant").first().addClass("selected");
    }
    $("#nailLeft, #nailRight").click(function(){
        var id=$(this).attr("id");
        $.ajax({
            url:"/cart-actions.php",
            type:"POST",
            data:"nail="+id,
            dataType:"script"
        });
    });
    $(".cartControl .remove").click(function(){
        var item=$(this).parent().parent();
        var id = parseInt(item.attr("id").match(/[0-9]+/));
        var name = item.find(".name").html();
        if(confirm("Вы действительно хотите удалить \""+name+"\" из вышего заказа?")){
            $.ajax({
                url:"/cart-actions.php",
                type:"POST",
                data:"action=remove&id="+id,
                dataType:"json",
                success:function(response){
                    if(response.ok===1){
                        item.slideUp(500, function(){
                            $(this).remove();
                        });
                        $("#cartItem"+id).slideUp(500, function(){
                            $(this).remove();
                        })
                        scrollCartToTheTop();
                        $("#orderSum, .orderSum").html(response.sum);
                        if(response.sum<800){
                            $("#orderForm").fadeOut(200);
                        }
                    }
                    
                }
            });
        }
    });
    $("#closeMessage").click(function(){
        closeMessage();
    });
});
