	function isDate(p_Expression){
		return !isNaN(new Date(p_Expression));
	}

	function dateDiff(p_Interval, p_Date1, p_Date2, p_firstdayofweek, p_firstweekofyear){
		if(!isDate(p_Date1)){return "invalid date: '" + p_Date1 + "'";}
		if(!isDate(p_Date2)){return "invalid date: '" + p_Date2 + "'";}
		var dt1 = new Date(p_Date1);
		var dt2 = new Date(p_Date2);
	
		// get ms between dates (UTC) and make into "difference" date
		var iDiffMS = dt2.valueOf() - dt1.valueOf();
		var dtDiff = new Date(iDiffMS);
	
		// calc various diffs
		var nYears  = dt2.getUTCFullYear() - dt1.getUTCFullYear();
		var nMonths = dt2.getUTCMonth() - dt1.getUTCMonth() + (nYears!=0 ? nYears*12 : 0);
		var nQuarters = parseInt(nMonths/3);	//<<-- different than VBScript, which watches rollover not completion
		
		var nMilliseconds = iDiffMS;
		var nSeconds = parseInt(iDiffMS/1000);
		var nMinutes = parseInt(nSeconds/60);
		var nHours = parseInt(nMinutes/60);
		var nDays  = parseInt(nHours/24);
		var nWeeks = parseInt(nDays/7);
	
	
		// return requested difference
		var iDiff = 0;		
		switch(p_Interval.toLowerCase()){
			case "yyyy": return nYears;
			case "q": return nQuarters;
			case "m": return nMonths;
			case "y": 		// day of year
			case "d": return nDays;
			case "w": return nDays;
			case "ww":return nWeeks;		// week of year	// <-- inaccurate, WW should count calendar weeks (# of sundays) between
			case "h": return nHours;
			case "n": return nMinutes;
			case "s": return nSeconds;
			case "ms":return nMilliseconds;	// millisecond	// <-- extension for JS, NOT available in VBScript
			default: return "invalid interval: '" + p_Interval + "'";
		}
	}
	
	function ShowEndMsg(){
		for(var i=0; i<document.getElementsByName("hdnMsg").length; i++){
			var tDate = new Date(document.getElementsByName("hdnMsg")[i].value.substring(0,4), Number(document.getElementsByName("hdnMsg")[i].value.substring(5,7))-1, document.getElementsByName("hdnMsg")[i].value.substring(8,10));
			var tday = new Date(today.getYear(), today.getMonth(), today.getDate());
			var ndateDiff = dateDiff("d", tday, tDate);
			if(ndateDiff<4){
				if(ndateDiff>0)	
					document.getElementsByName("altMsg")[i].innerHTML = "<div style='color:#a35786; font-weight:bold; text-align:center;'><img src=\"http://img.imbc.com/2008_main_admin/images/evnt_set/eve_icon.gif\" align=\"absmiddle\" style='margin-bottom:3px;'><br>¸¶°¨ " + ndateDiff + "ÀÏÀü</div>"; 
				else if(ndateDiff==0)
					document.getElementsByName("altMsg")[i].innerHTML = "<div style='color:#a35786; font-weight:bold; text-align:center;'><img src=\"http://img.imbc.com/2008_main_admin/images/evnt_set/eve_icon.gif\" align=\"absmiddle\"><br>¿À´Ã ¸¶°¨</div>";
				else
					document.getElementsByName("altMsg")[i].innerHTML = "<div style='color:#a35786; font-weight:bold; text-align:center;'><img src=\"http://img.imbc.com/2008_main_admin/images/evnt_set/eve_icon.gif\" align=\"absmiddle\"><br>¸¶°¨</div>";
			}	
		}
	}


						function ShowEndMsgNew(){
							
							for(var i=0; i<document.getElementsByName("hdnMsg").length; i++){
								var tDate = new Date(document.getElementsByName("hdnMsg")[i].value.substring(0,4), Number(document.getElementsByName("hdnMsg")[i].value.substring(4,6))-1, document.getElementsByName("hdnMsg")[i].value.substring(6,8));
								var tday = new Date(today.getYear(), today.getMonth(), today.getDate());
								var ndateDiff = dateDiff("d", tday, tDate);
								if(ndateDiff<4){
									if(ndateDiff>0)	
										document.getElementsByName("altMsg")[i].innerHTML = "<img src=\"http://img.imbc.com/2008_main_admin/images/evnt_set/eve_icon.gif\">¸¶°¨ " + ndateDiff + "ÀÏÀü"; 
									else if(ndateDiff==0)
										document.getElementsByName("altMsg")[i].innerHTML = "<img src=\"http://img.imbc.com/2008_main_admin/images/evnt_set/eve_icon.gif\">¿À´Ã ¸¶°¨";
									else
										document.getElementsByName("altMsg")[i].innerHTML = "<img src=\"http://img.imbc.com/2008_main_admin/images/evnt_set/eve_icon.gif\">¸¶°¨";
								}	
							}
						}	
	
