/*-------------------------START : Fonctions de gestion des messages-------------------------------------- */

function listMessages(rep, box, currentPage, displayedEntries, itemsPerPage, userId, moduleId, platformId, lineupId, sortCriteria) 
{
	//alert(rep +" /box "+ box+" /currentPage "+ currentPage +" /displayedEntries "+ displayedEntries +" /itemsPerPage "+ itemsPerPage +"/userId "+ userId +" /moduleId "+ moduleId +" /platformId "+ platformId +" /lineupId "+ lineupId +" /sortCriteria "+ sortCriteria);

	// mise à jour du browsing
	
	// raz currentPage
	$('table.mailbox > tbody > tr > td > ul > li').attr('currentPage','1');

	//réinit currentPage
	if (moduleId>0)
	{
		$('table.mailbox > tbody > tr > td > ul.wags > li#wag'+moduleId).attr('currentPage',currentPage);
	} 
	else
	{
		$('table.mailbox > tbody > tr > td > ul#'+box+' > li').attr('currentPage',currentPage);
	}
	
	// raz html
/* 	$('div.mailboxcontent').html(''); */
	
	$('div.mailboxcontent').fadeOut(75,function(){
	    $('div.preloader').fadeIn(75);
        $('div.mailboxcontent').html('');
	
		$.ajax
		({
			type: 'POST',
			url: '/app/mailbox/index.php',	
			data: "rep="+rep+"&box="+box+"&currentPage="+currentPage+"&displayedEntries="+displayedEntries+"&itemsPerPage="+itemsPerPage+"&userId="+userId+"&moduleId="+moduleId+"&platformId="+platformId+"&lineupId="+lineupId+"&sortCriteria="+sortCriteria,
			dataType: 'text',
			success: resetDisplay,
			error: function () {
				// alert('error');
			}
		});
    
    });
}

function resetDisplay (reponse) 
{
	if (reponse == "")
    {
    	document.location.href = "";
    }
    else 
    {
	    //alert(reponse);
	    var nouveauresultat = reponse.split('[#]');
	    var numWag = new Array();
	    var numWagCpt = 1;
	    var cpt = 1;	
	        							
	    var A_capacity = new Array();

	    for (i=0;i<nouveauresultat.length;i++)
	    {
	    	switch (i)
	    	{
	    		case 0:
	    			var htmlCode = nouveauresultat[0];	
	    			//alert(htmlCode);
	    			break;
	    		
	    		// tableau des modules pour savoir lequel est sélectionné
	    		case 1: 
	    			var tabModuleId = nouveauresultat[1].split(',');	
	    			break;
	    			
				case 2:
					box = nouveauresultat[2];	
					break;
					
	    		// mailbox used / total capacity
	    		case 3:
		    		A_capacity = nouveauresultat[3].split(',');
	    			break;
	    			 
	    		// tableau des nombres de messages dans [0]boite de reception [1]boite d'envoi
	    		case 4:
		    		var numTotal = nouveauresultat[4].split(',');
	    			break;
	    			 
	    		// tableau des nombres de messages par module dans [0]boite de reception			
	    		default:
	    			numWag[numWagCpt] = nouveauresultat[i].split(',');
	    			numWagCpt++;
	    			break;
	    	}	
	    }
	       
	   	for (i=1;i<tabModuleId.length;i++)
	   	{
	   	    // Affichage du nombre de messages par module.
		   	if (numWag.length>0)
	   	    {
	   	    	$('table.mailbox > tbody > tr > td > ul > li#wag'+tabModuleId[i]+' > a.count').text(numWag[cpt][0]);
	 	    }
	 	    
	   	    cpt++;
	   	}
		
	    $('div.preloader').fadeOut(75,function () {
			$('table.mailbox td.content').attr('id',box);		
			$('div.mailboxcontent').html(htmlCode);
			include('javascript','/resources/scripts/lib/wagwire/events/account/mailbox/ajax_mailbox.ui.events.js');
			$('div.mailboxcontent').fadeIn(75);
	    });
	    		
	    if (numTotal.length>1)
	    {
	    	$('table.mailbox > tbody > tr > td > ul#inbox > li > a.count').html(numTotal[0]);
	    	$('table.mailbox > tbody > tr > td > ul#sentmessages > li > a.count').html(numTotal[1]);
		}

		// mailbox capacity
	    $('span#usedCapacity').html(A_capacity[0]);
	    $('span#totalCapacity').html(A_capacity[1]);
	    $('#mailboxCapacity > div.content').show();
	    
	    if ( Number(A_capacity[0]) >= Number(A_capacity[1]) )
	    {
	    	$('#content > ul#accountLimitations').show();
	    	$('#content > ul#accountLimitations > li.overload').show();	    	
	    }
	    else
	    {
	    	if ( $('#content > ul#accountLimitations  > li.expiration').css('display') == "none" )
	    	{
		    	$('#content > ul#accountLimitations').hide();
	    	}
	
	    	$('#content > ul#accountLimitations > li.overload').hide();	    	
	    }
    }	
}

// Supprime un message de la liste des messages affichés d'un utilisateur. 
function undisplayMessage(target, box, currentPage, itemId, userId, moduleId, sortCriteria) 
{
	//alert('undisplayMessage : '+target +' / '+box +' / '+ currentPage +' / '+ itemId +' / '+ userId +' //// '+ moduleId +' / '+ sortCriteria);
	UI_MailboxMessageSubpanel_UserFeedback($(target));

	$('div.mailboxcontent').fadeOut(75,function(){
	    $('div.preloader').fadeIn(75);
        $('div.mailboxcontent').html('');
	
		$.ajax
		({
			type: 'POST',
			url: '/app/mailbox/index.php',	
			data: "box="+box+"&itemId="+itemId+"&currentPage="+currentPage+"&userId="+userId+"&moduleId="+moduleId+"&sortCriteria="+sortCriteria+"&action=undisplayMessage",
			dataType: 'html',
			success: resetDisplay,
			error: function () {
				// alert('error');
			}
		});
		
    });
}

// Publication / deplublication d'un message.
function publishMessage(rep, box, checkValue, itemId, moduleId, userId) 
{
	// alert(checkValue+" / "+itemId+" / "+userId);
	
	$.ajax
	({
		type: 'POST',
		url: '/app/mailbox/index.php',	
		data: "box="+box+"&checkValue="+checkValue+"&itemId="+itemId+"&userId="+userId+"&moduleId="+moduleId+"&action=publishMessage",
		dataType: 'html',
			error: function () {
				// alert('error');
			}
	});
}

// Affiche le formulaire d'envoi d'un nouveau message.
function gotoAddMessage(rep, box, currentPage, userId, moduleId, mail) 
{
	//alert(rep +" / "+ box+" / "+ currentPage +" / "+ userId +" / "+ mail);
	$('div.mailboxcontent').fadeOut(75,function(){
	    $('div.preloader').fadeIn(75);
        $('div.mailboxcontent').html('');
		
		$.ajax
		({
			type: 'POST',
			url: '/app/mailbox/index.php',	
			data: "box="+box+"&currentPage="+currentPage+"&userId="+userId+"&moduleId="+moduleId+"&emailAddress="+mail+"&action=gotoAddMessage",
			dataType: 'html',
			success: resetDisplay,
			error: function () {
				// alert('error');
			}
		});
    });
}

/*-------------------------------------END : Fonctions de gestion des messages-------------------------------------- */


/*------------------------------START : Fonctions de gestion du carnet de contacts----------------------------------- */

// Récupère la liste des contacts d'un utilisateur.
function listContacts(rep, box, currentPage, displayedEntries, itemsPerPage, userId, sortCriteria, isAdded) 
{
	//alert(rep +" / "+ box+" / "+ currentPage +" / "+ displayedEntries +" / "+ itemsPerPage +" / "+ userId +" / "+ sortCriteria);

	// mise à jour du browsing
	
	// raz currentPage
	$('table.mailbox > tbody > tr > td > ul > li').attr('currentPage','1');

	$('table.mailbox > tbody > tr > td > ul#contacts > li').attr('currentPage',currentPage);
	
	// raz html
/* 	$('div.mailboxcontent').html(''); */
	
	$('div.mailboxcontent').fadeOut(75,function(){
	    $('div.preloader').fadeIn(75);
        $('div.mailboxcontent').html('');
	
		$.ajax
		({
			type: 'POST',
			url: '/app/mailbox/index.php',	
			data: "box="+box+"&currentPage="+currentPage+"&userId="+userId+"&isAdded="+isAdded+"&sortCriteria="+sortCriteria,
			dataType: 'text',
			success: resetDisplay,
			error: function () {
				// alert('error');
			}
		});
    });
}

// Affiche le formulaire d'ajout d'un contact.
function gotoAddContact(rep, box, currentPage, userId, sortCriteria) 
{
/* 	alert(rep +" / "+ box+" / "+ currentPage +" / "+ userId +" / "+ sortCriteria); */
	$('div.mailboxcontent').fadeOut(75,function(){
	    $('div.preloader').fadeIn(75);
        $('div.mailboxcontent').html('');
	
		$.ajax
		({
			type: 'POST',
			url: '/app/mailbox/index.php',	
			data: "box="+box+"&currentPage="+currentPage+"&userId="+userId+"&sortCriteria="+sortCriteria+"&action=gotoAddContact",
			dataType: 'html',
			success: resetDisplay,
			error: function () {
				// alert('error');
			}
		});
    });
}

// Ajoute un contact dans le carnet de contacts de l'utilisateur.
function addContact(rep, box, currentPage, userId, sortCriteria) 
{
	//alert("addContact : "+rep +" / "+ box+" / "+ currentPage +" / "+ userId +" / "+ sortCriteria);
	//alert("addContact : "+$('#lastName').attr('value') +" / "+ $('#firstName').attr('value') +" / "+ $('#emailAddress').attr('value'));
	
	var firstName = $('#firstname').val();
	var lastName = $('#lastname').val();
	var emailAddress = $('#emailaddress').val();
	var month = $('#month option:selected').attr('id');
	var day = $('#day option:selected').attr('id');
	var year = $('#year option:selected').attr('id');
	var sex = $('table.mailbox td#newcontact [@name="sex"]:checked').val();
	var country = $('#country option:selected').attr('id');
	var language = $('#language option:selected').attr('id');
	
	$.ajax
	({
		type: 'POST',
		url: '/app/mailbox/index.php',	
		data: "box="+box+"&currentPage="+currentPage+"&userId="+userId+"&sortCriteria="+sortCriteria+"&firstName="+firstName+"&lastName="+lastName+"&mail="+emailAddress+"&birthDay="+day+"&birthMonth="+month+"&birthYear="+year+"&sex="+sex+"&countryId="+country+"&languageId="+language+"&action=addContact",
		//
		dataType: 'json',
		success: function (reponse) 
		{    		
			$("#necessary ul li").remove();
			
			if (reponse.state=="success")
			{
				// cache le preloader
				$('div.preloader').css('dsplay','hide');
				// cache le formulaire
				$("div.section").hide();
				// renome le titre de la page
				$("div.form div.title").html(reponse.confirmTitle);
				// affiche le message de confirmation
				$("div.form div.confirm").html(reponse.confirmMessage);
				// bouton retour
				$("div.titlebar input.button").attr("value",reponse.confirmReturn);

/*
				// affichage de la confirmation
				$('div.mailboxcontent div.form div.title').html(reponse.confirmTitle);
				$('div.mailboxcontent div.form div.confirm').html(reponse.confirmMessage);
*/
			}
			else
			{
				// NECESSARY
				
				if (reponse.alertFirstname!="")
				{
					var TalertFirstname = reponse.alertFirstname.split('[#]');
					
					$('#necessary ul').append('<li class="'+TalertFirstname[1]+'">'+TalertFirstname[0]+'</li>');
				}
				
				if (reponse.alertLastname!="")
				{
					var TalertLastname = reponse.alertLastname.split('[#]');
					
					$('#necessary ul').append('<li class="'+TalertLastname[1]+'">'+TalertLastname[0]+'</li>');
				}
				
				if (reponse.alertMail!="")
				{
					var TalertMail = reponse.alertMail.split('[#]');
					
					$('#necessary ul').append('<li class="'+TalertMail[1]+'">'+TalertMail[0]+'</li>');
				}
				
			}
		},
		error: function () {
    		// alert('error');
    	}
	});
}

// Supprime un contact du carnet de contacts de l'utilisateur.
function deleteContact(rep, box, currentPage, itemId, userId, sortCriteria) 
{
	//alert('deleteContact : '+rep +' / '+box +' / '+ currentPage +' / '+ itemId +' / '+ userId +' / '+ sortCriteria);
	$('div.mailboxcontent').fadeOut(75,function(){
	    $('div.preloader').fadeIn(75);
        $('div.mailboxcontent').html('');
	
		$.ajax
		({
			type: 'POST',
			url: '/app/mailbox/index.php',	
			data: "rep="+rep+"&box="+box+"&currentPage="+currentPage+"&itemId="+itemId+"&userId="+userId+"&sortCriteria="+sortCriteria+"&action=deleteContact",
			dataType: 'html',
			success: resetDisplay,
			error: function () {
				// alert('error');
			}
		});
    });
}

/*---------------------------------------END : Fonctions de gestion du carnet de contacts----------------------------------- */

function wagwire_getReceiverMail()
{
	
	var messageTitle = $("div.step input.text").val();
	var receiverMail = "";
	
	// le radio de la liste de contact est coché
	if ($("div.step label.contactlist input.radio").attr('checked') == true)
	{
		receiverMail = $("div.step label.contactlist select option:selected").val();
	}
	// le radio du mail de contact est coché
	if ($("div.step label.emailaddress input.radio").attr('checked') == true)
	{
		receiverMail = $("div.step label.emailaddress input.text").val();
	}
	
	flash = ($.browser.msie) ? window['id_flash'] : document['id_flash'];

	flash.echo_flash(receiverMail,messageTitle);
	
}