﻿Type.registerNamespace("JsLib"); var BBYConfigurations = { reportError: false }; JsLib._Debug = function() { }; function JsLib$Debug$Inspect(b) { var c = [], a; for (a in b) c.push(a); c.sort(); JsLib.UI.createDiv("DebugInspect", { width: "300px", top: "200px" }).innerHTML = c.join("<br />") } function JsLib$Debug$ReportError(b, c, a) { var d; if (null == $get("ErrorDiv")) d = JsLib.UI.createDiv("ErrorDiv", { width: "655px", top: "200px" }); else { d = $get("ErrorDiv"); d.innerHTML += "<hr />" } d.innerHTML += b + "<br />" + c + "<br />line no:" + a; return true } JsLib._Debug.prototype = { inspect: JsLib$Debug$Inspect, reportError: JsLib$Debug$ReportError }; JsLib._Debug.registerClass("JsLib._Debug"); JsLib.Debug = new JsLib._Debug; if (BBYConfigurations.reportError) window.onerror = JsLib.Debug.reportError; JsLib._Object = function() { }; function JsLib$Object$extend(b, c) { for (var a in c) b[a] = c[a]; return b } JsLib._Object.prototype = { extend: JsLib$Object$extend }; JsLib._Object.registerClass("JsLib._Object"); JsLib.Object = new JsLib._Object; JsLib._HttpRequest = function() { }; function JsLib$HttpRequest$loadText(b) { var c = JsLib$HttpRequest$CreateXMLHttpRequest(); c.open("GET", b, false); c.send(null); return c.responseText } function JsLib$HttpRequest$PostFormData(b, c) { var a = JsLib$HttpRequest$CreateXMLHttpRequest(); a.open("POST", c, false); a.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); a.setRequestHeader("Content-length", b.length); a.send(b); return a.responseText } function JsLib$HttpRequest$CreateXMLHttpRequest() { if (window.XMLHttpRequest) return new XMLHttpRequest; else if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP"); return null } JsLib._HttpRequest.prototype = { loadText: JsLib$HttpRequest$loadText, PostFormData: JsLib$HttpRequest$PostFormData }; JsLib._HttpRequest.registerClass("JsLib._HttpRequest"); JsLib.HttpRequest = new JsLib._HttpRequest; var $httpRequest = JsLib.HttpRequest; JsLib._PopUp = function() { }; function JsLib$PopUp$open(b, c, a) { var d = ""; if (!(b == null || b.length == 0)) { if (b.indexOf("/") != 0) d = "/"; b = document.location.protocol + "//" + document.location.host + d + b; a = JsLib.Object.extend({ type: "window", width: 585, height: 450, top: -1, left: -1, scrollbars: false, status: false, resizable: false }, a || {}); if (-1 == a.left) a.left = parseInt(screen.width ? (screen.width - a.width) / 2 : 100); if (-1 == a.top) a.top = parseInt(screen.height ? (screen.height - a.height) / 2 : 100); switch (a.type) { case "window": JsLib$PopUp$OpenWindow(b, c, a); break; case "htmldiv": JsLib$PopUp$OpenHtmlDiv(b, c, a); break } } } function JsLib$PopUp$OpenWindow(b, c, a) { var d = []; d.push("width=" + a.width); d.push("height=" + a.height); d.push("top=" + a.top); d.push("left=" + a.left); d.push("scrollbars=" + Number(a.scrollbars)); d.push("status=" + Number(a.status)); d.push("resizable=" + Number(a.resizable)); d.push("location=0"); window.open(b, c, d.join(",")).focus() } function JsLib$PopUp$OpenHtmlDiv() { alert("Not implemented yet!") } function JsLib$PopUp$autoResizeWindow() { alert(document.body.offsetHeight); alert(document.scrollHeight); window.resizeTo(document.body.scrollWidth + (document.body.scrollWidth - document.body.offsetWidth), document.body.scrollHeight) } JsLib._PopUp.prototype = { open: JsLib$PopUp$open, autoResizeWindow: JsLib$PopUp$autoResizeWindow }; JsLib._PopUp.registerClass("JsLib._PopUp"); JsLib.PopUp = new JsLib._PopUp; var $popUp = JsLib.PopUp.open; JsLib._UI = function() { }; function JsLib$UI$CreateDiv(b, c) { div = document.createElement("div"); div.id = b; var a = { position: "absolute", zIndex: 1E3, top: "50px", left: "50px", width: "400px", height: "200px", backgroundColor: "#cecece", border: "solid 1px black", overflow: "scroll" }; for (var d in a) div.style[d] = a[d]; for (d in c || {}) div.style[d] = c[d]; document.body.appendChild(div); return div } function JsLib$UI$EqualiseBoxesHeight() { for (var b = 0; b < arguments.length; b++) if (!$get(arguments[b])) return; var c = JsLib$UI$maxHeight(JsLib$UI$GetElementsFromIDs(arguments)); for (b = 0; b < arguments.length; b++) $get(arguments[b]).style.height = c + "px" } function JsLib$UI$EqualiseBoxesHeightByClassName(b) { b = $getElementsByClassName(b); for (var c = JsLib$UI$maxHeight(b), a = 0; a < b.length; a++) b[a].style.height = c + "px" } function JsLib$UI$EqualiseBoxesHeightByClassNameInsideElement(b, c) { for (var a = $getElementsByClassName(b, null, $get(c)), d = JsLib$UI$maxHeight(a), e = 0; e < a.length; e++) a[e].style.height = d + "px" } function JsLib$UI$EqualiseBoxesHeightByClassNamesInsideElement(b, c) { for (var a = [], d = 0; d < b.length; d++) for (var e = $getElementsByClassName(b[d], null, $get(c)), f = 0; f < e.length; f++) a.push(e[f]); d = JsLib$UI$maxHeight2(a); for (f = 0; f < a.length; f++) a[f].style.height = d + "px" } function JsLib$UI$EqualiseBoxesHeightInContainers(b, c) { var a, d, e, f = $getElementsByClassName(b); for (d = 0; d < f.length; d++) { e = $getElementsByClassName(c, null, f[d]); a = JsLib$UI$maxHeight(e); for (var g = 0; g < e.length; g++) e[g].style.height = a + "px" } } function JsLib$UI$maxHeight2(b) { for (var c = [], a = 0; a < b.length; a++) navigator.userAgent.toLowerCase().indexOf("opera") == -1 ? c.push(b[a].scrollHeight) : c.push(b[a].offsetHeight); c.sort(function(d, e) { return d - e }); return c[b.length - 1] } function JsLib$UI$maxHeight(b) { for (var c = [], a = 0; a < b.length; a++) navigator.userAgent.toLowerCase().indexOf("opera") == -1 ? c.push(b[a].scrollHeight) : c.push(b[a].offsetHeight); c.sort(function(d, e) { return d - e }); return c[b.length - 1] } function JsLib$UI$GetElementsFromIDs(b) { for (var c = [], a = 0; a < b.length; a++) c.push($get(b[a])); return c } function JsLib$UI$GetElementsByClassName(b, c, a) { b = RegExp("(^|\\s)" + b + "(\\s|$)"); c = c || "*"; a = a || document; c = c == "*" && a.all ? a.all : a.getElementsByTagName(c); a = []; for (var d, e = c.length, f = 0; f < e; f++) { d = c[f]; b.test(d.className) && a.push(d) } return a } function JsLib$UI$DHTMLDiv(b, c) { var a = b.id + "_DHTMLDiv"; if (null != $get(a)) { var d = document.createElement("div"); d.innerHTML = JsLib$HttpRequest$loadText(c); d.id = a; null != b.nextSibling ? b.parentNode.insertBefore(d, b.nextSibling) : b.parentNode.appendChild(d); b.style.display = "block" } } function JsLib$UI$GetNestedElem(b, c, a) { b = b.getElementsByTagName(c); if (b != null) for (c = 0; c < b.length; c++) if (b[c].id == a) return b[c]; return null } function JsLib$UI$Hide() { JsLib$UI$ChangeDisplay("none", arguments) } function JsLib$UI$Show() { JsLib$UI$ChangeDisplay("block", arguments) } function JsLib$UI$ChangeDisplay(b, c) { for (var a = 0; a < c.length; a++) if (typeof c[a] == "string") $get(c[a]).style.display = b; else c[a].style.display = b } function JsLib$UI$InjectHTML(b, c, a) { b = JsLib.HttpRequest.loadText(b); var d = document.createElement("div"); d.innerHTML = b; if (c = JsLib.UI.GetNestedElem(d, "div", c)) { c = c.innerHTML; $get(a).innerHTML = c } } function JsLib$UI$InjectHTMLMultiple(b, c, a) { c = JsLib.HttpRequest.PostFormData(c, b); b = document.createElement("div"); b.innerHTML = c; for (c = 0; c < a.length; c++) { var d = JsLib.UI.GetNestedElem(b, "div", a[c]).innerHTML; if ($get(a[c]) != null) $get(a[c]).innerHTML = d } } JsLib._UI.prototype = { createDiv: JsLib$UI$CreateDiv, equaliseBoxesHeight: JsLib$UI$EqualiseBoxesHeight, equaliseBoxesHeightByClassName: JsLib$UI$EqualiseBoxesHeightByClassName, equaliseBoxesHeightByClassNameInsideElement: JsLib$UI$EqualiseBoxesHeightByClassNameInsideElement, equaliseBoxesHeightByClassNamesInsideElement: JsLib$UI$EqualiseBoxesHeightByClassNamesInsideElement, equaliseBoxesHeightInContainers: JsLib$UI$EqualiseBoxesHeightInContainers, getElementsByClassName: JsLib$UI$GetElementsByClassName, GetNestedElem: JsLib$UI$GetNestedElem, InjectHTML: JsLib$UI$InjectHTML, InjectHTMLMultiple: JsLib$UI$InjectHTMLMultiple }; JsLib._UI.registerClass("JsLib._UI"); JsLib.UI = new JsLib._UI; var $getElementsByClassName = JsLib.UI.getElementsByClassName, $show = JsLib$UI$Show, $hide = JsLib$UI$Hide; JsLib._Utils = function() { }; function JsLib$Utils$redirect(b) { window.location.href = b } function JsLib$Utils$formatCurrency(b) { return b.localeFormat("C") } JsLib._Utils.prototype = { redirect: JsLib$Utils$redirect, formatCurrency: JsLib$Utils$formatCurrency }; JsLib._Utils.registerClass("JsLib._Utils"); JsLib.Utils = new JsLib._Utils; var $redirect = JsLib.Utils.redirect;
