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;
}