﻿//Validation for Empty text box.
function trimblank(txtval)
{

    var str = txtval.value;
    var strlength= str.length;
    var kblank = " ";
    var newstr = "";
    var substr = str;

    for(var i=0; i <= str.length-1; i++)
    {
         if(str.charAt(i) == kblank)
          {
                substr = str.substring(i+1, strlength);
                newstr = substr;
          }
         else
         {
               newstr = substr;
               break;
         }
    }

    str = newstr;
    for(var i=str.length-1; i >=0; i--)
    {
         if(str.charAt(i) == kblank)
          {
                substr = str.substring(0, i);
                newstr =substr;
          }
         else
         {
               newstr = substr;
               break;
         }
    }
    
    if(newstr.length == 0)
    {
        txtval.select();  
        return false;
    }
    else
    {
      txtval.value= newstr;
      return newstr;
    }

}
//End Validation for Empty text box.

function a()
{
return false;
}

//-----------------------------------------------------------------------------------

// Validation for empty textbox(Trimall),
// There shuld not be any space either the
// statrt of the string or end of the string or in between the string.
// ex. --23, ex. 23--, ex. 23--34
// notation '--' is donoting the space.
function trimall(txtdt)
{
    var str = txtdt.value;
    var kblank = " ";
    var newstr = "";
    for(var i=0;i<=str.length-1;i++)
    {
        if(str.charAt(i) != kblank)
        {
            newstr = newstr.concat(str.charAt(i));
        }      
    }
    if(newstr.length == 0)
    {
        txtdt.value=newstr;
        return false;
    }
    else 
    {
        txtdt.value=newstr;
        return true;
    }

}
// End Validation for empty textbox(Trimall),

//-----------------------------------------------------------------------------------

//Validation from Special characters 
function specialchar(txtname)
{
//    if(specialCharacterType==1)
//    {
//        var SpecialCharacters="`~!$#@%^&*><{}[]+|=?':;\/-,0123456789";
//    }
//    else if(specialCharacterType==2)
//    {
        var SpecialCharacters="`~!$%^&*><{}[]+|=?':;\"@,#%()/.";
//    }
	if (txtname.value.length >= 0)
	{
		for(i=0; i<SpecialCharacters.length; i++)
        {
			if(txtname.value.indexOf(SpecialCharacters.substr(i, 1))>= 0)	
            {
                  return false;                        
			}
		}		
	} 
	  return true;
}
//End Validation from Special characters 


//Validation of Special characters 
// introduced on 10-02-2011 
function specialchar_New(txtname,SpecChar)
{
    var SpecialCharacters=SpecChar;
	if (txtname.value.length >= 0)
	{
		for(i=0; i<SpecialCharacters.length; i++)
        {
			if(txtname.value.indexOf(SpecialCharacters.substr(i, 1))>= 0)	
            {
                  return false;                        
			}
		}		
	} 
	  return true;
}





//-----------------------------------------------------------------------------------

// Validation for Date - (datevarify)
function datevarify(dtval)
{
    if(dtval.value == "")
    {
        alert("Date is required");
        dtval.focus();
        return false;
    }
    var mns=new Array(6);
    var mns1=new Array(3);
    var rmd=new Array(3);
    var txtdt=dtval.value;
    mns[0] = 1;
    mns[1] = 3;
    mns[2] = 5;
    mns[3] = 7;
    mns[4] = 8;
    mns[5] = 10;
    mns[6] = 12;

    mns1[0] = 4;
    mns1[1] = 6;
    mns1[2] = 9;
    mns1[3] = 11;

    if(txtdt.length != 10 || txtdt.substring(2,3) != '/' || txtdt.substring(5,6) != '/')
    {
        alert("Date format is dd/mm/yyyy");
        dtval.focus();
        return false;
    }
    else
    {
        for(i=0;i<txtdt.length;i++)
        {
            if(txtdt.substring(i,i+1) == '.')
            {
                alert("Date format is dd/mm/yyyy");
                dtval.focus();
                return false;
            }
        }    
        
        if(parseInt(txtdt.substring(6,10),10) <= 1900 || isNaN(txtdt.substring(6,10)) )
        {
            alert("Invalid Year");
            dtval.focus();
            return false;
        }

        if(parseInt(txtdt.substring(3,5),10) < 1 || parseInt(txtdt.substring(3,5),10) > 12 || isNaN(txtdt.substring(3,5)))
        {
            alert("Invalid Month");
            dtval.focus();
            return false;
        }

        for(i=0;i<7;i++)
        {
            if(parseInt(txtdt.substring(3,5),10) == mns[i])
            {
                if(parseInt(txtdt.substring(0,2),10) < 1 || parseInt(txtdt.substring(0,2),10) > 31 || isNaN(txtdt.substring(0,2)))
                {
                    alert("Invalid Day");
                    dtval.focus();
                    return false;
                }
            }
        }
        for(i=0;i<4;i++)
        {
            if(parseInt(txtdt.substring(3,5),10)== mns1[i])
            {
                if(parseInt(txtdt.substring(0,2),10) < 1 || parseInt(txtdt.substring(0,2),10) >30 || isNaN(txtdt.substring(0,2)))
                {
                    alert("Invalid Day");
                    dtval.focus();
                    return false;
                }
            }
        }
        if(parseInt(txtdt.substring(3,5))==2)
        {
            rmd[0]=parseInt(txtdt.substring(6,10)) % 4;
            rmd[1]=parseInt(txtdt.substring(6,10)) % 400;
            rmd[2]=parseInt(txtdt.substring(6,10)) % 100;
            if(rmd[1]== 0 || (rmd[0]==0 && rmd[2] !=0))
            {
                if(parseInt(txtdt.substring(0,2),10)<1 || parseInt(txtdt.substring(0,2),10) > 29 || isNaN(txtdt.substring(0,2)))
                {
                    alert("Invalid Day");
                    dtval.focus();
                    return false;
                }
            }
            else
            {
                if(parseInt(txtdt.substring(0,2),10)<1 || parseInt(txtdt.substring(0,2),10)>28 || isNaN(txtdt.substring(0,2)))
                {
                    alert("Invalid Day");
                    dtval.focus();
                    return false;
                }
            }
        }        
    }

    return true;
}
// End Validation for Date - (datevarify)

// following function compares two dates

function comp_date(dt1, dt2) 
{
   return dt1.substr(6,4)+dt1.substr(3,2)+dt1.substr(0,2)>dt2.substr(6,4)+dt2.substr(3,2)+dt2.substr(0,2)?1:-1
}

// endof function comp_date

function lesschr(txtname)
{

    var SpecialCharacters="<";
	if (txtname.value.length >= 0)
	{
		for(i=0; i<SpecialCharacters.length; i++)
             	{
			if(txtname.value.indexOf(SpecialCharacters.substr(i, 1))>= 0)	
                {
                  return false;                        
			}
		}
		
	  } 
	  return true;
}



//Validation for diffrence between dates
function Diff_Between_Dates(Startdate,EndDate) 
{
var dateString;
//var now = new Date();
var today = new Date(EndDate.substring(6,10),EndDate.substring(3,5)-1,EndDate.substring(0,2));
var TodayYears = today.getYear();
var TodaysMonths = today.getMonth();
var TodaysDays = today.getDate();
var start = new Date(Startdate.substring(6,10),Startdate.substring(3,5)-1,Startdate.substring(0,2));
var StartYears = start.getYear();
var StartMonths = start.getMonth();
var StartDays = start.getDate();
var CountDays, CountMonths, CountYears;
//Counting Days .....
    if(TodaysDays<StartDays)
    {
        CountDay=TodaysDays+30-StartDays;
        TodaysMonths=TodaysMonths-1;
    }
    else
    {
        CountDays=TodaysDays-StartDays;
    }
            if(TodaysMonths<StartMonths)
            {
            CountMonths=12+TodaysMonths-StartMonths;
            TodayYears=TodayYears-1;
            }
            else
            {
            CountMonths=TodaysMonths-StartMonths;
            }

CountYears=TodayYears-StartYears;
return CountYears;
//return yearAge + ' years ' + monthAge + ' months ' + dateAge + ' days';
}

// Function used for checking for all Valid charactars
function ValidChars(sText,vchars)
{
   var iChars =vchars;// "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
   var IsNumber=true;
   var Char;
   for (var iCount = 0; iCount < sText.length && IsNumber == true; iCount++) 
      { 
      Char = sText.charAt(iCount); 
      if (iChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   }
   //-----------------------------------------

