/*
 ****************************************************************************
 * Project Code:  NINJA_Fishing_Report/235235
 
 * File Name: Validate.js
 
 * Description:Java Script file that contains client side validation scripts.
 *			   Validations for special characters and numeric characters,
 *			   mobile number,Zip code and Email address are maintained in this
 *			   file.

 * Author: Bhargav
 
 * Copyright (c) 2004 EximSoft TechnoLogies pvt. ltd.
 
 * Created on:28/06/2004
 
 * Current Version:00.00.00
 
 * Last Modified on:

 * Ver			Date		Author		Change Description
 * 00.00.00		28/06/2004	Bhargav		Initial Draft
 ****************************************************************************
 */

/**
 * Function that is used to check for special characters.
 * Characters  like !@#$%^&*()_ are special characters
 */
function checkSpecialChars(strData,message)
 {
/**
  *Check for some special characters in  Name Field
  */
  var i;
	for(i=0;i<strData.length;i++)
	  {
		if(strData.charAt(i)==";" || strData.charAt(i)=="!" || strData.charAt(i)=="?" 
								   || strData.charAt(i)=="*" || strData.charAt(i)=="#"
								   || strData.charAt(i)=="$" || strData.charAt(i)=="%"
								   || strData.charAt(i)=="~" || strData.charAt(i)=="`"
								   || strData.charAt(i)==">" || strData.charAt(i)=="<"
								   || strData.charAt(i)=="=" || strData.charAt(i)=="-"
								   || strData.charAt(i)=="+" || strData.charAt(i)=="/"
								   || strData.charAt(i)=="^" || strData.charAt(i)=="("
								   || strData.charAt(i)==")" ||strData.charAt(i)=="_")
		  {
		   alert(message);
		   return false;
		  }
 	  }
 	  if(i == strData.length){
 	  	return true;
 	  }

 }

 /**
 * Function that is used to check for special characters.
 * Characters  like !$%^&*()+=-~`'|< > ?are special characters
 */
function checkSpecialCharsAddress(strData,message)
 {
/**
  *Check for some special characters in  Name Field
  */
	for(var i=0;i<strData.length;i++)
	  {
		if(strData.charAt(i)=="!" || strData.charAt(i)=="$" || strData.charAt(i)=="?" 
								   || strData.charAt(i)=="*" || strData.charAt(i)=="%"
								   || strData.charAt(i)=="^" || strData.charAt(i)=="&"
								   || strData.charAt(i)=="(" || strData.charAt(i)==")"
								   || strData.charAt(i)==">" || strData.charAt(i)=="<"
								   || strData.charAt(i)=="=" || strData.charAt(i)=="-"
								   || strData.charAt(i)=="+" || strData.charAt(i)=="'"
								   || strData.charAt(i)=="~" || strData.charAt(i)=="`"||strData.charAt(i)=="|")
		  {
		   alert(message);
		   return false;
		  }
 	  }

 }
 
 /**
  * Function to check for numeric characters
  */
 function checkNumericChars(strData,message)
 {
 
 /**
  *Check for some numeric characters in Name Field
  */
	for(var i=0;i<strData.length;i++)
	  {
		if(strData.charAt(i)=="0" || strData.charAt(i)=="1" || strData.charAt(i)=="2" 
								   || strData.charAt(i)=="3" || strData.charAt(i)=="4"
								   || strData.charAt(i)=="5" || strData.charAt(i)=="6"
								   || strData.charAt(i)=="7" || strData.charAt(i)=="8"
								   || strData.charAt(i)=="9")
		  {
		   alert(message);
		   return false;
		  }
 	  }

 }
/**
 * Function to validate the Email
 */

function ValidateEmail(entered)
{
 with (entered)
 {
	mailChecker =  '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@.-_?+';
	for (i=0; i < entered.length; i++)
		if(mailChecker.indexOf(entered.charAt(i)) < 0)
		{
			/*if (alertbox != "")
			{
				alert(alertbox);
			}*/
			alert('Invalid Email');
			return false;
		}
	apos=entered.indexOf("@");
	lpos=entered.lastIndexOf("@");
	dotpos=entered.lastIndexOf(".");
	lastpos=entered.length-1;
	if (apos<1 || (dotpos-apos)<2 || (lastpos-dotpos)>3 || (lastpos-dotpos)<2 || apos != lpos )
	{
		/*if (alertbox)
		{
			alert(alertbox);
		}*/
		alert('Invalid Email');
		return false;
	}
	else
	{
		return true;
	}
 }//end with
 
}//end function

/**
 * Method to Perform validations for Phone number
 * and Zip Code.ZIP Code must contain 5 numbers and 
 * mobile number must be 5 10 digits without any special 
 * characters.
 */
function validateData(data,message)
{
	var dataPattern="0123456789";
	var i=0;
	var j=0;
	var pos=1;
	while(i<data.length && pos==1)
	 {
		for(j=0;j<dataPattern.length;j++)
		{
			if(data.charAt(i) == dataPattern.charAt(j))
			{
			   i++;
			   pos=1;
			   break;
			}
			else
			{
				pos=0;
			}
		}
	}//End while
	if(i<data.length)
	{
		alert(message);
		return false;
	}
	return true;
		
}//End function

function trimAll( strValue ) {
	 	var objRegExp = /^(\s*)$/;
	
	    //check for all spaces
	    if(objRegExp.test(strValue)) {
	       strValue = strValue.replace(objRegExp, '');
	       if( strValue.length == 0)
	          return strValue;
	    }
	
	   //check for leading & trailing spaces
	   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
	   if(objRegExp.test(strValue)) {
	       //remove leading and trailing whitespace characters
	       strValue = strValue.replace(objRegExp, '$2');
	    }
	  return strValue;
	}

