var BigSummitUtils = { closeWindow: function () { if (window.opener) { window.close(); } }, getBaseUrl: function () { var ret = "/ammosafe.nsf"; var loc = window.location.href; var loc_l = loc.toLowerCase(); var idx = loc_l.indexOf(".nsf"); if (idx > -1) { ret = loc.substring(0,idx + 4); } return ret; }, isUserLoggedIn: function () { //return true; var namx = CookieUtils.get("DomAuthSessId"); if (namx != null && namx != "") { return true; } else { return false; } }, signout: function () { CookieUtils.deleteCookie("DomAuthSessId"); }, convertToNum: function (val) { var ALL_CHARS = "0123456789."; var ret = ""; for (var i = 0; i < val.length; i++) { var chr = val.substring(i, i + 1); if (ALL_CHARS.indexOf(chr) > -1) { ret += chr; if (chr == ".") { ALL_CHARS = "0123456789"; } } } return parseFloat(ret); }, getQsValue: function (sname, sdefault) { var ret = sdefault; var loc = window.location.href + "&"; var idx = loc.indexOf(sname+"="); if (idx > -1) { var sortx = loc.substring(idx+5); sortx = sortx.substring(0,sortx.indexOf("&")); ret = sortx; } return ret; }, replaceQsValue: function (source, name, value) { var hasParam = false; source = "&" + source; idx = source.indexOf("&" + name + "="); if (idx > -1) hasParam = true; if (!hasParam) { source += "&" + name + "=" + value; } else { source = source.substring(1); var params = source.split("&"); source = ""; for (var i = 0; i < params.length; i++) { source += "&"; if (params[i].indexOf(name + "=") > -1) { source += name + "=" + value; } else { source += params[i]; } } } while (source.indexOf("&") == 0) { source = source.substring(1); } return source; }, recurseCopyNodes: function (srcnode, trgnode) { if (srcnode && trgnode) { for (var i = srcnode.childNodes.length - 1; i >= 0 ; i--) { var node = srcnode.childNodes[i]; var newnode = trgnode.appendChild(node); recurseCopyNodes(node, newnode); } } }, recurseHide: function (node) { if (node) { if (node.style) { node.style.display = "none"; } recurseHide(node.nextSibling); } }, addLoadEvent: function (func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { if (oldonload) { oldonload(); } func(); } } }, replaceWebDbReferences: function(id) { if (typeof id == "undefined") id = "MainContent"; var elContent = document.getElementById("MainContent"); if (elContent) { var sBase = BigSummitUtils.getBaseUrl(); sBase = sBase.substring(sBase.indexOf("//") + 2); sBase = sBase.substring(sBase.indexOf("/") + 1); elContent.innerHTML = elContent.innerHTML.replace(/\#WEBDBNAME\#/gi, sBase ); } }, populateSlideshow: function (tmpImages, iDelay, elementId) { var el = document.getElementById(elementId); var aImages = new Array(); for (var i = 0; i < tmpImages.length; i++) { if (tmpImages[i][0].substring(tmpImages[i][0].length-1) != "/") { aImages.push(tmpImages[i]); } } if (aImages.length > 0 && el) { var w = el.getAttribute("ss_width"); var h = el.getAttribute("ss_height"); var d = el.getAttribute("ss_delay"); var t = el.getAttribute("ss_type"); if (w == null) w = 100; if (h == null) h = 100; if (d == null) d = 3000; if (t == null) t = "down"; if (t == "down") new dropinslideshow(aImages, w, h, d, el); } } } /****************************** * This is the Paging stuff * ******************************/ var PagingUtils = { writePagingLinks: function (count) { var frm; for(var i = 0; i < document.forms.length; i++) { if (document.forms[i].ViewCount) { frm = document.forms[i]; break; } } if (!frm) return; if (count == null) count = "30"; var CLASS_NORM = "paginglink"; var CLASS_SEL = "paginglink paginglink_sel"; var SPACER = "  "; var sWrite = ""; var viewCount = BigSummitUtils.convertToNum(frm.ViewCount.value); var pageStart = BigSummitUtils.convertToNum(BigSummitUtils.getQsValue("Start","1")); var pageCount = BigSummitUtils.convertToNum(BigSummitUtils.getQsValue("Count",count)); var pageEnd = (pageStart - 1) + pageCount; var pageStartPrev = pageStart - pageCount; var pageStartNext = pageStart + pageCount; var pageStartFirst = 1; var pageStartLast = 1; var bShowFirst = false; var bShowPrev = false; var bShowNext = false; var bShowLast = false; if (pageStart > 1) { bShowFirst = bShowPrev = true; } if (pageEnd < viewCount) { bShowLast = bShowNext = true; } sWrite += STRINGS.PAGING.MAINLABEL; if (bShowFirst) { sWrite += "<<" + SPACER; } if (bShowPrev) { sWrite += "<" + SPACER; } sWrite += SPACER; var idxPage = 0; for (var i = 1; i <= viewCount; i+=pageCount) { idxPage++; pageStartLast = i; var thisclass = CLASS_NORM; if (pageStart >= i && pageStart < i + pageCount) { thisclass = CLASS_SEL; } sWrite += "" + idxPage + "" + SPACER; } sWrite += SPACER; if (bShowNext) { sWrite += ">" + SPACER; } if (bShowLast) { sWrite += ">>" + SPACER; } if (pageStartFirst != pageStartLast) { document.write(sWrite); } }, openPageLink: function (start, count) { window.location.href = this.getPageLink(start, count); }, writePageLink: function (start, count) { document.write(this.getPageLink(start, count)); }, getPageLink: function (start, count) { var loc = window.location.href; if (loc.indexOf("?") == -1) { loc += "?Open"; } loc = BigSummitUtils.replaceQsValue(loc, "Start", start); loc = BigSummitUtils.replaceQsValue(loc, "Count", count); return loc; } } var CookieUtils = { exists: function (name) { var ret = false; var ck = this.get(name); if (ck != null && ck != "") ret = true; return ret; }, get: function (name) { var cname = name + "="; var dc = document.cookie; if (dc.length > 0) { begin = dc.indexOf(cname); if (begin != -1) { begin += cname.length; end = dc.indexOf(";", begin); if (end == -1) end = dc.length; return unescape(dc.substring(begin, end)); } } return null; }, // Use this function to save a cookie. set: function (name, value, expires) { document.cookie = name + "=" + escape(value) + "; path=/" + ((expires == null) ? "" : "; expires=" + expires.toGMTString()); }, // Use this function to delete a cookie. deleteCookie: function (name) { document.cookie = name + "=; expires=Thu, 01-Jan-70 00:00:01 GMT" + "; path=/"; }, getExpireDate: function (nodays) { var UTCstring; Today = new Date(); nomilli=Date.parse(Today); Today.setTime(nomilli+nodays*24*60*60*1000); UTCstring = Today.toUTCString(); return UTCstring; } } //map javascript object function Map() { this.array = new Array(); } function KeyValue( key, value ) { this.key = key; this.value = value; } Map.prototype.put = function( key, value ) { if( ( typeof key != "undefined" ) && ( typeof value != "undefined" ) ) { var found = false; for( var k = 0 ; k < this.array.length ; k++ ) { if( this.array[k].key == key ) { this.array[k].value = value; found = true; break; } } if (!found) { this.array[this.array.length] = new KeyValue( key, value ); } } } Map.prototype.get = function( key ) { for( var k = 0 ; k < this.array.length ; k++ ) { if( this.array[k].key == key ) { return this.array[k].value; } } return null; } Map.prototype.length = function() { return this.array.length; }