﻿window.FutureStore = window.FutureStore || {}; FutureStore = { Init: function() { YAHOO.log("--------------------BEGIN-----------------------------", "info"); YAHOO.log("Enter FutureStore.Init", "info"); FutureStore.ActivateTooltip(); FutureStore.EuropeHomepage.Init(); FutureStore.Search.Init(); FutureStore.Technologies.Init(); FutureStore.Manufacturers.Init(); FutureStore.Shop.Init(); FutureStore.Newsletter.Init(); FutureStore.SetHeightOfTopProducts(); var b = new YAHOO.widget.Button("country-selection-button", { type: "menu", menu: "country-selection-menu" }); var a = YAHOO.util.Selector.query("table.product-sitemap tbody tr:first-child"); YAHOO.util.Dom.addClass(a, "first"); YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Exit FutureStore.Init", "info"); YAHOO.log("--------------------END-------------------------------", "info") }, SetTopFilterOfNavigation: function(a) { var b = 0; document.getElementById("search-filter-navigation").style.marginTop = "-" + a + "px"; if (parseInt(document.getElementById("search-filter-navigation").offsetHeight)) { b = document.getElementById("search-filter-navigation").offsetHeight - a; if (b < 0) { b = 0 } } document.getElementById("search-content-column-2-content").style.height = b + "px" }, SetHeightOfElements: function(c) { var b = 0; for (var a = 0; a < c.length; ++a) { currentElement = c[a]; if (currentElement && currentElement.offsetHeight > b) { b = currentElement.offsetHeight } } for (var a = 0; a < c.length; ++a) { currentElement = c[a]; if (currentElement) { currentElement.style.height = b + "px" } } }, SetHeightOfTopProducts: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Updating height of top product boxes...", "info"); var b = 0; var c = YAHOO.util.Dom.getElementsByClassName("desc", "div", "top-products"); for (var a = 0; a < c.length; ++a) { currentElement = c[a]; if (currentElement && currentElement.offsetHeight > b) { b = currentElement.offsetHeight } } for (var a = 0; a < c.length; ++a) { currentElement = c[a]; if (currentElement) { currentElement.style.height = b + "px" } } YAHOO.log(c.length + " top product boxe(s) found", "info") }, CleanWhitespace: function(b) { var c = b.firstChild; while (c) { var a = c.nextSibling; if (c.nodeType == 3 && !/\S/.test(c.nodeValue)) { b.removeChild(c) } c = a } return b }, ActivateTooltip: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Activating tooltip links...", "info"); var a = YAHOO.util.Dom.getElementsByClassName("tooltip", "b"); YAHOO.log(a.length + " tooltip link(s) found", "info"); if (a.length > 0) { var b = new YAHOO.widget.Tooltip("ttA", { context: a, autodismissdelay: 10000 }) } } }; FutureStore.EuropeHomepage = { Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.EuropeHomepage.Init"); if (document.getElementById("jsEuropeHomepage")) { var c = YAHOO.util.Selector.query("#box-technologies ul.nav > li > a"); YAHOO.util.Event.addListener(c, "click", function(f) { FutureStore.EuropeHomepage.SelectPanel(this); YAHOO.util.Event.preventDefault(f) }); var a = new Date(); var b = a.getDay(); if (b > 5) { b = 6 } var d = YAHOO.util.Selector.query("#box-technologies ul.nav > li > a.tab" + b); if (d.length > 0) { FutureStore.EuropeHomepage.SelectPanel(d[0]) } } }, SelectPanel: function(d) { var f = d.hash.replace("#", ""); FutureStore.EuropeHomepage.HideAllPanel(); YAHOO.util.Dom.addClass(d.parentNode, "selected"); var a = YAHOO.util.Selector.query("#box-technologies-image"); YAHOO.util.Dom.removeClass(a, "tab1"); YAHOO.util.Dom.removeClass(a, "tab2"); YAHOO.util.Dom.removeClass(a, "tab3"); YAHOO.util.Dom.removeClass(a, "tab4"); YAHOO.util.Dom.removeClass(a, "tab5"); YAHOO.util.Dom.removeClass(a, "tab6"); YAHOO.util.Dom.addClass(a, f); var e = YAHOO.util.Selector.query("div." + f); YAHOO.util.Dom.addClass(e, "box-selected"); var c = YAHOO.util.Selector.query("a", "box-technologies-image", true); var b = YAHOO.util.Selector.query("div." + f + " li.view-all a", "box-technologies", true); c.href = b.href }, HideAllPanel: function() { var a = YAHOO.util.Selector.query("#box-technologies ul.nav > li"); for (var b = 0; b < a.length; ++b) { YAHOO.util.Dom.removeClass(a[b], "selected") } a = YAHOO.util.Selector.query("#box-technologies > div.box-tech"); for (var b = 0; b < a.length; ++b) { YAHOO.util.Dom.removeClass(a[b], "box-selected") } } }; FutureStore.Search = { Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.Search.Init", "info"); if (document.getElementById("jsSearchResultsPage")) { FutureStore.Search.ManageFilterOfNavigation(); FutureStore.Search.SetTopFilterOfNavigation(); FutureStore.Shop.Cart.InitUpdateCartController(); FutureStore.Search.Compare.Init(); YAHOO.util.Event.addListener("display", "change", FutureStore.Search.SetResultsPerPage) } var f = YAHOO.util.Dom.getElementsByClassName("txt-search"); var e = YAHOO.util.Selector.query("#header-quick-search a.search-1"); var d = YAHOO.util.Selector.query("#header-quick-search a.search-2"); /*if (!FutureStore.Search.ManualFocus()) { f[0].focus() }*/ YAHOO.util.Event.addListener(e, "focus", FutureStore.Search.HandleComboButtonSearch1); YAHOO.util.Event.addListener(e, "blur", FutureStore.Search.HandleComboButtonSearch1); YAHOO.util.Event.addListener(e, "mouseover", FutureStore.Search.HandleComboButtonSearch1); YAHOO.util.Event.addListener(e, "mouseout", FutureStore.Search.HandleComboButtonSearch1); YAHOO.util.Event.addListener(d, "focus", FutureStore.Search.HandleComboButtonSearch2); YAHOO.util.Event.addListener(d, "blur", FutureStore.Search.HandleComboButtonSearch2); YAHOO.util.Event.addListener(d, "mouseover", FutureStore.Search.HandleComboButtonSearch2); YAHOO.util.Event.addListener(d, "mouseout", FutureStore.Search.HandleComboButtonSearch2); YAHOO.util.Event.addListener("aspnetForm", "submit", FutureStore.Search.Submit); var c = new YAHOO.util.KeyListener(f[0], { keys: 13 }, FutureStore.Search.Submit); var b = new YAHOO.util.KeyListener(e, { keys: 13 }, FutureStore.Search.Submit); var a = new YAHOO.util.KeyListener(d, { keys: 13 }, FutureStore.Search.Submit); c.enable(); b.enable(); a.enable() }, ManualFocus: function() { var a = YAHOO.util.Dom.getElementsByClassName("noQuiqFocus", "div"); if (null != a && 0 < a.length) { return true } return false }, Submit: function(b) { var a = YAHOO.util.Dom.getElementsByClassName("search-1"); window.location = a[0].href; return false }, HandleComboButtonSearch1: function(b) { var a = YAHOO.util.Dom.getElementsByClassName("btn-search")[0]; if (YAHOO.util.Dom.hasClass(a, "hover-1")) { YAHOO.util.Dom.removeClass(a, "hover-1") } else { YAHOO.util.Dom.addClass(a, "hover-1") } return false }, HandleComboButtonSearch2: function(b) { var a = YAHOO.util.Dom.getElementsByClassName("btn-search")[0]; if (YAHOO.util.Dom.hasClass(a, "hover-2")) { YAHOO.util.Dom.removeClass(a, "hover-2") } else { YAHOO.util.Dom.addClass(a, "hover-2") } return false }, SetTopFilterOfNavigation: function() { FutureStore.SetTopFilterOfNavigation(document.getElementById("search-content-summary").offsetHeight) }, ManageFilterOfNavigation: function() { var b = new Array(); b = document.getElementById("search-filter-navigation-content").childNodes; var c; for (var a = 0; a < b.length; ++a) { c = b[a]; if (c.nodeName.toLowerCase() == "ul") { if (c.offsetHeight > 150) { c.style.overflow = "auto"; c.style.height = "150px" } } } }, SetResultsPerPage: function() { var d = document.getElementById("display"); var a = d.options[d.selectedIndex].value; var b = "_"; var c = a.split(b, 1); if (a) { document.location.href = a.replace(c + b, "") } } }; FutureStore.Search.Compare = { Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.Search.Compare.Init", "info"); if (document.getElementById("jsSearchResultsPage")) { var a = YAHOO.util.Dom.getElementsByClassName("button-clear-all", "a", "product-compare"); if (a) { YAHOO.util.Event.addListener(a[0], "click", FutureStore.Search.Compare.ClearAll) } } if (document.getElementById("jsProductComparePage")) { } }, CompareProduct: function(b, a) { if (b && b.checked) { FutureStore.Search.Compare.AddProduct(a, b) } else { FutureStore.Search.Compare.RemoveProduct(a) } }, AddProduct: function(b, f) { var e = new Date(); var a = FutureStore.Newsletter.GetNewsletterCulture(); var c = YAHOO.util.Connect.asyncRequest("GET", "/ProductCompare.asmx/AddProduct?ts=" + e.getTime() + "&productId=" + b + "&culture=" + a, { success: function(d) { FutureStore.Search.Compare.CompleteAddProduct(d, f) }, failure: FutureStore.Search.Compare.HandleError, argument: {} }) }, RemoveProduct: function(a) { var c = new Date(); var b = YAHOO.util.Connect.asyncRequest("GET", "/ProductCompare.asmx/RemoveProduct?ts=" + c.getTime() + "&productId=" + a, { success: FutureStore.Search.Compare.CompleteRemoveProduct, failure: FutureStore.Search.Compare.HandleError, argument: {} }) }, ClearAll: function() { var a = YAHOO.util.Connect.asyncRequest("GET", "/ProductCompare.asmx/ClearAll", { success: FutureStore.Search.Compare.CompleteClearAll, failure: FutureStore.Search.Compare.HandleError, argument: {} }) }, GetProduct: function(b) { var e = new Date(); var a = FutureStore.Newsletter.GetNewsletterCulture(); var c = YAHOO.util.Connect.asyncRequest("GET", "/ProductCompare.asmx/GetProduct?ts=" + e.getTime() + "&productId=" + b + "&culture=" + a, { success: FutureStore.Search.Compare.CompleteGetProduct, failure: FutureStore.Search.Compare.HandleError, argument: {} }) }, GetProducts: function() { var c = new Date(); var a = FutureStore.Newsletter.GetNewsletterCulture(); var b = YAHOO.util.Connect.asyncRequest("GET", "/ProductCompare.asmx/GetProducts?ts=" + c.getTime() + "&culture=" + a, { success: FutureStore.Search.Compare.CompleteGetProducts, failure: FutureStore.Search.Compare.HandleError, argument: {} }) }, CompleteAddProduct: function(c, e) { docXml = c.responseXML; var b = docXml.getElementsByTagName("string"); var d = new Array(); for (var a = 0; a < b.length; ++a) { if (b[a].firstChild) { d[a] = b[a].firstChild.nodeValue } else { d[a] = null } } if (d[0] != -1) { if (d[7] == "newLeaf") { FutureStore.Search.Compare.EmptyAllComparedProducts() } YAHOO.util.Dom.getElementsByClassName("product-panel-wrapper", "div", "")[0].style.display = "block"; FutureStore.Search.Compare.ViewComparedProduct(d[0], true, d) } else { if (e) { e.checked = false } } }, CompleteRemoveProduct: function(d) { var b; var a; var c; docXml = d.responseXML; if (docXml.getElementsByTagName("int")[0].firstChild) { b = docXml.getElementsByTagName("int")[0].firstChild.nodeValue } if (docXml.getElementsByTagName("int")[1].firstChild) { a = docXml.getElementsByTagName("int")[1].firstChild.nodeValue } if (docXml.getElementsByTagName("int")[2].firstChild) { c = docXml.getElementsByTagName("int")[2].firstChild.nodeValue } if (b != -1) { if (a < 1) { YAHOO.util.Dom.getElementsByClassName("product-panel-wrapper", "div", "")[0].style.display = "none" } FutureStore.Search.Compare.ViewComparedProduct(b, false, null) } }, CompleteClearAll: function(b) { docXml = b.responseXML; var a = docXml.getElementsByTagName("int"); FutureStore.Search.Compare.EmptyAllComparedProducts(); YAHOO.util.Dom.getElementsByClassName("product-panel-wrapper", "div", "")[0].style.display = "none" }, CompleteGetProducts: function(e) { var c = true; FutureStore.Search.Compare.EmptyAllComparedProducts(); docXml = e.responseXML; var d = docXml.getElementsByTagName("string"); var f; for (var b = 0; b < 40; b++) { f = new Array(); for (var a = 0; a < 8; a++) { if (d[b].firstChild) { f[a] = d[b].firstChild.nodeValue } else { f[a] = null } b++ } b--; if (parseInt(f[0]) >= 0) { c = false; FutureStore.Search.Compare.ViewComparedProduct(f[0], true, f) } } if (c) { YAHOO.util.Dom.getElementsByClassName("product-panel-wrapper", "div", "")[0].style.display = "none" } else { YAHOO.util.Dom.getElementsByClassName("product-panel-wrapper", "div", "")[0].style.display = "block" } }, CompleteGetProduct: function(a) { }, HandleError: function(a) { var b = a.responseText; alert(b) }, EmptyAllComparedProducts: function() { var a = YAHOO.util.Dom.getElementsByClassName("compared-item", "dl", "product-compare-content"); for (var b = 0; b < a.length; b++) { FutureStore.Search.Compare.ViewComparedProduct(b, false, null) } }, ViewComparedProduct: function(c, e, j) { var k = YAHOO.util.Dom.getElementsByClassName("compared-item", "dl", "product-compare-content"); comparedProduct = k[c]; if (comparedProduct.childNodes.length != 5) { comparedProduct = FutureStore.CleanWhitespace(comparedProduct) } imgAnchor = comparedProduct.childNodes[0].childNodes[0]; img = imgAnchor.childNodes[0]; mfrNameAnchor = comparedProduct.childNodes[1].childNodes[0]; mfrPartNumber = comparedProduct.childNodes[2].childNodes[0]; price = YAHOO.util.Dom.getElementsByClassName("price", "span", comparedProduct.childNodes[3])[0]; fromTxt = comparedProduct.childNodes[3].childNodes[0]; removeAnchor = comparedProduct.childNodes[4].firstChild; if (e) { imgAnchor.href = j[6]; if (j[2]) { img.src = j[2] } price.appendChild(document.createTextNode(j[5])); mfrNameAnchor.appendChild(document.createTextNode(j[3])); var h = /<acronym title="(.+)">(.+)<\/acronym>/i; if (j[4].match(h)) { var b = j[4].match(h)[1]; var g = j[4].match(h)[2]; var a = document.createElement("acronym"); var d = document.createAttribute("title"); d.nodeValue = g; a.setAttributeNode(d); a.appendChild(document.createTextNode(g)); mfrPartNumber.appendChild(a) } else { mfrPartNumber.appendChild(document.createTextNode(j[4])) } fromTxt.style.visibility = "visible"; mfrNameAnchor.href = j[6]; removeAnchor.style.visibility = "visible"; removeAnchor.href = ""; var i = "FutureStore.Search.Compare.CompareProduct(null," + j[1] + ");return false;"; removeAnchor.onclick = new Function(i); comparedProduct.className += " " + j[1]; FutureStore.Search.Compare.HandleCheckbox(j[1], true) } else { imgAnchor.removeAttribute("href"); img.src = "/Style%20Library/FutureStore/Images/Samples/sample-thumbnail-no-image.png"; if (price.childNodes.length) { price.removeChild(price.firstChild) } mfrNameAnchor.href = ""; if (mfrNameAnchor.childNodes.length) { mfrNameAnchor.removeChild(mfrNameAnchor.firstChild) } if (mfrPartNumber.childNodes.length) { mfrPartNumber.removeChild(mfrPartNumber.firstChild) } fromTxt.style.visibility = "hidden"; var f = String(comparedProduct.className); var h = /([0-9]+)/im; if (f != "null" && f.match(h) != null) { FutureStore.Search.Compare.HandleCheckbox(f.match(h)[1], false); comparedProduct.className = comparedProduct.className.replace(" " + f.match(h)[1], "") } removeAnchor.style.visibility = "hidden" } }, HandleCheckbox: function(c, d) { var b = YAHOO.util.Dom.getElementsByClassName("ItemNumber" + c, "span"); if (b && b.length > 0) { for (var a = 0; a < b.length; ++a) { b[a].childNodes[0].checked = d } } } }; FutureStore.Technologies = { Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.Technologies.Init", "info"); if (document.getElementById("jsTechnologiesPage")) { FutureStore.SetTopFilterOfNavigation(80); FutureStore.Technologies.SetHeightOfTechnologyBoxes() } FutureStore.Technologies.CategoryLanding.Init(); FutureStore.Technologies.CategoryBrowser.Init(); FutureStore.Technologies.Product.Init() }, SetTopFilterOfNavigation: function() { FutureStore.SetTopFilterOfNavigation(120) }, SetHeightOfTechnologyBoxes: function() { var a = YAHOO.util.Dom.getElementsByClassName("sub-categories-list-content", "div", "search-content-column-1-content"); FutureStore.SetHeightOfElements(a) } }; FutureStore.Technologies.CategoryLanding = { Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.Technologies.CategoryLanding.Init", "info"); if (document.getElementById("jsCategoryLandingPage")) { FutureStore.Technologies.SetTopFilterOfNavigation(); var a = YAHOO.util.Dom.getElementsByClassName("view-sub-categories", "a", "search-content-content"); YAHOO.util.Event.addListener(a, "click", FutureStore.Technologies.CategoryLanding.ViewSubCategories) } }, CurrentSelectedCategory: null, ViewSubCategories: function(d) { var f; var c; var b; var a = YAHOO.util.Dom.getElementsByClassName("category-preview", "div", "search-content-column-1-content"); if (FutureStore.Technologies.CategoryLanding.CurrentSelectedCategory != null) { c = FutureStore.Technologies.CategoryLanding.CurrentSelectedCategory; f = c.parentNode; b = YAHOO.util.Dom.getElementsByClassName("sub-categories-list", "div", f.parentNode)[0]; YAHOO.util.Dom.removeClass(c, "selected"); YAHOO.util.Dom.removeClass(f, "selected"); YAHOO.util.Dom.removeClass(b, "displayed") } if (FutureStore.Technologies.CategoryLanding.CurrentSelectedCategory != this) { c = this; FutureStore.Technologies.CategoryLanding.CurrentSelectedCategory = c; f = c.parentNode; b = YAHOO.util.Dom.getElementsByClassName("sub-categories-list", "div", f.parentNode)[0]; YAHOO.util.Dom.addClass(c, "selected"); YAHOO.util.Dom.addClass(f, "selected"); YAHOO.util.Dom.addClass(b, "displayed") } else { FutureStore.Technologies.CategoryLanding.CurrentSelectedCategory = null } return false } }; FutureStore.Technologies.CategoryBrowser = { Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.Technologies.CategoryBrowser.Init", "info"); if (document.getElementById("jsCategoryBrowserPage")) { FutureStore.Technologies.SetTopFilterOfNavigation() } } }; FutureStore.Technologies.Product = { DetailPanels: null, Thumbnails: null, Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.Technologies.Product.Init", "info"); if (document.getElementById("jsProductPage")) { this.DetailPanels = YAHOO.util.Dom.getElementsByClassName("productPanel", "a", "product-details-content"); YAHOO.util.Event.addListener(this.DetailPanels, "click", FutureStore.Technologies.Product.ViewPanel); YAHOO.util.Event.addListener(this.DetailPanels, "focus", FutureStore.Technologies.Product.ViewPanel); YAHOO.log("Rich product panel activated", "info"); FutureStore.Shop.Cart.InitUpdateCartController(); YAHOO.log("Add to cart tool activated", "info"); var a = YAHOO.util.Dom.getFirstChild(YAHOO.util.Dom.getFirstChild(document.getElementById("product-images-thumbnails"))); if (a) { var b = new YAHOO.widget.Panel("imgPanel", { visible: false, close: true, modal: true, draggable: true, fixedcenter: true, constraintoviewport: true }); b.setHeader('&nbsp;<a class="container-close" href="#">Close</a>'); b.setBody('<img src="' + FutureStore.Technologies.Product.GetCurrentImageSrc(a, "LRG") + '" />'); b.render("container"); YAHOO.util.Event.addListener("modalRichProductImageLink", "click", FutureStore.Technologies.Product.ViewLRGImage, b); this.Thumbnails = YAHOO.util.Dom.getElementsByClassName("productThumbnail", "img", "product-images-thumbnails"); YAHOO.util.Event.addListener(this.Thumbnails, "click", FutureStore.Technologies.Product.ViewImage, b); YAHOO.util.Event.addListener(this.Thumbnails, "focus", FutureStore.Technologies.Product.ViewImage, b); YAHOO.log("Product Images Handler activated", "info") } } }, ViewPanel: function(b) { for (var a = 0; a < FutureStore.Technologies.Product.DetailPanels.length; ++a) { document.getElementById(FutureStore.Technologies.Product.DetailPanels[a].id.replace("view", "title-product-details")).className = ""; document.getElementById(FutureStore.Technologies.Product.DetailPanels[a].id.replace("view", "product-details")).style.display = "none" } document.getElementById(this.id.replace("view", "title-product-details")).className = "selected"; document.getElementById(this.id.replace("view", "product-details")).style.display = "block"; return false }, ViewImage: function(g, f) { var c = document.getElementById("modalRichProductImageLink"); var a = YAHOO.util.Dom.getFirstChild(c); var d = FutureStore.Technologies.Product.GetCurrentImageSrc(this, "LRG"); var b = FutureStore.Technologies.Product.GetCurrentImageSrc(this, "MED"); c.href = d; a.src = b; f.setBody('<img src="' + d + '" />') }, ViewLRGImage: function(b, a) { YAHOO.util.Event.preventDefault(b); a.show() }, GetCurrentImageSrc: function(a, c) { var g = /-(BCK|FNT|SID)-(MED|SML|LRG)\.[a-z]{3,4}/i; if (a.src.match(g)) { var e = a.src.match(g)[0]; var d = e.replace("SML", "MED"); var f = a.src; var h = f.replace(e, d); var d = e.replace("SML", "LRG"); var b = f.replace(e, d); if (c == "LRG") { return b } if (c == "MED") { return h } } YAHOO.log("Product has no image", "warn"); return f } }; FutureStore.Manufacturers = { Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.Manufacturers", "info"); if (document.getElementById("jsManufacturersLandingPage")) { FutureStore.Manufacturers.SetHeightOfManufacturersList() } if (document.getElementById("jsManufacturerDetailPage")) { FutureStore.Manufacturers.SetTopFilterOfNavigation() } }, SetTopFilterOfNavigation: function() { FutureStore.SetTopFilterOfNavigation(60) }, SetHeightOfManufacturersList: function() { var a = new Array(document.getElementById("manufacturersListContent1"), document.getElementById("manufacturersListContent2"), document.getElementById("manufacturersListContent3"), document.getElementById("manufacturersListContent4")); FutureStore.SetHeightOfElements(a) } }; FutureStore.Shop = { Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.Shop.Init", "info"); if (document.getElementById("jsShopPage")) { FutureStore.Shop.SetTopFilterOfNavigation() } FutureStore.Shop.Cart.Init() }, SetTopFilterOfNavigation: function() { FutureStore.SetTopFilterOfNavigation(20) } }; FutureStore.Shop.Cart = { Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.Shop.Cart.Init", "info"); if (document.getElementById("jsViewCartPage")) { FutureStore.Shop.Cart.InitUpdateCartController() } }, InitUpdateCartController: function(g) { var a = YAHOO.util.Dom.getElementsByClassName("qtySelectorItem", "div"); var i = new Array(); var f = new Array(); var d = new Array(); var b; for (var j = 0; j < a.length; ++j) { b = a[j].className.replace("qtySelectorItem qtySelectorItem", ""); i[j] = YAHOO.util.Dom.getElementsByClassName("qtySelectorUpItem" + b, "a", a[j])[0]; f[j] = YAHOO.util.Dom.getElementsByClassName("qtySelectorDownItem" + b, "a", a[j])[0]; d[j] = YAHOO.util.Dom.getElementsByClassName("qtyCartItem" + b, "input", a[j])[0] } YAHOO.util.Event.addListener(i, "click", FutureStore.Shop.Cart.AddToCart); YAHOO.util.Event.addListener(f, "click", FutureStore.Shop.Cart.RemoveFromCart); var h = new YAHOO.util.KeyListener(i, { keys: 13 }, FutureStore.Shop.Cart.AddToCart); var c = new YAHOO.util.KeyListener(f, { keys: 13 }, FutureStore.Shop.Cart.RemoveFromCart); h.enable(); c.enable(); YAHOO.util.Event.addListener(d, "blur", FutureStore.Shop.Cart.RoundUp); return false }, AddToCart: function() { var c = this.className.replace("qtySelectorUpItem qtySelectorUpItem", ""); var d = YAHOO.util.Dom.getElementsByClassName("qtyCartItem" + c, "input", this.parentNode)[0]; var a = YAHOO.util.Dom.getElementsByClassName("qtyMaxItem" + c, "input", this.parentNode)[0]; var b = YAHOO.util.Dom.getElementsByClassName("qtyStepItem" + c, "input", this.parentNode)[0]; if (parseInt(d.value) + parseInt(b.value) <= parseInt(a.value)) { d.value = parseInt(d.value) + parseInt(b.value) } return false }, RemoveFromCart: function() { var c = this.className.replace("qtySelectorDownItem qtySelectorDownItem", ""); var d = YAHOO.util.Dom.getElementsByClassName("qtyCartItem" + c, "input", this.parentNode)[0]; var a = YAHOO.util.Dom.getElementsByClassName("qtyMinItem" + c, "input", this.parentNode)[0]; var b = YAHOO.util.Dom.getElementsByClassName("qtyStepItem" + c, "input", this.parentNode)[0]; if (parseInt(d.value) - parseInt(b.value) >= parseInt(a.value)) { d.value = parseInt(d.value) - parseInt(b.value) } return false }, RoundUp: function() { var d = this.className.replace("qtyCartItem", ""); var a = this.value; var e = parseInt(YAHOO.util.Dom.getElementsByClassName("qtyMaxItem" + d, "input", this.parentNode)[0].value); var c = parseInt(YAHOO.util.Dom.getElementsByClassName("qtyMinItem" + d, "input", this.parentNode)[0].value); var b = parseInt(YAHOO.util.Dom.getElementsByClassName("qtyStepItem" + d, "input", this.parentNode)[0].value); if (!a.match("^[0-9]*$")) { a = c } if (a > e) { a = e } if (a < c) { a = c } if (a % b > 0) { a = a - (a % b) + b } this.value = a; return false } }; FutureStore.Newsletter = { Init: function() { YAHOO.log("------------------------------------------------------", "info"); YAHOO.log("Enter FutureStore.Newsletter.Init", "info"); var c = document.getElementById("newsletter-input"); if (null != c) { var d = YAHOO.util.Dom.getElementsByClassName("newsletter-input-email", "input"); if (null != d && 0 < d.length) { var a = new YAHOO.util.KeyListener(d[0].id, { keys: 13 }, FutureStore.Newsletter.RegisterNewsletter); a.enable() } var b = YAHOO.util.Dom.getElementsByClassName("newsletter-subscribe", "a"); if (null != b && 0 < b.length) { YAHOO.util.Event.removeListener(b[0].id, "click"); YAHOO.util.Event.addListener(b[0].id, "click", FutureStore.Newsletter.RegisterNewsletter) } } }, GetNewsletterEmailAddress: function() { var a = document.getElementById("newsletter-input"); if (null == a) { return null } var b = YAHOO.util.Dom.getElementsByClassName("newsletter-input-email", "input"); if (null == b || 0 >= b.length) { return null } return b[0].value }, GetNewsletterCulture: function() { var b = document.getElementById("newsletter-input"); if (null == b) { return null } var c = YAHOO.util.Dom.getElementsByClassName("newsletter-input-email", "input"); if (null == c || 0 >= c.length) { return null } var a = c[0].getAttribute("culture"); if (null == a || 0 >= a.length) { return "en-US" } return a }, RegisterNewsletter: function(f) { var c = FutureStore.Newsletter.GetNewsletterEmailAddress(); if (null == c || 0 == c.length) { FutureStore.Newsletter.SetRequiredEmail(); return } else { var d = c.replace(" ", ""); if (null == d || 0 == d.length) { FutureStore.Newsletter.SetRequiredEmail(); return } } var a = FutureStore.Newsletter.GetNewsletterCulture(); try { var g = YAHOO.util.Connect.asyncRequest("GET", "/NewsletterService.asmx/Subscribe?emailAddress=" + c + "&culture=" + a, { success: FutureStore.Newsletter.CompleteRegisterNewsletter, failure: FutureStore.Newsletter.HandleError, argument: {} }) } catch (b) { alert("ex" + b) } return false }, SetVisibility: function(a, d, b) { var c = document.getElementById("newsletter-subscribe-box"); if (null == c) { return } var e = YAHOO.util.Dom.getElementsByClassName(a, "div"); if (null == e || 0 >= e.length) { return } e[0].style.display = d; e[0].style.visibility = b }, SetHiddenField: function(c, d) { var b = YAHOO.util.Dom.getElementsByClassName("newsletter-validator-summary", "div"); if (null == b) { return } var a = YAHOO.util.Dom.getElementsByClassName(c, "input"); if (null == a || 0 >= a.length) { return } a[0].value = d }, SetRequiredEmail: function() { FutureStore.Newsletter.SetVisibility("newsletter-validator-summary", "block", "visible"); FutureStore.Newsletter.SetVisibility("newsletter-req-email", "block", "visible"); FutureStore.Newsletter.SetVisibility("newsletter-valid-email", "none", "hidden"); FutureStore.Newsletter.SetVisibility("newsletter-used-email", "none", "hidden"); FutureStore.Newsletter.SetVisibility("newsletter-subscribe-done", "none", "hidden") }, SetInvalidEmail: function() { FutureStore.Newsletter.SetVisibility("newsletter-validator-summary", "block", "visible"); FutureStore.Newsletter.SetVisibility("newsletter-req-email", "none", "hidden"); FutureStore.Newsletter.SetVisibility("newsletter-valid-email", "block", "visible"); FutureStore.Newsletter.SetVisibility("newsletter-used-email", "none", "hidden"); FutureStore.Newsletter.SetVisibility("newsletter-subscribe-done", "none", "hidden") }, SetEmailUsed: function() { FutureStore.Newsletter.SetVisibility("newsletter-validator-summary", "block", "visible"); FutureStore.Newsletter.SetVisibility("newsletter-req-email", "none", "hidden"); FutureStore.Newsletter.SetVisibility("newsletter-valid-email", "none", "hidden"); FutureStore.Newsletter.SetVisibility("newsletter-used-email", "block", "visible"); FutureStore.Newsletter.SetVisibility("newsletter-subscribe-done", "none", "hidden") }, SetEmailSubscribed: function() { FutureStore.Newsletter.SetVisibility("newsletter-validator-summary", "none", "hidden"); FutureStore.Newsletter.SetVisibility("newsletter-subscribe-done", "block", "visible") }, CompleteRegisterNewsletter: function(a, b) { var c = FutureStore.Newsletter.ResponseInt(a); if (("" + -1) == c) { FutureStore.Newsletter.SetRequiredEmail(); return } else { if (("" + -2) == c) { FutureStore.Newsletter.SetInvalidEmail(); return } else { if (("" + -3) == c) { FutureStore.Newsletter.SetEmailUsed(); return } else { if (("" + -4) == c) { FutureStore.Newsletter.SetEmailUsed(); return } } } } FutureStore.Newsletter.SetEmailSubscribed() }, ResponseInt: function(a) { var c = "" + -4; try { docXml = a.responseXML; c = docXml.getElementsByTagName("int")[0].firstChild.nodeValue } catch (b) { } return c }, HandleError: function(a) { var b = a.get_message(); alert(b) } }; FutureStore.Sharepoint = { RenderReadOnly: function(b) { var a = document.getElementById(b); newContent = a.innerHTML.replace('class="ms-input"', 'style="background: #ddd; border:1px solid #aaa" readonly="readonly" class="ms-input"'); if ("" != newContent && newContent == a.innerHTML) { newContent = a.innerHTML.replace("class=ms-input", 'style="background: #ddd; border:1px solid #aaa" readonly="readonly" class=ms-input') } a.innerHTML = newContent } }; FutureStore.Core = { ShowModalAndSetFocus: function(b, a) { FutureStore.Core.ShowModal(b); FutureStore.Core.ShowFocus(a); return false }, HideModalAndClearText: function(b, a) { FutureStore.Core.HideModal(b); FutureStore.Core.ClearText(a); return false }, ShowModal: function(a) { $find(a).show() }, ShowFocus: function(a) { $get(a).focus(); return false }, HideModal: function(a) { $find(a).hide(); return false }, ClearText: function(a) { $get(a).value = ""; return false } }; YAHOO.util.Event.onDOMReady(FutureStore.Init); YAHOO.util.Event.onContentReady("product-compare", FutureStore.Search.Compare.GetProducts);