timeA = new Date();
todDate = timeA.getDate();
todMonth = timeA.getMonth();
todYear = timeA.getFullYear();
nDate = new Date(todYear,todMonth,todDate);

function getTod(){
	i = 0;
	firstDate = new Date(todArray[0][2],(todArray[0][1] - 1),todArray[0][0]);
	arrayIndex = Math.floor((nDate - firstDate)/1000/60/60/24);
	exitFlag = 0;
	decrementing = 0;

	while (1){
		if(arrayIndex >= todArray.length){
			if(todArray[todArray.length-1][3] == ""){
				arrayIndex = todArray.length - 1 - 1;
				decrementing = 1;
				continue;
			}
			return (todArray[(todArray.length-1)][3]); // return last thought
			
		}
		if(arrayIndex == 0){
			return (todArray[0][3]); // return first thought
		}

		arrayDate = new Date(todArray[arrayIndex][2],(todArray[arrayIndex][1] - 1),todArray[arrayIndex][0]);
//		((arrayDate - nDate) == 0)?alert("Equal" + (arrayDate - nDate)):alert("Not equal" + (arrayDate - nDate));
		if((arrayDate - nDate) == 0){
			if((todArray[arrayIndex][0] == "29") && (todArray[arrayIndex][1] == "02")){ // 29th FEB
				marDate = new Date(todArray[arrayIndex+1][2],(todArray[arrayIndex+1][1] - 1),todArray[arrayIndex+1][0]);
				if((arrayDate - marDate) == 0){
					// THIS YEAR IS NOT A LEAP YEAR
					arrayIndex = arrayIndex + 1;
					continue;
				}
			}
			if(todArray[arrayIndex][3] == ""){
				arrayIndex = arrayIndex - 1;
				decrementing = 1;
				continue;
			}
			return (todArray[arrayIndex][3]); // Date Matched
		}
		if(arrayDate > nDate){
			arrayIndex = arrayIndex - 1;
			decrementing = 1;
		}else{
			if(decrementing == 1){ // Previously decrementing
				if(todArray[arrayIndex][3] == ""){
					arrayIndex = arrayIndex - 1;
					decrementing = 1;
					continue;
				}
				return (todArray[arrayIndex][3]); // Nearest Match
			}
			arrayIndex = arrayIndex + 1; // Move to next date in array
		}
	}
}