﻿
 // ---------- THIS IS JAVASCRIPT FILE USED FOR CONTROL VALIDATION ----------------------
 //       CODE GENERATED BY RAJEEV KUMAR( SOIGNE WEB APPLICATION DEVELOPER) ON 09-12-2008 


//  FUNCTION RETURNS THE SPECIFIC CONTROLS INPUT STRING IS EMPTY OR NOT.
//  PARAMETER NAME :  argServerControlID( REQUIRES  CONTROLID )
//  PARAMETER NAME :  argDisplayMessage ( REQUIRES MESSAGE FOR SHOW).
function ISControlsEmptyORblank(argServerControlID, argDisplayMessage)
     {
        if(document.getElementById(argServerControlID).value == "")
          {
             alert(argDisplayMessage);
             document.getElementById(argServerControlID).focus();
             return false;
          }         
         return true;        
     }
     
 // FUNCTION RETURNS TRUE IF THE INITIAL INPUT VALUE SAME AS NOT DESIRED.
 // PARAMETER NAME : argServerControlID (REQUIRES CONTROLID)
 // PARAMETER NAME : argDisplayMessage ( REQUIRES MESSAGE FOR DISPALY)
 // PARAMETER NAME : argInitialValue    ( REQUIRES INITIAL VALUE FOR MATCH).
 function IsValidControlInputString(argServerControlID, argDisplayMessage, argInitialValue)
     {
       if(document.getElementById(argServerControlID).value == argInitialValue)
       {
          alert(argDisplayMessage);
          document.getElementById(argServerControlID).focus();
          return false;
       }
      return true; 
    }
          
//  FUNCTION RETURNS THIS PARTICULAR CONTROLS INPUT STRING HAS SOME SPECIAL OR INVALID CHARACTER STRING
//  PARAMETER NAME : argServerControlID( REQUIRES CONTROLID).
//  PARAMETER NAME : argDisplayMessage ( REQUIRES MESSAGE FOR SHOW).
function ISSpecialCharacterINControlsInput(argServerControlID, argDisplayMessage)
      {   
          var lSpecialCharacter = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?0123456789"; 
          
          for(var lInteger = 0; lInteger < document.getElementById(argServerControlID).value.length ; lInteger++)      
             {
               if(lSpecialCharacter.indexOf(document.getElementById(argServerControlID).value.charAt(lInteger)) !=-1)
                {             
                  alert(argDisplayMessage);
                  document.getElementById(argServerControlID).focus();
                  return false;                         
                 }               
             }
         return true;      
      } 
 
//  FUNCTION RETURNS THIS PARTICULAR CONTROLS INPUT STRING EXIST INTEGER TYPE VALUE OR NOT.
//  PARAMETER NAME : argServerControlID( REQUIRES CONTROLID).
//  PARAMETER NAME : argDisplayMessage ( REQUIRES MESSAGE FOR SHOW).     
 function ISIntegerTypeControlInput( argServerControlID, argDisplayMessage)
      {
              
       for(var lInteger = 0; lInteger < document.getElementById(argServerControlID).value.length ; lInteger++)
         {
            var IntegerFound = document.getElementById(argServerControlID).value.charAt(lInteger);  
                      
            if(!(IntegerFound >="0" && IntegerFound <="9"))
            {
              alert(argDisplayMessage);
              document.getElementById(argServerControlID).focus();
              return false;              
            }              
         }
       return true;
      }  
  
 //  FUNCTION RETURNS THIS PARTICULAR CONTROLS INPUT STRING AS INTEGER TYPE VALUE AND WITHIN RANGE OR NOT.
 //  PARAMETER NAME : argServerControlID( REQUIRES CONTROLID).
 //  PARAMETER NAME : argDisplayMessage ( REQUIRES MESSAGE FOR SHOW).     
 function CheckInputStringRange(argServerControlID, argDisplayMessage, argMinRange, argMaxRange)
     {          
         var lInputString = document.getElementById(argServerControlID).value;
         var lInputStringLength = lInputString.length;
         
         if(argMinRange >lInputStringLength)
           {
             alert(argDisplayMessage);
             document.getElementById(argServerControlID).focus();
             return false;
           } 
          if(argMaxRange <lInputStringLength)
           {
             alert(argDisplayMessage);
             document.getElementById(argServerControlID).focus();
             return false;
           }             
          return true;
     }    
 
  //  FUNCTION RETURNS THIS PARTICULAR CONTROLS INPUT STRING IS VALID FOR EMAIL.
  //  PARAMETER NAME : argServerControlID( REQUIRES CONTROLID).
  //  PARAMETER NAME : argDisplayMessage ( REQUIRES MESSAGE FOR SHOW).           
 function ValidateEmail(argServerControlID, argDisplayMessage)
     {
          var lEmailInputString =/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/; 
                   
          var lMatchArray = document.getElementById(argServerControlID).value.match(lEmailInputString);
          
          if(lMatchArray == null)
          {  
            alert(argDisplayMessage);
            document.getElementById(argServerControlID).focus();                    
            return false;
          }                 
         return true;        
     } 

     
  // FUNCTION RETURNS TRUE IF INPUT STRING OF BOTH CONTROLS IS SAME
  // PARAMETER NAME : argServerControlID1( REQUIRES CONTROLID) .
  // PARAMETER NAME : argServerControlID2 ( REQUIRES SECOND CONTROLID FOR MATCH). 
  // PARAMETER NAME : argDisplayMessage   ( REQUIRES MESSAGE FOR DISPLAY FOR SHOW).
 function IsStringMatching( argServerControlID1, argSeverControlID2, argDisplayMessage)
     {     
         var lFirstInputString = document.getElementById(argServerControlID1).value;
         var lSecondInputString = document.getElementById(argSeverControlID2).value;
      
          if(lFirstInputString != lSecondInputString)      
          {       
             alert( argDisplayMessage);
             document.getElementById(argServerControlID2).focus(); 
             return false;
          }
         return true;
     }
     
 // RETURNS THIS PARTICULAR CONTROL IS NOT ALLOWED CUT, COPY AND PASTE OF INPUT STRING
 // PARAMETER NAME : argControlEvent( REQUIRES CONTROL EVENT) .   
 function DisAllowedCutORCopyORPaste(argControlEvent)
    {
     var lKeyValue = (argControlEvent.which?argControlEvent.which:((argControlEvent.charCode)?argControlEvent.charCode:((argControlEvent.keyCode)?argControlEvent.keyCode:0)));

         if((argControlEvent.ctrlKey == true && lKeyValue==67)||(argControlEvent.ctrlKey == true && lKeyValue==88)||(argControlEvent.ctrlKey == true && lKeyValue==86))
         {  
            return false;
         }
       return true;
    }
    
 // FUNCTION RETURNS, THE PARTICULAR CHECKBOX IS CHECKED OR NOT
 // PARAMETER NAME : argServerControlID( REQUIRES CONTROLID) .
 // PARAMETER NAME : argDisplayMessage ( REQUIRES MESSAGE FOR DISPLAY OR SHOW).  
 function IsParticularCheckboxChecked(argServerControlID, argDisplayMessage)
    { 
      var ISChecked = document.getElementById(argServerControlID).checked ;
      
         if(!ISChecked)
          {
             alert(argDisplayMessage);
             document.getElementById(argServerControlID).focus();
             return false; 
          }           
       return true;
    }  


 // FUNCTION RETURNS, THE PARTICULAR CONTROL INPUTSTRING HAS VALID DATE OR NOT.
 // PARAMETER NAME : argServerControlID( REQUIRES CONTROLID) .
 
 function ISValidDate(argServerControlID)
  {
     // CALLING HERE ISDate() Function.
    if( ISDate(document.getElementById(argServerControlID).value) == false)
       {
          document.getElementById(argServerControlID).focus();
          return false;
       }    
    return true;
  }

function ISDate( argDateInputString)
   { 
      var lSplitCharacter ="/";
      var lMinimumYear = 1900;
      var lMaximumYear = 2100;
      
      var daysInMonth = DaysArray(12) //  CALLING DaysArray() function.
      
      var lPosition1 =  argDateInputString.indexOf(lSplitCharacter);
      var lPosition2 =  argDateInputString.indexOf(lSplitCharacter, lPosition1 + 1);
      
      var lMonthString =  argDateInputString.substring(0, lPosition1);
      var lDateString = argDateInputString.substring(lPosition1 + 1, lPosition2);   
      var lYearString = argDateInputString.substring(lPosition2 + 1);
      
      if(lDateString.charAt(0) =="0" && lDateString.length >1)
        {
          lDateString = lDateString.substring(1);
        }   
        
      if(lMonthString.charAt(0)=="0" && lMonthString.length >1)
        {
          lMonthString = lMonthString.substring(1);
        } 
        
       for( var lInteger = 0 ; lInteger <= 3 ; lInteger ++)
        {
          if(lYearString.charAt(0) == "0" && lYearString.length > 1)
           {
             lYearString = lYearString.substring(1);
           }
        }
        
        month = parseInt(lMonthString);
        day = parseInt(lDateString);
        year = parseInt(lYearString);
        
        if( lPosition1 == -1 || lPosition2 == -1)
         {
            alert("The date format should be : mm/dd/yyyy");
		    return false;
         } 
         
        if(lMonthString.length < 1 || month < 1 || month > 12)
        {
            alert("Please enter a valid month");
		    return false;
        }
                                                                       // CALLING daysInFebruary() function
        if(lDateString < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month])
         {
            alert("Please enter a valid day");
		    return false;
         }
         
       if(lYearString.length != 4 || year == 0 || year < lMinimumYear || year> lMaximumYear)
         {
           alert("Please enter a valid 4 digit year between "+ lMinimumYear + " and " + lMaximumYear );
		   return false;         
         }		    
                                                                          // CALLING isInteger() FUNCTION  AND  StripCharacterINBag() FUNCTION
       if(argDateInputString.indexOf(lSplitCharacter, lPosition2 + 1) != -1 || isInteger(StripCharacterINBag(argDateInputString, lSplitCharacter)) == false)
        {
           alert("Please enter a valid date");
		   return false;
        }
        
     return true ;  
   }     

  // THIS FUNCTION DETERMINES, WHAT IS THE MAX DAY IN PARTICULAR MONTH.  
   function DaysArray(argMonthArray)
    {
       for( var lInteger = 0; lInteger <= argMonthArray ; lInteger ++)          
         {
           this[lInteger] = 31           
           if(lInteger == 4 || lInteger==6 || lInteger == 9 || lInteger == 11)
             {
               this[lInteger] =30
             }
           if(lInteger == 2)
            {
             this[lInteger] = 29
            }           
         }
       return this
    }
    
  // RETURNS HOW MANY DAYS IN FEBRUARY .    
 function daysInFebruary(argYear)
    {
    
     return (((argYear % 4 == 0) && ((!(argYear % 100 == 0)) ||( argYear % 400 == 0))) ? 29:28);
    
    }  
 
 
 function StripCharacterINBag(argDateInputString, argDateCharacter)
  {
      
      var lReturnString ="";
      
      for(var lInteger = 0; lInteger < argDateInputString.length; lInteger++)
        {
          var lCharacter = argDateInputString.charAt(lInteger);
          
          if(argDateCharacter.IndexOf(lCharacter) == -1)
             {
               lReturnString += lCharacter; 
             }
        } 
      return lReturnString;
  
  }
  // RETURNS THE STRING IS IN INTEGER OR NOT      
 function isInteger(argString)
   {      
      for(var lInteger =0; lInteger < argString.length; lInteger++)
        {
          
          var lCharacter = argString.charAt(lInteger);
          if((lCharacter < "0") || (lCharacter > "9"))
           {
             return false;
           }        
        } 
       return true; 
  } 
 // ----------------- END OF DATE FUNCTION ---------------------------------------------------------


function GetConfirmation()
   {     
      var lReturnTypes = confirm("Are you sure want to delete it ? ")
      if(lReturnTypes == true)
       {
         return true;
       }
       else
       {
        return false;
       }   
   }

//http://codepunk.hardwar.org.uk/ajs27.htm
