function montre(id, idLink, moduleName) {
	var d = document.getElementById(id);
	var l = document.getElementById(idLink);
	
	if (d.style.display == 'block') {
		d.style.display='none';
		l.style.display='block';
		var val_idx = '0';
	}else{
		d.style.display='block';
		l.style.display='none';
		var val_idx = '1';
	}
	
	if(moduleName != null){
		setSessionDisplay(moduleName,val_idx);
	}
	
}

function oversousMenu(id,action) {
	//return ;
	if(action == 1) $("#"+id).css("display","block");
	else $("#"+id).css("display","none");
}  

/*
* Change display mode of an object
* if display none => change to => display block
* if display block => change to => display none
*/
function change_display(id, style){
	var obj = document.getElementById(id);
	
	if(obj.style.display == 'none'){
		obj.style.display = style;
	}else{
		obj.style.display = 'none';
	}	
}

function change_all_display(list_id, new_style)
{
	var elements = list_id.split('#');
	
	for (i=0; i<elements.length; i++)
	{
		var old_style = document.getElementById(elements[i]).style.display;
		
		if(navigator.userAgent.indexOf('MSIE') != -1 && new_style == 'table')
		{
			// ie ne gere pas le display: table;
			new_style = 'block';
		}
		document.getElementById(elements[i]).style.display = new_style;
	}
}

/*
* Change display mode of an object
* if display none => change to => display table
* if display table => change to => display none
*/
function change_display_session(id){
	var obj = document.getElementById(id);
	
	if(obj){
		if(obj.style.display == 'none'){
			obj.style.display = 'table';
			setSessionDisplay(id, '1');
		}else{
			obj.style.display = 'none';
			setSessionDisplay(id, '0');
		}	
	}
}

function resize_textarea(id, size_cols, size_rows){
	var obj = document.getElementById(id);
	
	if(obj){
		obj.rows = size_rows;
		obj.cols = size_cols;
	}
}


/*
*	Resize combolist(width only)
*	id = Id or Element to resize
*	size = new size
*	verif = if true verif if element is focused
*/
var $obj_focused = null;
function resize_select(id, size, verif){	
	var $obj = jQuery(id);
	
	
	if($obj.size() == 0){
		$obj = jQuery(document.getElementById(id));
	}
	
	$obj_focused = $obj.attr("name");

	if($obj){
		$obj.stop();
		a = setTimeout(
			function(){
				$obj_current = $obj.attr("name");
				if(!verif || $obj_current == $obj_focused){
					$obj.animate({ width: size+"px"}, 200 );
				}
			}
			, 1000
		);
	}
}
		
function countLines(strtocount, cols) {
    var hard_lines = 1;
    var last = 0;
    while ( true ) {
        last = strtocount.indexOf("\n", last+1);
        hard_lines ++;
        if ( last == -1 ) break;
    }
    var soft_lines = Math.round(strtocount.length / (cols-1));
    var hard = eval("hard_lines  " + unescape("%3e") + "soft_lines;");
    if ( hard ) soft_lines = hard_lines;
    return soft_lines;
}

function charge(frame){
	parent.main_list.location.href=frame;
}

function affichage_popup(pageName, internalName, width, height, readwrite){
	if(!width){ width = 400}
	if(!height){ height = 500}
	
	if (readwrite==true){
		config='height=' + height + ', width=' + width + ', toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes, location=yes, directories=yes, status=yes';
	}else{
		config='height=' + height + ', width=' + width + ', toolbar=no, menubar=no, scrollbars=yes, resizable=yes, location=yes, directories=no, status=no';
	}
	
	var w = window.open (pageName, internalName, config);
	w.focus(); //rend le focus a la fenetre
}

function setSessionDisplay(val_mod,val_idx) {
    var xmlHttpReq = false;
    var self = this;
	
    if (window.XMLHttpRequest) {
		self.xmlHttpReq = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // Mozilla/Safari
		self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	} // IE 5.5+
	
	// @param
    self.xmlHttpReq.open('POST', 'setDisplay.php', true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    
   qstr = 'val_mod=' + escape(val_mod)+ '&val=' + escape(val_idx);  // NOTE: no '?' before querystring
   self.xmlHttpReq.send(qstr);
}

function selectAll(comboName){
	var s = document.getElementById(comboName);
	for ( var n=0;n<s.length;n++ ){
		s[n].selected=true;
	}   
}

function selectNone(comboName){
	var s = document.getElementById(comboName);
	for ( var n=0;n<s.length;n++ ){
		s[n].selected=false;
	}   
}

/**
*
* 
*/
function selectAll_multi(comboList){
	for (i=0;i<comboList.length;i++){
		selectAll(comboList[i]);
	}
}

/**
*
* 
*/
function selectNone_multi(comboList){

	for (i=0;i<comboList.length;i++){
		selectNone(comboList[i]);
	}
}


/*
	Permute les propriétés d'un attribut entre deux éléments HTML
	@param IdHTMLelement1	Identifiant du premier élément HTML
	@param IdHTMLelement2	Identifiant du second élément HTML
	@param attributeName	Nom de l'attribut
*/
function switchAttribute(IdHTMLelement1, IdHTMLelement2, attributeName){
	var HTMLelement1 = document.getElementById(IdHTMLelement1);
	var HTMLelement2 = document.getElementById(IdHTMLelement2);
	var element1StyleAttr =  HTMLelement1.getAttribute(attributeName);
	var element2StyleAttr =  HTMLelement2.getAttribute(attributeName);
	
	/*	Les versions d'IE inférieures ou égales à la version 7 ne supportent pas l'ensemble
		des attributs. La liste des attributs non supportés est disponible à l'adresse suivante : 
		http://webbugtrack.blogspot.com/2007/08/bug-242-setattribute-doesnt-always-work.html
	*/
	if( typeof(element1StyleAttr)=='object' ){	// La fonction DOM getAttribute() retourne sous IE un objet (au lieu d'une chaîne de caractères)
		if( attributeName=='style' ){
			element1StyleAttr = HTMLelement1.style.cssText;
			element2StyleAttr = HTMLelement2.style.cssText;
			
			HTMLelement1.style.setAttribute('cssText',element2StyleAttr);
			HTMLelement2.style.setAttribute('cssText',element1StyleAttr);
		}
	}
	else{
		HTMLelement1.setAttribute(attributeName,element2StyleAttr);
		HTMLelement2.setAttribute(attributeName,element1StyleAttr);
	}	
}
