﻿
var check = false;
 
function getXhr()
{
	var xhr = null;
	if(window.XMLHttpRequest)
		xhr = new XMLHttpRequest();
	else if(window.ActiveXObject)
	{
		try {
		xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
		xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else
	{
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		xhr = false;
	}
	return xhr;
}
 
var xhrRefresh = getXhr();
var xhrPost = getXhr();
 
function chatTimer()
{
	refresh_chat();
	setTimeout("chatTimer();",2000);
}



$(document).ready(function(){
	//global vars
	var inputUser = $("#nick");
	var inputMessage = $("#message");
	var inputHumain = $("#humain");
	var loading = $("#loading");
	var messageList = $(".content > ul");	
	
	//functions
	function updateShoutbox(){
		//just for the fade effect
		messageList.hide();
		loading.fadeIn();
		//send the post to shoutbox.php
		$.ajax({
			type: "POST", url: "modules/Shoutbox/shoutbox.php", data: "action=update",
			complete: function(data){
				loading.fadeOut();
				messageList.html(data.responseText);
				messageList.fadeIn(2000);
				refresh_chat();
			}
		});
	}


	//check if all fields are filled
	function checkForm(){
		if(inputUser.attr("value") && inputMessage.attr("value") && inputHumain.attr("value"))
			return true;
		else
			return false;
	}
	
	//Load for the first time the shoutbox data
	updateShoutbox();
	
	//on submit event
	$("#form_shout").submit(function(){
		if(checkForm()){
			var nick = inputUser.attr("value");
			var message = inputMessage.attr("value");
			var humain = inputHumain.attr("value");
			//we deactivate submit button while sending
			$("#send_shout").attr({ disabled:true, value:"Envoie" });
			$("#send_shout").blur();
			//send the post to shoutbox.php
			
			$.ajax({
				type: "POST", url: "modules/Shoutbox/shoutbox.php", data: "action=insert&nick=" + nick + "&message=" + message + "&humain=" + humain,
				complete: function(data){
					messageList.html(data.responseText);
					updateShoutbox();
					//reactivate the send button
					$("#send_shout").attr({ disabled:false, value:"Envoyer" });
					$("#message").attr({ disabled:false, value:"Votre message ..." });
				}
			 });
			
		}
		else alert("Remplissez s'il vous plaît tous les champs !");
		//we prevent the refresh of the page after submitting the form
		return false;
	});
	
	
});


function refresh_chat()
{
	xhrRefresh.onreadystatechange = function(){
		if(xhrRefresh.readyState == 4 && xhrRefresh.status == 200){
			document.getElementById('shout').innerHTML = xhrRefresh.responseText;
		}
	}
	xhrRefresh.open("POST","modules/Shoutbox/shoutbox.php?action=update",true);
	xhrRefresh.send(null);
}
 
if(!check)
{
	check = true;
	chatTimer();
}


var y = 100;
 var minuteur = null;

//minuteur défilement normal en avant du texte
 function transfertDefil(speed)
 {
    if (minuteur==null) minuteur=setInterval('defil()', speed);
 }
 
//minuteur défilement en arriere du texte
 function transfertArriere(speed)
 {
    if (minuteur==null) minuteur=setInterval('retourArriere()', speed);
 }
 
//minuteur défilement rapide en avant du texte 
  function transfertPlus(speed)
 {
    if (minuteur==null) minuteur=setInterval('defilPlus()', speed);
 }
//Avance normal du texte 
 function defil()
 { 
   var h = document.getElementById('textboxT').style.height;
   h = h.replace('px','');
   
   var top = document.getElementById('textbox').offsetHeight;
   document.getElementById('textbox').style.top = y--+"px";
   
   if( y < - top){y =  h;}
 }
//Avance rapide du texte 
 function defilPlus()
 { 
     
   var h = document.getElementById('textboxT').style.height;
   h = h.replace('px','');
   var top = document.getElementById('textbox').offsetHeight;
   
   y = y - 7; 
   document.getElementById('textbox').style.top = y+"px";
   
   if( y < - top){y =  h;}
 }

 
//Retour en arriere du texte
 function retourArriere()
 {
    var h = document.getElementById('textboxT').style.height;
    h = h.replace('px','');
    var top = document.getElementById('textbox').offsetHeight;
   
    y = y + 7; 
    document.getElementById('textbox').style.top = y+"px";
    
    if( y > h){y = - top;}
 }
 
//Arret défilement du texte
function arretDefil()
 {
     clearInterval(minuteur);
     minuteur=null;
 }
 
//montrer, cacher les smilies       
function changeDisplay(id)
{
  if(document.getElementById(id).style.visibility == 'hidden')
  {
     document.getElementById(id).style.visibility = 'visible';
     document.getElementById(id).style.position = 'relative';
     document.getElementById(id).style.width = '100%';
  }
  else
  {
     document.getElementById(id).style.visibility = 'hidden';
     document.getElementById(id).style.position = 'absolute';
     document.getElementById(id).style.width = '';
  }
}