﻿var tempPath = (window.baseDir == "") ? "" : getPagePrehandle();

window.standardStartpage = "index.html";
window.titleEnd = "";// " - KWP GmbH";
// INIT!
$().ready(function(){
  initAjax();
  refererTracking();
});

function refererTracking(){
	if(_gaq && (isSearch || isVideoRedirect || isSEORedirect)){
		var arg1 = "";
		var arg2 = "";
		if(isSearch){
			arg1 = "search";
			switch(window.firstSliderOpened){
			case 0:
			 var arg2 = "2vizcon";
			 break;
			case 1:
			 var arg2 = "video";
			 break;
			case 2:
			 var arg2 = "seo";
			 break;
			case 3:
			 var arg2 = "wasi";
			 break;
			case 4:
			 var arg2 = "lehrerportal";
			 break;
			}
		}
		else if(isVideoRedirect){
			arg1 = "landingpage";
			arg2 = "video";
		}
		else if(isSEORedirect){
			arg1 = "landingpage";
			arg2 = "seo";
		}
		//alert("seoReferer, " + arg1 + ", " + arg2);
		_gaq.push(["_trackEvent", "seoReferer", arg1, arg2]);
	}
	
	
	
//var isSearch = false;
//var isVideoRedirect = false;
//var isSEORedirect = false;
//var ref = "";
	
}

var nestle_firstCall = true;
var lastTeam = "";

function getPagePrehandle() {
	if(window.location.href.indexOf("/en/") != -1)
		return "en/";

	return "de/";
}

function callTracking(pageVector){
 /*var trackingURL = "";
 var absoluteBaseDir = window.location.href.substr(0, window.location.href.lastIndexOf("/") -2);
 if(window.baseDir != ""){
  absoluteBaseDir = absoluteBaseDir.replace(RegExp("" + window.baseDir + "\/$"), "");
 }
 
 if(pageVector[1] == -1 || pageVector[1] == 0){
  trackingURL = absoluteBaseDir + $(window.xmlStructure).find("content>menu:eq(0)>page:eq(" + (pageVector[0] - 1) + ")").attr("url");
 }
 else{
  trackingURL = absoluteBaseDir +
  $(window.xmlStructure).find("content>menu:eq(0)>page:eq(" + (pageVector[0] - 1) + ")>menu:eq(0)").attr("url") +
  "/" +
  $(window.xmlStructure).find("content>menu:eq(0)>page:eq(" + (pageVector[0] - 1) + ")>menu:eq(0)>page:eq(" + (pageVector[1] - 1) + ")").attr("url");
 }
 var trackingTitle = $(window.xmlStructure).find("content>menu:eq(0)>page:eq(" + (pageVector[0] - 1) + ")").attr("label");
 
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.setCustomUrl(trackingURL);
piwikTracker.setDocumentTitle(trackingTitle);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking(); 
} catch( err ) {}
 */
 nestle_firstCall = false;
}


function setTitle(pageVector){
 var pageTitle = "";
 //alert(pageVector[0]+" "+pageVector[1]);
 if(pageVector[1] == -1 || pageVector[1] == 0){
  pageTitle = $(window.xmlStructure).find("content>menu:eq(0)>page:eq(" + (pageVector[0] - 1) + ")").attr("title");
  if(pageVector[0] == 2 && lastTeam != "") pageTitle = lastTeam;
 }
 else{
  pageTitle = $(window.xmlStructure).find("content>menu:eq(0)>page:eq(" + (pageVector[0] - 1) + ")>menu:eq(0)>page:eq(" + (pageVector[1] - 1) + ")").attr("title");
  if(pageVector[0] == 2) lastTeam = pageTitle;
 }
 if(pageTitle != undefined){
  document.title = pageTitle + window.titleEnd;
 }
}


function parseURL(pathHandle){
 var urlType = 0; // 0 = unknown, 1 = absolute (protocol), 2 = rootbased (/), 3 = selfbased
 var urlFile = "";
 var urlHash = "";

 if(pathHandle.indexOf("://") != -1){
  urlType = 1;
 }
 else if(pathHandle.substr(0, 1) == "/"){
  urlType = 2;
 }
 else{
  urlType = 3;
 }

 if(urlType != 0){
  if(pathHandle.indexOf("#") != -1){
   urlHash = pathHandle.substr(pathHandle.indexOf("#") + 1, pathHandle.length - pathHandle.indexOf("#") - 1);
   pathHandle = pathHandle.substr(0, pathHandle.indexOf("#"));
  }

  if(urlType == 1){
   // nothing here
  }
  else if(urlType == 2){
   pathHandle = pathHandle.substr(1, pathHandle.length - 1)
  }
  else if(urlType == 3){
   if(pathHandle.substr(0, 2) == "./"){
    pathHandle = pathHandle.substr(2, pathHandle.length - 2)
   }
  }
  //if(urlType != 1){ // no Type 1 check, so better be save than sorry
   var pathParts = pathHandle.split("/");
   urlFile = pathParts[pathParts.length - 1];
   if(pathParts.length > 1){
    pathParts.pop();
   }
   else{
    pathParts = [];
   }
  //}
  //else{
  //pathParts = [];
  //}
 }
 return {"type": urlType, "folders": pathParts, "file": urlFile, "hash": urlHash}
}

function isRootPage(urlObject){ //needs Object from parseURL()
 var isRoot = true;
 var lastFolder = (urlObject.folders.length > 1) ? getPagePrehandle() + urlObject.folders[urlObject.folders.length - 1] : "";

 if(lastFolder == ""){
  isRoot = true;
 }
 else{
  $(window.xmlStructure).find("content>menu>page>menu").each(function(){
   if($(this).attr("url") == lastFolder){
    isRoot = false;
   }
  });
 }
 return isRoot;
}

function initAjax(){
 var pageStructureFilePath = (window.baseDir == "") ? "" : "./";
 
 if(getPagePrehandle() == "de/") otherPagehandle = "en/";
 else otherPagehandle = "de/";
 
 $.ajax({
  type: "GET",
  url: otherPagehandle + "pagestructure.xml",
  dataType: "xml",
  error: function(XMLHttpRequest, textStatus, errorThrown){
  },
  success: function(xml){
  //alert(contentFile + " " + targetVector);
  	window.otherXmlStructure = xml;
  }});
 //alert(getPagePrehandle()+pageStructureFilePath + "pagestructure.xml");
 $.ajax({
  type: "GET",
  url: getPagePrehandle()+pageStructureFilePath + "pagestructure.xml",
  dataType: "xml",
  error: function(XMLHttpRequest, textStatus, errorThrown){
   //$("a.img_box").fancybox({"showNavArrows":false});
   //alert("Error");
  },
  success: function(xml){
   if($(xml).find("content").length == 1){
    window.xmlStructure = xml;
    // hack für Typo3
    $(window.xmlStructure).find("content>menu>page>menu").each(function(){
     var tempMenuFolderName = $(this).attr("url");
     $(this).attr("url", tempMenuFolderName.replace(/.html$/, ""));
     //alert($(this).attr());
    });
    $(window.xmlStructure).find("content>menu>page>menu>page").each(function(){
     var tempPageFolderName = parseURL($(this).attr("url"));
     $(this).attr("url", tempPageFolderName.file);
    });
    
    

    var currentURL = parseURL(window.location.pathname);
    
    var currentContent = "";
    var currentLabel = "";

    // Check: aktuelle Seite ist Level 0? Global verfügbar!    
    window.isCurrentPageRoot = isRootPage(currentURL);
    
    if($("#content_frame ul.sub_navigation").length > 0){
     currentContent = $("#content_frame div.col1 div.col1_content:eq(0)").clone();
    }
    else{
     currentContent = $("#content_frame div.content_sub_page:eq(0)").clone();
    }
  
    if(currentURL.file == "" || currentURL.file == "de.html" || currentURL.file == "content.html"){
     currentURL.file = standardStartpage;
    }
    var newContent = $("<div class=\"coda-slider-wrapper\"><div class=\"coda-slider\" id=\"coda-slider\"></div></div>");
         
    var firstPanelToLoad = 1;
    var firstSubPanelToOpen = 0;

   
    $(xml).find("content>menu>page").each(function(){
     // Level 0 Panels
     var tempIndex = $(this).index() + 1;
     
     
     var handleMarkup = ($(this).attr("url")) ? " url=\"" + $(this).attr("url") + "\"" : "";
     
     var pageBox = $("<div class=\"panel\"><div class=\"panel-wrapper\"" + handleMarkup + "></div></div>");
     if($(this).children("menu").length == -1){
      // Level 0 Panels mit Untermenü
    
      // Submenu-Überschrift      
      //currentLabel = $(this).children("menu:eq(0)").attr("label");
      //if(currentLabel == undefined){currentLabel = window.hardcodedLabelRezepte;}

      var parentPageURL = pageStructureFilePath + $(this).attr("url");
      
      $(pageBox).find("div.panel-wrapper:eq(0)").append($(window.subPage1 + parentPageURL + window.subPage2));
      if($("div.col3 h2:eq(0)").text().length != 0){
       $(pageBox).find("div.panel-wrapper:eq(0) div.col3 h2:eq(0)").text($("div.col3 h2:eq(0)").text());
      }

      if($("div.col3 div.backlink").length == 1){
       $(pageBox).find("div.panel-wrapper:eq(0) div.col3 div.backlink:eq(0) a:eq(0)").append($("div.col3 div.backlink a:eq(0)").html());
      }      

		// IE HACK, IE HACK!
		// IE HACK, IE HACK!
		// IE HACK, IE HACK!
		
		   //bottom_box erkennt absolute Höhe der Level1-Panels nicht und steht fest bei Veränderung.
		   //Daher Einhängen als position:static Element
     if(jQuery.browser.msie && (splitVersion[0] == 6 || splitVersion[0] == 7)){
      bottomBoxBackup = $(pageBox).find("div.panel-wrapper:eq(0) div.bottom_box:eq(0)").detach();
      $(bottomBoxBackup).removeClass("bottom_box").addClass("bottom_box_ie");
      $(pageBox).find("div.panel-wrapper:eq(0) div.col3:eq(0) div.col3_inner_content:eq(0)").append(bottomBoxBackup);
		    $(pageBox).find(".padding_bottom_220").removeClass("padding_bottom_220");
		   }
		// IE HACK, IE HACK!
		// IE HACK, IE HACK!
		// IE HACK, IE HACK!      

      // Einhängen Level 0 Panel mit Level 1 Panel für die Level 0 Seite
      if($(this).attr("url") == getPagePrehandle()+currentURL.file && window.isCurrentPageRoot == true){
       firstPanelToLoad = tempIndex;
       $(pageBox).find("div.col1:eq(0)").append(currentContent);
      }
      else{
       $(pageBox).find("div.col1:eq(0)").append($("<div class=\"col1_content\" url=\"" + $(this).attr("url") + "\"><div class=\"loading_box\"></div></div>"));
      }


      
     }
     else{
      
      
      
      
      
      // Einhängen Level 0 Panel mit Unterseiten
      if($(this).attr("url") == getPagePrehandle()+currentURL.file && window.isCurrentPageRoot == true){
       firstPanelToLoad = $(this).index() + 1;
       $(pageBox).find("div.panel-wrapper:eq(0)").append(currentContent);
      }
      else{
      	inserted = 0;
       if($(this).children("menu").length > 0){
      var tempIndex = $(this).index() + 1;
      // Level 1 Panels
      $(this).find("menu>page").each(function(){
       // Link einfügen
       var linkPrefix = (window.baseDir == "") ? $(this).parent().attr("url") + "/" : "";
       $(pageBox).find("div.col3 ul.sub_navigation:eq(0)").append($("<li><a href=\"" + linkPrefix + $(this).attr("url") + "\">" + $(this).attr("label") + "</a>"));

       // Einhängen Level 1 Panel für Level 1 Unterseiten
       var lastSubFolder = (window.isCurrentPageRoot == true) ? "" : getPagePrehandle() + currentURL.folders[currentURL.folders.length - 1];
       //alert(lastSubFolder + " " + $(this).parent().attr("url") + " " + $(this).attr("url") + " " + currentURL.file);
       if(lastSubFolder == $(this).parent().attr("url") && $(this).attr("url") == currentURL.file){
        inserted++;
        firstPanelToLoad = tempIndex;
        firstSubPanelToOpen = $(this).index() + 1;
        $(pageBox).find("div.panel-wrapper:eq(0)").append(currentContent);
       }
      });
      if(inserted == 0) $(pageBox).find("div.panel-wrapper:eq(0)").append($("<div class=\"content_sub_page\"><div class=\"loading_box\"></div></div>"));
      }
       else $(pageBox).find("div.panel-wrapper:eq(0)").append($("<div class=\"content_sub_page\"><div class=\"loading_box\"></div></div>"));
      }
     }

     // neues Level 0 Panel fertig, und eingehangen
     $(newContent).find("div.coda-slider").append(pageBox);     
    });

    // Ursprungsinhalt löschen, neuen einhängen
    $("#content_frame>div.coda-slider-wrapper:eq(0)").remove();
    $("#content_frame").append(newContent);

    // Fancyboy auf aktuelle Inhalte anwenden
	   //$("a.img_box").fancybox({"showNavArrows":false});
	
    // Coda-Slider initialisieren	   
		  $("#coda-slider").codaSlider({
		   firstPanelToLoad: firstPanelToLoad,
		   firstSubPanelToOpen: firstSubPanelToOpen,
		   crossLinking: false,
		   dynamicArrows: false,
		   dynamicTabs: false
		  });
		  
		  $("#navimain .navigation li:first-child").addClass("first");
		  $("#navimain .navigation li:last-child").addClass("last");
    
   }
 	}
 }); 
}


