<!-- ----------------------------------------------------------------------------------
//
// Description:	Contains various date functions.
//
//--------------------------------------------------------------------------------- -->

var maMonths = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');

//-------------------------------------------------------------------------------------
// Function:	BuildMDX_DateMember
//
// Synopsis:	Builds a MDX member based on given date.
//
// Arguments:	sDate
//
// Returns:		Today's date.
//
// Notes:		none
//
//-------------------------------------------------------------------------------------
function BuildMDX_DateMember(sDate) {

	//Remove any spaces.
	sDate = sDate.replace(/ /g, "");

	if (sDate.length) {
		var sMember = "";
		var oDate = new Date(sDate);
	
		sMember = "[" + sDate.substr(sDate.length-4, 4) + "]";
		sMember += ".[" + maMonths[oDate.getMonth()] + "]";
		sMember += ".[" + oDate.getDate() + "]";
	}
	else {
		sMember = "NameToSet('Empty')";
	}
	
	return sMember;
}

//-------------------------------------------------------------------------------------
// Function:	DateToday
//
// Synopsis:	
//
// Arguments:	bIncludeTime
//
// Returns:		Today's date.
//
// Notes:		none
//
//-------------------------------------------------------------------------------------
function DateToday(bIncludeTime) {
	
	var oDate = new Date();
	
	var sMonth = oDate.getMonth() + 1;
	if (sMonth.length == 1) sMonth = "0" + sMonth;
	
	var sDay   = oDate.getDate();
	
	var sYear  = oDate.getYear() + "";	
	sYear = sYear.substr(2,2);

	if (bIncludeTime) {
		var sMinute = oDate.getMinutes() + "";
		if (sMinute.length == 1) sMinute = "0" + sMinute;
	
		var iHour = oDate.getHours();
		
		if (iHour > 12) {
			iHour -= 12;
			return sMonth + "/" + sDay + "/" + sYear + " " + iHour + ":" + sMinute + " PM";
		}
		else {
			return sMonth + "/" + sDay + "/" + sYear + " " + iHour + ":" + sMinute + " AM";
		}		
	}
	else {
		return sMonth + "/" + sDay + "/" + sYear;
	}
}

//-------------------------------------------------------------------------------------
// Function:	IsValidDate
//
// Synopsis:	
//
// Arguments:	sValue	Value to be checked for validity.
//
// Returns:		True if a valid date, otherwise false.
//
// Notes:		none
//
//-------------------------------------------------------------------------------------
function IsValidDate(sValue) {

	var oDate = new Date(sValue);
	
	if (isNaN(oDate)) {	
		return false;
	}
	else {
		return true;
	}
}