// JavaScript Document
//<!-- 

// central JavaScript Object for ProContext Website
var prc = {};

// initialize jQuery with noConflict
var $jq = jQuery.noConflict();
	 
// when DOM is ready try to build subnavigation if page uses subnavigation
$jq(document).ready(function(){
	prc.buildSubnavigation();
	prc.initExtracked();
});
	
// extracked
prc.initExtracked = function(){
	var d = document;
	var sExtracked = "<img src='http://www.extracked.de/c/c.php?r="+escape(d.referrer)+"&n="+escape(navigator.userAgent)+"&p="+escape(d.location.href)+"' height='1' width='1' class='noprint'>";
    $jq("#footer div.footer_left").append(sExtracked);	
}

// function for splitting the URL
prc.splitURL = function(s) 
{ 
  var theExpression = /^([^\/]+\/\/)?([^\/]+)([^\?#]+)(.*$)/;
  var theResult = theExpression.exec(s);
  var tail = theResult[4], temp; 
  return { 
    protocol: theResult[1], 
    hostname: theResult[2], 
    pathname: theResult[3].split("/"), 
    search : tail && (temp=tail.match(/\?[^#]*/)) && temp[0], 
    hash  : tail && (temp=tail.match(/#[^\?]*/)) && temp[0] 
  }; 
} 


// function for getting document name
prc.getDocumentName = function(){
   var page = prc.splitURL(document.URL);
   if(page.pathname[page.pathname.length - 1]){
	return page.pathname[page.pathname.length - 1];
   }
   else{
	   return "";
   }
}


// function for getting subnav dirname
prc.getSubnavDirname = function(){
   var page = prc.splitURL(document.URL);
   if(page.pathname[page.pathname.length - 2]){
	return page.pathname[page.pathname.length - 2];
   }
   else{
	   return "";
   }
}


// function for building subnavigation
prc.buildSubnavigation = function(){
	// get name of current page
	var pagename = prc.getDocumentName();
	// if document name is empty set it to uebersicht.html
	if(pagename == ""){
		pagename = "uebersicht.html";
	}
	
   // get name of subdirectory
   var subdirname = prc.getSubnavDirname();
   
   if(pagename == "impressum.html") {
	   subdirname = "ueber-procontext";
   }
   
   // exit if subdirname is empty or 'de' i.e. current page is not in a subdirectory
   if(subdirname.length <= 2){
	return;   
   }

// now get mainnavigation DOM element for subdirname
   var nodeMainNavEntry = $jq("#p7topnavmenu > ul > li").find("> a[href*='"+subdirname+"']").get(0);
	if(nodeMainNavEntry != null) {
		// get name of main navigation element
		var sMainNavName = $jq(nodeMainNavEntry).text();
		// get subnavigation tree for building subnavigation from main navigation
		var nodeSubnav = $jq(nodeMainNavEntry).parent().find("div > ul").get(0);


		// ----------------- START build subnavigation tree ---------------------
		// make a copy of subnavigation tree so it can be modified
		nodeSubnav = $jq(nodeSubnav).clone();
		// add class 'menu' to ul
		$jq(nodeSubnav).addClass("menu");
		
		// get li and link for current subnav section
		var nodeLinkCurrentSubnavPage;
		var nodeLiCurrentSubnavPage;
		var sSubnavPageURL;
		var sSubnavPageTitle;

		// if there is a subsubnavigation
		if($jq("#subsubnavigation").length){

			// first determine subnav page URL and position within navtree
			sSubnavPageURL = $jq("#subsubnavigation").attr("class");
			nodeLinkCurrentSubnavPage = $jq(nodeSubnav).find("a[href$='"+sSubnavPageURL+"']");
			nodeLiCurrentSubnavPage = $jq(nodeLinkCurrentSubnavPage).parent();
			sSubnavPageTitle = $jq(nodeLinkCurrentSubnavPage).text();

			// if the current page is the subnav page
			if(pagename == sSubnavPageURL) {
				// now replace link for subnav page
				$jq(nodeLinkCurrentSubnavPage).replaceWith("<a name='"+pagename+"' class='to-be-set'>"+sSubnavPageTitle+"</a>");
				// add class 'active' to li of subnav
				$jq(nodeLiCurrentSubnavPage).addClass("active");
			}
			// else (current page is a subsubnav page, not the current subnav page)
			else {
				// update topnavigation
				// add current_mark to topnav
				$jq(nodeMainNavEntry).addClass("current_mark");
				$jq(nodeMainNavEntry).parent().addClass("li_current_mark");
				// add current_mark to subnav
				$jq(nodeMainNavEntry).parent().find("a[href$='"+sSubnavPageURL+"']").addClass("current_mark");	
				$jq(nodeMainNavEntry).parent().find("a[href$='"+sSubnavPageURL+"']").parent().addClass("li_current_mark");
				
				// update subnavigation: add class 'semiactive' to li of subnav
				$jq(nodeLiCurrentSubnavPage).addClass("semiactive");
			}
		}
		// else (no subsubnavigation)
		else {
			nodeLinkCurrentSubnavPage = $jq(nodeSubnav).find("a[href$='/"+pagename+"']");
			if(pagename == "impressum.html") {
				nodeLinkCurrentSubnavPage = $jq(nodeSubnav).find("a[href$='impressum.html']");
			}
			
			nodeLiCurrentSubnavPage = $jq(nodeLinkCurrentSubnavPage).parent();
			// get name for current page
			sSubnavPageTitle = $jq(nodeLinkCurrentSubnavPage).text();

			// now replace link for current page
			$jq(nodeLinkCurrentSubnavPage).replaceWith("<a name='"+pagename+"' class='to-be-set'>"+sSubnavPageTitle+"</a>");
			// add class 'active' to li
			$jq(nodeLiCurrentSubnavPage).addClass("active");
		}

		// add subsubnavigation to subnav
		$jq("#subsubnavigation").appendTo(nodeLiCurrentSubnavPage);
	
		// ----------------- END build subnavigation tree ---------------------
	
		// finally add subnavigation tree to document
		$jq("#subnavigation").empty();
		var nodeRootSubnav = $jq("<div></div>");
		$jq(nodeSubnav).appendTo(nodeRootSubnav); 
   		$jq("#subnavigation").append("<h4>"+sMainNavName+"</h4>"+$jq(nodeRootSubnav).html());	

	}

}


//-->
