
window.onload = function(){
	Page.initialize();
	Behaviour.register(Page.Rules);
	Behaviour.apply();
}

var Page = 
{
	EMPTY : "",
	openAsset : -1,
	openProject : -1,
	initialize : function()
	{
		//Page.randomBackgroundColor();
	},
	toggleProject : function (id)
	{
		//alert(id);
		if(Page.openProject == id){
			//alert("a project is open");
			//alert($('content_'+id).innerHTML);
			
			Page.toggleDisplay(Page.openAsset);
			$('content_'+id).innerHTML = Page.EMPTY;
			Page.openAsset = -1;
			Page.openProject = -1;
		}else{
			Page.getProject(id);
			
			if(Page.openProject != -1){
				$('content_'+ Page.openProject).innerHTML = Page.EMPTY;
			}
			
			Page.openAsset = -1;
			Page.openProject = id;
		}
	},
	toggleDisplay : function (id)
	{
		if(Page.openAsset == id){
			Page.openAsset = -1;
			var displays = document.getElementsByClassName('display');
			displays.each(
				function(unit){
					unit.style.display = 'none';
				}
			);
		}else{
			var displays = document.getElementsByClassName('display');
			displays.each(
				function(unit){
					unit.style.display = 'none';
				}
			);
			Page.hideProjectDescription();

			Page.openAsset = id;
			$('display_' + id).style.display = '';
		}
	},
	toggleProjectDescription : function ()
	{
		var textToggles = document.getElementsByClassName('textToggle');
		
		textToggles.each(
			function(unit){
				var textToggle = unit.getElementsByTagName('span')[0];
				var text = unit.parentNode.getElementsByClassName('text')[0];
				
				if(textToggle.innerHTML == '&gt;Text'){
					textToggle.innerHTML = '&gt;Text weg';
					
					text.style.display = '';
				}else{
					textToggle.innerHTML = '&gt;Text';
					text.style.display = 'none';
				}
			}
		);
	},
	hideProjectDescription : function ()
	{
		var textToggles = document.getElementsByClassName('textToggle');
		textToggles.each(
			function(unit){
				var textToggle = unit.getElementsByTagName('span')[0];
				var text = unit.parentNode.getElementsByClassName('text')[0];
				
				textToggle.innerHTML = '&gt;Text';
				text.style.display = 'none';
			}
		);
	},
	getProject : function (id)
	{
		var contentDiv = $(id).getElementsByClassName('content')[0];
		var ajax = new Ajax.Updater(
			contentDiv,
			'lib/getproject.php?project='+id,
			{
				method: 'GET',
				evalScripts : true,
				onComplete: function (req){
					contentDiv.style.display = 'inherit';
					Page.openProject = id;
				}
			}
		);
	},
	Rules : 
	{
		/*'.projectHeadline' : function(el)
		{
			el.onclick = function(){
				var projectId = this.parentNode.id;
				//Page.toggleProject(projectId);
			}
		},*/
		'.thumbnail' : function(el)
		{
			el.onclick = function(){
				var assetId = this.id.substr(3);
				Page.toggleDisplay(assetId);		
			}
		},
		'.textToggle' : function(el)
		{
			el.onclick = function(){
				Page.toggleProjectDescription();
			}
		}
	}
}