var SCHWABE = {
	isLoggedIn : false,
	onload : function() {
    SCHWABE.MENU2.init();
	}
}

function MenuItem(node, submenu) {
  this.node = node;
  this.submenu = submenu;
  this.openSubmenu = function() {
//  	Effect.Appear(this.submenu);
    this.submenu.style.display = "block";
    this.node.className += " hover";
  }
  this.closeSubmenu = function() {
    this.submenu.style.display = "none";
    this.node.className = this.node.className.replace("hover","");
  }
  this.fadeOutSubmenu = function(afterFinish) {
    this.node.className = this.node.className.replace("hover","");
    var options = {duration:0.2};
    if(typeof(afterFinish)=="function") options.afterFinish = afterFinish;
  	Effect.Fade(this.submenu, options);
  }
}
function Menu() {
  this.items = new Array();
  this.addItem = function (item) {
    this.items.push(item);
  }
  this.getItemByNode = function (node) {
      for(var i=0;i<this.items.length;i++) {
        if(this.items[i].node == node) return this.items[i];
      }
      return null;
  }
  this.item = function(item) {
    return this.items[item];
  }
  this.closeAll = function() {
    for(var i=0;i<this.items.length;i++) {
      this.items[i].closeSubmenu();
    }
  }
  this.fadeOutAll = function() {
    for(var i=0;i<this.items.length;i++) {
      this.items[i].fadeOutSubmenu();
    }
  }
  this.closeAllExceptIndex = function(index) {
    for(var i=0;i<this.items.length;i++) {
      if(i!=index) this.items[i].closeSubmenu();
    }
  }
  this.closeAllExceptNode = function(node) {
    for(var i=0;i<this.items.length;i++) {
      if(this.items[i].node != node) this.items[i].closeSubmenu();
    }
  }
  this.openByIndex = function(index) {
    this.closeAllExceptIndex(index);
    this.item(index).openSubmenu();
  }
  this.openByNode = function(node) {
    this.closeAllExceptNode(node);
    try {
      this.getItemByNode(node).openSubmenu();
    } catch(e) { }
  }
}
SCHWABE.MENU2 = {
  myMenu : new Menu(),
  mytimer : null,
  init : function() {
    var childnodes = $('mainMenuBar').childNodes;
    for(var i=0;i<childnodes.length;i++) {
      if(childnodes[i].nodeName == "LI") {
        var subchildnodes = childnodes[i].getElementsByTagName("UL");
        if(subchildnodes.length>0) {
          if(subchildnodes[0].className == "dropdown") {
            var newMenu = new MenuItem(childnodes[i],subchildnodes[0]);
            this.myMenu.addItem(newMenu);
          }
        }
        Event.observe(childnodes[i], "mouseover", SCHWABE.MENU2.menuItemMouseOver);
        Event.observe(childnodes[i], "mouseout", SCHWABE.MENU2.menuItemMouseOut);
      }
    }
  },
  menuItemMouseOver : function(e) {
    var fires = Event.element(e);
    var target = Event.findElement(e,"LI");
    window.clearTimeout(SCHWABE.MENU2.mytimer);
    if(target.className.match(/level2/i)) {
      SCHWABE.MENU2.myMenu.openByNode(target);
    }
  },
  menuItemMouseOut : function(e) {
    window.clearTimeout(SCHWABE.MENU2.mytimer);
    var fires = Event.element(e);
    SCHWABE.MENU2.mytimer = window.setTimeout("SCHWABE.MENU2.menuFallBack()",800);
  },
  menuFallBack : function() {
    for(var i=0;i<this.myMenu.items.length;i++) {
      this.myMenu.items[i].fadeOutSubmenu(SCHWABE.MENU2.closeAll);
    }
  },
  closeAll : function() {
  	SCHWABE.MENU2.myMenu.closeAll();
  },
  debugAlert : function(content) {
    $('debug').innerHTML = content;
  }
}
SCHWABE.MENU = {
	menuParentDiv : null,
	menuItems : new Array(),
	menuItemsLevel2 : new Array(),
	onload : function() {
		SCHWABE.MENU.menuParentDiv = $('navigationMain');
		SCHWABE.MENU.menuItems = SCHWABE.MENU.menuParentDiv.getElementsByTagName("LI");
		for(var i=0;i<SCHWABE.MENU.menuItems.length;i++)  {
			if(SCHWABE.MENU.menuItems[i].className.match("navLevel2")) {
				SCHWABE.MENU.menuItemsLevel2.push(SCHWABE.MENU.menuItems[i]);
			}
		}
		for(var i=0;i<SCHWABE.MENU.menuItemsLevel2.length;i++)  {
			Event.observe(SCHWABE.MENU.menuItemsLevel2[i], "mouseover", SCHWABE.MENU.showMenu);
		}
	},
	showMenu : function(event) {
		var menuItem = Event.findElement(event, "LI");
		for(var i=0;i<SCHWABE.MENU.menuItemsLevel2.length;i++)  {
			if(menuItem != SCHWABE.MENU.menuItemsLevel2[i]) {
				SCHWABE.MENU.hideMenu(SCHWABE.MENU.menuItemsLevel2[i]);
			}
		}
		if(menuItem) {
			var subMenu = SCHWABE.MENU._getSubMenu(menuItem);
			if(subMenu) {
				subMenu.style.display = "block";
			}
		}
	},
	hideMenu : function(menuItem) {
		if(menuItem) {
			var subMenu = SCHWABE.MENU._getSubMenu(menuItem);
			if(subMenu) {
				subMenu.style.display = "none";
			}
		}
	},
	_getSubMenu : function(menuItem) {
		var container = menuItem.getElementsByTagName("DIV")[0];
		if(container) {
			return container.getElementsByTagName("UL")[0];
		}
	}
}
SCHWABE.PYTHO = {
	formId : 'frmSearchMeta',
	searchButton : 'searchButton',
	searchTerm : 'searchTerm',
	onload : function() {
		$(SCHWABE.PYTHO.formId).action = "suchergebnisse_pm.php";
		Event.observe(SCHWABE.PYTHO.formId,"submit", SCHWABE.PYTHO.searchFormSubmit);
		Event.observe(SCHWABE.PYTHO.searchButton,"click", SCHWABE.PYTHO.searchFormSubmit);
		var medicalOverview = $('medicalPlantsOverview');
		if(medicalOverview) {
			var aTags = medicalOverview.getElementsByTagName("A");
			for(var i=0;i<aTags.length;i++) {
				aTags[i].href = SCHWABE.PYTHO.translateLink(aTags[i].href);
				aTags[i].target = "_blank";
			}
		}
		new Ajax.Autocompleter("searchTerm", "previewSearchResults", "/schwabe/lib/php/exe/PhytoAutocompleter.php", {
			onShow : function(element, update){
				Effect.Appear(update,{duration:0.15});
			},
			updateElement : function(selectedElement) {
				selectedElement.offsetParent.style.display = "none";
				var links = selectedElement.getElementsByTagName("A");
				if(links.length>0) {
					if(links[0].target == "_blank") window.open(links[0].href);
					else location.href = links[0].href;
				}
				return false;
			}
		});
	},
	searchFormSubmit : function(event) {
		if($(SCHWABE.PYTHO.searchTerm).value.length > 0) $(SCHWABE.PYTHO.formId).submit();
	},
	translateLink : function(input) {
		var reg = /http:\/\/.*?\/(.*)/;
		res = reg.exec(input);
		return "popup.php?sheet=/"+RegExp.$1;
	},
	submitForm : function() {
		$(SCHWABE.PYTHO.formId).submit();
	}
}
SCHWABE.PYTHONL = {
	formHasBeenAdded : false,
	newsletterFachkreise_click : function(element) {
		if(!SCHWABE.PYTHONL.formHasBeenAdded) {
			SCHWABE.PYTHONL.loginForm = document.createElement("div");
			SCHWABE.PYTHONL.loginForm.className = "newsletterFachkreise";
			SCHWABE.PYTHONL.loginForm.innerHTML = "<p>Hierf&uuml;r ben&ouml;tigen Sie einen Fachkreise-Zugang zu unseren Seiten.</p>";
			SCHWABE.PYTHONL.loginForm.innerHTML += "<p>Wenn Sie schon einen Zugang haben, dann melden Sie sich hier an:</p>";
			SCHWABE.PYTHONL.loginForm.innerHTML += $('login').innerHTML;
			SCHWABE.PYTHONL.loginForm.innerHTML += "<p>Wenn Sie noch keinen Zugang haben, k&ouml;nnen Sie sich <a href=\"https://schwabeneu.navdev.de/schwabe/Login\">hier registrieren</a>.</p>";
			element.parentNode.appendChild(SCHWABE.PYTHONL.loginForm);
			element.parentNode.className = "Error";
			SCHWABE.PYTHONL.formHasBeenAdded = true;
		} else {
//			var inputs = element.parentNode.getElementsByTagName("INPUT");
//			if(inputs[0]) {
//				if(!inputs[0].checked) {
//					alert(SCHWABE.PYTHONL.loginForm);
//				}
//			}
		}
	}
}

function wOpenPopupURL(url, width, height){
	var name = '';
	if(width == '' || width == ' '){
		width = 786;
	}
	if(height == '' || height == ' '){
		height = 677;
	}
	url = url.replace(/&amp;/g, '&');
	options = ',location=no, menubar=no,toolbar=no,resizable=yes,scrollbars=yes,status=no';
	width = parseInt(width);
	height = parseInt(height);
	//Position zentriert festlegen
	var posLeft = (screen.width / 2) - (width / 2);
	var posTop = (screen.height / 2) - (height / 2);
	window.open(url, name, 'top='+posTop+',left='+posLeft+',width='+width+',height='+height+',' + options);
}
function document_onLoad() {
	SCHWABE.onload();
}
