window.onload = function() 
{
	varRecup();
	if(action!=-1)
	{
		sendMail(cat,id,users,action);
	}
	else
	{
		viewMail(cat);
	}
	// appel de la fonction (top.php) pour rafraichir le nb de message dans le menu si elle existe
	if('function' == typeof(refreshConnecte)) { refreshConnecte(); }
}

window.onkeypress = function(e) 
{
	return touch(e);
}

/* recupere les variables cachees de la page message.php */
function varRecup()
{
	cat = $('cat').value;
	action = $('action').value;
	id = $('id').value;
	users = $('user').value;
}

/* si on appuie sur une touche */
function touch(evenement)
{
	/*
	u (117) > rafraichit
	p (112) / n (110) > message precedent / suivant
	c (99) > nouveau message
	/ (47)  > rechercher
	? (63) > ouvre l aide raccourci
	# (35) > supprimer
	r (114) > repondre
	a (97)  > repondre a tous
	f (102) > transferer
	Shift u (85) > marquer comme non lu
	*/
	/*
	$('param').prototip.hide();
	
	var touche = window.event ? evenement.keyCode : evenement.which;
	var ok = $('raccourci').value;
	var cat = $('cat').value;
	var action = $('action').value;
	var id = $('id').value;
	var users = $('user').value;
	var user = users.split(',');
	user = user[0];

	if(touche=="117" && ok==1) { if(action==1) { sendMail(cat,id,'0','1'); } else { viewMail(cat); } }
	else if(touche=="99" && ok==1) { sendMail(cat,'0','0','0'); }
	else if(touche=="47" && ok==1) { mailFocus('0'); }
	else if(touche=="63" && ok==1) { $('param').prototip.show(); }
	else if(touche=="35") { if(action==-1) { checkMail(cat); } else if(action==1) { mailDelete(cat,id,'0'); } else { viewMail(cat); } }
	else if(touche=="114" && ok==1 && action==1) { sendMail(cat,id,user,'2'); }
	else if(touche=="97" && ok==1 && action==1) { sendMail(cat,id,users,'2'); }
	else if(touche=="102" && ok==1 && action==1) { sendMail(cat,id,'0','3'); }
	else if(touche=="85" && ok==1 && action==1) { unReadMail(cat,id); }
	*/
}

/* affiche la liste des messages */
function viewMail(cat)
{	
	$('mp_new').style.display = 'none';
	if(!cat.match("search::")) { $('search_mp').value=''; }
	$('mp_view').style.display = 'block';

	// met a jour les champs caches
	$('cat').value = cat;
	$('action').value = -1;
	$('id').value = 0;
	$('user').value = 0;

	var url = 'message_ajax_view.php';
	var pars = 'id_users='+$('id_users').value+'&cat='+cat+'&langue='+$('langue').value;
	var target = 'mp_view';
	var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, evalScripts: true, onLoading: function(){ $('loading').style.visibility='visible'; }, onSuccess: function(){ $('loading').style.visibility='hidden'; }});
	
	// appel de la fonction (top.php) pour rafraichir le nb de message dans le menu left si elle existe
	if('function' == typeof(refreshConnecte)) { refreshConnecte(); }
}

/* affiche le detail d un message ou la redaction */
function sendMail(cat,id,users,action)
{
/*
   cat     > la categorie (inbox,sent,trash)
   id       > l id du message s il existe (si 0, c est une redaction)
   users > id des utilisateurs a repondre (separe par des virgules)
   action > 0 : nouveau / 1 : lecture / 2 : repondre / 3 : transferer
*/	
	$('mp_view').style.display = 'none';
	$('mp_new').style.display = 'block';

	// modifie le champ cache pour donner la possibilite d activer ou de desactiver les raccourcis clavier (ils ne sont possible qu en visualisation de message pas en redaction)
	if(action==1) { $('raccourci').value = 1; } else { $('raccourci').value = 0; }
	// met a jour les champs caches
	$('cat').value = cat;
	$('action').value = action;
	$('id').value = id;
	$('user').value = users;
	
	var url = 'message_ajax_send.php';
	var pars = 'id_users='+$('id_users').value+'&cat='+cat+'&langue='+$('langue').value+'&id='+id+'&user='+users+'&action='+action;
	var target = 'mp_new';
	var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, evalScripts: true, onLoading: function(){ $('loading').style.visibility='visible'; }, onSuccess: function(){ $('loading').style.visibility='hidden'; }});
	
	if(action!=1)
	{
		if(action==0 || action==3 || users=="")
		{
			mailFocus('1');
		}
	}
	
	// appel de la fonction (top.php) pour rafraichir le nb de message dans le menu left si elle existe
	if('function' == typeof(refreshConnecte)) { refreshConnecte(); }
}

/* envoie d un message */
function mailSent(cat)
{
	if($('users').value!="")
	{
		var fck = FCKeditorAPI.GetInstance('message').GetXHTML();
		var url = 'message_ajax.php';
		var pars = 'users='+encodeURIComponent($F('users'))+'&objet='+encodeURIComponent($F('objet'))+'&message='+encodeURIComponent(fck)+'&accuse_oui='+escape($F('accuse_oui'))+'&accuse_non='+escape($F('accuse_non'))+'&id_users='+escape($F('id_users'))+'&langue='+escape($F('langue'));
		var target = 'view_msg';
		var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, onComplete: function(){ $('view_msg').style.visibility='visible'; } });
		
		// on retourne a la visualisation des messages
		viewMail(cat);
	}
}

/* recupere les id des messages selectionnes */
function checkMail(cat)
{
	var valeur = window.document.msg_check;
    var tmp='';
    for (var i=0;i < valeur.length; i++)
    {    
		if ( valeur[i].checked )
        {    
			tmp+=','+valeur[i].value;   
		}
    }
	
	mailDelete(cat,tmp,'0');
}

/* recupere tous les messages ou pas */
function allcheckMail(action)
{
/* action : 0 > coche tout / 1 > decoche tout / 2 > inverse la selection */
	var check = false;
	if(action=='0') { check = true; } else { check = false; }
	for(i=0;i<document.msg_check.length;i++)
	{
		if(document.msg_check.elements[i].type=="checkbox")
		{
			document.msg_check.elements[i].checked=check;
		}
	}
}

/* suppression d un ou plusieurs messages */
function mailDelete(cat,id,action)
{
/*
  action : 0 > on supprime un message / 1 > on vide la categorie
*/
	var url = 'message_ajax.php';
	var pars = 'suppr='+id+'&id_users='+$('id_users').value+'&langue='+$('langue').value+'&cat='+cat+'&action='+action;
	var target = 'view_msg';
	var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, onComplete: function(){ $('view_msg').style.visibility='visible'; } });
	
	// on retourne a la visualisation des messages
	viewMail(cat);
}

/* recherche dans les messages */
function searchMail()
{
	if($F('search_mp')!="")
	{
		var cat;
		if($F('search_mp')==':inbox') { cat = 'inbox'; }
		else if($F('search_mp')==':sent') { cat = 'sent'; }
		else if($F('search_mp')==':trash') { cat = 'trash'; }
		else { cat = 'search::'+encodeURIComponent($F('search_mp')); }
		
		// on retourne a la visualisation des messages
		viewMail(cat);
	}
}

/* marque le message en non lu */
function unReadMail(cat,id)
{
	if(id!=0)
	{
		var url = 'message_ajax.php';
		var pars = 'unread='+id+'&id_users='+$('id_users').value+'&langue='+$('langue').value+'&cat='+cat;
		var target = 'view_msg';
		var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, onComplete: function(){ $('view_msg').style.visibility='visible'; } });
		
		// on retourne a la visualisation des messages
		viewMail(cat);
	}
}

/* enregistre les changements de parametres */
function paramMail(cat,param,type)
{
/*
  type : 0 > nb_msg / 1 > mail / 2 > raccourci
*/	
	$('param').prototip.hide();
	//if(type==2) { if($('raccourci_chk').checked==false) { param = 0; } else { param = 1; } $('raccourci').value=param; }

	var url = 'message_ajax.php';
	var pars = 'param='+param+'&type='+type+'&id_users='+$('id_users').value+'&langue='+$('langue').value+'&cat='+cat;
	var target = 'view_msg';
	var myAjax = new Ajax.Updater(target, url, {method: 'post', parameters: pars, onComplete: function(){ $('view_msg').style.visibility='visible'; } });
	
	// on retourne a la visualisation des messages
	viewMail(cat);
}

/* positionne le focus sur un element */
function mailFocus(type)
{
/*
  type : 0 > rechercher / 1 > champ A du message / 2 > fck
*/
	if(type==0) { $('search_mp').focus(); $('raccourci').value = 0; $('search_mp').value = ""; }
	//else if(type==1) { $('users').focus(); }
}

/* ajoute une virgule apres l autocompletion des noms dans la redaction de message */
function addComma()
{
	$('users').value = $('users').value+', ';
}