/**
 * @author Florian Zitzelsberger
 */

//Find the x-position of an element
function findPosX(obj)
{
	var curleft = 0;
	
	if(obj.offsetParent)
	{
	    while(1) 
	    {
	      curleft += obj.offsetLeft;
		  
	      if(!obj.offsetParent)
	        break;
			
	      obj = obj.offsetParent;
	    }
	}
	else if(obj.x)
	{
	    curleft += obj.x;
	}
	
	return curleft;
}

//Find the y-position of an element
function findPosY(obj)
{
	var curtop = 0;
	
	if(obj.offsetParent)
	{
	    while(1)
	    {
	      curtop += obj.offsetTop;
		  
	      if(!obj.offsetParent)
	        break;
			
	      obj = obj.offsetParent;
	    }
	}
	else if(obj.y)
	{
	    curtop += obj.y;
	}
	
	return curtop;
}

//Set a cookie
function setCookie( name, value, expires ) 
{
	var path = "/";
	var domain = "";
	var secure = "";
	
	var today = new Date();
	today.setTime( today.getTime() );
	
	if ( expires )
	{
		expires = expires * 1000 * 60 * 60 * 24;
	}
	
	var expires_date = new Date( today.getTime() + (expires) );
	
	document.cookie = name + "=" + escape( value ) +
		( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
		( ( path ) ? ";path=" + path : "" ) + 
		( ( domain ) ? ";domain=" + domain : "" ) +
		( ( secure ) ? ";secure" : "" );
}

//Get a cookie
function getCookie( name ) 
{
	var start = document.cookie.indexOf( name + "=" );
	var len = start + name.length + 1;
	
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) )
	{
		return null;
	}
	
	if ( start == -1 ) 
		return null;
		
	var end = document.cookie.indexOf( ";", len );
	
	if ( end == -1 ) 
		end = document.cookie.length;
		
	return unescape( document.cookie.substring( len, end ) );
}

//Delete a cookie
function deleteCookie( name ) 
{
	var path = "/";
	var domain = "";
	
	if ( Get_Cookie( name ) ) 
	{
		document.cookie = name + "=" +
			( ( path ) ? ";path=" + path : "") +
			( ( domain ) ? ";domain=" + domain : "" ) +
			";expires=Thu, 01-Jan-1970 00:00:01 GMT";
	}
}


//Show the info box
function showBox ( relative_to, text )
{
	var box = document.getElementById("menu_box");
	box.style.left = findPosX(relative_to.offsetParent);
	box.style.top = findPosY(relative_to) + 32;
	box.style.visibility = "visible";
	
	var box_title = document.getElementById("box_title");
	box_title.innerHTML = text;

}

//Hide the info box
function hideBox (  )
{
	var box = document.getElementById("menu_box");
	box.style.visibility = "hidden";

}


// Set a menu element highlit
function setHighlight ( id )
{
	var object = document.getElementById(id);
	object.className = 'menu_highlight menu_cell';
	
	switch ( id )
	{
		case "menu_news":
			showBox(object, "What's new around Irides?");
			break;
			
		case "menu_game":
			showBox(object, "Some information about Irides!");
			break;
			
		case "menu_buy":
			showBox(object, "Buy your copy of the game, today!");
			break;
			
		case "menu_team":
			showBox(object, "Get to know the development team behind Irides!");
			break;
			
		case "menu_board":
			showBox(object, "Get involved through our discussion boards!");
			break;
			
		case "menu_contact":
			showBox(object, "Want to get in touch? Here's your chance to do so.");
			break;

	}
	

}

//Reset a menu element
function setMenu ( id )
{
	var object = document.getElementById(id);
	object.className = 'menu_cell';
	
	hideBox();

}

//Set the correct theme
function setTheme ( theme )
{
	setCookie("theme", theme, 365);

}

//Apply the correct theme
function applyTheme ( )
{
	var file = getCookie("theme");
	if( file == null )
		file = "default.css";
		
	document.write("<link rel='stylesheet' href='" + file + "' type='text/css'>");

}

//Screen center a div
function screenCenter ( id )
{
	var object = document.getElementById(id);
	
	object.style.left 	= "50%";
	object.style.top 	= "50%";
	
	var objectleft = object.offsetLeft;
	object.style.left = objectleft - object.offsetWidth / 2;
	
	var objectright = object.offsetTop;
	object.style.top = objectright - object.offsetHeight / 2;
}

