﻿var StockIcon, StockID, intTimeout;
var FSintOneDay = 86400000;
var strMonths = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

function toggleBlock(strElementId) {
	if ((document.getElementById) && (document.getElementById(strElementId))) {
		objElem=document.getElementById(strElementId);
		objElem.style.display=(objElem.style.display=="none" ? "" : "none");
		}
	}

function checkTextLength(FieldRef,Maxlength,CountTextID) {
	if (FieldRef.value.length>Maxlength) {FieldRef.value=FieldRef.value.substring(0,Maxlength)}
	if ((document.getElementById) && (document.getElementById(CountTextID))) {document.getElementById(CountTextID).innerText="(" + FieldRef.value.length + " characters of " + Maxlength + ")"}
	}

function ConfigureCollapser(ConfigureID) {
	var collPanel = $find(ConfigureID);
	if (collPanel) {
		collPanel._animation._fps = 25;
		collPanel._animation._duration = 0.33;
		collPanel.add_expanding(Expanding);
		}
	}

function Expanding(sender, arg) {sender._childDiv.style.display = ""}

function configureCollapserToHideButton(ExtenderID, ButtonIDs) {
    var collPanel = $find(ExtenderID);
    if (collPanel) {
        collPanel._animation._fps = 25;
        collPanel._animation._duration = 0.33;
        collPanel.add_expanding(function () { var strIDs = ButtonIDs.split(","); for (var i = 0; i < strIDs.length; i++) { document.getElementById(strIDs[i]).style.display = "none" } });
        collPanel.add_collapsed(function () { var strIDs = ButtonIDs.split(","); for (var i = 0; i < strIDs.length; i++) { document.getElementById(strIDs[i]).style.display = "" } });
        }
    }

function swapImg(ImgID, NewSrc) { if ((document.getElementById) && (document.getElementById(ImgID))) { document.getElementById(ImgID).src = NewSrc } }

function setRefineParams(strTask, strName, strArg) {
	document.forms[0].elements["RefineTask"].value = strTask;
	document.forms[0].elements["RefineName"].value = strName;
	document.forms[0].elements["RefineArg"].value = strArg;
	}

function OrderChanged(ItemID, ImgRef) {
    if (document.forms[0].OrderSTIDs.value.indexOf("," + ItemID + ",") == -1) {
        StockID = ItemID; document.forms[0].OrderSTIDs.value += ItemID + ",";
        if (typeof (ImgRef.DefaultSrc) == "undefined") { ImgRef.DefaultSrc=ImgRef.src }
        ImgRef.src = ImgRef.DefaultSrc.replace(".gif", "On.gif");
        }
    else {
        document.forms[0].OrderSTIDs.value = document.forms[0].OrderSTIDs.value.replace("," + ItemID + ",", ",");
        ImgRef.src=ImgRef.DefaultSrc;
        }
	}

function PreOrderChanged(ItemID, ImgRef, DateDue) {
	if (document.forms[0].PreOrderSTIDs.value.indexOf("," + ItemID + ",") == -1) {
	    if (typeof (ImgRef.DefaultSrc) == "undefined") { ImgRef.DefaultSrc = ImgRef.src }
	    StockIcon = ImgRef;
		StockID = ItemID;
		var dtPreOrd = new Date(DateDue.substring(0, 10).replace(/-/g, "/"));
		var dtExpiry = new Date(dtPreOrd.getTime() + (FSintOneDay * 10));
		document.getElementById("ExpireCheckDate").innerHTML = strMonths[dtExpiry.getMonth()] + " " + dtExpiry.getFullYear(); ;
		document.getElementById("PreordDate").innerHTML = formatDate(dtPreOrd);
		document.getElementById("Body_btnConfirmPreOrder").click();
		}
else { document.forms[0].PreOrderSTIDs.value = document.forms[0].PreOrderSTIDs.value.replace("," + ItemID + ",", ","); ImgRef.src = ImgRef.DefaultSrc }
	}

function clickConfirmPreOrderButton() {
    if (typeof (StockID) != "undefined") { document.forms[0].PreOrderSTIDs.value += StockID + ","; }
    if (StockIcon) { StockIcon.src = StockIcon.DefaultSrc.replace(".gif", "On.gif") } else { return addToBasket() }
	}

function showModalReviewPopupViaClient(ev) { $find('programmaticModalReview').show() }

function showModalFriendPopupViaClient(ev) { $find('programmaticModalFriend').show() }

function clickSendFriendButton() {PageMethods.SendToFriend(document.forms[0]["ctl00$Body$SendName"].value, document.forms[0]["ctl00$Body$FriendEmail"].value, document.location.href, sendComplete) }

function sendComplete(result) { //alert((result ? "You message has been sent" : "You message could not be sent")) 
    }

function EmailWhenInStock(ItemID, ImgRef) {
	if (ImgRef.style.borderColor != "#a43555") { StockIcon = ImgRef; StockID = ItemID; document.getElementById("Body_btnEmailWhenInStock").click() }
	else { PageMethods.StockNotify(document.getElementById("Body_EmailWhenInStockAddress").value, ItemID, false); ImgRef.style.borderColor = "#a9a9a9"; ImgRef.style.backgroundColor = "#ffffff" }
	}

function clickSendEmailInStockButton() {
    var emailAddress=document.getElementById("Body_EmailWhenInStockAddress").value;
    if (emailAddress != "") {
        if (typeof (StockID) == "undefined") { PageMethods.StockNotify(emailAddress, document.forms[0].Size[document.forms[0].Size.selectedIndex].value , true); alert("Notification request added")}
        else { PageMethods.StockNotify(emailAddress, StockID, true); StockIcon.style.borderColor = "#a43555"; StockIcon.style.backgroundColor = "#ad4a66" }
        }
	}

function CheckSTIDset() { if ((document.forms[0].OrderSTIDs.value == ",") && (document.forms[0].PreOrderSTIDs.value == ",")) { alert("Please choose a size and colour before adding to your shopping basket"); return false } else { return addToBasket() } }

function SetStockSizes(FieldRef) {
    removeOptions(document.forms[0].Size);
    var ColourStock=StockArray[FieldRef.options[FieldRef.selectedIndex].value];
    for (var i = 0; i < ColourStock.length; i++) {
        addOption(document.forms[0].Size, (isNaN(ColourStock[i].Size) ? ColourStock[i].Size : "UK " + ColourStock[i].Size), ColourStock[i].STID);
        document.forms[0].Size.options[i].setAttribute("Qty", ColourStock[i].Qty);
        document.forms[0].Size.options[i].setAttribute("QtyPre", ColourStock[i].QtyPre);
        document.forms[0].Size.options[i].setAttribute("QtyDue", ColourStock[i].QtyDue);
        document.forms[0].Size.options[i].setAttribute("AllowEmail", ColourStock[i].AllowEmail);
        }
    document.forms[0].Size.selectedIndex = 0;
    SetStockChoice(document.forms[0].Size);
	}

function SetStockChoice(FieldRef) {
    document.getElementById("Body_ProductView_OrderingControls").style.display = "";
    document.getElementById("Body_ProductView_OutOfStock").style.display = "none";
    document.getElementById("Body_ProductView_PreOrdNote").style.display = "none";
    var objButton = document.getElementById("Body_ProductView_BasketAddButton");
    var objAttributes = FieldRef[FieldRef.selectedIndex].attributes
    if (parseInt(objAttributes["Qty"].value) > 0) {
        objButton.innerHTML = "Add to basket";
        document.forms[0].OrderSTIDs.value = "," + objAttributes["value"].value + ",";
        document.forms[0].PreOrderSTIDs.value = ",";
        objButton.onclick = function () { return addToBasket() }
        }
    else if ((parseInt(objAttributes["QtyPre"].value) > 0) && (objAttributes["QtyDue"].value != "")) {
        objButton.innerHTML = "Pre-order now";
        document.forms[0].OrderSTIDs.value = ",";
        document.forms[0].PreOrderSTIDs.value = "," + objAttributes["value"].value + ",";
        objButton.onclick = function () { document.getElementById("Body_btnConfirmPreOrder").click(); return false }
        document.getElementById("Body_ProductView_PreOrdNote").style.display = "";
        var dtPreOrd = new Date(objAttributes["QtyDue"].value.substring(0,10).replace("-","/"));
        document.getElementById("Body_ProductView_PreOrdNoteDue").innerHTML = dtPreOrd.getDate() + " " + strMonths[dtPreOrd.getMonth()] + " " + dtPreOrd.getFullYear();
        var dtExpiry = new Date(dtPreOrd.getTime() + (FSintOneDay * 10));
        document.getElementById("Body_ProductView_PreOrdNoteExpire").innerHTML = strMonths[dtExpiry.getMonth()] + " " + dtExpiry.getFullYear();
        document.getElementById("ExpireCheckDate").innerHTML = strMonths[dtExpiry.getMonth()] + " " + dtExpiry.getFullYear(); ;
        document.getElementById("PreordDate").innerHTML = formatDate(dtPreOrd);
    }
    else if (objAttributes["AllowEmail"].value == "1") {
        objButton.innerHTML = "Email when in stock";
        objButton.onclick = function () { document.getElementById("Body_btnEmailWhenInStock").click(); return false }
        }
    else {
        document.getElementById("Body_ProductView_OrderingControls").style.display = "none";
        document.getElementById("Body_ProductView_OutOfStock").style.display = "";
        }
    }

function removeOptions(SelectRef,NewSize) {SelectRef.options.length=(NewSize ? NewSize : 0)}

function addOption(SelectRef,TheText,TheValue) {
	SelectRef.options[SelectRef.options.length] = new Option(TheText,TheValue);
	SelectRef.options[SelectRef.options.length - 1].title=TheText;
	}

function formatDate(objDate) {return (objDate.getDate() < 10 ? "0" : "") + objDate.getDate() + "/" + ((objDate.getMonth() + 1) < 10 ? "0" : "") + (objDate.getMonth() + 1) + "/" + objDate.getFullYear() }

function addToBasket() {
    Page_ValidationActive = false;
    __doPostBack('MiniBasket', 'AddItems');
    Page_ValidationActive = true;
    document.forms[0].ctl00$Body$ProductView$Quantity.selectedIndex = 0;
    if (typeof (StockID) != "undefined") {
        document.forms[0].OrderSTIDs.value = ",";
        document.forms[0].PreOrderSTIDs.value = ",";
        var StockIcons = document.getElementsByName("StockIcon")
        for (var i = 0; i < StockIcons.length; i++) { if (typeof (StockIcons[i].DefaultSrc) != "undefined") { StockIcons[i].src = StockIcons[i].DefaultSrc } }
        }
    window.focus();
    return false
    }

function showBasket() {
    document.getElementById('BasketAdded').style.display = "";
    window.clearTimeout(intTimeout);
    intTimeout = window.setTimeout("hideBasket()", 5000);
    }

function hideBasket() {
    window.clearTimeout(intTimeout);
    document.getElementById('BasketAdded').style.display = "none";
    }

function showZoomInstruct(State) {
    $get("ZoomInstruct").style.display = (State ? '' : 'none');
    $get("Zoomer").style.cursor = (State ? 'pointer' : 'default');
    try { $get("Zoomer").childNodes[1].style.display = (State ? '' : 'none') } catch (err) { }
    }

