//
// General form validation functions
//
//Copyright 2002 Lighthouse Technologies, Inc.  All Rights Reserved.


// isFilled - Is the field filled?
function isFilled(field)
{
 if (field.value !="") return true;
  else
   {
    formIsFilledWarning(field.name,field);
    return false;
   }
}


// isID - Is the ID field value at least 3 characters long?
function isID(field)
{
 var uidstr = field.value + " ";
 if (field.value == "" || uidstr.length > 2) return true;
  else
   {
    formIsIDWarning(field.name,field);
    return false;
   } 
}


// isPassword - Is the password field value at least 6 characters long?
function isPassword(field)
{
 var pwdstr = field.value + " ";
 if (field.value == "" || pwdstr.length > 5) return true;
  else
   {
    formIsPasswordWarning(field.name,field);
    return false;
   } 
}


// isZipI - Is the Zip field value composed of integers?
function isZipI(field)
{
var zipstr = field.value;
  if (field.value == "") return true;
  for (var i = 0; i < zipstr.length; i++)
   {
    if (zipstr.charAt(i) < "0" ||
        zipstr.charAt(i) > "9") 
         {
          formIsZipIWarning(field.name,field);
          return false; 
         }
   }
return true;
}

// isNumerical - Is the Zip field value composed of integers?
function isNumerical(field)
{
var zipstr = field.value;
  if (field.value == "") return true;
  for (var i = 0; i < zipstr.length; i++)
   {
    if (zipstr.charAt(i) < "0" ||
        zipstr.charAt(i) > "9") 
         {
          formIsNumericalWarning(field.name,field);
          return false; 
         }
   }
return true;
}


// isZipL - Is the Zip field length at least greater than 4 characters?
function isZipL(field)
{
 var zipstr = field.value + " ";
 if (field.value == "" || zipstr.length > 4) return true;
  else
   {
    formIsZipLWarning(field.name,field);
    return false;
   } 
}


// isEmail - Is it a valid Email address?
function isEmail(field)
{
 if (field.value == "") return true;
  else
   {
    if (field.value.indexOf("@") !="-1" &&
    field.value.indexOf(".") !="-1")
    return true;
    formIsEmailWarning(field.name,field);
    return false;
   }
}


// isOneChecked - Is a Checkbox checked
function isOneChecked(form)
{
 if ((!form.vInt.checked) &&
    (!form.vCust.checked) &&
    (!form.vVist.checked))
     {
     formIsOneCheckedWarning(form);
     return false;
     }
    else return true;
}


// Validation Warnings 
function formIsFilledWarning(fieldname, field)
{
  alert("MISSING REQUIRED FIELD! Please fill in the " +fieldname.substring(0,50) + " field");
  field.focus();
}

function formIsIDWarning(fieldname, field)
{
  alert("INVALID ID LENGTH!  A valid ID must contain at least 3 characters.");
  field.focus();
}

function formIsPasswordWarning(fieldname, field)
{
  alert("INVALID PASSWORD LENGTH!  A valid password must contain at least 6 characters.");
  field.focus();
}

function formIsZipIWarning(fieldname, field)
{
  alert("INVALID ZIP CODE CONTENT! A valid Zip Code contains only numbers.");
  field.focus();
}

function formIsNumericalWarning(fieldname, field)
{
  alert("INVALID NUMERICAL CONTENT! Valid numerical data should contain only numbers.");
  field.focus();
}

function formIsZipLWarning(fieldname, field)
{
  alert("INVALID ZIP CODE LENGTH! A valid Zip Code contains at least 5 characters.");
  field.focus();
}

function formIsEmailWarning(fieldname, field)
{
  alert("INVALID EMAIL ADDRESS! A valid Email address contains an @ symbol, plus a period (.) - for example, me@mycompany.com.");
  field.focus();
}

function formIsOneCheckedWarning(form)
{
  alert("YOU MUST INDICATE WHO WILL SEE THIS MESSAGE!  Please check at least one option: INTERNAL, CUSTOMERS, or VISITORS.");
}

function ValidateDates(Month, Day, Year)
{
   if(Month < 1 || Month > 12)
	Error = 1;

   if(Day < 1 || Day > 31)
	Error = 1;

   if(Year < 1000 || Year > 9999)
        Error = 1;

   if(Month == 4 || Month ==6 || Month ==9 || Month == 11)
   {
       if(Day == 31)
	  Error = 1;
   }
   if(Month == 2)
   {
        if(Day > 29)
            Error = 1;
        if(Day == 29 && ((Year/4) != parseInt(Year/4)))
	    Error = 1;
    }

    if (Error == 1)
    {
	alert("The Date you Enter is not a valid Date");
	return false;
    }
    else
    {
        return true;
    }
}

function numbersonly(myfield, e, dec)
// copyright 1999 Idocs, Inc. http://www.idocs.com
// Distribute this script freely but keep this notice in place
// EXAMPLE: onKeyPress="return numbersonly(this, event)" 
{
var key;
var keychar;

if (window.event)
   key = window.event.keyCode;
else if (e)
   key = e.which;
else
   return true;
keychar = String.fromCharCode(key);

// control keys
if ((key==null) || (key==0) || (key==8) || 
    (key==9) || (key==13) || (key==27) )
   return true;

// numbers
else if ((("0123456789.-").indexOf(keychar) > -1))
   return true;

// decimal point jump
else if (dec && (keychar == "."))
   {
   myfield.form.elements[dec].focus();
   return false;
   }
else
   return false;
}

function deleteconfirm(name, ID, URL)
	{
		var urlstring;
		vPrompt = "WARNING! You are about to delete " + name + ". This process is irreversible.";
		if (confirm(vPrompt))
		{		
				urlstring = URL + "?ID=" + ID;
				location.replace(urlstring);
		}
	}

