
//recherche dans le tableau tab la valeur val renvoie true si trouvé false sinon
function inArray(tab, val)
{
	var nbr = tab.length;
	var ok = true;
	var i = 0;
	while(i < nbr)
	{
		if(tab[i] != val)	i++;
		else return true;
	}
	return false;
}

//fonction qui permet de basculer d'un sélectBox à un autre les champs sélectionnés
function bascule(sel1, sel2)
{
	var se1 = document.getElementById(sel1);
	var se2 = document.getElementById(sel2);
	
	var nbropt = se1.options.length;
	
	var cpt = 0;
	var i = 0;
	while(i < nbropt)
	{
  		if(se1.options[i].selected == true)
  		{
  			var opt = se1.options[i].cloneNode(true);
			opt.setAttribute("text", se1.options[i].text)
			opt.setAttribute("value", se1.options[i].value)
  			se2.appendChild(opt);
  			se1.options[i] = null;
  			cpt++;
  			i=0;
  			var nbropt = se1.options.length;
  		}
  		else(i++);
	}
	if(cpt == 0) alert("Vous devez sélectionner au moins une ligne!");
}


//Fonction qui permet de monter ou descendre les options d'un SelectBox
function menuswitch(menu, way)
{
	var menumax = menu.length -2;
	var menusel = menu.selectedIndex;
	
	// Debordement
	if ((menusel < 0) || (menusel < 1 && way == -1) || (menusel > menumax && way == 1)) { return false; }

	// Permutation
	tmpopt = new Option( menu.options[menusel+way].text, menu.options[menusel+way].value );
	
	menu.options[menusel+way].text = menu.options[menusel].text; 
	menu.options[menusel+way].value = menu.options[menusel].value; 
	menu.options[menusel+way].selected = true;
	
	menu.options[menusel].text = tmpopt.text; 						
	menu.options[menusel].value = tmpopt.value;
	menu.options[menusel].selected = false;
	return true;
}

//Fonction qui permet de monter au premier rang une option d'un SelectBox
function menuswitchbegin(menu)
{
	var menusel = menu.selectedIndex;
	// Debordement
	if (menusel == 0) { return false; }

	tmpopt = new Option( menu.options[menusel].text, menu.options[menusel].value );

	for(var i=menusel; i > 0; i--) {
		menu.options[i].text = menu.options[i-1].text;
		menu.options[i].value = menu.options[i-1].value;
		menu.options[i].selected = false;
	}

	// Permutation
	menu.options[0].text = tmpopt.text;
	menu.options[0].value = tmpopt.value;
	menu.options[0].selected = true;

	return true;
}

//Fonction qui permet de descendre au dernier rang une option d'un SelectBox
function menuswitchend(menu)
{
	var menusel = menu.selectedIndex;
	var nbr = menu.options.length;
	// Debordement
	if (menusel == nbr-1) { return false; }

	tmpopt = new Option( menu.options[menusel].text, menu.options[menusel].value );
	for(var i=menusel; i < nbr-1; i++) {
		menu.options[i].text = menu.options[i+1].text;
		menu.options[i].value = menu.options[i+1].value;
		menu.options[i].selected = false;
	}

	// Permutation
	menu.options[nbr-1].text = tmpopt.text;
	menu.options[nbr-1].value = tmpopt.value;
	menu.options[nbr-1].selected = true;

	return true;
}

function toutCocher(nomSelect)
{
	if(sel = document.getElementById(nomSelect)) {

		var nbrOption = sel.options.length;
		for(i=0; i<nbrOption; i++)
		{
			sel.options[i].selected = true;
		}
	}
}

function avanceSelect(nomSelect)
{
	var sel = document.getElementById(nomSelect);
	var nbrSel = sel.options.length;
	var i = sel.selectedIndex + 1;
	if(i == nbrSel) alert("Vous êtes sur le dernier élément de la liste.");
	else
	{
		sel.options[i].selected = true;
		document.getElementById(nomSelect).onchange();
	}
}

function reculeSelect(nomSelect)
{
	var sel = document.getElementById(nomSelect);
	var i = sel.selectedIndex - 1;
	if(i < 1) alert("Vous êtes sur le premier élément élément de la liste.");
	else
	{
		sel.options[i].selected = true;
		document.getElementById(nomSelect).onchange();
	}
}


// Fonction qui va récupérer l'url en cours et qui retourne le module appelé
function getPageUrl()
{
	var path = window.location.pathname;
	var tabPath = path.split("/");
	
	var nbrPath = tabPath.length;
	for(var i=0; i < nbrPath; i++)
	{
		if(tabPath[i] == "PWA") return tabPath[i+1];
	}
}


function ctrlComment(div, max)
{
	contenu = div.value;
	if(contenu.length > max-1)
	{
		div.value = contenu.substr(0, max-1);
	}
}


// Retourne l'absisse de la position de la souris lors du déclenchement d'un évènement
function positionCliqueX(ev)
{
	var nav = navigator.appName;
	if(nav == "Netscape" || nav == "Mozilla") return ev.x
	else return window.event.screenX;
}


// Retourne l'ordonnée de la position de la souris lors du déclenchement d'un évènement
function positionCliqueY(ev)
{
	var nav = navigator.appName;
	if(nav == "Netscape" || nav == "Mozilla") return ev.y
	else return window.event.screenY
}



function loading(page)
{
	document.getElementById('cacheon').style.display = 'none';
	document.getElementById('cacheoff').style.display = 'block';
	switch(page)
	{
		case 'index' :
			document.getElementById('dos').focus();
			break;
			
		case 'GestionDemandes' :
			document.getElementById('depuis').focus();
			break;
		
		case 'CreerGroupe' :
			document.getElementById('nomG').focus();
			break;
		
		case 'GestionGroupe' :
			if(document.getElementById('libelle'))
				document.getElementById('libelle').focus();
			break;

		case 'GestionSalarie' :
			document.getElementById('recherche').focus();
			break;
		
		case 'CreerCompteur' :
			document.getElementById('libCpt').focus();
			break;
		
		case 'GestionCompteurs' :
			if(document.getElementById('libCpt')) 
			{
				if(document.getElementById('libCpt').getAttribute("type") != 'hidden')
				{	document.getElementById('libCpt').focus();	}
			}
			break;

		case 'GestionCategorie' :
			if(document.getElementById('libelle')) 
			{
				document.getElementById('libelle').focus();
			}
			break;
			
		case 'CreerCategorie' :
			document.getElementById('nomC').focus();
			break;

		case 'GestionRole' :
			if(document.getElementById('libelle')) document.getElementById('libelle').focus();
			break;
			
		case 'CreerRole' :
			document.getElementById('nomR').focus();
			break;
		
		case 'ParamCal' :
			document.getElementById('hLun').focus();
			break;
			
		
		case 'CreerCompteur' :
			document.getElementById('libCpt').focus();
			break;
		
		case 'paramG' :
			document.getElementById('smtp').focus();
			break;
			
		case 'import' :
			if(document.getElementById('fichier'))
				document.getElementById('fichier').focus();
			break;
		
		case 'importDecideurs' :
			document.getElementById('fichier').focus();
			break;
			
		case 'gestionAdmin' :
			document.getElementById('pwd1').focus();
			break;
		
		case 'export' :
			document.getElementById('fin').focus();
			break;

		case 'valorisation' :
			document.getElementById('dat').focus();
			break;
			
		case 'valorisationYR' :
			document.getElementById('dat').focus();
			break;
			
		case 'cloture' :
			document.getElementById('date').focus();
			break;

		default :
			break;
	}
}


function unloading()
{
	document.body.style.cursor = 'wait';
	document.getElementById('cacheon').style.display = 'block';
	document.getElementById('cacheoff').style.display= 'none';
}


// Retourne la largeur de la fenetre
function getWidthWindow()
{
	if (window.innerWidth) return window.innerWidth;
 	else if (document.body && document.body.offsetWidth) return document.body.offsetWidth;
 	else return 1002;
	
}


// Retroune la hauteur de la fenetre
function getHeightWindow()
{
	if (window.innerHeight) return window.innerHeight  ;
 	else if (document.body && document.body.offsetHeight) return document.body.offsetHeight;
 	else return 800;
}

function getObj(name)
{
	if (document.getElementById)
  		return document.getElementById(name);
	else if(document.all)
  		return document.all[name];
  	else if (document.layers)
   		return document.layers[name];
}

function trim(s) {
    return s.replace(/^\s+/, '').replace(/\s+$/, '');
}
