function initClickSpectrum(p){
	if(is_ie6up || is_gecko){
		var clickSpectrum;
		
		function hookLink(itm){
			var oldClick = itm.onclick;

			itm.onclick = function(event){
				var event = (event) ? event : window.event;
				clickSpectrum(event);
				var t0 = new Date().getTime();

				while(true){
					var t = new Date().getTime();
					if((t - t0) > 250) break;
				}

				if(oldClick){
					oldClick.apply(itm, [event]);
				}

				event.cancelBubble = true;
			};
		}

		function hookOther(itm){
			var oldClick = itm.onclick;
			if(oldClick){
				itm.onclick = function(event){
					var event = (event) ? event : window.event;
					clickSpectrum(event);
					var t0 = new Date().getTime();

					while(true){
						var t = new Date().getTime();
						if((t - t0) > 250) break;
					}

					oldClick.apply(itm, [event]);
					event.cancelBubble = true;
				};
			}
		}

		function hookFlash(itm){
			itm.onfocus = itm.onclick = function(event){
				var event = (event) ? event : window.event;
				clickSpectrum(event);
				var t0 = new Date().getTime();

				while(true){
					var t = new Date().getTime();
					if((t - t0) > 250) break;
				}

				event.cancelBubble = true;
			};
		}
		
		document.body.onclick = clickSpectrum = function(event){
			event = (event) ? event : window.event;
			var header = document.getElementById("header");
			var x = event.clientX + ((window.pageXOffset)? window.pageXOffset : document.documentElement.scrollLeft) - header.offsetLeft;
			var y = event.clientY + ((window.pageYOffset)? window.pageYOffset : document.documentElement.scrollTop) - header.offsetTop;

			xt_img = new Image();
			hsi = '/Vitrine/ModExt/FO/Monitor/P_Click.jsp?p=' + p + '&x=' + x + '&y=' + y;
			xt_img.src = hsi;
		}


		var elmts = document.getElementsByTagName("*");

		for(var i=0; i<elmts.length; i++){
			var elmt = elmts.item(i);
			if(elmt.tagName == "A")hookLink(elmt);
			else if(elmt.tagName == "OBJECT")hookFlash(elmt);
			else if(elmt.tagName != "BODY")hookOther(elmt);
		}
	}
}