
		// Globals
		var timerID = null;
		var IE = (navigator.appName.indexOf("Internet Explorer") > 0)? true: false;

		// Adds an option to a SELECT listbox
		function addOption(nSelectID, sText, sValue) {
			var bDefault = (addOption.arguments[3])?addOption.arguments[3]: false;
			var bSelected = (addOption.arguments[4])?addOption.arguments[4]: false;
			
			oSelect = document.getElementById(nSelectID);
			oOption = new Option(sText, sValue, bDefault, bSelected);
			oSelect.options[oSelect.length] = oOption;
		}
		
		function clearMsg() {
			sID = (clearMsg.arguments[0]) ? clearMsg.arguments[0] : 'msgGeneral';
			clearTimeout(timerID);
			document.getElementById(sID).innerHTML = '&nbsp;';
		}
		
		// Function called by pwdLength and pwdNumber functions
		function displayMsg(sMsg) {
			sID = (displayMsg.arguments[1]) ? displayMsg.arguments[1] : 'msgGeneral';
			clearMsg(sID);
			document.getElementById(sID).innerHTML = sMsg;
			// if you want the message to clear after 8 seconds unrem next line
			//timerID = setTimeout('clearMsg()', 8000);
		}
		
		function getIframe(sID) {
			if (IE)
				return document.frames[sID].document;
			else
				return document.getElementById(sID).contentDocument;
		}
		
		function getPostString(oForm) {
			var sPost = '';		
			for (i=0; i<oForm.elements.length; i++) {
				if (oForm.elements[i].name != '' && oForm.elements[i].tagName != 'FIELDSET') {
					if (oForm.elements[i].type == 'checkbox') {
						val = (oForm.elements[i].checked) ? 1 : 0;
						sPost += oForm.elements[i].name+'='+val+'&';
					} else if (oForm.elements[i].type == 'radio') {
						if (oForm.elements[i].checked)
							sPost += oForm.elements[i].name+'='+oForm.elements[i].value+'&';
					} else if (oForm.elements[i].type == 'select-multiple') {
						var sTemp = '';	
						for (j=0; j<oForm.elements[i].options.length; j++)
							sTemp += oForm.elements[i].options[j].value+',';
						sPost += oForm.elements[i].name+'='+sTemp.substr(0, sTemp.length-1)+'&';
					} else {						
						sPost += oForm.elements[i].name+'='+encodeURIComponent(oForm.elements[i].value)+'&';
					}
				}
			}
			return sPost.substr(0, sPost.length-1);			
		}

		// Returns true if password contains illegal characters
		// Add additional illegal chars between brackets
		function pwdIllegalChars(sPassword) {
			re = /['*&()]/;
			if (re.test(sPassword)) {
				displayMsg('Password contains illegal character(s)');
				return true;
			}
			return false;			
		}
		
		// Returns true if password meets the set length
		function pwdLength(sPassword) {
			if (sPassword.length < 8) {
				displayMsg('Password must be at least 8 characters.');
				return false;
			}
			return true;
		}
		
		// Returns true if password contains at least one number
		function pwdNumber(sPassword) {
			re = /[0-9]/; 
			if (!re.test(sPassword)) {
				displayMsg('Password must contain at least 1 number');
				return false;
			}
			return true;
		}

		// Reset warning labels that were set due to missing input
		function resetLabels() {
			oSPAN = document.getElementsByTagName("SPAN");
			for (i=0; i<oSPAN.length; i++) {
				if (oSPAN[i].className == 'lbl_warning')
					setClass(oSPAN[i].id, 'lbl_inform');
			}
			clearMsg();			
		}
		
		// Selects an Option in a Listbox
		function selectOption(sSelectID, sValue) {
			oSelect = document.getElementById(sSelectID);
			for (i=0; i<oSelect.options.length; i++) {
				if (oSelect.options[i].value == sValue) {
					oSelect.selectedIndex = i;
					break;
				}
			}
		}
		
		// Sets the className property of an HTML object
		function setClass(sID, sClass) {
			oEl = document.getElementById(sID);
			if (IE)
				oEl.setAttribute("className", sClass, 1);
			else {
				oEl.className = sClass;
			}
		}	
		
		// If you pass in a true argument it will set sPage = Null string
		function updateNavBar() {
			sPath = document.location.pathname;
			if (updateNavBar.arguments[0]) sPath = updateNavBar.arguments[0];
			sPage = 'admin_nav.asp?page=' + sPath.substr(sPath.lastIndexOf("/")+1);
			top.frames.nav.document.location.replace(sPage);
			//window.status = sPage;
		}
		
		function validateDate(oText) {
			re = /^(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[13-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/
			
			// Trim leading & trailing whitespace
			oText.value = oText.value.replace(/^[ \t]+|[ \t]+$/, '');
			if (oText.value == '') 
				return true;
						
			if (oText.value.search(re))
				return false;

			return true;
		}
		
		function blockKeys() {
			var event=window.event || blockKeys.arguments[0];
			
			// Block [, ]
			if (event.keyCode) {
				if (event.keyCode == 44)
					event.returnValue = false;
				else
					event.returnValue = true;
			} else {
				if (event.charCode == 44)
					return event.preventDefault();
				else
					return true;
			}
		}

		function verifyCurrency() {
			var event=window.event || verifyCurrency.arguments[0];
	
			// Allow [0-9 , . $]
			if (event.keyCode) {
				if (event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 44 || event.keyCode == 46 || event.keyCode == 36)
					event.returnValue = true;
				else
					event.returnValue = false;
			} 	else {
				if (event.charCode >= 48 && event.charCode <= 57 || event.charCode == 44 || event.charCode == 46 || event.charCode == 36)
					return true;
				else 
					event.preventDefault();
			}
		}			
		
		function verifyNumeric() {
			var event=window.event || verifyNumeric.arguments[0];
	
			// Allow [0-9 , .]
			if (event.keyCode) {
				if (event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 44 || event.keyCode == 46)
					event.returnValue = true;
				else
					event.returnValue = false;
			} 	else {
				if (event.charCode >= 48 && event.charCode <= 57 || event.charCode == 44 || event.charCode == 46)
					return true;
				else 
					event.preventDefault();
			}
		}			
		
		// Same as above but doesn't allow (,.)
		function verifyNumericOnly() {
			var event=window.event || verifyNumericOnly.arguments[0];
	
			// Allow [0-9]
			if (event.keyCode) {
				if (event.keyCode >= 48 && event.keyCode <= 57)
					event.returnValue = true;
				else
					event.returnValue = false;
			} 	else {
				if (event.charCode >= 48 && event.charCode <= 57)
					return true;
				else 
					event.preventDefault();
			}
		}	
		
		function verifyPhone() {
			var event=window.event || verifyPhone.arguments[0];
	
			// Allow [0-9 .-() +]
			if (event.keyCode) {
				if (event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 32 || event.keyCode == 40 || event.keyCode == 41 || event.keyCode == 45 || event.keyCode == 46 || event.keyCode == 43)
					event.returnValue = true;
				else
					event.returnValue = false;
			} 	else {
				if (event.charCode >= 48 && event.charCode <= 57 || event.charCode == 32 || event.charCode == 40 || event.charCode == 41 || event.charCode == 45 || event.charCode == 46 || event.charCode == 43)
					return true;
				else 
					event.preventDefault();
			}
		}			

		