/**
 * @author Steffen J. Smolka
 */

 /* Adaptability to Window Size */
function prepareAdaptability () {
	var maincontainer = document.getElementsByTagName('div')[0];
	
	function sendEmbedsToBackground () {
    if (document.getElementsByTagName("embed").length > 0) {
      var wmode = document.createAttribute("wmode");
      wmode.nodeValue = "opaque";
			function setWmode (node) {
        var parent = node.parentNode;
        var clone = node.cloneNode(true);
        clone.setAttributeNode(wmode);
        parent.replaceChild(clone, node);
			}
			var embeds = document.getElementsByTagName("embed");
			for (var  i = 0; i < embeds.length ; i++) {
				var node = embeds[i];
				if (!node.getAttribute("wmode")) {
				  setWmode(node);
				}
				else if (node.getAttribute("wmode").toLowerCase() != "transparent" && node.getAttribute("wmode").toLowerCase() != "opaque") {
					setWmode(node);
				}
      }
    }
  }
	
	/*
	 function sendObjectsToBackground() {
    if (document.getElementsByTagName("object").length > 0) {
      var objects = document.getElementsByTagName("object");
      var wmodeParam = document.createElement("param");
      var paramName = document.createAttribute("name");
      paramName.nodeValue = "wmode";
      var paramValue = document.createAttribute("value");
      paramValue.nodeValue = "opaque";
      wmodeParam.setAttributeNode(paramName);
      wmodeParam.setAttributeNode(paramValue);
      function getCurrentWmodeParam (parent) {
        for (var i = 0; i < parent.childNodes.length; i++) {
          var child = parent.childNodes[i];
          if (child.nodeName.toUpperCase() == "PARAM" && child.getAttribute("name") && child.getAttribute("name").toLowerCase() == "wmode") {
            return child;
          }
        }
        return null;
      }
      for (var i = 0; i < objects.length; i++) {
        var parent = objects[i];
        var currentWmodeParam = getCurrentWmodeParam(parent);
        if (currentWmodeParam) {
          var paramValue = currentWmodeParam.getAttribute("value").toLowerCase();
          if (paramValue != "transparent" && paramValue != "opaque") {
            parent.replaceChild(wmodeParam, currentWmodeParam);
            alert(parent.innerHTML);
          }
        }
        else {
          parent.appendChild(wmodeParam);
          alert(parent.innerHTML);
        }
      }
    }
  } */
	
	function loosen () {
		if (maincontainer.id != 'loose') {
			maincontainer.id = 'loose';
		}
	}
	
	function fix () {
		if (maincontainer.id != 'fixed') {
			maincontainer.id = 'fixed';
			sendEmbedsToBackground ();
			/* sendObjectsToBackground(); */
		}
	}
	
	function width () {
	  if (window.innerWidth) {
	    return window.innerWidth;
	  } else if (document.getElementsByTagName('html')[0] && document.getElementsByTagName('html')[0].offsetWidth) {
	    return document.getElementsByTagName('html')[0].offsetWidth;
	  } else {
	    return 0;
	  }
	}
	
	function height () {
	  if (window.innerHeight) {
	    return window.innerHeight;
	  } else if (document.getElementsByTagName('html')[0] && document.getElementsByTagName('html')[0].offsetHeight) {
	    return document.getElementsByTagName('html')[0].offsetHeight;
	  } else {
	    return 0;
	  }
	}
	
	function setStyle () {
	  if (width() < 800 || height() < 600) {
			loosen();
		}
		else {
			fix();
		}
	}
	
	setStyle();
	window.onresize = setStyle;
}
/* END: Adabtability to Window Size */

/* Preview Function for Tavnav */
var active = '';
	
function show(content){
	if (typeof content == 'string') {
			document.getElementById('verticalnav').innerHTML = content;
	}
}
	
function prepareTabnav(){
	if (document.getElementById('tabnav') &&
		  document.getElementById('tabnav').getElementsByTagName('ul')[0] &&
		  document.getElementById('tabnav').getElementsByTagName('ul')[0].hasChildNodes() &&
		  document.getElementById('verticalnav') &&
		  document.getElementById('verticalnav').innerHTML) {
			active = document.getElementById('verticalnav').innerHTML;
			var list = document.getElementById('tabnav').getElementsByTagName('ul')[0].childNodes;
			for (var n in list) {
				if (list[n].nodeName == 'LI' && list[n].getElementsByTagName('ul')[0]) {
					if (!list[n].getElementsByTagName('strong')[0]) {
						list[n].onmouseover = function(){
							show('<ul>' + this.getElementsByTagName('ul')[0].innerHTML + '<\/ul>')
						};
						list[n].onmouseout = function(){
							show(active)
						};
					}
				}
			}
			
	}
}
/* END: Preview Function for Tavnav */

/* Labelling of Search Input Field */
function prepareSearchInputField(){
  if (document.getElementById('xsearch_input')) {
    document.getElementById('xsearch_input').onblur = function(){
      if (this.value == '') {
        this.value = 'Suche';
      }
    };
    document.getElementById('xsearch_input').onfocus = function(){
      if (this.value == 'Suche') {
        this.value = '';
      }
    };
  }
}
/* END: Labeling */

/* Initialize Functions */
jQuery(document).ready(function() {
  prepareAdaptability();
  prepareTabnav();
  prepareSearchInputField();
  $("a:has(img)").fancybox({
    'transitionIn'  : 'elastic',
    'transitionOut' : 'elastic',
    'easingIn'      : 'easeOutBack',
    'easingOut'     : 'easeInBack',
    'speedIn'       : 600, 
    'speedOut'      : 400,
    'opacity'       : true,
    'overlayOpacity': 0.5
  })
});