//top menu ---------------------
function initNavMain() {
	var obj = lizux.byClass("navMain")[0];
	if (!obj) {
		return;
	}
	var objLis = lizux.childs(obj);
	for(var i=0;i<objLis.length;i++) {
		var childSub = lizux.byClass("sub","span",objLis[i]);
		if (childSub.length) {
			var tempText = document.createTextNode("▼");
			var temp = document.createElement("span");
			temp.appendChild(tempText);
			objLis[i].firstChild.appendChild(temp);
			objLis[i].onmouseenter = function() {
				lizux.sClass(this,"add","hover");
			}
			objLis[i].onmouseleave = function() {
				lizux.sClass(this,"remove","hover");
			}
		};
	}
}
//top menu ---------------------
//I want ---------------------
function initIWant() {
	var obj = lizux.byClass("iWant","div")[0];
	if (!obj) {
		return;
	}
	var childSub = lizux.tag("ul",obj);
	if (childSub.length) {
		obj.onmouseenter = function() {
			lizux.sClass(this,"add","hover");
		}
		obj.onmouseleave = function() {
			lizux.sClass(this,"remove","hover");
		}
	};
}
//I want ---------------------
//left sider---------------
function initNavSpace() {
	var obj = lizux.byClass("navSpace")[0];
	if (!obj) {
		return;
	}
	var objLis = lizux.childs(obj);
	for(var i=0;i<objLis.length;i++) {
		if (lizux.tag("li",objLis[i]).length) {
			objLis[i].aid = i;
			if (lizux.readCookie(objLis[i].aid)) {
				lizux.sClass(objLis[i],"add","open");
			} else {
				lizux.sClass(objLis[i],"add","close");
			}
			var tempLink = lizux.tag("a",objLis[i])[0];
			var _ = function(e) {
				var evt = e || window.event;
				if (evt.preventDefault) {
					evt.preventDefault();
				}
				evt.returnValue = false;
				if (lizux.sClass(this.parentNode,"check","open")) {
					lizux.sClass(this.parentNode,"swap","open","close");
					lizux.removeCookie(this.parentNode.aid);
				} else {
					lizux.sClass(this.parentNode,"swap","close","open");
					lizux.createCookie(this.parentNode.aid,"open");
				}
			}
			tempLink.onclick = _;
			href = objLis[i].firstChild.href;
			if(href=='#'||href==window.location+'#'){
				objLis[i].firstChild.href = "javascript:void(0)";
			}
			tempLink.onfocus = function() {
				this.blur();
			}
		};
		var tempSpan = lizux.tag("span",lizux.childs(objLis[i])[0])[0];
		if (tempSpan) {
			tempSpan.onmouseenter = function() {
				lizux.sClass(this,"add","hover");
			}
			tempSpan.onmouseleave = function() {
				lizux.sClass(this,"remove","hover");
			}
			tempSpan.onclick = function(e) {
				var evt = e || window.event;
				if (evt.stopPropagation) {
					evt.stopPropagation();
				}
				evt.cancelBubble = true;
				window.location = this.parentNode.href;
			}
		}
	}
}
//left sider---------------
//button close ---------------------
function initBtnClose() {
	var obj = lizux.byClass("btnClose","a");
	for (var i=0; i<obj.length; i++) {
		var local = obj[i].href;
		if (local.indexOf("#") != -1) {
			obj[i].relObj = lizux.id(local.substring(local.indexOf("#") + 1));
			if (obj[i].relObj) {
				obj[i].onclick = function(e) {
					var evt = e || window.event;
					evt.returnValue = false;
					for (var j = 0; tempNode=lizux.tag("*",this.relObj)[j]; j++) {
						if (tempNode.style.display == "block") {
							tempNode.style.display = "none";
						}
					}
					this.relObj.style.display = "none";
					var cover = lizux.id("coverLayer");
					if (cover) {
						cover.style.display = "none";
					}
					reflow();
					return false;
				}
			}
		}
	}
}
//button close ---------------------
//personal status ---------------------
function initPersonStatus() {
	var per_status = lizux.id("personEventStatus");
	var orgstatus = per_status ? per_status.innerHTML : "";

	initInnerLink();

	var per_input = lizux.id("person-status-info");
	var per_list = lizux.id("perStatusList");
	if (!per_input) {
		return;
	}
	per_input.onclick = function(e) {
		var evt = e || window.event;
		if (evt.stopPropagation) {
			evt.stopPropagation();
		}
		evt.cancelBubble = true;
		if (per_list) {
			per_list.style.display = "block";
			per_list.style.left = this.offsetLeft +"px";
			per_list.style.top = this.offsetTop + 20 +"px";
			per_list.style.width = this.scrollWidth + "px";
		}
	}
	if (per_list) {
		per_input.onkeydown = function() {
			per_list.style.display = "none";
		}
		addEvent(document,"click",function() {
			if (per_list.style.display == "block") {
				per_list.style.display = "none";
			}
		});
		for (var j = 0; tempNode=lizux.tag("a",per_list)[j]; j++) {
			tempNode.onclick = function(e) {
				var evt = e || window.event;
				evt.returnValue = false;
				per_input.value = this.innerText || this.textContent;
				per_list.style.display = "none";
				return false;
			}
		}
	}

	var per_btn = lizux.id("person-status-submit");
	var per_btnclose = lizux.byClass("btnClose","a",lizux.id("perStatus"))[0];
	var per_event = lizux.byClass("personEvent","div")[0];
	if (per_btn && per_event) {
		per_btn.onclick = function(e) {
			var evt = e || window.event;
			if (evt.preventDefault) {
				evt.preventDefault();
			}
			evt.returnValue = false;
			if (per_input.value) {
				orgstatus = per_input.value;
				submitState();
				per_event.innerHTML = '我正在'+per_input.value+'<br/><a href="#perStatus" class="innerLink">[编辑状态]</a>';
				initInnerLink();
			} else {
				orgstatus = "";
				submitState();
				per_event.innerHTML = '<a href="#perStatus" class="innerLink">你正在做什么？</a>';
				initInnerLink();
			}
			if (per_btnclose) {
				per_btnclose.click();
			}
		}
	}

	function initInnerLink() {
		var obj = lizux.byClass("innerLink","a");
		for (var i=0; i<obj.length; i++) {
			var local = obj[i].href;
			if (local.indexOf("#") != -1) {
				obj[i].relObj = lizux.id(local.substring(local.indexOf("#") + 1));
				if (obj[i].relObj) {
					obj[i].onclick = showDialog;
				}
			}
		}
	}
	function showDialog(e) {
		var evt = e || window.event;
		evt.returnValue = false;
		this.relObj.style.display = "block";
		this.relObj.style.left = lizux.getPos(this).x + this.scrollWidth +"px";
		this.relObj.style.top = lizux.getPos(this).y - this.relObj.scrollHeight + 28 +"px";
		var per_input = lizux.id("person-status-info");
		if (per_input) {
			per_input.value = orgstatus;
		}
		return false;
	}
}
//personal status ---------------------
//personal preview ---------------------
function initPersonPreview() {
	var obj = lizux.byClass("innerHover","a");
	for (var i=0; i<obj.length; i++) {
		var local = obj[i].href;
		if (local.indexOf("#") != -1) {
			obj[i].relObj = lizux.id(local.substring(local.indexOf("#") + 1));
			if (obj[i].relObj) {
				obj[i].relObj.oriObj = obj[i];
				obj[i].onmouseover = function() {
					this.relObj.style.display = "block";
					this.relObj.style.left = lizux.getPos(this).x - this.relObj.scrollWidth + 2 +"px";
					this.relObj.style.top = lizux.getPos(this).y - 12 +"px";
				}
				obj[i].onmouseout = function(e) {
					var evt = e || window.event;
					var evtRel = evt.relatedTarget || evt.toElement;
					if (!lizux.has(this.relObj,evtRel)) {
						this.relObj.style.display = "none";
					}
				}
				obj[i].onclick = function(e) {
					var evt = e || window.event;
					evt.returnValue = false;
					return false;
				}
				if (msie) {
					obj[i].relObj.onmouseleave = function(e) {
						var evtRel = window.event.toElement;
						if (!lizux.has(this.oriObj,evtRel)) {
							this.style.display = "none";
						}
					}
				} else {
					obj[i].relObj.onmouseout = function(e) {
						var evt = e || window.event;
						var evtRel = evt.relatedTarget || evt.toElement;
						if (this!=evtRel && !lizux.has(this,evtRel) && !lizux.has(this.oriObj,evtRel)) {
							this.style.display = "none";
						}
					}
				}
			}
		}
	}
}
//personal preview ---------------------
//add friends ---------------------
function initAddFriends() {
	var allLink = lizux.id("select-all");
	if (allLink) {
		allLink.checked = false;
		allLink.onclick = function() {
			allCheckSame(this,this.form);
		};
	}
	var removeAll = lizux.id("removeAll");
	if (removeAll) {
		removeAll.onclick = function() {
			allLink.checked = false;
			allCheckSame(allLink,allLink.form);
		};
	}
	if (! lizux.id("sectPick") || ! lizux.id("sectInvite")) {
		return;
	}
	var boxFrom = lizux.byClass("pickContainer","div",lizux.id("sectPick"))[0].getElementsByTagName("ul")[0];
	var boxTo = lizux.byClass("pickContainer","div",lizux.id("sectInvite"))[0].getElementsByTagName("ul")[0];
	if (! boxFrom || ! boxTo) {
		return;
	}
	var tfCheckbox = lizux.tag("input",boxFrom);
	selectedPeople = [];
	for(var i=0;i<tfCheckbox.length;i++){
		if (tfCheckbox[i].type=="checkbox") {
			tfCheckbox[i].checked = false;
			tfCheckbox[i].parentNode.parentNode.off = true;
			tfCheckbox[i].onclick = function() {
				if (!this.checked) {
					removeItem(this);
				} else {
					if (this.parentNode.parentNode.off) {
						var temp = this.parentNode.parentNode.cloneNode(true);
						this.parentNode.parentNode.off = false;
						lizux.delNode(lizux.tag("input",temp)[0].parentNode);
						var tempTd = document.createElement("div");
						tempTd.className = "action";
						var tempA = document.createElement("a");
						tempA.href = "javascript:;";
						tempA.onclick = function() {
							removeItem(this);
						};
						tempA.orgObj = this;
						var tempText = document.createTextNode("删除");
						tempA.appendChild(tempText);
						tempTd.appendChild(tempA);
						temp.appendChild(tempTd);
						this.relObj = temp;
						boxTo.appendChild(temp);
						selectedPeople.push(this.id);
					}
				}
			}
		}
	}
	function removeItem(obj) {
		if (obj.orgObj) {
			obj.orgObj.checked = false;
			lizux.delNode(obj.parentNode.parentNode);
			obj.orgObj.parentNode.parentNode.off = true;
			lizux.delArr(selectedPeople,obj.orgObj.id);
		} else {
			lizux.delNode(obj.relObj);
			obj.parentNode.parentNode.off = true;
			lizux.delArr(selectedPeople,obj.id);
		}
		allLink.checked = false;
	}
}
//add friends ---------------------
//modify input in IE ---------------------
function initInputBox() {
	if (msie) {
		var inputs = lizux.tag("input");
		for (var i=0; i<inputs.length; i++) {
			if (inputs[i].type == "text" || inputs[i].type == "password") {
				lizux.sClass(inputs[i],"add","inputBox");
			}
		}
	}
}
//modify input in IE ---------------------
//poll tab switch ---------------------
function initPollTab() {
	var pollTab = lizux.byClass("pollTab","ul")[0];
	if (!pollTab) {
		return;
	}
	var temp;
	for (var i=0; temp=lizux.tag("a",pollTab)[i]; i++) {
		var local = temp.href;
		if (local.indexOf("#") != -1) {
			temp.relObj = lizux.id(local.substring(local.indexOf("#") + 1));
			if (temp.relObj) {
				temp.onclick = showNow;
			}
		}
	}
}
//poll tab switch ---------------------
//display the current item ---------------------
function showNow() {
	var temp;
	for (var i=0; temp=lizux.tag("a",this.parentNode.parentNode)[i]; i++) {
		if (temp.relObj) {
			temp.parentNode.className = "";
			temp.relObj.style.display = "none";
		}
	}
	if (this.relObj) {
		this.parentNode.className = "active";
		this.relObj.style.display = "";
	}
	return false;
}
//display the current item ---------------------
//toggle item ---------------------
function toggleShow(obj,cookie) {
	var local = obj.href;
	if (local.indexOf("#") != -1) {
		var id = local.substring(local.indexOf("#") + 1);
		obj.relObj = lizux.id(id);
		if (!obj.relObj) {
			return;
		}
	}
	if (!obj.orgText) {
		obj.orgText = obj.innerHTML;
	}
	if (obj.relObj.style.display == "none") {
		obj.innerHTML = "隐藏" + obj.orgText.substring(2,obj.orgText.length);
		obj.relObj.style.display = "";
		if (cookie) {
			lizux.createCookie(id,"open")
		}
	} else {
		obj.innerHTML = obj.orgText;
		obj.relObj.style.display = "none";
		if (cookie) {
			lizux.removeCookie(id)
		}
	}
	return false;
}
//toggle item ---------------------
if (window.lizux) {
	lizux.domReady(initNavMain);
	lizux.domReady(initIWant);
	lizux.domReady(initNavSpace);
	lizux.domReady(initBtnClose);
	lizux.domReady(initPersonStatus);
	lizux.domReady(initPersonPreview);
	lizux.domReady(initAddFriends);
	lizux.domReady(initInputBox);
	lizux.domReady(initPollTab);
}