// Ajax-Objekt zur Suchbegriffvorgabe
var http = null;
if(window.XMLHttpRequest){
	http = new XMLHttpRequest();
} else if (window.ActiveXObject){
	http = new ActiveXObject("Microsoft.XMLHTTP");
}	

function getSearchKeyData(s){
	if(http != null){
		http.open("GET", "../global/getSearchKeyList.php?s=" + s, true);
		http.onreadystatechange = showSearchKeyData;
		http.send(null);
	}
}

function showSearchKeyData(){
	if(http.readyState == 4){
		if(http.responseText != ""){
			document.getElementById("searchkeylist").style.visibility = "visible";
		} else {
			document.getElementById("searchkeylist").style.visibility = "hidden";
		}
		document.getElementById("searchkeylist").innerHTML = http.responseText;
	}
		
}

function putSearchKey(s){
	document.forms['searchForm'].Suchfeld.value = s;
	document.getElementById("searchkeylist").innerHTML = "";
	document.getElementById("searchkeylist").style.visibility = "hidden";
	document.forms['searchForm'].submit();
}

// load stylesheet for js-enabled browsers
if(document.getElementById && document.createTextNode) {
	document.writeln("<link href=\"css/z5jsenabled.css\" rel=\"stylesheet\" type=\"text/css\" media=\"all\">");
}
jumpToOrientation2 = function() { 
	var s = document.getElementById("selGoTo");
	if(s) {
		var o = s.value;
		if(o == "investor") {
			window.open("http://investor.zimmer.com");
		} else {
			location.href = o;
		}
	}
}

initPage = function() {
	if(document.getElementById && document.createTextNode) {
		// add "text" and "button" classes to input elements
		var t = document.getElementsByTagName("input");
		if(t) {
			for(i=0; i<t.length; i++) {
				var tt = t[i].getAttribute("type");
				if(tt == "text" || tt == "password") {
					t[i].className = "text";
				} else if(tt == "submit" || tt == "reset") {
					t[i].className = "button";
				}
			}
		}
		// attach classes/events to site nav elements
		var sitenav = document.getElementById("navigation");
		if(sitenav) {
			for(i=0; (u = sitenav.getElementsByTagName("ul")[i]); i++) {
				if(u.parentNode.nodeName == "DIV") {
					u.className = "level1";
				} else if(u.parentNode.parentNode.parentNode.nodeName == "DIV") {
					u.className = "level2";
				} else {
					u.className = "level3";
				}
				var c = u.childNodes;
				for(j=0; j < c.length; j++) {
					if(c[j].nodeName == "LI") {
						c[j].className = "first";
						break;
					}
				}
			}
			// nav category headers: replace <b> tags with <a> tags with event handlers
			var arrB = sitenav.getElementsByTagName("b");
			for(i = arrB.length - 1; i>= 0; i--) {
				b = arrB[i];
				var p = b.parentNode;
				var bnv = b.firstChild.nodeValue;
				var a = document.createElement("a");
				a.setAttribute("href", "null.html");
				p.replaceChild(a, b);
				var c = p.firstChild;
				var t = document.createTextNode(bnv);
				c.appendChild(t);
				c.className = "more";
				c.onfocus = function() {window.status=" "; return true;};
				c.onmouseover = function() {window.status=" "; return true;};
				c.onclick = function() {showMenu(this); this.blur(); return false;};
				c.onkeypress = function() {showMenu(this); return false;};
			}
		}
		// reset go to selector (for firefox!)
		var s = document.getElementById("selGoTo");
		if(s) s.selectedIndex = 0;
		// attach event to locate form
		var l = document.getElementById("txtLocate");
		if(l) {
			l.onfocus = function() {if(l.value == "Enter your ZIP Code") l.value = ""};
		}
		// attach events to font-controls
		a = document.getElementById("font-smaller");
		if(a) {
			a.onclick = function() {reduceFontSize(); this.blur(); return false};
			a.onkeypress = function() {reduceFontSize(); return false};
		}
		a = document.getElementById("font-larger");
		if(a) {
			a.onclick = function() {increaseFontSize(); this.blur(); return false};
			a.onkeypress = function() {increaseFontSize(); return false};
		}
	}
}

expandMenus = function() {
	var id = query["id"];
	var prCat = query["prCat"];
	if(document.getElementById && document.createTextNode) {
		// expand left nav
		var sitenav = document.getElementById("navigation");
		if(sitenav) {
			for(i=0; (a = sitenav.getElementsByTagName("a")[i]); i++) {
				var hr = a.getAttribute("href");
				if(hr) {
					if(id && getLinkID(hr) == id) {
						a.className = "current";
						var c = a.parentNode.parentNode.className;
						switch(c) {
							case "level3":
								var a = a.parentNode.parentNode.parentNode.firstChild;
								a.className = "level2-on";
								var oc = a.parentNode.className; // check for existing class "first" and pre-pend if necessary
								if(oc) oc += " ";
								a.parentNode.className = oc + "level2-on";
							case "level2":
								var a = a.parentNode.parentNode.parentNode.firstChild;
								a.className = "level1-on";
								var oc = a.parentNode.className; // check for existing class "first" and pre-pend if necessary
								if(oc) oc += " ";
								a.parentNode.className = oc + "level1-on";
								break;
						}
					}
				} 
			}
			sitenav.style.visibility = "visible";
		}
		// highlight product nav
		var topnav = document.getElementById("header-nav");
		if(topnav) {
			for(i=0; (a = topnav.getElementsByTagName("a")[i]); i++) {
				if(getPRCat(a.getAttribute("href")) == prCat) {
					a.className = "current";
					break;
				}
			}
		}
	}
}

showMenu = function(obj) {
	if(document.getElementById && document.createTextNode) {
		if(obj.className.indexOf("-on") == -1) {
			var c = obj.parentNode.parentNode.className;
			var sitenav = document.getElementById("navigation");
			for(i=0; (li = sitenav.getElementsByTagName("li")[i]); i++) {
				if(c == "level1" && li.className.indexOf("level1-on") != -1) {
					li.className = "";
					li.firstChild.className = "";
				} else if(li.className.indexOf("level2-on") != -1) {
					if(li.className.indexOf("first") != -1) {
						li.className = "first";
					} else {
						li.className = "";
					}
					li.firstChild.className = "more";
				}
			}
			obj.className = c + "-on";
			var oc = obj.parentNode.className; // check for existing class "first" and pre-pend if necessary
			if(oc) oc += " ";
			obj.parentNode.className = oc + c + "-on";
		}
	}
}

getLinkID = function(str) {
	var queryStart = str.indexOf('?');
	if (queryStart!=-1) {
		var query = str.substring(queryStart + 1, str.length);
		var parts = query.split("&");
		for (var i=0; i<parts.length; i++) {
			var bits = parts[i].split("=");
			if (bits[0] == "id") return bits[1];
		}
	}
	return null;
}

getPRCat = function(str) {
	var queryStart = str.indexOf('?');
	if (queryStart!=-1) {
		var query = str.substring(queryStart + 1, str.length);
		var parts = query.split("&");
		for (var i=0; i<parts.length; i++) {
			var bits = parts[i].split("=");
			if (bits[0] == "prCat") return bits[1];
		}
	}
	return null;
}

function setActiveStyleSheet(title) {
  if(document.getElementById && document.createTextNode) {
		var i, a, main;
	  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
	    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
	     	a.disabled = true;
	      if(a.getAttribute("title") == title) a.disabled = false;
	    }
	  }
	}
}

setStyles = function() {
  var cookie = readCookie("z5Styles");
  var title = cookie ? cookie : "small";
	createCookie("z5Styles", title, 365);
 	setActiveStyleSheet(title);
}

reduceFontSize = function() {
	var fs = readCookie("z5Styles");
	switch(fs) {
		case "small":
			// do nothing
			break;
		case "medium":
			fs = "small";
			break;
		case "large":
			fs = "medium";
			break;
		case "x-large":
			fs = "large";
			break;
		default:
			fs = "small";
	}
	createCookie("z5Styles", fs, 365);
	setActiveStyleSheet(fs);
}

increaseFontSize = function() {
	var fs = readCookie("z5Styles");
	switch(fs) {
		case "small":
			fs = "medium";
			break;
		case "medium":
			fs = "large";
			break;
		case "large":
			fs = "x-large";
			break;
		case "x-large":
			// do nothing
			break;
		default:
			fs = "medium";
	}
	createCookie("z5Styles", fs, 365);
	setActiveStyleSheet(fs);
}

createCookie = function(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

readCookie = function(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

popUpWindow = function(URL,windowName,width,height) {
	var w = screen.availWidth;
	var h = screen.availHeight;
	var leftPos = Math.round((w-width)/2);
	var topPos = Math.round((h-height)/2);
	var defaults = "scrollbars=yes,resizable=yes,";
	var centerOnScreen = "top="+topPos+",left="+leftPos+",width="+width+",height="+height;
	// safari seems to need the trailer comma
	var options = defaults + centerOnScreen + ",";
	var msgWindow = window.open(URL,windowName,options);
	msgWindow.focus();
}

// parseQuery deals with query string
parseQuery = function() {
	var returnVals = new Array();
	qString = new String(window.location);
	var queryStart = qString.indexOf('?');
	if (queryStart==-1) {
		return returnVals;
	}
	var query = qString.substring(queryStart + 1, qString.length);
	parts = query.split("&");
	for (i in parts) {
		bits = parts[i].split("=");
		subbits = bits[1].split("#"); // added by T.D. to handle fragment identifier in URL
		returnVals[bits[0]] = subbits[0];
	}
	return returnVals;
}

function headerGoTo(id,demo,SiteNr){
	var f = document.forms.headerForm;
	switch(id){
	case "-1":
		f.target = "_blank";
		f.action='http://www.zimmergermany.de';
		break;
	case "-2":
		f.target = "_blank";
		f.action='http://www.zimmer.com';
		break;
	case "-3":
		f.target = "_blank";
		f.action='http://investor.zimmer.com';
		break;
	case "-4":
		f.target = "_blank";
		f.action='http://www.zimmer-bewegt.de';
		break;
	case "28":
		f.target = "_self";
		f.action = 'https://www.zimmergermany.de/templates/t2.php';
		break;
	case "557":
		f.target = "_self";
		f.action = 'https://ssl.kundenserver.de/zimmerspine.de/templates/t2.php';
		break;
	case "558":
		f.target = "_self";
		f.action = 'http://www.zimmerspine.de/static/p' + id + '.php';
		break;
	default:
		f.target = "_self";
		f.action = 'http://www.zimmergermany.de/static/p' + id + '.php';
	}
	if(demo==1){
		f.target = "_self";
		switch(SiteNr){
		case 0:
			f.action = 'http://www.zimmergermany.de/templates/t2.php';
			break;
		case 2:
			f.action = 'http://www.zimmerspine.de/templates/t2.php';
			break;
		}		
	}
	f.submit();
}

var query = parseQuery();

window.onload = function() {
	//var x = new Date();
	//initPage();
	//expandMenus();
	setStyles();
	//var y = new Date();
	//alert("time to run onload functions: " + (y.getTime() - x.getTime()));
}
