/* ANCIENNE FONCTION, NE FONCTIONNE PAS AVEC MOZILLA */
/*
function mOvr(src,colorOver){ 
	if (!src.contains(event.fromElement)){ 
		src.style.cursor = 'hand'; 
		for (ii=0; ii<src.children.tags('td').length; ii++){
			src.children.tags('td')[ii].bgColor = colorOver; 
		}
	} 
} 

function mOut(src,colorOut){ 
	if (!src.contains(event.toElement)){ 
		src.style.cursor = 'default'; 
		for (ii=0; ii<src.children.tags('td').length; ii++){
			src.children.tags('td')[ii].bgColor = colorOut; 
		}
	} 
}

function mClk(src){ 
	if(event.srcElement.tagName=='TD'){
		for (var i=0;i<src.children.tags('td').length;i++){
			if (src.children.tags('td')[i].children.tags('A')[0] ){
				src.children.tags('td')[i].children.tags('A')[0].click();
				break;
			}
		}
	}
}
*/

var Moz;
var rel;
if (navigator.appName.substring(0,3) == "Net") {
Moz=true;
document.captureEvents(Event.MOUSEOVER)
document.onmouseover = ReturnTarget;
document.captureEvents(Event.MOUSEOUT)
document.onmouseout = ReturnTarget;
}

function contains(a,b){
    // remonte par les parents de b
    // jusqu'à ce que nous en trouvions un
    while(b && (a!=b) && (b!=null))
     b = b.parentNode;
    return a == b;
}

function Target(e) {
	rel = e.target;
}
function ReturnTarget(e) {
	rel = e.relatedTarget;
}
function SrcElement(e) {
	rel = e.srcElement;
}

function FromEl(Parent) {
	//Renvoie True SI l'element sur lequel etait la souris avant le déclenchement de l'evenement n'est pas un fils de l'element envoyé Parent
	// Uniquement pour l'evenement MouseOver pour Mozilla
	if (Moz) {
		document.captureEvents(Event.MOUSEOVER)
		document.onmouseover = ReturnTarget;
		
		if (!rel || !contains(Parent,rel)){return true;}
	} else {
		if (!Parent.contains(event.fromElement)){return true;}
	}
	return false;
}

function ToEl(Parent) {
	//Renvoie True SI l'element sur lequel est la souris au déclenchement de l'evenement n'est pas un fils de l'element envoyé Parent
	// Uniquement pour l'evenement MouseOut pour Mozilla
	if (Moz) {
		document.captureEvents(Event.MOUSEOUT)
		document.onmouseout = ReturnTarget;
		
		if (!rel || !contains(Parent,rel)){return true;}
	} else {
		if (!Parent.contains(event.toElement)){return true;}
	}
	return false;
}

function TagEl(TagCompare) {
	if (Moz) {
		document.captureEvents(Event.MOUSECLICK)
		document.onmouseclick = SrcElement;
		
		if (rel) {
			return (rel.tagName == TagCompare);
		} else {
			return false;
		}
	} else {
		return (event.srcElement.tagName == TagCompare);
	}
}

function mOvr(src,color){ 
	if (FromEl(src)){ 
		//On va chercher tous les fils TD de l'element envoyé
		src.style.cursor = 'Hand';
		
		Tag = src.getElementsByTagName('td')
		for (var i=0;i<Tag.length;i++){
			Tag[i].bgColor=color;
		}
	}
} 


	
function mOut(src,color) {
	if (ToEl(src)){ 
		//On va chercher tous les fils TD de l'element envoyé
		src.style.cursor = 'default'; 
		
		Tag = src.getElementsByTagName('td')
		for (var i=0;i<Tag.length;i++){
			Tag[i].bgColor=color;
		}
	}
	
}

function mClk(src){ 
	if(TagEl('TD')){
		Tag = src.getElementsByTagName('td')
		for (var i=0;i<Tag.length;i++){
			if (Tag[i].getElementsByTagName('A')[0] ){
				//alert(Tag[i].getElementsByTagName('A')[0]);
				if (Moz) {
					document.location=Tag[i].getElementsByTagName('A')[0];
				} else {
					Tag[i].getElementsByTagName('A')[0].click();
				}
				break;
			}
		}
	}
}


function SelectAll(form,BoolAction,Nom) {
	var Longueur=Nom.length
	for (var i in form.elements) { if (form.elements[i] && form.elements[i].name && form.elements[i].name.substr && form.elements[i].name.substr(0,Longueur) == Nom ) form.elements[i].checked = BoolAction	}
}

function OrderIt (form,TypeAction,ID,Sens) {

	if (TypeAction == "thislistidorder") {
		TabListeID = form.ListeOptionID.value.split(",");
			
		for (i in TabListeID) {
			i=i*1;
			ID = ID * 1;
			if (TabListeID[i] == ID) {
				if (Sens == '+') {
					if (i == 0) {
						alert("Vous ne pouvez monter le premier champ !");
						return false;
					} else {
						TabListeID[i] = TabListeID[i-1];
						TabListeID[i-1] = ID;
						break;
					}
				} else {
					if ((i+1) == TabListeID.length) {
						alert("Vous ne pouvez descendre le dernier champ !");
						return false;
					} else {
						TabListeID[i] = TabListeID[i+1];
						TabListeID[i+1] = ID;
						break;
					}
				}
			}
		}
		form.ListeOptionID.value ='';
		form.TypeAction.value = TypeAction;
		for (i in TabListeID) {
				if (form.ListeOptionID.value != '') { form.ListeOptionID.value += ',';}
				form.ListeOptionID.value += TabListeID[i];
		}
		form.submit();
	} else {
		form.ListeOptionID.value =ID;
		form.TypeAction.value = TypeAction;
		form.submit();
	}
	
}