﻿// JavaScript Document
jQuery(document).ready(function(){
    
    //отображение полного текста при клике на ссылку
    jQuery("#calk a").toggle(function(){
        jQuery(this).parent().parent().next().fadeIn(300);
        return false;
    }, function(){
        jQuery(this).parent().parent().next().fadeOut(300);
        return false;
    });
    
    //очистка поля при нулевом значении
    jQuery("#calk input:text").focus(function(){
        if((parseInt(jQuery(this).val()) == 0)||(isNaN(jQuery(this).val())))
        {
            jQuery(this).val("");
        }
    });
    
    //сброс поля в ноль, при не корректном значении
    jQuery("#calk input:text").blur(function(){
        if((!parseInt(jQuery(this).val()))||(isNaN(jQuery(this).val())))
        {
            jQuery(this).val(0);
        }
    });
    
    //вывод суммы в блоке
    jQuery("#calk table").change(function(){
        var blockSum = 0;
        var blockPrice = 0;
        var blockCount = 0;
        var blockSumInp = 0;
        var blockSumCh = 0;
        jQuery(this).children().children().children().children().each(function(){
            if(jQuery(this).attr("checked"))
            {
                blockSumCh += parseInt(jQuery(this).parent().next().text());
            }
            if(jQuery(this).val() > 0)
            {
                blockPrice = parseInt(jQuery(this).parent().next().text());
                blockCount = jQuery(this).val();
                blockCount = Math.floor(blockCount);
                if(blockCount)
                {
                    blockSumInp += blockPrice * blockCount;
                }
            }
            blockSum = blockSumCh + blockSumInp;
            jQuery(this).parent().parent().parent().children().last().children().next().text(blockSum + ".00 руб.");
        });
    });
    
    
    //вывод общей суммы
    jQuery("#calk").change(function(){
        var totalSum = 0;
        var price = 0;
        var count = 0;
        var sumInp = 0;
        var sumCh = 0;
        jQuery("#calk :checked").each(function(){
            if(jQuery(this).val() == "on")
            {
                sumCh += parseInt(jQuery(this).parent().next().text());
            }
            else
            {
                sumCh -= parseInt(jQuery(this).parent().next().text());
            }
        });
        jQuery("#calk input:text").each(function(){
            if(parseInt(jQuery(this).val()) > 0)
            {
                price = parseInt(jQuery(this).parent().next().text());
                count = jQuery(this).val();
                count = Math.floor(count);
                if(count)
                {
                    sumInp += price * count;
                }
            }
        });
        totalSum = sumCh + sumInp;
        jQuery("#total_sum").text(totalSum + ".00 руб.");
    });
    
    //форма
    //скрытие кнопки и отображение формы
    jQuery("#zak").click(function(){
        jQuery(this).fadeOut(1000);
        jQuery(this).parent().parent().parent().parent().next().slideDown(1000);
    });
    
    //проверка полей
    jQuery("#buttonMes").click(function(){
        var fio = "";
        var company = "";
        var tel = "";
        var email = "";
        var comm = "";
        var arrCh = "";
        var arrTx = "";
        var totSum = "";
        var res = "";
        var fullInp = "";
        var totalResult = "";
        var chek = "";
        var emailCheck = /\b[\w\.-]+@[\w\.-]+\.\w{2,4}\b/gi;
        if((jQuery("#fio").val() == "")||(jQuery("#fio").val() == "Заполните поле"))
        {
            jQuery("#fio").val("Заполните поле");
        }
        else
        {
            fio = jQuery("#fio").val();
        }
        if((jQuery("#tel").val() == "")||(jQuery("#tel").val() == "Заполните поле"))
        {
            jQuery("#tel").val("Заполните поле");
        }
        else
        {
            tel = jQuery("#tel").val();
        }
        if((((jQuery("#email").val() == "")||(jQuery("#email").val() == "Заполните поле"))||(jQuery("#email").val() == "Не верный адрес")))
        {
            jQuery("#email").val("Заполните поле");
        }
        else if(jQuery("#email").val().search(emailCheck))
        {
            jQuery("#email").val("Не верный адрес");
        }
        else
        {
            email = jQuery("#email").val();
        }
        if(jQuery("#company").val() != "")
        {
            company = jQuery("#company").val();
        }
        if(jQuery("#komment").val() != "")
        {
            comm = jQuery("#komment").val();
        }
        
        if((fio)&&(tel)&&(email))
        {
            jQuery("#calk :checked").each(function(i){
                arrCh += i + "=" + jQuery(this).parent().prev().prev().text() + " за " + jQuery(this).parent().next().text() + " - 1шт.&";
            });
            
            jQuery("#calk :text").each(function(i){
                if(jQuery(this).val() > 0)
                {
                    arrTx += (i + 100) + "=" + jQuery(this).parent().prev().prev().text() + " за " + jQuery(this).parent().next().text() + " - " + jQuery(this).val() + " шт.&";
                }
            });
            totSum = "summa=" + "Общая сумма: " + jQuery("#total_sum").text();
            res = arrCh + arrTx + totSum;
            
            fullInp += "fio=" + fio + "&" + "tel=" + tel + "&" + "email=" + email + "&";
            if(company)
            {
                fullInp += "company=" + company + "&";
            }
            if(comm)
            {
                fullInp += "comm=" + comm + "&";
            }
            
            totalResult = fullInp + res;
            
            if(jQuery("#formMess :checkbox").attr("checked"))
            {
                chek = "&ret=" + "retMail";
                totalResult += chek;
            }
        }
        
        //отправка данных
        if(email != "")
        {
           jQuery.ajax({
               type: "POST",
               url: "contact.php",
               data: totalResult,
               success: function(){
                    jQuery("#formMess").fadeOut(500);
                    jQuery("#okMess").fadeIn(500);
               }
            }); 
        }
        
        return false;
    });
    
});
