var renderIntial = false;

/////////////////////////////
//PAGE RENDERING FUNC
/////////////////////////////

function renderIntialPage()
{
	resetPage();
	debug(rendererDebug, "segs.length:"+segs.length);
	if(segs.length == 0)
	{
		//get fresh data for first item in menu
		var firsthref = findFirstListLink($('#sitemap'));
		if(firsthref)
		{
			page_url = firsthref.replace(base_url, '');
			debug(rendererDebug, "do intial data call to :"+page_url);
			updateAddress(page_url);
			//processPageCall();
		}
		else
		{
			pageData = {"current":{'type':type}};
			renderRequestData();
		}
	}
	renderIntial = true;
}

//resets the page before loading new content
function resetPage(renderPageOnFade)
{
	//fade out current content
	$('#content').animate({"opacity": 0}, 0, "linear", 
		function()
		{
			$('#content').css('z-index', -10000);
			renderOnBodyHidden(renderPageOnFade);
		}
	);
}

function renderOnBodyHidden(renderPageOnFade)
{
	//show preloader
	showPreloader();
	
	//remove scroll war actual height property
	//$(this).find('.scroll_wrap').removeAttr(aHAtt);
	
	//if render is true then 
	//renders new page
	if(renderPageOnFade)
	{
		//this is true when we already have the data
		renderRequestData();
	}
}

//renderer function
function renderRequestData()
{
	debug(rendererDebug, "render page, type:"+pageData.page_type_name);
	intialDeepLink = false;

	//set data
	if(pageData.html != undefined)
	{
		$('#content').html(pageData.html);
	}

	//check request for loading delay
	checkPageLoadingDelay($('#content'));
	
	if(pageData.background_src != undefined && pageData.root.id != undefined)
	{
		setBackground(pageData.root.id, pageData.background_src);
	}
	if(pageData.background_swf != undefined)
	{
		setBackgroundAnimations(pageData.root.id, pageData.background_swf);
	}
	if(pageData.extra_html != undefined)
	{
		setExtra(pageData.extra_html);
	}
}

//on render request action complete
function renderRequestComplete()
{
	debug(rendererDebug, "show new page content");
			
	//hide preloader
	hidePreloader(null, onPreloaderRemoved);
}

function onPreloaderRemoved()
{
	//show content
	$('#content').animate({"opacity": 1}, 0, "linear", function(){$('#content').css('z-index', '').css('opacity', '');});
}

//if there are media items queued
function onQueuedItems()
{
	//theres nothing really to do
}

var noMediaElements = 0;
function initMediaElements()
{
	noMediaElements = $('#content video, #content audio').size();
	if(noMediaElements > 0 && $('#content video, #content audio').mediaelementplayer != undefined)
	{
		$('#content video, #content audio').mediaelementplayer({
			audioWidth: 590,
			success: function (mediaElement, domObject) {
		        mediaElement.addEventListener('play', function(e){onMediaElementPlayed();}, false);
		    }
		});
	}
	else
	{
		//$('#content video, #content audio').hide();
	}
}

function onQueueComplete()
{
	debug(rendererDebug, "queue complete, resize and show "+pageData.page_type_name+" content");
	
	//once all page data is loaded
	//refresh dimensions and resize content
	onPageRefreshed();
	
	initMediaElements();
	
	renderRequestComplete();
}





