var PortletMenu = {};
PortletMenu.extended = function() {
	return typeof ExtendPortletMenu != "undefined";
};
PortletMenu.init = function(menu) {
	if (this.extended()) {
		return ExtendPortletMenu.init(menu);
	}
	this._init(menu);
};
PortletMenu._init = function(menu) {
	var items = menu.items;
	if (items && items.length > 0) {
		this.show(items[0]);
	}
};
PortletMenu.show = function(menu) {
	if (this.extended()) {
		return ExtendPortletMenu.show(menu);
	}
	this._show(menu);
};
PortletMenu.showTabs = function(tabs, cat) {
	if (typeof tabs == "undefined" || typeof tabs.items == "undefined") {
		return;
	}
	if (typeof cat == "undefined" && tabs.items.length > 0) {
		cat = tabs.items[0];
	}
	if (typeof cat == "undefined") {
		return;
	}
	for (var i = tabs.items.length - 1; i >= 0; i--) {
		var item = tabs.items[i];
		var title = document.getElementById("tabs_title_" + tabs.blockId + "_"
				+ item);
		var box = document.getElementById("tabs_box_" + tabs.blockId + "_"
				+ item);
		if (item == cat) {
			title.className = "tabs_title_enabled";
			box.style.display = "block";
		} else {
			title.className = "tabs_title_disabled";
			box.style.display = "none";
		}
	}
}
PortletMenu._show = function(menu) {
	var items = menu.items;
	if (items && items.length > 0) {
		this.show(items[0]);
	}
	var parent = menu.parent;
	if (!parent) {
		return;
	}
	var brothers = parent.items;
	if (brothers && brothers.length > 0) {
		for (i = brothers.length - 1; i >= 0; i--) {
			var brother = brothers[i];
			var brotherId = brother.id;
			var brotherItems = document.getElementById(brotherId + "_items");
			if (brotherItems) {
				brotherItems.style.display = "none";
			}
		}
	}
	var menuId = menu.id;
	var menuItems = document.getElementById(menuId + "_items");
	if (menuItems) {
		menuItems.style.display = "block";
	}
};
PortletMenu.mouseout = function(menu) {
	if (this.extended()) {
		return ExtendPortletMenu.mouseout(menu);
	}
};
// 扩展后的门户菜单
var ExtendPortletMenu = {};
ExtendPortletMenu.parent = PortletMenu;
ExtendPortletMenu.getCssClass = function(menu) {
	if (typeof menu == "undefined") {
		return null;
	}
	if (typeof menu.cssClass != "undefined") {
		return menu.cssClass;
	}
	if (typeof menu.parent != "undefined") {
		return ExtendPortletMenu.getCssClass(menu.parent);
	}
	return null;
};
ExtendPortletMenu.init = function(menu) {
	switch (this.getCssClass(menu)) {
		case "h_dropdown_menu" :
			DropDownMenu.init(menu);
			break;
		default :
			this.parent._init(menu);
	}
};
ExtendPortletMenu.show = function(menu) {
	switch (this.getCssClass(menu)) {
		case "h_dropdown_menu" :
			DropDownMenu.show(menu);
			break;
		default :
			this.parent._show(menu);
	}
};
ExtendPortletMenu.mouseout = function(menu) {
	switch (this.getCssClass(menu)) {
		case "h_dropdown_menu" :
			DropDownMenu.mouseout(menu);
			break;
		default :
	}
};
// 横向下拉菜单
var DropDownMenu = {};
DropDownMenu.parent = PortletMenu;
DropDownMenu.init = function(menu) {
	return;
};
DropDownMenu.show = function(menu) {
	this.parent._show(menu);
	var menuLevel = 1;
	if (typeof menu.level != "undefined") {
		menuLevel = menu.level;
	}
	var parentTd = document.getElementById(menu.id);
	var pos = SFT.Utils.getAbsolutePos(parentTd);
	switch (menuLevel) {
		case 1 :
			var firstItem = document.getElementById(menu.parent.items[0].id);
			var firstPos = SFT.Utils.getAbsolutePos(firstItem);
			var div = document.getElementById(menu.id + "_div");
			if (div && div.style) {
				div.style.position = "absolute";
				div.style.left = pos.x - firstPos.x;
			}
			// 点击菜单的其他位置时，隐藏二级菜单
			document.attachEvent("onmousedown", function() {
						var boxPos = SFT.Utils.getElementOffset(div);
						var mousePos = SFT.Utils.getMousePos(event);
						if (mousePos.pageX >= boxPos.x
								&& mousePos.pageX < boxPos.x + boxPos.width
								&& mousePos.pageY >= boxPos.y
								&& mousePos.pageY < boxPos.y + boxPos.height) {
							return true;
						} else {
							var items = document.getElementById(menu.id + "_items");
							if (items && items.style) {
								items.style.display = "none";
							}
						}
						return true;
					});
			break;
		case 2 :
			break;
		default :
			break;
	}
};
DropDownMenu.mouseout = function(menu) {
};
var buildFormParams = function(form) {
	var arrContent = [];
	var objFormElements = form.elements;
	for (var iElm = 0; iElm < objFormElements.length; iElm++) {
		var formEl = objFormElements[iElm];
		if (formEl.name && !formEl.disabled) {
			if (formEl.nodeName.toLowerCase() == "input"
					&& (formEl.type.toLowerCase() == "radio" || formEl.type
							.toLowerCase() == "checkbox") && !formEl.checked) {
				continue;
			}
			if (formEl.type.toLowerCase() == "select-multiple") {
				for (var j = 0; j < objFormElements[iElm].options.length; j++) {
					if (objFormElements[iElm].options[j].selected) {
						arrContent
								.push(objFormElements[iElm].name
										+ "="
										+ encodeURIComponent(objFormElements[iElm].options[j].value));
					}
				}
				continue;
			}
			arrContent.push(objFormElements[iElm].name + "="
					+ encodeURIComponent(objFormElements[iElm].value));
		}
	}
	return arrContent.join("&");
}
// 提交调查表单
var submitResearch = function(form) {
	SFT.Transport.fetchJsonObj({
				url : "/sft/ajax/researchResult!insert.action",
				method : "POST",
				content : buildFormParams(form),
				async : false,
				onLoad : function(jsonObj) {
					if (jsonObj.success) {
						alert("提交成功！谢谢你的参与！");
						form.reset();
					} else {
						alert(jsonObj.customMsg);
					}
				}
			});
};
var json = function(form) {
	if (!(form.ajaxUrl && form.ajaxUrl.length > 0)) {
		alert("操作失败！未知表单提交的目标地址.");
	}
	SFT.Transport.fetchJsonObj({
				url : form.ajaxUrl,
				method : "POST",
				content : buildFormParams(form),
				async : false,
				onLoad : function(jsonObj) {
					alert(jsonObj.customMsg);
					if (jsonObj.success) {
						form.reset();
					}
				}
			});
};
// JavaScript Document
function writeflashhtml(arg) {
	var parm = [];
	var _default_version = "8,0,24,0";
	var _default_quality = "high";
	var _default_align = "middle";
	var _default_menu = "false";
	for (i = 0; i < arguments.length; i++) {
		parm[i] = arguments[i].split(" ").join("").split("=");
		for (var j = parm[i].length - 1; j > 1; j--) {
			parm[i][j - 1] += "=" + parm[i].pop();
		}
		switch (parm[i][0]) {
			case "_version" :
				var _version = parm[i][1];
				break;
			case "_swf" :
				var _swf = parm[i][1];
				break;
			case "_base" :
				var _base = parm[i][1];
				break;
			case "_quality" :
				var _quality = parm[i][1];
				break;
			case "_loop" :
				var _loop = parm[i][1];
				break;
			case "_bgcolor" :
				var _bgcolor = parm[i][1];
				break;
			case "_wmode" :
				var _wmode = parm[i][1];
				break;
			case "_play" :
				var _play = parm[i][1];
				break;
			case "_menu" :
				var _menu = parm[i][1];
				break;
			case "_scale" :
				var _scale = parm[i][1];
				break;
			case "_salign" :
				var _salign = parm[i][1];
				break;
			case "_height" :
				var _height = parm[i][1];
				break;
			case "_width" :
				var _width = parm[i][1];
				break;
			case "_hspace" :
				var _hspace = parm[i][1];
				break;
			case "_vspace" :
				var _vspace = parm[i][1];
				break;
			case "_align" :
				var _align = parm[i][1];
				break;
			case "_class" :
				var _class = parm[i][1];
				break;
			case "_id" :
				var _id = parm[i][1];
				break;
			case "_name" :
				var _name = parm[i][1];
				break;
			case "_style" :
				var _style = parm[i][1];
				break;
			case "_declare" :
				var _declare = parm[i][1];
				break;
			case "_flashvars" :
				var _flashvars = parm[i][1];
				break;
			default :
		}
	}
	var thtml = "";
	thtml += "<object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="
			+ ((_version) ? _version : _default_version) + "'";
	if (_width) {
		thtml += " width='" + _width + "'";
	}
	if (_height) {
		thtml += " height='" + _height + "'";
	}
	if (_hspace) {
		thtml += " hspace='" + _hspace + "'";
	}
	if (_vspace) {
		thtml += " vspace='" + _vspace + "'";
	}
	if (_align) {
		thtml += " align='" + _align + "'";
	} else {
		thtml += " align='" + _default_align + "'";
	}
	if (_class) {
		thtml += " class='" + _class + "'";
	}
	if (_id) {
		thtml += " id='" + _id + "'";
	}
	if (_name) {
		thtml += " name='" + _name + "'";
	}
	if (_style) {
		thtml += " style='" + _style + "'";
	}
	if (_declare) {
		thtml += " " + _declare;
	}
	thtml += ">";
	if (_swf) {
		thtml += "<param name='movie' value='" + _swf + "'>";
	}
	if (_quality) {
		thtml += "<param name='quality' value='" + _quality + "'>";
	} else {
		thtml += "<param name='quality' value ='" + _default_quality + "'>";
	}
	if (_loop) {
		thtml += "<param name='loop' value='" + _loop + "'>";
	}
	if (_bgcolor) {
		thtml += "<param name='bgcolor' value='" + _bgcolor + "'>";
	}
	if (_play) {
		thtml += "<param name='play' value='" + _play + "'>";
	}
	if (_menu) {
		thtml += "<param name='menu' value='" + _menu + "'>";
	} else {
		thtml += "<param name='menu' value='" + _default_menu + "'>";
	}
	if (_scale) {
		thtml += "<param name='scale' value='" + _scale + "'>";
	}
	if (_salign) {
		thtml += "<param name='salign' value='" + _salign + "'>";
	}
	if (_wmode) {
		thtml += "<param name='wmode' value='" + _wmode + "'>";
	}
	if (_base) {
		thtml += "<param name='base' value='" + _base + "'>";
	}
	if (_flashvars) {
		thtml += "<param name='flashvars' value='" + _flashvars + "'>";
	}
	thtml += "<embed pluginspage='http://www.macromedia.com/go/getflashplayer'";
	if (_width) {
		thtml += " width='" + _width + "'";
	}
	if (_height) {
		thtml += " height='" + _height + "'";
	}
	if (_hspace) {
		thtml += " hspace='" + _hspace + "'";
	}
	if (_vspace) {
		thtml += " vspace='" + _vspace + "'";
	}
	if (_align) {
		thtml += " align='" + _align + "'";
	} else {
		thtml += " align='" + _default_align + "'";
	}
	if (_class) {
		thtml += " class='" + _class + "'";
	}
	if (_id) {
		thtml += " id='" + _id + "'";
	}
	if (_name) {
		thtml += " name='" + _name + "'";
	}
	if (_style) {
		thtml += " style='" + _style + "'";
	}
	thtml += " type='application/x-shockwave-flash'";
	if (_declare) {
		thtml += " " + _declare;
	}
	if (_swf) {
		thtml += " src='" + _swf + "'";
	}
	if (_quality) {
		thtml += " quality='" + _quality + "'";
	} else {
		thtml += " quality='" + _default_quality + "'";
	}
	if (_loop) {
		thtml += " loop='" + _loop + "'";
	}
	if (_bgcolor) {
		thtml += " bgcolor='" + _bgcolor + "'";
	}
	if (_play) {
		thtml += " play='" + _play + "'";
	}
	if (_menu) {
		thtml += " menu='" + _menu + "'";
	} else {
		thtml += " menu='" + _default_menu + "'";
	}
	if (_scale) {
		thtml += " scale='" + _scale + "'";
	}
	if (_salign) {
		thtml += " salign='" + _salign + "'";
	}
	if (_wmode) {
		thtml += " wmode='" + _wmode + "'";
	}
	if (_base) {
		thtml += " base='" + _base + "'";
	}
	if (_flashvars) {
		thtml += " flashvars='" + _flashvars + "'";
	}
	thtml += "></embed>";
	thtml += "</object>";
	document.write(thtml);
}
function sftOutlookClick(obj) {
	var toLi = obj;
	if (toLi.tagName.toLowerCase() == "div") {
		toLi = toLi.parentElement;
	} else {
		return;
	}
	if (toLi.children) {
		for (var i = toLi.children.length - 1; i >= 0; i--) {
			var ul = toLi.children[i];
			if (ul.tagName.toLowerCase() == "ul") {
				if (ul.style.display == "block") {
					ul.style.display = "none";
				} else {
					ul.style.display = "block";
				}
				break;
			}
		}
	}
}
function mouseOverFun(obj) {
	var toLi = event.toElement;
	if (toLi == obj) {
		return false;
	}
	if (toLi.tagName.toLowerCase() == "a" || toLi.tagName.toLowerCase() == "ul") {
		toLi = toLi.parentElement;
	}
	if (toLi.children[1]) {
		toLi.children[1].style.display = "block";
	}
}
function onmouseOutFun(obj) {
	var fromLi = event.fromElement;
	var eventToElement = event.toElement;
	if (fromLi == obj) {
		return false;
	}
	if (fromLi.tagName.toLowerCase() == "a"
			|| fromLi.tagName.toLowerCase() == "ul") {
		fromLi = fromLi.parentElement;
	}
	if (fromLi.contains(eventToElement)) {
		return false;
	}
	if (fromLi.children[1]) {
		fromLi.children[1].style.display = "none";
	}
	var maxLevel = 10;
	while (maxLevel-- > 0) {
		fromLi = fromLi.parentElement.parentElement;
		if (fromLi.contains(obj)
				|| (fromLi.tagName.toLowerCase() != "li" && fromLi.tagName
						.toLowerCase() != "td")
				|| fromLi.contains(eventToElement)) {
			break;
		}
		fromLi.children[1].style.display = "none";
	}
}
