var fClick = false;
function checkinput(objName)
{
 var field = objName;
 var invalid = "'~`^";
  for (var i=0; i < field.value.length; i++) 
 {
   temp = "" + field.value.substring(i, i+1);
   if (invalid.indexOf(temp) != "-1") 
   {
      alert("Input contains illegal character " + temp);
      field.value = "";
      field.focus();
      return false;
   }
 }
 return true;
}

function checknumber(objName)
{
 var field = objName;
 var valid = "0123456789";
 for (var i=0; i < field.value.length; i++) 
 {
   temp = "" + field.value.substring(i, i+1);
   if (valid.indexOf(temp) == "-1") 
   {
      alert("Please enter a valid number.");
      field.focus();
      return false;
   }
 }
 return true;
}

function checkDateVal(objName)
{
 var field = objName;
 var valid = "0123456789/";
 for (var i=0; i < field.value.length; i++) 
 {
   temp = "" + field.value.substring(i, i+1);
   if (valid.indexOf(temp) == "-1") 
   {
      alert("Please enter a valid date.");
      field.focus();
      return false;
   }
 }
 return true;
}

function checkamount(objName)
{
 var field = objName;
 var valid = "0123456789.";
 for (var i=0; i < field.value.length; i++) 
 {
   temp = "" + field.value.substring(i, i+1);
   if (valid.indexOf(temp) == "-1") 
   {
      alert("Please enter a valid amount.");
      field.focus();
      return false;
   }
 }
 return true;
}


function checkdate(objName) 
{
var datefield = objName;
checkDateVal(objName);

if (chkdate(objName) == false)
{
datefield.select();
alert("That date is invalid.  Please try again.");
datefield.focus();
return false;
}
else {
return true;
   }
}

function chkdate(objName) {
var strDatestyle = "US"; //United States date style
//var strDatestyle = "EU";  //European date style
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
//var strSeparatorArray = new Array("-"," ","/",".");
var strSeparatorArray = new Array("/");
var intElementNr;
var err = 0;
var strMonthArray = new Array(12);
//strMonthArray[0] = "Jan";
//strMonthArray[1] = "Feb";
//strMonthArray[2] = "Mar";
//strMonthArray[3] = "Apr";
//strMonthArray[4] = "May";
//strMonthArray[5] = "Jun";
//strMonthArray[6] = "Jul";
//strMonthArray[7] = "Aug";
//strMonthArray[8] = "Sep";
//strMonthArray[9] = "Oct";
//strMonthArray[10] = "Nov";
//strMonthArray[11] = "Dec";

strMonthArray[0] = "01";
strMonthArray[1] = "02";
strMonthArray[2] = "03";
strMonthArray[3] = "04";
strMonthArray[4] = "05";
strMonthArray[5] = "06";
strMonthArray[6] = "07";
strMonthArray[7] = "08";
strMonthArray[8] = "09";
strMonthArray[9] = "10";
strMonthArray[10] = "11";
strMonthArray[11] = "12";
strDate = datefield.value;
if (strDate.length < 1) {
return true;
}

for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) 
{
	if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) 
	{
		strDateArray = strDate.split(strSeparatorArray[intElementNr]);
		if (strDateArray.length != 3) 
		{
			err = 1;
			return false;
		}
		else 
		{
			strDay = strDateArray[0];
			strMonth = strDateArray[1];
			strYear = strDateArray[2];
		}
		booFound = true;
	}
}

if (booFound == false) 
{
	if (strDate.length>5) 
	{
		strDay = strDate.substr(0, 2);
		strMonth = strDate.substr(2, 2);
		strYear = strDate.substr(4);
  }
}

if (strYear.length == 2) 
{
	strYear = '20' + strYear;
}

// US style
if (strDatestyle == "US") {
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
}
intday = parseInt(strDay, 10);
if (isNaN(intday)) 
{
err = 2;
return false;
}


intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
}
}
else {
if (intday > 28) {
err = 10;
return false;
}
}
}

if (intday < 10)
{
   intday = "0" + intday;
}

if (strDatestyle == "US") {
datefield.value = strMonthArray[intMonth-1] + "/" + intday + "/" + strYear;
}
else {
datefield.value = intday + "/" + strMonthArray[intMonth-1] + "/" + strYear;
}
return true;
}

function LeapYear(intYear) 
{
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}

function validateZIP(field) {
var valid = "0123456789-";
var hyphencount = 0;

if (field.length!=5 && field.length!=10) {
alert("Please enter your 5 digit or 5 digit+4 zip code.");
return false;
}
for (var i=0; i < field.length; i++) {
temp = "" + field.substring(i, i+1);
if (temp == "-") hyphencount++;
if (valid.indexOf(temp) == "-1") {
alert("Invalid characters in your zip code.  Please try again.");
return false;
}
if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");
return false;
   }
}
return true;
}

function SubmitClickFlagDateRange() 
{   
  if (document.search.StartDate.value.length < 6)
  {
    alert("Please enter a valid start date.");
    document.search.StartDate.focus();
    return(true);
  }
  if (document.search.EndDate.value.length < 6)
  {
    alert("Please enter a valid end date.");
    document.search.EndDate.focus();
    return(true);
  }
  if (document.search.StartDate.value == "")
  {
    alert("Please enter a valid start date.");
    document.search.StartDate.focus();
    return(true);
  }
  if (document.search.EndDate.value == "")
  {
    alert("Please enter a valid end date.");
    document.search.EndDate.focus();
    return(true);
  }
  if ((document.search.StartDate.value) > (document.search.EndDate.value)) 
  {
    alert("Start date should be earlier than or equal to end date.");
    document.search.StartDate.focus();
    return(true);
  }
  if (document.search.StartDate.value == "" || document.search.EndDate.value == "") 
  {
    alert("Both dates must be entered.");
    document.search.StartDate.focus();
    return(true);
  }
  if (fClick == false) 
   {
     fClick = true;
     document.search.ClickFlag.value = "YES";
     document.search.submit();
     return (true);
   }
}

function SubmitClickFlagDate() 
{
  if ((document.search.OrderDate.value == "") || (document.search.OrderDate.value.length < 6)) 
  {
    alert("Please enter a valid date.");
    document.search.OrderDate.focus();
    return (false);
  }
   if (fClick == false) 
   {
	 fClick = true;
	 document.search.ClickFlag.value = "YES";
	 document.search.submit();				
	}
}

function SubmitClickFlagDateReq(objName) 
{ 
  if ((document.search.RequestDate.value == "") || (document.search.RequestDate.value.length < 6)) 
  {
    alert("Please enter a valid date.");
    document.search.RequestDate.focus();
    return (true);
  }
  
   if (fClick == false) 
   {
	 fClick = true;
	 document.search.ClickFlag.value = "YES";
	 document.search.submit();				
	}
}

function SubmitClickFlagNumberReq() 
{
  if (document.search.RequestNumber.value == "")
  {
    alert("Please enter a valid number.");
    document.search.RequestNumber.focus();
    return (true);
  }
  if (fClick == false) 
  {
	 fClick = true;
	 document.search.ClickFlag.value = "YES";
	 document.search.submit();				
	}
}

function SubmitClickFlagNumber() 
{
  if (document.search.OrderNumber.value == "")
  {
    alert("Please enter a valid number.");
    document.search.OrderNumber.focus();
    return (true);
  }
  if (fClick == false) 
  {
	 fClick = true;
	 document.search.ClickFlag.value = "YES";
	 document.search.submit();				
	}
}

function SubmitClickFlagNumberRange() 
{
  if (parseInt(document.search.StartNumber.value) > parseInt(document.search.EndNumber.value)) 
    {
      alert("The start number should be less than or equal to the end number.");
      document.search.StartNumber.focus();
	  return false;
    }
  else 
    {
      if (document.search.StartNumber.value == "" || document.search.EndNumber.value == "") 
       {
         alert("Both fields must be entered.");
         document.search.StartNumber.focus();
         return false;
       }  
    }
    
   if (fClick == false) 
   {
	 fClick = true;
	 document.search.ClickFlag.value = "YES";
	 document.search.submit();				
	}
}

function SubmitClickFlagGeneral() 
{
   if (fClick == false) 
   {
	 fClick = true;
	 document.search.ClickFlag.value = "YES";
	 document.search.submit();				
	}
}

function SubmitClickFlag(frmName) 
{
   if (fClick == false) 
   {
	 fClick = true;
	 document.frmName.ClickFlag.value = "YES";
	 document.frmName.submit();				
	}
}


function SubmitClickFlagAmount() 
{
  if (document.search.Amount.value == "")
  {
    alert("Please enter a valid amount.");
    document.search.Amount.focus();
    return (false);
  }
   if (fClick == false) 
   {
	 fClick = true;
	 document.search.ClickFlag.value = "YES";
	 document.search.submit();				
	}
}

function SubmitClickFlagAmountRange() 
{
  if (parseFloat(document.search.LowerAmount.value) > parseFloat(document.search.UpperAmount.value)) 
    {
      alert("The lower amount should be less than or equal to the upper amount.");
      document.search.LowerAmount.focus();
	  return false;
    }
  else 
    {
      if (document.search.LowerAmount.value == "" || document.search.UpperAmount.value == "") 
       {
         alert("Both fields must be entered.");
         document.search.LowerAmount.focus();
         return false;
       }  
    }
    
   if (fClick == false) 
   {
	 fClick = true;
	 document.search.ClickFlag.value = "YES";
	 document.search.submit();				
	}
}
