function DateAdd(StartDate, numDays, numMonths, numYears)
{
	var returnDate = new Date(StartDate.getTime());
	var yearsToAdd = numYears;
	
	var month = returnDate.getMonth() + numMonths;
	if (month > 11)
	{
		yearsToAdd = Math.floor((month+1)/12);
		month -= 12*yearsToAdd;
	}
		
	yearsToAdd += numYears;
	
	returnDate.setMonth(month);
	returnDate.setFullYear(returnDate.getFullYear()	+ yearsToAdd);
	returnDate.setTime(returnDate.getTime()+60000*60*24*numDays);
	return returnDate;
}

function CalcDiffDays(StartDate,EndDate)
{
	var difference = 0;
	var Diffdays = 0;
	difference = EndDate - StartDate; 
	// difference is in milliseconds ; *1000 to get the seconds ; X 60 to get minutes; etc..
	Diffdays = Math.round(difference/(1000*60*60*24));
	return Diffdays;
}

function CalcDiffYears(StartDate,EndDate)
{
	var difference = 0;
	var DiffYears = 0;
	var sd = temps(StrgToDate(StartDate).split("/"));
	var ed = temps(StrgToDate(EndDate).split("/"));
	//alert(sd + ' ' + ed)
	// difference is in milliseconds ; *1000 to get the seconds ; X 60 to get minutes; etc..
	DiffYears = Math.round((ed - sd)/(1000*60*60*24*365));
	return DiffYears;
}

function temps(date)
{
var d = new Date(date[2], date[1] - 1, date[0]);
return d.getTime();
}


function CheckDate(StartDate,EndDate) {
var FirstDate = new Date(StartDate); 
var SecondDate = new Date(EndDate);

	if (FirstDate.getTime() == SecondDate.getTime()) 
	{
	//alert('FirstDate is true ' + FirstDate + " = " + SecondDate);
	return true;		
	}
	else 
	{ 
	//alert('FirstDate is false ' + FirstDate + " diff " + SecondDate);
	return false;
	}
}


function IsDate(mydate)
{
	var mydate, myresult ;
	var mydate = new Date(mydate);
	isNaN(mydate)? myresult=false : myresult=true ;
	return myresult ;
}

function todayStr() 
{
var today=new Date()
date  = today.getDate();
day  = today.getDay() + 1;
month = today.getMonth() + 1;
yy = today.getYear();
year = (yy < 1000) ? yy + 1900 : yy;
return date  + "/" + month + "/"+ year;
}

function StrgToDate(ThisDate)
{
	var std =new Date(ThisDate)
	date	= std.getDate();
	day		= std.getDay() + 1;
	month	= std.getMonth() + 1;
	yy		= std.getYear();
	year = (yy < 1000) ? yy + 1900 : yy;
	return date  + "/" + month + "/"+ year;
}

function DateToStrg(ThisDate)
{
	//alert (ThisDate)
	var dts = new Date(ThisDate);
	var y=dts.getFullYear();
	var m=dts.getMonth()+1;
	var d=dts.getDate();
	var Returndate = d + ' ' + MonthTxt(m) + ' ' + y ; 
	return Returndate
}

function DayTxt (DayNumber) 
{
	var Day=new Array();
	Day[0]="Sunday";
	Day[1]="Monday";
	Day[2]="Tuesday";
	Day[3]="Wednesday";
	Day[4]="Thursday";
	Day[5]="Friday";
	Day[6]="Saturday";
	return Day[DayNumber];
}


function MonthTxt (MonthNumber) 
{
	var M=new Array();
	M[0]="";
	M[1]="January";
	M[2]="February";
	M[3]="March";
	M[4]="April";
	M[5]="May";
	M[6]="June";
	M[7]="July";
	M[8]="August";
	M[9]="September";
	M[10]="October";
	M[11]="November";
	M[12]="December";
	return M[MonthNumber];
}