﻿
function pausecomp(millis) {
    var date = new Date();
    var curDate = null;

    do { curDate = new Date(); }
    while (curDate - date < millis);
}

$(document).ready(function() {

    $("#floataddtobasket")
    .dialog({
        bgiframe: true,
        title: 'Add to basket',
        width: 250,
        autoOpen: false,
        modal: true
    });


    function clearhead() {

        //$("#selectedCurrencyBox").css('border', 'solid 1px #fff');
        $("#CurrencyOptions").hide();

        $("#basket-inner").hide();
        //$("#baskSummary").css('border', 'solid 1px Transparent');
        $("#baskSummary").css('background-color', 'Transparent');

        currencyOn = false;
        clearallTabs();
    }
    $("#header").mouseenter(function() {
        clearhead();
    });
    $("#tophead").mouseenter(function() {
        clearhead();
    });
    $("#header").mouseleave(function() {
        clearhead();
    });
    $("#tophead").mouseleave(function() {
        clearhead();
    });

    $("#currencySelect").hoverIntent(showCurrency, clearhead)

    function showCurrency() {

        //$("#selectedCurrencyBox").css('border', 'solid 1px #959595');
        //$("#selectedCurrencyBox").css('border-bottom', 'solid 1px #fff');
        // $("#CurrencyOptions").show("slide", { direction: "up" }, 1000);
        $("#CurrencyOptions").show();
    }

    $("#quickBasketBox").hoverIntent(showBasket, clearhead)

    function showBasket() {
      //  $("#baskSummary").css('border', 'solid 1px #959595');
      //$("#baskSummary").css('border-bottom', 'solid 1px Transparent');
        $("#baskSummary").css('background-color', '#1b1b1b');
        $("#basket-inner").show();
    }

    //AJAX MINIBASKET
    $("#quickBasketBox").mouseleave(function() {
        $("#basket-inner").hide();
        //$("#baskSummary").css('border', 'solid 1px Transparent');
        $("#baskSummary").css('background-color', 'Transparent');
    });
    $("#baskSummary").mouseenter(function() {
        showBasket();
    });
    $("#quickBasketBox").mouseenter(function() {
        showBasket();
    });

    //TOPNAV VISUALS
    var controlId
    function showTab() {
        $("#" + controlId + "Nav").show();

        if (controlId == "sale") {
            $("#" + controlId + " a").css('background-color', '#d50000').addClass('salebackground');
        }
        else {
            $("#" + controlId + " a").css('background-color', '#ffffff');
        }
    }

    function clearallTabs() {
        $(".topnavLink a").css('background-color', '');
        $("#sale a").removeClass('salebackground');
        $(".navBox").hide();
    }

    //handle link leave without actually doing a leave
    //$(".navspacer").mouseenter(function() { clearallTabs(); });
    $("#tophead").mouseenter(function() { clearallTabs(); });
    $("#logo").mouseenter(function() { clearallTabs(); });


    //handle entry of button
    $(".topnavLink").mouseenter(function(e) {
        controlId = $(this).attr("id");
        clearallTabs();
        showTab();
        e.stopPropagation();
    });
    
    //handle entry of navBox
    $(".navBox").mouseenter(function() {
        //controlId = $(this).attr("id");
        //clearallTabs();
        showTab();
    });
    
    //handle .topnavLink leave
    $(".topnavLink").mouseleave(function() { clearallTabs(); });

    //handle navbox leave
    $(".navBox").mouseleave(function() { clearallTabs(); });


    //END TOP NAV

    var $sects = $(".section").equalizeCols().find(".b, .bl, .br").each(function(i) {
        var thisHeight = $(this).parents(".section").height();
        $(this).height(thisHeight);
    });

    // requires jquery.onfontresize.js
    $(document).bind("fontresize", function() {
        $sects.equalizeCols().find(".b, .bl, .br").each(function(i) {
            var thisHeight = $(this).parents(".section").height();
            $(this).height(thisHeight);
        });
    });

    //quicksearch validation
    $("#quicksearchlink").click(function() {
        if ($("#keyword").val() != $("#defaultSearch").val()) {
            if ($("#keyword").val() != "") {
                $("#quickSearchForm").submit();
            }
        }
    });

    var $askQ = $("#askQ")
		   .dialog({
		       bgiframe: true,
		       title: 'Ask a Question',
		       buttons: {
		           "Close": function() {
		               $(this).dialog("close");
		           }
		       },
		       width: 600,
		       autoOpen: false,
		       modal: true
		   });

    var $eFnd = $("#eFnd")
		   .dialog({
		       bgiframe: true,
		       title: 'Send an Email to a Friend',
		       buttons: {
		           "Close": function() {
		               $(this).css('position', 'absolute').dialog("close");
		           }
		       },
		       width: 600,
		       autoOpen: false,
		       modal: true
		   });

    $("#sendfriendLink").click(function() {
        $eFnd.css('position', 'relative').dialog('open');
        return false;
    });
    $("#askquestionlink").click(function() {
        $askQ.css('position', 'relative').dialog('open');
        return false;
    });

    $(function() {
        var zoomoptions = {
            zoomWidth: 417,
            zoomHeight: 314,
            xOffset: 0,
            yOffset: 45,
            position: "right"
        };
        $(".jqzoom").jqzoom(zoomoptions);
    });

    $("#friendSend").click(function() {
        if (ValidateCustomForm('TellFriendForm', 'TellFriendValidationResult')) {
            $(".errortable").hide();
            var hasError = false;
            var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

            var emailToVal = $("#FriendEmail").val();
            if (!emailReg.test(emailToVal)) {
                $("#FriendEmail").after('<span class="errortable">&nbsp;Invalid email</span>');
                hasError = true;
            }
            var emailFromVal = $("#Text1").val();
            if (!emailReg.test(emailFromVal)) {
                $("#Text1").after('<span class="errortable">&nbsp;Invalid email</span>');
                hasError = true;
            }

            if (hasError == false) {
                $("#friendSend").hide();
                $("#friendSend").after('<img src="/media/images/loading-bar-black.gif" alt="Loading" class="loading" />');

                var url = $("#formaction").val();
                var _YourName = $("#YourName").val();
                var _FriendName = $("#Text2").val();
                var Message = $("#Message").val();
                var ProductID = $("#ProductID").val();

                pausecomp(1000);

                $.post(url,
                  { _FriendEmail: emailToVal, _YourEmail: emailFromVal, Message: Message, ProductID: ProductID, _YourName: _YourName, _FriendName: _FriendName },
   	                    function(data) {
   	                        $("#friendSend").hide();
   	                        $(".loading").hide();
   	                        $("#submitFriendCell").append('<span class="errortable">&nbsp;Success, your email has been sent</span>');
   	                    }
                );

            }

        }
    });


    $("#questionSend").click(function() {
        if (ValidateCustomForm('AskQuestionForm', 'SendQuestionValidationResult')) {
            $(".errortable").hide();
            var hasError = false;
            var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

            var questionEmail = $("#questionEmail").val();
            if (!emailReg.test(questionEmail)) {
                $("#questionEmail").after('<span class="errortable">&nbsp;Invalid email</span>');
                hasError = true;
            }

            if (hasError == false) {
                $("#questionSend").hide();
                $("#questionSend").after('<img src="/media/images/loading-bar-black.gif" alt="Loading" class="loading" />');

                var url = $("#questionformaction").val();
                var questionName = $("#questionName").val();
                var questionTel = $("#questionTel").val();
                var questionComments = $("#questionComments").val();
                var Subject = $("#questionSubject").val();
                var ProductID = $("#questionProductID").val();
                var StockCode = $("#questionStockCode").val();
                var Validate = "false";
                var EmailTemplateName = $("#QuestionEmailTemplateName").val();
                var Recipients = $("#questionRecipients").val();


                pausecomp(1000);

                //alert("_name " + questionName +
                //"\n _email " + questionEmail +
                //"\n _comments " + questionComments +
                //"\n telephone " + questionTel +
                //"\n StockCode " + StockCode +
                //"\n Subject " + Subject +
                //"\n Validate " + Validate +
                //"\n EmailTemplateName " + EmailTemplateName +
                //"\n Recipients " + Recipients +
                //"\n url " + url +
                //"\n ProductID " + ProductID);

                $.post(url,
                  { _name: questionName,
                      _email: questionEmail,
                      _comments: questionComments,
                      telephone: questionTel,
                      ProductID: ProductID,
                      StockCode: StockCode,
                      Subject: Subject,
                      Validate: Validate,
                      EmailTemplateName: EmailTemplateName,
                      Recipients: Recipients

                  },
   	                    function(data) {
   	                        // alert(data);
   	                        $("#questionSend").hide();
   	                        $(".loading").hide();
   	                        $("#submitQuestionCell").append('<span class="errortable">&nbsp;Success, your email has been sent</span>');
   	                    }
                );

            }

        }
    });

    function getVals(link) {
        
        var qty = '';
        var pid = '';
        var action = '';
        var doAction = false;
        
        if (link.indexOf("?") != -1) {
            var query = link.split("?")[1];

            eval("query = {" + query.replace(/&/ig, "\",").replace(/=/ig, ":\"") + "\"};");

            doAction = true;
            
            if (query.action) {
                action = unescape(query.action);
                if (query.id) {
                    pid = unescape(query.id);
                }
            }
            else {
                doAction = false;
            }
            switch (action) {
                case "add":
                    if (pid == '') {
                        doAction = false;
                    }
                    break;
                case "change":
                    if (pid == '') {
                        doAction = false;
                    }
                    else {
                        if (query.qty) {
                            qty = unescape(query.qty);
                        }
                        else {
                            qty = 0;
                        }
                    }

                    break;
                default:
            }
        }
        return { pid: pid, qty: qty, action: action, doAction: doAction };
    }

    // ADD TO BASKET 
    $(".basket_action").click(function() {

        var link = $(this).attr('href');
        var vals = getVals(link);

        if (vals.doAction == true) {

            $("#floataddtobasket").dialog('open').css('position', 'relative');
            var url = "/Ajax/basket.asp";

            jQuery.post(url,
                  {
                      action: vals.action,
                      Id: vals.pid,
                      qty: vals.qty

                  },
                    function(data) {

                        //alert("data: " + data);

                        var bits = data.split("~");

                        $("#spnBasketTotal").html(bits[0]);
                        $("#spnBasketCount").html(bits[1]);

                        if (bits[1] > 0) {
                            $("#MiniCheckoutButtons").show();
                        }
                        else {
                            $("#MiniCheckoutButtons").hide();
                        }

                        jQuery.post(url,
                       {
                           action: "getbasket"
                       },
                            function(data) {
                                $("#minibasket_rows").html(data);
                                showBasket();
                                $("#divAdded").show();
                                pausecomp(1500);
                                $("#floataddtobasket").dialog('close').css('position', 'absolute');
                                $("#divAdded").hide();

                            }
                        );

                    }
                );

        }

        return false;

    });


});

