var clock_elements;

function getEl(nom) {
	return (document.all) ? document.all[nom] : ((document.getElementById) ? document.getElementById(nom) : null);
}

function tick() {
//	document.write("bip " + cpt + " " + clock_elements);
	// Decide browser version
	var isMac = (navigator.userAgent.indexOf("Mac") != -1);
	var olOp = (navigator.userAgent.toLowerCase().indexOf('opera 7.') > -1);
	var olNs4 = (navigator.appName=='Netscape' && parseInt(navigator.appVersion) == 4);
	var olNs6 = (document.getElementById) ? true : false;
	var olIe4 = (document.all) ? true : false;
	var olIe5 = false; 
	var olIe55 = false; // Added additional variable to identify IE5.5+
	var docRoot = 'document.body';
	
	// Resize fix for NS4.x to keep track of layer
	if (olNs4) {
		var oW = window.innerWidth;
		var oH = window.innerHeight;
		window.onresize = function() { if (oW != window.innerWidth || oH != window.innerHeight) location.reload(); }
	}
	
	// Microsoft Stupidity Check(tm).
	if (olIe4) {
		var versNum=parseFloat(navigator.userAgent.match(/MSIE (\d\.\d+)\.*/i)[1]);
		if (versNum >= 5){
			olIe5=true;
			olIe55=(versNum>=5.5&&!olOp) ? true : false;
			if (olNs6) olNs6=false;
		}
		if (olNs6) olIe4 = false;
	}
	
	// Check for compatability mode.
	if (document.compatMode && document.compatMode == 'CSS1Compat') {
		docRoot= ((olIe4 && !olOp) ? 'document.documentElement' : docRoot);
	}
	
	
	var i, el;
//	document.write(clock_elements.length);

	for (i = 0; i < clock_elements.length; i++) {
			el = getEl(clock_elements[i]);
			if (el) {
//				document.write(el);
				var dt1 = new Date();
				var dt0 = new Date( dt1.getTime() + (dt1.getTimezoneOffset() * 60000 ) );
				var dt2 = new Date( dt0.getTime() + (el.attributes['decalage'].value * 60000 ) + (IsSummer(dt0) && el.attributes['ete'].value == "1" ?3600000:0) );
				var h = dt2.getHours();
				var m = dt2.getMinutes();
				var s = dt2.getSeconds();
				el.innerHTML = (h<10?'0':'') + h + ":" + (m<10?'0':'') + m + ":" + (s<10?'0':'') + s ;
			}

	}

		el = getEl('nextchange');
		if (el) {
			var dtnow = new Date();
			var dtnext = new Date( 2005, 10 - 1, 30, 2, 0, 0, 0 );
			var txt = 'le ' + dtnext.getDate() + '/' + (dtnext.getMonth() + 1) + '/' + dtnext.getFullYear() + ' à 2 heures, soit dans ' + Math.floor((dtnext.valueOf() - dtnow.valueOf()) / (1000)) + ' secondes';
			el.innerHTML = txt;
		}
//	document.write(clock_elements);
	setTimeout("tick()", 500);

}

function cbclock_start(a_clock_elements) {

	if (typeof(a_clock_elements) == "undefined") 
			return;
	
	clock_elements = a_clock_elements;
	tick();
}

// ----------------------------------------------------
// IsSummer method
// ----------------------------------------------------
function IsSummer (checkDate) {
	return true;
	var dd = checkDate.getDate ();
	var mm = checkDate.getMonth ();
	if ((mm >= 3) && (mm <= 9)) {
		var dateApril = new Date (checkDate.getYear (), 3, 1);
		var firstWeekApril = 8 - dateApril.getDay ();
		if (firstWeekApril > 7)
			firstWeekApril -= 7;

		var dateOct = new Date (checkDate.getYear (), 9, 31);
		var lastWeekOct = 31 - dateOct.getDay ();

		var isSetAhead1 =
			((mm == 3) && (dd > firstWeekApril)) ||
			((mm == 3) && (dd == firstWeekApril) && (checkDate.getHours () >= 2)) ||
			(mm > 3);
		var isSetAhead2 =
			((mm == 9) && (dd < lastWeekOct)) ||
			((mm == 9) && (dd == lastWeekOct) && (checkDate.getHours () < 2)) ||
			(mm < 9);
		if (isSetAhead1 && isSetAhead2)
			return true;
		else
			return false;
	}
	return false;
}


