function locateElement(pName) {
    if (document.getElementById(pName) != undefined)
        return document.getElementById(pName)
    else
        return false
}

function formatMoney(pString) {

    var isMinus = false;
    var returnString = '';

    var pNumber = parseFloat(pString)
    if (pNumber < 0) {
        isMinus = true;
        pNumber = pNumber * -1;
    }
    pNumber = pNumber * 1000;
    pNumber = Math.round(pNumber);
    pNumber = pNumber / 10;
    pNumber = Math.round(pNumber);
    pNumber = pNumber / 100;
    pString = pNumber.toString();

    if (pString.lastIndexOf('.') == -1) {
        pString = pString + '.00';
    }
    if (pString.lastIndexOf('.') < pString.length - 3) {
        pString = pString.substring(0, pString.lastIndexOf('.') + 3);
    }
    if (pString.lastIndexOf('.') == pString.length - 1) {
        pString = pString + '00';
    }
    if (pString.lastIndexOf('.') == pString.length - 2) {
        pString = pString + '0';
    }
    returnString = pString;
    if (isMinus)
        returnString = "-" + returnString;
    return returnString;
}

function getDropValueFromDropDown(pTarget, pSource) {
    if (locateElement(pSource) && locateElement(pTarget)) {
        var oIndex = 0;
        if (locateElement(pTarget).options.length == 0)
            return 0;
        if (locateElement(pSource).selectedIndex >= 0) {
            oIndex = locateElement(pSource).selectedIndex;
        }
        return locateElement(pTarget).options[oIndex].value;
    }
}

function getDropValueFromIndex(pName, pIndex) {
    if (locateElement(pName))
        return locateElement(pName).options[pIndex].value;
}

function getDropValue(pName) {
    var retValue = false;
    var i;
    for (i = 0; i < (locateElement(pName).options.length); i += 1) {
        if (locateElement(pName).options[i].selected)
            retValue = locateElement(pName).options[i].value;
    }
    return retValue;
}

function getDropText(pName) {
    var retValue = false;
    var i;
    for (i = 0; i < (locateElement(pName).options.length); i += 1) {
        if (locateElement(pName).options[i].selected)
            retValue = locateElement(pName).options[i].text;
    }
    return retValue;
}


function checkoutShipping() {
    locateElement('shippingDisplay').innerHTML = getDropText('ShippingValueID');
    locateElement('shippingValue').innerHTML = formatMoney("0" + aShipping[getDropValue('ShippingValueID')]);
    locateElement('total').innerHTML = formatMoney(parseFloat("0" + aShipping[getDropValue('ShippingValueID')]) + iPrice);
}

function sizeColourHelper(pProductID, pSizeID) {
    if (locateElement('SizeColourHelperWindow')) {
        locateElement('SizeColourHelperWindow').src ='/helper/SizeColourHelper.asp?productID=0' + pProductID + '&SizeID=0' + pSizeID;
        if (locateElement('ColourID')) {
            locateElement('ColourID').style.visibility = 'hidden';
        }
    }
}

function addToBasketHelper(pProductID, pSizeID, pColourID) {
    var aPrice;
    var aPriceElements;
    locateElement('priceLarge').innerText = '--.--';
    locateElement('price').innerText = '--.--';
    locateElement('addButton').disabled = true;
    aPrice = sPrice.split('~');
    for (i = 0; i < aPrice.length; i += 1) {
        aPriceElements = aPrice[i].split('|');
        if (parseInt(aPriceElements[0]) == parseInt(pSizeID) && parseInt(aPriceElements[1]) == parseInt(pColourID)) {
            locateElement('priceLarge').innerText = formatMoney(aPriceElements[2]);
            locateElement('price').innerText = formatMoney(aPriceElements[2]);
            locateElement('addButton').disabled = false;
        }
    }
    if (locateElement('Embroidery') && locateElement('emb-' + pSizeID + '-' + pColourID))
        locateElement('Embroidery').innerHTML = locateElement('emb-' + pSizeID + '-' + pColourID).innerHTML
    else
        locateElement('Printing').innerHTML = '';
    if (locateElement('Printing') && locateElement('pri-' + pSizeID + '-' + pColourID))
        locateElement('Printing').innerHTML = locateElement('pri-' + pSizeID + '-' + pColourID).innerHTML
    else
        locateElement('Printing').innerHTML = '';
    updateProductImage();
}

function updateProductImage() {
    var aItem;
    var i;
    var sUrl = '--';
    for (i = 0; i < aImage.length; i +=1) {
        aItem = aImage[i].split('~');
        if (aItem[0] == "0") {
            sUrl = aItem[1];
        }
        if (aItem[0] == getDropValue('ColourID')) {
            sUrl = aItem[1];
        }
    }
    if (sUrl != '--') {
        locateElement('productImage').innerHTML = '<img src="' + sUrl + '" width="240" border="0" />'
    }
}

function updateListBoxValues(pLocalName, pParentName) {
    var i;
    var tempSelection;
    var newOption;
    var optValue;
    var optText;
    var optSelection;
    var parentSelect = parent.window.document.getElementById(pParentName);
    var thisSelect = locateElement(pLocalName);

    optSelection = 0;

    if (parentSelect != undefined) {
        if (parentSelect.selectedIndex >= 0)
            tempSelection = parentSelect.options[parentSelect.selectedIndex].value;
        for (i = parentSelect.options.length; i >= 0; i--) {
            parentSelect.remove(i);
        }
        for (i = 0; i < thisSelect.options.length; i++) {
            newOption = elOptNew = document.createElement('option');
            newOption.value = thisSelect.options[i].value;
            newOption.text = thisSelect.options[i].text;
            try {
                parentSelect.add(newOption, null);
            }
            catch (ex) {
                parentSelect.add(newOption);
            }
            if (newOption.value == tempSelection)
                parentSelect.selectedIndex = i;
        }
        parentSelect.style.visibility = 'visible';
    }
}


function initPage() {
	if (document.autoFunction != undefined)
		autoFunction();
	if (document.getElementById('autoForm') != undefined)
		document.getElementById('autoForm').submit();
}

function submitForm(pPath, pForm) {
    if (pForm == undefined || pForm === '')
        pForm = 'submitForm';
    if (document.getElementById(pForm) != undefined) {
        if (pPath === '') {
            document.getElementById(pForm).action = document.getElementById(pForm).action;
        }
        else {
            document.getElementById(pForm).action = pPath;
        }
        document.getElementById(pForm).submit();
    }
}

function xSubmitForm(pPath, pForm) {
    if (pForm == undefined || pForm === '')
        pForm = 'submitForm';
    if (document.getElementById(pForm) != undefined) {
        if (pPath === '') {
            document.getElementById(pForm).action = document.getElementById(pForm).action;
        }
        else {
            document.getElementById(pForm).action = pPath;
        }
        document.getElementById(pForm).submit();
    }
}


function markNew(pID, pArray, pNext) {
	var i;
	var oElem = document.getElementById(pID);
	var oElemNew = document.getElementById(pID + 'New');
	eval('oArray = ' + pArray + ";"); 
	if (oElem != 'undefined' && oElemNew != undefined){
		if (oElem.value == '')
			oElemNew.value = ''
		else {
			oElemNew.value = 'NEW!'
			for (i=0; i<=oArray.length;i++){
				if (oArray[i] == oElem.value){
					oElemNew.value = '';
					i = 999999;
				}
			}
		}
	}
	if (document.getElementById(pNext) != undefined)
		document.getElementById(pNext).focus();
}

function menuOptionAll(pPrefix) {
    var bReset = false;
    var eInput = locateElement('menuOptions').getElementsByTagName('input');
    var i;
    switch (pPrefix) {
    case 'DP':
        pPrefix = 'DepartmentID-DP-';
        break;
    case 'CT':
        pPrefix = 'CategoryID-CT-';
        break;
    case 'SI':
        pPrefix = 'SizeMapID-SI-';
        break;
    case 'CM':
        pPrefix = 'ColourMapID-CM-';
        break;
    case 'BR':
        pPrefix = 'BrandID-BR-';
        break;
    }
    for (i = 0; i < eInput.length; i++) {
        if (eInput[i].id.substring(0, pPrefix.length) == pPrefix)
            eInput[i].checked = false;
        if (pPrefix == 'All') {
            eInput[i].checked = false;
        }
    }
    //if (pPrefix != 'SI' || pPrefix != 'CM' && bReset == true) {
    //    pPrefix = 'SizeMapID-SI-';
    //    for (i = 0; i < eInput.length; i++) {
    //        if (eInput[i].id.substring(0, pPrefix.length) == pPrefix || pPrefix == 'All') {
    //            if (eInput[i].checked == true) {
    //                bReset = true;
    //                eInput[i].checked = false;
    //            }
    //        }
    //    }
    //}
    document.cookie = "Search=;path=/";
    document.cookie = "Selection=;path=/";
    locateElement('menuForm').submit();
}

function removeBasketItem(pItem) {
    locateElement('Rem-' + pItem).value = pItem;
    locateElement('submitForm').action = '/shop/updateBasket.asp';
    locateElement('submitForm').submit();
}

function addPathValue(pForm, pPath, pValue) {
    locateElement(pForm).action = pPath + '?' + pValue;
    locateElement(pForm).submit();
}

function submitHelper() {
    locateElement("submitForm").target = "SizeColourHelperWindow";
    locateElement("submitForm").action="/helper/sizeColourHelper.asp"
    locateElement("submitForm").submit();
}

function submitBasket() {
    var i;
    var valid = false;
    var eRadio = document.getElementsByName('ColourID');
    for (i = 0; i < eRadio.length; i++) {
        if (eRadio[i].checked)
            valid = true;
    }
    if (valid) {
        valid = false;
        var eSize = locateElement("size-area").getElementsByTagName('input');
        for (i = 0; i < eSize.length; i++) {
            if (parseInt(eSize[i].value) > 0)
                valid = true;
        }
        if (valid) {
            locateElement("submitForm").target = "_top";
            locateElement("submitForm").action = "/shop/updateBasket.asp"
            locateElement("submitForm").submit();
        }
        else {
            alert ('Please enter a quantity.');
        }
    }
    else {
        alert('Please select a colour.');
    }
}


function updateValue(pItem, pValue) {
    locateElement(pItem).value = pValue;
}

function updatePage(pValue) {
    locateElement('Page').value = pValue;
}

function updateMenuOption(pValue) {
    if (locateElement(pValue).checked)
        locateElement(pValue).checked = false
    else
        locateElement(pValue).checked = true;
    locateElement('Page').value = '1';
    locateElement('menuForm').submit();
}

function addressOverlay() {
    locateElement('Billing').value = '';
    locateElement('postcodeFrame').src = '';
    overlay();
}

function billingOverlay() {
    locateElement('Billing').value = 'Billing';
    locateElement('postcodeFrame').src = '';
    overlay();
}


function triggerOverlay(pHTML) {
    locateElement('overlayContent').innerHTML = locateElement('infoContent-' + pHTML).innerHTML;
    locateElement('overlayContent').height = locateElement('infoTable-' + pHTML).height + 'px';
    locateElement('overlay').style.height = document.body.scrollHeight + 'px';
    overlay();
}

function copyThis(pElem, pTarget) {
    locateElement(pTarget).value = pElem.options[pElem.selectedIndex].text;
}

function clearCookies() {
    document.cookie = "Search=;path=/";
    document.cookie = "Selection=;path=/";
}

function copyAddress() {
    locateElement('BillingTitleID').selectedIndex = locateElement('TitleID').selectedIndex;
    locateElement('BillingTitle').value = locateElement('Title').value;
    locateElement('BillingFirstName').value = locateElement('FirstName').value;
    locateElement('BillingLastName').value = locateElement('LastName').value;
    locateElement('BillingAddress1').value = locateElement('Address1').value;
    locateElement('BillingAddress2').value = locateElement('Address2').value;
    locateElement('BillingAddress3').value = locateElement('Address3').value;
    locateElement('BillingAddress4').value = locateElement('Address4').value;
    locateElement('BillingAddress5').value = locateElement('Address5').value;
    locateElement('BillingPostcode').value = locateElement('Postcode').value;
    locateElement('BillingCountryID').selectedIndex = locateElement('CountryID').selectedIndex;
    locateElement('BillingCountry').value = locateElement('Country').value;
}

function confirmTC() {
    if (locateElement('TC').checked) {
        return true;
    }
    else {
        alert ('Please confirm you have read the Terms & Conditions');
        return false;
    }
}

function termsPop() {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open('/tc-popup.html', '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=0,width=400,height=400,left=40,top=40');");
}

function getScrollXY() {
    return [scrOfX, scrOfY];
}

function alertSize() {
}

function overlay() {
    var scrOfX = 0, scrOfY = 0;
    if (typeof (window.pageYOffset) == 'number') {
        //Netscape compliant
        scrOfY = window.pageYOffset;
        scrOfX = window.pageXOffset;
    } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        //DOM compliant
        scrOfY = document.body.scrollTop;
        scrOfX = document.body.scrollLeft;
    } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        //IE6 standards compliant mode
        scrOfY = document.documentElement.scrollTop;
        scrOfX = document.documentElement.scrollLeft;
    }
    var myWidth = 0, myHeight = 0;
    if (typeof (window.innerWidth) == 'number') {
        //Non-IE
        myWidth = window.innerWidth;
        myHeight = window.innerHeight;
    } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
        myHeight = document.documentElement.clientHeight;
    } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
    }
    xyz = document.getElementById("overlay");
    xyz.style.visibility = (xyz.style.visibility == "visible") ? "hidden" : "visible";
    xyz.style.height = document.body.scrollHeight +'px';
    xyz = document.getElementById("overlayContent");
    var myCenterWidth = (myWidth - xyz.scrollWidth) / 2 + scrOfX;
    var myCenterHeight = (myHeight - xyz.scrollHeight) / 3 + scrOfY;

    xyz.style.left = myCenterWidth + 'px';
    xyz.style.top = myCenterHeight  + 'px';
    xyz.style.visibility = (xyz.style.visibility == "visible") ? "hidden" : "visible";

}
