//
// On définie la zone d'affichage de l'animation flash

if ( document.getElementById ){
						var div_flash = document.getElementById( 'div_anim_flash' );
}else{
if ( document.layers ){ var div_flash = document.div_anim_flash;
}else{ 					var div_flash =  document.all.div_anim_flash; }
}

//
// On Charge le DIV en surimpression du chat

function JouerAnimation(code)
{
	content = '<div class="popup-contenu"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="500" height="400"><param name="movie" value="areabb/mods/minichatajax/swf/'+code+'/'+code+'.swf"/><param name="type" value="application/x-shockwave-flash" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer/" /><param name="menu" value="false" /><param name="wmode" value="transparent"><param name="loop" value="False" /><embed src="areabb/mods/minichatajax/swf/'+code+'/'+code+'.swf" menu="false" wmode="transparent" type="application/x-shockwave-flash" width="500" height="400" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></object></div>';
	div_flash.innerHTML = content;
	div_flash.style.visibility = "visible";
}
//
// Fonction Chargeant le chat en popup
var bloquage_synchronisation = 0;
function PopupChat(page,titre,largeur,hauteur)
{
	// On vide le chat dans le portail
	document.getElementById( 'zone_resize' ).innerHTML = '';
	document.getElementById( 'espace_saisie' ).innerHTML = '';
	bloquage_synchronisation = 1; // on bloque cette page
	// on place le popup au milieu de la page
	var top=(screen.height-hauteur)/2;
	var left=(screen.width-largeur)/2;     
	window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+",menubar='no',toolbar='no',location='no',status='no',scrollbars='yes',resizable='no'");
}
//
// On efface le div de l'animation et on détruit le div

function StoperAnimation()
{
	div_flash.innerHTML = '';
	div_flash.style.visibility = "hidden";
	document.getElementById( 'load_animation' ).value = '';
}

//
// On récupére le contenu du fichier passé en parametre

function file(fichier)
{
	var xhr_object = null;
	if(window.XMLHttpRequest) // FIREFOX
		xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
		xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else  return(false);
	
	xhr_object.open("GET", fichier, false);
	xhr_object.send(null);
	if(xhr_object.readyState == 4) 
		return(xhr_object.responseText);
	else 
		return(false);
}

//
// On force la zone d'affichage des message à redescendre en bas

function goBottom()
{
	var objDiv = document.getElementById('ESPACE_AFFICHAGE');
	objDiv.scrollTop = objDiv.scrollHeight;
}

//
// On place dans l'element définie par son ID le contenu passé en parametre.

function InsererDansDIV( div , content )
{
	if ( document.getElementById ){
		document.getElementById( div ).innerHTML = content;
	}else{
		if ( document.layers ){document.div.innerHTML = content;
		}else{ document.all.div.innerHTML = content;}
	}
	return true;
}

//
// Fonction AJAX permettant de récupérer du contenu et de le pousser dans le DIV spécifier

function Goto( FILE , METHOD , DATA , div )
{
	if( METHOD == 'GET' && DATA != null )
	{
		FILE += '?' + DATA;
		DATA = null;
	}
	var httpRequestM = null;
	if( window.XMLHttpRequest )
	{ 
		// Firefox
		httpRequestM = new XMLHttpRequest();
	}else if( window.ActiveXObject ){ 
		// Internet Explorer
		httpRequestM = new ActiveXObject( "Microsoft.XMLHTTP" );
	}else{ 
		// XMLHttpRequest non supporté par le navigateur
		return "Votre navigateur ne supporte pas les objets XMLHTTPRequest...";
	}
	httpRequestM.open( METHOD , FILE , true );
	httpRequestM.onreadystatechange = function()
										{
											if( httpRequestM.readyState == 4 )
											{
												InsererDansDIV( div , httpRequestM.responseText );
											}
										}
	if( METHOD == 'POST' ){	httpRequestM.setRequestHeader( "Content-type" , "application/x-www-form-urlencoded" );}
	httpRequestM.send( DATA );
}
//
// Charge les messages dans la zone dédiée
function ChargerMessages()
{
	Goto('areabb/mods/minichatajax/messages.php','POST','id_salle='+document.getElementById('id_salle').value , 'ESPACE_AFFICHAGE' );
	// On s'assure que l'ascenseur redescende bien
	window.setTimeout("goBottom()",1000);
	// On teste de charger une animation
	window.setTimeout("LoadAnimation()",1000);
	return true;
}

//
// Correction de la perte du caractere +
(function () {
  var escape_old = escape; //ancienne fonction escape
  escape = function (texte)
  {
        texte=escape_old(texte).replace(/\+/g,'%2B');
        return texte;
  };
})();

//
// Envoie les données saisies vers la page PHP de traitement

function EnvoyerSaisie(PARAM)
{
	if (PARAM == '') PARAM = 'action_chat=ENVOYER';
	parametres = PARAM+'&message='+escape(document.getElementById('msg').value)+'&police='+document.getElementById('police').value+'&id_salle='+document.getElementById('id_salle').value+'&couleur='+document.getElementById('couleur').value;
	Goto('areabb/mods/minichatajax/saisie.php','POST',parametres ,'espace_erreur' );
	submitonce();
	window.setTimeout("ChargerMessages()",1000);
	return true;
}

function LoadAnimation()
{
	if (document.getElementById('load_animation'))
	{
		if (document.getElementById('load_animation').value != '' )  
		{
			JouerAnimation(document.getElementById('load_animation').value); 
		}
	}
	return true;
}
//
// Timer qui de manière récurrente vérifie si l'heure du dernier message serveur est plus récente que du coté navigateur
// Si plus récent il y a rechargement de la zone messages.

function VerifierMAJTraceur(DateDernierMSG)
{
	DateDernierMSGServeur = 1;
	DateDernierMSGServeur = file(FichierTraceur);
	if (DateDernierMSGServeur > DateDernierMSG)
	{
		ChargerMessages();
		DateDernierMSG = DateDernierMSGServeur;
		if (ActiverAlertes == '1')
		{
			son = document.getElementById('alerte_son').value;
			if (son != ''){
				son = 'areabb/mods/minichatajax/alertes/'+son;
				document.getElementById('embed_son').innerHTML = '<embed name="beep" id="beep" src="'+son+'" hidden="true" autostart="true" loop="false" mastersound></embed>';
			}
		}
	}
	if (bloquage_synchronisation == 0)
	{
		window.setTimeout("VerifierMAJTraceur("+DateDernierMSG+")",TpsRefresh);
		document.getElementById('espace_erreur').innerHTML = '';
	}
}
// On initialise le timer
VerifierMAJTraceur(0);
