function showSalesLinePopup() {
    triggerMacBox({
        boxID: "SalesLineInformation",
        width: 450,
        ajaxUrl: "/hoursinfo.aspx?date=" + new Date()
    });
}

function submitCallbackForm() {    
    //check the telephone number first... no point letting them ask for a callback if there's no number :-p
    var telephone1 = $("#cmb-telephone1").val();
    var telephone2 = $("#cmb-telephone2").val();
    if (telephone1.length == 0)
    {
        alert("Please enter a phone number in the 'Telephone 1' field");
        return;
    }
    var name = $("#cmb-name").val();
    var email = $("#cmb-email").val();
    var productid = $("#cmb-prodid").val();
    var reason = $("#cmb-reason option:selected").val();
    var time = $("#cmb-time option:selected").val();
    
    var url = "/submitCallbackForm.aspx";
    var data = "type=ajax&cmb-name=" + name + "&cmb-email=" + email + "&cmb-telephone1=" + telephone1 + "&cmb-telephone2=" + telephone2 + "&cmb-prodid=" + productid + "&cmb-reason=" + reason + "&cmb-time=" + time;
    var response = $.ajax(
    {
        type: "GET",
        url: url + "?" + data,
        complete: function(response)
        { 
            var rsp = response.responseText;
            if (rsp == "SUCCESS")
            {
                $(".cmbEntryForm").css("display", "none");
                $(".cmbSuccess").css("display", "block");
                $(".cmbError").css("display", "none");
            }
            else 
            {
                $(".cmbEntryForm").css("display", "none");
                $(".cmbSuccess").css("display", "none");
                $(".cmbError").css("display", "block");
            }
        }
    });
}

function submitPriceMatchForm()
{
    var name = $("#pmName").val();
    var email = $("#pmEmail").val();
    var telephone = $("#pmTelephone").val();
    var priceOption = $(".pmOption:checked").val();
    var priceFound = $("#pmPrice").val();
    var location = $("#pmLocation").val();
    var otherInfo = $("#pmOtherInfo").val();

    //verify the price to make sure it is actually a number
    var priceValidate = priceFound.replace(/&pound;/ig, "").replace(/£/ig, "");
    if (isNaN(priceValidate)) {
        //they can bob off!
        alert("Please enter a valid price in the format: 99.99");
        return;
    }
    
    var url = "/submitPriceBeaterForm.aspx";
    var data = "type=ajax&pmName=" + name + "&pmEmail=" + email + "&pmTelephone=" + telephone + "&pmOption=" + priceOption + "&pmPrice=" + priceFound + "&pmLocation=" + location + "&pmOtherInfo=" + otherInfo;
    var response = $.ajax(
    {
        type: "GET",
        url: url + "?" + data,
        complete: function(response)
        { 
            var rsp = response.responseText;
            if (rsp == "SUCCESS")
            {
                $(".pmEntryForm").css("display", "none");
                $(".pmSuccess").css("display", "block");
                $(".pmError").css("display", "none");
            }
            else 
            {
                $(".pmEntryForm").css("display", "none");
                $(".pmSuccess").css("display", "none");
                $(".pmError").css("display", "block");
            }
        }
    });
}

function submitAskAQuestionForm(productid)
{
    var firstname = $("#aqFirstname").val();
    var surname = $("#aqSurname").val();
    var email = $("#aqEmail").val();
    var telephone = $("#aqTelephone").val();
    var question = $("#aqQuestion").val();
    
    var url = "/submitQuestionForm.aspx";
    var data = "type=ajax&productid=" + productid + "&aqFirstname=" + firstname + "&aqSurname=" +  surname + "&aqEmail=" + email + "&aqTelephone=" + telephone + "&aqQuestion=" + question;
    var response = $.ajax(
    {
        type: "GET",
        url: url + "?" + data,
        complete: function(response)
        { 
            var rsp = response.responseText;
            if (rsp == "SUCCESS")
            {
                $(".aqEntryForm").css("display", "none");
                $(".aqSuccess").css("display", "block");
                $(".aqError").css("display", "none");
            }
            else 
            {
                $(".aqEntryForm").css("display", "none");
                $(".aqSuccess").css("display", "none");
                $(".aqError").css("display", "block");
            }
        }
    });
}

var quickLinksMinimised = true;
var quickLinksHeight = "";
function minimiseFrontPageQuickLinks() {
    var quickLinks = $("#category-list-box");
    if ($(quickLinks).height() <= 215) return;
    quickLinksHeight = $(quickLinks).height();
    var minimisedHeight = "215px";
    var viewAllLink = document.createElement("a");
    $(viewAllLink).attr("id", "view-all-quick-links");
    $(viewAllLink).html("View More");
    $(viewAllLink).click(function() {
        if (quickLinksMinimised) {
            $(quickLinks).animate({
                height: quickLinksHeight
            });
        }
        else {
            $(quickLinks).animate({
                height: minimisedHeight
            });
        }
        quickLinksMinimised = !quickLinksMinimised;
    });
    $(quickLinks).append(viewAllLink);
    $(quickLinks).css("height", minimisedHeight);
}

var filterLinksMinimised = true;
var filterLinksHeight = "";
function minimiseFilterLinks() {
    var filterLinks = $("#filter-list-category");
    if ($(filterLinks).height() <= 185) return;
    filterLinksHeight = $(filterLinks).height();
    var minimisedHeight = "185px";
    var viewAllLink = document.createElement("a");
    $(viewAllLink).attr("id", "view-all-filter-links");
    $(viewAllLink).html("View More");
    $(viewAllLink).click(function() {
        if (filterLinksMinimised) {
            $(filterLinks).animate({
                height: filterLinksHeight
            });
        }
        else {
            $(filterLinks).animate({
                height: minimisedHeight
            });
        }
        filterLinksMinimised = !filterLinksMinimised;
    });
    $(filterLinks).append(viewAllLink);
    $(filterLinks).css("height", minimisedHeight);
}

function initFrontPageSlider() {
    var dynoBanner = $("#dyno-banner");
    if ($(dynoBanner).html() == null) return;
    var nextButton = $("#dyno-slide-next");
    var prevButton = $("#dyno-slide-previous");
    $(nextButton).click(function(e) {
        e.preventDefault();
        //get the current slide
        var curSlide = $("#dyno-banner .current");
        //work out the number
        var slideNum = $(curSlide).attr("class");
        slideNum = slideNum.replace(/slide /ig, "").replace(/ current/ig, "").replace(/slide-/ig, "");
        slideNum = parseInt(slideNum);
        //work out how many slides we have
        var numSlides = $("#dyno-banner .slide").length;
        numSlides = parseInt(numSlides);
        //see what is the next slide we want to show
        slideNum++;
        if (slideNum > numSlides) slideNum = 1;
        var nextSlide = $("#dyno-banner .slide-" + slideNum);
        $(nextSlide).css("display", "block");
        $(nextSlide).css("left", $(curSlide).width() + 4);
        $(curSlide).removeClass("current");
        $(nextSlide).addClass("current");
        $(curSlide).animate({
            left: "-652px"
        }, 1000);
        $(nextSlide).animate({
            left: "4px"
        }, 1000);
    });
    $(prevButton).click(function(e) {
        e.preventDefault();
        //get the current slide
        var curSlide = $("#dyno-banner .current");
        //work out the number
        var slideNum = $(curSlide).attr("class");
        slideNum = slideNum.replace(/slide /ig, "").replace(/ current/ig, "").replace(/slide-/ig, "");
        slideNum = parseInt(slideNum);
        //work out how many slides we have
        var numSlides = $("#dyno-banner .slide").length;
        numSlides = parseInt(numSlides);
        //see what is the next slide we want to show
        slideNum--;
        if (slideNum < 1) slideNum = numSlides;
        var nextSlide = $("#dyno-banner .slide-" + slideNum);
        $(nextSlide).css("display", "block");
        $(nextSlide).css("left", "-652px");
        $(curSlide).removeClass("current");
        $(nextSlide).addClass("current");
        $(curSlide).animate({
            left: "656px"
        }, 1000);
        $(nextSlide).animate({
            left: "4px"
        }, 1000);
    });
}
var miniBannerTimer;
function changeMiniBanner(bannerId, slideNum, bannerWidth) {
    $("#" + bannerId + " .banner-image").hide();
    $("#" + bannerId + " .banner-image").removeClass("current");
    $("#" + bannerId + " .slide-" + slideNum).show();
    $("#" + bannerId + " .slide-" + slideNum).addClass("current");
    var bgPos = "-" + (slideNum - 1) * bannerWidth + "px";
    $("#" + bannerId + "-control").css("background-position", bgPos + " 0");
}
function initFrontPageMiniBanner() {
    if ($("#frontpage-mini-banner").html() == null) return;
    $("#frontpage-mini-banner .control-1").click(function(e) {
        e.preventDefault();
        changeMiniBanner("frontpage-mini-banner", 1, 100);
    });
    $("#frontpage-mini-banner .control-2").click(function(e) {
        e.preventDefault();
        changeMiniBanner("frontpage-mini-banner", 2, 100);
    });
    $("#frontpage-mini-banner .control-3").click(function(e) {
        e.preventDefault();
        changeMiniBanner("frontpage-mini-banner", 3, 100);
    });
    $("#frontpage-mini-banner .control-4").click(function(e) {
        e.preventDefault();
        changeMiniBanner("frontpage-mini-banner", 4, 100);
    });
    //set timer to change images
    miniBannerTimer = setInterval(function() {
        //work out the current slide showing
        var curSlide = $("#frontpage-mini-banner .current");
        var curNum = $(curSlide).attr("class").replace(/banner-image/ig, "").replace(/current/ig, "").replace(/slide-/ig, "").replace(/ /ig, "");
        curNum++;
        if (curNum > 4) curNum = 1;
        changeMiniBanner("frontpage-mini-banner", curNum, 100);
    }, 5000);
}

function initMiniBanner() {
    if ($("#mini-banner").html() == null) return;
    $("#mini-banner .control-1").click(function(e) {
        e.preventDefault();
        changeMiniBanner("mini-banner", 1, 59);
    });
    $("#mini-banner .control-2").click(function(e) {
        e.preventDefault();
        changeMiniBanner("mini-banner", 2, 59);
    });
    //set timer to change images
    miniBannerTimer = setInterval(function() {
        //work out the current slide showing
        var curSlide = $("#mini-banner .current");
        var curNum = $(curSlide).attr("class").replace(/banner-image/ig, "").replace(/current/ig, "").replace(/slide-/ig, "").replace(/ /ig, "");
        curNum++;
        if (curNum > 2) curNum = 1;
        changeMiniBanner("mini-banner", curNum, 59);
    }, 5000);
}

function showAnythingBoxGBD() {
    triggerMacBox({
        boxID: "AnythingBoxGBD",
        width: 600,
        ajaxUrl: "/global/promotions/MayBankHolidayEnd-2010/promotion-explained.aspx"
    });
}
function showDeliveryEstGBD() {
    triggerMacBox({
        boxID: "DeliveryEstGBD",
        width: 400,
        ajaxUrl: "/CategoryPage/UserControls/delivery-times.aspx"
    });
}
function showLogCabinFlash(prodID) {
    triggerMacBox({
        boxID: "LogCabinFlash",
        width: 800,
        ajaxUrl: "/ProductPage4/AJAX/ProductOverviewFlashBanner.aspx?prodID=" + prodID
    });
}

function initNewsletterSignup() {
    $("#newsletter-signup #newsletter-email").blur(function() {
        if ($(this).val().length == 0) {
            $(this).val("your email address");
        }
    }).focus(function() {
        if ($(this).val() == "your email address") {
            $(this).val("");
        }
    }).keydown(function(e) {
        if (e.keyCode == 13) {
            sigupUpForNewsletter();
        }
    });
    $("#newsletter-signup #newsletter-submit").click(function() {
        sigupUpForNewsletter();
    });
}
function sigupUpForNewsletter() {
    //get the textbox with the email address in it
    var emailAddress = $("#newsletter-signup #newsletter-email").val();
    //call the ajax
    $.ajax({
        type: "GET",
        url: "/AJAXNewsletterSignup.aspx?email=" + emailAddress,
        success: function(data, textStatus) {
            try {
                var rspObj = eval(data)[0];
                if (rspObj.success) {
                    if (rspObj.alreadySignedUp) {
                        $("#newsletter-signup .newsletter-entry").remove();
                        $("#newsletter-signup .newsletter-success").html("<span>Thankyou</span><br />You are already signed up for our newsletter.");
                    }
                    else {
                        $("#newsletter-signup .newsletter-entry").remove();
                        $("#newsletter-signup .newsletter-success").html("<span>Success!</span><br />You have successfully signed up for our newsletter. Thankyou.");
                    }
                }
                else {
                    //get the status message
                    $("#newsletter-error").html(rspObj.status);
                }
            }
            catch (ex) {
                alert(data);
                $("#newsletter-error").html("Sorry, there has been an error with your submission. Please refresh this page and try again.");
            }
        },
        error: function(ajaxObj, textStatus, errorThrown) {
            alert(ajaxObj.responseText);
            $("#newsletter-error").html("Sorry, there has been an error with your submission. Please refresh this page and try again.");
        }
    });
}

function showWarehouseClearanceSalePopup() {
    triggerMacBox({
        boxID: "WarehouseClearanceSale2010",
        width: 541,
        ajaxUrl: "/PromotionInformation/WCS2010ExplainedAJAX.aspx"
    });
}

// Front Page Drop Down //
var UKManMinHeight = 31;
var UKManMaxHeight = 400;
function toggleUKMan() {
    var state = $("#uk-man").attr("class");
    if (state == "minimised") {
        $("#uk-man").animate({
            height: UKManMaxHeight
        }, 200);
        $("#uk-man").attr("class", "maximised");
    }
    else {
        $("#uk-man").animate({
            height: UKManMinHeight
        }, 200);
        $("#uk-man").attr("class", "minimised");
    }
}

var WhyBuyMinHeight = 31;
var WhyBuyMaxHeight = 580;
function toggleWhyBuy() {
    var state = $("#why-buy").attr("class");
    if (state == "minimised") {
        $("#why-buy").animate({
            height: WhyBuyMaxHeight
        }, 200);
        $("#why-buy").attr("class", "maximised");
    }
    else {
        $("#why-buy").animate({
            height: WhyBuyMinHeight
        }, 200);
        $("#why-buy").attr("class", "minimised");
    }
}

function showBillyOhRangeVideo() {
    triggerMacBox({
        boxID: "BillyOhRangeVideo",
        width: 720,
        ajaxType: "get",
        ajaxUrl: "/AJAX/BillyOhRangeVideo.aspx",
        borderType: "round",
        onclose: function() {
            $("#BillyOhRangeVideo").remove();
        }
    });
}

$(document).ready(function() {
    $(".product-thumbnails img").live("click", function() {
        var bigImg = $(this).parent().parent().parent().parent().find(".main-image");
        var thumbImgBigSrc = $(this).attr("rel");
        $(bigImg).attr("src", thumbImgBigSrc);
    });

    // minimise content
    if (!$("#page-container").hasClass("categories")) {
        minimiseFrontPageQuickLinks();
    }

    // 
    $("#ukman-but").click(function(e) {
        e.preventDefault();
        toggleUKMan();
    });
    $("#whybuy-but").click(function(e) {
        e.preventDefault();
        toggleWhyBuy();
    });

    minimiseFilterLinks();
    /////

    //set up front page slider
    initFrontPageSlider();
    /////
    //set up front page mini banner 
    initFrontPageMiniBanner();
    /////
    //set up promo content
    $("#maybank-popup-link-gbd").click(function(e) {
        e.preventDefault();
        showAnythingBoxGBD();
    });
    //set up Delivery Estimates
    $(".DeliveryEstGBDlink").click(function(e) {
        e.preventDefault();
        showDeliveryEstGBD();
    });
    //set up Log Cabin Flash Lightbox
    $(".LogCabinFlashLINK").click(function(e) {
        e.preventDefault();
        var prodID = $(this).attr("rel");
        showLogCabinFlash(prodID);
    });
    //warehouse clearance sale popup
    $(".wcs2010-explained").click(function(e) {
        e.preventDefault();
        showWarehouseClearanceSalePopup();
    });
    /////

    //billyoh product range video
    $(".view-range-video").click(function(e) {
        e.preventDefault();
        showBillyOhRangeVideo();
    });

    //set up mini banner 
    initMiniBanner();
    /////
    //init any newsletter signup boxes
    initNewsletterSignup();
});
