var atag = false;
var submenuSelector = '#submenu';

/////////////////////////////
//SWFADDRESS FUNC
/////////////////////////////

//init function
function initAddressManager()
{
	if(ajax_available)
	{
		addLinkClickListeners();
		SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleSWFAddressEvent);
	}
	else
	{
		page_url = segs.join('/');
		handleSwfAddressMenuUpdate(page_url);
	}
	if(page_url != base_url){}
}

//upates address
function updateAddress(href)
{
	//get uri
	var tmp_page_url = href.replace(base_url, '');
	
	//update address
	if(tmp_page_url != "" && tmp_page_url != page_url)
	{		
    	//set the page url, if not null or not current url
		debug(deeplinkDebug, "update address");
    	page_url = tmp_page_url;
    	SWFAddress.setValue(page_url); 
	}
	return false;
}

//handles address change
function handleSWFAddressEvent(evt)
{
	gallery_url = '';
	debug(deeplinkDebug, "handleSWFAddressEvent:"+evt.path);
	if(evt.path != "/")
	{
		//set page url
		page_url = (evt.path).substr(1);
		
		//handle menu, and check if we need to update content
		var processLink = handleSwfAddressMenuUpdate(page_url);
		if(processLink)
		{
			processPageCall();
//			var submenuNoShown = false;
//			
//			//if submenu check here
//			if(submenuSelector)
//			{
//				var tmpLink = handleSwfAddressMenuUpdate(page_url, submenuSelector);
//				if(tmpLink)
//				{
//					debug(deeplinkDebug, "found submenu link:"+tmpLink.attr('href'));
//					processLink = tmpLink;
//					if(processLink.parent().find('ul').size() > 0)
//					{
//						processLink.parent().find('ul li:first').toggleClass('selected', true);
//						processLink = processLink.parent().find('ul li:first a');
//					}
//				}
//				else
//				{
//					//submenu no in content then page url to main level url
//					submenuNoShown = true;
//				}
//			}
//			
//			if(processLink.parent().find('ul').size() == 0)
//			{
//				//if its in the sitemap
//				var href = processLink.attr('href');
//				var temp_url 	= href.replace(base_url, '');
//				debug(deeplinkDebug, "found menu item:"+temp_url+", page_url:"+page_url);
//				if(dataCallStore[page_url] != undefined)
//				{
//					temp_url = page_url;
//				}
//				
//				var temp_segs 	= removeEmpty((page_url.replace(temp_url, '')).split('/'));
//				if(temp_segs.length == 1)
//				{
//					gallery_url	= temp_segs[0];
//					page_url	= temp_url;
//					debug(deeplinkDebug, "its a gallery call:"+page_url);
//				}
//				
//				if(temp_url == page_url || submenuNoShown)
//				{
//					//process call
//					debug(deeplinkDebug, "process call");
//					processPageCall();
//				}
//			}
		}
		else if(!isIntialDeepLink())
		{
			debug(deeplinkDebug, "not intial deeplink, not a valid url");
			
			//else if not a valid uri, or if folder
			//and if page is not set
			if(!pageData && !is_mobile)
			{
				//if not mobile then show current page
				//pageData = {"current":{'type':type}};
				SWFAddress.setValue("/");
				renderRequestData();
			}
		}
	}
	
	//intial ddeplink pasted
	intialDeepLink = false;
}

/////////////////////////////
//LISTENERS FUNC
/////////////////////////////

//add link listener
function addLinkClickListeners()
{
	$("a[href*='"+base_url+"media/']").attr('target', '_blank');
	$("a[href*='"+base_url+"'][target!=_blank]").not(".gallery_nav_box a").not(".switch a").not('a.hotlink').not("a[href*='"+base_url+"media/']").click(function(){onLinkClicked($(this)); return false;});
	
	//$(".gallery_nav_box a").click(function(){onGalleryLinkClicked($(this)); return false;});
	$('a.hotlink').click(function(){onFunctionLinkClicked($(this)); return false;});
}

//content link listener function
function onLinkClicked(link) 
{    
	if(typeof(link.attr) == "function" && typeof(link.attr('href')) == "string")
	{
		atag = link;
		
		if(atag.parent().find('ul').size() > 0)
		{
			atag =  atag.parent().find('ul li:first a');
		}
		
		var href = atag.attr('href');
		
		//remove focus if there
		if(href.indexOf('#focus') >= 0)
		{
			href = popSegs(href, 1, '#');
		}
		
		updateAddress(href);
	}
	return false;
}

function onFunctionLinkClicked(atag)
{
	if(atag.attr('id') == 'close' || atag.attr('id') == 'logolink')
	{
		$("#sitemap li").toggleClass('selected', false);
		updateAddress('/');
		$('#middle').hide();
		$('#footer').css('position', 'absolute');
	}
	else
	{
		var ypos = 0;
		if(atag.attr('id') == 'slideshow' &&  $('#content .gallery').size() > 0)
		{
			var offset = $('#content .gallery').offset();
			ypos = offset.top;
		}
		$(document).scrollTop(ypos);
	}
}

function onGalleryLinkClicked(atag)
{
	var i = 1;
	if(atag.hasClass('prev'))
	{
		i = -1;
	}
	var currentImage 	= $(".gallery .slider-holder li:visible");
	if(currentImage.size() > 0)
	{
		var currenIndex 	= currentImage.index();
		var nextIndex 		= increment(currenIndex, i, 0, $(".gallery .slider-holder li").size());
		var newImage		= $(".gallery .slider-holder li:eq("+nextIndex+")");
		debug(deeplinkDebug, "currenIndex:"+currenIndex+", nextIndex:"+nextIndex);
		if(newImage.size() > 0)
		{
			newImage.find('img').load(function(){
				debug(deeplinkDebug, "image loaded");
				$(this).unbind('load');
				currentImage.animate({opacity: 0}, 500, function(){
					currentImage.hide(); 
					currentImage = newImage; 
					newImage = false; 
					$('#gallery_caption').html(currentImage.find('.caption').html());
					currentImage.toggleClass('disabled', false).show(); 
					currentImage.animate({opacity: 1}, 500);
				});
			});
		}
	}
}










