/**
 * hash.history.js - created on Nov 15, 2010 15:52:25 PM by thomi
 * @copyright		win-soft.ch 2010
 * @author			Thomas Winteler <http://www.win-soft.ch>
 */
$(function()
{
	$(window).bind( "hashchange", function(e) {
		hashChange();
	});

	$(window).trigger( "hashchange" );
});

function hashChange()
{
	var hash = window.location.hash || '#!'+navigationID;
	
// TODO: Workaround IE if hash == #
			
		if(hash == '#')
		{
			hash = '#!0';
		}
		
		if(hash.substr(1, 1) == "!")
		{
			hashNavigationID = hash.substr(2);
		}
		else
		{
			hashNavigationID = hash.substr(1);
		}
		
		if(isFinite(hashNavigationID))
		{
			if(!searchBoxKeywordPersist)
			{
				$("#"+searchBoxName+"_field").val("");
			}
			
			if(typeof(documentTitleSeperator) == "undefined")
			{
				documentTitleSeperator = "-";
			}

			if(typeof(documentTitlePosition) == "undefined")
			{
				documentTitlePosition = "right";
			}

			if(navigationProtectionCheck(hashNavigationID))
			{
				navigation_init(navigationGroupName, navigationGroupChildName, modulOutputName, navigationDefaultID, documentTitleSeperator, documentTitlePosition);
				navigation_modul_init(modulOutputName, navigationDefaultID);
			}
			else
			{
				navigation_init(navigationGroupName, navigationGroupChildName, modulOutputName, hashNavigationID, documentTitleSeperator, documentTitlePosition);
				navigation_modul_init(modulOutputName, hashNavigationID);
			}

			
			
			if(breadcrumbBoxName && breadcrumbBoxSeperator)
			{
				$(document).ready(function() {
					$.get("system/core/system.php?tool=breadcrumb_box&breadcrumbBoxName="+breadcrumbBoxName+"&breadcrumbBoxSeperator="+breadcrumbBoxSeperator+"&navigationGroupName="+navigationGroupName+"&navigationID="+hashNavigationID, function(data) {
						$("#"+breadcrumbBoxName).html(data);
					});
				});
			}

			if(topnavigationBoxName)
			{
				$(document).ready(function() {
					$.get("system/core/system.php?tool=topnavigation_box&navigationGroupName="+navigationGroupName+"&navigationID="+hashNavigationID, function(data) {
						$("#"+topnavigationBoxName).html(data);
					});
				});
			}
		}
	
}

