jQuery.fn.favoritos=function(options)
	{
	var settings=$.extend(
		{
		siteId:0,bgimage:"img/rs.png",width:105,height:20,stepX:21,stepY:20,gameId:0,page:1,gameTitle:"",starsCount:5,rating:0,readOnly:false,cookieLifetime:365,cookiePath:"/",labelplace:"bottom",attachTails:false,username:"",hash:"",order:0,pagesize:1,pagenr:1,outputtype:"xml",timeout:10000,labels:true,langstrings:
			{
		}
		,rtl:false
	}
	,options);
	settings.langstrings=$.extend(
		{
		game_add: "A&ntilde;adir a mis juegos",game_added:"A&ntilde;adido a mis juegos",thank_you:"Thank you",rating:"Rating",label_processing:"",label_default:"",star:["It's awful","Don't like it","It's OK?","Good game","One of the best"]
	}
	,options.langstrings);
	var layer_id="";
	var cName="__favoritos";
	var savedRating=0;
	var rating=Math.ceil(parseInt(settings.rating));
	var startPos=parseInt(settings.stepY*rating)*(-1);
	var cookieData=[];
	var cookie=null;
	var handleError=function()
		{
		logRating=parseInt(this.rating)*2;
		$.post("/logs/ajaxLog",
			{
			"filename":"rating","message":"rating: "+logRating+", gid: "+settings.gameId
		}
		);
		handleVote()
	};
	var initCookieData=function()
		{
		cookie=$.cookie(cName)||null;
		if(cookie!=null)
			{
			cookieData=cookie.split(".")
		}
	};
	var notSaved=function(id)
		{
		initCookieData();
		for(i=0;
		i<cookieData.length;
		i++)
			{
			if(parseInt(cookieData[i])==id)
				{
				//savedRating=parseInt(temp[1]);
				return false
			}
		}
		return true
	};
	var canSaveCookie=function(data)
		{
		initCookieData();
		return(cookie==null||notSaved(data.gameId))?true:false
	};
	var saveCookie=function(data)
		{
		initCookieData();
		
		
		
		if(cookie==null||notSaved(data.gameId))
			{
			
			cookieData.push(data.gameId+":"+data.gameTitle);
			$.cookie(cName,cookieData.join("."),
				{
				expires:settings.cookieLifetime,path:settings.cookiePath
			}
			);
			
			showVoted();
			
			return true
		}
		return false
	};


var eliminar=function(id){
	
pos = buscar(cookieData,id);

temp = cookieData[pos].split(":");


res = confirm("Estas seguro que queres borrar este juego "+temp[1]+"?");

if(res){




if(pos != -1){

cookieData.splice(pos,1);

$("li#"+id).unbind().remove();


$.cookie(cName,cookieData.join("."),
		{
		expires:settings.cookieLifetime,path:settings.cookiePath
	}
	);


}

}

};


var buscar=function(array,dato){

pos=-1;
i=0;


if(array != undefined)

while(array.length>i && pos==-1){

temp = array[i].split(":");
if(temp[0] == dato)
pos=i;

i++;

}

return pos;

};


	var handleVote=function(data,mesg)
		{
		$("li",$("div#"+layer_id)).unbind().parent().css("cursor","default");
		saveCookie(
			{
			gameId:settings.gameId,rating:this.rating
		}
		);
		showVoted(parseInt(this.rating))
	};
	function str_repeat(i,m)
		{
		for(var o=[];
		m>0;
		o[--m]=i)
			{
		}
		return(o.join(""))
	}
	var showLabel=function(rating)
		{
		if(settings.labels===true)
			{
			$("div#nlabel_"+layer_id).html(eval("settings.langstrings.label_"+rating))
		}
	};
	var hideLabel=function(rating)
		{
		if(settings.labels===true)
			{
			$("div#nlabel_"+layer_id).html(settings.langstrings.label_default)
		}
	};
	var showBeforeSendLabel=function()
		{
	};
	var showVoted=function(rating)
		{
		
		if(settings.labels===true&&settings.readOnly===false)
		
		$("div#"+layer_id+" span").html(settings.langstrings.game_added);
		
		
		
		/*
		if(settings.labels===true&&settings.readOnly===false)
		
		{
			$("div#nlabel_"+layer_id).html(settings.langstrings.thank_you)
		}
		*/
		
	};
	var postRating=function(rating)
		{
				
		if(canSaveCookie({gameId:settings.gameId,rating:rating})==true)
			{
			
			
			$.ajax(
				{
				type:"POST",url:"rating.php",data:
					{
					id:settings.gameId,rating:parseInt(rating*2)
				}
				,success:handleVote,error:handleError,dataType:"xml",timeout:settings.timeout,async:true,cache:false,global:false,beforeSend:showBeforeSendLabel,rating:rating,gameId:settings.gameId
			}
			)
		}
	};
	initCookieData();
	return this.each(function()
		{
		
		var me=$(this);
		layer_id=$(me).attr("id");
		
		
		if(settings.gameId==0){
		
		var campos = new Array();
		
		for(i=0;i<cookieData.length;i++){
		temp = cookieData[i].split(":");
		campos[i]=temp[0];
		}
		
		

		// Cargo juegos
		$.getJSON("cargar_juegos.php","juegos="+campos+"&pagina="+settings.page, function(data){
		
		for(i=0;i<data.juegos.length;i++){
		
		$("div#"+layer_id).append("<li id=\""+data.juegos[i].id+"\" class=\"juego\"><a href=\"#\" class=\"eliminar\">X</a><a href=\"juegos/"+data.juegos[i].url+"/\"><img src=\"http://imagen.nenajuegos.com/"+data.juegos[i].imagen+"\">"+data.juegos[i].titulo+"<span style=\"display:none;\" class=\"tooltip\"><div class=\"header\"><b>"+data.juegos[i].titulo+"</b></div><div class=\"content\">"+data.juegos[i].descripcion+"<br /><br />Puntuaci&oacute;n: <img src=\"img/1x1.gif\" style=\"overflow: hidden;width: 73px;height: 14px;background-image: url(img/rss1.png);background-repeat: no-repeat;background-position: 0 -"+data.juegos[i].alto+"px;border:0px;padding:0px;\"></div></span></a></li>");
		
		$("div#"+layer_id+" li#"+data.juegos[i].id+" a.eliminar").click(function(){
		eliminar($(this).parent().attr("id"));
		return false;
		});
		}

		$('li.juego').tooltip({ 
		    delay: 0, 
		    showURL: false, 
		    track:true,
		    top: 10,
		    left: 20,
		    bodyHandler: function() {
		    contenido = $(this).find("span").html();
		    return $("#tooltip1").html(contenido);
		    }
		});
		
		enlaces="<img src=\"img/1x1.gif\" width=\"500\" height=\"10\"><div id=\"indice\">";
		url="mis-juegos/";

		
		// Si esta pgina es < $total_paginas, mostrar enlace de "siguiente"
		if (settings.page > 1) {
		sig=settings.page-1;
		enlaces+="<li><a href=\""+url+sig+"\">< Anterior</a></li>";
		}
		
		
		inicio_pag = (settings.page <= 5) ? 1 : settings.page - 5;

		fin_pag = (data.total_paginas <= 10 || data.total_paginas < settings.page + 5) ? data.total_paginas : ((settings.page <= 5) ? 10 : settings.page + 5);


		for (i=inicio_pag;i<=fin_pag;i++) {

		if (settings.page == i){
		enlaces+="<li class=\"actual\"><strong>"+settings.page+"</strong></li>";

		}else{
		enlaces+="<li><a href=\""+url+i+"\">"+i+"</a></li>";
		    
		}     
		}



		// Si esta pgina es < $total_paginas, mostrar enlace de "siguiente"
		if (settings.page < data.total_paginas) {
		sig=settings.page+1;
		enlaces+="<li><a href=\""+url+sig+"\">Siguiente ></a></li>";
		}
		
		enlaces+="</div>";
		
		$("div#"+layer_id).append(enlaces);
		
		});
		
		}else{
		
		
		if(notSaved(settings.gameId)===false){
		settings.readOnly=true;
		
		texto=settings.langstrings.game_added;
		
		}else{
		
		texto=settings.langstrings.game_add;
		
		}
		
		
		$(this).append("<a href=\"#\"><b></b><span>"+texto+"</span></a>");
		
		if(settings.readOnly)
		$("b",this).css("background-position","0 -24px");
		
		
		$("a",this).click(function(){
		
		saveCookie({gameId:settings.gameId,gameTitle:settings.gameTitle});
		
		return false;
		
		});
		
		
		
		if(settings.readOnly===true){
		
		$("a",this).css({
			cursor:"default"
		});
		
		}
		
		}
		
	}
	)
};
jQuery.cookie=function(b,j,m)
	{
	if(typeof j!="undefined")
		{
		m=m||
			{
		};
		if(j===null)
			{
			j="";
			m.expires=-1
		}
		var e="";
		if(m.expires&&(typeof m.expires=="number"||m.expires.toUTCString))
			{
			var f;
			if(typeof m.expires=="number")
				{
				f=new Date();
				f.setTime(f.getTime()+(m.expires*24*60*60*1000))
			}
			else
				{
				f=m.expires
			}
			e=";expires="+f.toUTCString();
		}
		var l=m.path?";path="+(m.path):"";
		var g=m.domain?";domain="+(m.domain):"";
		var a=m.secure?";secure":"";
		document.cookie=[b,"=",encodeURIComponent(j),e,l,g,a].join("")
	}
	else
		{
		var d=null;
		if(document.cookie&&document.cookie!="")
			{
			var k=document.cookie.split(";");
			for(var h=0;
			h<k.length;
			h++)
				{
				var c=jQuery.trim(k[h]);
				if(c.substring(0,b.length+1)==(b+"="))
					{
					d=decodeURIComponent(c.substring(b.length+1));
					break
				}
			}
		}
		return d
	}
};
