/*-----------------Methodes pour les tableaux Javascript -------------*/

Array.prototype.inArray = function(val)
{
	var arr_indx = 0;
	var res_arr = false;
	
	for(arr_indx=0;arr_indx<this.length;arr_indx++)
	{
		if(typeof(this[arr_indx]) == 'object')
		{
			to_eval = this[arr_indx].val1;
		}
		else
		{
			to_eval = this[arr_indx];
		}
				
		if(to_eval == val)
		{
			res_arr = true;
			break;
		}
	}
	return res_arr;
}

Array.prototype.removeIndex = function(index)
{
	NvTab= new Array();
	var q=0;
	for(x=0;x<this.length;x++)
	{
		if(x != index)
		{
			NvTab.push(this[x])
		}
	}
	
	this.length = 0;
	
	for(i=0;i<NvTab.length;i++)
	{
		this[i] = NvTab[i];
	} 
	
	return this;
}

Array.prototype.removeVal = function(val)
{
	NvTab= new Array();
	var q=0;
	for(x=0;x<this.length;x++)
	{
		if(this[x] != val)
		{
			NvTab.push(this[x])
		}
	}
	
	this.length = 0;
	
	for(i=0;i<NvTab.length;i++)
	{
		this[i] = NvTab[i];
	}   
	return this;
}

Array.prototype.KeyFromVal = function(val)
{
	var arr_indx = 0;
	var res_arr = false;
	
	for(arr_indx=0;arr_indx<this.length;arr_indx++)
	{
		if(typeof(this[arr_indx]) == 'object')
		{
			to_eval = this[arr_indx].val1;
		}
		else
		{
			to_eval = this[arr_indx];
		}
				
		if(to_eval == val)
		{
			res_arr = arr_indx;
			break;
		}
	}
	return res_arr;
}


/*----------------- Extention pour les string -----------*/
String.prototype.is_ASCII = function()
{
	var str_indx = 0;
	var is_ascii = true;
	
	for(str_indx=0;str_indx<this.length;str_indx++)
	{
		if(this.charCodeAt(str_indx) >= 128 )
		{
			is_ascii = false;
			return is_ascii;
		}
	}
	
	return is_ascii;
}

String.prototype.capFirst = function()
{
	tmp_val = this
	resD = tmp_val.substring(0,1).toUpperCase()
	resF = tmp_val.substring(1,tmp_val.length)
	_final = resD+resF.toLowerCase()
	return _final;
}

Element.prototype.getSel = function()
{
	tmp_var = this
	tmp_res = [];
	for(igetSel=0;igetSel<this.options.length;igetSel++)
	{
		if(this.options[igetSel].selected == true)
		{
			tmp_res.push(this.options[igetSel].value)
		}
	}
	
	args = $A(arguments);
	
	if(args.length == 0)
	{
		formatgetSel = 'string';
		glueCar = ',';
	}
	else
	{
		if(args.length == 1)
		{
			formatgetSel = args[0];
			glueCar = ',';
		}
		else
		{
			if(args.length == 2)
			{
				formatgetSel = args[0];
				glueCar = args[1];
			}
			else
			{
				//Error
			}
		}
	}
	
	
	switch(formatgetSel)
	{
		case 'array':
			return tmp_res;
			break;
		case 'string':
			return tmp_res.join(glueCar);
			break;
		default:
			return tmp_res.join(',');
			break;
	}
}

/*-------------------DIVERS --------------------------*/

function radioValue(name)
{
	rad = document.getElementsByName(name)
	for(i=0;i<rad.length;i++)
	{
		if(rad[i].checked == true)
		{
			return rad[i].value;
		}
	}
}

function filtreVal(val,filtre)
{
	_filtre = filtre.toLowerCase()
	_val = val.toLowerCase()
	
	if(_val.substr(0,_filtre.length) == _filtre)
	{
		return false;
	}
	else
	{
		return true
	}
}

/*---------------- HANDLERS -------------------------*/

function DefaultHandler(nom_elem)
{
	this.nom_element = nom_elem
	this.inheritFrom = Handler
	this.inheritFrom();
	this.onInit = function() {}                       
	this.onWaiting = function() {}                    
	this.onError = function(status,statusText) {
		alert("Erreur de chargement: \n\n"+statusText + " [Erreur No "+status+"]")
	}     
	this.onProgress = function(responseText,length) {}
	this.onLoaded = function (result) 
	{
		result = unescape(result)
		retirer_tt_element(this.nom_element) 
		if(result == "")
			return '';
		liste_val = result.split('|');
  	for(i=0;i < liste_val.length; i++)
  	{
  		couple_val = liste_val[i].split('<SEP>');
  		nom = couple_val[0];
  		val = couple_val[1];
  		ajoute_element(this.nom_element,val,nom,false);
  	}
	}
}

function DefaultHandlerSel(nom_elem, valsel)
{
	this.valsel = valsel 
	this.nom_element = nom_elem
	this.inheritFrom = Handler
	this.inheritFrom();
	this.onInit = function() {}                       
	this.onWaiting = function() {}                    
	this.onError = function(status,statusText) {
		alert("Erreur de chargement: \n\n"+statusText + " [Erreur No "+status+"]")
	}     
	this.onProgress = function(responseText,length) {}
	this.onLoaded = function (result) 
	{
		result = unescape(result)
		retirer_tt_element(this.nom_element) 
		if(result == "")
			return '';
		liste_val = result.split('|');
  	for(i=0;i < liste_val.length; i++)
  	{
  		couple_val = liste_val[i].split('<SEP>');
  		nom = couple_val[0];
  		val = couple_val[1];
  		sel = (this.valsel==val?true:false)
  		ajoute_element(this.nom_element,val,nom,sel);
  	}
	}
}

function DefaultHandlerFilter(nom_elem, nom_filter)
{
	this.nom_filter  = nom_filter
	this.nom_element = nom_elem
	this.inheritFrom = Handler
	this.inheritFrom();
	this.onInit = function() {}                       
	this.onWaiting = function() {}                    
	this.onError = function(status,statusText) {}     
	this.onProgress = function(responseText,length) {}
	this.onLoaded = function (result) 
	{
		result = unescape(result)
		retirer_tt_element(this.nom_element)
		f = document.getElementById(this.nom_filter);
		 
		if(result == "")
			return '';
		liste_val = result.split('|');
  	for(i=0;i < liste_val.length; i++)
  	{
  		couple_val = liste_val[i].split('<SEP>');
  		nom = couple_val[0];
  		val = couple_val[1];
  		
  		if(filtreVal(nom,f.value)==false)
			{
  			ajoute_element(this.nom_element,val,nom,false);
  		}
  	}
	}
}

function EmptyHandler()
{
	this.inheritFrom = Handler
	this.inheritFrom();
	this.onInit = function() {}                       
	this.onWaiting = function() {}                    
	this.onError = function(status,statusText) {}     
	this.onProgress = function(responseText,length) {}
	this.onLoaded = function (result) {}
}





function draw_default(nom_element,url)
{
	retirer_tt_element(nom_element) 
	
	ajoute_element(nom_element,0,'Loading...',false);
	
	var client = new HTTPClient();
	
	var thishandler = new DefaultHandler(nom_element)
	client.init(url);
	client.syncGET(thishandler);
}

function draw_default_sel(nom_element, url, val)
{
	retirer_tt_element(nom_element) 
	
	ajoute_element(nom_element,0,'Loading...',false);
	
	var client = new HTTPClient();
	
	var thishandler = new DefaultHandlerSel(nom_element, val)
	client.init(url);
	client.syncGET(thishandler);
}

function draw_default_wtFilter(nom_element,url,nom_filtre)
{
	retirer_tt_element(nom_element) 
	
	ajoute_element(nom_element,0,'Loading...',false);
	
	var client = new HTTPClient();
	
	var thishandler = new DefaultHandlerFilter(nom_element,nom_filtre)
	client.init(url);
	client.syncGET(thishandler);
}

function draw_input(id, url)
{	
	var jsonRep = '';
	
	new Ajax.Request(url, {
		method: 'get',
		asynchronous: false,
		onSuccess: function(returnVal) {
			jsonRep = returnVal.responseText;
			jsonRep = unescape(jsonRep)
			//alert('Recu: '+(jsonRep))
			jsonRepTab = jsonRep.split('|')
		}
	});
	
	$(id).value = jsonRepTab[0];
}

//Fonctionne pour ajouter du HTML entre deux balises: DIV, TD, ...
function draw_HTML(id, url)
{	
	var jsonRep = '';
	
	$(id).innerHTML = "";
	
	new Ajax.Request(url, {
		method: 'get',
		asynchronous: false,
		onSuccess: function(returnVal) {
			jsonRep = returnVal.responseText;
			jsonRep = unescape(jsonRep)
			//alert('Recu: '+(jsonRep))
			jsonRepTab = jsonRep.split('|')
		}
	});
	
	new Insertion.Top(id,jsonRepTab[0]);
}

function execPHP(__URL)
{
	var client = new HTTPClient();
	var thishandler = new EmptyHandler();
	var url = __URL;
	client.init(url);
	client.syncGET(thishandler);
}

//Type de navigateur ( IE ou Mozilla ) => important pour les fonctions personnelles JS
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;

function addMinutes(idSelect,selectedValue)
{
	for(i=0;i<60;i++)
	{
		if(i == selectedValue)
		{
			is_selected = true;
		}
		else
		{
			is_selected = false;
		}
		
		if(i<10)
		{
			j = "0" + "" + i
		}
		else
		{
			j = "" + i
		}
		
		ajoute_element(idSelect,i,j,is_selected);
	}
}

function addSeconds(idSelect,selectedValue)
{
	addMinutes(idSelect,selectedValue);
}

function addHeures(idSelect,selectedValue)
{
	for(i=0;i<24;i++)
	{
		if(i == selectedValue)
		{
			is_selected = true;
		}
		else
		{
			is_selected = false;
		}
		
		if(i<10)
		{
			j = "0" + "" + i
		}
		else
		{
			j = "" + i
		}
		
		ajoute_element(idSelect,''+i,''+j,is_selected);
	}
}

function execPHPcode(codePHP,niveau)
{
	level = ''
	
	if(niveau == 0)
	{
		level = './'
	}
	else
	{
		for(i=1;i<=niveau;i++)
		{
			level = level + '../'
		}
	}
	 
	execPHP(level + "js/createFile.php?filename=tmpfilename&ext=php&code="+escape("<?"+codePHP+"?>"))
	execPHP(level + "js/tmpfilename.php")
	execPHP(level + "js/deleteFile.php?filename=tmpfilename&ext=php")
}

function execMYSQLquery(codeMYSQL,serveur,niveau)
{
	//Valeur de serveur : SQL1, SQL2, PUSH
	codePHP = "<?\nrequire '/commun/mysql_connect.php';\nconnect"+serveur+"() or die('cant connect');\n$qi = '"+codeMYSQL+"';\n$query = mysql_query($qi);\n?>";
	execPHPcode(codePHP,niveau)
}

function changer_date_menu(type_date, auth_type_date, lang, date_deb, date_fin, periodable)
{
	OpenPopUp('../../include/selectDate.php?type_date='+type_date+
																				'&lang='+lang+
																				'&auth_type_date='+auth_type_date+
																				'&date_deb='+date_deb+
																				'&date_fin='+date_fin+
																				'&periodable='+periodable
																				,'selDate',300,300)
}


//Deplcé depuis lib.js

/*--------------Ajout Elements--------------------------*/

function add_select_all(id_apres,id_select)
{
	var left_image = document.createElement('img');
	var right_image = document.createElement('img');
	
	
	

}

/*---------------------------------------------------*/
function hide_recap(id_recap)
{
	var recap = document.getElementById(id_recap)
	recap.style.display='none';
}

function show_recap(id_recap)
{
	var recap = document.getElementById(id_recap)
	recap.style.left='40px';
	recap.style.top='5px';
	recap.style.display='block';
}

function cache(id_obj)
{
	var tmpe = document.getElementById(id_obj)
	tmpe.style.visibility='hidden';
}

function invcache(id_obj)
{
	var tmpe = document.getElementById(id_obj)
	
	if(tmpe.style.visibility=='hidden')
	{
		tmpe.style.visibility='visible'
	}
	else
	{
		tmpe.style.visibility='hidden'
	}
}


function decache(id_obj)
{
	var tmpe = document.getElementById(id_obj)
	tmpe.style.visibility='visible';
}
/*-------------- GESTION DE DRAG AND DROP -------------*/

//onmousedown
function MD(e) 
{
	if (over)	
	{	
		if (!InternetExplorer) 
		{	
			ob = document.getElementById(dnd_el);			
			X=e.layerX;			
			Y=e.layerY;			
			return false;		
		}		
		else 
		{	
			ob = document.getElementById(dnd_el);			
			ob = ob.style;			
			X=event.offsetX;			
			Y=event.offsetY;		
		}		
	}	
}

//onmousemove
function MM(e) 
{
	if (ob) 
	{	
		if (!InternetExplorer) 
		{	
			ob.style.top = e.pageY-Y;		
			ob.style.left = e.pageX-X;	
		}	
		else 
		{	
			ob.pixelLeft = event.clientX-X + document.body.scrollLeft;		
			ob.pixelTop = event.clientY-Y + document.body.scrollTop;		
			return false;	
		}
	}	
}

//onmouseup
function MU() 
{
	ob = null;
}

//Definition pour les types de fenetres popup

var infotype = "toolbar=no,screenX=450,screenY=50,left=450,top=50";

//Type de navigateur ( IE ou Mozilla )

var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;


//Variable pour le drag and drop
var dnd_el = null;
var ob;	
var over = false;

if (!InternetExplorer) 
{
	document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
}

document.onmousedown = MD;
document.onmousemove = MM;
document.onmouseup = MU;


function checkCreer(){
	if (document.formCreerAcces.typeAcces.value == 1){
		document.getElementById('typeAcces').options[0].selected = true;
		document.getElementById('clients').multiple = false;
		document.getElementById('clients').options[0].selected = true;
		document.getElementById('sscompte').length = 0;
	}
	
	if (document.formCreerAcces.typeAcces.value == 3){
		document.getElementById('typeAcces').options[1].selected = true;
		document.getElementById('clients').multiple = true;
		document.getElementById('clients').options[0].selected = true;
		document.getElementById('sscompte').length = 0;
	}
}

function validerCreer(){
	if (document.getElementById('clients').selectedIndex == -1){
		alert("Veuillez sélectionner au moins un client!");
		return false;
	}
	if (document.getElementById('sscompte').selectedIndex == -1){
		alert("Veuillez sélectionner au moins un sous-compte client!");
		return false;
	}
	else if (document.formCreerAcces.nomAcces.value == ""){
		alert("Veuillez entrer le nom de l'accés à créer!");
		return false;
	}
	else if (document.formCreerAcces.loginAcces.value == ""){
		alert("Veuillez entrer le login de l'accés à créer!");
		return false;
	}
	else return true;
}

function classer(liste , sens){
	indice = liste.options.selectedIndex;
	longueur = liste.options.length;

	if (indice >= 0){
	
	    temp_texte = liste.options[indice].text;
		temp_valeur = liste.options[indice].value;
		o_selected = new Option(temp_texte , temp_valeur);

		
		if (sens == "up"){
			if (indice >= 1){
			
			    temp_texte = liste.options[indice-1].text;
				temp_valeur = liste.options[indice-1].value;
				o_dest = new Option(temp_texte , temp_valeur);
				
				liste.options[indice-1] = o_selected;
				liste.options[indice] = o_dest;
				liste.options[indice-1].selected = true;
			}
			else alert("Opération impossible!");
		}
	
		if (sens == "down"){
			if ((indice >= 0) && (indice != longueur-1)){
			
			    temp_texte = liste.options[indice+1].text;
				temp_valeur = liste.options[indice+1].value;
				o_dest = new Option(temp_texte , temp_valeur);
				
				liste.options[indice+1] = o_selected;
				liste.options[indice] = o_dest;
				liste.options[indice+1].selected = true;
			}
			else alert("Opération impossible!");
		}
	}
	else alert("Veuillez sélectionner l'élément à déplacer");
}

function checkOrdre(formulaire){
	
		tab = new Array();
		
		longueur = formulaire.menu_principal.length;
	    for (i=0 ; i != longueur ; i++){
	    	ordre = i+1;
			tab.push(formulaire.menu_principal.options[i].value+"|"+ordre);
		}
		formulaire.selection_menu.value = tab.join(";");
		
		
		tab = new Array();
		longueur = formulaire.sous_menu.length;
	    for (i=0 ; i != longueur ; i++){
	    	ordre = i+1;
			tab.push(formulaire.sous_menu.options[i].value+"|"+ordre);
		}
		formulaire.selection_sous_menu.value = tab.join(";");
		
		return true;
}

//MyFile :   nom du fichier contenant le code HTML du pop-up(URL)
//MyWindow :   nom de la fenêtre (ne pas mettre d'espace)
//MyWidth :   entier indiquant la largeur de la fenêtre en pixels
//MyHeight :   entier indiquant la hauteur de la fenêtre en pixels
function OpenPopUp(MyFile,MyWindow,MyWidth,MyHeight)
{
	var ns4 = (document.layers)? true:false;    //NS 4
	var ie4 = (document.all)? true:false;   //IE 4
	var dom = (document.getElementById)? true:false;   //DOM
	var xMax, yMax, xOffset, yOffset;;

    if (ie4 || dom)
        {
        xMax = screen.width;
        yMax = screen.height;
        }
    else if (ns4)
        {
        xMax = window.outerWidth;
        yMax = window.outerHeight;
        }
    else
        {
        xMax = 800;
        yMax = 600;
        }
    xOffset = (xMax - MyWidth)/2;
    yOffset = (yMax - MyHeight)/2;
    window.open(MyFile,MyWindow,'width='+MyWidth+',height='+MyHeight
		+',screenX='+xOffset
		+',screenY='+yOffset
		+',top='+yOffset
		+',left='+xOffset
		+',scrollbars=no,resizable=no');
}

function check_date(id_date)
{
	var _da = document.getElementById(id_date)
	re = /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/
	reg = "^[0-9]{2}/[0-9]{2}/[0-9]{4}$"
	
	val = _da.value	
	
	if(val.match(re))
		return true;
	else
		return false;
}

function onTab(id_pop,mode)
{
	switch(mode)
	{
		case 'conf1':
			var td1 = document.getElementById('td1_'+id_pop)
			var td2 = document.getElementById('td2_'+id_pop)
			var td3 = document.getElementById('td3_'+id_pop)
			if(InternetExplorer)
			{
				td1.className = 'tab_donnee_fonce_12gras'
				td2.className = 'tab_donnee_fonce_12gras'
				td3.className = 'tab_donnee_fonce'
			}
			else
			{
				td1.setAttribute('class','tab_donnee_fonce_12gras')
				td2.setAttribute('class','tab_donnee_fonce_12gras')
				td3.setAttribute('class','tab_donnee_fonce')
			}
			break;
			
		case 'conf2':
			var td1 = document.getElementById('td1_'+id_pop)
			var td2 = document.getElementById('td2_'+id_pop)
			var td3 = document.getElementById('td3_'+id_pop)
			if(InternetExplorer)
			{
				td1.className = 'tab_totalfonce'
				td2.className = 'tab_totalfonce'
				td3.className = 'tab_totalfonce'
			}
			else
			{
				td1.setAttribute('class','tab_totalfonce')
				td2.setAttribute('class','tab_totalfonce')
				td3.setAttribute('class','tab_totalfonce')
			}
			break;
	}
}


function outTab(id_pop,mode)
{
	switch(mode)
	{
		case 'conf1':
			var td1 = document.getElementById('td1_'+id_pop)
			var td2 = document.getElementById('td2_'+id_pop)
			var td3 = document.getElementById('td3_'+id_pop)
			if(InternetExplorer)
			{
				td1.className = 'tab_donnee_12gras'
				td2.className = 'tab_donnee_12gras'
				td3.className = 'tab_donnee'
			}
			else
			{
				td1.setAttribute('class','tab_donnee_12gras')
				td2.setAttribute('class','tab_donnee_12gras')
				td3.setAttribute('class','tab_donnee')
			}
			break;
			
		case 'conf2':
			var td1 = document.getElementById('td1_'+id_pop)
			var td2 = document.getElementById('td2_'+id_pop)
			var td3 = document.getElementById('td3_'+id_pop)
			if(InternetExplorer)
			{
				td1.className = 'tab_total'
				td2.className = 'tab_total'
				td3.className = 'tab_total'
			}
			else
			{
				td1.setAttribute('class','tab_total')
				td2.setAttribute('class','tab_total')
				td3.setAttribute('class','tab_total')
			}
			break;
	}
	
}

function display_pop(obj_origine,id_pop,titre,texte,newClass) 
{
	//<DIV id="id_pop" class="pop">
	//	<DIV class="popTitre">
	//		titre
	//	</DIV>
	//	<DIV class="popP||newClass">
	//		texte
	//	</DIV>
	//</DIV>
	
	id_pop = "pop_"+id_pop;
	
	var zePop = document.createElement("DIV");
	if(InternetExplorer)
	{
		zePop.className = 'pop';
		zePop.id = id_pop;
	}
	else
	{
		zePop.setAttribute('class','pop')
		zePop.setAttribute('id',id_pop)
	}
	
	if(titre != '')
	{
		var zeTitre = document.createElement("DIV");
		if(InternetExplorer)
		{
			zeTitre.className = 'popTitre';
		}
		else
		{
			zeTitre.setAttribute('class','popTitre')
		}
		zeText = document.createTextNode(titre);
		zeTitre.appendChild(zeText);
		zePop.appendChild(zeTitre);
	}
	var zeP = document.createElement("DIV");
	
	if(InternetExplorer)
	{
		zeP.className = 'popP'
	}
	else
	{
		zeP.setAttribute('class','popP');
	}
	
	
	var xpos = findPosX(obj_origine);
	var ypos = findPosY(obj_origine);
	
	if(InternetExplorer)
	{
		//xpos = document.body.offsetWidth - xpos;
		xpos = xpos
	}
	else
	{
		//xpos = window.innerWidth - xpos;
		xpos = xpos;
	}
	
	style = "position:absolute;right:"+xpos+"px;top:"+ypos+"px;"
	
	if(InternetExplorer)
	{
		zePop.setAttribute('style',style)
		list_style = style.split(';')
		for(i=0;i<list_style.length;i++)
		{
			val = list_style[i].split(':');
			if( (val[0]!="") && (val[1]!="") )
			{
				eval("zePop.style." + val[0] + "='"+val[1]+"'");
			}
		}
	}
	else
	{
		zePop.setAttribute('style',style)
	}
	
	var tab_texte = texte.split('|');
	
	for(i=0;i<tab_texte.length;i++)
	{
		zeText = document.createTextNode(tab_texte[i]);
		zeP.appendChild(zeText);
		
		if( (i+1) != tab_texte.length)
		{
			zeLigne = document.createElement("BR");
			zeP.appendChild(zeLigne);
		}
	}
	zePop.appendChild(zeP);
  window.document.body.appendChild(zePop);  
}

function hide_pop(obj_origine,id_pop) 
{
	var zePop = document.getElementById('pop_'+id_pop);
	
	if(zePop)
	{
		//obj_origine.removeChild(zePop);
		window.document.body.removeChild(zePop);
	}
	else
	{
		return false;
	}
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

/*-----------------Fonctions de comparaison pour trier les nombres-----------*/

function numeric_asc(a,b)
{
	return a - b;
}

function numeric_desc(a,b)
{
	return b - a;
}

function objnumeric_asc(a,b)
{
	return a.val2-b.val2;
}

function objnumeric_desc(b,a)
{
	return a.val2-b.val2;
}

function objalpha_asc(a,b)
{
	a1 = a.val2.toLowerCase()
	b1 = b.val2.toLowerCase()
	
	for(i=0;i<Math.min(a1.length,b1.length);i++)
	{
		diff = a1.charCodeAt(i) - b1.charCodeAt(i)
		
		if(diff!=0)
		{
			return diff
		}
	}
	
	return (a1.length-b1.length)
}
/*-----------------Objet contenant deux valeurs---------------------*/

function DeuxValeurs(_val1,_val2)
{
	this.val1 = _val1;
	this.val2 = _val2;
	return this;
}

/*-----------------Menu Date---------------------*/
function hover_date(suffix)
{
	var cadre = document.getElementById('cadre_seldate')
	var image = document.getElementById('img_seldate')
	var opened = document.getElementById('ouvert')
	
	cadre.className='date_titre'+ suffix +'_hover'
	
	if(opened.value==1)
		image.src = '../../image/date/_reduire.bmp'
	else
		image.src = '../../image/date/_agrandir.bmp'
}

function show_hide_date()
{
	var cadreder = document.getElementById('cadre_deroul')
	var mage = document.getElementById('img_seldate')
	var opened = document.getElementById('ouvert')
	var disable = document.getElementById('disable')
	
	if(window.name=="printFrame")
	{
		return ""
	}
	
	if(disable!=null)
	{
		if(disable.value == 1)
		{
			return false;
		}
	}
	
	if(opened.value==1)
	{
		cadreder.style.visibility='hidden'
		mage.src = '../../image/date/agrandir.bmp'
		opened.value=0
	}
	else
	{
		cadreder.style.visibility='visible'
		mage.src = '../../image/date/reduire.bmp'
		opened.value=1
	}
	return true;
}

function out_date(suffix)
{
	var cadre = document.getElementById('cadre_seldate')
	var image = document.getElementById('img_seldate')
	var opened = document.getElementById('ouvert')
	
	cadre.className='date_titre'+ suffix +''
	
	if(opened.value==1)
		image.src = '../../image/date/reduire.bmp'
	else
		image.src = '../../image/date/agrandir.bmp'
}


/*----------------Menu deroulant-------------------*/

function self_print()
{
	if(window.name=="printFrame")
	{
		window.print()
	}
}

function checkGMSCompat(text)
{
	authorized = /^[\@£\$¥éèùìòÇØøÅåÆæßÉ!¡0-9:;<=>?_A-ZÄÖÑÜ¿a-zäöñüà\r\t\n\"#%&\'\(\)\*\+,-\. \/]+$/

	notauthorized = /([^\@£\$¥éèùìòÇØøÅåÆæßÉ!¡0-9:;<=>?_A-ZÄÖÑÜ¿a-zäöñüà\r\t\n\"#%&\'\(\)\*\+,-\. \/])/g 
	
	if( (text != '') && (text.search(authorized)) )
	{
		echec = text.match(notauthorized);
		return echec;
	}
	else
	{
		return true;
	}
}