/***************************************************
 * Copyright © 2006 David Hoyt. All rights reserved. 
 *	Permission for use by All Things Insurance.
 ***************************************************/

function lib() { }

/* Copyright Macromedia */
lib.findObj = function(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=lib.findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

lib.swapImgRestore = function() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

lib.preloadImages = function() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=lib.preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

lib.swapImage = function() { //v3.0
  var i,j=0,x,a=lib.swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=lib.findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
} /**/
/* End copyright Macromedia */

lib.createElement = function(element) {
	/*if (typeof document.createElementNS != 'undefined') {
		return document.createElementNS('http://www.w3.org/1999/xhtml', 'html:' + element);
	} /**/
	if (typeof document.createElement != 'undefined') {
		return document.createElement(element);
	}
	return false;
}

lib.getObj = function(name) {
	if (document.getElementById) {
  		return document.getElementById(name);
	} else if (document.all) {
		return document.all[name];
	} else if (document.layers) {
		return __lib.getObjNN4(document,name);
	}
}

lib.getObjAndStyle = function(name) {
	if (document.getElementById) {
  		this.obj = document.getElementById(name);
		this.style = document.getElementById(name).style;
	} else if (document.all) {
		this.obj = document.all[name];
		this.style = document.all[name].style;
	} else if (document.layers) {
		this.obj = __lib.getObjNN4(document,name);
		this.style = this.obj;
	}
}

lib.getObjNN4 = function(obj, name) {
	var x = obj.layers;
	var foundLayer;
	for (var i=0;i < x.length;i++) {
		if (x[i].id == name)
		 	foundLayer = x[i];
		else if (x[i].layers.length)
			var tmp = __lib.getObjNN4(x[i],name);
		if (tmp) foundLayer = tmp;
	}
	return foundLayer;
}

/* See http://www.quirksmode.org/dom/getElementsByTagNames.html for usage instructions. */
lib.getElementsByTagNames = function(list, obj) {
	if (!obj) var obj = document;
	var tagNames = list.split(',');
	var resultArray = new Array();
	for (var i = 0; i < tagNames.length; i++) {
		var tags = obj.getElementsByTagName(tagNames[i]);
		for (var j = 0; j < tags.length; j++) {
			resultArray.push(tags[j]);
		}
	}
	if (resultArray.length > 0) {
		var testNode = resultArray[0];
		if (testNode.sourceIndex) {
			resultArray.sort(function (a,b) {
					return a.sourceIndex - b.sourceIndex;
			});
		} else if (testNode.compareDocumentPosition) {
			resultArray.sort(function (a,b) {
					return 3 - (a.compareDocumentPosition(b) & 6);
			});
		}
	}
	return resultArray;
}

lib.findPosX = function(obj) {
	var curleft = 0;
	if (typeof(obj.getX) == "function") return obj.getX();
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			if (obj.scrollLeft)
				curleft -= obj.scrollLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.x)
		curleft += obj.x;
	return curleft;
}

lib.findPosY = function(obj) {
	var curtop = 0;
	if (typeof(obj.getY) == "function") return obj.getY();
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop;
			if (obj.scrollTop)
				curtop -= obj.scrollTop;
			obj = obj.offsetParent;
		}
	} else if (obj.y)
		curtop += obj.y;
	return curtop;
}


lib.createCookie = function(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

lib.readCookie = function(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

lib.eraseCookie = function(name) {
	lib.createCookie(name, "", -1);
}

lib.openWindow = function(url, name, width, height, showToolbar, isResizable, showStatusBar, showMenuBar, showScrollbars) {
	var options = "";
	options += "toolbar=" + (showToolbar ? 1 : 0);
	options += ",resizable=" + (isResizable ? 1 : 0);
	options += ",location=0,directories=0";
	options += ",status=" + (showStatusBar ? 1 : 0);
	options += ",menubar=" + (showMenuBar ? 1 : 0);
	options += ",scrollbars=" + (showScrollbars ? 1 : 0);
	options += ",width=" + width;
	options += ",height=" + height;
	var win = window.open(url,name,options);
	if (!win.opener) 
		win.opener = self;
	if (window.focus) 
		win.focus();
    return win;
}

lib.openPopup = function(url, name, width, height) {
	return lib.openWindow(url, name, width, height, false, true, false, false, true);
}

lib.addWindowOnload = function(func) {
	if (!lib.funcsWinOnload) lib.funcsWinOnload = new Array();
	lib.funcsWinOnload[lib.funcsWinOnload.length] = func;
}

if (typeof window.onload != "undefined")
	lib.origWindowOnload = window.onload;
	
window.onload = function(e) {
	/* Execute any pending onload functions... */
	if (typeof(lib.funcsWinOnload) != "undefined" && lib.funcsWinOnload && lib.funcsWinOnload != null)
		for(var i = 0; i < lib.funcsWinOnload.length; i++)
			lib.funcsWinOnload[i]();
	/* Execute the original onload function if it existed... */
	if (typeof(lib.origWindowOnload) != "undefined" && lib.origWindowOnload && lib.origWindowOnload != null)
			lib.origWindowOnload();
}
