function calcAllPrice() {
        var allPrice = $("#totalPrice");

        var prices = $(".orderPriceTotal");

        var temp = 0.0;
        for ( var i=0; i<prices.length; i++) {
            var item = prices.get(i);
            if ( item.value ) {
                temp = parseFloat(temp) + parseFloat(item.value);
            }
        }

        allPrice.attr("innerHTML", Math.round(temp * 100) / 100 );
}

function calcPrice() {
        var number = $(this).attr("name").split("[",2);
        number = number[1].split("]",1);

        var orderTotalPrice = $("[name=order\\["+number+"\\]\\[priceTotal\\]]");
        var count = $("[name=order\\["+number+"\\]\\[count\\]]").attr("value");
        var price1 = $("[name=order\\["+number+"\\]\\[price1\\]]").attr("value");
        var price2 = $("[name=order\\["+number+"\\]\\[price2\\]]").attr("value");

        var fullPrice = price1+"."+price2;

        var totalPrice = count*parseFloat(fullPrice)*1.15;

        if ( totalPrice ) {
            orderTotalPrice.attr( "value", Math.round(totalPrice * 100) / 100 );
        }

        calcAllPrice();
}

function removeOrder() {
    if ( $(".orderBlock").length > 1 ) {
        $(this).closest(".orderBlock").remove();

        calcAllPrice();
    }

    return false;
}

$(document).ready(function(){

    $(".catalogueOpderLink").click(function(){
        var parentDiv = $(this).closest(".catalogue");
        var parentDivOffset = parentDiv.offset();

        var orderForm = $("#orderForm");

        orderForm.css( "left", parentDivOffset.left-233 );
        orderForm.css( "top", parentDivOffset.top-65 );
        orderForm.show();

        $("#catalogueCount").attr( "value", 1 );

        var select = $("#catalogueSelect");

        var catalogueTitle = $(this).closest(".dopBorder").children("b").attr("innerHTML");

        var catalogues = select.children();

        for ( var i=0; i<catalogues.length; i++) {

            var catalogue = catalogues.get(i);

            if ( catalogue.innerHTML == catalogueTitle ) {
                $("#catalogueSelect").attr( "value", catalogue.value );
                break;
            }

        }

        return false;
    });



    $("#onlineCatalogueOpderLink").click(function(){
        var orderForm = $("#orderForm");

        orderForm.show();

        var select = $("#catalogueSelect");

        var catalogueTitle = $("#catalogueTitle").attr("value");

        var catalogues = select.children();

        for ( var i=0; i<catalogues.length; i++) {

            var catalogue = catalogues.get(i);

            if ( catalogue.innerHTML == catalogueTitle ) {
                $("#catalogueSelect").attr( "value", catalogue.value );
                break;
            }

        }


        return false;
    });


    $("#closeOrderForm").click(function(){
        $("#orderForm").hide();
        
        return false;
    });



    $("#sendOrder").click(function(){

        var form = $("#orderForm > form");

        var fields = new Array();

        fields["catalogueCount"] = "Количество";
        fields["lastName"] = "Фамилия";
        fields["firstName"] = "Имя";
        fields["organization"] = "Название организации";
        fields["zip"] = "Почтовый индекс";
        fields["address"] = "Адрес";
        fields["mobTel"] = "Мобильный телефон";
        fields["workTel"] = "Рабочий телефон";
        fields["email"] = "E-mail";

        var errors = "";

        for ( var i in fields ) {

            if ( $("#"+i).attr("value") == "" || $("#"+i).attr("value") == 0 ) {
                errors += "Не заполнено поле \""+fields[i]+"\"\n";
            }

        }

        if ( errors == "" ) {
            form.attr( "action", "index.php?id=171" );
            form.submit();
            
        } else {
            alert(errors);
        }

        return false;
    });

    $("#addNewOrder").click(function(){

        var container = $("#ordersContainer");

        var orderBlock = $(".orderBlock:first");

        var ordersCount = $(".orderBlock").length;

        var newBlock = orderBlock.clone();

        newBlock.find(".orderNumber").attr( "innerHTML", ordersCount+1 );

        newBlock.find(".orderName").attr(
            "name",
            "order["+ordersCount+"][name]"
        );
        newBlock.find(".orderName").attr(
            "value",
            ""
        );
        newBlock.find(".orderColor").attr(
            "name",
            "order["+ordersCount+"][color]"
        );
        newBlock.find(".orderColor").attr(
            "value",
            ""
        );
        newBlock.find(".orderSize").attr(
            "name",
            "order["+ordersCount+"][size]"
        );
        newBlock.find(".orderSize").attr(
            "value",
            ""
        );
        newBlock.find(".orderCount").attr(
            "name",
            "order["+ordersCount+"][count]"
        );
        newBlock.find(".orderCount").attr(
            "value",
            ""
        );
        newBlock.find(".orderSet").attr(
            "name",
            "order["+ordersCount+"][set]"
        );
        newBlock.find(".orderSet").attr(
            "value",
            ""
        );
        newBlock.find(".orderPrice1").attr(
            "name",
            "order["+ordersCount+"][price1]"
        );
        newBlock.find(".orderPrice1").attr(
            "value",
            ""
        );
        newBlock.find(".orderPrice2").attr(
            "name",
            "order["+ordersCount+"][price2]"
        );
        newBlock.find(".orderPrice2").attr(
            "value",
            ""
        );
        newBlock.find(".orderPriceTotal").attr(
            "name",
            "order["+ordersCount+"][priceTotal]"
        );
        newBlock.find(".orderPriceTotal").attr(
            "value",
            ""
        );
        newBlock.find(".orderCatalogue").attr(
            "name",
            "order["+ordersCount+"][catalogue]"
        );
        newBlock.find(".orderCatalogue").attr(
            "value",
            ""
        );
        newBlock.find(".orderPage").attr(
            "name",
            "order["+ordersCount+"][page]"
        );
        newBlock.find(".orderPage").attr(
            "value",
            ""
        );
        newBlock.find(".orderPosition").attr(
            "name",
            "order["+ordersCount+"][position]"
        );
        newBlock.find(".orderPosition").attr(
            "value",
            ""
        );
        newBlock.find(".orderCode").attr(
            "name",
            "order["+ordersCount+"][code]"
        );
        newBlock.find(".orderCode").attr(
            "value",
            ""
        );

        container.append(newBlock);
        
        $(".orderPrice1,.orderPrice2,.orderCount").change(calcPrice);
        $(".delOrder").click(removeOrder);

        return false;
    });



    $("#sendBigForm").click(function(){
        
        var form = $("#bigOrderForm");

        var orderFileds = new Array();

        orderFileds["orderName"] = "Наименование товара";
        orderFileds["orderSize"] = "Размер";
        orderFileds["orderCount"] = "Количество";
        orderFileds["orderPrice1"] = "Стоимость";
        orderFileds["orderCatalogue"] = "Название каталога";
        orderFileds["orderPage"] = "Страница";
        orderFileds["orderPosition"] = "№ позиции";
        orderFileds["orderCode"] = "Код товара";

        var errors = "";

        for ( var i in orderFileds ) {

            var fieldSet = $("."+i);

            for ( var j=0; j<fieldSet.length; j++ ) {
                var field = fieldSet.get(j);
                if ( field.value == "" || field.value == 0 ) {
                    errors += "Не заполнено поле \""+orderFileds[i]+"\" у заказа № "+(j+1)+"\n";
                }
            }

        }

        var fields = new Array();

        fields["userMiddleName"] = "Отчество";
        fields["userLastName"] = "Фамилия";
        fields["userName"] = "Имя";
        fields["userSerie"] = "Серия паспорта";
        fields["userNumber"] = "Номер паспорта";
        fields["userIssued"] = "Выдан кем и когда";
        fields["userAddress"] = "Адрес прописки";
        fields["userOrganization"] = "Название организации/фирмы";
        fields["userOfficeAddress"] = "Адрес получения заказа (адрес офиса)";
        fields["userMobTel"] = "Мобильный телефон";
        fields["userWorkTel"] = "Рабочий телефон";
        fields["userMail"] = "E-mail";


        for ( var i in fields ) {

            if ( $("#"+i).attr("value") == "" || $("#"+i).attr("value") == 0 ) {
                errors += "Не заполнено поле \""+fields[i]+"\"\n";
            }

        }

        if ( errors == "" ) {
            form.attr( "action", "index.php?id=171" );
            form.submit();

        } else {
            alert(errors);
        }
        
        return false;
    });


    $(".orderPrice1,.orderPrice2,.orderCount").change(calcPrice);


    $(".delOrder").click(removeOrder);

    $(".openPositionOrder").click(function(){

        var offset = $(this).offset();

        var div = $("#positionOrder");

        div.css( "left", offset.left-378 );
        div.css( "top", offset.top-500 );
        div.show();

        return false;
    });
    
    $("#closePositionOrder").click(function(){
        $("#positionOrder").hide();
        return false;
    });

    $(".sizeTablecaption").click(function(){
        var content = $(this).next(".sizeTableContent");
        var plus = $(this).children(".plusImage");
        var minus = $(this).children(".minusImage");

        if ( content.css( "display" ) == "none" ) {
            content.show();
            plus.hide();
            minus.show();
            
        } else {
            content.hide();
            plus.show();
            minus.hide();
        }

        return false;
    });

});
