Effect.BlindUpFromRight = function(element) {
  element = $(element);
  element.makeClipping();
  return new Effect.Scale(element, 0,
    Object.extend({ scaleContent: false,
      scaleY: false,
      restoreAfterFinish: false,
      afterFinishInternal: function(effect) {
        //effect.element.hide();
        element.style.width = "20px";
        document.getElementById('list').style.display = "none";
        effect.element.undoClipping();
      }
    }, arguments[1] || {})
  );
}

Effect.BlindDownFromRight = function(element) {
  element = $(element);
  var elementDimensions = element.getDimensions();
  return new Effect.Scale(element, 100, Object.extend({
    scaleContent: false,
    scaleY: false,
    scaleFrom: 0,
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: elementDimensions.width},
    restoreAfterFinish: true,
    afterSetup: function(effect) {
      effect.element.makeClipping();
      effect.element.setStyle({width: '0px'});
      effect.element.show();
    },
    afterFinishInternal: function(effect) {
      effect.element.undoClipping();
    }
  }, arguments[1] || {}));
}

//get the favorites
document.getElementById('favo_container').style.display = "block";
//document.getElementById('logo_sp').style.display = "none";
open_image();
if(readCookie("favo_games_window") == "visible")
{
	document.getElementById('favo_container').style.width = "170px";
	document.getElementById('list').style.display = "block";
	//document.getElementById('logo_sp').style.display = "block";
	document.getElementById('balloon_tooltip').style.display = "block";
	close_image();
} else {
	try{document.getElementById('favo_container_ad').style.display = "none";}catch(e){}
}

function open_image()
{
	document.getElementById('menu_link').onclick = function() {show_game_window();track_window_open();};
	document.getElementById('menu_img').src = "http://pimg.brincar.pt/n/img/open_menu.gif";
	recalculate_hight();
}

function close_image()
{
	document.getElementById('menu_link').onclick = function() {hide_game_window();track_window_close();};
	document.getElementById('menu_img').src = "http://pimg.brincar.pt/n/img/close_menu.gif";
	recalculate_hight();
}

function track_window_open()
{
	try{javascript:pageTracker._trackEvent('Gamepage Buttons', 'Favoriete spelletjes', 'uitklap');}catch(e){}
}

function track_window_close()
{
	try{javascript:pageTracker._trackEvent('Gamepage Buttons', 'Favoriete spelletjes', 'inklap');}catch(e){}
}

function show_game_window()
{
	//if ((screen.width==1024) && (screen.height==768))
	//{
	//	document.body.style.textAlign = "left";
	//	document.getElementById('bodyDiv').style.marginLeft = "0";
	//}
	document.getElementById('favo_container').style.width = "170px";
	document.getElementById('favo_container').style.display = "none";
	document.getElementById('list').style.display = "block";
	Effect.BlindDownFromRight( 'favo_container', { duration:1, scaleX: true, scaleY: false});
	createCookie("favo_games_window","visible",365);
	window.setTimeout('hide_hidden_game();',1000);
	try{document.getElementById('favo_container_ad').style.display = "block";}catch(e){}
}

function hide_game_window()
{
	//if ((screen.width>=1024) && (screen.height>=768))
	//{
	//	document.body.style.textAlign = "center";
	//	document.getElementById('bodyDiv').style.marginLeft = "auto";
	//}
	//document.getElementById('logo_sp').style.display = "none";
	document.getElementById('balloon_tooltip').style.display = "none";
	document.getElementById('favo_container').style.width = "170px";
	new Effect.BlindUpFromRight( 'favo_container', { duration:1, scaleX: true, scaleY: false});
	createCookie("favo_games_window","hidden",365);
	window.setTimeout('show_hidden_game();',1000);
	document.getElementById('favo_container_ad').style.display = "none";
}

function show_hidden_game()
{
	document.getElementById('list').style.display = "none";
	open_image();
}

function hide_hidden_game()
{
	document.getElementById('list').style.display = "block";
	document.getElementById('balloon_tooltip').style.display = "block";
	//document.getElementById('logo_sp').style.display = "block";
	close_image();
}

var game_added = false;
var already_added = false;

function load_games()
{
	game_values = readCookie("favo_games");
	if(game_values)
	{
		arr_game_values = game_values.split("|");
		for(var i = 0; i < arr_game_values.length ; i++)
		{
			arr_game_value = arr_game_values[i].split("#");
			game_naam[i+2] = arr_game_value[0];
			game_url[i+2] = arr_game_value[1];

			if(arr_game_value[0] != "undefined")
			{
				var li = document.createElement("li");
				li.setAttribute("id","item_"+(i+2));
				temp_li = document.getElementById('list').appendChild(li);
				temp_li.innerHTML = '<a href="javascript:;" onclick="remove_game(\'item_'+(i+2)+'\');"><img border="0" src="http://pimg.brincar.pt/n/img/delete.gif" /></a> <a href="'+arr_game_value[1]+'">'+arr_game_value[0]+'</a>';

				//if duplicate found
				if(game_url[1] == arr_game_value[1])
				{
					rEs(document.getElementById('item_1'));
					already_added = true;
					game_added = true;
				}
				else
				{
					try	{if(arr_game_values.length > 10){remove_game('item_1');}}
					catch(e){}
				}
			}
		}
	}
}

function rEs(tO) { var i, n; if (!tO) { return false; }
  if (!tO.nodeName) { if (tO.length) for (n=tO.length; n--;) rEs(tO[n]); }
  else tO.parentNode.removeChild(tO);
}

function recalculate_hight()
{
	pixels = document.getElementById("list").scrollHeight+20
	document.getElementById('favo_container_content').style.height = pixels+"px";
	//if((pixels-8)<38){try{if(ie7_enabled){document.getElementById('logo_sp').style.top = "22px";}else{document.getElementById('logo_sp').style.top = "38px";}}catch(e){}}
	//else{document.getElementById('logo_sp').style.top = (pixels-8)+"px";}
	if(pixels>20){createCookie("favo_games_window_px",pixels,365);}
	windowHeight = readCookie("favo_games_window_px");
	if(windowHeight>20){document.getElementById('favo_container_content').style.height = windowHeight+"px";}
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}

function disableSelection(target){
if (typeof target.onselectstart!="undefined") //IE route
	target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
	target.style.MozUserSelect="none"
else //All other route (ie: Opera)
	target.onmousedown=function(){return false}
target.style.cursor = "default"
}

function pushUpdate(listItems)
{
	listItems = ","+listItems;
	arr_listItems = listItems.split(",");
	game_values = "";
	for(var i = 1; i < arr_listItems.length ; i++)
	{
		if((game_url[1] == game_url[arr_listItems[i]]) && (game_added != true)){}
		else
		{
			if(game_naam[arr_listItems[i]] != undefined)
			{
				game_values = game_values+game_naam[arr_listItems[i]]+"#"+game_url[arr_listItems[i]]+"|";
			}
		}
	}
	createCookie("favo_games",game_values.substr(0,game_values.length-1),365);
	recalculate_hight();
}

function add_game()
{
	game_added = true;
	pushUpdate(Sortable.sequence("list"));
	document.getElementById("item_1").innerHTML = '<a href="javascript:;" onclick="remove_game(\'item_1\');"><img border="0" src="http://pimg.brincar.pt/n/img/delete.gif" /></a> <a href="'+game_url[1]+'">'+game_naam[1]+'</a>';
	try{javascript:pageTracker._trackEvent('Gamepage Buttons', 'Favoriete spelletjes', 'toevoegen');}catch(e){}
}

function remove_game(item)
{
	rEs(document.getElementById(item));
	pushUpdate(Sortable.sequence("list"));
	try{javascript:pageTracker._trackEvent('Gamepage Buttons', 'Favoriete spelletjes', 'verwijderen');}catch(e){}
}

function expand_favo_games()
{
	newWidth = ((document.getElementById('theGame').width-770)/2)+775;
	document.getElementById("favo_container").style.marginLeft = newWidth+"px";
}

function close_favo_games()
{
	document.getElementById("favo_container").style.marginLeft = "770px";
}

if ((screen.width>=1024) && (screen.height>=768))
{
	load_games();
	recalculate_hight();
	disableSelection(document.getElementById("list"))
	//create the list
	Sortable.create("list", {onUpdate:function(){pushUpdate(Sortable.sequence("list"));}})
	if ((screen.width!=1024) && (screen.height!=768))
	{
		if(!readCookie("favo_games_window")){show_game_window();document.getElementById('favo_container_content').style.height = "46px";}
	}
}
else
{
		document.getElementById("favo_container").style.display = "none";
		try{document.getElementById('favo_container_ad').style.display = "none";}catch(e){}
}