function common() {
	this.oBase = function() {
		this.pageDebugger = function(activate) {
			var divElm = null;

			if (activate) {
				divElm = document.createElement("div");
				divElm.setAttribute("name", "DEBUG_MESSAGE");
				divElm.setAttribute("id", "DEBUG_MESSAGE");
				divElm.style.width = '350px';
				divElm.style.height = '300px';
				divElm.style.position = 'absolute';
				divElm.style.borderStyle = 'solid';
				divElm.style.borderWidth = '2px';
				divElm.style.borderColor = 'black';
				divElm.style.backgroundColor = 'white';
				divElm.style.zIndex = '10000';
				document.body.appendChild(divElm);
			}

			if (!divElm) { return; }

			var tblElm = '<table style="width:100%;height:100%;">' + 
						 '<tr><th style="cursor:move;height:25px;background-color:black;color:white;">Debug Windows</th></tr>' + 
						 '<tr><td style="width=100%;height=100%" valign="middle" align="center" id="DEBUG_MESSAGE_CONTAINER"></td></tr>' +
						 '</table>';

			divElm.innerHTML = tblElm;
		}
  
		this.pageUnderConstruction = function(image) {
			var divElem1 = document.createElement("div");
			divElem1.setAttribute("name", "PAGE_UNDERCONSTRUCTION");
			divElem1.setAttribute("id", "PAGE_UNDERCONSTRUCTION");
			
			var divElem2 = document.createElement("div");
			divElem2.setAttribute("name", "PAGE_UNDERCONSTRUCTION_MESSAGE");
			divElem2.setAttribute("id", "PAGE_UNDERCONSTRUCTION_MESSAGE");
			
			var tableBegin = '<table style="width:100%;height:100%;"><tr><td width="100%" valign="middle" align="center">';
			var tableEnd = '</td></tr></table>';
			var imageTag = '';
			
			if (image != null && image != "") {
				imageTag = '<img src="' + image + '" /><br/>';
			}
			
			divElem2.innerHTML = tableBegin + imageTag + tableEnd;
			
			document.body.appendChild(divElem1);
			document.body.appendChild(divElem2);
			
			divElem1 = document.getElementById("PAGE_UNDERCONSTRUCTION");
			divElem2 = document.getElementById("PAGE_UNDERCONSTRUCTION_MESSAGE");
			
			if (divElem1 != null && divElem2 != null) {
				divElem1.style.height = '100%';
				divElem1.style.width = '570px';
				
				var img = new Image();
				img.src = image;
				
				divElem2.style.height = document.body.offsetHeight / 8;
				divElem2.style.width = document.body.offsetWidth / 2;
				divElem2.style.top = parseInt(divElem1.style.height / 2) + 'px';
				divElem2.style.left = parseInt(divElem1.style.width / 2) + 'px';
			}
		}
		
		this.pageLoading = function(image, message, widthOfObject) {
			if (!widthOfObject) { widthOfObject = 550; }
			
			var divElem1 = document.createElement("div");
			divElem1.setAttribute("name", "PAGE_LOADING");
			divElem1.setAttribute("id", "PAGE_LOADING");

			//divElem1.style.height = this.getDocumentSize()['Y'] + 'px';
			divElem1.style.height = '3000px'; // Change to dynamic!!

			divElem1.style.width = this.getDocumentSize()['X'] + 'px';
			divElem1.style.top = this.getScrollPosition()['Y'] + 'px';

			var divElem2 = document.createElement("div");
			divElem2.setAttribute("name", "PAGE_LOADING_MESSAGE");
			divElem2.setAttribute("id", "PAGE_LOADING_MESSAGE");

			var tableBegin = '<table style="width:100%;height:100%;"><tr><td style="width=100%;height=100%" valign="middle" align="center">';
			var tableEnd = '</td></tr></table>';
			var imageTag = '';

			if (image != null && image != "") {
				imageTag = '<img src="' + image + '" style="margin-bottom:5px;" /><br/>';
			}

			if (message == null || message == "") {
				divElem2.innerHTML = tableBegin + imageTag + '<font class="head1">... L O A D I N G ...</font>' + tableEnd;
			}
			else {
				divElem2.innerHTML = tableBegin + imageTag + message + tableEnd;
			}

			document.body.appendChild(divElem1);
			document.body.appendChild(divElem2);

			divElem1 = document.getElementById("PAGE_LOADING");
			divElem2 = document.getElementById("PAGE_LOADING_MESSAGE");

			if (divElem1 != null && divElem2 != null) {
				divElem2.style.width = (widthOfObject / 2) + 'px';
				divElem2.style.left = (widthOfObject / 4) + 'px';
				divElem2.style.top = this.getScrollPosition()['Y'] + 200 + 'px';
				divElem2.zIndex = '1000';
			}

			if (common.browser.ie60) {
				var ifElm = document.createElement("iframe");
				ifElm.style.width = divElem2.offsetWidth;
				ifElm.style.height = divElem2.offsetHeight;
				ifElm.style.backgroundColor = '#ffffff';
				ifElm.style.position = 'absolute';
				ifElm.style.left = divElem2.style.left;
				ifElm.style.top = divElem2.style.top;
				ifElm.frameBorder = '0';
				ifElm.zIndex = '999';
				ifElm.id = 'PAGE_LOADING_MESSAGE_IFRAME';

				var anchorElm = document.getElementById("PAGE_LOADING_MESSAGE");

				document.body.insertBefore(ifElm, anchorElm.previousSibling);
			}
		}
		
		this.removePageLoading = function() {
			var elem = null;

			elem = document.getElementById("PAGE_LOADING_MESSAGE");
			if (elem != null) { elem.parentNode.removeChild(elem); }

			elem = document.getElementById("PAGE_LOADING");
			if (elem != null) { elem.parentNode.removeChild(elem); }

			if (common.browser.ie60) {
				var anchorElm = document.getElementById("PAGE_LOADING_MESSAGE_IFRAME");
				document.body.removeChild(anchorElm);
			}
		}
  		
		this.showCurrentPage = function() {
			var elem = null;

			elem = document.getElementById("PAGE_UNDERCONSTRUCTION_MESSAGE");
			if (elem != null) { elem.parentNode.removeChild(elem); }

			elem = document.getElementById("PAGE_UNDERCONSTRUCTION");
			if (elem != null) { elem.parentNode.removeChild(elem); }

			if (common.browser.ie60) {
				var anchorElm = document.getElementById("PAGE_UNDERCONSTRUCTION_MESSAGE_IFRAME");
				document.body.removeChild(anchorElm);
			}
		}
		
		this.hideCurrentPage = function(html) {
			var widthOfObject = document.body.offsetWidth;
			
			var divElem1 = document.createElement("div");
			divElem1.setAttribute("name", "PAGE_UNDERCONSTRUCTION");
			divElem1.setAttribute("id", "PAGE_UNDERCONSTRUCTION");
			
			divElem1.style.width = this.getDocumentSize()['X'] + 'px';
			divElem1.style.top = this.getScrollPosition()['Y'] + 'px';
			divElem1.zIndex = '999';
			
			var divElem2 = document.createElement("div");
			divElem2.setAttribute("name", "PAGE_UNDERCONSTRUCTION_MESSAGE");
			divElem2.setAttribute("id", "PAGE_UNDERCONSTRUCTION_MESSAGE");

			var tableBegin = '<table style="width:100%;height:100%;"><tr><td style="width=100%;height=100%" valign="middle" align="center">';
			var tableEnd = '</td></tr></table>';
			
			document.body.appendChild(divElem1);
			document.body.appendChild(divElem2);

			divElem1 = document.getElementById("PAGE_UNDERCONSTRUCTION");
			divElem2 = document.getElementById("PAGE_UNDERCONSTRUCTION_MESSAGE");

			divElem2.innerHTML = tableBegin + html + tableEnd;

			if (divElem1 != null && divElem2 != null) {
				divElem2.style.width = '300px';
				divElem2.style.left = parseInt((widthOfObject - 300) / 2) + 'px';
				divElem2.style.top = '20%';
				divElem2.zIndex = '1000';
			}
			
			if (common.browser.ie60) {
				var ifElm = document.createElement("iframe");
				ifElm.style.width = divElem2.offsetWidth;
				ifElm.style.height = divElem2.offsetHeight;
				ifElm.style.backgroundColor = '#ffffff';
				ifElm.style.position = 'absolute';
				ifElm.style.left = divElem2.style.left;
				ifElm.style.top = divElem2.style.top;
				ifElm.frameBorder = '0';
				ifElm.zIndex = '999';
				ifElm.id = 'PAGE_UNDERCONSTRUCTION_MESSAGE_IFRAME';

				var anchorElm = document.getElementById("PAGE_UNDERCONSTRUCTION_MESSAGE");

				document.body.insertBefore(ifElm, anchorElm.previousSibling);
			}
		}
		
		this.getScrollBarWidth = function() {
			var inner = document.createElement('p');
			inner.style.width = "100%";
			inner.style.height = "200px";

			var outer = document.createElement('div');
			outer.style.position = "absolute";
			outer.style.top = "0px";
			outer.style.left = "0px";
			outer.style.visibility = "hidden";
			outer.style.width = "200px";
			outer.style.height = "150px";
			outer.style.overflow = "hidden";
			outer.appendChild (inner);

			document.body.appendChild (outer);
			var w1 = inner.offsetWidth;
			outer.style.overflow = 'scroll';
			var w2 = inner.offsetWidth;
			if (w1 == w2) w2 = outer.clientWidth;

			document.body.removeChild (outer);

			return (w1 - w2);
		}
  
		this.getScrollWidth = function() {
			var w = window.pageXOffset ||
			document.body.scrollLeft ||
			document.documentElement.scrollLeft;

			return w ? w : 0;
		}
  
		this.getScrollHeight = function() {
			var h = window.pageYOffset ||
			document.body.scrollTop ||
			document.documentElement.scrollTop;

			return h ? h : 0;
		}
		
		this.getScrollPosition = function() {
			var obj = new Object();

			if (window.pageYOffset || window.pageXOffset) {
				obj['X'] = window.pageXOffset;
				obj['Y'] = window.pageYOffset;
			}
			else if (document.documentElement) {
				obj['X'] = document.documentElement.scrollLeft;
				obj['Y'] = document.documentElement.scrollTop;
			}
			else if (document.body) {
				obj['X'] = document.body.scrollLeft;
				obj['Y'] = document.body.scrollTop;
			}

			return obj;
		}
		
		this.getDocumentSize = function() {
			var obj = new Object();

			if (window.innerWidth || window.innerHeight) {
				obj['X'] = window.innerWidth;
				obj['Y'] = window.innerHeight;
			}
			else if (document.body) {
				obj['X'] = document.body.offsetWidth;
				obj['Y'] = document.body.offsetHeight;
			}
			else if (document.documentElement) {
				obj['X'] = document.documentElement.offsetWidth;
				obj['Y'] = document.documentElement.offsetHeight;
			}

			return obj;
		}
		
		this.getQueryString = function(key) {
			var arrQueryString = window.location.href.split("?");
			var returnString = "";
			if (arrQueryString.length-1 > 0) {
				var queryString = arrQueryString[1];
				var arrPairString = queryString.split("&");
				for (i=0;i<arrPairString.length;i++) {
					arrPiece = arrPairString[i].split("=");
					if (key == arrPiece[0]) returnString = arrPiece[1];
				}
			}
			return returnString;
		}
		
		this.scriptName = function () {
			var curUrl = window.location.href;
			return curUrl.substring(curUrl.lastIndexOf("/")+1);
		}
		
		this.scriptNameOnly = function() {
			var curUrl = window.location.href;
			curUrl = curUrl.substring(curUrl.lastIndexOf("/")+1);
			return curUrl.substring(0, curUrl.lastIndexOf("?"));
		}
		
		this.errorProvider = function(objName, state, message) {
			var elementName;
			
			if (objName.name) { elementName = "valid_" + objName.name; }
			else if (objName.id) { elementName = "valid_" + objName.id; }
			else { elementName = objName; }
			
			var validElement = document.getElementById(elementName);
			var debug = false;
			
			if (validElement != null) {
				if (state == 1) validElement.innerHTML = "<img src=\"" + dynPath + "member/images/ico-caution.gif\" border=\"0\" hspace=\"2\" alt=\"" + message + "\" title=\"" + message + "\">";
				else validElement.innerHTML = "";
			}
			else { if (debug) { alert("'" + elementName + "' element required!"); } }
		}
		
		this.openNewWindow = function(uri,wWidth,wHeight,scrollable) {
			var scrollbar = (scrollable != null ? ',scrollbars=' + scrollable : '');
			var currX, currY, wWidth, wHeight, posX, posY, newWin;
			if (navigator.appName.substr(0,1) == 'M') {
				currX = window.screenLeft;
				currY = window.screenTop;
				posX = (document.body.clientWidth - wWidth) / 2;
				posY = (document.body.clientHeight - wHeight) / 2;
			}
			else {
				currX = window.screenX;
				currY = window.screenY;
				posX = (window.innerWidth - wWidth) / 2;
				posY = (window.innerHeight - wHeight) / 2;
			}
			if ((currX + posX) > 0 && (currY + posY) > 0 && (currX + posX + wWidth) < screen.width && (currY + posY + wHeight) < screen.height && self == top) {
				posX += currX;
				posY += currY;
			}
			else {
				posX = (screen.width - wWidth) / 2;
				posY = (screen.height - wHeight) / 2;
			}
			newWin = window.open(uri,'','width=' + wWidth + ',height=' + wHeight + ',left=' + posX + ',top=' + posY + ',resizable=yes,status=yes' + scrollbar);
			return newWin;
		}
		
		this.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=/";
		}
		
		this.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;
		}
		
		this.eraseCookie = function(name) {
			createCookie(name,"",-1);
		}
		
		this.isValidEmail = function(email) {
			if (email.match(/^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/)) {
				return true;	
			}
			else {
				return false;
			}
		}
		
		this.containHTML = function(content) {
			if (content.match(/<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/)) { return true; }
			else { return false; }
		}
		
		this.replaceWhiteSpace = function(string, newChar) {
			return string.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\b\f\n\r\t]/gi, newChar);
		}
		
		this.isNumeric = function(numVal) {
			//var RegExp = /^(-)?(\d*)(\.?)(\d*)$/;
			var RegExp = /^[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?$/;
			var result = numVal.match(RegExp);
			return (result == null ? false : true);
		}
		
		this.setSelectList = function(elem, value, compareMode) {
			if (value.toString().indexOf("/") > -1) { value = value.substr(value.indexOf("/")+1,value.length); }
			switch (compareMode) {
				case "text" :
					for (i=0;i<elem.options.length;i++) {
						if (value == elem.options[i].text) { elem.selectedIndex = i; }
					}
					break;
				default :
					for (i=0;i<elem.options.length;i++) {
						if (value == elem.options[i].value) { elem.selectedIndex = i; }
					}
					break;
			}
		}
		
		this.resizeWindow = function(elemId) {
			if (browser.mozilla) {
				window.resizeTo(document.getElementById(elemId).offsetWidth, document.getElementById(elemId).offsetHeight);
			}
			else {
				window.innerWidth = document.getElementById(elemId).offsetWidth;
				window.innerHeight = document.getElementById(elemId).offsetHeight;
			}
		}
		
		this.loadFrame = function(url) { if (top == self) { self.location.href = url; } }
		
		this.getIFrameObject = function(eName) {
			if (document.all) { return window.frames[eName]; }
			else { return document.getElementById(eName).contentWindow; }
		}
		
		this.getDocumentObject = function(eName) {
			return this.getIFrameObject(eName).document;
		}
	}
	
	var base = {};
	this.base = new this.oBase();

	
	/*----------------------------------------------------------------------*/
	
	this.oFormat = function() {
		var separator = ",";
		var decpoint = ".";
		var percent = "%";
		var currency = "$";
		
		this.number = function(number, format) {
			if (number - 0 != number) return null;
			var useSeparator = format.indexOf(separator) != -1;
			var usePercent = format.indexOf(percent) != -1;
			var useCurrency = format.indexOf(currency) != -1;
			var isNegative = (number < 0);
			number = Math.abs (number);
			if (usePercent) number *= 100;
			format = this.strip(format, separator + percent + currency);
			number = "" + number;
			
			var dec = number.indexOf(decpoint) != -1;
			var nleftEnd = (dec) ? number.substring(0, number.indexOf(".")) : number;
			var nrightEnd = (dec) ? number.substring(number.indexOf(".") + 1) : "";
			
			dec = format.indexOf(decpoint) != -1;
			var sleftEnd = (dec) ? format.substring(0, format.indexOf(".")) : format;
			var srightEnd = (dec) ? format.substring(format.indexOf(".") + 1) : "";
		
			if (srightEnd.length < nrightEnd.length) {
				var nextChar = nrightEnd.charAt(srightEnd.length) - 0;
				nrightEnd = nrightEnd.substring(0, srightEnd.length);
				if (nextChar >= 5) nrightEnd = "" + ((nrightEnd - 0) + 1);
				
				while (srightEnd.length > nrightEnd.length) { nrightEnd = "0" + nrightEnd; }
		
				if (srightEnd.length < nrightEnd.length) {
					nrightEnd = nrightEnd.substring(1);
					nleftEnd = (nleftEnd - 0) + 1;
				}
			}
			else {
				for (var i=nrightEnd.length; srightEnd.length > nrightEnd.length; i++) {
					if (srightEnd.charAt(i) == "0") nrightEnd += "0";
					else break;
				}
			}
		
			sleftEnd = this.strip(sleftEnd, "#");
			
			while (sleftEnd.length > nleftEnd.length) { nleftEnd = "0" + nleftEnd; }
			
			if (useSeparator) nleftEnd = this.separate(nleftEnd, separator);
			
			var output = nleftEnd + ((nrightEnd != "") ? "." + nrightEnd : "");
			output = ((useCurrency) ? currency : "") + output + ((usePercent) ? percent : "");
			if (isNegative) { output = (useCurrency) ? "(" + output + ")" : "-" + output; }
			
			while (output.substr(0, 1) == "0" || output.substr(0, 1) == "," || output.substr(0, 1) == ".") { output = output.substr(1, output.length); }
			
			return output;
		}
		
		this.strip = function(input, chars) {
			var output = "";
			for (var i=0; i < input.length; i++)
			if (chars.indexOf(input.charAt(i)) == -1)
			output += input.charAt(i);
			return output;
		}
		
		this.separate = function(input, separator) {
			input = "" + input;
			var output = "";
			for (var i=0; i < input.length; i++) {
				if (i != 0 && (input.length - i) % 3 == 0) { output += separator; }
				output += input.charAt(i);
			}
			return output;
		}
		
		this.roundNumber = function(rnum) {
			var newnumber;
			var rlength = 2; // The number of decimal places to round to
			if (rnum > 8191 && rnum < 10485) {
				rnum = rnum-5000;
				newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
			}
			else { newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength); }
			return newnumber;
		}
	}
	
	var format = {};
	this.format = new this.oFormat();
	
	/*----------------------------------------------------------------------*/
	
	this.oOperatingSystem = function() {
		var aVersion = navigator.appVersion;
		this.mac = aVersion.indexOf("Macintosh") >= 0;
		this.win = aVersion.indexOf("Windows") >= 0;
		this.linux = aVersion.indexOf("X11") >= 0;	
	}
	
	var os = {};
	this.os = new this.oOperatingSystem();
	
	/*----------------------------------------------------------------------*/
	
	this.oBrowserInfo = function() {
		var aVersion = navigator.appVersion;
		var uAgent = navigator.userAgent;
		
		this.opera = uAgent.indexOf("Opera") >= 0;
		this.safari = aVersion.indexOf("Safari") >= 0;
		this.khtml = (aVersion.indexOf("Konqueror") >= 0) || (aVersion.indexOf("Safari") >= 0);
		this.mozilla = (uAgent.indexOf("Gecko") >= 0) && (!this.khtml);
		this.ie = (document.all) && (!this.opera);
		if (!this.ie) { this.ie = false; }
		this.ie50 = this.ie && aVersion.indexOf("MSIE 5.0")>=0;
		this.ie55 = this.ie && aVersion.indexOf("MSIE 5.5")>=0;
		this.ie60 = this.ie && aVersion.indexOf("MSIE 6.0")>=0 && aVersion.indexOf("MSIE 7.0")==-1;
		this.ie70 = this.ie && aVersion.indexOf("MSIE 7.0")>=0;
	}
	
	var browser = {};
	this.browser = new this.oBrowserInfo();
	
	/*----------------------------------------------------------------------*/
	
	this.oXmlHttp = function() {
		this.getXmlHttpObject = function() {
			var http = null;
			var last_e = null;
			var XMLHTTP_PROGIDS = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];
			try { http = new XMLHttpRequest(); } catch(e) {}
			if (!http) {
				for (var i=0; i<3; ++i) {
					var progid = XMLHTTP_PROGIDS[i];
					try { http = new ActiveXObject(progid); } 
					catch (e) { last_e = e; }
					
					if (http) { XMLHTTP_PROGIDS = [progid];break; }
				}
			}
		
			if (!http) { return dojo.raise("XMLHTTP not available", last_e); }
			
			return http;
		}
		
		this.requestGET = function(url, parameter, xmlHttpObj, hander) {
			if (xmlHttpObj != null) {
				xmlHttpObj.onreadystatechange = handler;
				xmlHttpObj.open("GET", url + parameter, true);
				xmlHttpObj.send(null);
			}
		}
		
		this.requestPOST = function(url, parameter, xmlHttpObj, handler) {
			if (xmlHttpObj != null) {
				xmlHttpObj.onreadystatechange = handler;
				if (browser.mozilla) {
					xmlHttpObj.onLoad = handler;
					xmlHttpObj.onError = handler;
				}
				xmlHttpObj.open("POST", url, true);
				xmlHttpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				xmlHttpObj.setRequestHeader("Content-length", parameter.length);
				xmlHttpObj.send(parameter);
			}
		}
	}
	
	var xmlHttp = {};
	this.xmlHttp = new this.oXmlHttp();
	
	/*----------------------------------------------------------------------*/
	
	this.oDom = function() {
		this.getNodeValue = function(elem) {
			if (elem == null) { return ""; }
			if (elem.firstChild) { return elem.firstChild.nodeValue; }
			else { return ""; }
		}
		
		this.getNode = function(elem, direction, requireNode) {
			var requireNode = (requireNode == null ? "" : requireNode.toUpperCase());
			switch (direction.toUpperCase()) {
				case "FORWARD" :
					if (requireNode == "") {
						while (elem.nodeName.toUpperCase() == "#TEXT") { elem = elem.nextSibling; }
					}
					else {
						while (elem.nodeName.toUpperCase() != requireNode) { elem = elem.nextSibling; }
					}
					return elem;
					break;
				case "REVERSE" :
					if (requireNode == "") {
						while (elem.nodeName.toUpperCase() == "#TEXT") { elem = elem.previousSibling; }
					}
					else {
						while (elem.nodeName.toUpperCase() != requireNode) { elem = elem.previousSibling; }
					}
					return elem;
					break;
				case "PARENT" :
					if (requireNode == "") { elem = elem.parentNode; }
					else {
						while (elem.nodeName.toUpperCase() != requireNode) { elem = elem.parentNode; }
					}
					return elem;
					break;
				case "CHILD" :
					if (requireNode == "") {
						elem = elem.childNodes.item(0);
						while (elem.nodeName.toUpperCase() == "#TEXT") { elem = elem.nextSibling; }
					}
					else {
						while (elem.nodeName.toUpperCase() != requireNode) {
							elem = elem.childNodes.item(0);
							if (elem.nodeName.toUpperCase() == "#TEXT") {
								while (elem.nodeName.toUpperCase() == "#TEXT") {
									elem = elem.nextSibling;
									if (elem.nodeName.toUpperCase() == requireNode) { return elem; }
								}
							}
						}
					}
					return elem;
					break;
			}
		}
		
		this.createInputElement = function(iType, iName, iValue) {
			var returnElem;
			returnElem = document.createElement("input");
			returnElem.type = iType;
			returnElem.name = iName;
			returnElem.value = iValue;
			returnElem.setAttribute("NAME", iName);
			return returnElem;
		}
	}
	
	var dom = {};
	this.dom = new this.oDom();
	
	/*----------------------------------------------------------------------*/
	
	this.oHideSource = function() {
		this.clickIE = function() { if (document.all) return false; }

		this.clickNS = function(e) {
			if (document.layers||(document.getElementById&&!document.all)) {
				if (e.which==2||e.which==3) return false;
			}
		}
		
		this.captureMousePosition = function(e) {
			if (document.layers) {
				curPosX = e.pageX;
				curPosY = e.pageY;
				curMaxPosX = window.innerWidth+window.pageXOffset;
				curMaxPosY = window.innerHeight+window.pageYOffset;
			}
			else if (document.all) {
				curPosX = window.event.x+document.body.scrollLeft;
				curPosY = window.event.y+document.body.scrollTop;
				curMaxPosX = document.body.clientWidth+document.body.scrollLeft;
				curMaxPosY = document.body.clientHeight+document.body.scrollTop;
			}
			else if (document.getElementById) {
				curPosX = e.pageX;
				curPosY = e.pageY;
				curMaxPosX = window.innerWidth+window.pageXOffset;
				curMaxPosY = window.innerHeight+window.pageYOffset;
			}
		}
		
		this.hide = function() {
			if (document.layers) {
				document.captureEvents(Event.MOUSEDOWN);
				document.onmousedown = this.clickNS;
				document.captureEvents(Event.MOUSEMOVE);
				document.onmousemove = this.captureMousePosition;
			}
			else if (document.all) {
				document.onmousemove = this.captureMousePosition;
				document.oncontextmenu = this.clickIE;
			}
			else if (document.getElementById) {
				document.onmouseup = this.clickNS;
				document.onmousemove = this.captureMousePosition;
			}
			
			document.oncontextmenu = new Function("return false");
		}
	}
	
	var hideSource = {};
	this.hideSource = new this.oHideSource();
	
	/*----------------------------------------------------------------------*/
	
	this.oRGB2HEX = function() {
		var RGB = new Array(256);
		var k = 0;
		var hex = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");

		for (var i=0;i<16;i++) {	
			for (var j=0;j<16;j++) {		
				RGB[k] = hex[i] + hex[j];
				k++;
			}
		}

		this.dropLeadingZeros = function(num) {
			while (num.charAt(0) == "0") {
				newTerm = num.substring(1, num.length);
				num = newTerm;
			}
			if (num == "") { num = "0"; }
			return num;
		}
		
		this.convert = function(rgbVal) {
			var result = rgbVal.match(/[0-9]{1,}/gi);
			if (result) { return '#' + RGB[result[0]] + RGB[result[1]] + RGB[result[2]]; }
			else { return null; }
		}
	}
	
	var RGB2HEX = {};
	this.RGB2HEX = new this.oRGB2HEX();
}
