(function() {

	var countdown = function() {

		var sfEls = document.getElementById("mainnav").getElementsByTagName("UL")[0].getElementsByTagName("LI");

		for (var i=0; i<sfEls.length; i++) {

			sfEls[i].onmouseover=function() {

				this.className+=" sfhover";

			}

			sfEls[i].onmouseout=function() {

				this.className=this.className.replace(new RegExp(" sfhover\\b"), "");

			}

		}



		var eventDateHolder = document.getElementById("event_date").getElementsByTagName("P")[0];

		var eventCounterHolder = document.getElementById("event_date").getElementsByTagName("SPAN")[0];



		// todays date

		var todayDate = new Date();

		var todayDate = new Date(todayDate.getFullYear(), todayDate.getMonth(), todayDate.getDate(), 0, 0, 0);



		// calculate year of next event
		// changes the months to 10s (from 11s) after RSW 2011 to get it to display correct dates etc for 2012. But not sure why these dates should be 10s. Should work with 11, but doesn't. DW/29/11/2011

		var rswYear = todayDate.getFullYear();

		if ((todayDate.getMonth() >= 10) || (todayDate.getMonth() >= 10 && todayDate.getDate() > 27)) {

			rswYear++;

		}



		// calculate end date of event

		var eventEndDate = new Date(rswYear, 10, 30, 0, 0, 0);

		eventEndDate = new Date(rswYear, 10, 30 - eventEndDate.getDay(), 0, 0, 0);



		// calculate start date of event

		var eventStartDate = new Date(rswYear, 10, eventEndDate.getDate() - 6, 0, 0, 0);



		// insert the dates of event

		eventDateHolder.innerHTML = eventStartDate.getDate() + '-' + eventEndDate.getDate() + '<br/>November ' + rswYear



		// calculate the day counter

		var diff = eventStartDate - todayDate;

		var days = new String(diff/86400000);

		if (days.indexOf('.') > -1) days = days.substring(0, days.indexOf('.'));



		if (diff > 0) {

			var count = ('000' + days);

			count = count.substr(count.length-3);

			eventCounterHolder.innerHTML = '<img src="images/event-countdown-'+count.charAt(0)+'.gif" /><img src="images/event-countdown-'+count.charAt(1)+'.gif" /><img src="images/event-countdown-'+count.charAt(2)+'.gif" />';

		} else {

			eventCounterHolder.innerHTML = '<img src="images/event-countdown-0.gif" /><img src="images/event-countdown-0.gif" /><img src="images/event-countdown-0.gif" />';

		}

	}



	// Dean Edwards/Matthias Miller/John Resig



	function init() {

	  // quit if this function has already been called

	  if (arguments.callee.done) return;



	  // flag this function so we don't do the same thing twice

	  arguments.callee.done = true;



	  // kill the timer

	  if (_timer) clearInterval(_timer);



	  // do stuff

	  countdown();

	

		if (document.getElementsByTagName) {

			var lnks = document.getElementsByTagName('a');

			var len3 = lnks.length;

			for (i=0; i<len3; i++) {

				if (lnks[i] && lnks[i].href && lnks[i].href.indexOf('http://') === 0 && lnks[i].href.indexOf('http://www.roadsafetyweek.org') !== 0) {

					//lnks[i].setAttribute('target', '_blank');

				}

			}

		}

	};



	/* for Mozilla/Opera9 */

	if (document.addEventListener) {

	  document.addEventListener("DOMContentLoaded", init, false);

	}



	/* for Internet Explorer */

	/*@cc_on @*/

	/*@if (@_win32)

	  document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");

	  var script = document.getElementById("__ie_onload");

	  script.onreadystatechange = function() {

	    if (this.readyState == "complete") {

	      init(); // call the onload handler

	    }

	  };

	/*@end @*/



	/* for Safari and Chrome */

	if (/WebKit/i.test(navigator.userAgent)) { // sniff

	  var _timer = setInterval(function() {

	    if (/loaded|complete/.test(document.readyState)) {

	      init(); // call the onload handler

	    }

	  }, 10);

	}



	/* for other browsers */

	window.onload = init;

})()
