var listItems		= new Array();

function toggle(ID)
{
	if(ID == currentID)
	{
		min(ID);
	}
	else
	{
		if(currentID != "")
		{
			min(currentID);
		}
		max(ID);
	}
	return false;
}

function min(categoryID)
{
	var obj		= $(categoryID);
	obj.style.display = 'none';
	currentID	= "";
}

function max (categoryID)
{
	var obj		= $(categoryID);
	obj.style.display = 'block';
	currentID	= categoryID;
}

function verifyForm(pgForm)
{
	var errMsgs		= new Array();
	var reqMsgSet	= false;
	stdBG			= "#ffffff";
	highliteBG		= "#fff3c8";
	var formSubmit	= '';
	for(var i = 0; i < pgForm.elements.length; i++)
	{
		if(!formSubmit)
		{
			if((pgForm.elements[i].type == 'checkbox')||(pgForm.elements[i].type == 'radio'))
			{
				if(pgForm.elements[i].checked){formSubmit = pgForm.elements[i].name+'='+(pgForm.elements[i].value);}
				
			}else{
				if(pgForm.elements[i].className.indexOf('noSubmit') == -1)
				{
					var fieldData	= escape(pgForm.elements[i].value.replace("&", "AMP"));
					formSubmit		= pgForm.elements[i].name+'='+(fieldData);
				}
			}
		}else{
			if((pgForm.elements[i].type == 'checkbox')||(pgForm.elements[i].type == 'radio'))
			{
				if(pgForm.elements[i].checked){formSubmit += '&'+ pgForm.elements[i].name+'='+(pgForm.elements[i].value);}
			}else{
				if(pgForm.elements[i].className.indexOf('noSubmit') == -1)
				{
					var fieldData	= escape(pgForm.elements[i].value.replace("&", "AMP"));
					formSubmit		+= '&'+pgForm.elements[i].name+'='+(fieldData);
				}
			}
		}
		if(pgForm.elements[i].className.indexOf('required') != -1)
		{
			if(pgForm.elements[i].className.indexOf('email') != -1)
			{
				if(isValidEmail(pgForm.elements[i].value) == false)
				{
					errMsgs.push(pgForm.elements[i].name);
				}
			}
			else if((pgForm.elements[i].type == 'radio') || (pgForm.elements[i].type == 'checkbox'))
			{
				if(buttonChecked != pgForm.elements[i].name)
				{
					var checkRadio	= validateCheckRadio(pgForm, pgForm.elements[i].name);
					if(checkRadio == false)
					{
						errMsgs.push(pgForm.elements[i].name);
					}
				}
			}else{
				if(pgForm.elements[i].value == '')
				{
					errMsgs.push(pgForm.elements[i].name);
				}
			}
		}
	}
	for(var j = 0; j < pgForm.elements.length; j++)
	{
		if(pgForm.elements[j].className.indexOf('required') != -1)
		{
			var resetField	= pgForm.elements[j].name;
			if(isCheckRadio(pgForm, resetField))
			{
				for(var k = 0; k < pgForm.elements[resetField].length; k++)
				{
					if(pgForm.elements[resetField][k].parentElement)
					{
						pgForm.elements[resetField][k].parentElement.style.background = stdBG;
					}else{
						pgForm.elements[resetField][k].parentNode.style.background = stdBG;
					}
				}
			}
			else if(pgForm.elements[resetField].type == 'hidden')
			{
				if(pgForm.elements[resetField].parentElement)
				{
					pgForm.elements[resetField].parentElement.style.background = stdBG;
				}else{
					pgForm.elements[resetField].parentNode.style.background = stdBG;
				}
			}else{
				pgForm.elements[resetField].style.background = stdBG;
			}
		}
	}
	if(errMsgs.length > 0)
	{
		alert('Required Field(s) blank.\nPlease correct highlighted fields.');
		for(var i = 0; i < errMsgs.length; i++)
		{
			var fieldName	= errMsgs[i];
			if(isCheckRadio(pgForm, fieldName))
			{
				for(l = 0; l < pgForm.elements[fieldName].length; l++)
				{
					if(pgForm.elements[fieldName][l].parentElement)
					{
						pgForm.elements[fieldName][l].parentElement.style.background = highliteBG;
					}else{
						pgForm.elements[fieldName][l].parentNode.style.background = highliteBG;
					}
				}
			}
			else if(pgForm.elements[fieldName].type == 'hidden')
			{
				if(pgForm.elements[fieldName].parentElement)
				{
					pgForm.elements[fieldName].parentElement.style.background = highliteBG;
				}else{
					pgForm.elements[fieldName].parentNode.style.background = highliteBG;
				}
			}else{
				pgForm.elements[fieldName].style.background = highliteBG;
			}
		}
		return false;
	}
	return true;
}

function ajaxFormPost(pgForm, serverScript, targetDiv)
{
	var errMsgs		= new Array();
	pgReq					= new xmlRequest();
	var formSubmit	= null;
	targetObj			= $(targetDiv);
	stdBG					= "#ffffff";
	highliteBG			= "#fff3c8";
	for(var i = 0; i < pgForm.elements.length; i++)
	{
		if(!formSubmit)
		{
			if((pgForm.elements[i].type == 'checkbox')||(pgForm.elements[i].type == 'radio'))
			{
				if(pgForm.elements[i].checked){formSubmit = pgForm.elements[i].name+'='+(pgForm.elements[i].value);}
				
			}else{
				if(pgForm.elements[i].className.indexOf('noSubmit') == -1)
				{
					var fieldData	= escape(pgForm.elements[i].value.replace("&", "AMP"));
					formSubmit		= pgForm.elements[i].name+'='+(fieldData);
				}
			}
		}else{
			if((pgForm.elements[i].type == 'checkbox')||(pgForm.elements[i].type == 'radio'))
			{
				if(pgForm.elements[i].checked){formSubmit += '&'+ pgForm.elements[i].name+'='+(pgForm.elements[i].value);}
			}else{
				if(pgForm.elements[i].className.indexOf('noSubmit') == -1)
				{
					var fieldData	= escape(pgForm.elements[i].value.replace("&", "AMP"));
					formSubmit		+= '&'+pgForm.elements[i].name+'='+(fieldData);
				}
			}
		}
		if(pgForm.elements[i].className.indexOf('required') != -1)
		{
			if(pgForm.elements[i].className.indexOf('email') != -1)
			{
				if(isValidEmail(pgForm.elements[i].value) == false)
				{
					errMsgs.push(pgForm.elements[i].name);
				}
			}
			else if((pgForm.elements[i].type == 'radio') || (pgForm.elements[i].type == 'checkbox'))
			{
				if(buttonChecked != pgForm.elements[i].name)
				{
					var checkRadio	= validateCheckRadio(pgForm, pgForm.elements[i].name);
					if(checkRadio == false)
					{
						errMsgs.push(pgForm.elements[i].name);
					}
				}
			}else{
				if(pgForm.elements[i].value == '')
				{
					errMsgs.push(pgForm.elements[i].name);
				}
			}
		}
	}
	for(var j = 0; j < pgForm.elements.length; j++)
	{
		if(pgForm.elements[j].className.indexOf('required') != -1)
		{
			var resetField	= pgForm.elements[j].name;
			if(isCheckRadio(pgForm, resetField))
			{
				for(var k = 0; k < pgForm.elements[resetField].length; k++)
				{
					if(pgForm.elements[resetField][k].parentElement)
					{
						pgForm.elements[resetField][k].parentElement.style.background = stdBG;
					}else{
						pgForm.elements[resetField][k].parentNode.style.background = stdBG;
					}
				}
			}
			else if(pgForm.elements[resetField].type == 'hidden')
			{
				if(pgForm.elements[resetField].parentElement)
				{
					pgForm.elements[resetField].parentElement.style.background = stdBG;
				}else{
					pgForm.elements[resetField].parentNode.style.background = stdBG;
				}
			}else{
				pgForm.elements[resetField].style.background = stdBG;
			}
		}
	}
	if(errMsgs.length > 0)
	{
		alert('Required Field(s) blank.\nPlease correct highlighted fields.');
		for(var i = 0; i < errMsgs.length; i++)
		{
			var fieldName	= errMsgs[i];
			if(isCheckRadio(pgForm, fieldName))
			{
				for(l = 0; l < pgForm.elements[fieldName].length; l++)
				{
					if(pgForm.elements[fieldName][l].parentElement)
					{
						pgForm.elements[fieldName][l].parentElement.style.background = highliteBG;
					}else{
						pgForm.elements[fieldName][l].parentNode.style.background = highliteBG;
					}
				}
			}
			else if(pgForm.elements[fieldName].type == 'hidden')
			{
				if(pgForm.elements[fieldName].parentElement)
				{
					pgForm.elements[fieldName].parentElement.style.background = highliteBG;
				}else{
					pgForm.elements[fieldName].parentNode.style.background = highliteBG;
				}
			}else{
				pgForm.elements[fieldName].style.background = highliteBG;
			}
		}
		return false;
	}
	
	pgReq.open("POST", serverScript, true);
	pgReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded charset=UTF-8");
	pgReq.onreadystatechange = function()
	{
		if (pgReq.readyState == 4 && pgReq.status == 200)
		{
			if(pgReq.responseText.substr(0, 6) == "ERROR:")
			{
				alert(pgReq.responseText);
			}
			else if(pgReq.responseText.substr(0, 7) == "secCode")
			{
				var	refreshStr	= randomString(5);
				targetObj.src	='http://'+location.host+'/captcha.php?width=120&height=32&chars=6&refresh='+refreshStr;
				alert(pgReq.responseText.substr(7));
			}
			else if(pgReq.responseText.substr(0, 2) == "TR")
			{
				alert(pgReq.responseText.substr(3));
				var imgDisplay	= $('imgDisplay');
				var overLay		= $('overLay');
				closeOver(imgDisplay, overLay);
			}
			else if(pgReq.responseText.substr(0, 5) == "EVUD:")
			{
				alert(pgReq.responseText.substr(5));
				targetObj.innerHTML	= '';
			}
			else if(pgReq.responseText.substr(0, 11) == "PAGERETURN:")
			{
				targetObj.innerHTML	= pgReq.responseText.substr(11);
			}
			else if(pgReq.responseText.substr(0,2) == "OK")
			{
				alert(pgReq.responseText.substr(3));
				pgForm.reset();
			}else{
				alert(pgReq.responseText);
			}
		}
	}
	pgReq.send(formSubmit);
	return false;
}

function readState(tgtDiv)
{
	if(tgtDiv)
	{
		listItems.length	= 0;
		var	displayLists	= new Array();
		displayLists		= tgtDiv.getElementsByTagName('UL');
		for(var i = 0; i < displayLists.length; i++)
		{
			listItems.push(displayLists[i].id+','+displayLists[i].className);
		}
	}
}

function resetState()
{
	for(i = 0; i < listItems.length; i++)
	{
		var itemAttr	= listItems[i].split(",");
		if($(itemAttr[0]))
		{
			$(itemAttr[0]).className	= itemAttr[1];
		}
	}
}

function randomString(strLen) {
	var chars		= "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var randomStr	= '';
	for(var i = 0; i < strLen; i++)
	{
		var rnum = Math.floor(Math.random() * chars.length);
		randomStr += chars.substring(rnum,rnum+1);
	}
	return randomStr;
}

function boxDisplay(scriptURL, media, trgtDiv, boxWidth, boxHeight, caption)
{
	var overLay		= $('overLay');
	var imgDisplay	= $(trgtDiv);
	var	winWidth	= getWidth();
	var winHeight	= getHeight();

	if(media != 'html')
	{
		if(boxWidth > (winWidth * .8))
		{
			var oldWidth	= boxWidth;
			boxWidth		= winWidth * .8;
			var adjFactor	= boxWidth/oldWidth;
			boxHeight		= boxHeight * adjFactor;
		}
		if(boxHeight > (winHeight * .8))
		{
			var oldHeight	= boxHeight;
			boxHeight		= winHeight * .8;
			var hghtFactor	= boxHeight/oldHeight;
			boxWidth		= boxWidth * hghtFactor;
		}
	}
	var leftPos		= boxWidth/2;
	var topPos		= (boxHeight/2)+25;
	var divHeight	= (topPos*2);
	var imgUnderTop	= (boxHeight/1)+2;
	overHeight		= document.body.scrollHeight;
	overWidth		= document.body.scrollWidth;
	
	overLay.style.position		= 'absolute';
	overLay.style.top			= '0px';
	overLay.style.left			= '0px';
	overLay.style.width			= '100%';
	overLay.style.height		= overHeight+'px';
	overLay.style.opacity		= '.75';
	overLay.style.background	= '#ffffff';
	overLay.style.filter		= 'alpha(opacity:'+75+')';
	overLay.style.display		= 'block';
	
	var topOffset				= window.pageYOffset;
	imgDisplay.style.position	= 'absolute';
	imgDisplay.style.top		= '50%';
	imgDisplay.style.left		= '50%';
	if(typeof( window.pageYOffset ) == 'number')
	{
		var topOffset	= window.pageYOffset;
		var leftOffset	= window.pageXOffset;
	}
	else if( document.body && (document.body.scrollTop))
	{
		var topOffset	= document.body.scrollTop;
		var leftOffset	= document.body.scrollLeft;
	}
	else if( document.documentElement && (document.documentElement.scrollTop))
	{
		var topOffset	= document.documentElement.scrollTop;
		var leftOffset	= document.documentElement.scrollLeft;
	}

	if(topOffset > 0)
	{
		var topMargin	= topPos*-1 + parseInt(topOffset);
	}else{
		var topMargin	= topPos*-1;
	}
	if(leftOffset > 0)
	{
		var leftMargin	= leftPos*-1 - parseInt(leftOffset);
	}else{
		var leftMargin = leftPos*-1;
	}
	imgDisplay.style.margin		= topMargin+'px 0px 0px '+leftMargin+'px';
	imgDisplay.style.width		= boxWidth+'px';
	imgDisplay.style.height		= divHeight+'px';
	imgDisplay.style.minHeight	= divHeight+'px';
	imgDisplay.style.opacity	= '1';
	imgDisplay.style.background	= '#ffffff';
	imgDisplay.filter			= 'alpha(opacity:'+100+')';
	imgDisplay.style.display	= 'block';
	imgDisplay.style.border		= '3px solid #dcddde';
	
	if((media == 'vid')||(media == 'img'))
	{
		imgDisplay.style.background	= "#ffffff url(\'/graphics/loading.gif\') center center no-repeat";
		caption			= caption.replace(/\[/g, "<");
		caption			= caption.replace(/\]/g, " />");
		var capWidth				= (boxWidth*1)-95;
		if(media == 'vid')
		{
			imgDisplay.innerHTML = "<div id=\"videoPlay\"></div><div id=\"imgUnder\" style=\"position: absolute; top: "+imgUnderTop+"px; left: 0px; width: "+boxWidth+"px\"><div style=\"float:right; width: 50px; margin: 8px 12px 0px 8px;\" />[<a href=\""+location.href+"\" id=\"closeButton\">close</a>]</div><div class=\"boxCaption\" style=\"width:"+capWidth+"px;\">"+caption+"</div></div>";
			loadVideo('videoPlay', scriptURL, boxWidth, boxHeight);
			videoReady();
			$('closeButton').onclick = function()
			{
				return closeOver(imgDisplay, overLay);
			}
		}
		else if(media == 'img')
		{
			imgDisplay.innerHTML = "<img src=\""+scriptURL+"\" width=\""+boxWidth+"\" height=\""+boxHeight+"\" alt=\"\" /><div id=\"imgUnder\" style=\"position: absolute; top: "+imgUnderTop+"px; left: 0px; width: "+boxWidth+"px\"><img id=\"closeButton\" src=\"http://"+location.host+"/graphics/close.png\" height=\"20\" width=\"64\" style=\"float:right; margin: 8px 12px 0px 8px;\" /><div class=\"boxCaption\" style=\"width:"+capWidth+"px;\">"+caption+"</div></div>";
			$('closeButton').onclick = function()
			{
				return closeOver(imgDisplay, overLay);
			}
		}
	}
	else if(media == 'html')
	{
		imgDisplay.style.background	= "#ffffff";
		imgDisplay.innerHTML = "<div id=\"boxTop\" style=\"width: "+boxWidth+"px; overflow: auto;\"><a href=\"http://"+location.host+"\" onclick=\"return false\"><img id=\"closeButton\" src=\"http://"+location.host+"/graphics/close-x.gif\" height=\"20\" width=\"22\" style=\"float:right; margin: 0px 12px 0px 8px;\" alt=\"Close\" title=\"Close\" /></a><div class=\"boxCaption htmlBoxTop\" style=\"width:"+capWidth+"px;\">"+caption+"</div></div><div id=\"boxContent\"></div>";
		var boxReq	= new xmlRequest();
		boxReq.open("GET", scriptURL, true);
		boxReq.onreadystatechange = function()
		{
			if (boxReq.readyState == 4 && boxReq.status == 200)
			{
				$('boxContent').innerHTML	= boxReq.responseText+"";
				$('closeButton').onclick = function()
				{
					return closeOver(imgDisplay, overLay);
				}
			}
		}
		boxReq.send(null);
	}
	else if(media == 'gallery')
	{
		var boxReq	= new xmlRequest();
		boxReq.open("GET", scriptURL, true);
		boxReq.onreadystatechange = function()
		{
			if (boxReq.readyState == 4 && boxReq.status == 200)
			{
				var galleryData			= eval('(' + boxReq.responseText + ')');
				imgDisplay.innerHTML 	= "<img src=\""+galleryData.currentImg+"\" width=\""+boxWidth+"\" height=\""+boxHeight+"\" alt=\"\" /><div id=\"imgUnder\" style=\"position: absolute; top: "+imgUnderTop+"px; width: "+boxWidth+"px; left: 0px;\"><div style=\"float:right; width: 150px; margin: 8px 12px 0px 8px;\" /><a href=\"/eventGallery.php?image="+galleryData.prevgImgsrc+"&amp;imgID="+galleryData.prevImgID+"&amp;listFile="+galleryData.listFile+"\" onclick=\"return boxDisplay(this.href,  'gallery', 'imgDisplay', '"+galleryData.prevImgWidth+"', '"+galleryData.prevImgHeight+"', '"+galleryData.prevImgTitle+"');\"><img src=\"/graphics/prev-page.gif\" width=\"7\" height=\"7\"> previous</a> &nbsp; [<a href=\""+location.href+"\" id=\"closeButton\">close</a>] &nbsp; <a href=\"/eventGallery.php?image="+galleryData.nextImgsrc+"&amp;imgID="+galleryData.nextImgID+"&amp;listFile="+galleryData.listFile+"\" onclick=\"return boxDisplay(this.href,  'gallery', 'imgDisplay', '"+galleryData.nextImgWidth+"', '"+galleryData.nextImgHeight+"', '"+galleryData.nextImgTitle+"');\">next <img src=\"/graphics/next-page.gif\" width=\"7\" height=\"7\"></a></div><div id=\"caption\" style=\"padding: 8px;\">"+caption+"</div></div>";
				
				$('closeButton').onclick = function()
				{
					return closeOver(imgDisplay, overLay);
				}
			}
		}
		boxReq.send(null);
	}
	
	if(media != 'html')
	{
		overLay.onclick = function()
		{
			closeOver(imgDisplay, overLay);
		}
	}
	return false;
}

function closeOver(boxDisplay, overLay)
{
	boxDisplay.innerHTML		= "";
	boxDisplay.style.position	= 'static';
	boxDisplay.style.width		= '0px';
	boxDisplay.style.height		= '0px';
	boxDisplay.style.display	= 'none';
		
	overLay.style.position		= 'static';
	overLay.style.width			= '0px';
	overLay.style.height		= '0px';
	overLay.style.display		= 'none';
	return false;
}

function galleryDisplay(scriptURL, trgtDiv, boxWidth, boxHeight)
{
	var overLay		= $('overLay');
	var imgDisplay	= $(trgtDiv);
	var	winWidth	= getWidth();
	var winHeight	= getHeight();

	if(boxWidth > (winWidth * .8))
	{
		var oldWidth	= boxWidth;
		boxWidth		= winWidth * .8;
		var adjFactor	= boxWidth/oldWidth;
		boxHeight		= boxHeight * adjFactor;
	}
	if(boxHeight > (winHeight * .8))
	{
		var oldHeight	= boxHeight;
		boxHeight		= winHeight * .8;
		var hghtFactor	= boxHeight/oldHeight;
		boxWidth		= boxWidth * hghtFactor;
	}
	var leftPos		= boxWidth/2;
	var topPos		= (boxHeight/2)+25;
	var divHeight	= (topPos*2);
	var imgUnderTop	= (boxHeight/1)+2;
	overHeight		= document.body.scrollHeight;
	overWidth		= document.body.scrollWidth;
	
	overLay.style.position		= 'absolute';
	overLay.style.top			= '0';
	overLay.style.left			= '0';
	overLay.style.width			= '100%';
	overLay.style.height		= '100%';
	overLay.style.opacity		= '.85';
	overLay.style.background	= '#ffffff';
	overLay.style.filter		= 'alpha(opacity:'+85+')';
	overLay.style.display		= 'block';
	
	var topOffset				= window.pageYOffset;
	imgDisplay.style.position	= 'absolute';
	imgDisplay.style.top		= '50%';
	imgDisplay.style.left		= '50%';
	if(typeof( window.pageYOffset ) == 'number')
	{
		var topOffset	= window.pageYOffset;
		var leftOffset	= window.pageXOffset;
	}
	else if( document.body && (document.body.scrollTop))
	{
		var topOffset	= document.body.scrollTop;
		var leftOffset	= document.body.scrollLeft;
	}
	else if( document.documentElement && (document.documentElement.scrollTop))
	{
		var topOffset	= document.documentElement.scrollTop;
		var leftOffset	= document.documentElement.scrollLeft;
	}

	if(topOffset > 0)
	{
		var topMargin	= topPos*-1 + parseInt(topOffset);
	}else{
		var topMargin	= topPos*-1;
	}
	if(leftOffset > 0)
	{
		var leftMargin	= leftPos*-1 - parseInt(leftOffset);
	}else{
		var leftMargin = leftPos*-1;
	}
	imgDisplay.style.margin		= topMargin+'px 0px 0px '+leftMargin+'px';
	imgDisplay.style.width		= boxWidth+'px';
	imgDisplay.style.height		= divHeight+'px';
	imgDisplay.style.minHeight	= divHeight+'px';
	imgDisplay.style.opacity	= '1';
	imgDisplay.style.background	= '#ffffff';
	imgDisplay.filter			= 'alpha(opacity:'+100+')';
	imgDisplay.style.display	= 'block';
	imgDisplay.style.border		= '3px solid #dcddde';
	
	var boxReq	= new xmlRequest();
	boxReq.open("GET", scriptURL, true);
	boxReq.onreadystatechange = function()
	{
		if (boxReq.readyState == 4 && boxReq.status == 200)
		{
			var galleryData			= eval('(' + boxReq.responseText + ')');
			imgDisplay.innerHTML 	= "<img src=\"http://"+location.host+"/"+galleryData.currentImg+"\" width=\""+boxWidth+"\" height=\""+boxHeight+"\" alt=\""+galleryData.currentTitle+"\" title=\""+galleryData.currentTitle+"\" /><div id=\"imgUnder\" style=\"position: absolute; top: "+imgUnderTop+"px; width: "+boxWidth+"px; left: 0px;\"><div style=\"float:right; width: 150px; margin: 8px 12px 0px 8px;\" /><a href=\"/galleryDisp.php?imgID="+galleryData.prevImgID+"\" onclick=\"return galleryDisplay(this.href, 'imgDisplay', '"+galleryData.prevImgWidth+"', '"+galleryData.prevImgHeight+"');\"><img src=\"/graphics/prev-page.gif\" width=\"7\" height=\"7\" style=\"vertical-align: middle;\" alt=\"previous\" title=\"previous\" /> previous</a> &nbsp; [<a href=\""+location.href+"\" id=\"closeButton\">close</a>] &nbsp; <a href=\"/galleryDisp.php?imgID="+galleryData.nextImgID+"\" onclick=\"return galleryDisplay(this.href, 'imgDisplay', '"+galleryData.nextImgWidth+"', '"+galleryData.nextImgHeight+"');\">next  <img src=\"/graphics/next-page.gif\" width=\"7\" height=\"7\" style=\"vertical-align: middle;\" alt=\"next\" title=\"next\" /></a></div><div id=\"caption\" style=\"padding: 8px;\">"+galleryData.currentCaption+"</div></div>";
			
			$('closeButton').onclick = function()
			{
				return closeOver(imgDisplay, overLay);
			}
		}
	}
	boxReq.send(null);
	
	function closeOver(boxDisplay, overLay)
	{
		boxDisplay.style.position	= 'static';
		boxDisplay.style.width		= '0px';
		boxDisplay.style.height		= '0px';
		boxDisplay.style.display	= 'none';
		boxDisplay.innerHTML		= "";
		
		overLay.style.position		= 'static';
		overLay.style.width			= '0px';
		overLay.style.height		= '0px';
		overLay.style.display		= 'none';
		return false;
	}
	overLay.onclick = function()
	{
		closeOver(imgDisplay, overLay);
	}
	return false;
}

function getWidth()
{
	var winWidth = 0;
	if (self.innerHeight)
	{
		winWidth	= self.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	{
		winWidth	= document.documentElement.clientWidth;
	}
	else if (document.body)
	{
		winWidth	= document.body.clientWidth;
	}
	return winWidth;
}

function getHeight()
{
	var winHeight = 0;
	if (self.innerHeight)
	{
		winHeight = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	{
		winHeight = document.documentElement.clientHeight;
	}
	else if (document.body)
	{
		winHeight = document.body.clientHeight;
	}
	return winHeight;
}

function basicAjax(serverScript, tgtID)
{
	var	targetDiv	= $(tgtID);
	var basicReq	= new xmlRequest();
	basicReq.open("GET", serverScript, true);
	basicReq.onreadystatechange = function()
	{
		if(basicReq.readyState == 4 && basicReq.status == 200)
		{
			if(basicReq.responseText.substr(0, 6) == "ALERT:")
			{
				var alertString	= basicReq.responseText.substr(6, basicReq.responseText.indexOf("*")-6);
				alert(alertString);
				targetDiv.innerHTML	= basicReq.responseText.substr(basicReq.responseText.indexOf("*")+1);
			}else{
				targetDiv.innerHTML	= basicReq.responseText;
			}
		}
	}
	basicReq.send(null);
	return false;
}

function mailListInput(serverScript, divID)
{
	targetDiv	= $(divID);
	oldText		= targetDiv.innerHTML;
	targetDiv.innerHTML	= "<form name=\"mailListSignUp\" id=\"mailListSignUp\"><input name=\"emailInput\" id=\"emailInput\" type=\"text\" /></form>";
	emailInput	= $('emailInput');
	document.mailListSignUp.emailInput.focus();
	emailInput.onkeypress = function (event) 
	{
		event = event || window.event;
		if (event.keyCode == 13)
		{
			mailListSubmit(serverScript, divID)
					return false;
		}
	}
	return false;
}

function setPrompt(fieldID, phrase) 
{
	var emailField = $(fieldID);
	if (emailField.value == "") 
	{
		emailField.value = savedPhrase;
		savedPhrase	= '';
	}
}

function clearPrompt(fieldID, phrase)
{
	var message = $(fieldID);
	if (message.value == phrase)
	{
		savedPhrase	= message.value;
		message.value = "";
	}
}

function validateCheckRadio(pgForm, fieldName)
{
	var isChecked	= '';
	for(var k = 0; k < pgForm.elements[fieldName].length; k++)
	{
		if(pgForm.elements[fieldName][k].checked)
		{
			isChecked		= true
					buttonChecked	= fieldName;
			return isChecked;
		}else{
			isChecked		= false;
		}
	}
	buttonChecked	= fieldName;
	return isChecked;
}

function isCheckRadio(pgForm, obj) 
{
	if((pgForm.elements[obj][0]) && ((pgForm.elements[obj][0].type == 'radio') || (pgForm.elements[obj][0].type == 'checkbox')))
	{
		return true;
	}else{
		return false;
	}
}

function closeFrame(frameID, targetID)
{
	targetObj	= $(targetID);
	var frame = $(frameID);
	targetObj.innerHTML	= "";
	
}

function charCount(txtArea, fieldID, max)
{
	fieldID		= fieldID+'Chars';
	viewSpan	= $(fieldID);
	if(txtArea.value.length > max)
	{
		viewSpan.className	= 'warn';
	}else{
		viewSpan.className	= '';
	}
	var remainingChars	= max - txtArea.value.length;
	viewSpan.innerHTML	= remainingChars;
}

function showFullReview(textID, linkID)
{
	var reviewText	= $(textID);
	var openLink	= $(linkID);
	openLink.style.display		= 'none';
	reviewText.style.display	=  'inline';
}

function closeFullReview(textID, linkID)
{
	var reviewText	= $(textID);
	var openLink	= $(linkID);
	openLink.style.display		= 'inline';
	reviewText.style.display	= 'none';
}

function closeForm(targetID)
{
	targetObj	= $(targetID);
	targetObj.innerHTML	= oldText;
	return false;
}

function isValidEmail(email)
{
	email	= email.trim();
	if(email.search(/^[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i) == -1)
	{
		return false;
	}else{
		return true;
	}
}

function isValidPass(pass)
{
	pass	= pass.trim();
	if(pass.search(/[-a-zA-Z0-9]/) == -1)
	{
		return false;
	}else{
		return true;
	}
}
function $(id) 
{
	return document.getElementById(id);
}

String.prototype.trim = function()
{
	return this.replace(/^\s+|\s+$/g,"");
}

String.prototype.ltrim = function()
{
	return this.replace(/^\s+/,"");
}

String.prototype.rtrim = function()
{
	return this.replace(/\s+$/,"");
}

function xmlRequest()
{
	try
	{
		xmlHttp=new XMLHttpRequest();
	}catch(e){
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e){
				alert("Your browser is quite out-dated and does not support AJAX!");
			}
		}
	}
	return xmlHttp;
}

function confirmSubmit(serverScript, divID, phrase)
{
	var targetDiv		= $(divID);
	var confirmDelete	= confirm(phrase);
	if(confirmDelete == true)
	{
		var delReq	= new xmlRequest();
		delReq.open("GET", serverScript, true);
		delReq.onreadystatechange = function()
		{
			if(delReq.readyState == 4 && delReq.status == 200)
			{
				if(delReq.responseText.substr(0,9) == "DELETEOK:")
				{
					readState(targetDiv);
					targetDiv.innerHTML	= delReq.responseText.substr(9);
					resetState(targetDiv);
				}
				else if(delReq.responseText.substr(0, 6) == "ALERT:")
				{
					var alertString	= delReq.responseText.substr(6, delReq.responseText.indexOf("*")-6);
					alert(alertString);
					targetDiv.innerHTML	= delReq.responseText.substr(delReq.responseText.indexOf("*")+1);
				}else{
					targetDiv.innerHTML	= delReq.responseText;
				}
			}
		}
		delReq.send(null);
		return false;
	}else{
		return false;
	}
}

function createCookie(name,value,days) {
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}else{
		 expires = "";
	}
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(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;
}

Array.prototype.inArray = function (value)
{
	var i;
	for (i=0; i < this.length; i++)
	{
		if (this[i] === value){return true;}
	}
	return false;
}

function getElementbyClass(rootobj, classname)
{
	var temparray=new Array()
			var inc=0
			var rootlength=rootobj.length
			for (i=0; i<rootlength; i++)
	{
		if (rootobj[i].className==classname){temparray[inc++]=rootobj[i];}
	}
	return temparray
}

function Cookie(name)
{
	this.$name = name;  // Remember the name of this cookie
	var allcookies = document.cookie;
	
	if (allcookies == ""){return;}
	
	var cookies = allcookies.split(';');
	var cookie = null;
	
	for(var i = 0; i < cookies.length; i++)
	{
		cookies[i]	= cookies[i].trim();

		 // Does this cookie string begin with the name we want?
		if(cookies[i].substring(0, name.length+1) == (name + "="))
		{
			cookie = cookies[i];
			break;
		}
	}

	if (cookie == null){return;}
	var cookieval = cookie.substring(name.length+1);

	var a = cookieval.split('&'); // Break it into an array of name/value pairs
	for(var i=0; i < a.length; i++)
	{
		a[i] = a[i].split(':');
	}

	for(var i = 0; i < a.length; i++)
	{
		this[a[i][0]] = decodeURIComponent(a[i][1]);
	}
}

Cookie.prototype.store = function(daysToLive, path, domain, secure)
{
	var cookieval = "";
	for(var prop in this)
	{
        
		if ((prop.charAt(0) == '$') || ((typeof this[prop]) == 'function')){continue;}
		if (cookieval != ""){cookieval += '&';}
		cookieval += prop + ':' + encodeURIComponent(this[prop]);
	}

	var cookie = this.$name + '=' + cookieval;
	if (daysToLive || daysToLive == 0)
	{
		var date = new Date();
		date.setTime(date.getTime()+(daysToLive*24*60*60*1000));
		cookie += ";expires="+date.toGMTString();
	}

	if (path){cookie += ";path=" + path;}
	if (domain){cookie += ";domain=" + domain;}
	if (secure){cookie += ";secure";}
	
	document.cookie = cookie;
}

Cookie.prototype.remove = function(path, domain, secure)
{
    // Delete the properties of the cookie
	for(var prop in this)
	{
		if (prop.charAt(0) != '$' && typeof this[prop] != 'function')
		delete this[prop];
	}

	// Then, store the cookie with a lifetime of 0
	this.store(0, path, domain, secure);
}

Cookie.enabled = function( )
{

	if (navigator.cookieEnabled != undefined) return navigator.cookieEnabled;
	if (Cookie.enabled.cache != undefined) return Cookie.enabled.cache;

	document.cookie = "testcookie=test; max-age=10000";  // Set cookie

    // Now see if that cookie was saved
	var cookies = document.cookie;
	if(cookies.indexOf("testcookie=test") == -1)
	{
        // The cookie was not saved
		return Cookie.enabled.cache = false;
	}else{
		// Cookie was saved, so we've got to delete it before returning
		document.cookie = "testcookie=test; max-age=0";  // Delete cookie
		return Cookie.enabled.cache = true;
	}
}

function bookmarkPage(url, title)
{
	if (window.sidebar)
	{
		alert("Please press Ctrl+D to bookmark this page.");
	}
	else if(window.opera && window.print)
	{
		alert("Please press Ctrl+T to bookmark this page.");
	}
	else if(window.external)
	{
		window.external.AddFavorite(url, title);
	}
	return false;
}

function varitext(text)
{
	text=document;
	print(text);
	return false;
}

