//si valeur est dans le tableau "tableau", on retourne true, sinon false
function in_array(valeur, tableau){
	var inArray = false;
	
	for(i=0; i<tableau.length; i++){
		if(tableau[i] == valeur){
			inArray = true;
		}
	}
	return inArray;
}


//ces 2 fonctions permettent de retourner la position d'un objet
//il faut appeler get_full_position en lui passant l'id de l'objet
function get_offset(elem, pos)
{
    var offset = 0;
    while(elem) {
        offset += elem[pos];
        elem = elem.offsetParent;
    }
    return offset;
}

//voir ^
function get_full_position(id)
{
    var d = document.getElementById(id);
    var offsets = new Object;
    offsets.top 	= get_offset(d, "offsetTop");
    offsets.left 	= get_offset(d, "offsetLeft");
    offsets.width 	= d.clientWidth;
    offsets.height 	= d.clientHeight;
    return offsets;
}


//supprime le noeud definit par nodeId
function removeNode(nodeId){
	if (document.getElementById(nodeId)){
		document.getElementById(nodeId).parentNode.removeChild(document.getElementById(nodeId));
	}	
}


//netoie un noeud definit par l'ID nodeId 
function clearNode(nodeId){
	if (document.getElementById(nodeId)){
		var node = document.getElementById(nodeId);
		if(node.hasChildNodes()){
			var liste = node.childNodes;		
			//alert(liste[0]);
			for (var i=liste.length-1; i>=0; i--) document.getElementById(nodeId).removeChild(liste[i]);
		}
	}else alert("Auncun element détecté avec l'id "+nodeId);	
}


//retourne la chaine de caractere passée en paramètre avec max caratère suivi de ...
function stringCut(str, max){
	
	if(str.length>max){
		//on recherche le premier espace avant MAX caractères
		str = str.substring(0, str.indexOf(" ",max));
		str = str.substring(0, str.lastIndexOf(" "));
		str += "...";
	}
	
	return str;
}



//si la valeur de l'objet input est identique à str, alros on vide le champs texte
function inputSwitch(obj, str){
	if(obj.value == str) obj.value = "";
}





function erase_combo(id){
	var lg = document.getElementById(id).length;
	for (var i=(lg-1); i>=0; i--){
		document.getElementById(id).options[i] = null;
	}
	document.getElementById(id).length = 0;
	
	var temp = document.getElementById(id).childNodes;	
	for (var i=(temp.length-1); i>=0; i--){
		disparu = document.getElementById(id).removeChild(temp[i]);
	}
}


function addOptionGroup(combo, label){
	var combox 	= document.getElementById(combo);
	var opt   	= document.createElement("OPTGROUP");
	var lab		= document.createAttribute("label");
	lab.nodeValue = label;
	opt.setAttributeNode(lab);
	combox.appendChild(opt);
	return opt;
}

function addOption(optGroup, label, value){
	var option	= document.createElement("OPTION");
	var val		= document.createAttribute("value");
	var txt		= document.createTextNode(label);
	val.nodeValue= value;
	
	option.appendChild(txt);
	option.setAttributeNode(val);	
	optGroup.appendChild(option);
}

function addOptionOnly(label, value){
	var option	= document.createElement("OPTION");
	var val		= document.createAttribute("value");
	var txt		= document.createTextNode(label);
	val.nodeValue= value;
	
	option.appendChild(txt);
	option.setAttributeNode(val);	
	return option;
}



//gestion de la position de la souris, decomenter si besoin
// var mouse_x = 0;
// var mouse_y = 0;
// document.onmousemove = position;
	
// function position(evt){
	// if(!evt) evt = window.event;
	// mouse_x = evt.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
	// mouse_y = evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
// }


function getXHR(){
	var xmlhttp=false;
	if(window.XMLHttpRequest) // Firefox
	   xmlhttp = new XMLHttpRequest();   
	else if(window.ActiveXObject) // Internet Explorer   
	  try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}  
	else { // XMLHttpRequest non supporté par le navigateur   
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");   
	   
	}
	return xmlhttp
}


function xmlGetElement(elm){
	if(elm.firstChild != null){
		if(elm.firstChild.nodeValue != null){
			return elm.firstChild.nodeValue;
		}else{
			return "";
		}
	}else{
		return "";
	}
}


/******* popup ******/
var menu = new Array();
var smenu = new Array();
var timeoutShow = 50;
var timeoutHide = 500;

function affichePopup(id){
	menu[id] = true;
	setTimeout('finalShowMenu("'+id+'");', timeoutShow);
}

function cacherPopup(id){
	menu[id] = false;
	setTimeout('finalHideMenu("'+id+'");', timeoutHide);
}

function showSMenu(id){
	smenu[id] = true;
	setTimeout('finalShowMenu("'+id+'");', timeoutShow);
}

function hideSMenu(id){
	smenu[id] = false;
	setTimeout('finalHideMenu("'+id+'");', timeoutHide);
}

function finalShowMenu(id){
	if(menu[id] == true || smenu[id] == true) document.getElementById(id).style.display = "block";
}

function finalHideMenu(id){
	if(menu[id] == false && smenu[id] != true) document.getElementById(id).style.display = "none";
}



//affiche l'adresse d'une zone zeppelin en France + dom/tom
function adrFrance(id){
	document.getElementById("rhone").style.display="none";
	document.getElementById("normandie").style.display="none";
	document.getElementById("nord").style.display="none";
	document.getElementById("bretagne").style.display="none";
	document.getElementById("atlantique").style.display="none";
	document.getElementById("mediterranee").style.display="none";
	document.getElementById("reunion").style.display="none";
	document.getElementById("nvlleCaledonie").style.display="none";
	document.getElementById("guadeloupe").style.display="none";
	document.getElementById("irlande").style.display="none";
	document.getElementById("grandeBretagne").style.display="none";
	document.getElementById("belgique").style.display="none";
	document.getElementById("norvege").style.display="none";
	document.getElementById("suede").style.display="none";
	document.getElementById("suisse").style.display="none";
	if (document.getElementById(id).style.display=="none") document.getElementById(id).style.display="block";
	else document.getElementById(id).style.display="none";
}

//affiche l'adresse d'une zone zeppelin en Europe
function adrEurope(id){
	document.getElementById("rhone").style.display="none";
	document.getElementById("normandie").style.display="none";
	document.getElementById("nord").style.display="none";
	document.getElementById("bretagne").style.display="none";
	document.getElementById("atlantique").style.display="none";
	document.getElementById("mediterranee").style.display="none";
	document.getElementById("reunion").style.display="none";
	document.getElementById("nvlleCaledonie").style.display="none";
	document.getElementById("guadeloupe").style.display="none";
	document.getElementById("irlande").style.display="none";
	document.getElementById("grandeBretagne").style.display="none";
	document.getElementById("belgique").style.display="none";
	document.getElementById("norvege").style.display="none";
	document.getElementById("suede").style.display="none";
	document.getElementById("suisse").style.display="none";
	if (document.getElementById(id).style.display=="none") document.getElementById(id).style.display="block";
	else document.getElementById(id).style.display="none";
}
