﻿/* **************************************** GENERAL **************************************** */

function FontSizeCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
    location.reload(true);
}


function textMaxLength(obj, maxLength, evt){
    var charCode=(evt.which) ? evt.which : event.keyCode
    var max = maxLength - 0;
    var text = obj.value;
    if(text.length > max)
    {
        var ignoreKeys = [8,46,37,38,39,40,35,36];
        for(i=0;i<ignoreKeys.length;i++)
        {
            if(charCode==ignoreKeys[i])
            {
                return true;
            }
        }
    return false;
    }
    else
    {
    return true;
    }
} 

function popUp(URL, width, height, scroll) {
    var settings
    settings = "width=" + width + ",height=" + height + ",scrollbars=" + scroll + ",toolbar=no";
    popwin = window.open(URL, "Chums", settings);
    popwin.focus();
}

function ClearSearchString() {
    document.getElementById("SearchString").value = '';
    document.getElementById("SearchString").className = 'SearchString_Active'
}

function CheckSearch(e) {
    if (e.keyCode == 13) {
        doSearch();
        return false;
    }
}

function doSearch() {
    var SearchString = document.getElementById("SearchString").value;
    SearchString = SearchString.replace(/[^A-Za-z0-9 \']/g, "");
    SearchString = SearchString.substring(0, 100);
    if (SearchString == "") {
        alert("Please enter a valid search term")
    } else {
        location.href = "/Search/" + SearchString;
    }
    return false;
}

/* **************************************** PRODUCT LIST **************************************** */

function SetFilter1(varSortValue) {
    if (document.location.search.length) {
        var strPrefix = "?";
        var URL = RemoveQuery("F1");
        if (URL.substring(0, 1) == "?") { strPrefix = "&"; }
        location.href = URL + strPrefix + 'F1=' + varSortValue;
    } else {
        var URL = RemoveFriendlyFilter1(document.location.pathname);
        URL = URL + '/Brand-' + varSortValue;
        location.href = OrderURL(URL);
    }
}

function SetPageNumber(varPageNumber) {
    if (document.location.search.length) {
        var strPrefix = "?";
        var URL = RemoveQuery("PageNumber");
        if (URL.substring(0, 1) == "?") { strPrefix = "&"; }
        location.href = URL + strPrefix + 'PageNumber=' + varPageNumber;
    }else{
        var URL = RemoveFriendlyPageNumber();
        URL = URL + '/Page-' + varPageNumber;
        location.href = OrderURL(URL);
    } 
}

function SetSortBy(varSortValue) {
    if (document.location.search.length) {
        var strPrefix = "?";
        var URL = RemoveQuery("SortBy");
        if (URL.substring(0, 1) == "?") { strPrefix = "&"; }
        location.href = URL + strPrefix + 'SortBy=' + varSortValue;
    } else {
        var URL = RemoveFriendlySortBy(document.location.pathname);
        URL = URL + '/SortBy-' + varSortValue;
        location.href = OrderURL(URL);
    }
}

function SetProdsPerPage(varValue) {
    if (document.location.search.length) {
        var strPrefix = "?";
        var URL = RemoveQuery("PP");
        if (URL.substring(0, 1) == "?") { strPrefix = "&"; }
        location.href = URL + strPrefix + 'PP=' + varValue;
    } else {
        var URL = RemoveFriendlyPageNumber();
        URL = RemoveFriendlyPerPage(URL);
        URL = URL + '/PP-' + varValue;
        location.href = OrderURL(URL);
    }
}

function RemoveQuery(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    var URL = "";
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair.length > 1) {
            if (pair[0].toString().toLowerCase() != variable.toString().toLowerCase()) {
                URL = URL + '&' + pair[0] + '=' + pair[1];
            }
        }
    }
    if (URL.toString().substring(0, 1) == '&') {
        URL = '?' + URL.toString().substring(1, URL.toString().length);
    }
    return URL;
}

function RemoveFriendlyPageNumber() {
    var query = window.location.pathname;
    var NewURL = window.location.pathname;
    var CurrentURL;
    var vars = query.split("/");
    var URL = "";
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i];
        if (pair.length > 1) {
            if (pair.toString().toLowerCase().substring(0,5) == 'page-') {
                for (var x = 0; x < 100; x++) {
                    if (pair.toString().toLowerCase() == 'page-' + x) {
                        NewURL = NewURL.replace("/Page-" + x + "", "");
                    }
                }
            }
        }
    }
    return NewURL;
}

function RemoveFriendlyPerPage(URL) {
    var query = URL;
    var NewURL = URL;
    var vars = query.split("/");

    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i];
        if (pair.length > 1) {
            if (pair.toString().toLowerCase().substring(0, 3) == 'pp-') {
                for (var x = 0; x < 99999; x++) {
                    if (pair.toString().toLowerCase() == 'pp-' + x) {
                        NewURL = URL.replace("/PP-" + x + "", "");
                    }
                }
            }
        }
    }
    return NewURL;
}

function RemoveFriendlyFilter1(URL) {
    var query = URL;
    var NewURL = URL;
    var vars = query.split("/");

    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i];
        if (pair.length > 1) {
            if (pair.toString().toLowerCase().substring(0, 6) == 'brand-') {
                for (var x = 0; x < 99999; x++) {
                    if (pair.toString().toLowerCase() == 'brand-' + x) {
                        NewURL = URL.replace("/Brand-" + x + "", "");
                    }
                }
            }
        }
    }
    return NewURL;
}

function RemoveFriendlySortBy(URL) {
    var query = URL;
    var NewURL = URL;
    var vars = query.split("/");

    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i];
        if (pair.length > 1) {
            if (pair.toString().toLowerCase().substring(0, 7) == 'sortby-') {
                for (var x = 0; x < 99999; x++) {
                    if (pair.toString().toLowerCase() == 'sortby-' + x) {
                        NewURL = URL.replace("/SortBy-" + x + "", "");
                    }
                }
            }
        }
    }
    return NewURL;
}

function RemoveFriendlySortBy(URL) {
    var query = URL;
    var NewURL = URL;
    var vars = query.split("/");

    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i];
        if (pair.length > 1) {
            if (pair.toString().toLowerCase().substring(0, 7) == 'sortby-') {
                for (var x = 0; x < 99999; x++) {
                    if (pair.toString().toLowerCase() == 'sortby-' + x) {
                        NewURL = URL.replace("/SortBy-" + x + "", "");
                    }
                }
            }
        }
    }
    return NewURL;
}


function OrderURL(URL) {
    var query = URL;
    var NewURL = URL;
    var vars = query.split("/");
    var pp = "";
    var page = "";
    var sortby = "";
    var brand = "";

    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i];
        if (pair.length > 1) {

            if (pair.toString().toLowerCase().substring(0, 6) == 'brand-') {
                for (var x = 0; x < 99999; x++) {
                    if (pair.toString().toLowerCase() == 'brand-' + x) {
                        pp = "/Brand-" + x;
                    }
                }
            }

            if (pair.toString().toLowerCase().substring(0, 3) == 'pp-') {
                for (var x = 0; x < 99999; x++) {
                    if (pair.toString().toLowerCase() == 'pp-' + x) {
                        pp = "/PP-" + x;
                    }
                }
            }

            if (pair.toString().toLowerCase().substring(0, 5) == 'page-') {
                for (var x = 0; x < 100; x++) {
                    if (pair.toString().toLowerCase() == 'page-' + x) {
                        page = "/Page-" + x;
                    }
                }
            }

            if (pair.toString().toLowerCase().substring(0, 7) == 'sortby-') {
                for (var x = 0; x < 100; x++) {
                    if (pair.toString().toLowerCase() == 'sortby-' + x) {
                        sortby = "/SortBy-" + x;
                    }
                }
            }
        }
    }
    
    var RedirectURL;
    RedirectURL = RemoveFriendlyPageNumber();
    RedirectURL = RemoveFriendlyPerPage(RedirectURL);
    RedirectURL = RemoveFriendlySortBy(RedirectURL);

    RedirectURL = RedirectURL + page + pp + sortby;

    return RedirectURL;
}
/* **************************************** PRODUCT DETAIL **************************************** */

function ChangeMoreInformation(strObj) {
    var tabs = document.getElementById("MoreInformation_Tabs").getElementsByTagName('div');
    var info = document.getElementById("MoreInformation_Detail").getElementsByTagName('p');
    for (var i = 0; i < tabs.length; i++) {
        if (tabs[i].id.substring(0, 4) == 'Tab_') {
            tabs[i].className = '';
            document.getElementById("Tab_" + strObj).className = 'Active';
        }
    }
    for (var i = 0; i < info.length; i++) {
        if (info[i].id.substring(0, 12) == 'Information_') {
            info[i].style.display = 'none';
            document.getElementById("Information_" + strObj).style.display = 'block';
        }
    }
}

function SelectStock(varID) {
    if (document.getElementById("StockID").value != "") {
        try { document.getElementById("Btn_" + document.getElementById("StockID").value).src = "/UserPages/Images/Btn_InStock.jpg"; } catch (e) { }
    }
    document.getElementById("StockID").value = varID;
    try { document.getElementById("Btn_" + varID).src = "/UserPages/Images/Btn_InStock_Selected.jpg"; } catch (e) { }
    document.getElementById("BtnAdd").disabled = "";
    document.getElementById("BtnAdd").src = "/UserPages/Images/Btn_AddToBasket.jpg";
    $('#LinkAdd')[0].onclick = null;
    $('#LinkAdd').click(function () { AddItemToBasket() });
}

function NoGrid(StockID, BtnType) {
    document.getElementById("StockID").value = StockID;
    $(window).bind("load", function () {
        switch (BtnType) {

            case "Email":
                document.getElementById("BtnAdd").src = "/UserPages/Images/Btn_AddBasketEmail.jpg";
                $('#LinkAdd')[0].onclick = null;
                $('#LinkAdd').click(function () { document.getElementById('EmailWhenBackInStock').style.display = ''; }); //This link may need changing when email when in stock is added.
                break;
            case "PreOrder":
                SelectStock(StockID); // This may need changing in the future
                break;
            case "Order":
                SelectStock(StockID);
                break;
            case "CantBuy":
                document.getElementById("BtnAdd").src = "/UserPages/Images/Btn_AddBasketOut.jpg";
                $('#LinkAdd')[0].onclick = null;
                $('#LinkAdd').click(function () { return false; });
                break;
        }
    });
}

function GridEmailWhenInStock(StockID) {
    document.getElementById("StockID").value = StockID;
    document.getElementById('EmailWhenBackInStock').style.display = '';
}

function AddItemToBasket() {
    var StockID;
    var Qty;
    if (document.getElementById("StockID").value != "") {
        StockID = document.getElementById("StockID").value;
        Qty = document.getElementById("Qty").value;
        location.href = "/Basket/AddToBasket.aspx?Qty=" + Qty + "&StockID=" + StockID;
    }
}

function SetMainProductImage(image) {
    var strImagePath;
    strImagePath = image.src;
    document.getElementById("MainProductImage").src = strImagePath.replace("Basket", "Large");
}

/* **************************************** EMAIL WHEN BACK IN STOCK **************************************** */
var LineNumberTemp = 0;

function EmailWhenBackInStock_QuickOrder(LineNumber) {
    var Message = "";
    var Action = "";
    var StockID = 0;
    var ProdCode = "";
    var Name = "";
    var Email = "";

    LineNumberTemp = LineNumber;
    StockID = document.getElementById("StockID_" + LineNumber).value;
    ProdCode = document.getElementById("CatCode_" + LineNumber).value;
    Name = document.getElementById("EWISName_" + LineNumber).value;
    Email = document.getElementById("EWISEmail_" + LineNumber).value;

    if (StockID == "") { Message = Message + "Please select a stock option\n"; }
    if (isValidEmail(Email) == false) { Message = Message + "Invalid email address\n"; }
    if (Name == "") { Message = Message + "Please enter your name\n"; }
    if (Message == "") { Action = "True"; } else { Action = "False"; }
    if (Action == "True") { EWIS_AjaxGetData_Quickorder("/WS/EmailWhenInStock.aspx?StockID=" + StockID + "&ProductCode=" + ProdCode + "&Email=" + Email + "&Name=" + Name, EWIS_AjaxHandler_QuickOrder); return false; } else { alert(Message); return false; }

}

function EmailWhenBackInStock(StockID, ProdCode, Name, Email, ProdName) {
    var Message = "";
    var Action = "";

    if (StockID == "") { Message = Message + "Please select a stock option\n"; }
    if (isValidEmail(Email) == false) { Message = Message + "Invalid email address\n"; }
    if (Name == "") { Message = Message + "Please enter your name\n"; }
    if (Message == "") { Action = "True"; } else { Action = "False"; }
    if (Action == "True") { EWIS_AjaxGetData("/WS/EmailWhenInStock.aspx?StockID=" + StockID + "&ProductCode=" + ProdCode + "&ProductName=" + ProdName + "&Email=" + Email + "&Name=" + Name, EWIS_AjaxHandler); return false; } else { alert(Message); return false; }
}

function EWIS_AjaxGetData_Quickorder(url, responseHandler) {
    if (window.XMLHttpRequest) {
        // browser has native support for XMLHttpRequest object          
        reqQuick = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        // try XMLHTTP ActiveX (Internet Explorer) version          
        reqQuick = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (reqQuick) {
        reqQuick.onreadystatechange = responseHandler;
        reqQuick.open('get', url, true);
        reqQuick.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");
        reqQuick.setRequestHeader("Cache-Control", "no-cache");
        reqQuick.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        reqQuick.send('');
    }
    else { alert('Your browser does not seem to support XMLHttpRequest.'); }
}

function EWIS_AjaxHandler_QuickOrder() {
    try {
        if (reqQuick.readyState == 4 || reqQuick.readyState == 'complete') {
            document.getElementById('EWISDetails_' + LineNumberTemp).innerHTML = reqQuick.responseText;
            return false;
        }
    }
    catch (e) {
        return false;
    }
}

function EWIS_AjaxGetData(url, responseHandler) {
    if (window.XMLHttpRequest) {
        // browser has native support for XMLHttpRequest object          
        reqEWIS = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        // try XMLHTTP ActiveX (Internet Explorer) version          
        reqEWIS = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (reqEWIS) {
        reqEWIS.onreadystatechange = responseHandler;
        reqEWIS.open('get', url, true);
        reqEWIS.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");
        reqEWIS.setRequestHeader("Cache-Control", "no-cache");
        reqEWIS.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        reqEWIS.send('');
    }
    else { alert('Your browser does not seem to support XMLHttpRequest.'); }
}

function EWIS_AjaxHandler() {

    try {
        if (reqEWIS.readyState == 4 ||
            reqEWIS.readyState == 'complete') {
            document.getElementById('EWISDetails').innerHTML = reqEWIS.responseText;
            return false;
        }
    }
    catch (e) {
        alert('Error in Ajax respone:' + req.readyState);
        return false;
    }
}

/* **************************************** PRODUCT REVIEWS **************************************** */

function AddProductReview() {
    document.getElementById("ProductReviewAdd").style.display = "";
}

function ShowProductReview() {
    if (document.getElementById("ShowProductReviews").style.display != "") {
        document.getElementById("ShowProductReviews").style.display = "";
        document.getElementById("ShowHideReview").innerHTML = "<b>Hide Product Reviews</b>";
    } else {
        document.getElementById("ShowProductReviews").style.display = "none";
        document.getElementById("ShowHideReview").innerHTML = "<b>Show Product Reviews</b>";
    }
}

function AjaxGetDataProductReview(url, responseHandler) {
    if (window.XMLHttpRequest) {
        // browser has native support for XMLHttpRequest object          
        reqMail = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        // try XMLHTTP ActiveX (Internet Explorer) version          
        reqMail = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (reqMail) {
        reqMail.onreadystatechange = responseHandler;
        reqMail.open('get', url, true);
        reqMail.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");
        reqMail.setRequestHeader("Cache-Control", "no-cache");
        reqMail.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        reqMail.send('');
    }
    else { alert('Your browser does not seem to support XMLHttpRequest.'); }
}

function AjaxHandler_ProductReview() {
    try {
        if (reqMail.readyState == 4 ||
            reqMail.readyState == 'complete') {
            document.getElementById('ProductReviewAdd').style.display = 'none';
            alert("Thank you for submitting a product review.")
        }
    }
    catch (e) {
        alert('Error in Ajax respone:' + reqMail.readyState);
    }
}

function SubmitProductReview() {
    var Message = "";
    var Action = "";
    var Code = document.getElementById("ProductCode").value;
    var Name = document.getElementById("ProductReviewName").value;
    var Email = document.getElementById("ProductReviewEmail").value;
    var Rating = document.getElementById("ProductReviewRating").value;
    var Review = document.getElementById("ProductReview").value;
    var Captcha = document.getElementById("Captcha").value;
    Review = Review.replace(/\r\n/g, "{CS_LineBreak}\r\n");

    if (isValidEmail(Email) == false) { Message = Message + "Invalid email address\n"; }
    if (Name == "") { Message = Message + "Please enter your Name\n"; }
    if (Rating == "" || Rating == "0") { Message = Message + "Please enter your Rating\n"; }
    if (Review == "") { Message = Message + "Please enter your Review\n"; }
    if (Captcha != 'A92TYF') { Message = Message + 'Please enter the correct characters .\n'; }
    if (Message == "") { Action = "True"; } else { Action = "False"; }
    if (Action == "True") { AjaxGetDataProductReview("/WS/ReviewSave.aspx?Code=" + Code + "&Name=" + Name + "&Rating=" + Rating + "&Email=" + Email + "&Review=" + Review, AjaxHandler_ProductReview); } else { alert(Message); }
}
function isValidEmail(str) {
    return (str.indexOf(".") > 0) && (str.indexOf("@") > 0);
}

/* **************************************** BASKET **************************************** */

function GetMiniBasket() {
    AjaxGetData("/WS/basketwebservice.aspx", AjaxHandler);
}
function AjaxGetData(url, responseHandler) {
    if (window.XMLHttpRequest) {
        // browser has native support for XMLHttpRequest object          
        req = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        // try XMLHTTP ActiveX (Internet Explorer) version          
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (req) {
        req.onreadystatechange = responseHandler;
        req.open('get', url, true);
        req.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");
        req.setRequestHeader("Cache-Control", "no-cache");
        req.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        req.send('');
    }
    else { alert('Your browser does not seem to support XMLHttpRequest.'); }
}
function AjaxHandler() {

    try {
        if (req.readyState == 4 ||
            req.readyState == 'complete') {
            document.getElementById('TopNavigation_MiniBasket').innerHTML = req.responseText;
        }
    }
    catch (e) {
        alert('Error in Ajax respone:' + req.readyState);
    }
}

function ShowMiniBasketItems() {
    document.getElementById("MiniBasket_Items").style.display = 'block';
    document.getElementById("TopNavigation_SignIn").style.display = 'none';
    document.getElementById("TopNavigation_Menu_Right_SSL").style.display = 'none'; 
}
function HideMiniBasketItems() {
    document.getElementById("MiniBasket_Items").style.display = 'none';
    document.getElementById("TopNavigation_SignIn").style.display = 'block';
    document.getElementById("TopNavigation_Menu_Right_SSL").style.display = 'block'; 
}

function setShipping(varID) {
    var URL = self.location.href.replace(/(\?.*)/, "");
    self.location.href = URL + "?ShippingID=" + varID;
}

function UpdateBasket() {
    location.href = "/Basket/UpdateBasket.aspx"
}

function ChangeBasketCountry(varID) {
    var URL = self.location.href.replace(/(\?.*)/, "");
    self.location.href = URL + "?CountryID=" + varID;
}

/* **************************************** CHECKOUT **************************************** */

function HideElement(id) {
    document.getElementById(id).style.display = 'none';
}

function ShowElement(id) {
    document.getElementById(id).style.display = 'block';
}
function CheckCustomerDetails() {
    var sMsg = '';
    if (document.getElementById("ContentPlaceHolder1_cboTitle").value == '') { sMsg = sMsg + 'Please select your title.\n'; }
    if (document.getElementById("ContentPlaceHolder1_txtFirstName").value == '') { sMsg = sMsg + 'Please enter your first name.\n'; }
    if (document.getElementById("ContentPlaceHolder1_txtLastName").value == '') { sMsg = sMsg + 'Please enter your last name.\n'; }
    if (document.getElementById("ContentPlaceHolder1_Existing").value != 'true') {
        if (document.getElementById("ContentPlaceHolder1_txtEmail").value == '') { sMsg = sMsg + 'Please enter your email address.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtEmailConfirm").value == '') { sMsg = sMsg + 'Please confirm your email address.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtEmail").value != document.getElementById("ContentPlaceHolder1_txtEmailConfirm").value) { sMsg = sMsg + 'Please ensure your email addresses match.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtPassword").value == '') { sMsg = sMsg + 'Please enter your password.\n'; }
        if (isValidPassword(document.getElementById("ContentPlaceHolder1_txtPassword").value) == false) { sMsg = sMsg + 'Your password can contain only numbers, letters and ! &pound &quot; $ % ^ &amp; * =.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtPassword").value.length < 6) { sMsg = sMsg + 'Your password must be 6 or more characters.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtPasswordConfirm").value == '') { sMsg = sMsg + 'Please confirm your password.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtPassword").value != document.getElementById("ContentPlaceHolder1_txtPasswordConfirm").value) { sMsg = sMsg + 'Please ensure your passwords match.\n'; }
    }
    if (document.getElementById("ContentPlaceHolder1_txtPostCode").value == '') { sMsg = sMsg + 'Please enter your post code.\n'; }
    if (document.getElementById("ContentPlaceHolder1_txtAddress1").value == '') { sMsg = sMsg + 'Please enter your house no/name.\n'; }
    if (document.getElementById("ContentPlaceHolder1_txtAddress4").value == '') { sMsg = sMsg + 'Please enter your town/city.\n'; }

    if (document.getElementById("ContentPlaceHolder1_optDeliveryNo").checked == true) {
        if (document.getElementById("ContentPlaceHolder1_cboTitleD").value == '') { sMsg = sMsg + 'Please enter your delivery title.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtFirstNameD").value == '') { sMsg = sMsg + 'Please enter your delivery first name.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtLastNameD").value == '') { sMsg = sMsg + 'Please enter your delivery last name.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtPostCodeD").value == '') { sMsg = sMsg + 'Please enter your delivery postcode.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtAddress1D").value == '') { sMsg = sMsg + 'Please enter your delivery house no/name.\n'; }
        if (document.getElementById("ContentPlaceHolder1_txtAddress4D").value == '') { sMsg = sMsg + 'Please enter your delivery town/city.\n'; }
    }
    if (sMsg == '') { return true; } else { alert(sMsg); return false; }
}

function isValidPassword(Password) {
    var unCleanTxt = Password;
    var regex = new RegExp("[ ]", "g");
    var cleanText = regex.test(unCleanTxt);
    if (cleanText == true) {
        return false;        
    } else {
    return true;
    }
}
function CheckCustomerLogin() {
    var sMsg = '';
    if (document.getElementById("ContentPlaceHolder1_txtEmailLogin").value == '') { sMsg = sMsg + 'Please enter your email address.\n'; }
    if (document.getElementById("ContentPlaceHolder1_txtPasswordLogin").value == '') { sMsg = sMsg + 'Please enter your password.\n'; }

    if (sMsg == '') { return true; } else { alert(sMsg); return false; }
}

function SummaryGiftWrap() {
    var rads = document.getElementsByName("GiftWrap");
    if (rads[0].checked) {
        document.getElementById("GiftWrapOptions").style.display = "";
    }
    else if (rads[1].checked) {
        document.getElementById("GiftWrapOptions").style.display = "none";
        __doPostBack('REMOVEGIFTWRAP', 'REMOVEGIFTWRAP');
    }
}

function CheckGiftWrap() {
    var MessageText = document.getElementById("GiftWrapMessage").value;
    if ( MessageText == "") {
        alert('Please enter a message for your giftwrapped items');
    } else {
        __doPostBack('ADDGIFTWRAP', 'ADDGIFTWRAP');
    }
}

function CheckCustomerEmail() {
    var sMsg = '';
    if (document.getElementById("ContentPlaceHolder1_txtEmail").value == '') { sMsg = sMsg + 'Please enter your email address.\n'; }

    if (sMsg == '') { return true; } else { alert(sMsg); return false; }
}

/* **************************************** STATIC PAGES **************************************** */

function CheckMailingList() {
    var sMsg = '';
    if (document.getElementById("firstname").value == '') { sMsg = sMsg + 'Please enter your first name.\n'; }
    if (document.getElementById("surname").value == '') { sMsg = sMsg + 'Please enter your surname.\n'; }
    if (document.getElementById("email").value == '') { sMsg = sMsg + 'Please enter your email address.\n'; }

    if (sMsg == '') { return true; } else { alert(sMsg); return false; }
}

function SiteMap_ShowProducts(Character) {
    $('.SiteMap_Character').css('display', 'none');
    $('#SiteMap_' + Character + '').css('display', 'block');
}

/* **************************************** CATALOGUE REQUEST **************************************** */

function AjaxGetDataCatalogueRequest(url, responseHandler) {
    if (window.XMLHttpRequest) {
        // browser has native support for XMLHttpRequest object          
        reqMail = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        // try XMLHTTP ActiveX (Internet Explorer) version          
        reqMail = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (reqMail) {
        reqMail.onreadystatechange = responseHandler;
        reqMail.open('get', url, true);
        reqMail.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");
        reqMail.setRequestHeader("Cache-Control", "no-cache");
        reqMail.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        reqMail.send('');
    }
    else { alert('Your browser does not seem to support XMLHttpRequest.'); }
}

function AjaxHandler_CatalogueRequest() {
    try {
        if (reqMail.readyState == 4 ||
            reqMail.readyState == 'complete') {
            location.href = "/Pages/SendCatalogue";
        }
    }
    catch (e) {
        alert('Error in Ajax respone:' + reqMail.readyState);
    }
}

function SubmitCatalogueRequest() {
    var Message = "";
    var Action = "";
    var Catalogue = "";
    var Title = document.getElementById("ContentPlaceHolder1_cboTitle").value;
    var FirstName = document.getElementById("ContentPlaceHolder1_txtFirstName").value;
    var LastName = document.getElementById("ContentPlaceHolder1_txtLastName").value;
    var HouseName = document.getElementById("ContentPlaceHolder1_txtHouseLookup").value;
    var Address1 = document.getElementById("ContentPlaceHolder1_txtAddress1").value;
    var Address2 = document.getElementById("ContentPlaceHolder1_txtAddress2").value;
    var Address3 = document.getElementById("ContentPlaceHolder1_txtAddress3").value;
    var Address4 = document.getElementById("ContentPlaceHolder1_txtAddress4").value;
    var Address5 = document.getElementById("ContentPlaceHolder1_txtAddress5").value;
    var PostCode = document.getElementById("ContentPlaceHolder1_txtPostCode").value;
    var Country = document.getElementById("ContentPlaceHolder1_cboCountry").value;
    var Telephone = document.getElementById("ContentPlaceHolder1_txtTelephone").value;
    var Email = document.getElementById("ContentPlaceHolder1_txtEmail").value;


    if (Title == "") { Message = Message + "Please select your Title\n"; }
    if (FirstName == "") { Message = Message + "Please enter your First Name\n"; }
    if (LastName == "") { Message = Message + "Please enter your Last Name\n"; }
    if (HouseName == "") { Message = Message + "Please enter your House No\n"; }
    if (Address1 == "") { Message = Message + "Please enter your Address\n"; }
    if (Address4 == "") { Message = Message + "Please enter your Town/City\n"; }
    if (PostCode == "") { Message = Message + "Please enter your Postcode\n"; }
    if (Message == "") { Action = "True"; } else { Action = "False"; }
    if (Action == "False") { alert(Message); return false; } else { return true; }
}


/*************** QUICK ORDER *********************/
function CheckQuickOrderEnterKey(e,LineNumber) {
    if (e.keyCode == 13) {
        QuickOrder_Search(LineNumber);
        return false;
    }
}

function QuickOrder_Search(LineNumber) {
    var ProductCode = document.getElementById("CatCode_" + LineNumber).value;
    if (ProductCode != "") {
        QuickOrder_AjaxGetData("/WS/QuickOrder/LoadProduct.aspx?LineNumber=" + LineNumber + "&ProductCode=" + ProductCode, QuickOrder_AjaxHandler, LineNumber);
    } else {
        document.getElementById('ProductDetail_StockMessage_' + LineNumber).innerHTML = 'Please enter a catalogue code'
    }
}

function QuickOrder_ShowEMWIS(LineNumber) {
    document.getElementById("EmailWhenBackInStock_" + LineNumber).style.display = "";
}

function QuickOrder_AjaxGetData(url, responseHandler, LineNumber) {
    if (window.XMLHttpRequest) {
        // browser has native support for XMLHttpRequest object          
        QuickOrderReq = new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        // try XMLHTTP ActiveX (Internet Explorer) version          
        QuickOrderReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (QuickOrderReq) {
        QuickOrderReq.onreadystatechange = responseHandler;
        QuickOrderReq.open('get', url, true);
        QuickOrderReq.setRequestHeader("If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 GMT");
        QuickOrderReq.setRequestHeader("Cache-Control", "no-cache");
        QuickOrderReq.setRequestHeader("content-type", "application/x-www-form-urlencoded");
        QuickOrderReq.send('');
    }
    else { alert('Your browser does not seem to support XMLHttpRequest.'); }
}
function QuickOrder_AjaxHandler() {

    try {
        if (QuickOrderReq.readyState == 4 || QuickOrderReq.readyState == 'complete') {
            
            if (QuickOrderReq.responseText != "") {
                document.getElementById('QuickOrderDetails').innerHTML = QuickOrderReq.responseText;
                var LineNumber = document.getElementById("QuickShopData_LineNumber").innerHTML;
                var ProductCode = document.getElementById("QuickShopData_ProductCode").innerHTML;

                if (document.getElementById("QuickShopData_ProductName").innerHTML != "") {
                    document.getElementById("ProductName_" + LineNumber).innerHTML = document.getElementById("QuickShopData_ProductName").innerHTML;
                    document.getElementById("ProductDescription_" + LineNumber).innerHTML = document.getElementById("QuickShopData_ProductDesc").innerHTML;
                    document.getElementById("ProductInfo_" + LineNumber).style.display = "";

                    document.getElementById("ProductDetail_StockMessage2_" + LineNumber).innerHTML = document.getElementById("QuickShopData_OfferText").innerHTML;
                    if (document.getElementById("ProductDetail_StockMessage2_" + LineNumber).innerHTML != "") {
                        document.getElementById("ProductDetail_StockMessage2_" + LineNumber).style.display = "";
                    }

                    document.getElementById("QTY_" + LineNumber).disabled = false;
                    ajGetProductOptionsByLine(LineNumber, ProductCode);

                } else {
                    document.getElementById("ProductName_" + LineNumber).innerHTML = "<span class='Red'>item not found</span>";
                }
            } else {
                document.getElementById("ProductName_" + LineNumber).innerHTML = "<span class='Red'>item not found</span>";
            }

            return false;
        }
    }
    catch (e) {
        return false;
    }
}

function ShowQuickOrderDescription(LineNumber) {
    if (document.getElementById("ProductDescription_" + LineNumber).style.display == "none") {
        document.getElementById("ProductDescription_" + LineNumber).style.display = "";
    } else {
        document.getElementById("ProductDescription_" + LineNumber).style.display = "none";
    }
}

/* **************************************** DROPDOWN MENUS **************************************** */

var ProdCode = "";
var _SizeNameLabel = "";
var _SizeName2Label = "";

function GetColours(ProductCode) {
    ProdCode = ProductCode;
    document.getElementById(ProdCode).innerHTML = "";
    $("select[id$=Colours] > option").remove();
    $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProductCode,
                dataType: "xml",
                success: function (data) {
                    $("select[id$=Colours] > option").remove();
                    var select = $('#Colours');
                    select.append("<option value='-1'></option>");
                    var count = getCount(data, { "Colour": "Colour" });
					if (count.Colour==1){$("select[id$=Colours] > option").remove();}
                    if (count.Colour > 0) {
                        $(data).find("Colour").each(function () {
                            var select = $('#Colours');
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            document.getElementById('Colours').style.display = '';
                            document.getElementById('Colours').disabled = "";
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                        );
                        if (count.Colour > 1) {
                            document.getElementById('Colours').style.display = '';
                            select.children(":first").text("Colour").attr("selected", true);
                            document.getElementById('ProductDetail_StockMessage').innerHTML = 'Please select your Colour!'
                        } else { document.getElementById("Colours").style.display = 'none'; GetSizes(); }

                        if (count.Colour == 1 && $('#Colours option:selected').val() != "") { document.getElementById('Colours').style.display = 'none'; }
                    } else {
                        document.getElementById("Colours").style.display = 'none';
                        GetSizes();
                    }
                }
            }
            );
}

function GetSizes() {
    document.getElementById(ProdCode).innerHTML = "";
    var varColour = $('#Colours option:selected').val();
    if (varColour == undefined) { varColour = ''; }
    document.getElementById('ProductDetail_StockMessage').innerHTML = '';
    if (varColour == "-1") {
        $("select[id$=Sizes] > option").remove();
        document.getElementById('Sizes').disabled = "disabled";
        $("select[id$=Styles] > option").remove();
        document.getElementById('Styles').style.display = "none";
        var selectt = $('#Sizes');
        selectt.append("<option value=''>Sizes...</option>");
        document.getElementById('ProductDetail_StockMessage').innerHTML = 'Please select your colour!';
        document.getElementById('LinkAdd').style.display = 'none';
        document.getElementById('EmailAdd').style.display = 'none';
        return;
    }

    $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProdCode + "&Colour=" + varColour,
                dataType: "xml",
                success: function (data) {
                    $("select[id$=Sizes] > option").remove();
                    var select = $('#Sizes');
                    select.append("<option value='-1'></option>");
                    var count = getCount(data, { "Size": "Size" });
                    if (count.Size == 1) { $("select[id$=Sizes] > option").remove(); }
                    if (count.Size > 0) {
                        $(data).find("Size").each(function () {
                            var select = $('#Sizes');
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                        );
                        if (count.Size > 1) {
                            document.getElementById('Sizes').style.display = '';
                            document.getElementById('Sizes').disabled = "";

                            //Get BuyText
                            var BuyText;
                            if ($.browser.msie) {
                                $(data).find("BuyGridText").each(function () { BuyText = this.text; });
                            } else {
                                $(data).find("BuyGridText").each(function () { BuyText = this.textContent; })
                            }

                            var BuyGrid = BuyText.split("/");
                            if (BuyGrid.length == 2) { _SizeNameLabel = BuyGrid[0]; _SizeName2Label = BuyGrid[1]; } else { _SizeNameLabel = BuyGrid[0]; _SizeName2Label = ""; }

                            if (_SizeNameLabel == "") { _SizeNameLabel = "Size"; }

                            select.children(":first").text(_SizeNameLabel).attr("selected", true);
                            document.getElementById('ProductDetail_StockMessage').innerHTML = 'Please select your ' + _SizeNameLabel;

                        } else { document.getElementById("Sizes").style.display = 'none'; GetStyles(); }

                        if (count.Size == 1 && $('#Sizes option:selected').val() != "") { document.getElementById('Sizes').style.display = 'none'; }
                    } else {
                        document.getElementById("Sizes").style.display = 'none';
                        GetStyles();
                    }
                }
            }
            );
}


function GetStyles() {
    document.getElementById(ProdCode).innerHTML = "";
    var varColour = $('#Colours option:selected').val();
    var varSize = $('#Sizes option:selected').val();
    if (varColour == undefined) { varColour = ''; }
    if (varSize == undefined) { varSize = ''; }
    if (varColour == "-1") {
        $("select[id$=Styles] > option").remove();
        document.getElementById('Styles').disabled = "disabled";
        var selectt = $('#Styles');
        selectt.append("<option value=''>Styles...</option>");
        document.getElementById('ProductDetail_StockMessage').innerHTML = 'Please select your colour!';
        document.getElementById('LinkAdd').style.display = 'none'; 
        document.getElementById('EmailAdd').style.display = 'none';
        return;
    }
    if (varSize == "-1") {
        $("select[id$=Styles] > option").remove();
        document.getElementById('Styles').disabled = "disabled";
        var selectt = $('#Styles');
        selectt.append("<option value=''>Styles...</option>");
        document.getElementById('ProductDetail_StockMessage').innerHTML = 'Please select your size!';
        document.getElementById('LinkAdd').style.display = 'none';
        document.getElementById('EmailAdd').style.display = 'none';
        return;
    }
    
    $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProdCode + "&Colour=" + varColour + "&Size=" + varSize,
                dataType: "xml",
                success: function (data) {
                    $("select[id$=Styles] > option").remove();
                    var select = $('#Styles');
                    select.append("<option value=''></option>");
                    var count = getCount(data, { "Style": "Style" });
                    if (count.Style == 1) { $("select[id$=Styles] > option").remove(); }
                    if (count.Style > 0) {
                        $(data).find("Style").each(function () {
                            var select = $('#Styles');
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                         );
                        if (count.Style > 1) {
                            document.getElementById('Styles').style.display = '';
                            document.getElementById('Styles').disabled = "";

                            //Get BuyText
                            var BuyText;
                            if ($.browser.msie) {
                                $(data).find("BuyGridText").each(function () { BuyText = this.text; });
                            } else {
                                $(data).find("BuyGridText").each(function () { BuyText = this.textContent; })
                            }

                            var BuyGrid = BuyText.split("/");
                            if (BuyGrid.length == 2) { _SizeNameLabel = BuyGrid[0]; _SizeName2Label = BuyGrid[1]; } else { _SizeNameLabel = BuyGrid[0]; _SizeName2Label = ""; }

                            if (_SizeName2Label == "") { _SizeName2Label = "Style"; }

                            select.children(":first").text(_SizeName2Label).attr("selected", true);

                            document.getElementById('ProductDetail_StockMessage').innerHTML = 'Please select your ' + _SizeName2Label

                        } else { document.getElementById("Styles").style.display = 'none'; GetStockRecord(); }

                        if (count.Style == 1 && $('#Styles option:selected').val() != "") { document.getElementById('Styles').style.display = 'none'; }
                    } else {
                        document.getElementById("Styles").style.display = 'none';
                        GetStockRecord();
                    }
                }
            }
            );
}

function getCount(xml, nodes) {
    var response = {};
    for (var node in nodes) {
        response[node] = $(nodes[node], xml).length;
    }
    return response;
}

function GetStockRecord() {
    var varColour = $('#Colours option:selected').val();
    var varSize = $('#Sizes option:selected').val();
    var varStyle = $('#Styles option:selected').val();

    if (varColour == undefined) { varColour = ''; }
    if (varSize == undefined) { varSize = ''; }
    if (varStyle == undefined) { varStyle = ''; }
    document.getElementById(ProdCode).innerHTML = "";
    $.ajax(
        { type: "POST",
            url: "/WS/GetStock.aspx?ProductCode=" + ProdCode + "&Colour=" + varColour + "&Size=" + varSize + "&Style=" + varStyle,
            dataType: "xml",
            success: function (data) {
                var StockCount;

                if ($.browser.msie) {
                    var StockLevel = $(data).find("StockLevels").each(function () { StockCount = this.text; });
                } else {
                    var StockLevel = $(data).find("StockLevels").each(function () { StockCount = this.textContent; });
                }

                if (StockCount > 0) {
                    if ($.browser.msie) {
                        $(data).find("Stock").each(function () { document.getElementById('StockID').value = this.text; document.getElementById('LinkAdd').style.display = ''; document.getElementById('EmailAdd').style.display = 'none'; });
                        $(data).find("Prices").each(function () { document.getElementById(ProdCode).innerHTML = '&pound;' + this.text; });
                        document.getElementById('ProductDetail_StockMessage').innerHTML = 'Product in stock!'
                    }
                    else {
                        $(data).find("Stock").each(function () { document.getElementById('StockID').value = this.textContent; document.getElementById('LinkAdd').style.display = ''; document.getElementById('EmailAdd').style.display = 'none'; });
                        $(data).find("Prices").each(function () { document.getElementById(ProdCode).innerHTML = '&pound;' + this.textContent; });
                        document.getElementById('ProductDetail_StockMessage').innerHTML = 'Product in stock!'
                    }
                } else {
                    if ($.browser.msie) {
                        $(data).find("Stock").each(function () { document.getElementById('StockID').value = this.text; });
                    } else {
                        $(data).find("Stock").each(function () { document.getElementById('StockID').value = this.textContent; });
                    }
                    document.getElementById('LinkAdd').style.display = 'none';
                    document.getElementById('EmailAdd').style.display = '';
                    document.getElementById('ProductDetail_StockMessage').innerHTML = 'Product not in stock, we can email you when this item is available.';
                }
            }
        })
    }



    //======================================================================
    //YMAL Buy dropdowns
    //======================================================================


    var ajProdCode = "";
    var aj_SizeNameLabel = "";
    var aj_SizeName2Label = "";

    function ajGetProductOptions(inprodCode) {
        ajGetColours(inprodCode);
    }

    function ajGetProductOptionsByLine(LineNumber, inprodCode) {
        ajGetColoursByLine(LineNumber,inprodCode);
    }

    function ajGetColours(ProductCode) {
        ajProdCode = ProductCode;
        $("select[id$=Colours_" + ProductCode + "] > option").remove();
        $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProductCode,
                dataType: "xml",
                success: function (data) {
                    var select = $('#Colours_' + ajProdCode);
                    select.append("<option value=''></option>");
                    var count = getCount(data, { "Colour": "Colour" });
                    if (count.Colour > 0) {
                        $(data).find("Colour").each(function () {
                            var select = $('#Colours_' + ajProdCode);
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            document.getElementById('Colours_' + ajProdCode).style.display = '';
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                        );
                        if (count.Colour > 1) {
                            document.getElementById('Colours_' + ajProdCode).style.display = '';
                            select.children(":first").text("Colour").attr("selected", true);
                            document.getElementById('ProductDetail_StockMessage_' + ajProdCode).innerHTML = 'Please select your Colour!'
                        } else { document.getElementById("Colours_" + ajProdCode).style.display = 'none'; ajGetSizes(); }

                        if (count.Colour == 1 && $('#Colours_' + ajProdCode + ' option:selected').val() != "") { document.getElementById('Colours_' + ajProdCode).style.display = 'none'; }
                    } else {
                        document.getElementById("Colours_" + ajProdCode).style.display = 'none';
                        ajGetSizes();
                    }
                }
            }
            );
    }

    function ajGetSizes() {
        var varColour = $('#Colours_' + ajProdCode + ' option:selected').val();
        if (varColour == undefined) { varColour = ''; }
        document.getElementById('ProductDetail_StockMessage_' + ajProdCode).innerHTML = '';
        $("select[id$=Sizes_" + ajProdCode + "] > option").remove();
        $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProdCode + "&Colour=" + varColour,
                dataType: "xml",
                success: function (data) {
                    var select = $('#Sizes_' + ajProdCode);
                    select.append("<option value=''></option>");
                    var count = getCount(data, { "Size": "Size" });
                    if (count.Size > 0) {
                        $(data).find("Size").each(function () {
                            var select = $('#Sizes_' + ajProdCode);
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                        );
                        if (count.Size > 1) {
                            document.getElementById('Sizes_' + ajProdCode).style.display = '';

                            //Get BuyText
                            var BuyText;
                            if ($.browser.msie) {
                                $(data).find("BuyGridText").each(function () { BuyText = this.text; });
                            } else {
                                $(data).find("BuyGridText").each(function () { BuyText = this.textContent; })
                            }

                            var BuyGrid = BuyText.split("/");
                            if (BuyGrid.length == 2) { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = BuyGrid[1]; } else { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = ""; }

                            if (aj_SizeNameLabel == "") { aj_SizeNameLabel = "Size"; }

                            select.children(":first").text(aj_SizeNameLabel).attr("selected", true);
                            document.getElementById('ProductDetail_StockMessage_' + ajProdCode).innerHTML = 'Please select your ' + aj_SizeNameLabel;

                        } else { document.getElementById("Sizes_" + ajProdCode).style.display = 'none'; ajGetStyles(); }

                        if (count.Size == 1 && $('#Sizes_' + ajProdCode + ' option:selected').val() != "") { document.getElementById('Sizes_' + ajProdCode).style.display = 'none'; }
                    } else {
                        document.getElementById("Sizes_" + ajProdCode).style.display = 'none';
                        ajGetStyles();
                    }
                }
            }
            );
    }
function ajGetStyles() {
    var varColour = $('#Colours_' + ajProdCode + ' option:selected').val();
    var varSize = $('#Sizes_' + ajProdCode + ' option:selected').val();
    if (varColour == undefined) { varColour = ''; }
    if (varSize == undefined) { varSize = ''; }
    $("select[id$=Styles_" + ajProdCode + "] > option").remove();
    $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProdCode + "&Colour=" + varColour + "&Size=" + varSize,
                dataType: "xml",
                success: function (data) {
                    var select = $('#Styles_' + ajProdCode);
                    select.append("<option value=''></option>");
                    var count = getCount(data, { "Style": "Style" });
                    if (count.Style > 0) {
                        $(data).find("Style").each(function () {
                            var select = $('#Styles_' + ajProdCode);
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                         );
                        if (count.Style > 1) {
                            document.getElementById('Styles_' + ajProdCode).style.display = '';

                            //Get BuyText
                            var BuyText;
                            if ($.browser.msie) {
                                $(data).find("BuyGridText").each(function () { BuyText = this.text; });
                            } else {
                                $(data).find("BuyGridText").each(function () { BuyText = this.textContent; })
                            }

                            var BuyGrid = BuyText.split("/");
                            if (BuyGrid.length == 2) { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = BuyGrid[1]; } else { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = ""; }

                            if (aj_SizeName2Label == "") { aj_SizeName2Label = "Style"; }

                            select.children(":first").text(aj_SizeName2Label).attr("selected", true);

                            document.getElementById('ProductDetail_StockMessage_' + ajProdCode).innerHTML = 'Please select your ' + aj_SizeName2Label

                        } else { document.getElementById("Styles_" + ajProdCode).style.display = 'none'; ajGetStockRecord(); }

                        if (count.Style == 1 && $('#Styles_' + ajProdCode + ' option:selected').val() != "") { document.getElementById('Styles_' + ajProdCode).style.display = 'none'; }
                    } else {
                        document.getElementById("Styles_" + ajProdCode).style.display = 'none';
                        ajGetStockRecord();
                    }
                }
            }
            );
}

function ajGetStockRecord() {
    var varColour = $('#Colours_' + ajProdCode + ' option:selected').val();
    var varSize = $('#Sizes_' + ajProdCode + ' option:selected').val();
    var varStyle = $('#Styles_' + ajProdCode + ' option:selected').val();

    if (varColour == undefined) { varColour = ''; }
    if (varSize == undefined) { varSize = ''; }
    if (varStyle == undefined) { varStyle = ''; }

    $.ajax(
        { type: "POST",
            url: "/WS/GetStock.aspx?ProductCode=" + ajProdCode + "&Colour=" + varColour + "&Size=" + varSize + "&Style=" + varStyle,
            dataType: "xml",
            success: function (data) {
                var StockCount;

                if ($.browser.msie) {
                    var StockLevel = $(data).find("StockLevels").each(function () { StockCount = this.text; });
                } else {
                    var StockLevel = $(data).find("StockLevels").each(function () { StockCount = this.textContent; });
                }

                if (StockCount > 0) {
                    if ($.browser.msie) {
                        $(data).find("Stock").each(function () { document.getElementById('StockID_' + ajProdCode).value = this.text; document.getElementById('LinkAdd_' + ajProdCode).style.display = ''; document.getElementById('EmailAdd_' + ajProdCode).style.display = 'none'; });
                        $(data).find("Prices").each(function () { document.getElementById('price_' + ajProdCode).innerHTML = '&pound;' + this.text; });
                        document.getElementById('ProductDetail_StockMessage_' + ajProdCode).innerHTML = 'Product in stock!'
                    }
                    else {
                        $(data).find("Stock").each(function () { document.getElementById('StockID_' + ajProdCode).value = this.textContent; document.getElementById('LinkAdd_' + ajProdCode).style.display = ''; document.getElementById('EmailAdd_' + ajProdCode).style.display = 'none'; });
                        $(data).find("Prices").each(function () { document.getElementById('price_' + ajProdCode).innerHTML = '&pound;' + this.textContent; });
                        document.getElementById('ProductDetail_StockMessage_' + ajProdCode).innerHTML = 'Product in stock!'
                    }
                } else {
                    if ($.browser.msie) {
                        $(data).find("Stock").each(function () { document.getElementById('StockID').value = this.text; });
                    } else {
                        $(data).find("Stock").each(function () { document.getElementById('StockID').value = this.textContent; });
                    }
                    document.getElementById('LinkAdd_' + ajProdCode).style.display = 'none';
                    document.getElementById('EmailAdd_' + ajProdCode).style.display = '';
                    document.getElementById('ProductDetail_StockMessage_' + ajProdCode).innerHTML = 'Product not in stock, we can email you when this item is available.';
                }
            }
        })
    }


    function ajGetColoursByLine(LineNumber, ProductCode) {
        ajProdCode = ProductCode;
        document.getElementById("Sizes_" + LineNumber).style.display = 'none';
        document.getElementById("Styles_" + LineNumber).style.display = 'none';
        $("select[id$=Colours_" + LineNumber + "] > option").remove();
        $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProductCode,
                dataType: "xml",
                success: function (data) {
                    var select = $('#Colours_' + LineNumber);
                    select.append("<option value=''></option>");
                    var count = getCount(data, { "Colour": "Colour" });
                    if (count.Colour > 0) {
                        $(data).find("Colour").each(function () {
                            var select = $('#Colours_' + LineNumber);
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            document.getElementById('Colours_' + LineNumber).style.display = '';
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                        );
                        if (count.Colour > 1) {
                            document.getElementById('Colours_' + LineNumber).style.display = '';
                            document.getElementById('Colours_' + LineNumber).disabled = false;

                            select.children(":first").text("Colour").attr("selected", true);
                            document.getElementById('ProductDetail_StockMessage_' + LineNumber).innerHTML = 'Please select your Colour!'
                        } else { document.getElementById("Colours_" + LineNumber).style.display = 'none'; ajGetSizesByLine(LineNumber,true); }

                        if (count.Colour == 1 && $('#Colours_' + LineNumber + ' option:selected').val() != "") { document.getElementById('Colours_' + LineNumber).style.display = 'none'; }
                    } else {
                        document.getElementById("Colours_" + LineNumber).style.display = 'none';
                        ajGetSizesByLine(LineNumber,true);
                    }
                }
            }
            );
    }

    function ajGetSizesByLine(LineNumber, Overwrite) {
        if (document.getElementById("Colours_" + LineNumber).value == "" & Overwrite != true) {
            document.getElementById("ProductDetail_StockMessage_" + LineNumber).innerHTML = "Please select an option";
            document.getElementById("Sizes_" + LineNumber).style.display = "none";
            document.getElementById("Styles_" + LineNumber).style.display = "none";
            document.getElementById("price_" + LineNumber).innerHTML = "";
            document.getElementById("StockID_" + LineNumber).value = "";
        } else {
            var ProdCode = document.getElementById("CatCode_" + LineNumber).value;
            document.getElementById("Styles_" + LineNumber).style.display = 'none';
            var varColour = $('#Colours_' + LineNumber + ' option:selected').val();
            if (varColour == undefined) { varColour = ''; }
            document.getElementById('ProductDetail_StockMessage_' + LineNumber).innerHTML = '';
            $("select[id$=Sizes_" + LineNumber + "] > option").remove();
            $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProdCode + "&Colour=" + varColour,
                dataType: "xml",
                success: function (data) {

                    if (varColour == "-1") {
                        $("select[id$=Sizes] > option").remove();
                        document.getElementById('Sizes').disabled = "disabled";
                        var selectt = $('#Sizes');
                        selectt.append("<option value=''>Sizes...</option>");
                        document.getElementById('ProductDetail_StockMessage').innerHTML = 'Please select your colour!';
                        document.getElementById('LinkAdd').style.display = 'none';
                        document.getElementById('EmailAdd').style.display = 'none';
                        return;
                    }

                    var select = $('#Sizes_' + LineNumber);
                    select.append("<option value=''></option>");
                    var count = getCount(data, { "Size": "Size" });
                    if (count.Size > 0) {
                        $(data).find("Size").each(function () {
                            var select = $('#Sizes_' + LineNumber);
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                        );
                        if (count.Size > 1) {
                            document.getElementById('Sizes_' + LineNumber).style.display = '';
                            document.getElementById('Sizes_' + LineNumber).disabled = false;

                            //Get BuyText
                            var BuyText;
                            if ($.browser.msie) {
                                $(data).find("BuyGridText").each(function () { BuyText = this.text; });
                            } else {
                                $(data).find("BuyGridText").each(function () { BuyText = this.textContent; })
                            }

                            var BuyGrid = BuyText.split("/");
                            if (BuyGrid.length == 2) { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = BuyGrid[1]; } else { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = ""; }

                            if (aj_SizeNameLabel == "") { aj_SizeNameLabel = "Size"; }
                            select.children(":first").text(aj_SizeNameLabel).attr("selected", true);
                            document.getElementById('ProductDetail_StockMessage_' + LineNumber).innerHTML = 'Please select your ' + aj_SizeNameLabel;

                        } else { document.getElementById("Sizes_" + LineNumber).style.display = 'none'; ajGetStylesByLine(LineNumber,true); }

                        if (count.Size == 1 && $('#Sizes_' + LineNumber + ' option:selected').val() != "") { document.getElementById('Sizes_' + LineNumber).style.display = 'none'; }
                    } else {
                        document.getElementById("Sizes_" + LineNumber).style.display = 'none';
                        ajGetStylesByLine(LineNumber,true);
                    }
                }
            }
            );

        }
    }

    function ajGetStylesByLine(LineNumber,Overwrite) {
        if (document.getElementById("Sizes_" + LineNumber).value == "" & Overwrite != true) {
            document.getElementById("ProductDetail_StockMessage_" + LineNumber).innerHTML = "Please select an option.";
            document.getElementById("Styles_" + LineNumber).style.display = "none";
            document.getElementById("price_" + LineNumber).innerHTML = "";
            document.getElementById("StockID_" + LineNumber).value = "";
        } else {

            var ProdCode = document.getElementById("CatCode_" + LineNumber).value;
            var varColour = $('#Colours_' + LineNumber + ' option:selected').val();
            var varSize = $('#Sizes_' + LineNumber + ' option:selected').val();
            if (varColour == undefined) { varColour = ''; }
            if (varSize == undefined) { varSize = ''; }
            $("select[id$=Styles_" + LineNumber + "] > option").remove();
            $.ajax(
                { type: "POST",
                    url: "/WS/GetStock.aspx?ProductCode=" + ProdCode + "&Colour=" + varColour + "&Size=" + varSize,
                    dataType: "xml",
                    success: function (data) {
                        var select = $('#Styles_' + LineNumber);
                        select.append("<option value=''></option>");
                        var count = getCount(data, { "Style": "Style" });
                        if (count.Style > 0) {
                            $(data).find("Style").each(function () {
                                var select = $('#Styles_' + LineNumber);
                                if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                                select.append("<option value='" + title + "'>" + title + "</option>");
                            }
                             );
                            if (count.Style > 1) {
                                document.getElementById('Styles_' + LineNumber).style.display = '';
                                document.getElementById('Styles_' + LineNumber).disabled = false;

                                //Get BuyText
                                var BuyText;
                                if ($.browser.msie) {
                                    $(data).find("BuyGridText").each(function () { BuyText = this.text; });
                                } else {
                                    $(data).find("BuyGridText").each(function () { BuyText = this.textContent; })
                                }

                                var BuyGrid = BuyText.split("/");
                                if (BuyGrid.length == 2) { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = BuyGrid[1]; } else { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = ""; }

                                if (aj_SizeName2Label == "") { aj_SizeName2Label = "Style"; }

                                select.children(":first").text(aj_SizeName2Label).attr("selected", true);

                                document.getElementById('ProductDetail_StockMessage_' + LineNumber).innerHTML = 'Please select your ' + aj_SizeName2Label

                            } else { document.getElementById("Styles_" + LineNumber).style.display = 'none'; ajGetStockRecordByLine(LineNumber,true); }

                            if (count.Style == 1 && $('#Styles_' + LineNumber + ' option:selected').val() != "") { document.getElementById('Styles_' + LineNumber).style.display = 'none'; }
                        } else {
                            document.getElementById("Styles_" + LineNumber).style.display = 'none';
                            ajGetStockRecordByLine(LineNumber,true);
                        }
                    }
                }
                );
        }
    }

    function ajGetStockRecordByLine(LineNumber,Overwrite) {
        if (document.getElementById("Styles_" + LineNumber).value == "" & Overwrite != true) {
            document.getElementById("ProductDetail_StockMessage_" + LineNumber).innerHTML = "Please select an option";
            document.getElementById("price_" + LineNumber).innerHTML = "";
            document.getElementById("StockID_" + LineNumber).value = "";
        } else {
            var ProdCode = document.getElementById("CatCode_" + LineNumber).value;
            var varColour = $('#Colours_' + LineNumber + ' option:selected').val();
            var varSize = $('#Sizes_' + LineNumber + ' option:selected').val();
            var varStyle = $('#Styles_' + LineNumber + ' option:selected').val();

            if (varColour == undefined) { varColour = ''; }
            if (varSize == undefined) { varSize = ''; }
            if (varStyle == undefined) { varStyle = ''; }

            $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProdCode + "&Colour=" + varColour + "&Size=" + varSize + "&Style=" + varStyle,
                dataType: "xml",
                success: function (data) {
                    var StockCount;

                    if ($.browser.msie) {
                        var StockLevel = $(data).find("StockLevels").each(function () { StockCount = this.text; });
                    } else {
                        var StockLevel = $(data).find("StockLevels").each(function () { StockCount = this.textContent; });
                    }

                    if (StockCount > 0) {
                        if ($.browser.msie) {
                            $(data).find("Stock").each(function () { document.getElementById('StockID_' + LineNumber).value = this.text; });
                            $(data).find("Prices").each(function () { document.getElementById('price_' + LineNumber).innerHTML = '&pound;' + this.text; });
                            document.getElementById('ProductDetail_StockMessage_' + LineNumber).innerHTML = 'Product in stock'
                        }
                        else {
                            $(data).find("Stock").each(function () { document.getElementById('StockID_' + LineNumber).value = this.textContent; });
                            $(data).find("Prices").each(function () { document.getElementById('price_' + LineNumber).innerHTML = '&pound;' + this.textContent; });
                            document.getElementById('ProductDetail_StockMessage_' + LineNumber).innerHTML = 'Product in stock'
                        }
                    } else {
                        if ($.browser.msie) {
                            $(data).find("Stock").each(function () { document.getElementById('StockID_' + LineNumber).value = this.text; });
                        } else {
                            $(data).find("Stock").each(function () { document.getElementById('StockID_' + LineNumber).value = this.textContent; });
                        }
                        document.getElementById('ProductDetail_StockMessage_' + LineNumber).innerHTML = 'Product not in stock, we can email you when this item is available.';
                        document.getElementById('EWISButton_' + LineNumber).style.display = "";
                    }
                }
            })
        }
    }

    function ajBuyItem(ProductCode) {
        var Qty = document.getElementById('YMALQty_' + ProductCode).value;
        var StockID = document.getElementById('StockID_' + ProductCode).value;

        if (Qty <= 0) {
            alert("Please select a quantity");
        } else {
            location.href = "/basket/AddToBasket.aspx?Qty=" + Qty + "&StockID=" + StockID;
        }
    }

    function ajBuyItemLines() {
        var Qty = 1;
        var StockID = document.getElementById('StockID_' + ajProdCode).value;
        location.href = "/basket/AddToBasket.aspx?Qty=" + Qty + "&StockID=" + StockID;
    }

function ShowYMALDescription(ID) {
    $('.ProductDescription').css({ 'display':'none' });
    document.getElementById("Description_" + ID).style.display = "";
}

function HideYMALDescription() {
    $('.ProductDescription').css({ 'display': 'none' });
}

function IncQty(varObj) {
    var intNum;
    intNum = document.getElementById(varObj).value
    intNum++;
    if (intNum > 999) { intNum = 99; }
    document.getElementById(varObj).value = intNum;
    __doPostBack('UPDATEBASKET', 'UPDATEBASKET');
}

function DecQty(varObj) {
    var intNum;
    intNum = document.getElementById(varObj).value
    intNum--;
    if (intNum < 0) { intNum = 0; }
    document.getElementById(varObj).value = intNum;
    __doPostBack('UPDATEBASKET', 'UPDATEBASKET');
}

function ajGetProductOptionsByCode(inprodCode) {
    ajGetColoursByCode(inprodCode);
}

function ajGetColoursByCode(ProductCode) {
    $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProductCode,
                dataType: "xml",
                success: function (data) {
                    $("select[id$=Colours_" + ProductCode + "] > option").remove();
                    var select = $('#Colours_' + ProductCode);
                    select.append("<option value='-1'></option>");
                    var count = getCount(data, { "Colour": "Colour" });
                    if (count.Colour == 1) { $("select[id$=Colours_" + ProductCode + "] > option").remove(); }
                    if (count.Colour > 0) {
                        $(data).find("Colour").each(function () {
                            var select = $('#Colours_' + ProductCode);
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            document.getElementById('Colours_' + ProductCode).style.display = '';
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                        );
                        if (count.Colour > 1) {
                            document.getElementById('Colours_' + ProductCode).style.display = '';
                            select.children(":first").text("Colour").attr("selected", true);
                            document.getElementById('ProductDetail_StockMessage_' + ProductCode).innerHTML = 'Please select your Colour!'
                        } else { document.getElementById("Colours_" + ProductCode).style.display = 'none'; ajGetSizesByCode(ProductCode); ; }

                        if (count.Colour == 1 && $('#Colours_' + ProductCode + ' option:selected').val() != "") { document.getElementById('Colours_' + ProductCode).style.display = 'none'; }
                    } else {
                        document.getElementById("Colours_" + ProductCode).style.display = 'none';
                        ajGetSizesByCode(ProductCode);
                    }
                }
            }
            );
}

function ajGetSizesByCode(ProductCode) {
    var varColour = $('#Colours_' + ProductCode + ' option:selected').val();
    if (varColour == undefined) { varColour = ''; }

    if (varColour == "-1") {
        $("select[id$=Sizes_' + ProductCode + '] > option").remove();
        document.getElementById('Sizes_' + ProductCode).style.display = 'none';
        $("select[id$=Styles_' + ProductCode + '] > option").remove();
        document.getElementById('Styles_' + ProductCode).style.display = "none";
        var selectt = $('#Sizes_' + ProductCode);
        selectt.append("<option value=''>Sizes...</option>");
        document.getElementById('LinkAdd_' + ProductCode).style.display = 'none';
        document.getElementById('TempBuy_' + ProductCode).style.display = '';
        document.getElementById('EmailAdd_' + ProductCode).style.display = 'none';
        return;
    }

    document.getElementById('ProductDetail_StockMessage_' + ProductCode).innerHTML = '';
    $("select[id$=Sizes_" + ProductCode + "] > option").remove();
    $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProductCode + "&Colour=" + varColour,
                dataType: "xml",
                success: function (data) {
                    var select = $('#Sizes_' + ProductCode);
                    select.append("<option value=''></option>");
                    var count = getCount(data, { "Size": "Size" });
                    if (count.Size > 0) {
                        $(data).find("Size").each(function () {
                            var select = $('#Sizes_' + ProductCode);
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                        );
                        if (count.Size > 1) {
                            document.getElementById('Sizes_' + ProductCode).style.display = '';

                            //Get BuyText
                            var BuyText;
                            if ($.browser.msie) {
                                $(data).find("BuyGridText").each(function () { BuyText = this.text; });
                            } else {
                                $(data).find("BuyGridText").each(function () { BuyText = this.textContent; })
                            }

                            var BuyGrid = BuyText.split("/");
                            if (BuyGrid.length == 2) { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = BuyGrid[1]; } else { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = ""; }

                            if (aj_SizeNameLabel == "") { aj_SizeNameLabel = "Size"; }

                            select.children(":first").text(aj_SizeNameLabel).attr("selected", true);
                            document.getElementById('ProductDetail_StockMessage_' + ProductCode).innerHTML = 'Please select your ' + aj_SizeNameLabel;

                        } else { document.getElementById("Sizes_" + ProductCode).style.display = 'none'; ajGetStylesByCode(ProductCode);}

                        if (count.Size == 1 && $('#Sizes_' + ProductCode + ' option:selected').val() != "") { document.getElementById('Sizes_' + ProductCode).style.display = 'none'; }
                    } else {
                        document.getElementById("Sizes_" + ProductCode).style.display = 'none';
                        ajGetStylesByCode(ProductCode);
                    }
                }
            }
            );
}
function ajGetStylesByCode(ProductCode) {
    var varColour = $('#Colours_' + ProductCode + ' option:selected').val();
    var varSize = $('#Sizes_' + ProductCode + ' option:selected').val();
    if (varColour == undefined) { varColour = ''; }
    if (varSize == undefined) { varSize = ''; }
    if (varColour == "-1") {
        $("select[id$=Styles_" + ProductCode + "] > option").remove();
        document.getElementById('Styles_' + ProductCode).disabled = "disabled";
        var selectt = $('#Styles_' + ProductCode);
        selectt.append("<option value=''>Styles...</option>");
        document.getElementById('LinkAdd_' + ProductCode ).style.display = 'none';
        document.getElementById('EmailAdd_' + ProductCode).style.display = 'none';
        return;
    }
    if (varSize == "-1") {
        $("select[id$=Styles_" + ProductCode + "] > option").remove();
        document.getElementById('Styles_' + ProductCode).disabled = "disabled";
        var selectt = $('#Styles_' + ProductCode);
        selectt.append("<option value=''>Styles...</option>");
        document.getElementById('LinkAdd_' + ProductCode).style.display = 'none';
        document.getElementById('EmailAdd_' + ProductCode).style.display = 'none';
        return;
    }
    $.ajax(
            { type: "POST",
                url: "/WS/GetStock.aspx?ProductCode=" + ProductCode + "&Colour=" + varColour + "&Size=" + varSize,
                dataType: "xml",
                success: function (data) {
                    $("select[id$=Styles_" + ProductCode + "] > option").remove();
                    var select = $('#Styles_' + ProductCode);
                    select.append("<option value=''></option>");
                    var count = getCount(data, { "Style": "Style" });
                    if (count.Style > 0) {
                        $(data).find("Style").each(function () {
                            var select = $('#Styles_' + ProductCode);
                            if ($.browser.msie) { var title = this.text; } else { var title = this.textContent; }
                            select.append("<option value='" + title + "'>" + title + "</option>");
                        }
                         );
                        if (count.Style > 1) {
                            document.getElementById('Styles_' + ProductCode).style.display = '';

                            //Get BuyText
                            var BuyText;
                            if ($.browser.msie) {
                                $(data).find("BuyGridText").each(function () { BuyText = this.text; });
                            } else {
                                $(data).find("BuyGridText").each(function () { BuyText = this.textContent; })
                            }

                            var BuyGrid = BuyText.split("/");
                            if (BuyGrid.length == 2) { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = BuyGrid[1]; } else { aj_SizeNameLabel = BuyGrid[0]; aj_SizeName2Label = ""; }

                            if (aj_SizeName2Label == "") { aj_SizeName2Label = "Style"; }

                            select.children(":first").text(aj_SizeName2Label).attr("selected", true);

                            document.getElementById('ProductDetail_StockMessage_' + ProductCode).innerHTML = 'Please select your ' + aj_SizeName2Label

                        } else { document.getElementById("Styles_" + ProductCode).style.display = 'none'; ajGetStockRecordByCode(ProductCode); }

                        if (count.Style == 1 && $('#Styles_' + ProductCode + ' option:selected').val() != "") { document.getElementById('Styles_' + ProductCode).style.display = 'none'; }
                    } else {
                        document.getElementById("Styles_" + ProductCode).style.display = 'none';
                        ajGetStockRecordByCode(ProductCode);
                    }
                }
            }
            );
}

function ajGetStockRecordByCode(ProductCode) {
    var varColour = $('#Colours_' + ProductCode + ' option:selected').val();
    var varSize = $('#Sizes_' + ProductCode + ' option:selected').val();
    var varStyle = $('#Styles_' + ProductCode + ' option:selected').val();

    if (varColour == undefined) { varColour = ''; }
    if (varSize == undefined) { varSize = ''; }
    if (varStyle == undefined) { varStyle = ''; }

    $.ajax(
        { type: "POST",
            url: "/WS/GetStock.aspx?ProductCode=" + ProductCode + "&Colour=" + varColour + "&Size=" + varSize + "&Style=" + varStyle,
            dataType: "xml",
            success: function (data) {
                var StockCount;

                if ($.browser.msie) {
                    var StockLevel = $(data).find("StockLevels").each(function () { StockCount = this.text; });
                } else {
                    var StockLevel = $(data).find("StockLevels").each(function () { StockCount = this.textContent; });
                }

                document.getElementById("TempBuy_" + ProductCode).style.display = "none";

                if (StockCount > 0) {
                    if ($.browser.msie) {
                        $(data).find("Stock").each(function () { document.getElementById('StockID_' + ProductCode).value = this.text; document.getElementById('LinkAdd_' + ProductCode).style.display = ''; document.getElementById('EmailAdd_' + ProductCode).style.display = 'none'; });
                        $(data).find("Prices").each(function () { document.getElementById('price_' + ProductCode).innerHTML = '&pound;' + this.text; });
                        document.getElementById('ProductDetail_StockMessage_' + ProductCode).innerHTML = 'Product in stock!'
                    }
                    else {
                        $(data).find("Stock").each(function () { document.getElementById('StockID_' + ProductCode).value = this.textContent; document.getElementById('LinkAdd_' + ProductCode).style.display = ''; document.getElementById('EmailAdd_' + ProductCode).style.display = 'none'; });
                        $(data).find("Prices").each(function () { document.getElementById('price_' + ProductCode).innerHTML = '&pound;' + this.textContent; });
                        document.getElementById('ProductDetail_StockMessage_' + ProductCode).innerHTML = 'Product in stock!'
                    }
                } else {
                    if ($.browser.msie) {
                        $(data).find("Stock").each(function () { document.getElementById('StockID_' + ProductCode).value = this.text; });
                    } else {
                        $(data).find("Stock").each(function () { document.getElementById('StockID_' + ProductCode).value = this.textContent; });
                    }
                    document.getElementById('LinkAdd_' + ProductCode).style.display = 'none';
                    document.getElementById('EmailAdd_' + ProductCode).style.display = '';
                    document.getElementById('ProductDetail_StockMessage_' + ProductCode).innerHTML = 'Product not in stock, we can email you when this item is available.';
                }
            }
        }
    )
    }


    function CheckQuickOrder() {
        for (var i = 1; i < 16; i++) {
            if (document.getElementById("CatCode_" + i).value != "")
            {
                if (document.getElementById("QTY_" + i).value == "" || document.getElementById("StockID_" + i).value == "") {
                    alert('Please select all the required options.');
                    return false;
                }
            }
        }
        return true;
    }


