var assetManager;
$(function()
    {
		/* Css Loader */
        if(typeof(document.createElement("div").style.MozBorderRadius) != "undefined")
        {
            $(document.createElement("link")).attr("href", "css/applets_FirefoxRoundedBorders.css").attr("type", "text/css").attr("rel", "stylesheet").appendTo("head");
        }
        else if (typeof(document.createElement("div").style.WebkitBorderRadius) != "undefined")
        {
            $(document.createElement("link")).attr("href", "css/applets_WebkitRoundedBorders.css").attr("type", "text/css").attr("rel", "stylesheet").appendTo("head");
        }
        else if (typeof(document.createElement("div").style.borderRadius) != "undefined")
        {
            $(document.createElement("link")).attr("href", "css/applets_roundedBorders.css").attr("type", "text/css").attr("rel", "stylesheet").appendTo("head");
        }
        var test = $(document.createElement("div")).addClass("applet");

		if(typeof(test.css("background-color")) == "undefined")
		{
			var style = document.createElement("link");
			style.setAttribute("href", "css/applets_NoTransparency.css");
			style.setAttribute("type", "text/css");
			style.setAttribute("rel", "stylesheet");
			document.getElementsByTagName("head")[0].appendChild(style);
		}        
    
		var isCtrl = false;
		$(document).keyup(
			function (e)
			{
				if(e.which == 17) isCtrl=false;
			}
			).keydown(function (e)
			{
				/*if(e.which == 17) {isCtrl=true;}
				else if(e.which == 49 && isCtrl == true)
				{
					createApplet("Forum");
				}
				else if(e.which == 50 && isCtrl == true)
				{
					createApplet("ViewPlayers");
				}
				else if(e.which == 50 && isCtrl == true)
				{
					createApplet("Government");
				}
				else if(e.which == 52 && isCtrl == true)
				{
					createApplet("Construction");
				}
				else if(e.which == 53 && isCtrl == true)
				{
					createApplet("Training");
				}
				else*/ if(e.which == 27)
				{
					$(appletSelected).find(".appletTitleClose").click();
				}
			}
			);
       
		$.ajaxSetup({ cache: true });
        //createApplet("Background");
		createApplet("Features");
		createApplet("News");
		createApplet("Login");
		assetManager = new AssetManager();
    }
);

var globals = [];

globals['moneyImage'] = function()
{
	return $(document.createElement("img")).attr("src", "images/money.png").attr("alt", "Money ").css("width", "19px").css("height", "15px").attr("title", "Money").addClass("moneyPic");
};

globals['popImage'] = function()
{
	return $(document.createElement("img")).attr("src", "images/pop.png").attr("alt", "Population ").css("width", "16px").css("height", "16px").attr("title", "Population").addClass("popPic");
};

globals['powerImage'] = function()
{
	return $(document.createElement("img")).attr("src", "images/power.png").attr("alt", "Power ").css("width", "12px").css("height", "15px").attr("title", "Power").addClass("powerPic");
};

globals['timeImage'] = function()
{
	return $(document.createElement("img")).attr("src", "images/time.png").attr("alt", "Time ").css("width", "16px").css("height", "16px").attr("title", "Time").addClass("timePic");
};

globals['timeFormat'] = function(time)
{
	function roundToZero(x)
	{
		if(x < 0) return Math.ceil(x)
		else return Math.floor(x)
	}
	
	var dur= Array();
	dur[0] = Math.abs(time % 60); // seconds
	dur[1] = Math.abs(roundToZero(time / 60) % 60); // minutes
	dur[2] = Math.abs(roundToZero(time / 3600) % 24); // hours
	dur[3] = Math.abs(roundToZero(time / 86400) % 7); //days
	dur[4] = Math.abs(roundToZero((time / 86400) / 7)); // weeks
	
	function neg(str)
	{
		if(time < 0)
		{
			str += " ago"
		}
		return str
	}
	
	var out = '';
	if( dur[4] != 0 )
	{
			if (dur[4] == 1)
					out += '1 week, ';
			else
					out += dur[4] + ' weeks, ';
			if( dur[3] == 1 )
					out += dur[3] + ' day';
			else
					out += dur[3] + ' days';
			return neg(out);
	}
	if(dur[3] != 0 ) {
			if( dur[3] == 1 )
					out += dur[3] + ' day, ';
			else
					out += dur[3] + ' days, ';
			if( dur[2] == 1 )
					out += dur[2] + ' hour';
			else
					out += dur[2] + ' hours';
			return neg(out);
	}
	if(dur[2] != 0 ) {
			if( dur[2] == 1 )
					out += dur[2] + ' hr, ';
			else
					out += dur[2] + ' hr, ';
			if( dur[1] == 1 )
					out += dur[1] + ' min';
			else
					out += dur[1] + ' min';
			return neg(out);
	}
	if(dur[1] != 0 ) {
			if( dur[1] == 1 )
					out += dur[1] + ' minute, ';
			else
					out += dur[1] + ' mins, ';
			if( dur[0] == 1 )
					out += dur[0] + ' second';
			else
					out += dur[0] + ' secs';
			return neg(out);
	}
	if(dur[0] != 0 ) {
			if( dur[0] == 1 )
					out += dur[0] + ' second';
			else
					out += dur[0] + ' seconds';
			return neg(out);
	}
	return '';
}
function login()
{
	i=0;
	len = applets.length;
	while(i < len)
	{
		if(applets[i].name == "Background" || applets[i].name == "Features" || applets[i].name == "News")
		{
			kill(applets[i]);
		}
		i++;
	}
	
    loadApplets();
	$(window).unload(function()
		{
			saveApplets();
			if(autologin)
			{
				if(autologin.a)
				{
					document.cookie = "autologinA="+autologin.a+"; expires=Fri, 1 Jan 2020 00:00:00 UTC; path=/";
					document.cookie = "autologinB="+autologin.b+"; expires=Fri, 1 Jan 2020 00:00:00 UTC; path=/";
				}
			}
			else
			{
				document.cookie = "autologinA=1; expires=Fri, 1 Jan 1970 00:00:00 UTC; path=/";
				document.cookie = "autologinB=1; expires=Fri, 1 Jan 1970 00:00:00 UTC; path=/";
			}
		});
    $("#topRight").fadeIn();
	$("#user").text("Username: "+globals['username']+" ");
	$("#profile").click(function(){
		createApplet("Profile");
		return false;
	});
	$("#tutorial").click(function(){
		createApplet("Tutorial");
		return false;
	});
	$("#logout").click(function(){
		autologin = false;
		window.location = "assets/processes/logout.php";
		return false;
	});
	
	if($("#donation").children(".ticker").length > 1)
	{
		var lastTickerDisplay = 0;
		
		setInterval(function()
			{
				var newDisplay = 0;
				while (newDisplay === lastTickerDisplay)
				{
					newDisplay = Math.floor(Math.random() * $("#donation").children(".ticker").length);
				}
				var once = false;
				$("#donation").children(".ticker").fadeOut(1000);
				setTimeout(function(){$("#donation").children(".ticker:eq(" +  newDisplay + ")").fadeIn(1000);}, 3000)
				lastTickerDisplay = newDisplay;
			}, 15000)
	}
	
    $("#top").animate({"top":"0px"})
    $("#notifications").fadeIn().animate({"left":"0px"});
	$.post("assets/showingAds.php", null, function(data)
		{
			if(data=="1")
			{
				$("#ad").fadeIn().animate({"right":"0px"});
			}
		});
	
    createApplet("NotificationsNew");
    createApplet("Resources");
    createApplet("Animation");
    showMenu();
	
}

function showMenu()
{
    $("#menu").empty();
    $(document.createElement("div")).text("Forum").addClass("menuElement").appendTo("#menu").click(function(){createApplet("Forum")});
    //$(document.createElement("div")).addClass("menuElement").addClass("menuSeparator").appendTo("#menu");
    $(document.createElement("div")).text("Players").addClass("menuElement").appendTo("#menu").click(function(){createApplet("ViewPlayers")});
    //$(document.createElement("div")).addClass("menuElement").addClass("menuSeparator").appendTo("#menu");
    $(document.createElement("div")).text("Government").addClass("menuElement").appendTo("#menu").click(function(){createApplet("Government")});
	//$(document.createElement("div")).addClass("menuElement").addClass("menuSeparator").appendTo("#menu");
    $(document.createElement("div")).text("Construction").addClass("menuElement").appendTo("#menu").click(function(){createApplet("Construction")});
    //$(document.createElement("div")).addClass("menuElement").addClass("menuSeparator").appendTo("#menu");
    $(document.createElement("div")).text("Training").addClass("menuElement").appendTo("#menu").click(function(){createApplet("Training")});
    //$(document.createElement("div")).addClass("menuElement").addClass("menuSeparator").appendTo("#menu");
    //$(document.createElement("div")).text("Test").addClass("menuElement").appendTo("#menu").click(function(){createApplet("ViewPlayersNew")});
	
    $("#menu").children(":first").addClass("menuElementFirst");
    $("#menu").children(":last").addClass("menuElementLast");
}

globals['richText'] = function(text)
{
	var div = Div().text(text);
	
	div.html( div.html()
				.replace(/\[b\](.*?)\[\/b\]/g, "<b>$1<\/b>")
				.replace(/\[i\](.*?)\[\/i\]/g, "<i>$1<\/i>")
				.replace(/\[u\](.*?)\[\/u\]/g, "<u>$1<\/u>")
				.replace(/\[img\](.*?)\[\/img\]/g, '<img src="$1" alt="$1" class="richImage"/>')
				.replace(/\[url=(\S+)\](.*?)\[\/url\]/g, '<a href="$1" target="_blank">$2</a>')
				.replace(/\n/g, "<br />")
				.replace(/:\|/g, '<img src="images/emotes/face-plain.png" alt="&#58;| Plain"/>')
				.replace(/:p/gi, '<img src="images/emotes/face-raspberry.png" alt="&#58;P Raspberry"/>')
				.replace(/:d/g, '<img src="images/emotes/face-raspberry.png" alt="&#58;d Raspberry"/>')
				.replace(/:D/g, '<img src="images/emotes/face-smile-big.png" alt="&#58;D Big Smile"/>')
				.replace(/D:/g, '<img src="images/emotes/face-sad.png" alt="D&#58; Sad"/>')
				.replace(/:\\/g, '<img src="images/emotes/face-uncertain.png" alt="&#58;\\ Uncertain"/>')
				.replace(/;'\(/g, '<img src="images/emotes/face-crying.png" alt="&#59;\'( Crying"/>')
				.replace(/:'\(/g, '<img src="images/emotes/face-crying.png" alt="&#58;\'( Crying"/>')
				.replace(/:-\*/g, '<img src="images/emotes/face-kiss.png" alt="&#58;-* Kiss"/>')
				.replace(/&gt;:\(/g, '<img src="images/emotes/face-angry.png" alt=">&#58;( Angry"/>')
				.replace(/&gt;\(/g, '<img src="images/emotes/face-angry.png" alt=">( Angry"/>')
				.replace(/:o/gi, '<img src="images/emotes/face-surprise.png" alt="&#58;O Surprise"/>')
				.replace(/;\)/g, '<img src="images/emotes/face-wink.png" alt="&#59;) Wink"/>')
				.replace(/:s/gi, '<img src="images/emotes/face-worried.png" alt="&#58;S Worried"/>')
				.replace(/:\)/g, '<img src="images/emotes/face-smile.png" alt="&#58;) Smile" />')
				.replace(/:\(/g, '<img src="images/emotes/face-sad.png" alt="&#58;( Sad"/>')
		);
	
	return div;
}

function toInt(value)
{
	if(value == "" || value == null)
	{
		value = 0;
	}
	else
	{
		return Math.round(parseFloat(value));
	}
	return value;
}

function logout()
{
    $("#top").animate({"top":"-54px"})
    $("#notifications").fadeOut().animate({"left":"-36px"});
    cookies['autologinA'] = null;
    saveApplets();
    var i = applets.length;
    while(i--)
    {
	kill(applets[i]);
    }
    delete(assetManager);
    
    createApplet("Login");
}
