function printWindow() {
    browserVersion = parseInt(navigator.appVersion)
    if (browserVersion >= 4) window.print()
}
function alignMenu(alignment) {
    var linkCell = getElement('menuLinkCell'); var spanMenu = getElement('menuSpan'); var cellY = getElementPosition('menuLinkCell').top; var cellX = getElementPosition('menuLinkCell').left; var adjustedY = cellY + linkCell.offsetHeight + 3; var adjustedX = cellX; if (alignment) {
        if (alignment.toLowerCase() == "center")
        { adjustedX = cellX - (0.5 * (spanMenu.offsetWidth - linkCell.offsetWidth)); }
        else if (alignment.toLowerCase() == "right")
        { adjustedX = cellX - (spanMenu.offsetWidth - linkCell.offsetWidth - 3); } 
    }
    getElement('menuSpan').style.left = adjustedX; getElement('menuSpan').style.top = adjustedY;
}
function preloadImage(src)
{ var img = new Image(); img.src = src; }
function showMenu(alignment) {
    if (alignment)
        alignMenu(alignment); else
        alignMenu("left"); var spanMenu = getElement('menuSpan'); var openMenu = getElement('hidMenuOpen'); if (spanMenu)
    { spanMenu.style.visibility = "visible"; openMenu.value = 1; }
    else
    { openMenu.value = 0; }
    setTimeout("tryMenuClose();", 1);
}
function setMenuOpen(isOpen) {
    var openMenu = getElement('hidMenuOpen'); if (isOpen == true)
    { openMenu.value = 1; }
    else
    { openMenu.value = 0; } 
}
function hideMenu()
{ var openMenu = getElement('hidMenuOpen'); var spanMenu = getElement('menuSpan'); openMenu.value = 0; spanMenu.style.visibility = "hidden"; }
function getElement(elementID) {
    if (document.getElementById)
        return document.getElementById(elementID); else if (document.all)
        return document.all(elementID); else
        return null;
}
function addToBasket(textBoxID, targetUrl) {
    var textBox = getElement(textBoxID); var quantity = "1"; if (textBox) {
        if (textBox.value != null && parseInt(textBox.value) != NaN)
            quantity = textBox.value;
    }
    window.location = targetUrl + '&Quantity=' + quantity;
}
function toggleMenuVisibility() {
    var openMenu = getElement('hidMenuOpen'); if (openMenu) {
        if (openMenu.value == 1)
        { hideMenu(); }
        else
            showMenu();
    }
    else
    { hideMenu(); } 
}
function tryMenuClose() {
    var openMenu = getElement('hidMenuOpen'); if (openMenu) {
        if (openMenu.value == 0)
        { hideMenu(); }
        else
        { setTimeout("tryMenuClose();", 500); } 
    }
    else
    { hideMenu(); } 
}
function getElementPosition(id) {
    var offsetElement = getElement(id); var offsetLeft = 0; var offsetTop = 0; while (offsetElement)
    { offsetLeft += offsetElement.offsetLeft; offsetTop += offsetElement.offsetTop; offsetElement = offsetElement.offsetParent; }
    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
    { offsetLeft += document.body.leftMargin; offsetTop += document.body.topMargin; }
    return { left: offsetLeft, top: offsetTop };
}
function getElementDimensions(id) {
    var element = getElement(id); var myWidth = -1; var myHeight = -1; if (element)
    { myWidth = element.offsetWidth; myHeight = element.offsetHeight; }
    return { width: myWidth, height: myHeight };
}
var requiredVersion = 8; var maxVersion = 10; var actualVersion = 0; var activeXDetectRules = [{ "name": "ShockwaveFlash.ShockwaveFlash.7", "version": function(obj) { return getActiveXVersion(obj); } }, { "name": "ShockwaveFlash.ShockwaveFlash.6", "version": function(obj) {
    var version = "6,0,21"; try { obj.AllowScriptAccess = "always"; version = getActiveXVersion(obj); } catch (err) { }
    return version;
} 
}, { "name": "ShockwaveFlash.ShockwaveFlash", "version": function(obj) { return getActiveXVersion(obj); } }]; function getActiveXVersion(activeXObj) {
    var version = -1; try { version = activeXObj.GetVariable("$version"); } catch (err) { }
    return version;
}; function getActiveXObject(name) {
    var obj = -1; try { obj = new ActiveXObject(name); } catch (err) { obj = { activeXError: true }; }
    return obj;
}; function parseActiveXVersion(str) { var versionArray = str.split(","); return { "raw": str, "major": parseInt(versionArray[0].split(" ")[1], 10), "minor": parseInt(versionArray[1], 10), "revision": parseInt(versionArray[2], 10), "revisionStr": versionArray[2] }; }; function parseStandardVersion(str) { var descParts = str.split(/ +/); var majorMinor = descParts[2].split(/\./); var revisionStr = descParts[3]; return { "raw": str, "major": parseInt(majorMinor[0], 10), "minor": parseInt(majorMinor[1], 10), "revisionStr": revisionStr, "revision": parseRevisionStrToInt(revisionStr) }; }; var parseRevisionStrToInt = function(str) { return parseInt(str.replace(/[a-zA-Z]/g, ""), 10); }; function hasFlash() {
    if (navigator.plugins && navigator.plugins.length > 0) { var type = 'application/x-shockwave-flash'; var mimeTypes = navigator.mimeTypes; if (mimeTypes && mimeTypes[type] && mimeTypes[type].enabledPlugin && mimeTypes[type].enabledPlugin.description) { var version = mimeTypes[type].enabledPlugin.description; var versionObj = parseStandardVersion(version); actualVersion = parseInt(versionObj.major); } } else if (navigator.appVersion.indexOf("Mac") == -1 && window.execScript) { var version = -1; for (var i = 0; i < activeXDetectRules.length && version == -1; i++) { var obj = getActiveXObject(activeXDetectRules[i].name); if (!obj.activeXError) { version = activeXDetectRules[i].version(obj); if (version != -1) { var versionObj = parseActiveXVersion(version); actualVersion = parseInt(versionObj.major); } } } }
    return (actualVersion >= requiredVersion);
}
function showElement(id) {
    if (document.getElementById) {
        if (document.getElementById(id).style.display == 'none')
            document.getElementById(id).style.display = ''; if (document.getElementById(id).style.visibility == 'hidden')
            document.getElementById(id).style.visibility = 'visible';
    }
    else if (document.layers)
    { document.layers[id].display = ''; }
    else if (document.all)
    { eval("document.all." + id + ".style.display = ''"); } 
}
function confirmAction(msg) {
    if (!msg)
        msg = "Are you sure you wish to do this?"; var agree = confirm(msg); if (agree)
        return true; else
        return false;
}
function hideElement(id) {
    if (document.getElementById)
    { document.getElementById(id).style.display = 'none'; document.getElementById(id).style.visibility = 'hidden'; }
    else if (document.layers)
    { document.layers[id].display = 'none'; }
    else if (document.all)
    { eval("document.all." + id + ".style.display = 'none'"); } 
}
function getWindowDimensions() {
    var myWidth = 0
    var myHeight = 0; if (typeof (window.innerWidth) == 'number')
    { myWidth = window.innerWidth; myHeight = window.innerHeight; }
    else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
    { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; }
    else if (document.body && (document.body.clientWidth || document.body.clientHeight))
    { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; }
    return { width: myWidth, height: myHeight };
}
function horizontalAlignElement(id, alignment) {
    var elementToAlign = getElement(id); var elementWidth = elementToAlign.offsetWidth; var screenWidth = getWindowDimensions().width; if (elementToAlign) {
        switch (alignment)
        { case 'center': var left = 0.5 * (screenWidth - elementWidth); elementToAlign.style.left = left + 'px'; break; case 'right': var left = screenWidth - elementWidth - 3; elementToAlign.style.left = left + 'px'; break; default: elementToAlign.style.left = '0px'; break; } 
    } 
}
var settingsVisible = false; function alignSettings(idMySettings, idMySettingsPopup)
{ var mySettingsPosition = getElementPosition(idMySettings); var mySettingsDimensions = getElementDimensions(idMySettings); var myPopupDimensions = getElementDimensions(idMySettingsPopup); var top = mySettingsPosition.top + mySettingsDimensions.height + 3; var left = mySettingsPosition.left + mySettingsDimensions.width - myPopupDimensions.width; var elementToAlign = getElement(idMySettingsPopup); elementToAlign.style.top = top + 'px'; elementToAlign.style.left = left + 'px'; }
function alignHelp(idQuickHelp, idQuickHelpPopup)
{ horizontalAlignElement(idQuickHelpPopup, 'center'); var mySettingsPosition = getElementPosition(idQuickHelp); var mySettingsDimensions = getElementDimensions(idQuickHelp); var top = mySettingsPosition.top + mySettingsDimensions.height + 3; var elementToAlign = getElement(idQuickHelpPopup); elementToAlign.style.top = top + 'px'; }
function showSettings(idMySettingsPopup)
{ settingsVisible = true; showElement(idMySettingsPopup); }
function hideSettings(idMySettingsPopup)
{ settingsVisible = false; hideElement(idMySettingsPopup); }
function toggleSettings(idMySettingsPopup) {
    if (settingsVisible)
    { hideSettings(idMySettingsPopup); }
    else
    { showSettings(idMySettingsPopup); } 
}
function alignPaymentOptions(idPaymentOptionsImage, idPaymentOptionsPopup)
{ var paymentOptionsPosition = getElementPosition(idPaymentOptionsImage); var paymentOptionsDimensions = getElementDimensions(idPaymentOptionsImage); var elementToAlign = getElement(idPaymentOptionsPopup); var elementWidth = elementToAlign.offsetWidth; var top = paymentOptionsPosition.top; var left = paymentOptionsPosition.left - elementWidth - 10; elementToAlign.style.left = left + 'px'; elementToAlign.style.top = top + 'px'; }
function showPaymentOptions(idPaymentOptionsPopup)
{ showElement(idPaymentOptionsPopup); }
function hidePaymentOptions(idPaymentOptionsPopup)
{ hideElement(idPaymentOptionsPopup); }
var selectedBrandID = 0; var selectedCategoryID = 0; function populateBrandSelect(brandSelectID, allBrandsText) {
    clearSelect(brandSelectID); var brandSelect = getElement(brandSelectID); brandSelect.options[0] = new Option(allBrandsText, 0, true, false); if (selectedCategoryID != 0) {
        var optionNumber = 1; var selected = false; for (var i = 0; i < searchSource.length; i++) {
            dataObject = searchSource[i]; if (dataObject[2] == selectedCategoryID) {
                brandSelect.options[optionNumber] = new Option(dataObject[1], dataObject[0], false, false); if (dataObject[0] == selectedBrandID)
                { brandSelect.options[optionNumber].selected = true; selected = true; }
                optionNumber++;
            } 
        }
        if (!selected)
            brandSelect.options[0].selected = true;
    }
    else {
        var selected = false; var optionNumber = 1; for (var i = 0; i < searchSource.length; i++) {
            dataObject = searchSource[i]; brandID = dataObject[0]; brand = dataObject[1]; brandSelect.options[optionNumber] = new Option(brand, brandID); if (brandID == selectedBrandID)
            { brandSelect.options[optionNumber].selected = true; selected = true; }
            var dataObject2 = searchSource[i + 1]; while (dataObject2) {
                if (dataObject2[0] != brandID)
                    break; i++; dataObject2 = searchSource[i + 1];
            }
            optionNumber++;
        }
        if (!selected)
            brandSelect.options[0].selected = true;
    } 
}
function populateCategorySelect(categorySelectID, allCategoriesText) {
    clearSelect(categorySelectID); var categorySelect = getElement(categorySelectID); categorySelect.options[0] = new Option(allCategoriesText, 0); var categoryArray = new Array(); categoryArray.length = 0; if (selectedBrandID != 0) {
        var selected = false; for (var i = 0; i < searchSource.length; i++) {
            dataObject = searchSource[i]; if (dataObject[0] == selectedBrandID) {
                var catObject = new Object(); catObject[0] = dataObject[3]; catObject[1] = dataObject[2]; catObject[2] = false; if (dataObject[2] == selectedCategoryID)
                { catObject[2] = 'selected'; selected = true; }
                insertIntoSortedArray(categoryArray, catObject);
            } 
        }
        for (var j = 0; j < categoryArray.length; j++) {
            var catObject = categoryArray[j]; k = j + 1; categorySelect.options[k] = new Option(catObject[0], catObject[1]); if (catObject[2] == 'selected')
                categorySelect.options[k].selected = true;
        }
        if (!selected)
            categorySelect.options[0].selected = true;
    }
    else {
        var selected = false; for (var i = 0; i < searchSource.length; i++) {
            dataObject = searchSource[i]; categoryID = dataObject[2]; category = dataObject[3]; var catObject = new Object(); catObject[0] = category; catObject[1] = categoryID; catObject[2] = false; if (categoryID == selectedCategoryID)
            { catObject[2] = 'selected'; selected = true; }
            insertIntoSortedArray(categoryArray, catObject);
        }
        for (var j = 0; j < categoryArray.length; j++) {
            var catObject = categoryArray[j]; k = j + 1; categorySelect.options[k] = new Option(catObject[0], catObject[1]); if (catObject[2] == 'selected')
                categorySelect.options[k].selected = true;
        }
        if (!selected)
            categorySelect.options[0].selected = true;
    } 
}
function changeBrand(brandSelectID, categorySelectID, allBrandsText, allCategoriesText) {
    var brandSelect = getElement(brandSelectID); if (brandSelect.selectedIndex >= 0)
    { selectedBrandID = brandSelect.options[brandSelect.selectedIndex].value; populateBrandSelect(brandSelectID, allBrandsText); populateCategorySelect(categorySelectID, allCategoriesText); } 
}
function changeCategory(brandSelectID, categorySelectID, allBrandsText, allCategoriesText) {
    var categorySelect = getElement(categorySelectID); if (categorySelect.selectedIndex >= 0)
    { selectedCategoryID = categorySelect.options[categorySelect.selectedIndex].value; populateBrandSelect(brandSelectID, allBrandsText); populateCategorySelect(categorySelectID, allCategoriesText); } 
}
function clearSelect(selectID) {
    var oSelect = getElement(selectID); if (oSelect.options)
    { oSelect.options.length = 0; } 
}
function setInitialSelection(newBrandID, newCategoryID, brandSelectID, categorySelectID, allBrandsText, allCategoriesText)
{ selectedBrandID = newBrandID; selectedCategoryID = newCategoryID; populateBrandSelect(brandSelectID, allBrandsText); populateCategorySelect(categorySelectID, allCategoriesText); }
function movePayPalElement(elementID, idToAlign)
{ var cellY = getElementPosition(elementID).top; var cellX = getElementPosition(elementID).left; var element = getElement(idToAlign); var parentElement = getElement(elementID); elementHeight = cellY; elementWidth = cellX - 475; element.style.left = elementWidth + "px"; element.style.top = elementHeight + "px"; }
function insertIntoSortedArray(array, object) {
    if (array.length == 0)
    { array[0] = object; return; }
    var i = 0; for (i = 0; i < array.length; i++) {
        if (object[0] == array[i][0])
            return; if (object[0] < array[i][0]) {
            arrLength = array.length; for (var j = arrLength - 1; j >= i; j--)
            { array[j + 1] = array[j]; }
            break;
        } 
    }
    array[i] = object;
}
function setDefaultButtonForEnterKey(buttonName, event) {
    if ((event.which && event.which == 13) || (event.keyCode && event.keyCode == 13))
    { getElement(buttonName).click(); return false; }
    else
    { return true; } 
}
function popUpEmailList(nameElementId, emailElementId)
{ var nameElement = getElement(nameElementId); var emailElement = getElement(emailElementId); var features = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=480,height=300,top=200,left=200'; var url = 'EmailList.aspx?name=' + nameElement.value + '&emailAddress=' + emailElement.value; window.open(url, '', features); return false; }
var languageMenuOpen = 0; var languageMenuAligned = false; function alignLanguageMenu(id, alignToID) {
    if (!languageMenuAligned) {
        var linkCell = getElement(alignToID); var spanMenu = getElement(id); var cellY = getLanguageElementOffsetTop(linkCell); var cellX = getLanguageElementOffsetLeft(linkCell); var adjustedY = cellY + linkCell.offsetHeight; var adjustedX = cellX + linkCell.offsetWidth - spanMenu.offsetWidth; if (adjustedX < 0)
            adjustedX = 0; if (adjustedY < 0)
            adjustedY = 0; if (spanMenu.style)
        { spanMenu.style.left = adjustedX + "px"; spanMenu.style.top = adjustedY + "px"; }
        languageMenuAligned = true;
    } 
}
function getLanguageElementOffsetLeft(offsetElement) {
    var offsetLeft = 0; while (offsetElement)
    { offsetLeft += offsetElement.offsetLeft; offsetElement = offsetElement.offsetParent; }
    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
    { offsetLeft += document.body.leftMargin; }
    return offsetLeft;
}
function getLanguageElementOffsetTop(offsetElement) {
    var offsetTop = 0; while (offsetElement)
    { offsetTop += offsetElement.offsetTop; offsetElement = offsetElement.offsetParent; }
    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
    { offsetTop += document.body.topMargin; }
    return offsetTop;
}
function showLanguageMenu(id, alignToID)
{ alignLanguageMenu(id, alignToID); showElement(id); languageMenuOpen = 1; }
function hideLanguageMenu(id)
{ languageMenuOpen = 0; setTimeout("doLanguageHide('" + id + "')", 500); }
function doLanguageHide(id) {
    if (languageMenuOpen == 0)
        hideElement(id);
}
var doPopup; function doModelImagePopup(width, height)
{ myWindow = window.open(doPopup, 'imageWindow', 'toolbar=no, location=no, directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=' + width + ',height=' + height + ',top=200,left=200'); return false; }
function clickButton(event, buttonID) {
    if (event.keyCode == 13) {
        var button = getElement(buttonID); if (button)
            button.click();
    } 
}
function stopEnterKeyPress(evt) {
    var evt = (evt) ? evt : ((event) ? event : null); if (evt) {
        if (evt.keyCode == 13)
        { return false; } 
    } 
}
function submitFormOnEnter(evt, formID) {
    var evt = (evt) ? evt : ((event) ? event : null); if (evt) {
        if (evt.keyCode == 13)
        { var form = document.getElementById(formID); form.submit(); } 
    } 
}
function showElementHideLink(id, hLink) {
    if (document.getElementById) {
        if (document.getElementById(id).style.display == 'none')
            document.getElementById(id).style.display = ''; if (document.getElementById(id).style.visibility == 'hidden')
            document.getElementById(id).style.visibility = 'visible';
    }
    else if (document.layers)
    { document.layers[id].display = ''; }
    else if (document.all)
    { eval("document.all." + id + ".style.display = ''"); }
    var link = document.getElementById(hLink); link.style.display = 'none';
}
function alignHoverMenu(id) {
    var linkCell = getHoverElement(id + 'LinkElement'); var spanMenu = getHoverElement(id); spanMenu.style.visibility = "visible"; spanMenu.style.display = ''; var screenWidth = document.body.clientWidth; var linkCellWidth = linkCell.offsetWidth; var linkCellHeight = linkCell.offsetHeight; var spanMenuWidth = spanMenu.offsetWidth; var linkCellX = getHoverElementOffsetLeft(id + 'LinkElement'); var linkCellY = getHoverElementOffsetTop(id + 'LinkElement'); var spanMenuCellX; var spanMenuCellY; var alignType = 1; if ((linkCellX <= (screenWidth / 2)) && (((linkCellX - linkCellWidth) + spanMenuWidth) < screenWidth))
        alignType = 1; else if ((linkCellX > (screenWidth / 2)) && (((linkCellX + linkCellWidth) - spanMenuWidth) > 0))
        alignType = 2; else if (((linkCellX + spanMenuWidth) > screenWidth) && (((linkCellX + linkCellWidth) - spanMenuWidth) < 0))
        alignType = 3; switch (alignType)
    { case 1: spanMenuCellX = linkCellX; spanMenuCellY = linkCellY + linkCellHeight; break; case 2: spanMenuCellX = (linkCellX + linkCellWidth) - spanMenuWidth - 1; spanMenuCellY = linkCellY + linkCellHeight; break; case 3: spanMenuCellX = (screenWidth - spanMenuWidth) / 2; spanMenuCellY = linkCellY + linkCellHeight; break; default: spanMenuCellX = linkCellX; spanMenuCellY = linkCellY + linkCellHeight; }
    if (spanMenu.style)
    { spanMenu.style.left = spanMenuCellX + "px"; spanMenu.style.top = spanMenuCellY + "px"; } 
}
function getHoverElementOffsetLeft(id) {
    var offsetElement = getHoverElement(id); var offsetLeft = 0; while (offsetElement)
    { offsetLeft += offsetElement.offsetLeft; offsetElement = offsetElement.offsetParent; }
    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
    { offsetLeft += document.body.leftMargin; }
    return offsetLeft;
}
function getHoverElementOffsetTop(id) {
    var offsetElement = getHoverElement(id); var offsetTop = 0; while (offsetElement)
    { offsetTop += offsetElement.offsetTop; offsetElement = offsetElement.offsetParent; }
    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
    { offsetTop += document.body.topMargin; }
    return offsetTop;
}
var openHoverMenuTimer; var closeHoverMenuTimer; function openHoverMenu(id, idLineHide, idHoverLinkContainer) {
    var spanMenu = getHoverElement(id); var menuState = getHoverElement("hid" + id); if (menuState.value != 1) {
        menuState.value = 1
        alignHoverMenu(id); positionTopTabLineHide(idLineHide, idHoverLinkContainer);
    } 
}
function closeOtherHoverMenus(prefix, currentHoverMenu, numberOfHoverMenus, prefixLineHide) {
    if (closeHoverMenuTimer)
    { clearTimeout(closeHoverMenuTimer); }
    for (i = 0; i < numberOfHoverMenus; i++) {
        if (i != currentHoverMenu) {
            var menu = getHoverElement(prefix + i); var lineHide = getHoverElement(prefixLineHide + i); if (menu)
            { menu.style.visibility = 'hidden'; menu.style.display = 'none'; }
            if (lineHide)
            { hideElement(prefixLineHide + i); } 
        } 
    } 
}
function closeHoverMenu(id, idLineHide) {
    var menuState = getHoverElement("hid" + id); var spanMenu = getHoverElement(id); menuState.value = 0; if (idLineHide == null || idLineHide == '')
        alert('Line Hide ID not set'); if (openHoverMenuTimer)
    { clearTimeout(openHoverMenuTimer); }
    closeHoverMenuTimer = setTimeout("scheduleHoverClose('" + id + "','" + idLineHide + "');", 200);
}
function scheduleHoverClose(id, idLineHide) {
    var spanMenu = getHoverElement(id); var menuState = getHoverElement("hid" + id); if (menuState.value == 0) {
        spanMenu.style.visibility = "hidden"; spanMenu.style.display = "none"; if (document.getElementById(idLineHide) != null)
            hideElement(idLineHide);
    }
    else
        setTimeout("scheduleHoverClose('" + id + "','" + idLineHide + "');", 1000);
}
function getHoverElement(elementID) {
    if (document.getElementById)
        return document.getElementById(elementID); else if (document.all)
        return document.all(elementID); else
        return null;
}
function positionTopTabLineHide(idLineHide, idHoverLinkContainer) {
    var lineHide = getElement(idLineHide); if (lineHide)
    { var elementPosition = getElementPosition(idHoverLinkContainer); var elementDimensions = getElementDimensions(idHoverLinkContainer); lineHide.style.display = ''; lineHide.style.visibility = 'visible'; lineHide.style.width = (elementDimensions.width - 3) + 'px'; lineHide.style.top = (elementPosition.top + elementDimensions.height) + 'px'; lineHide.style.left = (elementPosition.left + 1) + 'px'; lineHide.style.zIndex = 1000; } 
}
window.onresize = function() {
    if (getElement('basketoffer'))
        centerAlign('basketoffer');
}
window.onscroll = function() {
    if (getElement('basketoffer'))
        centerAlign('basketoffer');
}
function fadeInBackGround(endOpacity)
{ setOpacity('overlay', 10, 10, endOpacity); }
function getFullDocumentDimensions() {
    var pageWidth = 0; var pageHeight = 0; if (window.innerHeight && window.scrollMaxY)
    { pageWidth = window.innerWidth + window.scrollMaxX; pageHeight = window.innerHeight + window.scrollMaxY; }
    else if (document.body.scrollHeight > document.body.offsetHeight)
    { pageWidth = document.body.scrollWidth; pageHeight = document.body.scrollHeight; }
    else
    { pageWidth = document.body.offsetWidth + document.body.offsetLeft; pageHeight = document.body.offsetHeight + document.body.offsetTop; }
    return { width: pageWidth, height: pageHeight };
}
function setOpacity(id, value, increment, maxOpacity) {
    var element = document.getElementById(id); if (value > maxOpacity)
        value = maxOpacity; element.style.opacity = value / 100; element.style.filter = 'alpha(opacity=' + value + ')'; if (value < maxOpacity)
    { value += increment; setTimeout("setOpacity('overlay', " + value + ", " + increment + ", " + maxOpacity + ")", 10); } 
}
function getWindowDimensions() {
    var myWidth = 0
    var myHeight = 0; if (typeof (window.innerWidth) == 'number')
    { myWidth = window.innerWidth; myHeight = window.innerHeight; }
    else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
    { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; }
    else if (document.body && (document.body.clientWidth || document.body.clientHeight))
    { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; }
    return { width: myWidth, height: myHeight };
}
function getScrollCoordinates() {
    var scrollX = 0; var scrollY = 0; if (typeof (window.pageYOffset) == 'number')
    { scrollY = window.pageYOffset; scrollX = window.pageXOffset; }
    else if (document.body && (document.body.scrollLeft || document.body.scrollTop))
    { scrollY = document.body.scrollTop; scrollX = document.body.scrollLeft; }
    else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop))
    { scrollY = document.documentElement.scrollTop; scrollX = document.documentElement.scrollLeft; }
    return { x: scrollX, y: scrollY };
}
function scrollToElement(id)
{ var dimensions = getElementPosition(id); window.scrollTo(0, dimensions.top); }
function centerAlign(id) {
    var dims = getWindowDimensions(); var startCoordinates = getScrollCoordinates(); var width = document.getElementById(id).offsetWidth; var height = document.getElementById(id).offsetHeight; var top = ((dims.height - height) / 2) + startCoordinates.y; var left = ((dims.width - width) / 2) + startCoordinates.x; if (top < 0)
        top = 0; if (left < 0)
        left = 0; document.getElementById(id).style.left = left + 'px'; document.getElementById(id).style.top = top + 'px';
}
function showBasketOffer()
{ var dims2 = getFullDocumentDimensions(); document.getElementById('overlay').style.width = '100%'; document.getElementById('overlay').style.height = dims2.height + 'px'; document.getElementById('overlay').style.display = 'block'; setTimeout('fadeInBackGround(65)', 1); document.getElementById('basketoffer').style.display = 'block'; centerAlign('basketoffer'); }
function addHandlerToElement(element, evt, handler) {
    if (element.addEventListener)
    { element.addEventListener(evt, handler, false); }
    else if (element.attachEvent)
    { element.attachEvent('on' + evt, handler); } 
}
function alignRecentlyViewedHoverMenu(id) {
    var linkCell = getRecentlyViewedHoverElement('RecentlyViewedLink'); var spanMenu = getRecentlyViewedHoverElement(id); var cellY = getRecentlyViewedHoverElementOffsetTop('RecentlyViewedLink'); var cellX = getRecentlyViewedHoverElementOffsetLeft('RecentlyViewedLink'); var adjustedY = cellY + linkCell.offsetHeight; var adjustedX = cellX + linkCell.offsetWidth - spanMenu.offsetWidth; if (adjustedX < 0)
        adjustedX = 0; if (adjustedY < 0)
        adjustedY = 0; if (spanMenu.style)
    { spanMenu.style.left = adjustedX + "px"; spanMenu.style.top = adjustedY + "px"; } 
}
function getRecentlyViewedHoverElementOffsetLeft(id) {
    var offsetElement = getRecentlyViewedHoverElement(id); var offsetLeft = 0; while (offsetElement)
    { offsetLeft += offsetElement.offsetLeft; offsetElement = offsetElement.offsetParent; }
    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
    { offsetLeft += document.body.leftMargin; }
    return offsetLeft;
}
function getRecentlyViewedHoverElementOffsetTop(id) {
    var offsetElement = getRecentlyViewedHoverElement(id); var offsetTop = 0; while (offsetElement)
    { offsetTop += offsetElement.offsetTop; offsetElement = offsetElement.offsetParent; }
    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
    { offsetTop += document.body.topMargin; }
    return offsetTop;
}
function openRecentlyViewedHover(id)
{ var spanMenu = getRecentlyViewedHoverElement(id); spanMenu.style.visibility = "visible"; spanMenu.style.display = "block"; alignRecentlyViewedHoverMenu(id); }
function closeRecentlyViewedHover(id)
{ var spanMenu = getHoverElement(id); spanMenu.style.visibility = "hidden"; spanMenu.style.display = "none"; }
function getRecentlyViewedHoverElement(elementID) {
    if (document.getElementById)
        return document.getElementById(elementID); else if (document.all)
        return document.all(elementID); else
        return null;
}
var postageOptionsVisible = false; function showPostageOptions(id)
{ postageOptionsVisible = true; showElement(id); }
function hidePostageOptions(id)
{ postageOptionsVisible = false; hideElement(id); }
function togglePostageOptions(id) {
    if (postageOptionsVisible)
    { hidePostageOptions(id); }
    else
    { showPostageOptions(id); } 
}
function alignRecommendationsHoverMenu(id) {
    var linkCell = getRecommendationsHoverElement('RecommendationsLink'); var spanMenu = getRecommendationsHoverElement(id); var cellY = getRecommendationsHoverElementOffsetTop('RecommendationsLink'); var cellX = getRecommendationsHoverElementOffsetLeft('RecommendationsLink'); var adjustedY = cellY + linkCell.offsetHeight; var adjustedX = cellX + 10; if (adjustedX < 0)
        adjustedX = 0; if (adjustedY < 0)
        adjustedY = 0; if (spanMenu.style)
    { spanMenu.style.left = adjustedX + "px"; spanMenu.style.top = adjustedY + "px"; } 
}
function getRecommendationsHoverElementOffsetLeft(id) {
    var offsetElement = getRecommendationsHoverElement(id); var offsetLeft = 0; while (offsetElement)
    { offsetLeft += offsetElement.offsetLeft; offsetElement = offsetElement.offsetParent; }
    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
    { offsetLeft += document.body.leftMargin; }
    return offsetLeft;
}
function getRecommendationsHoverElementOffsetTop(id) {
    var offsetElement = getRecommendationsHoverElement(id); var offsetTop = 0; while (offsetElement)
    { offsetTop += offsetElement.offsetTop; offsetElement = offsetElement.offsetParent; }
    if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined")
    { offsetTop += document.body.topMargin; }
    return offsetTop;
}
function openRecommendationsHover(id)
{ var spanMenu = getRecommendationsHoverElement(id); alignRecommendationsHoverMenu(id); spanMenu.style.visibility = "visible"; }
function closeRecommendationsHover(id)
{ var spanMenu = getHoverElement(id); spanMenu.style.visibility = "hidden"; }
function getRecommendationsHoverElement(elementID) {
    if (document.getElementById)
        return document.getElementById(elementID); else if (document.all)
        return document.all(elementID); else
        return null;
}
function bankersRound(input) {
    if (!isNaN(input)) {
        var multiple = 1; if (input < 0)
            multiple = -1; var abs = Math.abs(input); var fullFigure = abs * 100; var floor = Math.floor(fullFigure); if (fullFigure - floor != 0.5)
            return Math.round(input * 100) / 100; else {
            if (Math.round(fullFigure) % 2 == 1)
                return Math.floor(fullFigure) / 100 * multiple; else
                return Math.round(fullFigure) / 100 * multiple;
        } 
    }
    else
        throw "bankersRound(" + input + "): input is not a number";
}
function deleteAllNonIRPCookies(returnUrl) {
    var reservedCookieNames = new Array(); reservedCookieNames[0] = 'UserSettings'; reservedCookieNames[1] = 'AdminSettings'; var allCookies = document.cookie.split(';'); var tempCookie = ''; var cookieName = ''; var isReservedCookie = false; for (i = 0; i < allCookies.length; i++) {
        tempCookie = allCookies[i].split('='); cookieName = tempCookie[0].replace(/^\s+|\s+$/g, ''); isReservedCookie = false; for (j = 0; j < reservedCookieNames.length; j++) {
            if (cookieName == reservedCookieNames[j])
            { isReservedCookie = true; break; } 
        }
        if (!isReservedCookie) { deleteCookie(cookieName, '/'); }
        tempCookie = null; cookieName = '';
    }
    if (returnUrl != null && returnUrl != '')
    { } 
}
function deleteAllCookies(returnUrl) {
    var allCookies = document.cookie.split(';'); var tempCookie = ''; var cookieName = ''; for (i = 0; i < allCookies.length; i++)
    { tempCookie = allCookies[i].split('='); cookieName = tempCookie[0].replace(/^\s+|\s+$/g, ''); deleteCookie(cookieName, '/'); tempCookie = null; cookieName = ''; }
    if (returnUrl != null && returnUrl != '')
    { } 
}
function setCookie(name, value, expires, path, domain, secure) {
    var today = new Date(); today.setTime(today.getTime()); if (expires)
    { expires = expires * 1000 * 60 * 60 * 24; }
    var expiresDate = new Date(today.getTime() + (expires)); document.cookie = name + "=" + escape(value) +
((expires) ? ";expires=" + expiresDate.toGMTString() : "") +
((path) ? ";path=" + path : "") +
((domain) ? ";domain=" + domain : "") +
((secure) ? ";secure" : "");
}
function getCookie(cookieName) {
    var allCookies = document.cookie.split(';'); var tempCookie = ''; var cookieName = ''; var cookieValue = ''; var cookieFound = false; for (i = 0; i < allCookies.length; i++) {
        tempCookie = allCookies[i].split('='); cookieName = tempCookie[0].replace(/^\s+|\s+$/g, ''); if (cookieName == cookieName) {
            cookieFound = true; if (tempCookie.length > 1)
            { cookieValue = unescape(tempCookie[1].replace(/^\s+|\s+$/g, '')); }
            return cookieValue; break;
        }
        tempCookie = null; cookieName = '';
    }
    if (!cookieFound)
    { return null; } 
}
function deleteCookie(name, path, domain) {
    document.cookie = name + "=" +
((path) ? ";path=" + path : "") +
((domain) ? ";domain=" + domain : "") + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}
function changeOption(optionId, descriptionId, option) {
    var element = getElement(optionId); if (element) {
        if (option == '') { hideElement('TbcOptionDescription'); hideElement(optionId); hideElement(descriptionId); }
        else { showElement('TbcOptionDescription'); showElement(optionId); showElement(descriptionId); element.innerHTML = option; } 
    }
}

function changeImageSource(imageLocation, imageSRC) {
    //if (modelPage) {
        var image = $('#' + imageLocation)[0];
        image.src = imageSRC;
   // }

    }

    function getUrlParameters() {
        var vars = [], hash;
        var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

        for (var i = 0; i < hashes.length; i++) {
            hash = hashes[i].split('=');
            vars.push(hash[0].toLowerCase());
            vars[hash[0].toLowerCase()] = hash[1];
        }

        return vars;
    }
