	var DayNameadd={en:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],heb:["יום ראשון","יום שני","יום שלישי","יום רביעי","יום חמישי","יום שישי","שבת"]};
	var MonthNameadd={en:["January","February","March","April","May","June","July","August","September","October","November","December"],heb:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"]};
	var oneMinuteadd=1000*60;
		
	function DateAdd(dateAddObj){
		this.interval=dateAddObj.interval;
		this.number=dateAddObj.number;
		this.date=dateAddObj.date;
		
		this.language=dateAddObj.language;
		this.calculateadd=calculateadd;
		this.calculateadd();
	}
	Date.prototype.DateAdd=DateAdd;
		
	function calculateadd(){
		var paramDate=new String(this.date);
		splitDate=paramDate.split("-");
		paramDateYear=splitDate[0];
		paramDateMonth=splitDate[1]-1;
		paramDateDay=splitDate[2];
		if(paramDateMonth>12){
			alert("Invalid Month!");
			return false;
		}
		if(paramDateDay>31){
			alert("Invalid Day!");
			return false;
		}
		var paramDateObject=new Date(paramDateYear,paramDateMonth,paramDateDay);
		paramDateObject.setHours(0);
		paramDateObject.setMinutes(0);
		paramDateObject.setSeconds(0);
		paramDateObject.getTimezoneOffset() * oneMinuteadd;
		var paramDateObjectTime=paramDateObject.getTime();
		var intervalObject=new Object();
		intervalObject["yyyy"]=1000*60*60*24*365;
		intervalObject["m"]=1000*60*60*24*30.333;
		intervalObject["d"]=1000*60*60*24;
		if(typeof intervalObject[this.interval]=="undefined"){
			alert("Interval is invalid!");
			return false;
		}
		
		intervalObject[this.interval]=intervalObject[this.interval] * this.number;
		var newDateTime=paramDateObjectTime + parseInt(intervalObject[this.interval]);
		var newDateObject=new Date(newDateTime);
		if(this.language=="heb"){
			var newDateObjectWeekDayName=DayNameadd.heb[newDateObject.getDay()];
			var newDateObjectMonthName=MonthNameadd.heb[newDateObject.getMonth()];
			var newDateObjectMonthDay=newDateObject.getDate();
		}
		else{
			var newDateObjectWeekDayName=DayNameadd.en[newDateObject.getDay()];
			var newDateObjectMonthName=MonthNameadd.en[newDateObject.getMonth()];
			var newDateObjectMonthDay=newDateObject.getDate();
			var newDateOrdinalDay=newDateObject.getDate();
			var newDateOrdinalMonth=parseInt(newDateObject.getMonth())+1;
			var newDateObjectDayInWeek = newDateObject.getDay();
		}
		
		//alert(parseInt(newDateObject.getFullYear()) + "=" + parseInt(this.getFullYear()));
		if(parseInt(newDateObject.getFullYear()) - parseInt(this.getFullYear()) >= 3){
			alert("Difference between two dates is too high!");
			this.BadDate=true;
			return false;
		}
		var newDateObjectYear=newDateObject.getFullYear();
		this.weekDay=newDateObjectWeekDayName;
		this.month=newDateObjectMonthName;
		this.monthDay=newDateObjectMonthDay;
		this.year=newDateObjectYear;
		this.ordinalday=newDateOrdinalDay;
		this.ordinalmonth=newDateOrdinalMonth;
		this.weekdayordinal = newDateObjectDayInWeek;
		this.BadDate=false;
	}

	