

//***********************Main Function --1--for Non Mandatory Fields******

function chkdate(dtval)
{

  var tmpdate=dtval.value;
//alert("jai");
  while(tmpdate.charAt(0)==' ')
  tmpdate=tmpdate.substring(1);

 
  if(tmpdate.length>0)
  {
        var i=checkdate(dtval);
	if(i==0)
	{
		return 0;
	}
  }

}


//**************************Main Function--2---for Compulsory Validation********
function checkdate(dtval,f)
{
var i=checkdate1(dtval);
if(i==0)
{
//alert("Enter Correct Date format Main");
//dtval.focus();
//dtval.select();
return 0;
}
else
{
//change here to assign date value to a hidden field in the HTML page
//alert("Date in Main :"+i);
f.value=i;
}

}       

//**********************Sub Main Function************
function checkdate1(dtval)
{

var dt=dtval;


    var i2=dtsplitting(dt);
          
          if(i2!=0)
          {
                  var i3=datefun(i2,dt);
                  if(i3!=0)
                  {
                        //alert("Out side Splitting Date :"+i2[0]+"-"+i2[1]+"-"+i2[2])
                        //alert("Success");
                        return i3;
                  }
                  else
                  {
                        return 0;
                  }
          }
          else
          {
                return 0;
          }
   
}
//************************Date Function****************

function datefun(dtsplit,dt)
{
//alert("jai checking length :"+dtsplit.length);
var day=dtsplit[0];
var month=dtsplit[1];
var year=dtsplit[2];
var month1=month.toLowerCase();


if(day=="00"&&month=="00"&&year=="0000"){
 
return "00/00/0000"

}


if(isNaN(month))
{
   monthArray=new Array("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
   var flag=0;
   for(var i=0;i<12;i++)
   {
        if(month1==monthArray[i])
        { 
        
        month=i+1;
        //alert("MONTH  :"+month+":"+month.length);
        flag=1;
        }
        if(flag==1){break;}
   }

   if(flag==0)
   {
        alert("Enter Month in [ MM ] format OR use First 3 letters of the month name")
        return 0;
   }
}

//alert("Month  :"+month.length+":"+day.length+":"+year.length);
if(year<1900 || year>2100)
{
        alert("Enter Year between 1900 & 2100 !!");
        return 0;
}
else
{
        var dttest=new Date(year,month-1,day);
        if((dttest.getDate()==day) && (dttest.getMonth()==month-1) && (dttest.getFullYear()==year))
        {
             //alert("Afterconversion  :"+month+"year :"+dttest.getFullYear());
        
             if(day.length==1)
             {
                   day="0"+day;
             }
             if(month<10)
             {
                   month="0"+month;
             }
             if(month.length>2 )
             {
                month=month.substring(1);
             }
             
             
             var newdate=year+"-"+month+"-"+day;
             //alert("Date to be returned :"+newdate);
             return newdate;
        }
        else
        {
             alert("The Date You Entered is not Valid . Check it ....")
             return 0;
        }

}

 }

//************************Splitting function***********

function dtsplitting(dt)
{
var dt1=dt.value;

while(dt1.charAt(0)==' ')
dt1=dt1.substring(1);

while(dt1.charAt(dt1.length - 1) == ' ')
dt1=dt1.substring(0,dt1.length - 1);

if(dt1.length==0)
{
        alert("Enter the Date of Birth");
        return 0;
}
if(dt1.length<7)
{
        alert("The Date You Entered is not Valid  .Use [ DD-MM-YYYY ] format OR use First 3 letters of the month instead of MM ");
        return 0;
}
var dtsplit=dt1.split(/-/);
   
   if(dtsplit.length!=3)
   {
    dtsplit=dt1.split("/");
   }
if(!isNaN(dtsplit[1]))
{   
if(dtsplit[0].length > 2 || dtsplit[1].length > 2 || dtsplit[2].length > 4)
{
        alert("The Date You Entered is not Valid  .Use [ DD-MM-YYYY ] format OR use First 3 letters of the month instead of MM ");
        return 0;
}
}
else
{
if(dtsplit[0].length > 2 || dtsplit[1].length > 3 || dtsplit[2].length > 4)
{
        alert("The Date You Entered is not Valid  .Use [ DD-MM-YYYY ] format OR use First 3 letters of the month instead of MM ");
        return 0;
}
}
   
   if(dtsplit.length==3)
   {
        var day=dtsplit[0];
        var i=day.search(/[^0-9]/);
        if(i!=-1)
        {
                alert("Enter Date in Digit format( DD )");
                return 0;
        }
        var year=dtsplit[2];
        
        if(isNaN(year) || year.length!=4)
        {
                alert("Enter Year in Digit format( YYYY )");       
                return 0;
        }
   
        return dtsplit;
   }
   else
   {
        alert("Use only [ - ] or [ / ] as seperator :");
        return 0;
   }

}

 


