// functions for the HPBCAustin.org
// Last updated: 9/9/08

function eml_coder(account)
{
	var domain = "HPBCAustin.org";
	document.write('<a href="mailto:'+account+'&#64;'+domain+'" >'+account+'&#64;'+domain+'</a>');
}

function FixDash(datestr) {
// Fix dash entry
var sloc = datestr.value.indexOf("-");
if (sloc > 0) {
  datestr.value = datestr.value.substring(0,sloc)+"/"+
     datestr.value.substring(sloc+1,20);
  }
}

function ValDate(chkdate) {
	// Check for valid date
	FixDash(chkdate);
	FixDash(chkdate);
	var sdate = new Array(3);
	sdate = chkdate.value.split("/");
	if (sdate[2].length!=4) {
		alert("Year entry must be 4 digits "+chkdate.value);
		}
}

function ReqField(chkdata) {
// Check for required field is not empty
var newstr=chkdata.value.replace(/\s/g,'')
if (newstr.length == 0) {
 alert(chkdata.name+" field is required - please enter")
 return false
 }
return true
}

function Fieldsize(chkdata) {
// Check for required field is not empty
var newstr=chkdata.value.replace(/\s/g,'')
if (newstr.length!=6) {
 alert(chkdata.name+" must be six numbers")
 return false
 }
return true
}

function ReqMenu(chkdata) {
// Check for required field is not empty
if (chkdata.options.selectedIndex == 0) {
 alert(chkdata.name+" field is not entered")
 return false
 }
return true
}

function FixYear(chkdate) {
// Force valid date
FixDash(chkdate);
FixDash(chkdate);
var sdate = new Date()
sdate.setTime(Date.parse(chkdate.value))
if (sdate.getYear() < 50) {
  sdate.setYear(sdate.getYear()+2000)
  chkdate.value = sdate.getMonth()+1+"/"+
    sdate.getDate()+"/"+sdate.getYear() }
  else {
   if (sdate.getYear() > 0) {
  sdate.setYear(sdate.getYear()+1900)
  chkdate.value = sdate.getMonth()+1+"/"+
    sdate.getDate()+"/"+sdate.getYear() }
  }
}
function VerifyEdit() {
 // Remind user to check for accuracy
  return confirm("Are you sure? (verified spelling, dates, information)")
}
function VerifyTicket() {
 // Remind user to check for accuracy because ticket frozen
  return confirm("Tickets can not be changed after entry - Are you sure?")
}
function SrchFieldsize(chkdata) {
// Check for required field is not empty
var newstr=chkdata.value.replace(/\s/g,'')
if (newstr.length!=0 && newstr.length < 3) {
 alert(chkdata.name+" must be at least 3 letters or blank")
 return false
 }
return true
}

function check_date(field){
  // This script and many more are available free online at
  // The JavaScript Source!! http://javascript.internet.com
  // Original:  Torsten Frey (tf@tfrey.de)
  // Web Site:  http://www.tfrey.de
  
  var checkstr = "0123456789";
  var DateField = field;
  var Datevalue = "";
  var DateTemp = "";
  var seperator = "/";
  var day;
  var month;
  var year;
  var leap = 0;
  var err = 0;
  var i;
  err = 0;
  DateValue = DateField.value;
  /* Delete all chars except 0..9 */
  for (i = 0; i < DateValue.length; i++) {
    if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
       DateTemp = DateTemp + DateValue.substr(i,1);
      }
  }
  DateValue = DateTemp;
  /* Always change date to 8 digits - string*/
  /* if year is entered as 2-digit / always assume 20xx */
  if (DateValue.length == 6) {
    DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
  if (DateValue.length != 8) { err = 19;}
  /* year is wrong if year = 0000 */
  year = DateValue.substr(4,4);
  if (year == 0) {  err = 20;  }
  /* Validation of month*/
  month = DateValue.substr(0,2);
  if ((month < 1) || (month > 12)) { err = 21;  }
  /* Validation of day*/
  day = DateValue.substr(2,2);
  if (day < 1) {  err = 22;  }
  /* Validation leap-year / february / day */
  if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
    leap = 1;
  }
  if ((month == 2) && (leap == 1) && (day > 29)) {  err = 23; }
  if ((month == 2) && (leap != 1) && (day > 28)) {  err = 24; }
  /* Validation of other months */
  if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") ||
  		(month == "08") || (month == "10") || (month == "12"))) { err = 25; }
  if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {  err = 26; }
  /* if 00 ist entered, no error, deleting the entry */
  if ((day == 0) && (month == 0) && (year == 00)) {
    err = 0; day = ""; month = ""; year = ""; seperator = "";
  }
  /* if no error, write the completed date to Input-Field (e.g. 12/13/2004) */
  if (err == 0) {
    DateField.value = month + seperator + day + seperator +  year;
  }
  /* Error-message if err != 0 */
  else {
  alert("Date is incorrect!");
  DateField.select();
  DateField.focus();
  }
}

function IsValidTime(entered, alertbox) {
// Check for time field is empty
	var newstr=entered.value.replace(/\s/g,'');
	if(newstr.length == 0) {return true;}
	with (entered) {
		var diffpos = value.indexOf(":");
		var lastpos = value.length - 1;

		var last_index_of = value.lastIndexOf(":");
		var hours = new Number(value.substring(0,diffpos));
		var minutes = new Number(value.substring((last_index_of+1),value.length));
		if(diffpos < 0){	hours = minutes;  minutes=0; }
		if (hours < 0 || hours > 12 || minutes < 0 || minutes > 60) {
			if (alertbox) {	alert(alertbox); }
		  return false;
		} else {
		  return true;
		}
	}
}
