try { document.execCommand("BackgroundImageCache",false,true); }
catch(e) {};
function stopDef(e) {
	(e &&e.preventDefault)?e.preventDefault():window.event.returnValue=false;
};
function FirstChild(oEl){
 return (oEl.firstChild.nodeType!= 1)?oEl.firstChild.nextSibling:oEl.firstChild;
};

var Rating_obj = new Array();
function RatingObj(o) {
	var $=this,i=0,j=0;
	$.triggers=o.parentNode.childNodes;
	$.slider=FirstChild(o.parentNode.parentNode);
	$.slider.identity = o.parentNode.id;
	o.parentNode.parentNode.setAttribute("name","ratingDiv")
	$.slider.prefixe="ratingpos";
	initValue = parseInt(slider.className.replace(slider.prefixe,''));
	
	// initialisation avec la valuer de la class si possible
	if(isNaN(initValue) ){
		$.slider.memValue=slider.prefixe+"0";
	}else {
		$.slider.memValue=slider.prefixe+initValue;
	}
	while($.triggers[i]) {
		var elt=triggers[i];
		if(elt.nodeType == 1){
			elt.index=j+1;
			elt.slider = $.slider;
			(elt.getAttribute("href")==null)?elt.setAttribute("href","#"):"";
			elt.onmouseover = overRate;
			elt.onmouseout = outRate;			
			elt.onclick = clickRate;
			if(o==$.triggers[i])
				$.slider.className=$.slider.prefixe+elt.index;
				j++
			}
		i++
	}
	return $;
};
function clickRate(e) {
	if (!e) {var e = window.event;}
	//stopDef(e); ///virer ca sinon on peut pas catcher le fait que l'on a voté en mettant qqchose dans le href
	this.slider.className=this.slider.memValue=this.slider.prefixe+this.index;
	
}
function overRate(e) {
	if (!e) {var e = window.event;}
	this.slider.className=this.slider.prefixe+this.index;
}
function outRate(e) {
	if (!e) {var e = window.event;}
	this.slider.className=this.slider.memValue;
}

function myHandleEvent(e) {
	var targ;
	if (!e) {var e = window.event;}
	if (e.target) {targ = e.target;}
	else if (e.srcElement) {targ = e.srcElement;}
	if (targ.nodeType == 3) {targ = targ.parentNode;}
	if(targ.tagName.toLowerCase()=="a" && targ.parentNode.className.indexOf("ratingDyn")!=-1){
		if(!Rating_obj[targ.parentNode.id]) {
			Rating_obj[targ.parentNode.id]=RatingObj(targ);
		}
	}				
};

function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType,fn,useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		return elm.attachEvent('on'+evType,fn);
	}
	else {
		elm['on'+evType] =fn;
	}
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {window.onload = func;}
	else { window.onload = function() {oldonload();func();}}
}
function bindEvent() {
	addEvent(document, "mouseover",myHandleEvent,false)
};

addLoadEvent(bindEvent);


