﻿var dadHandlersL=[];
var dadHandlersR=[];
function editModule(){
	if(!zone.editAble)return;
	if("edit"==zone.editMode)return;
	zone.editMode="edit";
	//左侧部分
	var left=$("left");
	Element.cleanWhitespace(left);
	var sidebar=left.childNodes;
	for(var i=0;i<sidebar.length;i++){
		if(sidebar[i].getAttribute("moveable")){
			Element.cleanWhitespace(sidebar[i]);
			var hdl=sidebar[i].firstChild;
			dadHandlersL.push(DragAndDrop.makeDragAble(hdl,hdl.parentNode,true,true));
			dadHandlersL[dadHandlersL.length-1].onclose=hiddenModule.bind(window,dadHandlersL[dadHandlersL.length-1],0);
			dadHandlersL[dadHandlersL.length-1].onsetModule=setModule.bind(window,dadHandlersL[dadHandlersL.length-1],"moduleName",0);
		}
	}
	//右侧部分
	var right=$("right");
	Element.cleanWhitespace(right);
	var mainbody=right.childNodes;
	for(var i=0;i<mainbody.length;i++){
		if(mainbody[i].getAttribute("moveable")){
			Element.cleanWhitespace(mainbody[i]);
			var hdr=mainbody[i].firstChild;
			dadHandlersR.push(DragAndDrop.makeDragAble(hdr,hdr.parentNode,true,true));
			dadHandlersR[dadHandlersR.length-1].onclose=hiddenModule.bind(window,dadHandlersR[dadHandlersR.length-1],1);
			dadHandlersR[dadHandlersR.length-1].onsetModule=setModule.bind(window,dadHandlersR[dadHandlersR.length-1],"moduleName",1);
		}
	}
}
function saveModule(){
	if(!zone.editAble)return;
	if("normal"==zone.editMode)return;
	//保存左侧数据
	var left=$("left");
	var right=$("right");
	Element.cleanWhitespace(left);
	var sidebar=left.childNodes;
	Element.cleanWhitespace(right);
	var mainbody=right.childNodes;
	var xml="<sortSort>";
	xml+="<sideBar>";
	for(var i=0;i<sidebar.length;i++){
		if(sidebar[i].getAttribute("moveable")){
			Element.cleanWhitespace(sidebar[i]);
			var sortId=sidebar[i].id;
			var clsName=sidebar[i].className;
			xml+="<sort id=\""+sortId+"\" index=\""+(i+1)+"\" className=\""+clsName+"\"/>";
		}
	}
	xml+="</sideBar>";
	xml+="<mainBody>";
	for(var i=0;i<mainbody.length;i++){
		if(mainbody[i].getAttribute("moveable")){
			Element.cleanWhitespace(mainbody[i]);
			var sortId=mainbody[i].id;
			var clsName=mainbody[i].className;
			xml+="<sort id=\""+sortId+"\" index=\""+(i+1)+"\" className=\""+clsName+"\"/>";
		}
	}
	xml+="</mainBody>";
	xml+="</sortSort>";
	var option={
		parameters:"action=sortSort&xml="+escape(xml)+"&s="+Math.random(),
		method:'post',
		onSuccess:function(transport){
			var ret=eval("("+transport.responseText+")");
			if(ret.state=="nologin"){
				//if(confirm(ret.msg)){window.location='/login.aspx';return true;}else{return false;}
				ymPrompt.win({title:'登录女娲网',fixPosition:true,width:300,height:250,iframe:{id:'myId',name:'myName',src:'/login.html?handler=handleLogin'}});
			    return false;
			}
			if(ret.state=="ok"){
				//处理成功保存
				zone.editMode="normal";
				for(var i=0;i<dadHandlersL.length;i++){
					dadHandlersL[i].stopDragAble();
				}
				for(var i=0;i<dadHandlersR.length;i++){
					dadHandlersR[i].stopDragAble();
				}
				dadHandlersL.length=0;
				dadHandlersR.length=0;
				//更换保存链接
				zone.edited=false;
				intIndexEdit();
			}else{
				alert(ret.msg);
				return false;
			}
		},
		onFailure:function(transport){
			alert("保存模块失败,请稍候重试或联系管理员...");
		}
	}
	var request=new Ajax.Request("/AjaxHandler.aspx",option);
	request=null
}
//隐藏一个模块
function hiddenModule(dadHandler,position){
	var _sortId=dadHandler.realEffectElement.id;
	var option={
		parameters:"action=hidSort&sid="+_sortId+"&ps="+position+"&s="+Math.random(),
		method:'post',
		onSuccess:function(transport){
			var ret=eval("("+transport.responseText+")");
			if(ret.state=="nologin"){
				//if(confirm(ret.msg)){window.location='/login.aspx';return true;}else{return false;}
				ymPrompt.win({title:'登录女娲网',fixPosition:true,width:300,height:250,iframe:{id:'myId',name:'myName',src:'/login.html?handler=handleLogin'}});
			    return false;
			}
			if(ret.state=="ok"){
				dadHandler.realEffectElement.parentNode.removeChild(dadHandler.realEffectElement);
			}else{
				alert(ret.msg);
				return false;
			}
		},
		onFailure:function(transport){
			alert("隐藏模块失败,请稍候重试或联系管理员...")
		}
	}
	var request=new Ajax.Request("/AjaxHandler.aspx",option);
	request=null
}
//左右交换
function exchangeModule(){
	var option={
		parameters:"action=exmod&mod="+zone.webLayout.toString()+"&s="+Math.random(),
		method:'post',
		onSuccess:function(transport){
			var ret=eval("("+transport.responseText+")");
			if(ret.state=="nologin"){
				//if(confirm(ret.msg)){window.location='/login.aspx';return true;}else{return false;}
				ymPrompt.win({title:'登录女娲网',fixPosition:true,width:300,height:250,iframe:{id:'myId',name:'myName',src:'/login.html?handler=handleLogin'}});
			    return false;
			}
			if(ret.state=="ok"){
				$("left").style.styleFloat=$("left").style.styleFloat=="right"?"left":"right";
				$("right").style.styleFloat=$("right").style.styleFloat=="right"?"left":"right";
				if(zone.webLayout.toString()=="1,2"){
					zone.webLayout=[2,1];
				}else{
					zone.webLayout=[1,2];
				}
			}else{
				alert(ret.msg);
				return false;
			}
		},
		onFailure:function(transport){
			alert("交换模块失败,请稍候重试或联系管理员...")
		}
	}
	var request=new Ajax.Request("/AjaxHandler.aspx",option);
	request=null
}
function getSortId(_dl){
	if(!_dl.className)return"";
	return _dl.className.split(" ")[1];
}
function getSortIdP(_dl,i){
	if(!_dl.className)return"";
	return _dl.className.split(" ")[i];
}
//设置模块信息
function setModule(dadHandler,moduleName,position){
	var v="";
	switch(moduleName){
//			case "moduleName":
//				v=window.showModalDialog("moduleHandle.html?model="+moduleName,"dialogWidth:270px;dialogHeight:140px;status:'no'"); 
//				if(v!=""){
//					alert(v);
//				}
//				break;
	}
}

//初始化首页编辑
function intIndexEdit(){
	if(!zone.editAble)return;
	if(!$("extMenu"))return;
	var extMenu=$("extMenu");
	extMenu.innerHTML="";
	var editLink=document.createElement("a");
	var saveLink,exchLink,cancleLink;
	editLink.href="javascript:void(0)";
	editLink.innerHTML="编辑模板";
	extMenu.appendChild(editLink);
	extMenu.title="可以设置模块的可见、交换左右模块位置\n排列模块顺序等操作";
	editLink.onclick=function(){
		editModule();
		extMenu.removeChild(editLink)
		//设置模板
		var setLink=document.createElement("a");
		setLink.href="javascript:void(0)";
		setLink.onclick=function(){
			if($("setMd")){
				//document.removeChild($("setMd"))
				$("setMd").parentNode.removeChild($("setMd"))
				//$("setMd").style.display="";
				//return;
			}
			var setMd=document.createElement("div");
			setMd.id="setMd";
			var option={
				parameters:"action=modulelist&s="+Math.random(),
				method:'post',
				onSuccess:function(transport){
					var ret=eval("("+transport.responseText+")");
					if(ret.state=="nologin"){
						//if(confirm(ret.msg)){window.location='/login.aspx';return true;}else{return false;}
						setMd.style.display="none";
						ymPrompt.win({title:'登录女娲网',fixPosition:true,width:300,height:250,iframe:{id:'myId',name:'myName',src:'/login.html?handler=handleLogin'}});
			            return false;
					}
					if(ret.state=="ok"){
						setMd.innerHTML="<div class=\"TMDHD\"><div class=\"titleTMD\">选择欲显示的模块</div><div class=\"closeSTMD\" onclick=\"this.parentNode.parentNode.style.display='none';\" title=\"关闭模块设置\" style=\"cursor:pointer;\">关闭</div></div><ul>"+ret.msg+"</ul><div class=\"divState\"><a href=\"javascript:void(0)\" onclick=\"window.location.reload(true)\" title=\"设置模块后需要点保存页面才可以看到\">保 存</a></div>";
					}else{
						alert(ret.msg);
						return false;
					}
				},
				onFailure:function(transport){
					alert("获取模块失败,请稍候重试或联系管理员...")
				}
			}
			var request=new Ajax.Request("/AjaxHandler.aspx",option);
			request=null
//				var h=document.documentElement.scrollTop+(document.documentElement.offsetHeight-setMd.offsetHeight)/2-250;
//				var w=document.documentElement.scrollLeft+(document.documentElement.offsetWidth-500)/2;
			var h=Event.pointerY(event);
			var w=Event.pointerX(event);
			setMd.className="ModuleList";
			setMd.style.right=(document.documentElement.clientWidth-w)+"px";
			setMd.style.top=(h+22)+"px";
			setMd.style.position="absolute";
			document.body.appendChild(setMd);
		};
		setLink.innerHTML="设置内容";
		setLink.title="设置模块的可见\n设置完成后点请保存";
		extMenu.appendChild(setLink);
		//交换左右模板
		exchLink=document.createElement("a");
		exchLink.href="javascript:void(0)";
		exchLink.onclick=exchangeModule;
		exchLink.innerHTML="左右交换";
		exchLink.title="交换左右模块位置\n无需点保存排序";
		extMenu.appendChild(exchLink);
		//保存模板
		saveLink=document.createElement("a");
		saveLink.href="javascript:void(0)";
		saveLink.onclick=function(){
			saveModule();
		}
		saveLink.innerHTML="保存排序";
		saveLink.title="设置了模块的位置顺序\n请记住点此按钮"
		extMenu.appendChild(saveLink);
		//取消模板保存
		cancleLink=document.createElement("a");
		cancleLink.href="javascript:void(0)";
		cancleLink.onclick=function(){
			zone.editMode="normal";
			for(var i=0;i<dadHandlersL.length;i++){
				dadHandlersL[i].stopDragAble();
			}
			for(var i=0;i<dadHandlersR.length;i++){
				dadHandlersR[i].stopDragAble();
			}
			dadHandlersL.length=0;
			dadHandlersR.length=0;
			if($("setMd")){
				$("setMd").parentNode.removeChild($("setMd"))
			}
			zone.edited=false;
			intIndexEdit();
		};
		cancleLink.innerHTML="取消编辑";
		cancleLink.title="放弃刚才模块位置顺序排列\n但不影响设置模块、隐藏模块、左右交换功能";
		extMenu.appendChild(cancleLink);
	}
}
//初始化首页内容
function intContent(){
	if(zone.webLayout.toString()=="1,2"){
		$("left").style.styleFloat="left";
		$("right").style.styleFloat="left";
	}else{
		$("left").style.styleFloat="right";
		$("right").style.styleFloat="right";
	}
}
//设置模块的显示和隐藏
function SHModule(id,position,sh){
	var option={
		parameters:"action=shmodule&sid="+id+"&ps="+position+"&sh="+(sh?1:0)+"&s="+Math.random(),
		method:'post',
		onSuccess:function(transport){
			var ret=eval("("+transport.responseText+")");
			if(ret.state=="nologin"){
				//if(confirm(ret.msg)){window.location='/login.aspx';return true;}else{return false;}
				ymPrompt.win({title:'登录女娲网',fixPosition:true,width:300,height:250,iframe:{id:'myId',name:'myName',src:'/login.html?handler=handleLogin'}});
			    return false;
			}
			if(ret.state=="ok"){
				if(sh){
					if($(id)){
						$(id).style.display="";
						return;
					}
					if(position){
						//主题
						//$("right").appendChild()
					}else{
						//侧栏
						//$("left").appendChild()
					}
				}else{
					$(id).style.display="none";
				}
			}else{
				alert(ret.msg);
				return false;
			}
		},
		onFailure:function(transport){
			alert("设置模块隐藏显示失败,请稍候重试或联系管理员...")
		}
	}
	var request=new Ajax.Request("/AjaxHandler.aspx",option);
	request=null
}
//对已发生变化但未保存做出提醒
window.onunload=function(){
	if(zone.edited){if(window.confirm("你已编辑了首页模板信息，但是还未保存，现在保存么?")){saveModule()}}
}
var loadDiv=null
function loadIndexBody(){
	if(!loadDiv){
		loadDiv=document.createElement("div");
		loadDiv.id="loadDiv";
		loadDiv.innerHTML="正在加载首页内容..."
		if($("BodyFrame"))$("BodyFrame").appendChild(loadDiv);
	}
}
var stopObserver=false;
var sto=window.setTimeout(function(){
	if(!stopObserver){
		if($("indexBody")){
			if($("loadDiv")){
				$("loadDiv").style.display="none";
				loadDiv=null;
			}
			$("indexBody").style.display="block";
			stopObserver=true;
			window.clearTimeout(sto);
		}
	}
},1000)
