function getCookie(NameOfCookie) {
   if (document.cookie.length > 0) {
      var begin = document.cookie.indexOf(NameOfCookie + '=');
      if (begin != -1) {
         begin += NameOfCookie.length + 1;
         var end = document.cookie.indexOf(';', begin);
         if (end == -1) { end = document.cookie.length; }
         return unescape(document.cookie.substring(begin, end));
      }
   }
   return null;
}
function setCookie(NameOfCookie, value, expiredays) {
   var ExpireDate = new Date();
   ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
   document.cookie = NameOfCookie + '=' + escape(value) + ((expiredays == null) ? '' : '; expires=' + ExpireDate.toGMTString());
}
function DateAdd(interval,number,date){
      number = parseInt(number);
      if (typeof(date)=="string"){
        date = date.split(/\D/);
        --date[1];
        eval("var date = new Date("+date.join(",")+")");
      }
      if (typeof(date)=="object"){
        var date = date
      }
      switch(interval){
        case "y": date.setFullYear(date.getFullYear()+number); break;
        case "m": date.setMonth(date.getMonth()+number); break;
        case "d": date.setDate(date.getDate()+number); break;
        case "w": date.setDate(date.getDate()+7*number); break;
        case "h": date.setHours(date.getHour()+number); break;
        case "n": date.setMinutes(date.getMinutes()+number); break;
        case "s": date.setSeconds(date.getSeconds()+number); break;
        case "l": date.setMilliseconds(date.getMilliseconds()+number); break;
      } 
      return date;
    }
    
    function DateDiff(strInterval, dtStart, dtEnd) {
	    var dtStart = new Date(dtStart);
	    if (isNaN(dtStart)) dtStart = new Date();
	    var dtEnd = new Date(dtEnd);
	    if (isNaN(dtEnd)) dtEnd = new Date();
	    switch (strInterval) {
		    case "s":return parseInt((dtEnd - dtStart) / 1000);
		    case "n":return parseInt((dtEnd - dtStart) / 60000);
		    case "h":return parseInt((dtEnd - dtStart) / 3600000);
		    case "d":return parseInt((dtEnd - dtStart) / 86400000);
		    case "w":return parseInt((dtEnd - dtStart) / (86400000 * 7));
		    case "m":return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
		    case "y":return dtEnd.getFullYear() - dtStart.getFullYear();
	    }
    }