//Active le bouton 
//NB : les boutons sont contenus dans une balise <a>
	//p_img_norm : image du bouton
	//p_img_over : image du bouton survole
	//p_id_element : container des boutons
	//p_action : Action lors du clic sur le bouton
	//p_title : titre du lien contenant les boutons
	//p_accessKey : raccourci clevier poue le lien 
function ui_activerBouton(p_img_norm, p_img_over, p_id_element, p_action, p_title, p_accessKey)
{
	var html = '<a href="#aucun"  title="'+p_title+'" id="'+p_title+'" onclick="'+p_action+'"';
	
	// affichage sur le alt de l'image
	alt = "";
	///A t on un raccourci clavier ?
	if(typeof(p_accessKey) != "undefined" && p_accessKey != null)
	{
		html += ' accesskey="'+p_accessKey+'" ';
		alt = ' ([Alt] '+p_accessKey+')';
	}
	html += '>';
	
	// !!! IMPORTANT : gestion du rollover sur les images : evce fct JS plutot que css pour eviterle clignotement de la video sous Firefox !!!
	fctOnMseOver	= "ui_change_avatar(this.id,'"+p_img_over+"');";
	fctOnMseOut		= "ui_change_avatar(this.id,'"+p_img_norm+"');";
	
	html = html + '<img src="'+p_img_norm+'" alt="" id="img_'+p_title+'" onMouseOver="'+fctOnMseOver+'" onMouseOut="'+fctOnMseOut+'">' ;
	
	html = html + '</a>' ;
	parent.document.getElementById(p_id_element).innerHTML = html ;
}

//Desactive le bouton 
	//p_img : image du bouton
	//p_id_element : container des boutons
function ui_desactiverBouton(p_img, p_id_element)
{ 
	var html = '<img src="'+p_img+'" alt="">' ;
	parent.document.getElementById(p_id_element).innerHTML = html ;
}


function ui_desactiverBouton2(p_img, p_id_element)
{
	if(parent.document.getElementById(p_id_element))
		var element = parent.document.getElementById(p_id_element);
	else if(document.getElementById(p_id_element))
		var element = document.getElementById(p_id_element);
		
	elementFirstChild = element.firstChild;
	if(typeof(elementFirstChild) != "undefined")
	{
		if(elementFirstChild != null && elementFirstChild.nodeName.toLowerCase() == "a")
		{
		elementFirstChild.style.cursor = "default";
		elementFirstChild.onclick="";
		element = elementFirstChild;
		}
	}
		
	var html = '<img src="'+p_img+'" alt="">' ;
	element.innerHTML = html ;
}

//Change la source d'un image
	//p_avatarId : id de la balise <img> a modifier
	//p_img : nouvelle image source
function ui_change_avatar(p_avatarId, p_img)
{
	// Comparaison sur le nom de l'image et pas sur le chemin complet (peut differer par le port, ou l'arborescence relative mais l'image reste la meme
	/// Nom de l'image passee en parametre
	var nomImg 			= p_img.substring(p_img.lastIndexOf("/"));
	
	/// Initialisation des variables pour l'elemnt img identifie par p_avatarId
	var tagImgHtml		= null;
	
	// L'element se situe sur la page parente
	if(parent.document.getElementById(p_avatarId))
	{	
		tagImgHtml 		= parent.document.getElementById(p_avatarId);
	}
	// L'element se situe sur la page courante
	else if (document.getElementById(p_avatarId))
	{
		tagImgHtml = document.getElementById(p_avatarId);
	}
	
	if(tagImgHtml != null)
	{
		sourceAtcuelle	= tagImgHtml.src;
		nomImgActuelle = sourceAtcuelle.substring(sourceAtcuelle.lastIndexOf("/"));
	
		if(nomImg != nomImgActuelle)
			tagImgHtml.src	= p_img;
	}
		
}



//Place le focus surl'element ayant l'id = p_id
function ui_setFocus(p_id)
{
	try
	{
		if (parent.document.getElementById(p_id))
			parent.document.getElementById(p_id).focus();
		else if(document.getElementById(p_id))
			document.getElementById(p_id).focus();
	}
	catch(exception)
	{}
}

/** Desactive l'element p_id et lui affecte la valeur p_value si renseignee
 * @param string p_id : id de l'element HTML concerne
 * @param optionnal string p_value : valeur a affecter a l'element
 */
function ui_desactiverZoneSaisie(p_id, p_value)
{
	if (parent.document.getElementById(p_id))
		element = parent.document.getElementById(p_id);
	else if(document.getElementById(p_id))
		element = document.getElementById(p_id);
	
	if(typeof(p_value) != "undefined" && p_value !="")
	{
		element.value=p_value;
		element.className = 'saisieNum_on';// sans image de fond
	}
	else
	{
		element.value="";
		element.className = 'saisieNum';//image de fond
	}
		
	element.setAttribute("disabled",true);
	
}

/** Active l'element p_id et lui affecte la valeur p_value si renseignee
 * @param string p_id : id de l'element HTML concerne
 * @param optionnal string p_value : valeur a affecter a l'element
 */
function ui_activerZoneSaisie(p_id, p_value)
{
	if (parent.document.getElementById(p_id))
		element = parent.document.getElementById(p_id);
	else if(document.getElementById(p_id))
		element = document.getElementById(p_id);
	
	if(typeof(p_value) != "undefined" && p_value !="")
	{
		element.value=p_value;
		element.className = 'saisieNum_on';// sans image de fond
	}
	else
	{
		element.value="";
		element.className = 'saisieNum';// avec image de fond
	}
	
	element.removeAttribute("disabled");
	
}

//pour le tchat
function ui_scrollToBottom (p_id) 
{
  if (parent.document.getElementById(p_id))
    parent.document.getElementById(p_id).scrollTop = parent.document.getElementById(p_id).scrollHeight;
  else if (document.getElementById(p_id))
  	document.getElementById(p_id).scrollTop = document.getElementById(p_id).scrollHeight;
}
// Remise a zero de la zone de saisie du tchat (utilisee par assistant_reception.php et client_appel.php)
function ui_raz(p_idTchat)
{
	if(parent.document.getElementById(p_idTchat))
		parent.document.getElementById(p_idTchat).innerHTML = "" ;
	else if(document.getElementById(p_idTchat))
		document.getElementById(p_idTchat).innerHTML = "" ;
}


function ui_change_message(p_id, p_message)
{ 
	if(parent.document.getElementById(p_id))
		parent.document.getElementById(p_id).innerHTML = p_message ;
	else if(document.getElementById(p_id))
		document.getElementById(p_id).innerHTML = p_message ;
}


//Retaille la largeur du body pour permettre a la page d'appel de s'afficher correctement
//lorsque la video est en taille moyenne.
function ui_redimensionner_div(p_taille)
{
	if(p_taille=='grand')
	{
		parent.document.getElementById('all').style.width = '940px';
		parent.document.getElementById('h2_video').style.width = '585px';
		parent.document.getElementById('h2_texte').style.width = '585px';
	}
	if(p_taille=='normal')
	{
		parent.document.getElementById('all').style.width = '780px';
		parent.document.getElementById('h2_video').style.width = '425px';
		parent.document.getElementById('h2_texte').style.width = '425px';
	}
}

interval=null;
tableauCouleurCligotement = new Array;
var elementClignotement = null;
var a=0;

function ui_clignotementCouleurFond(p_tableauCouleur, p_idElement)
{
	if(elementClignotement == null)
	{
		elementClignotement = document.getElementById(p_idElement);
	}
		
	tableauCouleurCligotement=p_tableauCouleur;
	interval=setInterval("ui_changementCouleurFond('')",300);
}

function ui_changementCouleurFond(p_couleur, p_idElement)
{
	try
	{
		if(elementClignotement == null)
			elementClignotement = document.getElementById(p_idElement);
		
		/// Changement de la couleur de fond par une autre, pas de clignotement, 1 seule couleur
		if(typeof(p_couleur) == "string" && p_couleur != '')
		{
			elementClignotement.style.background=p_couleur;
		}
		/// Plusieurs couleurs passes en parametre, => clignotement
		else
		{
			elementClignotement.style.background=tableauCouleurCligotement[a];
			a++;
			if(a>=tableauCouleurCligotement.length) a=0;
		}
		
	}
	catch(ex)
	{
		DebugLog("[JS Exception] fct_ui.js ui_changementCouleurFond("+p_couleur+") : "+ex.name + " " + ex.message);
	}
}

function ui_stopClignotementCouleur()
{
	if(interval) window.clearInterval(interval);
	if(elementClignotement != null)
	{
		elementClignotement.style.background='';
	}
	
	a=0;
}

var blinkTimeOut = null;
var oldTitle="";
function ui_blinkBrowser(p_strinkMessage) 
{
    oldTitle = window.parent.parent.document.title;
    blinkTimeOut = setInterval(function() {
        window.parent.parent.document.title = window.parent.parent.document.title == p_strinkMessage ? ' ' : p_strinkMessage;
    }, 1000);
}
function ui_stopBlinkBrowser()
{
        if(blinkTimeOut) clearInterval(blinkTimeOut);
        window.parent.parent.document.title = oldTitle;
}

//recupere la valeur du cookie
function ui_getCookie (p_nom)
{
	var cookValue = "" ;
	var cookName = "" ;
	var index = document.cookie.indexOf( p_nom ) ;
	if (index != -1)
	{
		//on recupere la position du "=" dans le cookie
		var egal = document.cookie.indexOf( "=", index );
		var fin = document.cookie.indexOf( ";", index );
		if(fin == -1)
			fin = document.cookie.length;
		
		return (document.cookie.substring ( egal + 1, fin ));
	}
}

function ui_setCookie(p_nom,p_valeurs)
{
	//nouvel objet date
	var expdate = new Date() ;
	
	var expire = new Date();
	var unAn = expire.getTime() + (365*24*60*60*1000);
	expire.setTime(unAn);
	document.cookie = p_nom+'='+p_valeurs+"expires=" + expire.toGMTString() + "; path=/";

}

//Ajoute par Didier pour les effets sur les pages (show/hide, ...)
/* 
 * DOMcollapse
 * Version 3.0
 * released 06.12.2005 
 * Not for commercial reselling or use, unless consent given by the author
 * Check for updates on http://onlinetools.org and http://wait-till-i.com
 *
*/

dc={
	triggerElements:'*', 	// elements to trigger the effect
	parentElementId:null,	// ID of the parent element (keep null if none)
	uniqueCollapse:false,	// is set to true only one element can be open at a time

	// CSS class names
	trigger:'trigger',
	triggeropen:'expanded',
	hideClass:'hide',
	showClass:'show',
	
	// pictures and text alternatives
	// A ameliorer en creant un objet generique prenant en parametre les images
	closedPic:'http://www.autonomie.francetelecom.fr/images/commun/tooglePlus.gif',
	closedAlt:'cliquer pour ouvrir cette section',
	openPic:'http://www.autonomie.francetelecom.fr/images/commun/toogleMinus.gif',
	openAlt:'cliquer pour fermer cette section',
	/* Doesn't work with Safari
		hoverClass:'hover',
	*/

	init:function(e){
		var temp;
		if(!document.getElementById || !document.createTextNode){return;}
		if(!dc.parentElementId){
			temp=document.getElementsByTagName(dc.triggerElements);
		} else if(document.getElementById(dc.parentElementId)){
			temp=document.getElementById(dc.parentElementId).getElementsByTagName(dc.triggerElements);
		}else{
			return;
		}
		dc.tempLink=document.createElement('a');
		dc.tempLink.setAttribute('href','#');
		dc.tempLink.appendChild(document.createElement('img'));
		for(var i=0;i<temp.length;i++){
			if(dc.cssjs('check',temp[i],dc.trigger) || dc.cssjs('check',temp[i],dc.triggeropen)){
				dc.makeTrigger(temp[i],e);
			}
		}
	},
	makeTrigger:function(o,e){
		var tl=dc.tempLink.cloneNode(true);
		var tohide=o.nextSibling;
		while(tohide.nodeType!=1)
		{
			tohide=tohide.nextSibling;
		}
		o.tohide=tohide;
		if(!dc.cssjs('check',o,dc.triggeropen)){
			dc.cssjs('add',tohide,dc.hideClass);
			tl.getElementsByTagName('img')[0].setAttribute('src',dc.closedPic);
			tl.getElementsByTagName('img')[0].setAttribute('alt',dc.closedAlt);
			o.setAttribute('title',dc.closedAlt);
		}else{
			dc.cssjs('add',tohide,dc.showClass);
			tl.getElementsByTagName('img')[0].setAttribute('src',dc.openPic);
			tl.getElementsByTagName('img')[0].setAttribute('alt',dc.openAlt);
			o.setAttribute('title',dc.openAlt);
			dc.currentOpen=o;
		}
		dc.addEvent(o,'click',dc.addCollapse,false);
		/* Doesn't work with Safari
		dc.addEvent(o,'mouseover',dc.hover,false);
		dc.addEvent(o,'mouseout',dc.hover,false);
		*/
		o.insertBefore(tl,o.firstChild);
		dc.addEvent(tl,'click',dc.addCollapse,false);
		// Safari hacks 
		tl.onclick=function(){return false;}
		o.onclick=function(){return false;}
	},
	/* Doesn't work with Safari
	hover:function(e){
		var o=dc.getTarget(e);
		var action=dc.cssjs('check',o,dc.hoverClass)?'remove':'add';
		dc.cssjs(action,o,dc.hoverClass)
	},
	*/
	addCollapse:function(e){
		var action,pic;
		// hack to fix safari's redraw bug 
		// as mentioned on http://en.wikipedia.org/wiki/Wikipedia:Browser_notes#Mac_OS_X
		if (self.screenTop && self.screenX){
			window.resizeTo(self.outerWidth + 1, self.outerHeight);    
			window.resizeTo(self.outerWidth - 1, self.outerHeight);   
		}
		if(dc.uniqueCollapse && dc.currentOpen){
			dc.currentOpen.getElementsByTagName('img')[0].setAttribute('src',dc.closedPic);
			dc.currentOpen.getElementsByTagName('img')[0].setAttribute('alt',dc.closedAlt);
			dc.currentOpen.setAttribute('title',dc.closedAlt);
			dc.cssjs('swap',dc.currentOpen.tohide,dc.showClass,dc.hideClass);
			dc.cssjs('remove',dc.currentOpen,dc.triggeropen);
			dc.cssjs('add',dc.currentOpen,dc.trigger);
		}
		var o=dc.getTarget(e);
		if(o.tohide){
			if(dc.cssjs('check',o.tohide,dc.hideClass)){
				o.getElementsByTagName('img')[0].setAttribute('src',dc.openPic);
				o.getElementsByTagName('img')[0].setAttribute('alt',dc.openAlt);
				o.setAttribute('title',dc.openAlt);
				dc.cssjs('swap',o.tohide,dc.hideClass,dc.showClass);
				dc.cssjs('add',o,dc.triggeropen);
				dc.cssjs('remove',o,dc.trigger);
			}else{
				o.getElementsByTagName('img')[0].setAttribute('src',dc.closedPic);
				o.getElementsByTagName('img')[0].setAttribute('alt',dc.closedAlt);
				o.setAttribute('title',dc.closedAlt);
				dc.cssjs('swap',o.tohide,dc.showClass,dc.hideClass);
				dc.cssjs('remove',o,dc.triggeropen);
				dc.cssjs('add',o,dc.trigger);
				//alert('on cache video '+o);
			}
			dc.currentOpen=o;
			dc.cancelClick(e);
			//document.getElementById('debug').innerHTML=o.tohide.className;
		}
		else{
			dc.cancelClick(e);
		}
	},
	/* helper methods */
	getTarget:function(e){
		var target = window.event ? window.event.srcElement : e ? e.target : null;
		if (!target){return false;}
		while(!target.tohide && target.nodeName.toLowerCase()!='body')
		{
			target=target.parentNode;
		}
		// if (target.nodeName.toLowerCase() != 'a'){target = target.parentNode;} Safari fix not needed here
		return target;
	},
	cancelClick:function(e){
		if (window.event){
			window.event.cancelBubble = true;
			window.event.returnValue = false;
			return;
		}
		if (e){
			e.stopPropagation();
			e.preventDefault();
		}
	},
	addEvent: function(elm, evType, fn, useCapture){
		if (elm.addEventListener) 
		{
			elm.addEventListener(evType, fn, useCapture);
			return true;
		} else if (elm.attachEvent) {
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		} else {
			elm['on' + evType] = fn;
		}
	},
	cssjs:function(a,o,c1,c2){
		switch (a){
			case 'swap':
				o.className=!dc.cssjs('check',o,c1)?o.className.replace(c2,c1):o.className.replace(c1,c2);
			break;
			case 'add':
				if(!dc.cssjs('check',o,c1)){o.className+=o.className?' '+c1:c1;}
			break;
			case 'remove':
				var rep=o.className.match(' '+c1)?' '+c1:c1;
				o.className=o.className.replace(rep,'');
			break;
			case 'check':
				return new RegExp("(^|\\s)" + c1 + "(\\s|$)").test(o.className)
			break;
		}
	}
}
dc.addEvent(window, 'load', dc.init, false);
