// end of numbers without hypen

function validstring(strvalue,strname)
{
 if (strvalue == "")
 {
    msg = "You must type the " + strname + "!"
    alert(msg)
    return false
 }
 else
 {
 badchar = " "
 cntr = 0
 for (Count=0; Count < strvalue.length; Count++)
 {
   checkchar= strvalue.substring (Count, Count+1);
   if (badchar.indexOf (checkchar) != -1) 
   {
     cntr = cntr + 1
   }
 }
 if (cntr == strvalue.length)
 {
   msg = "The " + strname + " you typed is invalid!"
   alert(msg)
   return false
 }
 }
 return true;
}

//check for invalid characters
  function validUsername(name)
  {
    invalidChars = " /:,;!#$%&*()?<>+=\-_|'@~`."
    if (name == "")
    {
      return false
    }
    for  (i=0; i<invalidChars.length; i++)
    {
      badChar = invalidChars.charAt(i)
      if (name.indexOf(badChar,0)  > -1)
      {                 
        return false
      }
    }
    if (7 > name.length)
    {
      return false
    }
    return true
  }
  
//VALID EMAIL
function validmail(mail){
  if ((mail != "") && (mail.indexOf('.',0) == -1 || mail.indexOf('.',0) == -1 || mail.indexOf('@',0) == -1 || mail == "")){    
    return false
  }
  else{
		return(true)
	}
}
// end of email
//========================================================
//validate numbers
function validnumonly (num){
	goodchar="1234567890"
	for (Count=0; Count < num.length; Count++) {
		checkchar= num.substring (Count, Count+1);
			if (goodchar.indexOf (checkchar)==-1){
			return (false);
		}
//		else{
	//		alert('good char');
		
		//}
	}
			return(true)
}
// end of zip code 
//========================================================
//validate zip code
function validzip (zip){
	if ((zip.length != 5) && (zip.length != 10)) {
		//alert("Zip code you entered is invalid")
		return false
	}
	goodchar="1234567890- ";
	for (Count=0; Count < zip.length; Count++) {
		checkchar= zip.substring (Count, Count+1);
			if (goodchar.indexOf (checkchar)==-1){
			//alert("Zip Code you entered is invalid")
			return (false);
		}
	}
	if (zip.length == 10){
		if ((zip.substring(5,6) == "-")|| (zip.substring(5,6) == " ")){
			return (true);
		}
		else{
			//alert("Zip Code you entered is invalid")
			return (false);
		}
	}
	return (true);
}
// end of zip code 
//========================================================
// validate range
function isWithinRange (InString, RangeMin, RangeMax)  {
	if ((InString == null) || (InString == "")) 
		return (false) 
	if((InString>=RangeMin) && (InString<=RangeMax))
		return (true);
	else
		return (false);
}
// end of range
//=========================================================
// validate month

/*function validmonth(month)
{
  if (!isWithinRange(month, 1, 12))
  {
    return false
  }
  goodchar="1234567890 ";
    for (Count=0; Count < month.length; Count++)
    {
    checkchar= month.substring (Count, Count+1);
	if (goodchar.indexOf (checkchar)==-1) 
        {
          return (false);
        }
  }
  return (true);
}*/

// validate month

function validmonth(dobday,dobmonth,dobyear)
{
//var dobmonth,dobday,dobyear;
  if ((dobmonth==1) | (dobmonth==4) | (dobmonth==6) | (dobmonth==9) | (dobmonth==11))
	{
		// 30 days per month
		if (dobday > 30){
		alert("The day cannot be greater than 30 for the given month value!")
		return(false)
		}
	}
	if (dobmonth==2)
	{
		// 28 days per month except leap year
		if (dobyear % 100 == 0)
		{
		  if (dobyear % 400 == 0)
		  {
		    if (dobday > 29)
		    {
		      alert("The day cannot be greater than 29 for the given month and year value!")
			    return(false)
			  }
	    }
	    else
		  {
	  	  if (dobday > 28)
			  {
			    alert("The day cannot be greater than 28 for the given month and year value!")
			    return(false)
			  }	
		  }
	  }
		else if (dobyear % 100 != 0)
		{
		  if (dobyear % 4 == 0)
		  {
		    if (dobday > 29)
		    {
		      alert("The day cannot be greater than 28 for the given month and year value!")
			    return(false)
			  }
			}
		  else
		  {
		    if (dobday > 28)
		  	{
		  	  alert("The day cannot be greater than 28 for the given month and year value!")
		  	  return(false)
		  	}	
  		}
	  }
	}
	return(true)
}

// end of zip code 
//========================================================
// validate day
function validday(day)
{
  if (!isWithinRange(day, 1, 31))
  {
    return false
  }
  goodchar="1234567890 ";
    for (Count=0; Count < day.length; Count++)
    {
    checkchar= day.substring (Count, Count+1);
	if (goodchar.indexOf (checkchar)==-1) 
        {
          return (false);
        }
  }
  return (true);
}
// end of zip code 
//========================================================
// validate year
function validyear(year)
{
    goodchar = " 1234567890"
    if (year == "")
    {
      return false
    }
    for (Count=0; Count < year.length; Count++)
    {
    checkchar= year.substring (Count, Count+1);
	if (goodchar.indexOf (checkchar)==-1) 
        {
          return (false);
        }
  }
  return (true);
}
// end of zip code 
//========================================================
// validate ssn
function validssn(ssn){
    if (ssn.length == 11){
		goodchar = " -1234567890"
		for (Count=0; Count < ssn.length; Count++){
			checkchar= ssn.substring (Count, Count+1);
			if (goodchar.indexOf (checkchar)==-1){
				return (false);
			}
		}
		// check for position of hyphens
		if (((ssn.substring(3,4) == "-") && (ssn.substring(6,7) == "-")) || ((ssn.substring(3,4) == " ") && (ssn.substring(6,7) == " "))){
			return true;
			alert("equal");
		}
		else{
			return (false);
			alert ("not equal");
		}
	}
	else{
		return (false);
	}
}
// end of ssn
//========================================================
// validate tin
function validtin(tin){
    if (tin.length == 10){
		goodchar = " -1234567890"
		for (Count=0; Count < tin.length; Count++){
			checkchar= tin.substring (Count, Count+1);
			if (goodchar.indexOf (checkchar)==-1){
				return (false);
			}
		}
		// check for position of hyphens
		if ((tin.substring(2,3) == "-") || (tin.substring(2,3) == " ")){
			return true;
			alert("equal");
		}
		else{
			return (false);
		}
	}
	else{
		return (false);
	}
}
// end of zip code 
//========================================================
// validate phone number/fax number/pager/cellular phone
function validphone(phone)
{
    goodchar = "().-+1234567890"
    for (Count=0; Count < phone.length; Count++)
    {
    checkchar= phone.substring (Count, Count+1);
	if (goodchar.indexOf (checkchar)==-1) 
        {
          return (false);
        }
  }
  return (true);
}
// end of zip code 
//========================================================
// validate home phone
function validhomeph(homeph)
{
    goodchar = " ()-+1234567890"
    if (homeph == "")
    {    
       return false
    }
    for (Count=0; Count < homeph.length; Count++)
    {
    checkchar= homeph.substring (Count, Count+1);
	if (goodchar.indexOf (checkchar)==-1) 
        {
          return (false);
        }
  }
  return (true);
}
// end of home phone
//=========================================================
// validate workphone
function validworkph(workph)
{
    goodchar = " ()-+1234567890"
    if (workph == "")
    {
       return false
    }
    for (Count=0; Count < workph.length; Count++)
    {
    checkchar= workph.substring (Count, Count+1);
	if (goodchar.indexOf (checkchar)==-1) 
        {
          return (false);
        }
  }
  return (true);
}
// end of work phone
//====================================================================
//validate numbers with hypen only
function validnum(num)
{
  if (num.length==0) 
  {
    alert ("Please enter your Social Security or TIN (FIN) number!")    
    return (false);
  } 
  goodchar="1234567890-";
  for (Count=0; Count < num.length; Count++)
  {
    checkchar= num.substring (Count, Count+1);
	if (goodchar.indexOf (checkchar)==-1) 
        {
          alert("Social Security or TIN (FIN) number you entered is invalid")
	  return (false);
        }
  }
    return (true);
}
// end of numbers with hypen
//========================================================================

//validate numbers only
function validnumber(num,fieldname)
{
  if (num.length==0) 
  {
    strMsg = "Please enter the " + fieldname + "!" 	
    alert (strMsg)    
    return (false);
  } 
  goodchar="1234567890";
  for (Count=0; Count < num.length; Count++)
  {
    checkchar= num.substring (Count, Count+1);
	if (goodchar.indexOf (checkchar)==-1) 
        {
          strMsg = "The " + fieldname + " you entered is invalid!" 	
          alert(strMsg)
          return (false)
        }
  }
    return (true);
}
// end of numbers with hypen
//========================================================================

//validate date of birth
function validdob(dobmonth,dobday,dobyear){
	var date1, month1,day1,year1;
  date1 = new Date();
  month1 = date1.getMonth() + 1
  day1 = date1.getDate()
  year1 = date1.getFullYear()
  
  // year of birth should be greater then 1900
  if(dobyear < 1900){
		return(false);
  }
  //
	if (dobyear > year1){
		return(false);
	}
	if ((dobyear == year1) && (dobmonth > month1)){
			return(false);
	}
	if ((dobyear == year1) && (dobmonth == month1) && (dobday > day1)){
				return(false);
	}
	return(true);
}

/*******************************************************************************
* Below code fragment is an attempt to validate the date of birth.
switch(dobmonth - 0){
		case 1:				
		if (((dobday - 0)> 0) && ((dobday - 0)< 32)) {
			return (true);
			} 
		break;
	
		case 2:	{		   
		leapyear = (dobyear - 0)% 4; 
		if (leapyear == 0){ 
			if (((dobday - 0)>= 1) && ((dobday - 0) <= 29)) {
				return(true);
				} else{
					return(false)
				}
			} else{
				if (((dobday - 0)>=1) && ((dobday - 0)<=28)){
					return(true);
					} else {
						return(false);
						}	
			}
		}	
		break;
	
		case 3:           
		if (((dobday - 0)>= 1) && ((dobday - 0)<= 31)) {
			return (true);
			} else { 
				return (false); 
				}		
		break;
		
		case 4:           
		if (((dobday - 0)>= 1) && ((dobday - 0)<= 30)) {
			return (true);
			} else { 
				return (false); 
				}
		break;

		case 5:       
		if (((dobday - 0)>= 1) && ((dobday - 0)<= 31)) {
			return (true);
			} else { 
				return (false); 
				}
		break;

		case 6:        
		if (((dobday - 0)>= 1) && ((dobday - 0)<= 30)) {
			return (true);
			} else { 
				return (false); 
				}
		break;

		case 7:     
		if (((dobday - 0)>= 1) && ((dobday - 0)<= 31)) {
			return (true);
			} else { 
				return (false); 
				}
		break;

		case 8:    
		if (((dobday - 0)>= 1) && ((dobday - 0)<= 31)) {
			return (true);
			} else { 
				return (false); 
				}
		break;

		case 9:    
		if (((dobday - 0)>= 1) && ((dobday - 0)<= 30)) {
			return (true);
			} else { 
				return (false); 
				}
		break;

		case 10:   
		if (((dobday - 0)>= 1) && ((dobday - 0)<= 31)) {
			return (true);
			} else { 
				return (false); 
				}
		break;

		case 11:          
		if (((dobday - 0)>= 1) && ((dobday - 0)<= 30)) {
			return (true);
			} else { 
				return (false); 
				}
		break;

		case 12:   
		if (((dobday - 0)>= 1) && ((dobday - 0)<= 31)) {
			return (true);
			} else { 
				return (false); 
				}	
		break;

	}

********************************************************************************/	

//validate pin code
function validpin(pin){
	if (pin.length != 6) {
		alert("pin code you entered is invalid")
		return false
	}
	goodchar="1234567890";
	for (Count=0; Count < pin.length; Count++) {
		checkchar= pin.substring (Count, Count+1);
			if (goodchar.indexOf (checkchar)==-1){
			alert("pin Code you entered is invalid")
			return (false);
		}
	}
	return (true);
}
// end of pin code
	

