//----------------------------------------------
// Copyright TaylorMade Systems June 2002
// All Rights Reserved
//----------------------------------------------

// check for no input
function isEmpty(inputStr)
{
    if(inputStr == null || inputStr == "")
        return(true);
    return(false);
}

// check for positive integer digits only
function isPosInteger(inputVal)
{
    var inputStr = inputVal.toString();
    for(var i=0; i<inputStr.length; i++)
    {
        var oneChar = inputStr.charAt(i);
        if(oneChar < "0" || oneChar > "9")
            return(false);
    }
    return(true);
}

// check for either positive or negative integer
function isInteger(inputVal)
{
    var inputStr = inputVal.toString();
    for(var i=0; i<inputStr.length; i++)
    {
        var oneChar = inputStr.charAt(i);
        if(i == 0 && oneChar == "-")
            continue;
        else if(oneChar < "0" || oneChar > "9")
            return(false);
    }
    return(true);
}

// check for either positive or negative decimal
function isNumber(inputVal)
{
    var oneDecimal = false;
    var inputStr = inputVal.toString();
    for(var i=0; i<inputStr.length; i++)
    {
        var oneChar = inputStr.charAt(i);
        if(i == 0 && oneChar == "-")
            continue;
        else if(oneChar == "." && !oneDecimal)
        {
            oneDecimal = true;
            continue;
        }
        else if(oneChar < "0" || oneChar > "9")
            return(false);
    }
    return(true);
}

// check for value in a range
function isInRange(inputVal,R1,R2)
{
    if(isInteger(inputVal))
    {
        var num = new Number(inputVal);
        var r1  = new Number(R1);
        var r2  = new Number(R2);
        if(num >= r1 && num <= r2)
        {
            return(true);
        }
    }
    return(false);
}

// check for value in a range
function isDate(inputVal)
{
   var str = inputVal.toString();
   if(str.length != 10)
   {
       window.alert("Missing or Invalid date format, must be at least 10 characters 'MM/DD/YYYY'");
       return(false);
   }

   // 0123456789
   // mm/dd/yyyy
   var mon = str.substring(0,2);
   var delm1 = str.substring(2,3);
   var day = str.substring(3,5);
   var delm2 = str.substring(5,6);
   var yr = str.substring(6,10);

   if(delm1 != "/")
   {
       window.alert("Delimiter Error on date: "+delm1);
       return(false);
   }

   if(delm2 != "/")
   {
       window.alert("Delimiter Error on date: "+delm2);
       return(false);
   }

   var i = new Number(mon);
   if(isNaN(i) || i<1 || i>12)
   {
       window.alert("Month bad value: mm/dd/yyyy="+mon+delm1+day+delm2+yr);
       return(false);
   }

   i = new Number(day);
   if(isNaN(i) || i<1 || i>31)
   {
       window.alert("Day bad value: mm/dd/yyyy="+mon+delm1+day+delm2+yr);
       return(false);
   }

   i = new Number(yr);
   if(isNaN(i) || i<1900 || i>2100)
   {
       window.alert("Year bad value: mm/dd/yyyy="+mon+delm1+day+delm2+yr);
       return(false);
   }

   return(true);
}

// check for value in a range
function isTime(inputVal)
{
   var str = inputVal.toString();
   if(str.length != 5)
   {
       window.alert("Missing or Invalid time format, must be at least 5 characters 'HH:MM'");
       return(false);
   }

   // 01234
   // hh:mm
   var hh = str.substring(0,2);
   var delm1 = str.substring(2,3);
   var mm = str.substring(3,5);

   if(delm1 != ":")
   {
       window.alert("Delimiter Error on time: "+delm1);
       return(false);
   }

   var i = new Number(hh);
   if(isNaN(i) || i<0 || i>24)
   {
       window.alert("Hour value bad: hh:mm="+hh+delm1+mm);
       return(false);
   }

   i = new Number(mm);
   if(isNaN(i) || i<0 || i>59)
   {
       window.alert("Minute alue bad: hh:mm="+hh+delm1+mm);
       return(false);
   }

   return(true);
}
