function tf(){
	return parseInt(document.getElementById("allf").getAttribute("tf"));
}
String.prototype.trim=function(){    
    return this.replace(/(^\s*)|(\s*$)/g, '');   
}
var Demos       = [];
var mouseOffset = null;
var iMouseDown  = false;
var lMouseState = false;
var needSave = false;
var dragObject  = null;

// Demo 0 variables
var DragDrops   = [];
var curTarget   = null;
var lastTarget  = null;
var dragHelper  = null;
var tempDiv     = null;
var rootParent  = null;
var rootSibling = null;
//var nImg        = new Image();

var bnid = null;

//nImg.src        = 'images/drag_drop_poof.gif';

// Demo1 variables
var D1Target    = null;

Number.prototype.NaN0=function(){return isNaN(this)?0:this;}

function CreateDragContainer(){
	var cDrag        = DragDrops.length;
	DragDrops[cDrag] = [];
	for(var i=0; i<arguments.length; i++){
		var cObj = arguments[i];
		DragDrops[cDrag].push(cObj);
		cObj.setAttribute('DropObj', cDrag);
		for(var j=0; j<cObj.childNodes.length; j++){
			if(cObj.childNodes[j].nodeName=='#text') continue;
			cObj.childNodes[j].setAttribute('DragObj', cDrag);
			
		}
	}
}

function getPosition(e){
	var left = 0;
	var top  = 0;
	while (e.offsetParent){
		left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
		top  += e.offsetTop  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
		e     = e.offsetParent;
	}


	left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
	top  += e.offsetTop  + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);

	return {x:left, y:top};

}

function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}

function getMouseOffset(target, ev){
	ev = ev || window.event;

	var docPos    = getPosition(target);
	var mousePos  = mouseCoords(ev);
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}

function mouseMove(ev){

	ev         = ev || window.event;
	var target   = ev.target || ev.srcElement;
	var mousePos = mouseCoords(ev);

	if(Demos[0]){
		if(lastTarget && (target!==lastTarget)){
			var origClass = lastTarget.getAttribute('origClass');
			if(origClass) lastTarget.className = origClass;
			//alert(origClass);
		}

		var dragObj = target.getAttribute('DragObj');

		if(dragObj!=null){
			if(target!=lastTarget){
				var oClass = target.getAttribute('overClass');
				if(oClass){
					target.setAttribute('origClass', target.className);
					target.className = oClass;
				}
			}
			
				//alert(iMouseDown+lMouseState	);
			if(iMouseDown && !lMouseState){
				curTarget     = target;
				rootParent    = curTarget.parentNode;
				rootSibling   = curTarget.nextSibling;
				mouseOffset   = getMouseOffset(target, ev);
				for(var i=0; i<dragHelper.childNodes.length; i++) dragHelper.removeChild(dragHelper.childNodes[i]);

				dragHelper.appendChild(curTarget.cloneNode(true));
				dragHelper.style.display = 'block';

				var dragClass = curTarget.getAttribute('dragClass');
					//alert(dragClass);
				if(dragClass){
					dragHelper.firstChild.className = dragClass;
				}

				dragHelper.firstChild.removeAttribute('DragObj');
				var dragConts = DragDrops[dragObj];
				curTarget.setAttribute('startWidth',  parseInt(curTarget.offsetWidth));
				curTarget.setAttribute('startHeight', parseInt(curTarget.offsetHeight));
				curTarget.style.display  = 'none';

				for(var i=0; i<dragConts.length; i++){
					with(dragConts[i]){
						var pos = getPosition(dragConts[i]);
						setAttribute('startWidth',  parseInt(offsetWidth));
						setAttribute('startHeight', parseInt(offsetHeight));
						setAttribute('startLeft',   pos.x);
						setAttribute('startTop',    pos.y);
					}

					for(var j=0; j<dragConts[i].childNodes.length; j++){
						with(dragConts[i].childNodes[j]){
							if((nodeName=='#text') || (dragConts[i].childNodes[j]==curTarget)) continue;

							var pos = getPosition(dragConts[i].childNodes[j]);
							setAttribute('startWidth',  parseInt(offsetWidth));
							setAttribute('startHeight', parseInt(offsetHeight));
							setAttribute('startLeft',   pos.x);
							setAttribute('startTop',    pos.y);
						}
					}
				}
			}
		}

		if(curTarget){
			dragHelper.style.top  = mousePos.y - mouseOffset.y;
			dragHelper.style.left = mousePos.x - mouseOffset.x;

			var dragConts  = DragDrops[curTarget.getAttribute('DragObj')];
			var activeCont = null;

			var xPos = mousePos.x - mouseOffset.x + (parseInt(curTarget.getAttribute('startWidth')) /2);
			var yPos = mousePos.y - mouseOffset.y + (parseInt(curTarget.getAttribute('startHeight'))/2);

			for(var i=0; i<dragConts.length; i++){
				with(dragConts[i]){
					if((parseInt(getAttribute('startLeft'))                                           < xPos) &&
						(parseInt(getAttribute('startTop'))                                            < yPos) &&
						((parseInt(getAttribute('startLeft')) + parseInt(getAttribute('startWidth')))  > xPos) &&
						((parseInt(getAttribute('startTop'))  + parseInt(getAttribute('startHeight'))) > yPos)){

							activeCont = dragConts[i];
							break;
					}
				}
			}

			if(activeCont){
				var beforeNode = null;

				for(var i=activeCont.childNodes.length-1; i>=0; i--){
					with(activeCont.childNodes[i]){
						if(nodeName=='#text') continue;

						if(curTarget != activeCont.childNodes[i]                                                  &&
							((parseInt(getAttribute('startLeft')) + parseInt(getAttribute('startWidth')))  > xPos) &&
							((parseInt(getAttribute('startTop'))  + parseInt(getAttribute('startHeight'))) > yPos)){
								beforeNode = activeCont.childNodes[i];
						}
					}
				}

				if(beforeNode){
					if(beforeNode!=curTarget.nextSibling){
						activeCont.insertBefore(curTarget, beforeNode);
						needSave=true;
					}

				} else {
					if((curTarget.nextSibling) || (curTarget.parentNode!=activeCont)){
						activeCont.appendChild(curTarget);
						needSave=true;
					}
				}

				setTimeout(function(){
				var contPos = getPosition(activeCont);
				activeCont.setAttribute('startWidth',  parseInt(activeCont.offsetWidth));
				activeCont.setAttribute('startHeight', parseInt(activeCont.offsetHeight));
				activeCont.setAttribute('startLeft',   contPos.x);
				activeCont.setAttribute('startTop',    contPos.y);}, 5);

				if(curTarget.style.display!=''){
					curTarget.style.display    = '';
					curTarget.style.visibility = 'hidden';
				}
			} else {

				if(curTarget.style.display!='none'){
					curTarget.style.display  = 'none';
				}
			}
		}

		lMouseState = iMouseDown;
		lastTarget  = target;
	}

	if(dragObject){
		dragObject.style.position = 'absolute';
		dragObject.style.top      = mousePos.y - mouseOffset.y;
		dragObject.style.left     = mousePos.x - mouseOffset.x;
	}

	lMouseState = iMouseDown;
	if(curTarget || dragObject){
		return false;
	}
}

function mouseUp(ev){

	if(Demos[0]){
		if(curTarget){
			dragHelper.style.display = 'none';
			if(curTarget.style.display == 'none'){
				if(rootSibling){
					rootParent.insertBefore(curTarget, rootSibling);
				} else {
					rootParent.appendChild(curTarget);
				}
			}
			curTarget.style.display    = '';
			curTarget.style.visibility = 'visible';
		}
//		curTarget  = null;
		if(needSave){
			saveOrder(curTarget);
			//save(9);
			needSave=false;
		}
		curTarget  = null;
	}

	dragObject = null;
	iMouseDown = false;
}


function mouseDown(ev){

	ev=ev || window.event;
	var target=ev.target || ev.srcElement;

	iMouseDown=true;
	if(target.onmousedown || target.getAttribute('DragObj')){
		return false;
	}
}

function makeDraggable(item){
	if(!item) return;
	item.onmousedown = function(ev){
		dragObject  = this;
		mouseOffset = getMouseOffset(this, ev);
		return false;
	}
}

function makeClickable(item){
	if(!item) return;
	item.onmousedown = function(ev){
		document.getElementById('ClickImage').value = this.name;
	}
}

function addDropTarget(item, target){
	item.setAttribute('droptarget', target);
}

document.onmousemove = mouseMove;
document.onmousedown = mouseDown;
document.onmouseup   = mouseUp;

function newf(e,a) {
	var ew = document.getElementById("editw");
	ew.style.display="";
	var xy=getPosition(e);
	var cw=document.body.clientWidth;
	xy.x = cw>(290+xy.x) ? xy.x : xy.x-135;
	ew.style.width="260px";
	ew.style.height="50px";
	ew.style.left=xy.x;
	ew.style.top=xy.y;

	ew.innerHTML="<form action='' method=POST target=_top onsubmit='return donewf("+a+");'>"
	+"新目录名：<input type=text name=fname size=25 maxlength=16 value='' class=i><br><input type=submit value='确定'>"
	+"　<input type=button value=取消 onclick='hide()'>";
	ew.firstChild.fname.focus();
	return false;
}

function donewf(a) {
	var ew = document.getElementById("editw");
	var fn = ew.firstChild.elements[0].value;
	var allf=document.getElementById("allf");
	if(fn.trim()==""){
		alert('目录名不能为空！');
		ew.firstChild.fname.focus();
		return false;
	}
	var strData = "action=addFolder&fname="+fn;

	ew.style.width="150px";
	ew.style.height="18px";
	ew.innerHTML="正在更新服务器数据...";
	var xmlDom = jb();
	if(a==0){xmlDom.open("POST", "markSave.shtml", false);}
	if(a==1){xmlDom.open("POST", "newfa.php", false);}
 	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;
	if(xmlResult.indexOf("nosession")!= -1){
		alert("尝未登录或登录已超时,请登录后再试！");
		hide();
		return false;
	}else if(xmlResult.indexOf("error")!= -1){
		alert("添加目录失败，请重试！");
		hide();
		return false;
	}else{
		if(xmlResult.indexOf("sameName")!= -1){
			alert("已存在同名目录，不能添加！");
			hide();
			return false;
		}else{
			ew.innerHTML="更新服务器数据成功！";
			var nid=xmlResult.substring(0,xmlResult.indexOf("#"));
			var k=tf()+1;
			document.getElementById("allf").setAttribute("tf",k);
			var nf=document.createElement("div");
			nf.id=nid;
			nf.className="DF";
			nf.setAttribute("dragobj","1");
			nf.setAttribute("p",1);
			nf.setAttribute("overclass","ODF");
			nf.setAttribute("dragclass","MDF");
      if(a==0){
  			nf.innerHTML="<img src='images/ofo.gif' title='打开/关闭目录' style='cursor:pointer;' onclick='onoff(this);' class=f_pic><span title='编辑目录' class=fname onclick='javascript:editf(this,0);'>"
  			+fn+"</span> <span><a href=# title='添加新网址' onclick='return newb("+nid+",this)'>添加新网址</a></span>"
  			+"<div DropObj=0 class=DC id=DragContainer"+k+" overclass=ODC></div>";
  		}
      if(a==1){
  			nf.innerHTML="<img src='images/ofo.gif' title='打开/关闭目录' style='cursor:pointer;' onclick='onoff(this);' class=f_pic><span title='编辑目录' class=fname onclick='javascript:editf(this,1);'>"
  			+fn+"</span><div DropObj=0 class=DC id=DragContainer"+k+" overclass=ODC></div>";
      }
			allf.insertBefore(nf,allf.firstChild);
			DragDrops[0].push(document.getElementById("DragContainer"+k));
			//save(a);
		}
	}
	setTimeout("hide()",500);
	return false;
}

function setCaretAtEnd (field) { 
   if (field.createTextRange) { 
       var r = field.createTextRange(); 
       r.moveStart('character', field.value.length); 
       r.collapse(); 
       r.select(); 
   } 
} 

function getTitle(obj){
	var title=obj.bname.value;
	var curl =obj.url.value
	var tip='正在尝试获取网页名称，请稍候...';
	obj.bname.value=tip;
	//if(title!=null&&title!="") return;
		var xmlDom = jb();
		var strData = "&action=getTitle&url="+curl;
	xmlDom.open("POST", "markSave.shtml?update=" + Math.random(), true);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	xmlDom.onreadystatechange = function() {
    if (xmlDom.readyState == 4 && xmlDom.status == 200){
        var res=xmlDom.responseText;
        
        if(res!=null&&res.indexOf("error")==-1){
        	if(document.getElementById("editw").style.display=="none"){
        		return ;
        	}
					if(obj.bname.value==""||obj.bname.value==tip)
        	obj.bname.value=res;
        	obj.bname.focus();
        }
    }
}


}
function newb(p,e,uid) {
	var ew = document.getElementById("editw");
	ew.style.display="";
	var xy=getPosition(e);
	var cw=document.body.clientWidth;
	xy.x = cw>(290+xy.x) ? xy.x : xy.x-135;
	ew.style.width="290px";
	ew.style.height="85px";
	ew.style.left=xy.x;
	ew.style.top=xy.y;

	ew.innerHTML="<form style='display:inline' action='' method=POST target=_top onsubmit='return donewb("+p+","+uid+");'>"
	+"网址<input type=text name=url size=35 maxlength=254 value='http://' class=i onfocus=setCaretAtEnd(this) onchange='getTitle(this.parentNode)'><br>"
  +"名称<input type=text name=bname size=35 maxlength=98 value='' class=i><br>"
	+"<input type=submit value=确定>　<input type=button value=取消 onclick='hide()'></form>";
	ew.firstChild.url.focus();
	return false;
}
function donewb(p,uid) {
	var ew = document.getElementById("editw");
	var url  = ew.firstChild.elements[0].value;
	var bn = ew.firstChild.elements[1].value;
	var re=/\"|\'/;
	if (re.test(bn) == true){
		alert('网址名不能含有半角引号！');
		ew.firstChild.bname.focus();
		return false;
	}
	if(bn==""){
		alert('网址名不能为空！');
		ew.firstChild.bname.focus();
		return false;
	}
	if(url==""){
		alert('url不能为空！');
		ew.firstChild.url.focus();
		return false;
	}

	var curl = url.replace(/&/g,'＆＃＆');
	curl = curl.replace(/%/g,'％＃％');
	curl = curl.replace(/\"/g,'');
	curl = curl.replace(/\'/g,'');
  bn = mSubstr(bn,100);
  if(mStrLen(url)>254){
  	alert('URL地址超长！最大254字节');
		ew.firstChild.url.focus();
		return false;
  }
	var strData = "action=addLink&bname="+bn+"&url="+curl+"&fid="+p;
	if(uid!=null){
		strData+="&uid="+uid;
	}

	ew.style.width="150px";
	ew.style.height="18px";
	ew.innerHTML="正在更新服务器数据...";
	var xmlDom = jb();
	xmlDom.open("POST", "markSave.shtml", false);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;
	if(xmlResult.indexOf("nosession")!= -1){
		alert("尝未登录或登录已超时,请登录后再试！");
		hide();
		return false;
	}else if(xmlResult.indexOf("error")!= -1){
		alert("您可能已经登录超时了，添加网址失败！请先刷新页面，重新登录！");
		hide();
		return false;
	}else{
		ew.innerHTML="更新服务器数据成功！";
		var nid=xmlResult;
		var nb=document.createElement("div");
		nb.id=nid;
		nb.className="DB";
		nb.setAttribute("dragobj","0");
		nb.setAttribute("overclass","ODB");
		nb.setAttribute("dragclass","MDB");
		sbn=bn.substr(0,6)+"..";
		nb.innerHTML=" <IMG class=bkgif title=编辑或删除网址网址 style=\"CURSOR: pointer\"    onclick='javascript:editb(this);' alt=▼ src=\"images/blank.gif\"> <a href="+url+" onClick=\"goSite('${x.id!}')\" target=_blank title='"+bn+"'>"+sbn+"</a>";
		document.getElementById(p).lastChild.appendChild(nb);
	}
	setTimeout("hide()",500);
	return false;
}

function dodel0(e,fid) {
  if(confirm("您真的要删除所有未分类的网址吗？") == false)return false;
  var ew = document.getElementById("editw");
	var dc = document.getElementById(fid).lastChild;
	var strData = "action=delFolder&id="+fid;;
	ew.style.display="";
	var xy=getPosition(e);
	var cw=document.body.clientWidth;
	xy.x = cw>(270+xy.x) ? xy.x : xy.x-135;
	ew.style.left=xy.x;
	ew.style.top=xy.y;
	ew.style.width="150px";
	ew.style.height="18px";
	ew.innerHTML="正在更新服务器数据...";
	var xmlDom = jb();
xmlDom.open("POST", "markSave.shtml", false);

	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;
	if(xmlResult.indexOf("error")!= -1){
		alert("您可能已经登录超时了，更新数据失败！请先刷新页面，重新登录！");
		ew.style.display="none";
		return false;
	}else{
		ew.innerHTML="更新服务器数据成功！";
    var childrens = dc.childNodes;
    var l=childrens.length;
  	for(var i=0;i<l;i++) {
      dc.removeChild(childrens[0]);//每次都删第一个
  	}
	}
	setTimeout("hide()",500);
	return false;
}

function editf(e,a) {
	var f=e.parentNode;
	var ew = document.getElementById("editw");
	ew.style.display="";
	var xy=getPosition(e);
	var cw=document.body.clientWidth;
	xy.x = cw>(270+xy.x) ? xy.x : xy.x-135;
	ew.style.width="270px";
	ew.style.height="56px";
	ew.style.left=xy.x;
	ew.style.top=xy.y;
	var fname = e.innerHTML.replace(/\"/g,'&quot;');

	var check="";var prvt="";
	if(f.getAttribute("p")==0)check=" checked";
	if(a==0)prvt="<input type=checkbox name=pub value='N'"+check+">私有";
	if(a==1)prvt="<input type=hidden name=pub value=''>";
	ew.innerHTML="<form style='display:inline' action='' target=_top onsubmit='return doeditf(\"e\","+f.id+","+a+");'>"
	+"名称<input type=text name=fname size=25 maxlength=16 value=\""+fname+"\" class=i>"+prvt+"<br>"
	+"<input type=submit value='确定'>　<input type=button value='删除' onclick='return doeditf(\"d\","+f.id+","+a+");' />"
	+"　<input type=button value='取消' onclick='hide()'></form>";
}

function doeditf(ed,id,a) {
	var ew = document.getElementById("editw");
	var df = document.getElementById(id);
	var fnum=tf();
	if (ed=="e"){
		var fn = ew.firstChild.elements[0].value;
		var p="";
		if(ew.firstChild.pub.checked)p="N";
		else p="Y";
		if(fn.trim()==""){
			alert('目录名不能为空！');
			ew.firstChild.fname.focus();
			return false;
		}
		var strData = "action=editFolder&fname="+fn+"&id="+id+"&ispublic="+p;
	}
	if (ed=="d"){
		if(a==0){var cfm = confirm("您真的要删除此目录吗？此目录下所有网址也将一并删除！");}
		if(a==1){var cfm = confirm("您真的要删除此目录吗？此目录下所有文档也将一并删除！");}
		if(!cfm){return false;}else{
			var strData = "action=delFolder&id="+id;
			//save(a);
		}
	}
	ew.style.width="150px";
	ew.style.height="18px";
	ew.innerHTML="正在更新服务器数据...";
	var xmlDom = jb();
	if(a==0){xmlDom.open("POST", "markSave.shtml", false);}
	if(a==1){xmlDom.open("POST", "editfa.php", false);}
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;
	if(xmlResult.indexOf("error")!= -1){
		alert("您可能已经登录超时了，更新数据失败！请先刷新页面，重新登录！");
		ew.style.display="none";
		return false;
	}else{
		ew.innerHTML="更新服务器数据成功！";
		if(ed=="e"){
			var x=df.firstChild.nextSibling;
			while (x.nodeType!=1)
			 {
			 x=x.nextSibling;
			 }
			x.innerHTML=fn;
			//df.firstChild.nextSibling.innerHTML=fn;
			if(p=="N"){
				df.firstChild.className=df.firstChild.className.substring(0,1)+"hogif";
				//df.firstChild.src=df.firstChild.src.substring(0,df.firstChild.src.length-6)+"ho.gif";
				df.setAttribute("p","0");
			}else{
				df.firstChild.className=df.firstChild.className.substring(0,1)+"fogif";
				//df.firstChild.src=df.firstChild.src.substring(0,df.firstChild.src.length-6)+"fo.gif";
				df.setAttribute("p","1");
			}
		}
	}
	setTimeout("hide()",500);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
	if (ed=="d"){
		df.parentNode.setAttribute("tf",fnum-1);
		df.parentNode.removeChild(df);z
	}
	
	return false;
}

function editb(img) {
	var ew = document.getElementById("editw");
	var db = img.parentNode;
	var dc = db.parentNode;
	ew.style.display="";
	var xy=getPosition(db);
	var cw=document.body.clientWidth;
	xy.x = cw>(290+xy.x) ? xy.x : xy.x-135;
	ew.style.width="290px";
	ew.style.height="105px";
	ew.style.left=xy.x;
	ew.style.top=xy.y;
	var bname = db.lastChild.title.replace(/\"/g,'&quot;');
	var sel="选择目录<select name=fds class=i>";
	var fs=document.getElementsByName("folders");
	var num=fs.length;
	var nowid=dc.parentNode.id;
	for(var i=0; i<num; i++){
		var sid=fs[i].id.substring(1,fs[i].id.length);
		sel += "<option value="+sid;
		if(nowid == sid)sel+=" selected";
    sel +=">"+fs[i].value+"</option>";
	}
	var sel0=(nowid==0)?" selected":"";
	sel +="<option value=0"+sel0+">未分类</option></select><br>";

	ew.innerHTML="<form style='display:inline' action='' target=_top onsubmit='return doeditb(\"e\","+db.id+","+nowid+");'>"
  +"名称<input type=text name=bname size=35 maxlength=98 value=\""+bname+"\" class=i><br>"
	+"网址<input type=text name=url size=35 maxlength=254 value=\""+db.lastChild.href+"\" class=i><br>"
	+sel+"<input type=submit value='确定'>　<input type=button value='删除' onclick='return doeditb(\"d\","+db.id+");'>"
	+"　<input type=button value='取消' onclick='hide()'></form>";
}

function doeditb(ed,bid,oid) {
	var ew = document.getElementById("editw");
	var db = document.getElementById(bid);
	var bn = ew.firstChild.elements[0].value;
	var url = ew.firstChild.elements[1].value;
	var nid = ew.firstChild.elements[2].value;
	//alert(bn+"#"+url+nid);
	if (ed=="e"){
	bn = mSubstr(bn,100);
	var re=/\"|\'/;
	if (re.test(bn) == true){
		alert('网址名不能含有半角引号！');
		ew.firstChild.bname.focus();
		return false;
	}
	if(mStrLen(url)>254){
			alert('URL地址超长！最大254字节');
			ew.firstChild.url.focus();
			return false;
	}
	var curl = url.replace(/&/g,'＆＃＆');
	curl = curl.replace(/%/g,'％＃％');
	if(bn=="" || url==""){
		alert('网址名或URL地址不能为空！');
		ew.firstChild.bname.focus();
		return false;
	}
	var strData = "action=editLink&bname="+bn+"&url="+curl+"&id="+bid+"&fid="+nid;
	}
	if (ed=="d"){
		var cfm = confirm("您真的要删除此网址吗？");
		if(!cfm){return false;}else{
			var strData = "action=delLink&id="+bid;
		}
	}
	ew.style.width="150px";
	ew.style.height="22px";
	ew.innerHTML="正在更新服务器数据...";
	var xmlDom = jb();
	xmlDom.open("POST", "markSave.shtml", false);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;

	if(xmlResult.indexOf("error")!= -1){
		alert("您可能已经登录超时了，更新数据失败！请先刷新页面，重新登录！");
		ew.style.display="none";
		return false;
	}else{
		ew.innerHTML="更新服务器数据成功！";
		db.lastChild.innerHTML=bn.substr(0,6)+"..";
		db.lastChild.title=bn;
		db.lastChild.href=url;
    if(ed=="e" && oid != nid){
      document.getElementById(nid).lastChild.appendChild(db.cloneNode(true));
      db.parentNode.removeChild(db);
    }
	}
	if (ed=="d")db.parentNode.removeChild(db);
	//save(0);
	setTimeout("hide()",500);
	return false;
}

function hide(){
	var ew = document.getElementById("editw");
	ew.style.display="none";
}

function save(a) {
  if(a==9){a=document.getElementById("editw").getAttribute("aa");}
	var s="";
	var fs=document.getElementById("allf").childNodes;
	var num=fs.length;
	for(var i=0; i<num; i++){
		if(fs[i].nodeName!="DIV")continue;
		if(a==0){s += "f"+fs[i].id+"#";}
		if(a==1){s += "a"+fs[i].id+"#";}
		var dbs=fs[i].lastChild.childNodes;
		var cons=dbs.length;
		for (var j=0;j<cons;j++){
			if (dbs[j].nodeName!="DIV")continue;
			s += dbs[j].id + "#";
		}
	}
	var f0=document.getElementById("0");
	if(f0){
		if(a==0){s +="f0#";}
		if(a==1){s +="a0#";}
		dbs=f0.lastChild.childNodes;
		var cons=dbs.length;
		for (var j=0;j<cons;j++){
			if (dbs[j].nodeName!="DIV")continue;
			s += dbs[j].id + "#";
		}
	}

	var strData = "s="+s;
	//alert(s);
	var xmlDom = jb();
	xmlDom.open("POST", "save.html", false);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;
	if(xmlResult.indexOf("error")!= -1){
		alert("后台自动保存失败！将会在下次进行重试！");
	}
}

function drag_init(){ 
	Demos[0] = document.getElementById('Mark0');
	var constr = ""; var d="";

	if(Demos[0]){
		for(var i=1; i<=tf()+1; i++){
			constr += d+"document.getElementById('DragContainer"+i+"')";
			d = ",";
		}
		eval("CreateDragContainer("+constr+")");
		dragHelper = document.createElement('DIV');
		dragHelper.style.cssText = 'position:absolute;display:none;';
		document.body.appendChild(dragHelper);
	}
	CreateDragContainer(document.getElementById("allf"));
}

function saveOrder(obj){
 var nid=obj.getAttribute("id");

 //alert(obj.nextSibling.getAttribute("id"));
 var pid=obj.parentNode.parentNode.getAttribute("id");

		var corderno=parseInt(obj.getAttribute("orderno"));
		var pobj=obj.previousSibling;
		while (pobj!=null&&pobj.nodeType!=1)
			 {
			 pobj=pobj.previousSibling;
			 }

		var porderno=0;
		
		if(pobj!=null){
			porderno=parseInt(pobj.getAttribute("orderno"));
		}
		var nobj=obj.nextSibling;
		while (nobj!=null&&nobj.nodeType!=1)
			 {
			 nobj=nobj.nextSibling;
			 }
		var norderno=0;
		if(nobj!=null){
			norderno=parseInt(nobj.getAttribute("orderno"));
		}
		//alert("porderno:"+porderno+"\n"+"corderno:"+corderno+"\n"+"norderno:"+norderno);
		 if(norderno-porderno>0){
			corderno=porderno+1;
		}else if(norderno>corderno){
			corderno=norderno;
		} else if(norderno<corderno){
			corderno=porderno+1;
		}
		var strData;
 if(pid=="Mark0") {

 	strData="&action=saveFolderOrder&id="+nid+"&orderno="+corderno;
 	}else{
 	strData="&action=saveLinkOrder&id="+nid+"&orderno="+corderno+"&fid="+pid;
 	}
 		var xmlDom = jb();
	xmlDom.open("POST", "markSave.shtml?update=" + Math.random(), true);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	xmlDom.onreadystatechange = function() {
    if (xmlDom.readyState == 4 && xmlDom.status == 200){
        var res=xmlDom.responseText;
        if(res!=null&&res.indexOf("error")!=-1){
        	alert("您可能已经登录超时了，更新排序数据失败！请先刷新页面，重新登录！!");
        }
    }
}

}

function batchmodel(a) {

	var fs=document.getElementById("allf").childNodes;
	var num=fs.length;
	for(var i=0; i<num; i++){
		if(fs[i].nodeName!="DIV")continue;
		var dbs=fs[i].lastChild.childNodes;
		var cons=dbs.length;
		for (var j=0;j<cons;j++){
			if(dbs[j].nodeName!="DIV")continue;
			var firstnode=dbs[j].firstChild;
			if(a==0){
			var newRadioButton = document.createElement("input");
			newRadioButton.name='batchbox';
			newRadioButton.type='checkbox';
			newRadioButton.name='0';
			dbs[j].insertBefore(newRadioButton,firstnode);
			}else if(a==1){
				firstnode.removeNode(true);
			}
			//dbs[j].removeChild(firstnode);
		}
	
	}
	var f0=document.getElementById("0");
	if(f0){
		dbs=f0.lastChild.childNodes;
		var cons=dbs.length;
		for (var j=0;j<cons;j++){
			if (dbs[j].nodeName!="DIV")continue;
			var firstnode=dbs[j].firstChild;
			if(a==0){
			var newRadioButton = document.createElement("input");
			newRadioButton.name='batchbox';
			newRadioButton.type='checkbox';
			newRadioButton.name='0';
			dbs[j].insertBefore(newRadioButton,firstnode);
				}else if(a==1){
				firstnode.removeNode(true);
			}
		}
	}
		if(a==1){
		document.getElementById("batchbtn").innerHTML="<a href='javascript:batchmodel(0)'>批量编辑</a>";
		document.getElementById("batchdiv").style.display="none";
		}else if(a==0){
		document.getElementById("batchbtn").innerHTML="<a href='javascript:batchmodel(1)'>普通编辑</a>";
		document.getElementById("batchdiv").style.display="block";
		;
		}
}
function batchdelete(){
  if(confirm("您真的要删除所有选中的网址吗？") == false)return false;

	var fs=document.getElementById("allf").childNodes;
	var num=fs.length;
	var s="";
	var objs=new Array();
	var delnum=0;
	for(var i=0; i<num; i++){
		if(fs[i].nodeName!="DIV")continue;

		var dbs=fs[i].lastChild.childNodes;
		var cons=dbs.length;
		for (var j=0;j<cons;j++){
			if (dbs[j].nodeName!="DIV")continue;
			var firstnode=dbs[j].firstChild;
			if(firstnode.nodeName!="INPUT") continue;
			if(firstnode.checked==true){
				s+="#"+dbs[j].id;
			objs[delnum++]=dbs[j];
			}
			//dbs[j].removeChild(firstnode);

		}
	}
	var f0=document.getElementById("0");
	if(f0){
		dbs=f0.lastChild.childNodes;
		var cons=dbs.length;
		for (var j=0;j<cons;j++){
			if (dbs[j].nodeName!="DIV")continue;
			if(firstnode.nodeName!="INPUT") continue;
			if(firstnode.checked==true){
				s+="#"+dbs[j].id;
			objs[delnum++]=dbs[j];
			}
		}
	}
	var ew=document.getElementById("editw");
	ew.style.display="";
	var xy=getPosition(document.getElementById("batchdiv"));
	var cw=document.body.clientWidth;
	xy.x = cw>(290+xy.x) ? xy.x : xy.x-135;
	ew.style.width="290px";
	ew.style.height="24px";
	ew.style.left=xy.x;
	ew.style.top=xy.y;
	ew.innerHTML="正在更新服务器数据...";
	var xmlDom = jb();
	var strData="action=batchDelete";
	strData+="&data="+s;
	xmlDom.open("POST", "markSave.shtml", false);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;
	
	if(xmlResult.indexOf("error")!= -1){
		alert("您可能已经登录超时了，更新数据失败！请先刷新页面，重新登录！");
		ew.style.display="none";
		//return false;
	}else{
		ew.innerHTML="更新服务器数据成功！";
		for(var i=0;i<objs.length;i++){
			objs[i].removeNode(true);
		}
	}
	setTimeout("hide()",500);
	return false;
}
function batchmove(){
  if(confirm("您真的要移动所有选中的网址吗？") == false)return false;
	var fid=document.getElementById("movefid").options[document.getElementById("movefid").selectedIndex].value;
	
	var cfid=document.getElementById(fid);
	var fs=document.getElementById("allf").childNodes;
	var num=fs.length;
	var s="";
	var objs=new Array();
	var delnum=0;
	for(var i=0; i<num; i++){
		if(fs[i].nodeName!="DIV")continue;

		var dbs=fs[i].lastChild.childNodes;
		var cons=dbs.length;
		for (var j=0;j<cons;j++){
			if (dbs[j].nodeName!="DIV")continue;
			var firstnode=dbs[j].firstChild;
			if(firstnode.nodeName!="INPUT") continue;
			if(firstnode.checked==true){
				s+="#"+dbs[j].id;
			objs[delnum++]=dbs[j];
			}
			//dbs[j].removeChild(firstnode);

		}
	}
	var f0=document.getElementById("0");
	if(f0){
		dbs=f0.lastChild.childNodes;
		var cons=dbs.length;
		for (var j=0;j<cons;j++){
			if (dbs[j].nodeName!="DIV")continue;
				var firstnode=dbs[j].firstChild;
			if(firstnode.nodeName!="INPUT") continue;
			if(firstnode.checked==true){
				s+="#"+dbs[j].id;
			objs[delnum++]=dbs[j];
			}
		}
	}
	var ew=document.getElementById("editw");
	ew.style.display="";
	var xy=getPosition(document.getElementById("batchdiv"));
	var cw=document.body.clientWidth;
	xy.x = cw>(290+xy.x) ? xy.x : xy.x-135;
	ew.style.width="290px";
	ew.style.height="24px";
	ew.style.left=xy.x;
	ew.style.top=xy.y;
	ew.innerHTML="正在更新服务器数据...";
	var xmlDom = jb();
	var strData="action=batchMove";
	strData+="&data="+s+"&fid="+fid;
	xmlDom.open("POST", "markSave.shtml", false);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;
	
	if(xmlResult.indexOf("error")!= -1){
		alert("您可能已经登录超时了，更新数据失败！请先刷新页面，重新登录！");
		ew.style.display="none";
		//return false;
	}else{
		ew.innerHTML="更新服务器数据成功！";
		for(var i=0;i<objs.length;i++){
			cfid.lastChild.appendChild(objs[i]);
			//objs[i].removeNode(true);
		}
	}
	setTimeout("hide()",500);
	return false;

}
function editfavname(e) {
	var f=e;
	var ew = document.getElementById("editw");
	ew.style.display="";
	var xy=getPosition(e);
	var cw=document.body.clientWidth;
	xy.x = cw>(270+xy.x) ? xy.x : xy.x-135;
	ew.style.width="270px";
	ew.style.height="56px";
	ew.style.left=xy.x;
	ew.style.top=xy.y;
	var fname = e.innerHTML.replace(/\"/g,'&quot;');
ew.innerHTML="<form style='display:inline' action='' target=_top onsubmit='return doeditfavname(\""+f.id+"\");'>"
	+"收藏夹名称<input type=text name=fname size=25 maxlength=32  value=\""+fname+"\" class=i><br>"
	+"<input type=submit value='确定'><input type=button value='取消' onclick='hide()'></form>";
}
function doeditfavname(id) {
	var ew = document.getElementById("editw");

	var df = document.getElementById(id);

	var fnum=tf();

		var fn = ew.firstChild.elements[0].value;
		if(fn==""){

			ew.firstChild.fname.focus();
			return false;
		}
		var strData = "action=updatefavname&bname="+fn;

	
	ew.style.width="150px";
	ew.style.height="18px";
	ew.innerHTML="正在更新服务器数据...";
	var xmlDom = jb();
	xmlDom.open("POST", "markSave.shtml", false);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;
	if(xmlResult.indexOf("error")!= -1){
		alert("您可能已经登录超时了，更新数据失败！请先刷新页面，重新登录！");
		ew.style.display="none";
		return false;
	}else{
		ew.innerHTML="更新服务器数据成功！";
		//alert(df.innerHTML);
			df.innerHTML=fn;
			//df.firstChild.nextSibling.innerHTML=fn;
	}
	setTimeout("hide()",500);
	return false;
}

function openfolder(fid){
	var e=document.getElementById("allfolderimg");
	var cn=e.className;
var allf=$("allf").childNodes;
var fn;

	e.className="c"+cn.substring(1);
/*	for(var i=0; i<allf.length; i++){
		if(allf[i].lastChild && allf[i].lastChild.className=="DC"){
			//alert(allf[i].firstChild);
			//alert(allf[i].firstChild.className);
			fn=allf[i].firstChild.className;
			allf[i].firstChild.className="c"+fn.substring(1);
			allf[i].lastChild.style.display="none";
}}
*/
//onoff(document.getElementById(fid).firstChild);
//var nc=document.getElementById(fid);
//$("allf").removeChild(document.getElementById(fid));
$("allf").insertBefore(document.getElementById(fid),allf[0]);
window.scrollTop=document.getElementById(fid).offsetTop;
//CreateDragContainer(document.getElementById("allf"));
}
function goMarkSite(id){
var strData;

 	strData="&action=click&linkid="+id;

 		var xmlDom = jb();
	xmlDom.open("POST", "mark.shtml?update=" + Math.random(), true);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	xmlDom.onreadystatechange = function() {
    if (xmlDom.readyState == 4 && xmlDom.status == 200){
        var res=xmlDom.responseText;
        if(res!=null&&res.indexOf("error")!=-1){
        	
        }
    }
}
return false;
}

function updatepri() {
	var ew = document.getElementById("editw");
		var obj = document.getElementById("priflag");
		var data=obj.options[obj.selectedIndex].value;
		if(data==""){
			return false;
		}
		var strData = "action=updatepri&data="+data;

	
	ew.style.width="150px";
	ew.style.height="18px";
	ew.innerHTML="正在更新服务器数据...";
	var xmlDom = jb();
	xmlDom.open("POST", "markSave.shtml", false);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;
	if(xmlResult.indexOf("error")!= -1){
		alert("您可能已经登录超时了，更新数据失败！请先刷新页面，重新登录！");
		ew.style.display="none";
		return false;
	}else{
		ew.innerHTML="更新服务器数据成功！";
		alert("修改收藏夹浏览权限成功！");
		//alert(df.innerHTML);
			//df.firstChild.nextSibling.innerHTML=fn;
	}
	setTimeout("hide()",500);
	return false;
}
var hasmoved=false;
function updatemv() {
  if(hasmoved) return false;
 		var strData = "action=mv";

	var xmlDom = jb();
	xmlDom.open("POST", "mark.shtml", false);
	xmlDom.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlDom.send(strData);
	var xmlResult = xmlDom.responseText;
	if(xmlResult.indexOf("error")!= -1){
		alert("您可能已经登录超时了，更新数据失败！请先刷新页面，重新登录！");
  		return false;
	}else{

	}
	setTimeout("hide()",500);
  hasmoved=true;
	return false;
}



