﻿var order_form;
var result_form;
var lastClickDate = new Date();
var showForever = false;
//если указатель мышки находится на элементе div
//не полностью верно работает
function isMouseOnElem(div, e) {
    isOnDiv = false;
    var divOffset = div.offset();
    if (e.pageX >= divOffset.left && e.pageX <= divOffset.left + div.width()) {

        if (e.pageY >= divOffset.top && e.pageY <= divOffset.top + div.height()) {
            lastClickDate = new Date();
            isOnDiv = true;
        }
    }
    return isOnDiv;
}

function hideNow() {
    order_form.fadeOut("slow");
    return false;
}

function hideResultNow() {
    result_form.fadeOut("slow");
    return false;
}


function hideFormShowResult() {
    order_form.fadeOut("slow");
    var off = document.documentElement.scrollTop + 50;
    result_form.css('top', off);
    var left = ($(window).width() / 2) - (result_form.width() / 2);
    result_form.css('left', left);
    result_form.fadeIn("slow");
    return false;
}

function hideForm() {
    currentDate = new Date();
    dif = currentDate - lastClickDate;
    if (dif > 49550 && !showForever)
        hideNow();
    setTimeout("hideForm()", 50000);
    return false;
}

function addOrder() {
    var count = $("#pInput").val();
    if (count === '') {
        $("#pError").html("Укажите количество<br />")
        return;
    }
    if (isNaN(count) || parseInt(count) <= 0) {
        $("#pError").html("Количество должно быть целым числом<br />")
        return;
    }
    var pid = $("#pID").val();

    var result = includes_basket.AddProduct(pid, count).value;
    $("#pCount").html(count);
    hideForm();
    UpdateBasket();
    hideFormShowResult();
}

$(document).ready(function() {
    order_form = $("#pBasket");
    order_form.css('display', 'none');
    result_form = $("#pResult");
    result_form.css('display', 'none');
    //показать форму если кликнута иконка
    $("a.to_basket").click(function() {
        var id = $(this).attr('name');
        var prod = includes_basket.GetProduct(id).value;
        if (prod && id) {
            $("#pName").html(prod.Name);
            $("#pPrice").html(prod.Price);
            $("#pMeasure").html(prod.Measure);
            $("#pError").html("");
            $("#pID").val(id);
            $("#pInput").val("");

            var off = document.documentElement.scrollTop + 50;
            order_form.css('top', off);
            var left = ($(window).width() / 2) - (order_form.width() / 2);
            order_form.css('left', left);
            order_form.fadeIn("slow");
            setTimeout("hideForm()", 50000);
            lastClickDate = new Date();
            showForever = false;
            return false;
        }
    });
    //сделать форму видимой елси мышка движется над ней
    order_form.mousemove(function(e) {
        lastClickDate = new Date();
        showForever = true;
    });
    //убрать форму если клик не на ней
    $().click(function(e) {
        var div = order_form;

        if (!isMouseOnElem(div, e))
            order_form.fadeOut("slow");
    });

    order_form.mouseout(function() {
        showForever = false;
    });

    $("#addOrder").click(function() {
        addOrder();
    });

    $("a.close").click(function() {
        hideNow();
        return false;
    });

    $("a.closeResult").click(function() {
        hideResultNow();
        return false;
    });
});

