var renderIntial = false;

/////////////////////////////
//PAGE RENDERING FUNC
/////////////////////////////

function renderIntialPage()
{
	onIntialRenderer();
	resetPage();
	debug(rendererDebug, "segs.length:"+segs.length);
	if(segs.length == 0)
	{
		renderFirstPage();
	}
	renderIntial = true;
}

function renderFirstPage()
{
	//get fresh data for first item in menu
	var firsthref = findFirstListLink($('#sitemap'));
	if(firsthref)
	{
		page_url = firsthref.replace(site_url, '');
		debug(rendererDebug, "do intial data call to :"+page_url);
    	//SWFAddress.setValue(page_url);
		processPageCall();
	}
	else
	{
		pageData = {"current":{'type':type}};
		renderRequestData();
	}
}

//resets the page before loading new content
function resetPage(renderPageOnFade)
{
	if(gallery_url != '' && pageData && ($('#gallery_'+pageData.current.id).size() > 0 || $('#video_'+pageData.current.id).size() > 0))
	{
		//then update gallery
		debug(rendererDebug, "its a gallery data call");
		updateGallery();
	}
	else
	{
		//removes sticky gallery nav
		if(renderIntial && $('#content_wrap #sticky_gallery_nav').size() > 0)
		{
			$('#content_wrap #sticky_gallery_nav').remove();
		}
	
		//fade out current content
		$('#body').animate({"opacity": 0}, 0, "linear", 
			function()
			{
				$('#body').css('z-index', -10000);
				renderOnBodyHidden(renderPageOnFade);
			}
		);
		
		//$('#body').hide();
		//renderOnBodyHiden(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.current.type);
	intialDeepLink = false;

	//show/hide different layers
	processLayers();
	
	//check type 
	if(pageData.current.type == 'audiolist' && pageData.current.display_type == 'floating')
	{
		//floating audio list
		toggleFloatingAudioList(true);
		renderRequestComplete();
	}
	else
	{
		//set data
		if(pageData.content_html != undefined)
		{
			$('#body').html(pageData.content_html);
		}
		
		renderProcess();

		//check request for loading delay
		checkPageLoadingDelay($('#body'));
	}
}

function renderProcess()
{
	if(pageData.current.type == 'gallery' || pageData.current.type == 'videolist')
	{
		//its a gallery
		//show sticky gallery view
		toggleGallery(true);
	}
	else
	{
		//hide gallery view
		toggleGallery(false);
	}
}

//on render request action complete
function renderRequestComplete()
{
	debug(rendererDebug, "show new page content");
	
	//add page listeners
	addLinkClickListeners();
	
	//hide preloader
	hidePreloader(null, onPreloaderRemoved);
	
	//if audiolist then determine jscrollbar
	$('.audioblock .audiobox .audiolist').each(
		function()
		{
			if($(this).find('.audioitem').size() > 7)
			{
				if(pageData.current.display_type != 'floating')
				{
					$(this).find('.audioitem').toggleClass('selected', false);
				}
				$(this).jScrollPane({showArrows:false, verticalGutter:0});
			}
		}
	);
}

function onPreloaderRemoved()
{
	//show content
	$('#body').animate({"opacity": 1}, 0, "linear", function(){$('#body').css('z-index', '').css('opacity', ''); });
}

//if there are media items queued
function onQueuedItems()
{
	//theres nothing really to do
}

function onQueueComplete()
{
	debug(rendererDebug, "queue complete, resize and show "+pageData.current.type+" content");
	
	//once all page data is loaded
	//refresh dimensions and resize content
	onPageRefreshed();
	
	if(pageData.current.type == 'gallery')
	{
		renderRequestComplete();
	}
	else if(pageData.current.type == 'videolist')
	{
		renderRequestComplete();
	}
	else if(pageData.current.type == 'multimedia')
	{
		setTimeout("renderRequestComplete()", 1000);
	}
	else
	{
		//render text page
		renderRequestComplete();
	}
}

//toggles full gallery view
//adds/removes sticky nav
function toggleGallery(isGallery)
{
	var overlayGallery = false;
	if(isGallery)
	{
		//set container to normal container
		//if not already set
		if($('#content_layer').size() == 0)
		{
			$('#content_layer_gallery').attr('id', 'content_layer');
		}
		
		//we need to know the normal container height
		var clh = $('#content_layer').height();
		var clb	= $('#content_layer').css('bottom');
		
		//now set to gallery container
		$('#content_layer').attr('id', 'content_layer_gallery');
		
		if(pageData.gallery != undefined && pageData.gallery)
		{
			if(pageData.gallery.overlay != undefined && pageData.gallery.overlay == "1")
			{
				//if true then sits outside content area
				overlayGallery = true;
			}
			
			if(pageData.gallery.nav != "")
			{
				if($('#content_wrap #sticky_gallery_nav').size() == 0)
				{
					var sticknav = '<div id="sticky_gallery_nav">'+pageData.gallery.nav+'</div>';
					$('#content_wrap #body').after(sticknav);
				}
				else
				{
					$('#content_wrap #sticky_gallery_nav').html(pageData.gallery.nav);
				}
//				var center = ($("#sticky_gallery_nav").parent().width()-$("#sticky_gallery_nav").width())/2;
//				if($("#sticky_gallery_nav").position().left != center)
//				{
//					$("#sticky_gallery_nav").css('left', center);
//				}
			}
			else
			{
				//if gallery only contains one image then set to full height
				if(clb != 'none')
				{
					clb = pixelToNum(clb);
					$('#content_layer_gallery').css('bottom', clb);
				}
				else
				{
					$('#content_layer_gallery').height(clh);
				}
				
				if($('#sticky_gallery_nav').size() > 0)
				{
					$('#sticky_gallery_nav').remove();
				}
			}
		}
		
		//ready galler navigation
		onReadyThumbCarousel();

		if($('#content_wrap #info').size() > 0)
		{
			$('#content_wrap #info').remove();
		}
	}
	else
	{
		$('#content_layer_gallery').attr('id', 'content_layer');
		if($('#content_wrap #sticky_gallery_nav').size() > 0)
		{
			$('#content_wrap #sticky_gallery_nav').remove();
		}
		if($('#content_wrap #info').size() == 0)
		{
			var infohtml = '<div id="info"></div>';
			$('#content_wrap #body').before(infohtml);
		}
	}
	
	toggleGalleryStickySpecific(isGallery, overlayGallery);
}

/////////////////////////////
//SPECFIC RENDERING FUNC
/////////////////////////////

//FLOAT AUDIO PLAYER 
//floating audio player visbility
var audioContainer = '#container_fullscreen';
function toggleFloatingAudioList(visible)
{
	var audiolist_html = '';
	if(visible && pageData.current.children != null)
	{
		var audiolist_html = pageData.content_html;
		var start 	= '<div class="audioblock">';
		start	= audiolist_html.indexOf(start);
		
		var end		= '</div></div>';
		var length	= audiolist_html.length - end.length;
		
		audiolist_html = audiolist_html.substr(start,length);
		audiolist_html = '<div class="closeBtn"><a href="#" title="Close">X</a></div>'+audiolist_html;
	}
	
	var handle_html = "<div class='handle'></div>";
	
	//chekc if audiolist already on page
	var audiolist = $(audioContainer+' .draggable');
	if(audiolist.size())
	{
		if(!visible)
		{
			//if visible false, then remove
			audiolist.remove();
		}
		else if(audiolist_html != "")
		{
			//else update html
			audiolist.html(audiolist_html);
		}
	}
	else if(visible && audiolist_html != "")
	{
		var audiolist_div = '<div class="draggable">'+handle_html+audiolist_html+'</div>';
		$(audioContainer).append(audiolist_div);
		$(audioContainer+' .draggable').css('top', 0).css('left', 0);
	}
	
	if(visible && audiolist_html != "")
	{
		$(audioContainer+' .audiolist_info .audioitem').hide();
		$(audioContainer+' .audiolist_info #aui_'+pageData.current.children[0]['id']).show();

		$(audioContainer+' .draggable .closeBtn').click(function(){$(this).unbind('click'); toggleFloatingAudioList(false); return false;});
	}
}




