
var AustESTOffset = 10;
var AustDLSOffset = 11;
var lastSunday =0;

var AustDate = new Date();

	AustESTHour = AustDate.getUTCHours() + AustESTOffset;
		AustDate.setHours(AustESTHour);

	AustESTMonth = AustDate.getMonth();
	AustESTDate = AustDate.getDate();
	AustESTDay = AustDate.getDay();

//  #######test data
//	AustESTHour = 1;
//	AustESTHour = 2;
//	AustESTHour = 3;
//	AustESTHour = 4;
//	AustESTHour = 15;
//	AustDate.setHours(AustESTHour);

//	AustESTDate = 1;
//	AustESTDate = 27;
//	AustESTDate = 31;
//	AustDate.setDate(AustESTDate);

//	AustESTMonth = 1; // feb
//	AustESTMonth = 2; // mar
//	AustESTMonth = 5; // jun
//	AustESTMonth = 9; // oct
//	AustESTMonth = 11; // dec
//	AustDate.setMonth(AustESTMonth);
//  ########end test data


function findLastSunday(tempDate){

	date = tempDate.getDate();
	month = tempDate.getMonth();

	// #####test output
	//document.write("Date: " + date + "<BR>");
	//document.write("Month: " + month + "<BR>");
	//document.write("Month + 1: " + (month + 1)+ "<BR>");
	//document.write("lastSunday: " + lastSunday + "<BR>" + "<BR>" + "<BR>");
	// #####end test output

	for (var i = date; i <= 31 ; i++){

		if ( (tempDate.getDay() == 0) && (tempDate.getMonth() != month + 1) ){

			// #####test output
			//document.write("Month: " + tempDate.getMonth() + "<BR>");
			// #####end test output

			lastSunday = tempDate.getDate();
		}

		// #####test output
		//document.write("lastSunday: " + lastSunday + "<BR>");
		// #####end test output


		date ++;
		tempDate.setDate(date);

	}// end for

	return lastSunday;
}//end function*******

function determineOffset(){

	if ( (AustESTMonth > 2) && (AustESTMonth < 9) ){return AustESTOffset;}
	else if ((AustESTMonth == 0) || (AustESTMonth == 1) || (AustESTMonth  == 10) || (AustESTMonth == 11)){return AustDLSOffset;}
	else if (AustESTMonth == 2){
								if (AustESTDate < lastSunday){return AustDLSOffset;}
								else if (AustESTDate > lastSunday){return AustESTOffset;}
								else if (AustESTDate == lastSunday){
																	if (AustESTHour < 2){return AustDLSOffset;}
																	else if (AustESTHour >= 2){return AustESTOffset;}
																	}
								}

	else if (AustESTMonth == 9){
								if (AustESTDate < lastSunday){return AustESTOffset;}
								else if (AustESTDate > lastSunday){return AustDLSOffset;}
								else if (AustESTDate == lastSunday){
																	if(AustESTHour < 3){return AustESTOffset;}
																	else if (AustESTHour >= 3){return AustDLSOffset;}
																	}
								}

	return AustESTOffset;

}//end func*******

function displayFormat(number) {
	return (number < 10) ? '0' + number : number;
} //end func

function updateClocks() {
    now = new Date();

	newHour = now.getUTCHours() + timeOffset;
	now.setHours(newHour);
	newMinutes = now.getUTCMinutes();
	now.setMinutes(newMinutes);

	    document.timeForm.timenow.value = displayFormat(now.getHours()) + ':' + displayFormat(now.getMinutes()) + ':' + displayFormat(now.getSeconds());
		   setTimeout('updateClocks()',500);
} //end func

