Date.prototype.add = function (sInterval, iNum){
  var dTemp = this;
  if (!sInterval || iNum == 0) return dTemp;
  switch (sInterval.toLowerCase()){
    case "ms":
      dTemp.setMilliseconds(dTemp.getMilliseconds() + iNum);
      break;
    case "s":
      dTemp.setSeconds(dTemp.getSeconds() + iNum);
      break;
    case "mi":
      dTemp.setMinutes(dTemp.getMinutes() + iNum);
      break;
    case "h":
      dTemp.setHours(dTemp.getHours() + iNum);
      break;
    case "d":
      dTemp.setDate(dTemp.getDate() + iNum);
      break;
    case "mo":
      dTemp.setMonth(dTemp.getMonth() + iNum);
      break;
    case "y":
      dTemp.setFullYear(dTemp.getFullYear() + iNum);
      break;
  }
  return dTemp;
}


function ReturnDate(dmy)
{

	var monthArrayShort = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
	var strDate;
	var SplitResult = dmy.split("/");
	return SplitResult[0] + " " + monthArrayShort[SplitResult[1]-1] + " " + SplitResult[2];
}


function datePickerClosed(dateField)
{

	filter(dateField.value.toLowerCase(), 'HolDates', '0')

}

   	
function filter (SearchDate, TableID, cellNr)

{
//	var StrDate = SearchDate;
	var table = document.getElementById(TableID);

	var StartDate = new Date(ReturnDate(SearchDate));
	var EndDate = new Date(ReturnDate(SearchDate));
	StartDate.add("d",-7)
	EndDate.add("d",28)
	
	var RowData;

	for (var r = 3; r < table.rows.length; r++)
	{
		RowData = table.rows[r].cells[cellNr].innerHTML.replace(/<[^>]+>/g,"");
	
		var MyRowDate = new Date(RowData);

		
		if (MyRowDate >= StartDate && MyRowDate <= EndDate)
			table.rows[r].style.display = '';


		else 
			table.rows[r].style.display = 'none';


	}
}
