﻿
// Start of Date Validation

function CheckDate(objName,strTextbox) {
    
    var dateField = objName;
    var dateText = strTextbox;
    
    if (ChkDate(objName,dateText) == false) {
    
        alert("Please enter valid " + " " + dateText);
        dateField.value = "";
        setTimeout( "document.getElementById('" + dateField.id + "').focus();", 1 );

        return false;
        
    }
    
    else return true;
     
}

function CheckSubsciberID(e)
{
  var key //= (window.event) ? event.keyCode : e.which;
  if (window.event)
    key = event.keyCode
  else
    key = e.which
  // Was key that was pressed a numeric character (0-9) or backspace (8)?
  if ((key >= 48 && key <= 57) || (key >= 65 && key <= 90) || (key >= 97 && key <= 122) || (key == 46)  ||  (key == 8) || (key == 95)   || key == 0 )
    return; // if so, do nothing
  else // otherwise, discard character

    if (window.event) //IE
      window.event.returnValue = null;     else //Firefox
      e.preventDefault();
}


function ChkDate(objName,strTextbox) {

        var strDatestyle = "EU";  //European date style
        var strDate;
        var strDateArray;
        var strDay;
        var strMonth;
        var strYear="0";
        var intDay;
        var intMonth;
        var intYear;
        var booFound = false;
        var dateField = objName;
        var dateText = strTextbox;
        var strSeparatorArray = new Array("-"," ","/",".");
        var intElementNr;
        var err = 0;
        var strMonthArray = new Array(12);
        
        
        strMonthArray[0] = "Jan";
        strMonthArray[1] = "Feb";
        strMonthArray[2] = "Mar";
        strMonthArray[3] = "Apr";
        strMonthArray[4] = "May";
        strMonthArray[5] = "Jun";
        strMonthArray[6] = "Jul";
        strMonthArray[7] = "Aug";
        strMonthArray[8] = "Sep";
        strMonthArray[9] = "Oct";
        strMonthArray[10] = "Nov";
        strMonthArray[11] = "Dec";
        
        strDate = dateField.value;

        if (strDate.length < 1) return true;

        for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
        
                if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
                
                        strDateArray = strDate.split(strSeparatorArray[intElementNr]);
                    
                        if (strDateArray.length != 3) {
                        
                            err = 1;
                            return false;
                        
                        }
                        
                        else {
                        
                            strDay = strDateArray[0];
                            strMonth = strDateArray[1];
                            strYear = strDateArray[2];
                        
                        }
                
                        booFound = true;
                 }
        }
        
        if (booFound == false) {
        
            if (strDate.length>7) {
            
                strDay = strDate.substr(0, 2);
                strMonth = strDate.substr(2, 2);
                strYear = strDate.substr(4,4);
            
               }
               else
               {
               
              //  alert("Please enter valid " + " " + dateText);
                dateField.value = "";
                setTimeout( "document.getElementById('" + dateField.id + "').focus();", 1 );

               }
        }


        if (strYear.length >4) {

            strYear = "";
            setTimeout( "document.getElementById('" + dateField.id + "').focus();", 1 );

        }
        
        

	    for(var j=0; j<4; j++) {
    	    
		      var alphaa = strYear.charAt(j);
		      var cCode = alphaa.charCodeAt(0);
    		  
	          if(cCode < 48 || cCode > 57 ) {
    	      
		          strYear = "";
                  setTimeout( "document.getElementById('" + dateField.id + "').focus();", 1 );
                  return false;
              
		      }
    		 
	    }

        if (strYear.length == 1) strYear =  '200' + strYear;
        
        if (strYear.length == 2) strYear = '20' + strYear;
        
        if (strYear.length == 3) strYear =  strYear + '0';
        
        
        if(strYear.substr(0, 1)== 0) {
        
            dateField.value = "";
            strYear = "";
            setTimeout( "document.getElementById('" + dateField.id + "').focus();", 1 );

        }

        if(strYear.length == 3) {
        
            dateField.value = "";
            strYear = "";
            setTimeout( "document.getElementById('" + dateField.id + "').focus();", 1 );

        }
        

        if (strDatestyle == "US") {
        
            strTemp = strDay;
            strDay = strMonth;
            strMonth = strTemp;
        
        }
        
        intDay = parseInt(strDay, 10);
       
        if (isNaN(intDay)) {
        
            err = 2;
            return false;
        
        }

        intMonth = parseInt(strMonth, 10);

        if (isNaN(intMonth)) {
        
            for (i = 0;i<12;i++) {
                
                if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
                
                    intMonth = i+1;
                    strMonth = strMonthArray[i];
                    i = 12;
                
                }
            }
           
            if (isNaN(intMonth)) {
            
                err = 3;
                return false;
                
            }
        }
        
        intYear = parseInt(strYear, 10);
        
        if (isNaN(intYear)) {
        
            err = 4;
            return false;
            
        }
        
        if (intMonth>12 || intMonth<1) {
        
            err = 5;
            return false;
        
        }
        
        if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intDay > 31 || intDay < 1)) {
           
            err = 6;
            return false;
            
        }
        
        if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intDay > 30 || intDay < 1)) {
            
            err = 7;
            return false;
            
        }
        
        if (intMonth == 2) {
        
            if (intDay < 1) {
            
                err = 8;
                return false;
                
            }
        
            if (LeapYear(intYear) == true) {
            
                if (intDay > 29) {
                
                    err = 9;
                    return false;
                
                }
            }
            
            else {
            
                if (intDay > 28) {
                
                    err = 10;
                    return false;
                
                }
            }
        }
        
        
        if (strDatestyle == "US") {
        
            dateField.value = strMonthArray[intMonth-1] + " " + intDay+" " + strYear;
        
        }
        
        else if(intDay== 1) {
        
            sday = "01";
            dateField.value = sday + " " + strMonthArray[intMonth-1] + " " + strYear;
            
        }
        
        else if(intDay== 2) {
        
            sday = "02";
            dateField.value = sday + " " + strMonthArray[intMonth-1] + " " + strYear;
        
        }
        
        else if(intDay== 3) {
        
            sday = "03";
            dateField.value = sday + " " + strMonthArray[intMonth-1] + " " + strYear;
            
        }
        
        else if(intDay== 4) {
        
            sday = "04";
            dateField.value = sday + " " + strMonthArray[intMonth-1] + " " + strYear;
        
        }
        
        else if(intDay== 5) {
        
            sday = "05";
            dateField.value = sday + " " + strMonthArray[intMonth-1] + " " + strYear;
            
        }
        
        else if(intDay== 6) {
        
            sday = "06";
            dateField.value = sday + " " + strMonthArray[intMonth-1] + " " + strYear;
        
        }
        
        else if(intDay== 7) {
        
            sday = "07";
            dateField.value = sday + " " + strMonthArray[intMonth-1] + " " + strYear;
            
        }
        
        else if(intDay== 8) {
        
            sday = "08";
            dateField.value = sday + " " + strMonthArray[intMonth-1] + " " + strYear;
        
        }
        
        else if(intDay== 9) {
        
            sday = "09";
            dateField.value = sday + " " + strMonthArray[intMonth-1] + " " + strYear;
            
        }
        else {
        
            dateField.value = intDay + " " + strMonthArray[intMonth-1] + " " + strYear;
            
        }
        
  return true;
  
}

function LeapYear(intYear) {

    if (intYear % 100 == 0) {

        if (intYear % 400 == 0)  return true; 
        
    }

    else {

        if ((intYear % 4) == 0)  return true; 
        
    }

    return false;

}

function DateInRange( dd,mm,yyyy) {

   // if month out of range
   if ( mm < 0 || mm > 11 )
      throw new Error('Invalid month value.  Valid months values are 1 to 12');

   // get last day in month
   var d = (11 == mm) ? new Date(yyyy + 1, 0, 0) : new Date(yyyy, mm + 1, 0);

   // if date out of range
   if ( dd < 1 || dd > d.getDate() )
     throw new Error('Invalid date value.  Valid date values for ' + monthNames[mm] + ' are 1 to ' + d.getDate().toString());

   return true;
   
}
  
  
function ShowCalender(textBox,evt) {  
  
       var p=((evt.which==null)?evt.keyCode:evt.which);       
       
        if (p==13) 
        {       
            gfPop.fPopCalendar(textBox);
            return false;
        }
            
}



// End of Date Validation


//Validate Phone Number

function CheckPhoneNo(e) {

  var key;
  
  if (window.event)
    key = event.keyCode
  else
    key = e.which
    
  if ( key > 47 && key < 58 || key == 8 || key == 45 || key == 45 || key == 43 || key == 46 || key == 0)
    return; 
  else 
    if (window.event) //IE
      window.event.returnValue = null;     else //Firefox
      e.preventDefault();      
      
}


// Numeric TextBox

function CheckNumeric(e) {
  
  var key ;
  
  if (window.event) 
    key = event.keyCode
    
  else  
    key = e.which
      
  if (( key > 47 && key < 58) || key == 8 || key == 9 || key == 11 ||(key == 0))
    return; 
  else     
    if (window.event) //IE
      window.event.returnValue = null;     else //Firefox
      e.preventDefault();
      
}

// Check the Value is Name

function CheckName(e)
{

  var key;
  
  if (window.event)
    key = event.keyCode
  else  
    key = e.which
    
  if (!( key > 47 && key < 58))
    return; 
  else 
    if (window.event) //IE
      window.event.returnValue = null;     else //Firefox
      e.preventDefault();
}

// PREVENT MULTI LINE TEXT BOX TO CROSS ITS MAXIMUM LENGTH

function TextboxMultilineMaxNumber(txt,maxLen){

    try{

    if(txt.value.length > (maxLen-1))
        return false;
    }

    catch(e){
    
    }
}






// Name Validation

   function ValidateName(value) {
     
	    var blnResult = true;
	    var strValue = value;	
	    
	    if (strValue.charAt(0) == " ") {
	    
		    blnResult = false;		
		    
	    }
	    
	    else if (!((strValue.charAt(0) >= "A" && strValue.charAt(0) <= "Z") || (strValue.charAt(0) >= "a" && strValue.charAt(0) <= "z") || (strValue.charAt(0) >= 0 && strValue.charAt(0) <=9))) {
	    
		    blnResult = false;
		    
	    }
	    
	    else if (strValue != "") {
	    
		    for (i=0;i<strValue.length;i++) {
		    
			    var strChar = strValue.charAt(i);
			    
			    if (!((strChar >= "A" && strChar <= "Z" ) || (strChar >= "a" && strChar <= "z") || (strChar >= 0 && strChar <=9) || strChar==" ")) {				
			    
				    blnResult = false;
				    
			    }			
		    }
	    }
	    
	    return blnResult;
    }
    
    
   // Check string isEmpty
    
   function IsEmpty(strValue) {
   
		var blnResult = true;
		
		if (strValue == null || strValue == "" || strValue == " ") {
		
				blnResult = false;
				
		}
		
		return blnResult;
	}


  //Check space in  string 
  function IsSpaceInString(value) {
  
       var strValidChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
       var strChar;
       var blnResult = true;
       var strString = value;
       	
       if (strString.length == 0) 
		    blnResult = false;
		    
       for (i = 0; i < strString.length && blnResult == true; i++) {
       
		    strChar = strString.charAt(i);     
		    
		    if (strValidChars.indexOf(strChar) == -1) {
		    
				    blnResult = false;
				    return blnResult;
				    
			}
	    }
       return blnResult;
       
    }
    
//Validate the file is in image format.      

function ValidateImage(imageValue) {

       if ((imageValue) != "")
       {
           if ((/.(gif|jpe?g|bmp|tif|tiff|dib|png|jfif|ico|jpe)$/i.test(imageValue))==false)
              
               return (false);
           else     
             return(true);
       }
       else
       return (false);
}
    
// Validate the Email

function ValidateEmail(obj)
{
    if (obj.value!="")
    {  
        var fieldval = obj.value;
        var regex = new RegExp (/^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+([A-Za-z][A-Za-z]|[A-Za-z][A-Za-z][A-Za-z])|([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i);
        if(regex.test(fieldval)==false)
        {
            alert("Please enter valid Email ID");
   return false;
        }
        else
        {
        return true;
        }
//        return regex.test(fieldval); 
    }
    else
    {
          return false;
    }
}

function ValidateEmailForgetPWD(obj)
{
    if (obj.value!="")
    {  
        var fieldval = obj.value;
        var regex = new RegExp (/^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+([A-Za-z][A-Za-z]|[A-Za-z][A-Za-z][A-Za-z])|([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i);
        if(regex.test(fieldval)==false)
        {
        
            alert("Please enter valid Email ID");
            obj.value="";
            setTimeout( "document.getElementById('" + obj.id + "').focus();", 1 );
            
   return false;
        }
        else
        {
        return true;
        }
//        return regex.test(fieldval); 
    }
    else
    {
     return true;
    }
}

//function ValidateEmail(addr,man,db) {


//    var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';

//    for (i=0; i<invalidChars.length; i++) {
//    
//       if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
//       
//          if (db) alert("Please enter valid Email ID");
//          return false;
//          
//       }
//       
//    }
//    
//    for (i=0; i<addr.length; i++) {
//    
//       if (addr.charCodeAt(i)>127) {
//       
//          if (db) alert("Please enter valid Email ID");
//          return false;
//          
//       }
//       
//    }

//    var atPos = addr.indexOf('@',0);
//    
//    if (atPos == -1) {
//    
//       if (db) alert("Please enter valid Email ID");
//       return false;
//       
//    }
//    
//    if (atPos == 0) {
//    
//       if (db) alert("Please enter valid Email ID");
//       return false;
//       
//    }
//    
//    if (addr.indexOf('@', atPos + 1) > - 1) {
//    
//       if (db) alert("Please enter valid Email ID");
//       return false;
//       
//    }
//    
//    if (addr.indexOf('.', atPos) == -1) {
//    
//       if (db) alert("Please enter valid Email ID");
//       return false;
//       
//    }
//    
//    if (addr.indexOf('@.',0) != -1) {
//    
//       if (db) alert("Please enter valid Email ID");
//       return false;
//       
//    }
//    
//    if (addr.indexOf('.@',0) != -1) {
//    
//       if (db) alert("Please enter valid Email ID");
//       return false;
//       
//    }
//    
//    if (addr.indexOf('..',0) != -1) {
//    
//       if (db) alert("Please enter valid Email ID");
//       return false;
//       
//    }
//    
//    var suffix = addr.substring(addr.lastIndexOf('.')+1);
//    
//    if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
//    
//       if (db) alert("Please enter valid Email ID");
//       return false;
//       
//    }
//    
//    return true;
//}
    
    
    
//***********************************************************
// JScript File for TextArea
 // Keep user from entering more than maxLength characters
 function DoKeyPress(control,evt)
 {
 
      maxLength = control.attributes["maxLength"].value;
      
      value = control.value;
      if(maxLength && value.length > maxLength-1)
      {
       try{evt.preventDefault();}catch(e){event.returnValue = false;}
       maxLength = parseInt(maxLength);
      }
 }
 

 
 // Cancel default behavior
 function DoBeforePaste(control,evt)
 {
      maxLength = control.attributes["maxLength"].value;
      if(maxLength)
      {
       try{evt.preventDefault();}catch(e){event.returnValue = false;}
      }
 }
 
 // Cancel default behavior and create a new paste routine
 function DoPaste(control,evt)
 {
      maxLength = control.attributes["maxLength"].value;
      value = control.value;
      if(maxLength)
      {
       try{evt.preventDefault();}catch(e){event.returnValue = false;}
       maxLength = parseInt(maxLength);
       var oTR = control.document.selection.createRange();
       var iInsertLength = maxLength - value.length + oTR.text.length;
       var sData = window.clipboardData.getData("Text").substr(0,iInsertLength);
       oTR.text = sData;
      }
 }
 
 // Cancel default behavior and create a new paste routine
 function DoPasteOnlyWithNumeric(control,evt)
 {
      var value=window.clipboardData.getData("Text");
      var sData="";
      for(var index=0;index<value.length;index++)
      {
           var character=value.substr(index,1);
           if ("123456789".indexOf(character) > -1) 
            sData += character;
      }  
      var oTR = control.document.selection.createRange();
      oTR.text = sData;
      window.clipboardData.setData("Text",sData)
 }

 
 // validate the length of the text box
 
 function ValidateTextLength(objName,textLength) {
 
     
     var strText=objName;
     var checkLength=strText.value;
     
     if(checkLength.length >textLength) {     
         
         return false;
     
     }
     
     return true;
     
 }
 
 
 // To  prevent  the  Blank  Data

function StripSpacesFromEnds(s) {

	while((s.indexOf(' ',0) == 0) && (s.length > 1)) {
	
		s = s.substring(1,s.length);
		
	}
	
	while((s.lastIndexOf(' ') == (s.length - 1) && (s.length > 1))) {
	
		s = s.substring(0,(s.length - 1));
		
	}
	
	if((s.indexOf(' ',0) == 0) && (s.length == 1)) s = '';
	
	return s;
	
}
 
 
 
function GetKey(evt) {

    return String.fromCharCode(((evt.which==null)?evt.keyCode:evt.which));
 
}

function IsNumeric(evt) {

 var key=GetKey(evt);

 if ((('1234567890').indexOf(key)==-1))
  try{evt.preventDefault();}catch(e){event.returnValue=false;}
  
}

function IsFloat(obj,evt) {

 var periodPos=obj.value.toString().indexOf('.');
 var key=GetKey(evt);
 
 if (key=='.' && periodPos==-1)
  return;
 else  
  IsNumeric(evt);  
  
}

function IsTab(obj,evt) {

 var key=GetKey(evt);
 
 if (!((('1234567890').indexOf(key)==-1)))
  return;
 else  
  IsNumeric(evt); 
  
}  
 
 
 
 
 

