﻿var popupMenu = {
	normalBackgroundColor : "#ffffff",
	normalForegroundColor : "#000000",
	hoverBackgroundColor : "#FFDEF9",
	hoverForegroundColor : "#000000",

	enableClose : function(menuDesc) {
	  menuDesc.canClose = true;
	},
	getAbsolutePos : function(e) {
		 var l=e.offsetLeft;
		 var t=e.offsetTop;
		 while(e=e.offsetParent) {
			 l+=e.offsetLeft;
			 t+=e.offsetTop;
		 }
		 return {x:l,y:t};
	 },	 
	toggleMenu : function(menuDesc) {
		 var menu = menuDesc.menuDiv;
		 if(!menuDesc.display) {
			 var link = menuDesc.menuLink;
			 var e = link;
			 var pos = this.getAbsolutePos(e);
			 var left = pos.x;
			 var top = pos.y + e.offsetHeight;
			 menu.style.left = left + "px";
			 menu.style.top = top + "px";
			 menu.style.display = "block";
			 menuDesc.canClose = false;
			 setTimeout(function() {popupMenu.enableClose(menuDesc);}, 200);
		 } else {
			 menu.style.display = "none";
		 }
		 menuDesc.display = !menuDesc.display;
		 menuDesc.menuLink.blur();
		 return false;
	 },
	closeMenu : function(menuDesc) {
		if(menuDesc.display && menuDesc.canClose) {
			this.toggleMenu(menuDesc);
		}
	},
	addEvent : function(elm, evType, fn, useCapture) {
	   if (elm.addEventListener) {
		   elm.addEventListener(evType, fn, useCapture);
		   return true;
	   } else if (elm.attachEvent) {
		   var r = elm.attachEvent('on' + evType, fn);
		   return r;
	   } else {
		   elm['on' + evType] = fn;
	   }
	},
	setHoverColor: function(item) {
		item.style.backgroundColor = this.hoverBackgroundColor;
		item.style.color = this.hoverForegroundColor;
	},
	unsetHoverColor: function(item) {
		item.style.backgroundColor = this.normalBackgroundColor;
		item.style.color = this.normalForegroundColor;
	},
	mergeParameters:function(parameters){
		for(var p in parameters){
			if(p.toString().indexOf("Color")==-1)continue;
			popupMenu[p]=parameters[p];
		}
	},
	setColor:function(parameters){
		for(var p in parameters){
			if(p.toString().indexOf("Color")==-1)continue;
			this[p]=parameters[p];
		}
	},
	createMenu :function(menuDesc,parameters) {
		var onMenu=false;
		var tm=null;
		var menu = menuDesc.menuDiv;
		popupMenu.mergeParameters(parameters);
		for(var i = 0; i < menuDesc.items.length; i++) {
			var item = menuDesc.items[i];
			var div = document.createElement("div");
			div.style.paddingLeft = "3px";
			div.style.cursor = "pointer";
			div.style.color = this.normalForegroundColor;
			div.style.backgroundColor = this.normalBackgroundColor;
			div.onmouseover = function() {popupMenu.setHoverColor(this);if(tm)clearTimeout(tm);};
			div.onmouseout = function() {popupMenu.unsetHoverColor(this);tm=setTimeout(function(){popupMenu.closeMenu(menuDesc)},500)};
			div.menuItem = item;
			div.onclick = function() {menuDesc.clickHandler(this.menuItem);popupMenu.closeMenu(menuDesc);};
			div.innerHTML = item.text;
			menu.appendChild(div);
		}
		popupMenu.addEvent(document, "click", function() {popupMenu.closeMenu(menuDesc)});
		popupMenu.addEvent(menuDesc.menuLink, "click", function() {popupMenu.toggleMenu(menuDesc)});
	}
}

///搜索
function onLoadHandler() {
	var menuMamiDesc ={
		menuDiv:document.getElementById("menuMami"),
		menuLink:document.getElementById("cmenuMami"),
		display:false,
		clickHandler:function(item){
		    var url = item.link;
		    window.open(url, "");
		},
		items:[
			{"link":"http://yqpd.ppneed.com", "text":"预备造人"},
			{"link":"http://yzpd.ppneed.com", "text":"大肚妈咪"},
			{"link":"http://chpd.ppneed.com", "text":"初为人母"}
		]
	}
	var menuBabyDesc ={
		menuDiv:document.getElementById("menuBaby"),
		menuLink:document.getElementById("cmenuBaby"),
		display:false,
		clickHandler:function(item){
		    var url = item.link;
		    window.open(url, "");
		},
		items:[
			{"link":"http://baby.ppneed.com", "text":"Baby乐园"},
			{"link":"http://yrj.ppneed.com", "text":"育儿大全"}
		]
	}
	var menuMoreDesc ={
		menuDiv:document.getElementById("menuMore"),
		menuLink:document.getElementById("cmenuMore"),
		display:false,
		clickHandler:function(item){
		    var url = item.link;
		    window.open(url, "");
		},
		items:[
			{"link":"http://bbs.ppneed.com/", "text":"女娲论坛"},
			{"link":"http://www.ppneed.com/shop/index.aspx", "text":"孕婴商城"},
			{"link":"http://jkyy.ppneed.com", "text":"健康音乐"},
			{"link":"http://news.ppneed.com", "text":"新闻中心"}
		]
	}
	popupMenu.createMenu(menuMamiDesc);
	popupMenu.createMenu(menuBabyDesc);
	popupMenu.createMenu(menuMoreDesc);
}
