// ADDEVENT
function addEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	}
	else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	}
	else { 
		//alert("Handler could not be added");
		return false; 
	} 
}
function removeEvent(obj, evType, fn){
	if (obj.removeEventListener){
		obj.removeEventListener(evType, fn, false);
		return true;
	}
	else if (obj.detachEvent){
		var r = obj.detachEvent("on"+evType, fn);
		return r;
	}
	else {
		//alert("Handler could not be removed");
		return false; 
	}
}
//FIN ADDEVENT
//AJAX
function makeRequest(hurle, container, typ, js, loading, callback) {
	//affichage loading
	if(getObj(container)){
		if(loading){
			getObj(container).innerHTML = ajaxLoading;
		}
	}
	var http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
		    if (typ == "XML") http_request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject) { // IE
		try {
		    http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		    try {
		        http_request = new ActiveXObject("Microsoft.XMLHTTP");
		    } catch (e) {}
		}
	}
	if (!http_request) {
		alert(ajaxNot);
		return false;
	}
	http_request.onreadystatechange = function() {
	//alert("onreadystatechange(), http_request.readyState = " + http_request.readyState);
		if (http_request.readyState == 4) {
			if (typ == "XML"){
				parseContent(http_request, container);
			}		
			else if(typ == "HTML"){
				afficheContents(http_request, container, js, callback, loading); 
			}
			else if(callback){
				//alert("http_request.responseText = " + http_request.responseText)
				if (http_request.status == 200) {
					args = [http_request.responseText];
					callback.apply(this, args);
				}
			}
		}
	}
	http_request.open('GET', hurle, true);
	http_request.send('');	
}
function afficheContents(http_request, container, js, callback, loading) {
	if (http_request.status == 200) {
		var tmpContentHtml=http_request.responseText;
		//window.alert(tmpContentHtml);
		if (tmpContentHtml!='<!-- no value -->') {
			getObj(container).innerHTML = http_request.responseText;
			getObj(container).style.display = "block";
			if(js){
				execScript(document.getElementById(container));
			}
			if(callback){
				callback.apply();
			}
		}
		else 
			return false;
		
	} 
	else {
		getObj(container).innerHTML = ajaxError;
	}
}
function execScript(obj){
	scripts_obj = obj.getElementsByTagName("script");
	for(i=0; i < scripts_obj.length; i++){
		eval(scripts_obj[i].innerHTML);
	}
}
//FIN AJAX
// INSERT CONTENT
insertHtmlContent = function(cible, container, content, where, idcontainer){
	if(idcontainer == null){
		var sp1 = document.createElement(container);
	}
	else if(!document.getElementById(idcontainer)){
		var sp1 = document.createElement(container);
		sp1.setAttribute("id", idcontainer);
	}
	else if(document.getElementById(idcontainer)){
		var sp1 = document.getElementById(idcontainer);
		if(document.getElementById(idcontainer).style.display != "block") document.getElementById(idcontainer).style.display = "block";
	}
	//var sp1_content = document.createTextNode(content);//
	// ajoute ce contenu au nouvel élément
	//sp1.appendChild(sp1_content);
	sp1.innerHTML = content;
	var sp2 = document.getElementById(cible);
	var parentDiv = sp2.parentNode;
	if(where == "before"){
		parentDiv.insertBefore(sp1, sp2);
	}
	else if(where == "after"){
		parentDiv.insertBefore(sp1, sp2.nextSibling);
	}
	else if(where == "top"){
		alert(sp1.outerHTML)
		sp2.innerHTML = sp1.outerHTML + sp2.innerHTML;
	}
	else if(where == "bottom"){
		sp2.innerHTML = sp2.innerHTML + sp1.outerHTML;
	}
}
//FIN INSERT CONTENT
//WRITTE SWF
function writteSwf(container, src, w, h, wmode, vars){
	if(vars){
		variables = "";
		indice = 0;
		for(mul in vars){
			concat = (indice > 0) ? "&" : (src.indexOf("?") >= 0) ? "&" : "?";
			variables += concat + "" + mul + "=" + vars[mul];
			indice ++;
		}
		src = src + variables;
	}
	inner = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+w+'" height="'+h+'" id="'+container+'SWF"><param name="movie" value="'+src+'"><param name="QUALITY" value="high"><param name="wmode" value="'+wmode+'"><param name="LOOP" value="false"><embed src="'+src+'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/shockwave/download/" width="'+w+'" height="'+h+'" quality="high" loop="false" SWLIVECONNECT="true" name="'+container+'SWF" wmode="'+wmode+'"></embed></object>';
	document.getElementById(container).innerHTML = inner;
}
//FIN WRITTE SWF
// open window
function Sesame(page,target,larg,haut,scraul,agrandir,foc){
	var posXpop = (screen.availWidth-larg)/2;
	var posYpop = (screen.availHeight-haut)/2;
	param = "width="+larg+",height="+haut+",left="+posXpop+",top="+posYpop+",scrollbars="+scraul+",resizable="+agrandir;
	popup = window.open(page,target,param);
	if(foc) popup.focus();
}
// fin open window
//ouverture popups coureurs
function SesameCoureur(page){
	Sesame(page,"coureur",588,600,1,0,true);
}
//fin ouverture popups coureurs
// gestion du select
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
// fin du select epreuvesForm