//Initialize EventManager object to control JS loading synchro
var oEventsManager = new EventsManager( {iDelayTimeOut: 30000} );

/**
 * Position the footer when content is not too long for current page
 */
var putFooterAtRealBottom = function()
{
	if( $('page') )
	{
		window.addEvents({
			"resize": function()
			{
				if($("page").getStyle("display") != "none")
				{
					var dim = $("page").getSize();
					var dimWindow = window.getSize();
					if(dim.y < dimWindow.y)
					{
						var header = $("header").getSize();
						var footer = $("footer").getSize();
						if($("flash_bg"))
							var pageHeight = dimWindow.y - header.y - $("footer").getStyle("margin-top").toInt() - footer.y - 1;
						else
							// 1px less for IE
							pageHeight = dimWindow.y - header.y - $$(".flash")[0].getSize().y - $("footer").getStyle("margin-top").toInt() - footer.y - 1;
						$$(".main")[0].setStyle("height",pageHeight);
					}
				}
			}
		});

		var dim = $("page").getSize();
		var dimWindow = window.getSize();
		if(dim.y < dimWindow.y)
		{
			var header = $("header").getSize();
			var footer = $("footer").getSize();
			if($("flash_bg"))
				var pageHeight = dimWindow.y - header.y - $("footer").getStyle("margin-top").toInt() - footer.y - 1;
			else
				pageHeight = dimWindow.y - header.y - $$(".flash")[0].getSize().y - $("footer").getStyle("margin-top").toInt() - footer.y - 1;
			$$(".main")[0].setStyle("height",pageHeight);
		}

		oEventsManager.fireEvent('nextStep');
	}
}

/**
 * Allow the menu to be shown at rollover
 */
var menuInteractivity = function()
{
	$$("div.menu>div").each(
		//For each menu item
		function( oMenu )
		{
			//Get current menu title and sub menu
			var oTitle = oMenu.getElement("a");
			var oSub = oMenu.getElement("ul");

			//If element exists
			if( $chk(oTitle) && $chk(oSub) )
			{
				//Title events
				oTitle.addEvents({
					"mouseenter": function()
					{
						//On Enter sub menu is unhidable
						bHidable = false;
						oSub.setStyle('display', 'block');
					}
				});

				oTitle.getParent().addEvents({
					'mouseleave': function()
					{
						//Hide Menu
						oSub.setStyle('display', 'none');
					}
				});
			}

			oMenu.addEvents({
				"mouseenter": function()
				{
					this.getParent().getPrevious().setStyle("visibility","hidden");
					if(this.getParent().getNext() && this.getParent().getNext().hasClass("separator"))
						this.getParent().getNext().setStyle("visibility","hidden");
				}
			});

			oMenu.addEvents({
				'mouseleave': function()
				{
					this.getPrevious().setStyle("visibility","visible");
					if(this.getNext() && this.getNext().hasClass("separator"))
						this.getNext().setStyle("visibility","visible");
				}
			});
		}
	);

	oEventsManager.fireEvent('nextStep');
}

/**
 * Allow lang switcher to select another language
 */
var langSwitcher = function()
{
	var oElement = $$('div.language>div>a')[0];
	var oMenu = $$('div.language>ul')[0];

	if( oElement && oMenu )
	{
		oElement.addEvents({
			'mouseenter': function()
			{
				oMenu.setStyle('display', 'block');
				$$('div.language')[0].setStyle('background-image', 'none');
			}
		});

		$$('div.language')[0].addEvents({
			'mouseleave': function()
			{
				oMenu.setStyle('display', 'none');
				this.set('style', '');
			}
		});
	}

	oEventsManager.fireEvent('nextStep');
}

var bgManager = function()
{
	switch(id_version)
	{
		case 2 :
			var source = 'en';
			break;
		case 3 :
			source = 'de';
			break;
		default :
			source = 'fr';
			break;
	}

	var flashvars = {
		source:'xml/podia/'+source+'.xml'
	};
	var params = {
		menu: 'false',
		scale: 'noScale',
		allowFullscreen: 'true',
		allowScriptAccess: 'always',
		wmode:'transparent',
		bgcolor: '#0f000f'
	};
	var attributes = {
		id:'flash_bg'
	};
	swfobject.embedSWF('swf/podia/home_header.swf', 'altContent', '100%', '100%', '9.0.0', 'swf/expressInstall.swf', flashvars, params, attributes);

	oEventsManager.fireEvent('nextStep');
}

var searchText = function()
{
	if ($('search'))
	{
		var default_value = $('search').value;

		$('search').addEvents({
			'focus': function(){
				if (this.value == default_value)
					this.value = '';
			},
			'blur': function(){
				if (this.value == '')
					this.value = default_value;
			}
		});
	}

	oEventsManager.fireEvent('nextStep');
}

if ( oEventsManager && oEventsManager != null && oEventsManager != undefined )
{
	oEventsManager.registerEvent('putFooterAtRealBottom', putFooterAtRealBottom);
	oEventsManager.registerEvent('menuInteractivity', menuInteractivity);
	oEventsManager.registerEvent('langSwitcher', langSwitcher);
	oEventsManager.registerEvent('bgManager', bgManager);
	oEventsManager.registerEvent('searchText', searchText);
}
