function checkTell(form) {
	var addy=form.email.value;
	var check_prot = addy.indexOf('@');
	var check_dot = addy.indexOf('.');
	if ((check_prot == -1) || (check_dot == -1)) {
		form.email.focus();
	       	return false;
	       	}
   	return true;
  	}

function popUp(URL,w,h) {
	winl = (screen.width - w) / 2;
	wint = (screen.height - h) / 2;
	day = new Date();
	id = day.getTime();
	eval("eventPage" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,status=1,menubar=0,resizable=1,width="+w+",height="+h+",top="+wint+",left="+winl+"');");
	}


var offsetxpoint=-60;
var offsetypoint=20;



var ie=document.all;
var ns6=document.getElementById && !document.all;
var enabletip=false;
if (ie||ns6) { var tipobj=document.all? document.all["eventDetails"] : document.getElementById? document.getElementById("eventDetails") : "" }

function ietruebody(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
	}

function eventDetailsBox(theText){
	if (ns6||ie){
		tipobj.innerHTML=theText;
		enabletip=true;
		return false;
		}
	}

function positiontip(e){
	if (enabletip){
		var curX=(ns6)?e.pageX : event.x+ietruebody().scrollLeft;
		//var curY=(ns6)?e.pageY : event.y+ietruebody().scrollTop;
		var curY=(ns6)?e.pageY : event.y; //modified by William 11-03-09
		var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
		var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20

		var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000

		if (rightedge<tipobj.offsetWidth)
			tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px"
		else if (curX<leftedge)
			tipobj.style.left="5px"
		else
			tipobj.style.left=curX+offsetxpoint+"px"

		if (bottomedge<tipobj.offsetHeight)
			tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px"
		else
			tipobj.style.top=curY+offsetypoint+"px"
			tipobj.style.visibility="visible"
			}
	}

function hideEventDetailsBox(){
	if (ns6||ie){
		enabletip=false
		tipobj.style.visibility="hidden"
		tipobj.style.left="-1000px"
		tipobj.style.backgroundColor=''
		tipobj.style.width=''
		}
	}

document.onmousemove=positiontip

function trim(inputString) {
        if (typeof inputString != "string") { return inputString; }
   	var retValue = inputString;
   	var ch = retValue.substring(0, 1);
   	while (ch == " ") {
      		retValue = retValue.substring(1, retValue.length);
      		ch = retValue.substring(0, 1);
   		}
   	ch = retValue.substring(retValue.length-1, retValue.length);
   	while (ch == " ") {
      		retValue = retValue.substring(0, retValue.length-1);
      		ch = retValue.substring(retValue.length-1, retValue.length);
   		}
   	while (retValue.indexOf("  ") != -1) {
      		retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
   		}
   	return retValue;
	}

function checkSearch(form) {
	if (trim(form.criteria.value) == "") {
		form.criteria.focus();
		return false;
		}
	return true;
	}

function checkAdvSearch(form) {
	if (trim(form.title_criteria.value) == "" && trim(form.desc_criteria.value) == "" && trim(form.location_criteria.value) == "" && trim(form.contact_criteria.value) == "") {
		form.title_criteria.focus();
		return false;
		}
	return true;
	}

function checkLogin(form) {
	if (trim(form.username.value) == "") {
		form.username.focus();
		return false;
		}
	if (trim(form.password.value) == "") {
		form.password.focus();
		return false;
		}
	return true;
	}

function checkCreate(form) {
	if (trim(form.username.value) == "") {
		form.username.focus();
		return false;
		}
	if (trim(form.email.value) == "") {
		form.email.focus();
		return false;
		}
	if (form.email.value != "") {
	        var email=form.email.value;
	        var check_space = email.indexOf(' ');
	        var check_ast = email.indexOf('@');
	        var check_dot = email.indexOf('.');
	        if ((check_space != -1) || (check_ast == -1) || (check_dot == -1)) {
		         form.email.focus();
		         return false;
		         }
		}
	if (trim(form.password1.value) == "") {
		form.password1.focus();
		return false;
		}
	if (trim(form.password2.value) == "") {
		form.password2.focus();
		return false;
		}
	if (trim(form.password1.value) != trim(form.password2.value)) {
		form.password1.focus();
		return false;
		}
	return true;
	}

function checkQuestion(form) {
	if (form.email.value != "") {
	        var email=form.email.value;
	        var check_space = email.indexOf(' ');
	        var check_ast = email.indexOf('@');
	        var check_dot = email.indexOf('.');
	        if ((check_space != -1) || (check_ast == -1) || (check_dot == -1)) {
		         form.email.focus();
		         return false;
		         }
		}
	if (trim(form.question.value) == "") {
		form.question.focus();
		return false;
		}
	return true;
	}

function checkEvent(form) {
	
	// deleted by tmc 20070217 to add in checks for mandatory fields - start
	/*
	if (trim(form.eventTitle.value) == "") {
		form.eventTitle.focus();
		return false;
		}
	*/
	// deleted by tmc 20070217 to add in checks for mandatory fields - end
	
	// added by tmc 20070217 to add in checks for mandatory fields - start
	// Checks for the following mandatory fields i.e. 
	// event title, event description, event date, organiser and category
	var dataOK = "y";
	
	// for creation of new event
	if ( form.eventTitle ) {
		
		// check event category
		if ( (form.eventCategory) && (form.eventCategory.value == "0" ) ){
			var text = document.getElementById('EventCategoryErrorMsg');
			text.style.display = '';
			dataOK ="n";
			form.eventCategory.focus();
		} else {
			var text = document.getElementById('EventCategoryErrorMsg');
			text.style.display = 'none';		
		}
		
		// check event title.
		if ( (form.eventTitle) && (form.eventTitle.value == "" ) ){
			var text = document.getElementById('EventTitleErrorMsg');
			text.style.display = '';
			dataOK ="n";
			form.eventTitle.focus();
		} else {
			var text = document.getElementById('EventTitleErrorMsg');
			text.style.display = 'none';		
		}
		
		// check event url 
		if ( (form.eventURL) && (form.eventURL.value != "" ) ){

			var v = new RegExp();  
			v.compile("^[http]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$"); 
			if (!v.test(form.eventURL.value)) { 
				var text = document.getElementById('EventUrlErrorMsg');
				text.style.display = '';
				dataOK ="n";
				form.eventURL.focus();
			 } else {
				var text = document.getElementById('EventUrlErrorMsg');
				text.style.display = 'none';
			 }


		} else {
			var text = document.getElementById('EventUrlErrorMsg');
			text.style.display = 'none';	
		}
		
		// check contact name
		if ( (form.eventContact) && (form.eventContact.value == "" ) ){
			var text = document.getElementById('EventContactErrorMsg');
			text.style.display = '';
			dataOK ="n";
			form.eventContact.focus();
		} else {
			var text = document.getElementById('EventContactErrorMsg');
			text.style.display = 'none';	
		}		
		
		// check organiser 
		if ( (form.eventCustom1) && (form.eventCustom1.value == "" ) ){
			var text = document.getElementById('EventCustomErrorMsg1');
			text.style.display = '';
			dataOK ="n";
			form.eventCustom1.focus();
		} else {
			var text = document.getElementById('EventCustomErrorMsg1');
			text.style.display = 'none';	
		}
		
		
	} else {
		
		// check event title.
		if ( (form.newEventTitle) && (form.newEventTitle.value == "" ) ){
			var text = document.getElementById('EventTitleErrorMsg');
			text.style.display = '';
			dataOK ="n";
			form.newEventTitle.focus();
		} else {
			var text = document.getElementById('EventTitleErrorMsg');
			text.style.display = 'none';		
		}

		// check event url 
		if ( (form.newEventURL) && (form.newEventURL.value != "" ) ){

			var v = new RegExp();  
			v.compile("^[http]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$"); 
			if (!v.test(form.eventURL.value)) { 
				var text = document.getElementById('EventUrlErrorMsg');
				text.style.display = '';
				dataOK ="n";
				form.newEventURL.focus();
			 } else {
				var text = document.getElementById('EventUrlErrorMsg');
				text.style.display = 'none';
			 }


		} else {
			var text = document.getElementById('EventUrlErrorMsg');
			text.style.display = 'none';	
		}
		
		// check contact name
		if ( (form.newEventContact) && (form.newEventContact.value == "" ) ){
			var text = document.getElementById('EventContactErrorMsg');
			text.style.display = '';
			dataOK ="n";
			form.newEventContact.focus();
		} else {
			var text = document.getElementById('EventContactErrorMsg');
			text.style.display = 'none';	
		}
		
		// check organiser 
		if ( (form.newEventCustom1) && (form.newEventCustom1.value == "" ) ){
			var text = document.getElementById('EventCustomErrorMsg1');
			text.style.display = '';
			dataOK ="n";
			form.newEventCustom1.focus();
		} else {
			var text = document.getElementById('EventCustomErrorMsg1');
			text.style.display = 'none';	
		}

	}
	
	if (dataOK =="y") {
		return true;
	} else {
		return false;
	}
	// added by tmc 20070217 to add in checks for mandatory fields - end

	return true;
	}


function checkForgot(form) {
	if (trim(form.code.value) == "") {
		form.code.focus();
		return false;
		}
	if (trim(form.pwd1.value) == "") {
		form.pwd1.focus();
		return false;
		}
	if (trim(form.pwd1.value) == "") {
		form.pwd1.focus();
		return false;
		}
	if(form.pwd1.value != form.pwd2.value) {
		form.pwd1.focus();
		return false;
		}
	return true;
	}
function checkRSVP(form) {
	if (trim(form.newextraEmail.value) == "") {
		form.newextraEmail.focus();
		return false;
		}
	if (form.newextraEmail.value != "") {
	        var email=form.newextraEmail.value;
	        var check_space = email.indexOf(' ');
	        var check_ast = email.indexOf('@');
	        var check_dot = email.indexOf('.');
	        if ((check_space != -1) || (check_ast == -1) || (check_dot == -1)) {
		         form.newextraEmail.focus();
		         return false;
		         }
		}
	if (trim(form.newextraFName.value) == "") {
		form.newextraFName.focus();
		return false;
		}
	if (trim(form.newextraLName.value) == "") {
		form.newextraLName.focus();
		return false;
		}
	if (trim(form.newextraAddr1.value) == "") {
		form.newextraAddr1.focus();
		return false;
		}
	if (trim(form.newextraCity.value) == "") {
		form.newextraCity.focus();
		return false;
		}
	if (trim(form.newextraState.value) == "") {
		form.newextraState.focus();
		return false;
		}
	if (trim(form.newextraPostal.value) == "") {
		form.newextraPostal.focus();
		return false;
		}
	return true;
	}

function rei_replace (regexp, replacement, subject){
    	result = subject.replace( new RegExp(regexp,'gi'),  replacement);
    	return result;
	}

function toHtml(text){
    	// Convert near-URL tags to HTML
    	text = rei_replace ("([\n ])([a-z]+?)://([^, \n\r]+)", "$1<a href=\"$2://$3\" target=\"_blank\">$2://$3</a>", text);
    	text = rei_replace ("([\n ])www\\.([a-z0-9\-]+)\.([a-z0-9\\-.\\~]+)((?:/[^, \n\r]*)?)", "$1<a href=\"http://www.$2.$3$4\" target=\"_blank\">www.$2.$3$4</a>", text);
    	text = rei_replace ("([\n ])([a-z0-9\\-_.]+?)@([^, \n\r]+)","$1<a href=\"mailto:$2@$3\">$2@$3</a>", text);

    	// Convert URL tags to HTML
    	text = rei_replace ("\\[url\\]ftp://([^\\[]*?)\\[/url\\]", "<a href=\"ftp://$1\" target=\"_blank\">ftp://$1</a>", text);
    	text = rei_replace("\\[url\\]http://([^\\[]*?)\\[/url\\]","<a href=\"http://$1\" target=\"_blank\">http://$1</a>",text);
    	text = rei_replace("\\[url\\]https://([^\\[]*?)\\[/url\\]","<a href=\"https://$1\" target=\"_blank\">https://$1</a>",text);
    	text = rei_replace("\\[url\\]([^\\[]*?)\\[/url\\]","<a href=\"http://$1\" target=\"_blank\">$1</a>",text);
    	text = rei_replace("\\[url=http://(.*?)\\](.*?)\\[/url\\]","<a href=\"http://$1\" target=\"_blank\">$2</a>",text);
    	text = rei_replace("\\[url=https://(.*?)\\](.*?)\\[/url\\]","<a href=\"https://$1\" target=\"_blank\">$2</a>",text);
    	text = rei_replace("\\[url=(.*?)\\](.*?)\\[/url\\]","<a href=\"http://$1\" target=\"_blank\">$2</a>",text);

    	// Convert IMG tags to HTML
    	text = rei_replace("\\[img\\]([^\\[]*?)\\[img\\]","<img src=\"$1\">",text);

    	// Convert bolds,italics,underline and strike
    	text = rei_replace ("\\[b\\]","<b>",text);
    	text = rei_replace ("\\[\\/b\\]","</b>",text);
    	text = rei_replace ("\\[i\\]","<i>",text);
    	text = rei_replace ("\\[\\/i\\]","</i>",text);
    	text = rei_replace ("\\[u\\]","<u>",text);
    	text = rei_replace ("\\[\\/u\\]","</u>",text);
    	text = rei_replace ("\\[s\\]","<strike>",text);
    	text = rei_replace ("\\[\\/s\\]","</strike>",text);

    	// Alignment
    	text = rei_replace ("\\[right\\]","<div style=\"text-align:right\">",text);
    	text = rei_replace ("\\[\\/right\\]","</div>",text);
    	text = rei_replace ("\\[justify\\]","<div style=\"text-align:justify;\">",text);
    	text = rei_replace ("\\[\\/justify\\]","</div>",text);
    	text = rei_replace ("\\[center\\]","<div style=\"text-align:center\">",text);
    	text = rei_replace ("\\[\\/center\\]","</div>",text);

    	// Convert the color codes
    	text = rei_replace("\\[color=(.*?)\\](.*?)","<span style=\"color:$1\">$2",text);
    	text = rei_replace("\\[\\/color\\]","</span>",text);

    	// Convert sizes
    	text = rei_replace("\\[size=(.*?)\\](.*?)","<span style=\"font-size:$1pt\">$2",text);
    	text = rei_replace("\\[\\/size\\]","</span>",text);

    	// Convert fonts
    	text = rei_replace("\\[font=(.*?)\\](.*?)","<span style=\"font-family:$1\">$2",text);
    	text = rei_replace("\\[\\/font\\]","</span>",text);

    	// Do list elements
    	text = rei_replace("(\\[list\\])\n?\r?(.+?)(\\[\\/list\\])s","<ul type=\"square\">$2</ul>",text);
    	text = rei_replace("(\\[list=)(A|1)(\\])\n?\r?(.+?)(\\[\\/list\\])s","<ol type=\"$2\">$4</ol>",text);
    	text = rei_replace("\n?\r?(\\[\\*\\])s","<li>",text);

    	// Quote markup
    	text = rei_replace ("\\[quote\\]","<blockquote>Quote:<hr /><br />",text);
    	text = rei_replace ("\\[\\/quote\\]","<br /><br /><hr /></blockquote>",text);

    	// Convert newlines
    	text = rei_replace ("\n","<br clear=\"all\">",text);
    	text = rei_replace ("\r\n","<br clear=\"all\">",text);
    	text = rei_replace ("\r","",text);
     	return text;
	}


// added by tmc 20070217 - start 

// to check for valid event date.
function checkValidDate(day, month, year ){

   // checks year
   if (year == 0) {
      return false;
   }
   
   // checks month
   if ((month < 1) || (month > 12)) {
      return false;
   }
   
   // checks day
   if (day < 1) {
     return false;
   }
   
   // leap year
   var leap =0;
   if (year % 4 == 0) {
      leap = 1;
   }
   
   if ((month == 2) && (leap == 1) && (day > 29)) {
      return false;
   }
   
   if ((month == 2) && (leap != 1) && (day > 28)) {
     return false;
   }
   
   if ((day > 31) && ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12))) {
      return false;
   }
   
   if ((day > 30) && ((month == 4) || (month == 6) || (month == 9) || (month == 11))) {
     return false;
   }
   
   return true;
   

}

function goToDownloadEvent(eventID) {
	
	newLocation="download.php?event=" + eventID;
	newLocation = newLocation + "&closeWindow=true";
	// document.location.href=newLocation;
	window.open(newLocation,"", "width=620px, height=200px, resizable");

}

function changeEventTimes(changeField, startHour, startMinute, endHour, endMinute) {
	
	if ( startHour && startMinute && endHour && endMinute ) {
		
		if (changeField.value == '-')
		 {
			startHour.value = '-';
			startMinute.value = '-';
			endHour.value = '-';
			endMinute.value = '-';
		} 
		
	}
}

// added by tmc 20070217 - end