//Sees if a value passed to it has a length.
function hasValue(str) {
	var isOK = false;
	if ( str.length > 0 && str.substring(0,1) != " " ) {
		isOK = true;
	}
	return isOK;
}

function isNumeric(val,type) {
	var isOK = false;
	switch ( type.toUpperCase() ) {
		case "POSITIVE_WHOLE" :
			if ( parseInt( val ).toString() == val && val > 0 ) {
				isOK = true;
			}
			break;
	}
	return isOK;
}

function isDate(str) {
	//REPattern = /\d{4}[-]\d{2}[-]\d{2}/;
	REPattern = /\d{2}[/]\d{2}[/]\d{4}/;
	return str.match( REPattern );
}

function confirmDelete( url ) {
	if ( confirm("Are you sure you want to delete this record? It will be unretrievable.") ) {
		window.location.href = url;
	}
	return false;
}

//check to see if the email address is a valid format
function echeck(str)
{
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   alert("You entered an Invalid Email Address, Please re-enter your Email Address.");
	   return false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   alert("You entered an Invalid Email Address, Please re-enter your Email Address.");
	   return false;
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    alert("You entered an Invalid Email Address, Please re-enter your Email Address.");
	    return false;
	}
	 if (str.indexOf(at,(lat+1))!=-1){
	    alert("You entered an Invalid Email Address, Please re-enter your Email Address.");
	    return false;
	 }
	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	    alert("You entered an Invalid Email Address, Please re-enter your Email Address.");
	    return false;
	 }
	 if (str.indexOf(dot,(lat+2))==-1){
	    alert("You entered an Invalid Email Address, Please re-enter your Email Address.");
	    return false;
	 }
	 if (str.indexOf(" ")!=-1){
	    alert("You entered an Invalid Email Address, Please re-enter your Email Address.");
	    return false;
	 }
	 return true					
}

function checkchars(field)
{
	var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,-@ "
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("You have entered an invalid character, only letter, numbers, @, commas or periods are allowed.\Please re-enter your information!");
		field.value = "";
		field.focus();
		return false;		
   }
   else{
		return true;	
   }	
}
function checknum(field)
{
	var valid = "0123456789.,"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	if (ok == "no") {
		alert("Only numeric values are accepted. Please re-enter your information!");
		field.value = "";
		field.focus();
		return false;		
   }
   else{
		return true;	
   }	
}


function cancelform()
{
	if (confirm("Are you sure you want to leave this page without saving any changes?")){
		window.history.back();
	}
	return false;			
}

//Function to validate date fields
//This code will validate all date fields mm/dd/yyyy on the page, just add onBlur="checkdate(this)" to the input tag for each field
//Author - Beach First National Bank, 
//CopyRight Integrated Data Processing, Inc. 2002 - All Rights Reserved Worldwide
//You may use this code ONLY if all comments are left in tact. All other use strictly prohibited.
function checkdate(field){
	var checkstr = "0123456789";
	var DateField = field;
	var Datevalue = "";
	var DateTemp = "";
	var seperator = "/";
	var day = "";
	var month = "";
	var year = "";
	var leap = 0;
	var err = "";
	var i;
   err = 0;
   DateValue = DateField.value;
   
   //parse into three strings to further evaluate
   var mdone = false;
   var ddone = false;
	var ydone = false;
	var slashcount = 0;
	var slashneeded = 2;
	
	//make sure two slashed were entered
	for (i = 0; i < DateValue.length; i++) {
		if (DateValue.substr(i,1) == "/") {
			slashcount = (slashcount + 1);
		}
	}
	if (slashcount != slashneeded) {
		err = "Slashes Mis-Entered ";
	}
	//break value into month day and year values
   for (i = 0; i < DateValue.length; i++) {
		if (mdone == false) {
			if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
				month = month + DateValue.substr(i,1);
			}else{
				if (DateValue.substr(i,1) == "/") {
					mdone = true;
				}
			}
		}else{
			if (ddone == false) {
				if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
					day = day + DateValue.substr(i,1);
				}else{
					if (DateValue.substr(i,1) == "/") {
						ddone = true;
					}
				}
			}else{
				if (ydone == false) {
					if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
						year = year + DateValue.substr(i,1);
					}
				}
			}
		}				
   }
   //check values
   /* Validation of year*/
   if ((year == 0) || (year.length != 4)) {
      err = "Invalid Year Entered ";
   }
   /* Validation of month*/
   if ((month < 1) || (month > 12)) {
      err = "Invalid Month Entered ";
   }
   /* Validation of day*/
   if (day < 1) {
     err =  "Invalid Month Entered ";
   }
   /* 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 = "Invalid Day Entered ";
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = "Invalid Day Entered ";
   }
   /* Validation of other months */
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = "Invalid Month Entered ";
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = "Invalid Month Entered ";
   }
   /* if 00 ist entered, no error, deleting the entry */
   if ((day == 0) && (month == 0) && (year == 0000)) {
      //err = 0; day = ""; month = ""; year = ""; seperator = "";
      err = 0; month = ""; day = ""; year = ""; seperator = "";
   }
   
   /* if no error, write the completed date to Input-Field (e.g. 12/01/2002) */
   if (err == 0) {
		//message values for consistency      
      if (month.length < 2 && month.length > 0){
			month = "0" + month;
		}
		if (day.length < 2 && month.length > 0) {
			day = "0" + day;
		}
      //rebuild date value
      DateField.value = month + seperator + day + seperator + year;
   }
   /* Error-message if err != 0 */
   else {
      alert(err + ", Enter mm/dd/yyyy");
      //document.write(err);
      DateField.select();
	  DateField.focus();
   }
}