// JavaScript Document

//validateField(name,val,isBlank,isNumeric,echeck,checkprice,cantbe0)

function validateField(nam,str,bla,num,ema,pri,zer)
{
	
	if (bla == 1) {
		if (isBlank(str)) { 
			alert(nam+" cannot be blank - please fill in this field and try again");  
			return false;
		}
	}
	if (num == 1) {
		if (!(IsNumeric(str))) { 
			alert(nam+" must be a number only - please fill in this field and try again");  
			return false;
		}
	}
	if (ema == 1) {
		if (echeck(str)) { 
			alert(nam+" is not a valid email address - please fill in this field and try again");  
			return false;
		}
	}
	
	if (pri == 1) {
		if (!(IsPrice(str))) { 
			alert(nam+" is not a valid price - please fill in this field and try again");  
			return false;
		}
	}
	if (zer == 1) {
		if (str==0) { 
			alert("You must select and option for "+nam);  
			return false;
		}
	} 
	
}

function IsNumeric(strString)
{
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

function IsPrice(strString)
{
   var strValidChars = "0123456789.";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
}

function isBlank(s)
{
	var len=s.length;
	var i;
	for(i=0;i<len;++i)
	{
		if(s.charAt(i)!=" ") return false;
	}
	return true;
}

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)
	{
	  return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	{
	   return false
	}

	 if (str.indexOf(at,(lat+1))!=-1)
	 {
	   return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	 {
	   return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1)
	 {
	   return false
	 }
	
	 if (str.indexOf(" ")!=-1)
	 {
		return false
	 }

	 return true					
}

function check_range(obj_val, min_val, max_val)
{
	//if value is in range then return true else return false
	
	if (obj_val.length == 0) return true;
	
	if (!check_number(obj_val))
	{
		return false;
	}
	else
	{
		return (number_range((eval(obj_val)), min_val, max_val));
	}
	
	//All tests passed, so...
	return true;
}
