﻿myi = myj = myk = 0;
var leftOffset = 0;
var lastProdsLenght = 0;
var lastProdId = 0;
var firstProdId = 0;
var lastCategoryId = 0;
var hasProdBefore = false;
var hasProdAfter = false;
var products = new Array(16);

function startLoad() { $('#loading').fadeTo("normal", 0.6); }
function endLoad() { $('#loading').fadeOut("fast"); }
function closeForm(Form) {$(Form).fadeOut('normal', function () { $('#locker').fadeOut('fast'); }); }
function showNPButtons() {
    if (hasProdAfter)
    {
        $(".productLoader").append('<a href="#" class="nextButton" onclick="nextProducts()">&gt;</a>');
        $(".nextButton").fadeIn(1000);
    }
    if (hasProdBefore)
    {
        $(".productLoader").append('<a href="#" class="previousButton" onclick="previousProducts()">&lt;</a>');
        $(".previousButton").fadeIn(1000);
    }
}
function showProduct() {
    if (myk >= lastProdsLenght) {
        $(".product").draggable({ containment: ".productLoader", opacity: 0.85, stack: ".product" }); //, snap: true
        showNPButtons();
        myi = myj = myk = 0;
        return;
    }
    else {
        //$(".productLoader").css("left", leftOffset + "px");
        $(".productLoader").append("<div id='prod" + products[myk][0] + "' class='product' style='background-image:url(./images/" + products[myk][0] + ".jpg);'><h3>" + products[myk][1] + "</h3>" + products[myk][2] + "</div>");
        $("#prod" + products[myk][0]).fadeTo(50, 0.01); //, function () {
        $("#prod" + products[myk][0]).animate({ "left": (190 * myi) + Math.round(Math.random() * 60) + "px", "top": (150 * myj) + Math.round(Math.random() * 50) + "px", "width": "190px", "height": "150px", "opacity": "1.0" }, { queue: true, duration: 1000, easing: "expoEaseOut" });
        //});
        myi++;
        if (myi == 4) {
            myi = 0;
            myj++;
        }
        myk++;
        setTimeout("showProduct();", 400);
    }
}
function loadProducts(categoryId) {
    startLoad();
    $.getJSON("Server.aspx", { act: "getProds", catId: categoryId, randNum: Math.random() }, function (data) {
        endLoad();
        if (data.res == true) {
            lastCategoryId = categoryId;
            lastProdsLenght = data.prods.length;
            lastProdId = data.prods[data.prods.length - 1].ID;
            firstProdId = data.prods[0].ID;
            hasProdAfter = data.hasNext;
            hasProdBefore = data.hasPrevious;
            for (myi = 0; myi < data.prods.length; myi++)//products[myi] = new Array(myi, "Product Name " + myi, "comments comments comments comments...");
                products[myi] = new Array(data.prods[myi].ID, data.prods[myi].Name, data.prods[myi].Comments, data.prods[myi].Employer, data.prods[myi].WebAddress, data.prods[myi].Price, data.prods[myi].Date, data.prods[myi].IsComplete);
            myi = 0;
            $(".productLoader").html("");
            $(".productLoader").append('<a href="#" class="btnClose" onclick="closeForm(\'.productLoader\');">x</a>');
            $(".productLoader").fadeIn('normal', function () {
                $('#locker').fadeTo('normal', 0.4, function () {
                    showProduct();
                });
            });
        }
    });
}
function nextProducts() {
    startLoad();
    $.getJSON("Server.aspx", { act: "getNextProds", catId: lastCategoryId, lastProductId: lastProdId, randNum: Math.random() }, function (data) {
        endLoad();
        if (data.res == true && data.prods.length > 0) {
            lastProdsLenght = data.prods.length;
            lastProdId = data.prods[data.prods.length - 1].ID;
            firstProdId = data.prods[0].ID;
            hasProdAfter = data.hasNext;
            hasProdBefore = data.hasPrevious;
            for (myi = 0; myi < data.prods.length; myi++)//products[myi] = new Array(myi, "Product Name " + myi, "comments comments comments comments...");
                products[myi] = new Array(data.prods[myi].ID, data.prods[myi].Name, data.prods[myi].Comments, data.prods[myi].Employer, data.prods[myi].WebAddress, data.prods[myi].Price, data.prods[myi].Date, data.prods[myi].IsComplete);
            myi = 0;
            $(".productLoader").fadeOut('fast', function () {
                $(".productLoader").html("");
                $(".productLoader").append('<a href="#" class="btnClose" onclick="closeForm(\'.productLoader\');">x</a>');
                $(".productLoader").fadeIn('normal', function () {
                    $('#locker').fadeTo('normal', 0.4, function () {
                        showProduct();
                    });
                });
            });
        }
    });
}
function previousProducts() {
    startLoad();
    $.getJSON("Server.aspx", { act: "getPrevProds", catId: lastCategoryId, firstProductId: firstProdId, randNum: Math.random() }, function (data) {
    endLoad();
    if (data.res == true && data.prods.length > 0) {
        lastProdsLenght = data.prods.length;
        lastProdId = data.prods[data.prods.length - 1].ID;
        firstProdId = data.prods[0].ID;
        hasProdAfter = data.hasNext;
        hasProdBefore = data.hasPrevious;
        for (myi = 0; myi < data.prods.length; myi++)//products[myi] = new Array(myi, "Product Name " + myi, "comments comments comments comments...");
            products[myi] = new Array(data.prods[myi].ID, data.prods[myi].Name, data.prods[myi].Comments, data.prods[myi].Employer, data.prods[myi].WebAddress, data.prods[myi].Price, data.prods[myi].Date, data.prods[myi].IsComplete);
        myi = 0;
        $(".productLoader").fadeOut('fast', function () {
            $(".productLoader").html("");
            $(".productLoader").append('<a href="#" class="btnClose" onclick="closeForm(\'.productLoader\');">x</a>');
            $(".productLoader").fadeIn('normal', function () {
                $('#locker').fadeTo('normal', 0.4, function () {
                    showProduct();
                });
            });
        });
    }
    });
}
function showMessageForm() {
    if ($('#contactForm').css('display') == "none")
        $('#locker').fadeTo('fast', 0.8, function () {
            $('#contactForm').fadeIn('normal', function () {
                $('#lblError').html("");
                $('#lblError').css("color", "red");
                $("#txtName").focus();
            });
        });
    else
        $('#contactForm').fadeOut('fast', function () {
            $('#locker').fadeOut('fast');
        });
}
function alignLeft() {
    $('#txtMessage').attr('dir', 'ltr');
}
function alignRight() {
    $('#txtMessage').attr('dir', 'rtl');
}
function sendMessage() {
    var eMail = $('#txtEMail').val();
    if (eMail == "" || $('#txtMessage').val() == "")
        $('#lblError').html("Please at least input the E-Mail and Message values in the form.");
    else {
        atIndex = eMail.indexOf("@");
        if ((atIndex == -1) || (eMail.substring(atIndex).indexOf(".") == -1))
            $('#lblError').html("Please enter a valid E-Mail address.");
        else {
            $('#btnSend').attr("disabled", "disabled");
            $('#lblError').css("color", "green");
            $('#lblError').html("Sending...");
            $.getJSON("Server.aspx", { act: "sendMessage", email: eMail, name: $('#txtName').val(), message: $('#txtMessage').val(), randNum: Math.random() }, function (data) {
                if (data.res == true) {
                    $('#lblError').html("Sent");
                    $('#txtName').val("");
                    $('#txtEMail').val("");
                    $('#txtMessage').val("");
                    showMessageForm();
                }
                else {
                    $('#lblError').css("color", "red");
                    $('#lblError').html("Error sending message..<br>Please try again later");
                }
                $('#btnSend').removeAttr("disabled");
            });
        }
    }
}
function myInit() {
    try {
        //pos = $('#flashObject').offset();
        //leftOffset = pos.left;
    }
    catch (e) {
    }
    //loadProducts(2);
}
