function loadContent(content_item)
{
	var http_request = newHttpRequest();

	http_request.onreadystatechange = function()
	{
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
				var content_container = document.createElement('div');
				content_container.id = 'scroll_container';
				content_container.style.opacity = 0;
				content_container.innerHTML = http_request.responseText;
				if(document.getElementById('flash_container') !== undefined)
					swfobject.removeSWF('flash_container');
				sequence
				(
					fadeContentOut,
					function(callback){
						var page_content = document.getElementById('content_area');
						//page_content.innerHTML = http_request.responseText;
						//document.getElementById('page_content').innerHTML= '';
						page_content.innerHTML = '';
						page_content.appendChild(content_container);
						CSBfleXcroll(content_container);
						callback();
					},
					fadeContentIn,
					function(callback){
						loadFlash(content_item);
						callback();
					}
				);
			}
			else
			{
			}
		}
	};

	http_request.open('GET', '/content/'+content_item+'.html', true);
	http_request.send('');
}

function sequence(actions)
{
	var args = Array.prototype.slice.call(arguments);

	doAction();

	function doAction()
	{
		action = args.shift();
		if(action !== undefined)
			action(doAction);
	}
}

function setOpacity(element, opacity)
{
	if (element.filters) //IE
	{
		opacity = parseInt(opacity * 100);
		try
		{
			element.filters.item("DXImageTransform.Microsoft.Alpha").opacity = opacity;
		}
		catch (e)
		{
			element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity='+opacity+')';
		}
	}
	else
	{
		element.style.opacity = opacity;
	} 
}

function fadeContentIn(callback)
{
	fadeIn(document.getElementById('scroll_container'), callback);
}

function fadeContentOut(callback)
{
	fadeOut(document.getElementById('scroll_container'), callback);
}

function loadFlash(content_item)
{
	if(content_item == "about")
		swfobject.embedSWF("content/contact_page_image.swf", "flash_container", "313", "365", "6.0.0");
	else if (content_item == "boutique1")
		swfobject.embedSWF("content/boutique1.swf", "flash_container", "840", "358", "7.0.0");

//	swfobject.embedSWF("intro.swf", "flash_container", "837", "379", "7.0.0");
}

function fadeOut(element, callback)
{
	if(opacity === undefined)
		var opacity = 1; //= document.getElementById('page_content').style.opacity;

	doFade();

	function doFade()
	{
		opacity -= 0.05;

		if(opacity > 0)
		{
			setOpacity(document.getElementById('scroll_container'), opacity);
			setTimeout(doFade, 20);
		}
		else
		{
			setOpacity(document.getElementById('scroll_container'), 0);
			callback();
		}
	}
}


function fadeIn(element, callback)
{
	if(opacity === undefined)
		var opacity = 0; //= document.getElementById('page_content').style.opacity;

	doFade();

	function doFade()
	{
		opacity += 0.05;

		if(opacity < 1)
		{
			setOpacity(element, opacity);
			setTimeout(doFade, 20);
		}
		else
		{
			setOpacity(element, 1);

			if(document.getElementById('flash_container'))
				loadFlash();

			callback();
		}
	}
}

var selectedSubMenu = undefined;
var subMenusOpen = false;

function closeSubMenu(menu)
{
	var submenu = document.getElementById("submenu_"+menu);
	var full_height = submenu.offsetHeight;
	var height = submenu.offsetHeight;

//	if(selectedSubMenu != menu)
	doSlide();

	function doSlide()
	{
		height -= 1+(height*0.08);

		if(height <= 0)
		{
			submenu.style.visibility = 'hidden';
			submenu.style.height = full_height+'px';
		}
		else
		{
			submenu.style.height = height+'px';
			setTimeout(doSlide, 20);
		}
	}
}

function openSubMenu(menu)
{
	var submenu = document.getElementById("submenu_"+menu);
	var target_height = submenu.offsetHeight;
	var height = 0;

//	if(selectedSubMenu === undefined)
//	{	
		submenu.style.height = height+'px';
		submenu.style.visibility = 'visible';

		selectedSubMenu = menu;
		doSlide();
//	}
/*
	else if(selectedSubMenu != menu)
	{
		submenu.style.height = height+'px';
		submenu.style.visibility = 'visible';

		closeSubMenu(selectedSubMenu);
		selectedSubMenu = menu;
		doSlide();
	}
*/
	function doSlide()
	{
		height += 1+((target_height-height)*0.08);

		if(height >= target_height)
			submenu.style.height = target_height+'px';
		else
		{
			submenu.style.height = height+'px';
			setTimeout(doSlide, 20);
		}
	}
}

function openAllSubMenus()
{
	if(!subMenusOpen)
	{
		openSubMenu('retail');
		openSubMenu('design');
		openSubMenu('interior');
		openSubMenu('exhibitions');
		openSubMenu('shop');
	}

	subMenusOpen = true;
}

function newHttpRequest()
{
	if(window.XMLHttpRequest)
		return new XMLHttpRequest();
	else
		return new ActiveXObject("Microsoft.XMLHTTP");
}



