var Icon = {
    flagUpdateStatusText : true,
    Icons : {},
    userStatus : [],
    set : 0,
    type : 0,
    
    initIcons : function(jsonIcons)
    {
    	this.Icons = eval("("+jsonIcons+")");
    },
    
    fillIcons : function (container,type,top)
    {
    	var iconsUrl = "/index.php?fase=getHtmlIcons&set="+this.set;
    	if(type!==false)
    	{
    		this.type = type;
    		iconsUrl += "&type="+this.type;
    	}
		if(top)
    		iconsUrl += "&top=1";
    		
    	$("#"+container).load(iconsUrl);
    },
    
    fillSetsForm : function ()
    {
    	$("#icons").load("/index.php?fase=getHtmlSetsForm");
    },
    
    switchSet : function(container,set)
    {
    	this.set = set;
    	this.fillIcons(container,this.type);
    },
    
    changeIconSet : function(setId)
    {
    	var Instance = this;
    	$.get("/index.php?fase=changeIconSet&setId="+setId,'',
    		 function()
    		 {
    		 	switchTab(document.getElementById("tabIcons0"));
    		 	Instance.fillIcons("icons",0);
    		 });
    },
    
    getIcon : function(iconId)
    {
    	for(var i=0;i<this.Icons.all.length;i++)
    	{
    		if(this.Icons.all[i].idIcon == iconId)
    			return this.Icons.all[i];
    	}
    	return false;
    },
    
    addStatusIcon : function(iconId)
    {
    	if(this.userStatus.length >= 5)
    		return false;
    	this.userStatus.push(iconId);
    	
    	var Icon = this.getIcon(iconId);
    	var iconText = Icon.name;
    	//var iconText = this.Icons.all[iconId].name;
    	
    	if($("#text").val())
    		iconText = " "+iconText;
    	$("#text").val($("#text").val()+iconText);
    	this.updateStatusText();
    	//$("#icon_"+iconId).animate({"left": $("#space_1").css("left"),"top": $("#userStatus").css("top")}, "fast");
    	this.refreshUserStatus("userStatus");
    },
    
    removeStatusIcon : function(iconPosition)
    {
    	if(this.flagUpdateStatusText)
    	{
	    	var text = $("#text").val();
	    	var arrayText = text.split(" ");
	    	arrayText.splice(iconPosition,1);
	    	$("#text").val(arrayText.join(" "));
	    	this.updateStatusText();
    	}
    	
    	this.userStatus.splice(iconPosition,1);
    	this.refreshUserStatus("userStatus");
    },
    
    refreshUserStatus : function(container)
    {
    	var html = "";
    	for(var i=0;i<5;i++)
    	{
    		var suff = (i==4)?" noM":"";
    		if(this.userStatus[i])
    		{
    			var IconStatus = this.getIcon(this.userStatus[i]);
    			var imgCode = '<a href="" class="ico'+suff+'" onclick="Icon.removeStatusIcon('+i+');return false;"><img src="'+IconStatus.url+'" alt=""/></a>';
    			//var imgCode = '<a href="" class="ico'+suff+'" onclick="Icon.removeStatusIcon('+i+');return false;"><img src="'+this.Icons.all[this.userStatus[i]].url+'" alt=""/></a>';
    			//var imgCode = "<a href='' onclick='Icon.removeStatusIcon("+i+");return false;'><img src='"+this.Icons.all[this.userStatus[i]].url+"'/></a>";
    		}
    		else
    			var imgCode = '<div class="icoPos'+suff+'"><img src="/img/icoPlace.gif" alt="" /></div>';
    		html += ''+imgCode+'';
    	}
    	
    	/*if(this.userStatus[i])
    			html += "<td><a href='' onclick='Icon.removeStatusIcon("+i+");return false;'><img src='"+this.Icons.all[this.userStatus[i]].url+"'/></a></td>";
    		else
    			html += "<td id='space_"+i+"'>&nbsp;</td>";*/
    	$("#"+container).html(html);
    },
    
    updateUserStatusField : function(idField,checkPermissions)
    {
    	if(!this.userStatus.length)
    	{
    		alert("Non hai selezionato nessuna icona");
    		return false;
    	}
    	var jsonStatus = "["+this.userStatus.join(",")+"]";
    	$("#jsonUserStatus").val(jsonStatus);
    	if(checkPermissions && !$("#checkFB").hasClass('checked'))
    	{
    		switchFBFeedStatus($("#checkFB"),function(){$("#iconsForm").submit();});
    		return false;
    	}
    	else
    		return true;
    },
    
    fillLastUserStatus : function(container,filter,param,limit)
    {
    	if(!param)
    	{
    		$("#userPath").html("");
    	}
    	var url = "/index.php?fase=getHtmlLastUserStatus";
    	if(filter)
    		url += "&filter="+filter;
    	if(param)
    		url += "&param="+param;
    	if(limit)
    		url += "&limit="+limit;
     	$("#"+container).load(url);
    },
    
    updateStatusText : function()
    {
    	$('#text').val($('#textInput').val());
    },
    
    openSetsTab : function()
    {
    	switchTab(document.getElementById("tabSets"),"icons");
    	this.fillSetsForm();
    },
    
    openIconsTab : function(type)
    {
    	switchTab(document.getElementById("tabIcons"+type),"icons");
    	this.fillIcons("icons",type);
    }
}
