function isEmpty(inputstr){
  if (inputstr == "" || inputstr == null) {
  	alert("The selected field cannot be left empty.")
  	
  	return true
  }
  return false
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }


//Allows for dash, period, comma, tick mark, parenthesis, semicolon, colon, + sign, ampersand, %

function AlphaTextbox(checkStr) {
  var isNot="!@#$^*_=`~\{}|][/?<>";
  var invalid = false;
  		
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < isNot.length;  j++)
      if (ch == isNot.charAt(j))
        break;
    if (j != isNot.length)
    {
      invalid = true;
      break;
    }
   }
    if (invalid == true) {
    alert("Please use alphanumeric characters only in the selected field.\nNo special characters are allowed.")
    return true
    }

return false
}

// This function determines if the string passed in is a valid
// US zip code.  It accepts either ##### or #####-####.  If the
// string is valid, it returns true, else false.

function isZipcode(strZip)
{
	var s = strZip.toString();
        var invalid = false
        
	if (s.length != 5 && s.length != 10){
		// inappropriate length
		invalid = true;
        }

	for (var i=0; i < s.length; i++){
		if ((s.charAt(i) < '0' || s.charAt(i) > '9') && s.charAt(i) != '-'){
			invalid = true;
                        break;
                }       
        }              
        if (invalid == true) {
        alert("Please enter a valid zip code.")
        return true
        }
return false        	
}

function isPosInteger(str)
{
	var s = str.toString();        

	for (var i=0; i < s.length; i++)
	{
		if (s.charAt(i) < '0' || s.charAt(i) > '9')
		{
			//alert("Please enter a valid quantity")
			//removed so that this wouldn't display
			return false
    }       
  }                      
return true        	
}


function isPhoneNumber(str){
	
       var s = str.toString();
       valid = false;
       
       if(isPosInteger(s.substr(0,3)) && s.substr(3,1) == "-" && isPosInteger(s.substr(4,3)) && s.substr(7,1) == "-" && isPosInteger(s.substr(8,4)) && s.length==12){
       	valid = true
       }
       if (valid == false) {
        alert("Please enter phone number in the following format: XXX-XXX-XXXX")
        return false
       }
       
return true
}

// Email address must be of form a@b.c.d ... in other words:
// * there must be at least one character before the @
// * there must be at least one character before and after the periods
// * the characters @ and . are both required

function isInternetEmail(s)
{  
    if (isWhitespace(s)) return false;
    
  //There must be >= 1 character before @, so we start looking at character position 1 
    var i = 1;
    var sLength = s.length;

  //Look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

  //look for .
    var dots = 0
    while ((i < sLength) && (s.charAt(i) != "."))
    { 
    i++
    }
    
    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
   
    if (dots > 0) return false;
    else return true;
}

// Returns true if string s is empty or whitespace characters only.

function isWhitespace(s)
{   
    var i;
    for (i = 0; i < s.length; i++)
    {   
	    var c = s.charAt(i);
  	  if (c == " ") return true;
    }
    return false;
}

function isURL(argvalue) {

  if (argvalue.indexOf(" ") != -1)
    return false;
  else if (argvalue.indexOf("http://") == -1)
    return false;
  else if (argvalue == "http://")
    return false;
  else if (argvalue.indexOf("http://") > 0)
    return false;

  argvalue = argvalue.substring(7, argvalue.length);
  if (argvalue.indexOf(".") == -1)
    return false;
  else if (argvalue.indexOf(".") == 0)
    return false;
  else if (argvalue.charAt(argvalue.length - 1) == ".")
    return false;

  if (argvalue.indexOf("/") != -1) {
    argvalue = argvalue.substring(0, argvalue.indexOf("/"));
    if (argvalue.charAt(argvalue.length - 1) == ".")
      return false;
  }

  if (argvalue.indexOf(":") != -1) {
    if (argvalue.indexOf(":") == (argvalue.length - 1))
      return false;
    else if (argvalue.charAt(argvalue.indexOf(":") + 1) == ".")
      return false;
    argvalue = argvalue.substring(0, argvalue.indexOf(":"));
    if (argvalue.charAt(argvalue.length - 1) == ".")
      return false;
  }

  return true;

}

//Allows for dash, period, comma, tick mark, parenthesis, semicolon, colon, + sign, ampersand, %

function isHTMLTag(checkStr) {
  var isNot="<>";
  var invalid = false;
  		
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < isNot.length;  j++)
      if (ch == isNot.charAt(j))
        break;
    if (j != isNot.length)
    {
      invalid = true;
      break;
    }
   }
    if (invalid == true) {
    alert("HTML characters are not allowed.")
    return true
    }

return false
}
