function Trim(OrigString, RetVal) 
{	
	var nos=0 ;							
	var i=0 ;
	if (OrigString.substr(0, 1)==" " || OrigString.substr(OrigString.length-1, 1)==" ") 
	{
		for (i=0, j=OrigString.length-1; i<=j;) 
		{
			LChar=OrigString.substr(i, 1) ;
			RChar=OrigString.substr(j, 1) ;
			if (LChar==" ") 
			{
				i++ ;  nos++ ;
			}
			if (RChar==" ") 
			{
				j-- ;  nos++ ;
			}
			if (LChar!=" " && RChar!=" ") 
			{
				break ;
			}
		}
	}
	
	OrigString=OrigString.substr(i, OrigString.length-nos);	
	if (RetVal!=0)
		return (OrigString) ;
	else
		return (OrigString.length) ;
}

function checkBlank(htmObj)
{
    //alert("checkBlank");
    var strValue = htmObj.value;
	var strName = htmObj.name;
	var strLength = strName.length;
	var index= strName.indexOf("txt");
    var index2 = ("txt".length) + 1;
	var msgString;
	if(index != -1 && strValue == "")
	{
         msgString = strName.substring(index+index2,strLength);
         alert(msgString+" must be provided");
         return false;
    }
}

function checkAlpha(htmObj)
{
	//alert("checkAlpha");
    var full_text="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ. "
    var len=full_text.length;
    var strValue=htmObj.value;
    var strLength = strValue.length;
    var strName = htmObj.name;
    var strLength1 = strName.length;
    var index1= strName.indexOf("txt");
    var index2 = ("txt".length)+1;
	var msgString;
    for (i=0;i<strLength;i++)
    {   
        for (k=0;k<len;k++)
        {  
           if (strValue.charAt(i) == full_text.charAt(k))
           {
                break;
           }
		    if (k == len-1)
           {
		       msgString = strName.substring(index1+index2,strLength1);
			   alert(msgString+" must be Alphabetic");
			   //htmObj.focus();
               return false;
           }
       }   
   }
}

function checkAlphaNumeric(htmObj)
{
    var full_text="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-() "
    var len=full_text.length;
    var strValue=Trim(htmObj.value);
    var strLength = strValue.length;
    var strName = htmObj.name;
    var strLength1 = strName.length;
    var index1= strName.indexOf("txt");
    var index2 = ("txt".length)+1;
    var msgString;
    for (i=0;i<strLength;i++)
    {   
        for (k=0;k<len;k++)
        {  
           if (strValue.charAt(i) == full_text.charAt(k))
           {
                break;
           }
           if (k == len-1)
           {
    		   msgString = strName.substring(index1+index2,strLength1);
	           alert(msgString+" must be AlphaNumeric");
               return false;
           }
       }   
   }
}
	
function checkNumeric(htmObj)
{
	//alert("checkNumeric");
    var bool;
    var full_text="0123456789";
    var len=full_text.length;
    var strValue=Trim(htmObj.value);
    var strLength = strValue.length;
   	var strName = htmObj.name;
    var strLength1 = strName.length;
	var index1= strName.indexOf("txt");
    var index2 = ("txt".length) + 1;
	var msgString;
    for (i=0;i<strLength;i++)
    {   
        for (k=0;k<len;k++)
        {  
           if (strValue.charAt(i) == full_text.charAt(k))
           {
                break;
           }
           if (k == len-1)
           {
    		   msgString = strName.substring(index1+index2,strLength1);
	           alert(msgString+" must be Numeric");
               return false;
           }
       }     
   }
   return true;
}

function checkPin(htmObj)
{
     var strName = htmObj.name;
	 var index =  strName.indexOf("txt");
	 var bool;
	 if(index  != -1)
	 {
         bool = checkNumeric(htmObj);
         if(bool  == true)
         {
             var strValue = Trim(htmObj.value);
             var strLength = strValue.length;    
             var strLength1 = strName.length;
             var index1= strName.indexOf("txt");
             var index2 = ("txt".length) +1;
			 
             var msgString;
             if(strLength<4  ||   strLength  >6)
             {   
                 msgString = strName.substring(index1+index2,strLength1);
                 alert(msgString+" must be 4 to 6 digit");
                 return false;
             }
             else
                 return true;
         }
         else
            return false;
     }
}

function checkPhone(htmObj)
{
	//alert("checkNumeric");
    var bool;
    var full_text="0123456789- ";
    var len=full_text.length;
    var strValue=Trim(htmObj.value);
    var strLength = strValue.length;
   	var strName = htmObj.name;
    var strLength1 = strName.length;
	var index1= strName.indexOf("txt");
    var index2 = ("txt".length) + 1;
	var msgString;
    for (i=0;i<strLength;i++)
    {   
        for (k=0;k<len;k++)
        {  
           if (strValue.charAt(i) == full_text.charAt(k))
           {
                break;
           }
           if (k == len-1)
           {
    		   msgString = strName.substring(index1+index2,strLength1);
	           alert(msgString+" must contain only numbers or space or hyphen");
               return false;
           }
       }     
   }
   return true;
}

function checkNotSelected(htmObj)
{
    var strName = htmObj.name;
    var strLength = strName.length;
    var index= strName.indexOf("sel");
    var index2 = "sel".length;
    var msgString;
    if(htmObj.options[0].selected==true)
	{
          msgString = strName.substring(index+index2,strLength);
          alert(msgString+" must be selected");
          return false;
    }
}
      	
function checkEmail(htmObj)
{
    var temp;
    var temp=Trim(htmObj.value);
    var len=temp.length;
    var username="";
    var esp="";
    var ext="";
    var start;
    var i;
    if (len > 0)
    { 
        for(i=0; i<len; ++i)
        {
            if (temp.charAt(i)!="@")
            {
                username+=temp.charAt(i);
            }
            else if (temp.charAt(i)=="@")
            {   start=++i
                for(i=start;i<len;i++)
                {   if (temp.charAt(i)==".")
                    {   start=++i;
                        for(i=start;i<len;++i)
                        ext+=temp.charAt(i);
                    }
                    esp+=temp.charAt(i);
                }
            }
        }
        var userlen=username.length;
        var esplen=esp.length;
        var extlen=ext.length;
        if( userlen<1 || esplen<1 || extlen<2 )
        {
            alert("Please Enter a Valid Email ID");
            htmObj.focus();
            return false; 
        }
        else 
        {
            return true;
        }
    }
    //else
    //{
    //    alert("Please Enter a Valid Email ID");
    //    htmObj.focus();
    //    return false;
    //}
}

function checkLength(htmObj)
{
	var strValue = Trim(htmObj.value);
    var strLength = strValue.length; 
    var strName = htmObj.name;
    var strLength1 = strName.length;
    var index1 = strName.indexOf("txt");
    var index2 = ("txt".length)+1;
	var msgString; 
	if((strLength < 3) || (strLength > 8))
    {   
		msgString = strName.substring(index1+index2,strLength1);
        alert(msgString + " must have length between 3 to 8");
		htmObj.select();
        return false;
    }
}

function passConf(htmObj1,htmObj2)
{   
 if(htmObj2.value != htmObj1.value)
    {
        alert('Password does not match');
        htmObj2.select()
        return false;
    }
    else
        return true;
}
		
function checkNonEntryOfValues(htmObj)
{
	 //alert("checkNonEntryOfValues");
     var strName = htmObj.name;
	 var index =  strName.indexOf("txt");
	 var bool;
	 if(index  != -1)
	 {
         bool = checkBlank(htmObj);
         return bool;
     }
	 else
	 {
         bool = checkNotSelected(htmObj);
         return bool;
     }
}

function checkPreSubmission()
{
   var bool; 
   var i;
   var index;
   with(document.forms[0])
   {      
      //alert("form"); 
      for( i = 0;i<elements.length;i++)
      {  
          strName = elements[i].name;
		  strValue = elements[i].value; 
		  index = strName.indexOf("man");
		  //alert(index);
 		  //if(index != -1 )
		  if(index == 0)
          {
		  	 //alert("man");
         	 bool =  checkNonEntryOfValues(elements[i]);
			 if( bool == false) 
			 { 
                 elements[i].focus();
                 return false;
			 }
		 }
		 index = strName.indexOf("txt1");
		 if(index != -1)
		 {
         bool = checkNumeric(elements[i]);
	     	 if( bool == false) 
			 {    
			    elements[i].focus();
                return false;
             }
		 }
		 index = strName.indexOf("txt2");
		 if(index != -1)
		 {
		     //alert("txt2");
     			 bool = checkAlpha(elements[i]);
             if( bool == false) 
             { 
                 elements[i].focus();
                 return false;
             }
		 }
		 index = strName.indexOf("txt3");
		 if(index != -1)
		 {
             bool = checkAlphaNumeric(elements[i]);
             if( bool == false) 
             { 
                 elements[i].focus();
                 return false;
             }
		 }
		  index = strName.indexOf("txt4");
		 if(index != -1 && strValue != "")
		 {
		     //alert("checkPin");
             bool = checkPin(elements[i]);
             if( bool == false) 
             { 
                 elements[i].focus();
                 return false;
             }
		 }
		 index = strName.indexOf("txt5");
		 if(index != -1 && strValue != "")
		 {
             bool = checkEmail(elements[i]);
             if( bool == false) 
             { 
                 elements[i].focus();
                 return false;
             }
		 }
		 
		 index = strName.indexOf("txt6");
		 if(index != -1 && strValue != "")
		 {
             bool = checkPhone(elements[i]);
             if( bool == false) 
             { 
                 elements[i].focus();
                 return false;
             }
		 }
		
		 index = strName.indexOf("txt0Password");
		 if(index != -1)
		 {
             bool = checkLength(elements[i]);
             if( bool == false) 
             { 
                 elements[i].focus();
                 return false;
             }
		 }
		 
		 index = strName.indexOf("Confirm");
		 if(index != -1)
		 {
             bool = passConf(elements[i-1],elements[i]);
             if( bool == false) 
             { 
                 elements[i].focus();
                 return false;
             }
		 }
		 
     }
  }
}
