var oldLoc=null;
var t0=0;
var contentContainerToggle=false;
var fadeOut=null;
var fadeIn=null;
var visibleMenu=null;
var oldLinkColor=null;
function locationWatcher()
{
	var newLoc=window.location.hash;
	if(!newLoc) newLoc="#home/home";
	if(oldLoc==newLoc) return;

	oldLoc=newLoc;
	newLoc=newLoc.substr(1);
	
	var slashIdx = newLoc.indexOf('/');
	var dirName = newLoc.substring(0, slashIdx);
	var htmlName = newLoc.substring(slashIdx+1, newLoc.length);
	
	if(/MSIE/.test(navigator.userAgent))
	{
		var f = document.getElementById("stateFrame");
		var d = f.contentDocument || f.contentWindow.document;
		d.open();
		d.write("<script>parent.oldLoc=parent.location.hash='#"+newLoc+"'; parent.show('"+dirName+"','"+htmlName+"'); </script>");
		d.close();
	}
	else
	{
		show(dirName, htmlName);
	}
}

function show(dirName, htmlName)
{
	fadeOut=contentContainerToggle?"content1":"content2";
	fadeIn =contentContainerToggle?"content2":"content1";
	contentContainerToggle=!contentContainerToggle;
	
	fadeOut.innerHTML = "<p>laden...</p>";

	t0=new Date().getTime()+400;
	if (htmlName == "home")
	{
		new Ajax.Request("content/"+dirName+"/"+htmlName+".html", { method:"get", onSuccess: receiveHomeContent } );
	}
	else
	{
		new Ajax.Request("content/"+dirName+"/"+htmlName+".html", { method:"get", onSuccess: receiveContent } );
	}

	var menuName = "content/"+dirName+"/menu.html";
	if (visibleMenu == null || menuName != visibleMenu)
	{
		visibleMenu = menuName;
		new Ajax.Request(menuName, { method:"get", onSuccess: receiveMenu } );
	}

	new Effect.Fade(fadeOut,{duration:0.5});
}

function receiveContent(transport)
{
	respTxt = transport.responseText;
	respTxt = "<div class=\"rightContent\">" 
					+ respTxt
					+ "<img alt=\"\" src=\"images/bgDetailBottom.gif\" style=\"width:100%\"></img></div>";
	$(fadeIn).update(respTxt);

	var wait=t0-new Date().getTime();
	if(wait<0) wait=0;
	window.setTimeout("appear()",wait);
}

function receiveMenu(transport)
{
	var newContent = transport.responseText;
	$("menu").update(newContent);
}

function receiveHomeContent(transport)
{
	$(fadeIn).update(transport.responseText);
	appear();	
}

function appear()
{
	new Effect.Appear(fadeIn,{duration:0.5});
	markCurrentLink();
}

function markCurrentLink()
{
	var links = $("menu").getElementsByTagName("a");
	for (var i = 0; i < links.length; i++)
	{
		var href = links[i].getAttribute("href", 1);
		var idx = href.length-oldLoc.length;
		if (href.indexOf(oldLoc) != -1 && href.indexOf(oldLoc) == idx)
		{
			links[i].style.color = "#DCE6DC";
		}
		else
		{
			links[i].style.color = "#FFF";
		}
	}
}

function hover(ev)
{
	var target=ev.target||ev.srcElement;
	if(!target.baseName) target.baseName=target.src.substr(0,target.src.length-4);
	var src=target.baseName;
	if(ev.type=='mouseover') {
		src+="hover.gif";
	} else {
		src+=".gif";
	}
	target.src=src;
}