
function AjouterIUErreur( msg , element )
{
	UIErreur_append( msg );
	UIErreur_appendElement( element );
}

///////////////////////////////////////////////////////////////////////////
//
///////////////////////////////////////////////////////////////////////////
var UIErreur_element 		= null;					//	Element HTML contenant le prompt
var UIErreur_elementId 		= "Prompt";				//	Id de l'Element HTML contenant le prompt
var UIErreur_MsgElement 	= null;					//	Element HTML qui recevra le texte des erreurs
var UIErreur_MsgElementId 	= "PromptTexte";		//	Id de l'Element HTML qui recevra le texte des erreurs
var UIErreur_Time			= 7000;
var UIErreur_tabMsg 		= new Array();
var UIErreur_tabElements	= new Array();
var UIErreur_IDTimeOut		= null;

function UIErreur_show()
{
	if( UIErreur_element == null )
		UIErreur_element = document.getElementById(UIErreur_elementId);
	if( UIErreur_element == null )
		return false;
	
	if( UIErreur_HasMessage() )
	{
		UIErreur_WriteMsg();
		
		UIErreur_element.style.display = 'block';
		UIErreur_centrerbloc( UIErreur_element );
	
		if( UIErreur_IDTimeOut != null )
			clearTimeout(UIErreur_IDTimeOut);
			
		UIErreur_IDTimeOut = window.setTimeout(UIErreur_close,UIErreur_Time );
	}
	if( UIErreur_HasElementsToHighLight() )
	{
		UIErreur_HightLightElements();
		assombrir();
	}
}

function UIErreur_close()
{
	if( UIErreur_element != null )
		UIErreur_element.style.display = 'none';
		
	UIErreur_IDTimeOut = null;
	eclaircir();
}

function UIErreur_centrerbloc( Element )
{
	Element.style.top = "120px";
	Element.style.left = "50%";
//	Element.style.marginTop = "-"+(parseInt(Element.offsetHeight)/2)+"px";
	Element.style.marginLeft = "-"+(parseInt(Element.offsetWidth)/2)+"px";
}

function UIErreur_WriteMsg()
{
	if( UIErreur_MsgElement == null )
		UIErreur_MsgElement = document.getElementById(UIErreur_MsgElementId);
		
	if( UIErreur_MsgElement == null )
		return false;

	//UIErreur_MsgElement.innerHTML = "";
	for( var i=0; i < UIErreur_tabMsg.length; i++ )
		if( UIErreur_tabMsg[i] != "" )
			UIErreur_MsgElement.innerHTML += ""+UIErreur_tabMsg[i]+"<br/>";
}

function UIErreur_append( Msg )
{		
	if( Msg != null && Msg != "" )
		UIErreur_tabMsg.push(Msg);
}

function UIErreur_appendElement( Element )
{
	if( Element == null )
		return false;
	UIErreur_tabElements.push(Element);
	return true;
}

function UIErreur_HasMessage()
{
	if( UIErreur_tabMsg.length > 0 )
		return true;
	return false;
}

function UIErreur_HasElementsToHighLight()
{
	if( UIErreur_tabElements.length > 0 )
		return true;
	return false;
}

function UIErreur_emptyMessages()
{
	UIErreur_tabMsg 		= new Array();
	UIErreur_tabElements	= new Array();	
}

function UIErreur_setTimeout( milliseconds )
{
	UIErreur_Time = milliseconds;
}

function UIErreur_setElementId( Id )
{
	UIErreur_elementId = Id;
}

function UIErreur_setMsgElementId( Id )
{
	UIErreur_MsgElementId = Id;
}

function UIErreur_HightLightElements()
{
	for(var i =0 ; i < UIErreur_tabElements.length; i++ )
	{
		try
		{
			if( UIErreur_tabElements[i].nodeName == null )
			{
				// Reception d'une liste d'elements (cas des radio qui porte tous le même nom par exemple....)
				for( var e=0; e < UIErreur_tabElements[i].length; e++ )
					if( UIErreur_tabElements[i][e].nodeName.toLowerCase() == "input" &&  UIErreur_tabElements[i][e].type.toLowerCase() == "radio" )
						UIErreur_HightLightRadio( UIErreur_tabElements[i][e] );
			}
			else if( UIErreur_tabElements[i].nodeName.toLowerCase() == "input" )
			{
				UIErreur_HightLightInput( UIErreur_tabElements[i] );
			}
			else if( UIErreur_tabElements[i].nodeName.toLowerCase() == "select" )
			{
				UIErreur_HightLightSelect( UIErreur_tabElements[i] );
			}
			else if( UIErreur_tabElements[i].nodeName.toLowerCase() == "textarea" )
			{
				UIErreur_HightLightInput( UIErreur_tabElements[i] );
			}
		}
		catch( ex )
		{
			//alert(ex);
		}
	}
}

function UIErreur_HightLightInput( Element )
{
	Element.style.borderColor = "#fcbb00";
	Element.style.color       = "#fcbb00";
	Element.style.borderWidth = "1px";
	Element.style.borderStyle = "solid";
}

function UIErreur_HightLightSelect( Element )
{
	Element.style.backgroundColor = "#fcbb00";
	Element.style.fontColor = "#ffffff";
}

function UIErreur_HightLightRadio( Element )
{
	// Ne rien faire puisque l'on ne peut RIEN FAIRE !!!!!...... saloperie de boutons radio
	//Element.style.fontWeight = "bold";
}


var html_bg_element = null;
function bg_element()
{
	if( html_bg_element == null )
	{
		var html_ = document.getElementsByTagName("html");
		
		html_bg_element 						= document.getElementById("bg_fonce");
		html_bg_element.style.position 			= "absolute";
		html_bg_element.style.display 			= "block";
		html_bg_element.style.top 				= "0px";
		html_bg_element.style.left 				= "0px";
		html_bg_element.style.width 			= html_[0].clientWidth+"px";
		html_bg_element.style.height 			= html_[0].clientHeight+"px";
		document.getElementById("iframe_bg_fonce").style.width = html_bg_element.style.width;
		document.getElementById("iframe_bg_fonce").style.height = html_bg_element.style.height;
		//html_bg_element.style.backgroundColor 	= "#000000";
	}
	return html_bg_element;
}

function bg_element2()
{
	if( html_bg_element == null )
	{
		var html_ = document.getElementsByTagName("html");
		
		html_bg_element 						= document.getElementById("bg_fonce");
		html_bg_element.style.position 			= "absolute";
		html_bg_element.style.display 			= "block";
		html_bg_element.style.top 				= "0px";
		html_bg_element.style.left 				= "0px";
		html_bg_element.style.width 			= html_[0].clientWidth+"px";
		html_bg_element.style.height 			= "2500px";
		document.getElementById("iframe_bg_fonce").style.width = html_bg_element.style.width;
		document.getElementById("iframe_bg_fonce").style.height = html_bg_element.style.height;
		//html_bg_element.style.backgroundColor 	= "#000000";
	}
	return html_bg_element;
}


function assombrir()
{	
	ht 								= bg_element();
	opacite 						= 0.5;
	ht.style.opacity 				= opacite; //navigateurs récents (firefox, opera, Safari>1,2...) css3
	ht.style.MozOpacity 			= opacite; //anciennes versions firefox
	ht.style.KhtmlOpacity 			= opacite; //Konqueror, Safari<1,2
	ht.style.filter 				= "alpha(opacity=" + opacite * 100 + ")"; //Internet Explorer
	
}

function eclaircir()
{
	ht = bg_element();
	opacite 						= 0;
	ht.style.opacity 				= opacite; //navigateurs récents (firefox, opera, Safari>1,2...) css3
	ht.style.MozOpacity 			= opacite; //anciennes versions firefox
	ht.style.KhtmlOpacity 			= opacite; //Konqueror, Safari<1,2
	ht.style.filter 				= "alpha(opacity=" + opacite * 100 + ")"; //Internet Explorer
	html_bg_element.style.display 	= "none";
}





attacherEvenement( window , 'onload' , UIErreur_show );


