Date.prototype.dateObject2StringNDU = dateObject2StringNDU;
Date.prototype.string2DateObjectNDU = string2DateObjectNDU;
Date.prototype.formatCSDateStringNDU = formatCSDateStringNDU;
Date.prototype.formatCSDateObjectNDU = formatCSDateObjectNDU;
Date.prototype.dateObject2SQLStringNDU = dateObject2SQLStringNDU;
Date.prototype.sqlString2DateObjectNDU = sqlString2DateObjectNDU;
Date.prototype.dateDiffNDU = dateDiffNDU;
Date.prototype.dateAddNDU = dateAddNDU;
Date.prototype.getDayAsStringNDU = getDayAsStringNDU;


//THE DATE STRING TO CONVERT
Date.prototype.dateStr = "";
//THE DATE STRING FORMAT
Date.prototype.fromFormat = "dd-mm-yyyy";
//THE DATE STRING TO FORMAT [OPTIONAL] DEFAULT FORMAT IS DD-MMM-YYYY
Date.prototype.toFormat = "mm-d-yyyy";
//THE SQL DATE FORMAT, DEFAULT FORMAT IS MM-DD-YYYY
Date.prototype.fromSqlFormat = "m-dd-yyyy";
//THE SQL DATE FORMAT, DEFAULT FORMAT IS MM-DD-YYYY
Date.prototype.toSqlFormat = "m-dd-yyyy";
Date.prototype.Duration = 0;
Date.prototype.CompareTo = null;
Date.prototype.Delimiter = "/";

//THIS ATTRIBUTE DETERMINE WITCH PART OF THE DATE STRING TO RETURN
//0 -(DEFAULT) ALL STRING
//1 - DATE WITHOUT TIME
//2 - FULL TIME 
//3 - SHORT TIME 

Date.prototype.DatePart = 0;

//get time and set is display accoding to company site
function GetCompanyTime(theTime)
{
	var timeArr = theTime.split(":");
	
	if(cs_time_format == "US"){
		if(timeArr[0]>12){
			timeArr[0] = parseInt(timeArr[0])-12;
			theTime = timeArr[0]+":"+timeArr[1];
			theTime += timeArr[0]==12?' AM':' PM';
		}
		else if(parseInt(timeArr[0]) == 12){
			theTime += ' PM';
		}
		else{
			theTime += ' AM';
		}
	}
	
	return theTime;
}

function emptyDate(val)
{
	if (val == "" || val == " " || val == "undefined" || val == null || val == "null")
		return true;
	
	return false;
}

//THIS FUNCTION SET DATE OBJECT TO SPECIFIED FORMAT
function getDateFormat(ths,formatF,formatT,dateS)
{
	if(formatF!="")
		ths.fromFormat = formatF;
	if(formatT!="")
		ths.toFormat = formatT;
		
	ths.dateStr = dateS;
	
	ths.string2DateObjectNDU();
	
	return ths;
}

//THIS FUNCTION COMPARE BETTWEEN THE CURRENT DATE OBJECT AND THE DATE OBJECT IN THE COMPARE TO ATTRIBUTE
function dateDiffNDU()
{
	if(this.CompareTo != null){
		var millsec = this.getTime()-(this.CompareTo).getTime();
		var days = (millsec/86400000);
		return days;
	}
}

//THIS FUNCTION ADD THE DURATION ATTRIBUTE TO THE CURRENT DATE OBJECT
function dateAddNDU()
{
	this.setMilliseconds(this.Duration*86400000);
}

//THIS FUNCTION GET THE DAY DATE FROM THE DAYS ARRRAY ACCORDING TO THE DAY NUMBER
function getDayAsStringNDU()
{
	return DayNDU[this.getDay()];
}

//THIS FUNCTION CONVERT DATA OBJECT TO STRING 
function dateObject2StringNDU()
{
	//CREATE DATE STRING FROM THE CURRENT DATE OBJECT
	//var tmpStrDate = (parseInt(this.getMonth())+1)+"/"+this.getDate()+"/"+this.getFullYear()+" "+this.getHours()+":"+this.getMinutes()+":"+this.getSeconds();
	var tmpStrDate = setInnerDateFotmat(this,this.fromFormat);
	
	//RETURN DATE STRING FOR THE CURRENT DATE OBJECT
	var rtnStr = setDateFormat(this.toFormat,createFormatDateArr(tmpStrDate,this.fromFormat,this.toFormat),"",this.Delimiter);	
	this.Delimiter = "/";
	if(this.DatePart==1)//RETURN ONLY DATE STRING WITHOUT TIME
		rtnStr = rtnStr.split(" ")[0];	
	else if(this.DatePart==2)//RETURN ONLY TIME STRING
		rtnStr = rtnStr.split(" ")[1]+" "+rtnStr.split(" ")[2];	
	else if(this.DatePart==3)
	{//RETURN SHORT TIME STRING
		var shortTime = rtnStr.split(" ")[1].split(":")[0]+":"+rtnStr.split(" ")[1].split(":")[1]
		rtnStr = shortTime+" "+rtnStr.split(" ")[2];		
	}
	this.DatePart=0;
	return rtnStr;	
}

//THIS FUNCTION SET THE DATE STRING TO THE CURRENT DATE OBJECT
function string2DateObjectNDU()
{
	//GET THE DATE ARRAY
	var tmpDateArr = createFormatDateArr(this.dateStr,this.fromFormat,this.toFormat);
	//IF NOT NULL THEN SET THE CURRENT DATE OBJECT WITH THE ARRAY VALUES
	if(!emptyDate(tmpDateArr)){
		this.setDate(1);
		
		this.setMonth(parseInt(tmpDateArr[2])-1);
		this.setFullYear(parseInt(tmpDateArr[0]));
		this.setDate(parseInt(tmpDateArr[1]));
		
		this.setHours(tmpDateArr[3]);
		this.setMinutes(tmpDateArr[4]);
		this.setSeconds(tmpDateArr[5]);
	}
}

//THIS FUNCTION CONVERT DATA OBJECT TO COMPANY SITE DATE STRING 
function formatCSDateStringNDU()
{	
	//CREATE DATE STRING FROM THE CURRENT DATE OBJECT
	//var tmpStrDate = (parseInt(this.getMonth())+1)+"/"+this.getDate()+"/"+this.getFullYear()+" "+this.getHours()+":"+this.getMinutes()+":"+this.getSeconds();
	var tmpStrDate = setInnerDateFotmat(this,this.fromFormat);
	
	//CHECK IF WE HAVE COMPANY SITE DATE FORMAT
	if(!emptyDate(cs_date_format))
		this.toFormat = cs_date_format;
		
	//CREATE DATE STRING FOR THE CURRENT DATE OBJECT
	var rtnStr = setDateFormat(this.toFormat,createFormatDateArr(tmpStrDate,this.fromFormat,this.toFormat),cs_time_format,cs_date_delimiter);
	
	this.Delimiter = "/";
	//SET FORMAT BACK TO DEFAULT
	this.toFormat = "mm-d-yyyy";
	
	if(this.DatePart==1)//RETURN ONLY DATE STRING WITHOUT TIME
		rtnStr = rtnStr.split(" ")[0];	
	else if(this.DatePart==2)//RETURN ONLY TIME STRING
		rtnStr = rtnStr.split(" ")[1]+" "+rtnStr.split(" ")[2];	
	else if(this.DatePart==3)
	{//RETURN SHORT TIME STRING
		var shortTime = rtnStr.split(" ")[1].split(":")[0]+":"+rtnStr.split(" ")[1].split(":")[1]
		rtnStr = shortTime+" "+rtnStr.split(" ")[2];		
	}
	//-- CHECK HOW TO DISPLAY THE DAY
	
	if(cs_day!=""){
		var dayToDisplayStr = (cs_day.split(";")[1]=="s"?DayNDU[this.getDay()]:DayLongNDU[this.getDay()]);
		if(cs_day.split(";")[0]=="b"){
			rtnStr = dayToDisplayStr+",&nbsp;"+rtnStr;
		}
		else{
			rtnStr = rtnStr+",&nbsp;"+dayToDisplayStr;
		}
	}
	
	this.DatePart=0;
	
	return rtnStr;	
}


//SET THE CURRENT DATE OBJECT TO COMPANY SITE FORMAT
function formatCSDateObjectNDU()
{
	//CHECK IF WE HAVE COMPANY SITE FORMAT
	if(!emptyDate(cs_date_format))
		this.fromFormat = cs_date_format;
	
	if(cs_day!=""){
		
		if(cs_day.split(";")[0]=="b"){
			this.dateStr = this.dateStr.split(",")[1];
		}
		else{
			this.dateStr = this.dateStr.split(",")[0];
		}
	}
	
	//GET THE DATE ARRAY
	var tmpDateArr = createFormatDateArr(this.dateStr,this.fromFormat,this.toFormat);
	
	//IF NOT NULL THEN SET THE CURRENT DATE OBJECT WITH THE ARRAY VALUES
	if(!emptyDate(tmpDateArr)){
		this.setDate(1);
		
		this.setMonth(parseInt(tmpDateArr[2])-1);
		this.setFullYear(tmpDateArr[0]);
		this.setDate(tmpDateArr[1]);
		
		this.setHours(tmpDateArr[3]);
		this.setMinutes(tmpDateArr[4]);
		this.setSeconds(tmpDateArr[5]);
	}
	
	//SET FORMAT BACK TO DEFAULT
	this.fromFormat = "mm-dd-yyyy";
}

//THIS FUNCTION CONVERT DATA OBJECT TO SQL DATE STRING 
function dateObject2SQLStringNDU()
{
	this.Delimiter = "/";
	//CREATE DATE STRING FROM THE CURRENT DATE OBJECT
	//var tmpStrDate = (parseInt(this.getMonth())+1)+"/"+this.getDate()+"/"+this.getFullYear()+" "+this.getHours()+":"+this.getMinutes()+":"+this.getSeconds();
	var tmpStrDate = setInnerDateFotmat(this,this.fromFormat);
	//RETURN DATE STRING FOR THE CURRENT DATE OBJECT
	var rtnStr = setDateFormat(this.toSqlFormat,createFormatDateArr(tmpStrDate,this.fromFormat,this.toSqlFormat),"",this.Delimiter)
	
	if(this.DatePart==1)//RETURN ONLY DATE STRING WITHOUT TIME
		rtnStr = rtnStr.split(" ")[0];	
	else if(this.DatePart==2)//RETURN ONLY TIME STRING
		rtnStr = rtnStr.split(" ")[1]+" "+rtnStr.split(" ")[2];	
	else if(this.DatePart==3)
	{//RETURN SHORT TIME STRING
		var shortTime = rtnStr.split(" ")[1].split(":")[0]+":"+rtnStr.split(" ")[1].split(":")[1]
		rtnStr = shortTime+" "+rtnStr.split(" ")[2];		
	}
	this.DatePart=0;
	return rtnStr;	
}

//THIS FUNCTION SET THE DATE STRING TO THE CURRENT SQL DATE OBJECT
function sqlString2DateObjectNDU()
{
	//GET THE DATE ARRAY
	var tmpDateArr = createFormatDateArr(this.dateStr,this.fromSqlFormat,this.toFormat);
	//IF NOT NULL THEN SET THE CURRENT DATE OBJECT WITH THE ARRAY VALUES
	if(!emptyDate(tmpDateArr)){
		this.setDate(1);
		
		this.setMonth(parseInt(tmpDateArr[2])-1);
		this.setFullYear(tmpDateArr[0]);
		this.setDate(tmpDateArr[1]);
		
		this.setHours(tmpDateArr[3]);
		this.setMinutes(tmpDateArr[4]);
		this.setSeconds(tmpDateArr[5]);
	}
}

//THIS FUNCTION GET DATE FORMAT AS STRING AND CONVERT THE DATE TO SPECIFY DATE FORMAT
function createFormatDateArr(dateStr,fromFormat,toFormat)
{
	var regExpArr = new Array(4);
	var	fromFormatArr = fromFormat.split("-");
	var	toFormatArr = toFormat.split("-");
	
	var strRe = "";
	//THIS OBJECT CONTAAIN TIME
	var timeObj = new Object();
	timeObj.hours = 0;
	timeObj.minutes = 0;
	timeObj.seconds = 0;

	regExpArr[0] = "(0?[12][0-9]|3[01]|[1-9]|0[1-9])";//FOR DATE
	regExpArr[1] = "(1[0-2]|0?[1-9]|[A-Za-z][A-Za-z][A-Za-z]|[A-Za-z]+)";//FOR MONTH
	regExpArr[2] = "(\\d{4}||\\d{2})";//FOR YEAR
	regExpArr[3] = "[\\ ]([0-2]?[0-9])";
	regExpArr[4] = "[\\:]([0-5]?[0-9])"
	regExpArr[5] = "[\\:]([0-5]?[0-9])"
	
	//SET THE FIRST SEGMENT FOR THE REGULER EXPRESSION
	if(fromFormatArr[0] == 'd' || fromFormatArr[0] == 'dd')
		strRe += "\\b" + regExpArr[0];
	else if(fromFormatArr[0] == 'm' || fromFormatArr[0] == 'mm' || fromFormatArr[0] == 'mmm')
		strRe += "\\b" + regExpArr[1];
	else if(fromFormatArr[0] == 'yy' || fromFormatArr[0] == 'yyyy')
		strRe += "\\b" + regExpArr[2];
	
	//SET THE SECOND SEGMENT FOR THE REGULER EXPRESSION
	if(fromFormatArr[1] == 'd' || fromFormatArr[1] == 'dd')
		strRe += "[\\-\\/\\.\ ]" + regExpArr[0];
	else if(fromFormatArr[1] == 'm' || fromFormatArr[1] == 'mm' || fromFormatArr[1] == 'mmm')
		strRe += "[\\-\\/\\.\ ]" + regExpArr[1];
	else if(fromFormatArr[1] == 'yy' || fromFormatArr[1] == 'yyyy')
		strRe += "[\\-\\/\\.\ ]" + regExpArr[2];
	
	//SET THE THIRD SEGMENT FOR THE REGULER EXPRESSION
	if(fromFormatArr[2] == 'd' || fromFormatArr[2] == 'dd')
		strRe += "[\\-\\/\\.\ ]" + regExpArr[0];
	else if(fromFormatArr[2] == 'm' || fromFormatArr[2] == 'mm' || fromFormatArr[2] == 'mmm')
		strRe += "[\\-\\/\\.\ ]" + regExpArr[1];
	else if(fromFormatArr[2] == 'yy' || fromFormatArr[2] == 'yyyy')
		strRe += "[\\-\\/\\.\ ]" + regExpArr[2];
	//alert(strRe);
	//CHECK IF THE FORMAT INCLUDE TIME
	if(dateStr.indexOf(" ")!=-1){
		var tmptimearr = (dateStr.split(" ")[1]).split(":");
		
		if(tmptimearr.length == 3)
			strRe += regExpArr[3]+regExpArr[4]+regExpArr[5];
		else if(tmptimearr.length == 2)
			strRe += regExpArr[3]+regExpArr[4];
		else if(tmptimearr.length == 1)
			strRe += regExpArr[3];
	}
	
	var re = new RegExp(strRe)
	var newDateArr = null;
	
	var matchArray = re.exec(dateStr);
	
	//CHECK IF MATCH WAS FOUND
	if(matchArray){
		
		var month = "";
		var date = "";
		var year = "";
		
		for(var i=0;i<fromFormatArr.length;i++){
			if(fromFormatArr[i] == 'd' || fromFormatArr[i] == 'dd'){
				date = matchArray[i+1];
			}
			else if(fromFormatArr[i] == 'm' || fromFormatArr[i] == 'mm' || fromFormatArr[i] == 'mmm'){
				month = matchArray[i+1];
			}
			else if(fromFormatArr[i] == 'yyyy' || fromFormatArr[i] == 'yy'){
				year = matchArray[i+1];
			}
		}
		
		//alert(month+","+date+","+year);
		//CHECK THE MONTH FORMAT
		//CREATE REGEXP TO CHECK MONTH
		var reM = new RegExp("0?[1-9]|[12][0-9]|3[01]")
		//EXEC THE MONTH STRING
		var monthF = reM.exec(month)
		//IF THE MONTH IS STRING DISPLAY
		
		if(emptyDate(monthF)){
			var monthInt = 0;
			for(var i=0;i<MonthNDU.length;i++)
				if((MonthNDU[i]).toLowerCase()==(month).toLowerCase() || 
				(FullMonthNDU[i]).toLowerCase()==(month).toLowerCase())
					monthInt = i+1;
			month = String(monthInt);
		}
		//CHECK THE TIME VALUES
		if(!emptyDate(matchArray[4])){
			timeObj.hours = matchArray[4];
		}
		
		if(!emptyDate(matchArray[5])){
			timeObj.minutes = matchArray[5];
		}
		
		if(!emptyDate(matchArray[6])){
			timeObj.seconds = matchArray[6];
		}
		
		//PASS TO THE DATE ARRAY THE YEAR ,MONTH ,DATE ,HOUR ,MINUTE ,SECOND
		newDateArr = new Array(6);
		newDateArr[0] = year;//SET THE YEAR
		newDateArr[1] = parseInt(date,10);//SET THE DATE
		newDateArr[2] = parseInt(month,10);//SET THE MONTH
		newDateArr[3] = timeObj.hours;//SET THE HOURS
		newDateArr[4] = timeObj.minutes;//SET THE MINUTES
		newDateArr[5] = timeObj.seconds;//SET THE SECONDS
		//alert(newDateArr[0]+","+newDateArr[1]+","+newDateArr[2]+","+newDateArr[3]+","+newDateArr[4])
	}
	
	return newDateArr;
}

//THIS FUNCTION SET DATE OBJECT TO CERTAIN DATE PATTERN
//PARAM 1 -OBJECT- DATE OBJECT
//PARAM 2 -STRING- DATE PATTERN
function setInnerDateFotmat(dt,format)
{
	var	fromFormatArr = format.split("-");
	var rtnStr = "";
	
	//SET THE FIRST DATE SEGMENT
	if(fromFormatArr[0] == 'd' || fromFormatArr[0] == 'dd')
		rtnStr += dt.getDate();
	else if(fromFormatArr[0] == 'm' || fromFormatArr[0] == 'mm' || fromFormatArr[0] == 'mmm'){
		if(fromFormatArr[0] == 'm')
			rtnStr += parseInt(dt.getMonth()+1);
		else if(fromFormatArr[0] == 'mm')
			rtnStr += MonthNDU[parseInt(dt.getMonth())];
		else if(fromFormatArr[0] == 'mmm')
			rtnStr += FullMonthNDU[parseInt(dt.getMonth())];
	}
	else if(fromFormatArr[0] == 'yy' || fromFormatArr[0] == 'yyyy'){
		if(fromFormatArr[0] == 'yy')
			rtnStr += (String(dt.getYear())).substring(2,3);
		else if(fromFormatArr[0] == 'yyyy')
			rtnStr += dt.getYear();
	}
	
	//SET THE SECOND DATE SEGMENT
	if(fromFormatArr[1] == 'd' || fromFormatArr[1] == 'dd')
		rtnStr += "/" + dt.getDate();
	else if(fromFormatArr[1] == 'm' || fromFormatArr[1] == 'mm' || fromFormatArr[1] == 'mmm'){
		if(fromFormatArr[1] == 'm')
			rtnStr += "/" + parseInt(dt.getMonth()+1);
		else if(fromFormatArr[1] == 'mm')
			rtnStr += "/" + MonthNDU[parseInt(dt.getMonth())];
		else if(fromFormatArr[1] == 'mmm')
			rtnStr += "/" + FullMonthNDU[parseInt(dt.getMonth())];
	}
	else if(fromFormatArr[1] == 'yy' || fromFormatArr[1] == 'yyyy'){
		if(fromFormatArr[1] == 'yy')
			rtnStr += "/" + (String(dt.getYear())).substring(2,3);
		else if(fromFormatArr[1] == 'yyyy')
			rtnStr += "/" + dt.getYear();
	}	
	
	//SET THE THIRD DATE SEGMENT
	if(fromFormatArr[2] == 'd' || fromFormatArr[2] == 'dd')
		rtnStr += "/" + dt.getDate();
	else if(fromFormatArr[2] == 'm' || fromFormatArr[2] == 'mm' || fromFormatArr[2] == 'mmm'){
		if(fromFormatArr[2] == 'm')
			rtnStr += "/" + parseInt(dt.getMonth()+1);
		else if(fromFormatArr[2] == 'mm')
			rtnStr += "/" + MonthNDU[parseInt(dt.getMonth())];
		else if(fromFormatArr[2] == 'mmm')
			rtnStr += "/" + FullMonthNDU[parseInt(dt.getMonth())];
	}
	else if(fromFormatArr[2] == 'yy' || fromFormatArr[2] == 'yyyy'){
		if(fromFormatArr[2] == 'yy')
			rtnStr += "/" + (String(dt.getYear())).substring(2,3);
		else if(fromFormatArr[2] == 'yyyy')
			rtnStr += "/" + dt.getYear();
	}
	
	rtnStr += " "+dt.getHours()+":"+dt.getMinutes()+":"+dt.getSeconds();
	
	return rtnStr;
}

//THIS FUNCTION GET DATE ARRAY AND CREATE DATE STRING ACCORDING TO THE FORMAT
//PARAM 1 -STRING- THE DATE STRING FORMAT
//PARAM 2 -ARRAY- THE DATE ARRAY YEAR/DATE/MONTH/HOURS/MINUTES/SECONDS
function setDateFormat(toFormat,dateArr,timeFormat,Delimiter)
{
	
	var rtnDateStr = "";
	//CHECK IF DATE ARRAY IS NULL
	if(dateArr == null) rtnDateStr;
	//CREATE THE FORMAT ARRAY
	var toFormatArr = toFormat.split("-")
	var rtnDateArr = new Array(3);
	var yearIn = -1;
	//BUILD THE DATE STRING ACCORDING THE FORMAT
	for(var i=0;i<toFormatArr.length;i++){
		if(toFormatArr[i] == 'm' || toFormatArr[i] == 'mm' || toFormatArr[i] == 'mmm'){
			if(toFormatArr[i] == 'm')
				rtnDateArr[i] = (parseInt(dateArr[2])<=9)?"0"+dateArr[2]:dateArr[2];
			else if(toFormatArr[i] == 'mm')
				rtnDateArr[i] = MonthNDU[parseInt(dateArr[2])-1];
			else if(toFormatArr[i] == 'mmm')
				rtnDateArr[i] = FullMonthNDU[parseInt(dateArr[2])-1];
		}
		else if(toFormatArr[i] == 'd' ||toFormatArr[i] == 'dd'){
			if(toFormatArr[i] == 'd')
				rtnDateArr[i] = dateArr[1];
			else
				rtnDateArr[i] = (parseInt(dateArr[1])<=9)?"0"+dateArr[1]:dateArr[1];
		}
		else if(toFormatArr[i] == 'yy' || toFormatArr[i] == 'yyyy'){
			if(toFormatArr[i] == 'yy')
				rtnDateArr[i] = dateArr[0].substr(2,3);
			else
				rtnDateArr[i] = dateArr[0];
			yearIn = i;
		}
	}
	//CREATE DATE OBJECT STRING FOR DISPLAY
	var displayDateObj = new Object();
	
	displayDateObj.param1 = rtnDateArr[0];
	
	displayDateObj.param2 = rtnDateArr[1];
	
	displayDateObj.param3 = rtnDateArr[2];

	displayDateObj.hours = (parseInt(dateArr[3])<=9)?"0"+dateArr[3]:dateArr[3];
	displayDateObj.minutes = (parseInt(dateArr[4])<=9)?"0"+dateArr[4]:dateArr[4];
	displayDateObj.seconds = (parseInt(dateArr[5])<=9)?"0"+dateArr[5]:dateArr[5];
	displayDateObj.time = "";
	
	//CHECK IF NEED TO SET DATE FORMAT
	if(!emptyDate(timeFormat)){
		if(timeFormat == "US"){
			if(parseInt(dateArr[3])>12){
				dateArr[3] = parseInt(dateArr[3])-12;
				displayDateObj.time = dateArr[3]==12?' AM':' PM';
			}
			else if(parseInt(dateArr[3]) == 12){
				displayDateObj.time = ' PM';
			}
			else{
				displayDateObj.time = ' AM';
			}
		}
		else{
			displayDateObj.time = ' ';
		}
		 displayDateObj.hours = (parseInt(dateArr[3])<=9)?"0"+dateArr[3]:dateArr[3];	 
	}	
	
	rtnDateStr = displayDateObj.param1+Delimiter+displayDateObj.param2+Delimiter+displayDateObj.param3 + " " + displayDateObj.hours+":"+displayDateObj.minutes+(!emptyDate(timeFormat)?"":":"+displayDateObj.seconds)+displayDateObj.time;
	//RETURN THE NEW DATE STRING
	return rtnDateStr;
}

//THIS FUNCTION SET THE LAST DATE ON SPECIFIED MONTH AND YEAR AND CREATE DATE OBJECT
//PARAM 1 -INT- MONTH NUMBER
//PARAM 2 -INT- YEAR NUMBER
function getLastDateOnMonth(month,year)
{
	var dateObj = new Date();
	
	dateObj.setFullYear(year);
	
	for(var iDate=1;iDate<=31;iDate++){
		dateObj.setDate(iDate);
		if(dateObj.getMonth()!=month-1){
			dateObj.setDate(1);
			
			dateObj.setMonth(month-1);
			dateObj.setFullYear(year);
			dateObj.setDate(iDate-1);
			
			
			iDate=31;
		}
	}
	
	dateObj.setMonth(month-1);
	dateObj.setHours(0,0,0,0);
	
	return dateObj;
}