var UNITY = {};
UNITY.currentpage = 'recent';
UNITY.images = '';

UNITY.init = function (page, title) {
	UNITY.loadScripts();
    UNITY.getContent(page, title);
	UNITY.loadMenu();
};

UNITY.loadMenu = function ()
{
    var req = UNITY.requester();
    if (!req)
    {
        alert("An error occurred!");
    }
    else
    {
        if (req.readyState === 4 || req.readyState === 0)
        {
            var url = "getMenu.php?selected=" + UNITY.currentpage;
            req.open("GET", url, true);
            req.onreadystatechange = function ()
            {
                if (req.readyState === 4)
                {
                    if (req.status === 200)
                    {
						document.getElementById("topMenu").innerHTML = req.responseText;
                    }
                    else
                    {
                        alert("An error occurred with the contact to the server: " + req.statusText);
                    }
                }
            };
            req.send(null);
        }
    }
};

UNITY.requester = function () {
    var xmlHttp = null;
    try {
        xmlHttp = new XMLHttpRequest();
    }
    catch (e) {
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (ee) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
};

UNITY.getContent = function (page, title)
{
    var req = UNITY.requester();
    if (!req)
    {
        alert("An error occurred!");
    }
    else
    {
        if (req.readyState === 4 || req.readyState === 0)
        {
            var url = "requesthandler.php";
            url = url + "?page=" + page;
            req.open("GET", url, true);
            req.onreadystatechange = function ()
            {
                if (req.readyState === 4)
                {
                    if (req.status === 200)
                    {
                        document.getElementById("contentHolder").innerHTML = req.responseText;
				        document.title = "Unity Studios | " + title;
			    	    UNITY.currentpage = page;
						UNITY.loadMenu();
                    }
                    else
                    {
                        alert("An error occurred with the contact to the server: " + req.statusText);
                    }
                }
            };
            req.send(null);
        }
    }
};

UNITY.loadScripts = function()
{
	var req = UNITY.requester();
	if (!req)
	{
		alert("An error occurred!");
	}
	else
	{
		if (req.readyState === 4 || req.readyState === 0)
		{
			var url = "loadScripts.php";
			req.open("GET", url, true);
			req.onreadystatechange = function ()
			{
				if (req.readyState === 4)
				{
					if (req.status === 200)
					{
						var filelist = req.responseText;
						if(filelist != "")
						{
							var files = filelist.split("|");
							for(var i = 0; i < files.length; i++)
							{
								if(files[i] != "")
								{
									var headID = document.getElementsByTagName("head")[0];         
									var newScript = document.createElement('script');
									newScript.type = 'text/javascript';
									newScript.src = files[i];
									headID.appendChild(newScript);
								}
							}
						}
					}
					else
					{
						alert("An error occurred with the contact to the server: " + req.statusText);
					}
				}
			};
			req.send(null);
		}
	}
	return 1;
};

UNITY.showImage = function(id)
{
	var req = UNITY.requester();
	if (!req)
	{
		alert("An error occurred!");
	}
	else
	{
		if (req.readyState === 4 || req.readyState === 0)
		{
			var url = "getImage.php?article="+id;
			req.open("GET", url, true);
			req.onreadystatechange = function ()
			{
				if (req.readyState === 4)
				{
					if (req.status === 200)
					{
						var index = req.responseText.indexOf("|");
						var width = parseInt(req.responseText.substr(0, index));
						UNITY.adjustImage(width);
;						document.getElementById("popContentID").innerHTML = req.responseText.substr(index+1);
//						document.getElementById("frontPanel").style.width = document.getElementById("theImage").style.width;
					}
					else
					{
						alert("An error occurred with the contact to the server: " + req.statusText);
					}
				}
			};
			req.send(null);
		}
	}
};

UNITY.adjustImage = function(width)
{
	var newWidth = width+80;
	if(newWidth > 1500)
		newWidth = 1500;
	var newMargin = (newWidth / 2) * -1;
	document.getElementById("frontPanel").style.width = ""+newWidth+"px";
	document.getElementById("popContentID").style.width = ""+(newWidth-80)+"px";
	document.getElementById("frontPanel").style.marginLeft = ""+newMargin+"px";
	document.getElementById('frontPanel').style.display = "block";
};

UNITY.hideImage = function()
{
	UNITY.images = '';
	document.getElementById('frontPanel').style.display = "none";
	document.getElementById("popContentID").innerHTML = "";
};
