function deleteContest(contest_id) {
	var answer = confirm("Do you really want to delete contest " + contest_id + "?");
	
	if (answer) {
		document.getElementById("deleteContest").value = contest_id;
	
		document.deleteForm.submit();
	}
}

function deleteEvent(event_id) {
	var answer = confirm("Do you really want to delete event " + event_id + "?");
	
	if (answer) {
		document.getElementById("deleteEvent").value = event_id;
	
		document.deleteForm.submit();
	}
}

function validateHours(obj)
	{

	var time = trim(obj.value);
	var re = /[^0-9]/g;
	
	if (time.length == 1) {
		time = '0' + time;
	}
	
	if (obj.value.search(re) >= 0)
		{
		alert("The time must contain only numbers.");
		obj.focus();
		obj.select();
		event.returnValue = false;
		return false;
		}

	// hour must be less than 24
	if (time.substr(0,2) > "12")
		{
		alert("The hours cannot be more than 12.");
		obj.focus();
		obj.select();
		event.returnValue = false;
		return false;
		}

	obj.value = time;
	}

function validateMinutes(obj)
	{

	var time = trim(obj.value);
	var re = /[^0-9]/g;

	if (time.length == 1) {
		time = '0' + time;
	}

	if (obj.value.search(re) >= 0)
		{
		alert("The time must contain only numbers.");
		obj.focus();
		obj.select();
		event.returnValue = false;
		return false;
		}

	// minutes must be less than 60
	if (time.substr(0,2) > "59")
		{
		alert("The minutes cannot be more than 59.");
		obj.focus();
		obj.select();
		event.returnValue = false;
		return false;
		}

	obj.value = time;
	}

function isEmailAddr(str) {
		var checkStr="~`!#$%^&*()+={}[];:'|\\><\"?/,";
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
			 alert("Invalid E-mail ID")
			 return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
			 //alert("Invalid E-mail ID")
			 return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
				//alert("Invalid E-mail ID")
				return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
				//alert("Invalid E-mail ID")
				return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
				//alert("Invalid E-mail ID")
				return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
				//alert("Invalid E-mail ID")
				return false
		 }

		 if (str.indexOf(" ")!=-1){
				//alert("Invalid E-mail ID")
				return false
		 }
	for(var x=0; x<checkStr.length; x++){
	if(str.indexOf(checkStr.substr(x,1)) !=-1){
		return false;
	}
}

			return true
}
function validateMailID(obj) {
	
	var reg = new RegExp("[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$");

	if (obj.value == "") {
		alert("Please enter a value for the \"Verify E-mail Address\" field.");
		obj.focus();
		return false;
		event.returnValue=false;
	}

	if (obj.value.length < 3) {
		alert("Please enter a complete email address in the \"Verify E-mail Address\" field.");
		obj.focus();
		return false;
		event.returnValue=false;
	}
	var tempStr = obj.value;
	while(tempStr.indexOf(";") !=-1){
		var temp = trim(tempStr.substring(0,tempStr.indexOf(";")));
		tempStr = trim(tempStr.substring(obj.value.indexOf(";")+1));
		//if (!reg.test(temp)) {
		if(isEmailAddr(temp) == false) {
			alert("Please enter a complete valid email address in the form: yourname@yourdomain.com for "+temp);
			obj.focus();
			event.returnValue=false;
			return false;
		}
	}

	if(isEmailAddr(tempStr) == false) {
		alert("Please enter a complete valid email address in the form: yourname@yourdomain.com for "+tempStr);
		obj.focus();
		event.returnValue=false;
		return false;
	}
	return true;
}

function selectTest(obj) {
	var atleastOneChecked = false;
	var numberOfTracks = 0;
	
	for(var i=0; i < obj.length; i++) {
		if(obj[i].selected == true) {
			atleastOneChecked = true;
			numberOfTracks = numberOfTracks + 1;
		}
	}
	
	if(numberOfTracks > 10) {
		alert("You may only choose up to 10 tracks.");
		return false;
	}
	
	if(!atleastOneChecked) {
		alert("You must select at least one track.");
	}
	
	return atleastOneChecked;
}

var MONTH_NAMES = new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');

function LZ(x) {
	return(x<0||x>9?"":"0")+x
}

function formatDate(date,format) {
	format = format+"";
	var result = "";
	var i_format = 0;
	var c = "";
	var token = "";
	var y = date.getFullYear()+"";
	//var y = date.getYear()+"";
	var M = date.getMonth() + 1;
	var d = date.getDate();
	var H = date.getHours();
	var m = date.getMinutes();
	var s = date.getSeconds();
	var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;
	// Convert real date parts into formatted versions
	var value = new Object();
	//this next line of code shouldn't be needed anymore, but in case this method is being called from other locations, it has been left.
	if (y.length < 4 ) { if( y > 50) { y=y-0+1900; } else { y=y-0+2000; } }

	value["y"] = ""+y;
	value["yyyy"] = y;
		//value["yy"] = y.substring(2,4);
	value["M"] = M;
	value["MM"]=LZ(M);
	value["MMM"] = MONTH_NAMES[M-1];
	value["d"] = d;
	value["dd"]=LZ(d);
	value["H"] = H;
	value["HH"] = LZ(H);
	if (H==0){value["h"]=12;}
	else if (H>12){value["h"]=H-12;}
	else {value["h"]=H;}
		value["hh"]=LZ(value["h"]);
	if (H>11){value["K"]=H-12;} else {value["K"]=H;}
		value["k"]=H+1;
		value["KK"]=LZ(value["K"]);
		value["kk"]=LZ(value["k"]);
		if (H > 11) { value["a"]="PM"; }
		else { value["a"]="AM"; }
		value["m"]=m;
		value["mm"]=LZ(m);
		value["s"]=s;
		value["ss"]=LZ(s);
			while (i_format < format.length) {
		c = format.charAt(i_format);
		token = "";
		while ((format.charAt(i_format) == c) && (i_format < format.length)) {
			token += format.charAt(i_format);
			i_format++;
			}
		if (value[token] != null) { result = result + value[token]; }
		else { result = result + token; }
	}
	return result;
}

function dateChangeHandlerBlur() {
	dateChangeHandler(event.srcElement);
	event.srcElement.detachEvent("onblur",dateChangeHandlerBlur);
}

function dateChangeHandler(obj) {
	if(trim(obj.value) != "") {
		var fullDateMask = new RegExp("^[0-9]{1,2}[/,-][0-9]{1,2}[/,-][0-9]{4}$");
		if(!fullDateMask.test(obj.value)) {
			alert("You must enter the date in mm/dd/yyyy format.");
			obj.focus();
			obj.select();
			return false;
		}
	}
	
	if(dateChangeValidate(obj)) {		
		var dateMask3 = new RegExp("^[0-9]{1,2}[/,-][0-9]{1,2}$"); // no year
		if(dateMask3.test(obj.value)) {
			var fullDate = new Date();
			var tempDate = obj.value + "/" + fullDate.getFullYear();
			obj.value = tempDate;
		}

		//need to create this date with a 4 digit year, not two...
		var dateMask = new RegExp("^[0-9]{1,2}[/,-][0-9]{1,2}[/,-][0-9]{2}$");  // 2 -digit year
		if(dateMask.test(obj.value)){
			var y = parseInt(obj.value.substring((obj.value.length-2),(obj.value.length)),10);
			if( y > 50){
				y=y-0+1900;
			} else {
				y=y-0+2000;
			}
			obj.value = obj.value.substring(0,(obj.value.length-2)) + y;
		}

		var newDate = new Date(obj.value);
		obj.value = formatDate(newDate, "MM/dd/yyyy");
		obj.attachEvent("onblur",dateChangeHandlerBlur);
	}
	return
}

function validateIsBlank(x) {
	var re;
	// replace all blanks with nothing
	re = / /g;
	if ( x == null || x.replace(re,"") == "" ) {
		return 1;
	}
	return 0;
}

function validateLength(obj) {	
	if(trim(obj.value) == "") {
		alert("You cannot leave any input fields blank. Please correct and submit again.")
		return false;
	}
	else
		return true;
}

function trim(strString){
	// If the string is null then return blank back to the caller.
	if(strString == null)
  	return "";

	var intLoop=0;

	for(intLoop=0; intLoop < strString.length; ) {
		if(strString.charAt(intLoop)==" ")
			strString = strString.substring(intLoop+1, strString.length);
		else
			break;
	}

	for(intLoop = strString.length-1; intLoop>=0; intLoop = strString.length-1)	{
		if(strString.charAt(intLoop)==" ")
			strString = strString.substring(0,intLoop);
		else
			break;
	}
	return strString;
}

function dateChangeValidate(obj) {
	if(!validateIsBlank(trim(obj.value))) {
		var dateMask = new RegExp("^[0-9]{1,2}[/,-][0-9]{1,2}[/,-][0-9]{2}$");  // 2 -digit year
		var dateMask2 = new RegExp("^[0-9]{1,2}[/,-][0-9]{1,2}[/,-][0-9]{4}$"); // 4 - digit year
		var dateMask3 = new RegExp("^[0-9]{1,2}[/,-][0-9]{1,2}$"); // no year
		if(dateMask.test(obj.value) || dateMask2.test(obj.value) || dateMask3.test(obj.value)) {
			var tempDate = obj.value;
			if(dateMask3.test(obj.value)) {
				var fullDate = new Date();
				tempDate = obj.value + "/" + fullDate.getYear();
			}
			if(vbValidateIsDate(tempDate) == 0) {
				var newDate = new Date(tempDate);
				var maxDate = new Date("12/31/2070");
				if(newDate.getYear() < 50) {
					newDate.setYear(newDate.getYear() + 2000);
				}
				if(newDate > maxDate) {
					alert("Year cannot be greater than 2070.");
					event.returnValue = false;
					obj.focus();
					obj.select();
					return false;
				}
				return true;
			} else {
				alert('Invalid date');
				event.returnValue = false;
				obj.focus();
				obj.select();
				return false;
			}
		} else {
			alert('Invalid date');
			event.returnValue = false;
			obj.focus();
			obj.select();
			return false;
		}
	}
	return false;
}

function checkdatediff(date1, date2) {
	
	returnvalue = false
	
	var monthfield1 = date1.value.split("/")[0]
	var dayfield1 = date1.value.split("/")[1]
	var yearfield1 = date1.value.split("/")[2]
	var dayobj1 = new Date(yearfield1, monthfield1-1, dayfield1)
	
	var monthfield2 = date2.value.split("/")[0]
	var dayfield2 = date2.value.split("/")[1]
	var yearfield2 = date2.value.split("/")[2]
	var dayobj2 = new Date(yearfield2, monthfield2-1, dayfield2)
	
	// number of milliseconds in a day
	var day = 1000*60*60*24
	
	// The variable diff will be the difference between the 2 dates in "days"
	var diff = Math.ceil((dayobj2.getTime()-dayobj1.getTime())/(day))
	
	if (diff < 0)
		alert("The end date must be the same as the begin date or come after the begin date. Please correct and submit again.")
	else
		returnvalue = true
	
	return returnvalue
}

function check_champ_indicator(champ_indicator) {

	var returnvar = false

	if (champ_indicator.value != 'Y' && champ_indicator.value != 'N') {
		alert("The championship indicator must be a Y or an N. Please correct and submit again.")
		returnvar = false
	}
	
	else
		returnvar = true
	
	if (returnvar == false) champ_indicator.select()
	
	return returnvar

}

function ampm_select_test(startampm, endampm) {

	var returnvar = false
	
	if (startampm.value == '' || endampm.value == '') {
		alert("You cannot leave any input fields blank. Please correct and submit again.")
		returnvar = false
	}
	
	else
		returnvar = true
	
	return returnvar
}
