	var winObj = new Array();
	var winRef = new Array();
	var winCount = 0;
		
	// open or set focus to a window
	function PopupOpen(sURL, sName, sID, sWidth, sHeight, sToolbar, sScrollbar) {
		var i
		if(sToolbar!='yes') sToolbar = 'no'
		// if(sScrollbar!='no') sScrollbar = 'no'
		var sProperties = 'scrollbars=' + sScrollbar + ',status=no,location=no,menubar=no,toolbar=' + sToolbar + ',resizable=no,width=' + sWidth + ',height=' + sHeight;
		var win=null;
		// search for an existing window of that name
		if (winCount>0) {
			for (i=0;i<winCount;i++) {
				if (winRef[i]==sName) {
					win=winObj[i];
					break;
				};
			};
		};
		if (sURL.search(/\?/) == -1)
			sURL += '?WindowMode=CONSOLE&Console=1'
		else
			sURL += '&WindowMode=CONSOLE&Console=1';
				
		// if found, show it or recreate it, otherwise add it to the list of popups and show it
		if (win) {
			if (!win.closed) {
				win.focus()
				win.location=sURL;
			}
			else {
				win=window.open(sURL, sName, sProperties);
				winObj[i]=win;
				win.focus()
			}
		}
		else {
			win = window.open(sURL, sName, sProperties);
			winObj[winCount]=win;
			winRef[winCount]=sName;
			winCount++;
			win.focus()
		};
		//return win;
	};
		
	// close the window sName, if any
	function PopupClose(sName) {
		var win=null;
		// search for an existing window of that name
		if (winCount>0) {
			for (i=0;i<winCount;i++) {
				if (winRef[i]==sName || sName=='') {
					win=winObj[i];
					win.close();
					if (sName!='') break;
				};
			};
		};
	};

	function newImage(arg)
	{
		if(document.images)
		{
			rslt = new Image();
			rslt.src = arg;
			return rslt;
		}
	}
	
	function changeImages()
	{
		if(document.images && (preloadFlag == true))
		{
			for (var i = 0; i < changeImages.arguments.length; i+=2)
			{
				document[changeImages.arguments[i]].src = changeImages.arguments[i + 1];
			}
		}
	}
	
	var preloadFlag = false;
	function preloadImages()
	{
//		if(document.images)
//		{
//			arrow_over = newImage("<% = g_sRedir %>media/images/arrow_hl.gif");
//			search_over = newImage("<% = g_sRedir %media/images/icons/general/search-arrow_hl.gif");
//			preloadFlag = true;
//		}
	}
	
	function menuItem(cell, blnShow)
	{
		if (blnShow == true)
		{
			cell.bgColor = '#D3E3E8';
		}
		else
		{
			cell.bgColor = '#E9F0F4';
		}
	}
	
	// Place the focus to the first form field...
	function placeFocus()
	{
		if (document.forms.length > 0)
		{
			var field = document.forms[0];
			for (i = 0; i < field.length; i++)
			{
				if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s"))
				{
					document.frmName.elements[i].focus();
					break;
				}
			}
		}
	}

	function mnuOn(strID)
	{
		var objImg = document.getElementById(strID);
		objImg.src = "/BourneLeisure/media/images/icons/menu/m_" + strID + "_HL.gif";
		var objLink = document.getElementById(strID + "Link");
		objLink.style.color = "#FFB310";
	}
			
	function mnuOff(strID)
	{
		var objImg = document.getElementById(strID);
		objImg.src = "/BourneLeisure/media/images/icons/menu/m_" + strID + ".gif";
		var objLink = document.getElementById(strID + "Link");
		objLink.style.color = "#707070";
	}
		
	function validateSearch()
	{
		if(document.frmSearch.frmSearchBox.value=="")
		{
			alert("Please input valid search criteria");
			document.frmSearch.frmSearchBox.focus();
		}
		else
		{
			document.frmSearch.submit();
		}
	}

	function checkLogin() {
		var strUNme = Trim(document.frmName.frmUsername.value);
		var strPWrd = Trim(document.frmName.frmPassword.value);
		var strURL = "Libs/Functions/ASP/loginX.asp";

		if ((strUNme.length > 0) && (strPWrd.length > 0)) {
			document.frmName.action = strURL;
			document.frmName.submit();
		}
		else if (strUNme.length > 0) {
			alert("You must enter a password to login.");
			//return false;
		}
		else if (strUNme.length > 0) {
			alert("You must enter a username to login.");
			//return false;
		}
		else {
			alert("You must enter a username & password to login.");
			//return false;
		}
	}

	function Trim(str) {
		return str.replace(/^\s*|\s*$/g, "");
	}

		
	function checkStartEndDates(strFld1, strFld2, strType, strExitFunction, strErrMsg)
	{		
		var currDate 	= new Date();
		
		alert(strFld1)
		
		switch(strType)
		{
			// Date Field 1 is LESS THAN Date Field 2... 
			case "DTFLD1LTFLD2":			
				var objFld1		= eval("document.frmName." + strFld1 + "Hidden");
				var objFld2		= eval("document.frmName." + strFld2 + "Hidden");
				
				var strDte1	= objFld1.value;
				var strDte2	= objFld2.value;
				
				strDte1 = strDte1.toString();
				strDte2 = strDte2.toString();
				
				var arrDte1	= strDte1.split("/");
				var arrDte2	= strDte2.split("/");
				
				var startDate	= new Date(arrDte1[2], arrDte1[1] - 1, arrDte1[0]);
				var finishDate	= new Date(arrDte2[2], arrDte2[1] - 1, arrDte2[0]);
				
				//alert("Start Year : [" + arrDte1[2] + "].\nStart Month : [" + arrDte1[1] + "].\nStart Day : [" + arrDte1[0] + "].");
				//alert("Finish Year : [" + arrDte2[2] + "].\nFinish Month : [" + arrDte2[1] + "].\nFinish Day : [" + arrDte2[0] + "].");
				//alert("Start Date : [" + startDate + "].");
				//alert("Finish Date : [" + finishDate + "].");
				
				break;
				
			// Date & Time Field 1 is LESS THAN Date & Time Field 2... 
			case "DTMFLD1LTFLD2":			
				var objFld1		= eval("document.frmName." + strFld1 + "Hidden");
				var objFld2		= eval("document.frmName." + strFld2 + "Hidden");
				var objFld3		= eval("document.frmName." + strFld1 + "Hours");
				var objFld4		= eval("document.frmName." + strFld1 + "Minutes");
				var objFld5		= eval("document.frmName." + strFld2 + "Hours");
				var objFld6		= eval("document.frmName." + strFld2 + "Minutes");
				
				var strDte1	= objFld1.value;
				var strDte2	= objFld2.value;
				
				strDte1 = strDte1.toString();
				strDte2 = strDte2.toString();
				
				var arrDte1	= strDte1.split("/");
				var arrDte2	= strDte2.split("/");
				
				var startDate	= new Date(arrDte1[2], arrDte1[1] - 1, arrDte1[0], objFld3.value, objFld4.value);
				var finishDate	= new Date(arrDte2[2], arrDte2[1] - 1, arrDte2[0], objFld5.value, objFld6.value);
				
				//alert("Start Year : [" + arrDte1[2] + "].\nStart Month : [" + arrDte1[1] + "].\nStart Day : [" + arrDte1[0] + "].");
				//alert("Finish Year : [" + arrDte2[2] + "].\nFinish Month : [" + arrDte2[1] + "].\nFinish Day : [" + arrDte2[0] + "].");
				//alert("Start Date : [" + startDate + "].");
				//alert("Finish Date : [" + finishDate + "].");
				
				break;
				
			// Time Field 1 is LESS THAN Time Field 2... 
			case "TMDLD1LTFLD2":
				var objFld1Hrs		= eval("document.frmName." + strFld1 + "Hours");
				var objFld1Min		= eval("document.frmName." + strFld1 + "Minutes");
				var objFld2Hrs		= eval("document.frmName." + strFld2 + "Hours");
				var objFld2Mins		= eval("document.frmName." + strFld2 + "Minutes");
				
				var startDate	= new Date(currDate.getYear(), currDate.getMonth(), currDate.getDate(), objFld1Hrs.value, objFld1Min.value);
				var finishDate	= new Date(currDate.getYear(), currDate.getMonth(), currDate.getDate(), objFld2Hrs.value, objFld2Mins.value);
				
				break;
							
		}		
		
		if (startDate < finishDate)
		{
			if (strExitFunction == true)
			{
				return true;	
			}
			else
			{				
				validate();
			}
		}
		else
		{			
			if (strExitFunction == true)
			{
				return false;
			}
			else
			{			
				alert(strErrMsg);			
			}
		}
			
	}
	
	function SwapListTabs(strTarget)
	{
		document.frmList.PageNo.value = 1;
		document.frmList.action = strTarget;
		document.frmList.submit();
	}
	