var object=lastobject=null;
var Tbody    = "";
var object_x = null;
var object_y = null;
var object_w = null;
var object_h = null;
var x,y;
var his = 0;
var float = null;
var canmove = false;
var movestepone=movesteptwo=moveafile=false;
var type = 0;
var path = "";
var menu = null;
var menutimeout;
var listmenu = null;
var ns6  =(document.getElementById&&!document.all);
var ie   =(document.all);
if (ns6){
	window.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP | Event.MOUSEOVER | Event.MOUSEOUT);
	document.releaseEvents(Event.MOUSEMOVE);
}


function oncontext(e){
	e=window.event||e;
	var tempobject = e.srcElement||e.target;
	if(tempobject.tagName=="INPUT"||tempobject.tagName=="TEXTAREA"){
		return true;
	}else{
		return false;
	}
}
function baseclassname(name){
	var pos = name.lastIndexOf("_");
	if(pos!=-1){
		return name.substring(0,pos);
	}else{
		return name;
	}
}
function down(e){
	e=window.event||e;
	object = e.srcElement||e.target;
	var mousekey = e.button||e.which;
	if(object.lang=="Isgraphics") object = object.parentNode;
	var info = new Array();
	info[0] = object.getAttribute("lang");
	if(info[0]=="varbg"){
		object.className = baseclassname(object.className)+"_down";
	}else if((info[0]=="varbgfile"||info[0]=="varbgdir")&&mousekey ==1){
		var prefix = object.className.substr(0,1);
		object.className = prefix+baseclassname(object.className).substr(1)+'_down';
	}else if(info[0]=="varbgm"){
		info[1] = object.getAttribute("typeid");
		info[2] = object.getAttribute("path");
	}
	var object_pos = fetchOffset(object);
	object_x = object_pos['left'];
	object_y = object_pos['top'];
	object_w = object.offsetWidth;
	object_h = object.offsetHeight;
	if (ie){
		x=e.offsetX;
		y=e.offsetY;
	}
	if (ns6){
		x=e.clientX - object_x;
		y=e.clientY - object_y;
	}
	if(listmenu&&object!=listmenu&&object.parentNode!=listmenu){
		HideObject(listmenu);
	}
	if(menutimeout){
		clearTimeout(menutimeout);
	}
	if(float){
		if(object.id=="movebar"){
			canmove = true;
		}
	}else{
		if(lastobject&&object.className.substr(0,4)=="menu"){
			object = lastobject;
			lastobject = null;
		}else{
			if(info[1]!=null&&info[2]!=null){
				type = info[1];
				path = info[2];
			}else{
				type = 0;
				path = Tbody;	
			}
		}
		var unselect;
		for(i=1;unselect=$("element_"+i);i++){
			if(unselect!=object){
				unselect.className = 'element';
			}
		}
		if(object.id.substr(0,8)=="element_"){
			object.className = 'element_down';
		}
		if(movestepone&&mousekey ==1){ 
			movesteptwo = true;
		}
	}
	if(object.tagName=="INPUT"||object.tagName=="TEXTAREA"){
		return true;
	}else{
		return false;
	}
}
function move(e){
	e=window.event||e;
	var tempobject = e.srcElement||e.target;
	if(movesteptwo){
		$('mirror').style.visibility = 'visible';
		$('mirror').innerHTML = object.getAttribute('title');
		$('mirror').style.top  = parseInt(e.clientY)+3;
		$('mirror').style.left = parseInt(e.clientX)+3;
		moveafile = true;
	}
	if(canmove){
		float.style.top  = parseInt(e.clientY)-y;
		float.style.left = parseInt(e.clientX)-x;
	}
	if(tempobject.tagName=="INPUT"||tempobject.tagName=="TEXTAREA"){
		return true;
	}else{
		return false;
	}
}
function over(e){
	var Event = window.event||e;
	var tempobject = Event.srcElement||Event.target;
	if(tempobject.lang=="Isgraphics") tempobject = tempobject.parentNode;
	if(tempobject.id.substr(0,8)=="element_") movestepone = true;
	if(tempobject.className=="element_down") return false;
	if(tempobject.lang.substr(0,5)=="varbg"){
		tempobject.className = baseclassname(tempobject.className)+'_over';
	}
}
function out(e){
	var Event = window.event||e;
	var tempobject = Event.srcElement||Event.target;
	if(tempobject.lang=="Isgraphics") tempobject = tempobject.parentNode;
	if(tempobject.className=="element_down") return false;
	movestepone = false;
	if(tempobject.lang.substr(0,5)=="varbg"){
		tempobject.className = baseclassname(tempobject.className);
	}
}
function rightmenu(e){
	var Event    = window.event||e;
	var mousekey = Event.button||Event.which;
	menu = document.getElementById("rightmenu");
	var tempobject = Event.srcElement||Event.target;
	if(tempobject.lang=="Isgraphics") tempobject = tempobject.parentNode;
	if(tempobject.lang=="varbg"){
		tempobject.className = baseclassname(tempobject.className)+"_over";
	}else if((tempobject.lang=="varbgfile"||tempobject.lang=="varbgdir")&&mousekey==1){
		var prefix = tempobject.className.substr(0,1);
		if(prefix=="b"){
			tempobject.className = 'p'+baseclassname(tempobject.className).substr(1)+'_over';
		}else{
			tempobject.className = 'b'+baseclassname(tempobject.className).substr(1)+'_over';
		}
	}
	if(float){
		canmove = false;
	}else if(moveafile){
		HideObject(menu);
		$('mirror').style.visibility = 'hidden';
		if(tempobject!=object){
			if(tempobject.id.substr(0,8)=="element_"){
				var Isdir = parseInt(tempobject.getAttribute('typeid'));
				if(Isdir==2||Isdir==3){
					DragFile(path,tempobject.getAttribute('path'));	
				}
			}
		}
		moveafile = false;
		movestepone = false;
		movesteptwo = false;
	}else{
		movesteptwo = false;
		if(tempobject.tagName=="INPUT"||tempobject.tagName=="TEXTAREA"){
			HideObject(menu);
			return true;
		}
	}
	return true;
}
function fetchOffset(obj) {
	var left_offset = obj.offsetLeft;
	var top_offset = obj.offsetTop;
	while((obj = obj.offsetParent) != null) {
		left_offset += obj.offsetLeft;
		top_offset += obj.offsetTop;
	}
	return { 'left' : left_offset, 'top' : top_offset };
}

/*--------------------------------------------------------------------------------------------*/
function makemenu(){
	var option = new Array(
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'refresh\')">'+T_jslang["rightm"]["refresh"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'predir\')">'+T_jslang["rightm"]["parent"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'paste\')">'+T_jslang["rightm"]["paste"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'newfile\')">'+T_jslang["rightm"]["create"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'upload\')">'+T_jslang["rightm"]["upload"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'attribute\')">'+T_jslang["rightm"]["attribute"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'modify\')">'+T_jslang["rightm"]["edit"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'copy\')">'+T_jslang["rightm"]["copy"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'scissor\')">'+T_jslang["rightm"]["cut"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'trash\')">'+T_jslang["rightm"]["crash"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'rename\')">'+T_jslang["rightm"]["rename"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'download\')">'+T_jslang["rightm"]["download"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'location\')">'+T_jslang["rightm"]["open"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'clear\')">'+T_jslang["rightm"]["clear"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'delete\')">'+T_jslang["rightm"]["delete"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'regress\')">'+T_jslang["rightm"]["regress"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'search\')">'+T_jslang["rightm"]["search"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'unpack\')">'+T_jslang["rightm"]["unpack"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'view\')">'+T_jslang["rightm"]["view"]+'</div>',
		'<div class="menuinit" lang="varbgr" onclick="Tasks(\'return\')">'+T_jslang["rightm"]["return"]+'</div>'
	);
	var menus = "";
	if(type==0){//普通文件夹
		menus = option[0]+option[1]+option[2]+option[3]+option[4]+option[5]+option[16]+option[19];
	}else if(type==1){//可编辑
		menus = option[6]+option[18]+option[7]+option[8]+option[9]+option[10]+option[5]+option[11];
	}else if(type==2){//可打开
		menus = option[12]+option[7]+option[8]+option[9]+option[10]+option[5]+option[11];
	}else if(type==3){//回收站
		menus = option[12]+option[5]+option[13]+option[11];
	}else if(type==4){//回收站内元素
		menus = option[5]+option[15]+option[8]+option[11]+option[14];
	}else if(type==5){//可解压
		menus = option[17]+option[7]+option[8]+option[9]+option[10]+option[5]+option[11];
	}else if(type==6){//可查看
		menus = option[18]+option[7]+option[8]+option[9]+option[10]+option[5]+option[11];
	}else if(type==7){//未知类型文件
		menus = option[7]+option[8]+option[9]+option[10]+option[5]+option[11];
	}
	menu.innerHTML = menus;
}

function GetKey(e){
	var currKey=0;
	var shifkey=0;
	var e=e||window.event;
	currKey=e.keyCode||e.which||e.charCode;
	shifkey=e['shiftKey'];
	if(shifkey){
		if((currKey==82||currKey==114)&&type){//shift+R 重命名
			Tasks("rename");
		}
		if(currKey==78||currKey==110){//shift+N 
			Tasks("newfile");
		}
		if(currKey==85||currKey==117){//shift+U上传文件
			Tasks("upload");
		}
		if(currKey==86||currKey==118){//shift+V粘贴
			Tasks("paste");
		}
		if(currKey==80||currKey==112){//父级目录
			Tasks("predir");
		}
		if((currKey==67||currKey==99)&&type){//shift+C 复制
			Tasks("copy");
		}
		if((currKey==83||currKey==115)&&type){//shift+S 剪切
			Tasks("scissor");
		}
		if((currKey==68||currKey==100)&&type){//shift+D 下载
			Tasks("download");
		}
		if((currKey==65||currKey==97)&&type){//shift+A 属性
			Tasks("attribute");
		}
		if(currKey==70||currKey==102){//shift+F 刷新
			Tasks("refresh");
		}
		if(currKey==90||currKey==122){//shift+Z取消上一步操作
			Tasks("return");
		}
	}
}
/*--------------------------------------------------------------------------------------------*/

function Tasks(taskname){
	if(!float){
		switch(taskname){
			case "refresh":
				ChangeDir(Tbody);
				break;
			case "predir":
				var route  = Tbody.split("%2F");
				var predir = route[0];
				for(i=1;i<route.length-1;i++){
					predir += "%2F"+route[i];
				}
				ChangeDir(predir);
				break;
			case "view":
				Response("action=view&path="+path,700,450);
				break;
			case "newfile":
				var ext = T_allow.split("|");
				var option ='<option selected="selected" value="'+ext[0]+'">'+ext[0]+'</option>';
				for(n=1;n<ext.length;n++){
					option +='<option  value="'+ext[n]+'">'+ext[n]+'</option>'; 
				}
				option +='<option  value="">blank</option>';
				var other = '.<select title="'+T_jslang['global']['extern']+'" id="exttype">'+option+'</select>';
				var win = new NewWindow(T_jslang['global']['create'],400,150);
				win.addtext(T_jslang['global']['newname'],"newname","newfilename",other);
				win.inithtml('','');
				win.addbutton(T_jslang['global']['cancel'],'Destroywin(0)');
				win.addbutton(T_jslang['global']['confirm'],'Makefile()');
				win.makewin();
				break;
			case "rename":
				var win = new NewWindow(T_jslang['global']['rename'],400,100);
				var oldname  = "";
				var filename = object.title;
				var exttype = "";
				var other = "";
				if(type==2||type==5){
					oldname = filename;
					exttype = "dir";
					other = '<input id="exttype" type="hidden" value="dir" />'
				}else{
					var posd = filename.lastIndexOf(".");
					if(posd!=-1){
						oldname = filename.substring(0,posd);
						exttype = filename.substr(posd+1);
					}else{
						oldname = filename;
						exttype = "";
					}
					var ext = T_allow.split("|");
					var option = '';
					for(n=0;n<ext.length;n++){
						if(ext[n]==exttype){
							option +='<option selected="selected" value="'+ext[n]+'">'+ext[n]+'</option>'; 
						}else{
							option +='<option value="'+ext[n]+'">'+ext[n]+'</option>';
						}
					}
					option +='<option  value="">blank</option>';
					other = '.<select title="'+T_jslang['global']['extern']+'" id="exttype">'+option+'</select>';
				}
				win.addtext(T_jslang['global']['newname'],"newname",oldname,other);
				win.inithtml('','');
				win.addbutton(T_jslang['global']['cancel'],'Destroywin(0)');
				win.addbutton(T_jslang['global']['confirm'],'Renaming()');
				win.makewin();
				break;
			case "attribute":
				Response("action=attribute&path="+path,400,200);
				break;
			case "paste":
				Response("action=paste&path="+Tbody,400,100);
				break;
			case "upload":
				var win = new NewWindow(T_jslang['upload'][0],400,100);
				win.addtext(T_jslang['upload'][1],"filenum","3","");
				win.inithtml('','');
				win.addbutton(T_jslang['global']['cancel'],"Destroywin()");
				win.addbutton(T_jslang['global']['confirm'],"uploadfile($(\'filenum\').value)");
				win.makewin();
				break;
			case "modify":
				Editor("action=edit&path="+path);
				break;
			case "copy":
				Hresponse("action=scissor&path="+path+"&type=copy");
				break;
			case "scissor":
				Hresponse("action=scissor&path="+path+"&type=cut");
				break;
			case "search":
				var win = new NewWindow(T_jslang['global']['search'],400,200);
				win.addtext(T_jslang['search'][0],"sname","","");
				win.addtext(T_jslang['global']['extern'],"extern","","");
				win.addselect(T_jslang['search'][1],"area",Array(T_jslang['search'][2],T_jslang['search'][3]),Array(1,0));
				win.addselect(T_jslang['search'][4],"match",Array(T_jslang['search'][5],T_jslang['search'][6]),Array(2,0));
				win.addselect(T_jslang['search'][7],"type",Array(T_jslang['search'][8],T_jslang['search'][9],T_jslang['search'][10]),Array(4,8,12));
				win.inithtml("","");
				win.addbutton(T_jslang['global']['cancel'],"Destroywin()");
				win.addbutton(T_jslang['global']['confirm'],"Searching()");
				win.makewin();
				break;
			case "trash":
				var postdata = "action=trash&path="+path;
				Response(postdata,400,100);
				break;
			case "download":
				var code = '<form id="passform" action="'+T_task
				+'" method="post" style="border:0px;width:0px;height:0px;" target="passframe">'
				+'<input type="hidden" name="path" value="'+path+'">'
				+'<input type="hidden" name="action" value="download"></form>';
				insertHtml(code);
				var node = document.getElementById("passform");
				node.submit();
				document.body.removeChild(node);
				break;
			case "location":
				ChangeDir(path);
				break;
			case "clear":
				var postdata = "action=recycle";
				Response(postdata,400,100);
				break;
			case "delete":
				var postdata = "action=delete&path="+path;
				Response(postdata,400,100);
				break;
			case "regress":
				var postdata = "action=regress&path="+path;
				Response(postdata,400,100);
				break;
			case "unpack":
				var win = new NewWindow(T_jslang['unpack'][0],400,200);
				win.addtext(T_jslang['unpack'][1] ,"path","","");
				win.addselect(T_jslang['unpack'][2],'coverable',Array(T_jslang['global']['uncover'],T_jslang['global']['cover']),Array(1,0));
				win.inithtml('','');
				win.addbutton(T_jslang['global']['cancel'],"Destroywin()");
				win.addbutton(T_jslang['global']['confirm'],"Unpacking()");
				win.makewin();
				break;
			case "return":
				var postdata = "action=return";
				Response(postdata,500,200);
				break;
			default:break;
		}
	}
}

/*--------------------------------------------------------------------------------------------*/

function Renaming(){
	var postdata = "action=rename&path="+path+"&newname="+escape($('newname').value)+"&exttype="+$('exttype').value;
	Response(postdata,400,200);
}
function Makefile(){
	var postdata = "action=newfile&path="+path+"&newname="+escape($('newname').value)+"&exttype="+$('exttype').value;
	Response(postdata,400,200);
}
function DragFile(source,target){
	var postdata = "action=dragfile&path="+source+"&target="+target;
	Response(postdata,400,100);
}
function Unpacking(){
	var postdata = "action=unpack&path="+escape($('path').value)+"&zippath="+path+"&coverable="+$('coverable').value;
	Response(postdata,400,200);
}
function Searching(){
	var postdata ="path="+path+"&action=search";
	if(float){
		if($('sname').value==""){
			ShowReturn("<font color=red>"+T_jslang['search'][11]+"</font>",400,100);
			return false;
		}
		postdata+="&sname="+escape($('sname').value);
		var method = parseInt($('area').value)+parseInt($('match').value)+parseInt($('type').value);
		postdata+="&method="+method+"&extern="+$('extern').value;
	}else{
		if($('searchname').value==""){
			ShowReturn("<font color=red>"+T_jslang['search'][11]+"</font>",400,100);
			return false;
		}
		postdata+="&sname="+escape($('searchname').value)+"&method=7";
	}
	__Search(postdata);
}

function uploadfile(n){
	var win = new NewWindow(T_jslang['upload'][2],450,200);
	n>=15?n=15:"";
	for(i=0;i<n;i++){
		var number='';
		if(i<10){
			number='0'+i;
		}else{
			number=i;
		}
		win.addfile(T_jslang['global']['file']+number,'file[]','--'+T_jslang['global']['rename']+'<input name="rename[]" size=6 value="">--'+T_jslang['upload'][3]+'<input name="cover[]" id="cover_'+i+'" type="hidden" value="0"><input type="checkbox" onclick="$(\'cover_'+i+'\').value=this.checked==true?true:false">');
	}
	win.addhidden("action","upload");
	win.addhidden("path",path);
	win.addupfile('<form action="'+T_task+'" id="passform" method="post" enctype="multipart/form-data"  target="passframe">','</form>');
	win.addbutton(T_jslang['global']['cancel'],"Destroywin(0)");
	win.addbutton(T_jslang['global']['confirm'],"Startupload()");
	win.makewin();
}
function Startupload(){
	$('passform').submit();
	HoldWin();
}

function SaveFile(){
	var postdata = "action=savefile&path="+$('path').value+"&filedata="+escape($('filedata').value);
	Response(postdata,400,100);
}
/*--------------------------------------------------------------------------------------------*/


function HideObject(obj){
	if(obj=oo(obj)){
		obj.style.visibility = 'hidden';
	}
}
function Destroywin(n){
	document.body.removeChild(float);
	float = null;
	if(n){
		Tasks('refresh');
	}
}
function newobject(tagname,classname){
	var newelement = document.createElement(tagname);
	if(ie){
		newelement.className = classname;
	}else{
		newelement.setAttribute("class",classname);
	}
	document.body.appendChild(newelement);
	return newelement;
}
function oo(obj){
	return typeof(obj)=="string"?document.getElementById(obj):obj
}
function $(sId){
	return document.getElementById(sId);
}
function insertHtml(code){
	obj=document.body;
	if(ie){
		obj.insertAdjacentHTML("beforeend",code);
	}else{
		var r = obj.ownerDocument.createRange();
		r.setStartBefore(obj);
		obj.appendChild(r.createContextualFragment(code));
	}
}

function NewWindow(title,width,height){
	this.wintitle  = title;
	this.winwidth  = width;
	this.barwidth  = this.winwidth-30;
	this.winheight = height;
	this.inputs    = "";
	this.buttons   = "";
	this.winhtml   = "";
	if(float) Destroywin(0);
	float = newobject("div","newdiv");
	this.addtext = function(callname,idvalue,defaultvalue,others){
			this.inputs +='<tr><td style="width:30%;height=25px;background:white;" align="right">'
			+callname+'</td><td style="width:70%;height:25px;background:white;" align="left"><input id="'
			+idvalue+'" value="'+defaultvalue+'" onfocus="this.select()" ondbclick="this.select()"/>'
			+others+'</td></tr>';
	}
	this.addfile = function(callname,name,others){
		this.inputs +='<tr><td style="width:15%;height=25px;background:white;" align="right">'
			+callname+'</td><td style="width:85%;height:25px;background:white;" align="left"><input name="'
			+name+'" type="file" size="10"/>'+others+'</td></tr>';
	}
	this.addhidden = function(name,defaultvalue){
		this.inputs +='<input name="'+name+'" id="'+name+'" type="hidden" value="'+defaultvalue+'" />';
	}
	this.addtextarea = function(data,sId,rows,cols){
		this.inputs +='<tr><td align="center" colspan="2"><textarea id="'+sId+'" rows="'+rows+'" cols="'+cols+'">'+data+'</textarea></td></tr>';
	}
	this.addselect = function(callname,sId,namearray,valuearray){
		var option;
		for(n=0;n<namearray.length;n++){
			option +='<option  value="'+valuearray[n]+'">'+namearray[n]+'</option>'; 
		}
		this.inputs +='<tr><td style="width:15%;height=25px;background:white;" align="right">'
			+callname+'</td><td style="width:85%;height:25px;background:white;" align="left"><select title="'
			+callname+'" id="'+sId+'">'+option+'</select></td></tr>';
	}
	this.addbutton=function(name,func){
		this.buttons += '<div class="winbutton" lang="varbg" onclick="eval('+func+')">'+name+'</div>';
	}
	this.inithtml = function(hstr,estr){
		this.winhtml = '<table cellpadding="0" cellspacing="1" bgcolor="#F5FBFF" width="100%" height="100%">'
		+'<tr><td colspan="2" class="barhead">'+hstr+'</TD></TR>'+this.inputs
		+'<tr><td height=* colspan="2" bgcolor="white">'+estr+'</TD></TR></table>';
	}
	this.addupfile = function(hstr,estr){
		this.winhtml = hstr+'<table cellpadding="0" cellspacing="1" bgcolor="#F5FBFF" width="100%" height="100%">'
		+'<tr><td colspan="2" class="barhead"></TD></TR>'+this.inputs
		+'<tr><td height=* colspan="2" bgcolor="white"></TD></TR></table>'+estr;
	}
	this.addmy = function(){
		this.winhtml = '<div class="my" ></div>';
	}
	this.makewin=function(){
		var winbody = '<table border="0" cellpadding="0" cellspacing="0">'
				+'<tr>'
				+'<td class="win_top_left"></td>'
				+'<td class="win_top_center">'
				+'<div class="win_movebar" id="movebar" style="width:'+this.barwidth+'px">'
				+this.wintitle
				+'</div>'
				+'<div class="winclose" lang="varbg" onClick="Destroywin(0)"></div>'
				+'</td>'
				+'<td class="win_top_right"></td>'
				+'</tr>'
				+'<tr>'
				+'<td rowspan="2" class="win_left_edge"></td>'
				+'<td style="width:'+this.winwidth+'px;height:'+this.winheight+'px;backgroud:white;">'
				+this.winhtml
				+'</td>'
				+'<td rowspan="2" class="win_right_edge"></td>'
				+'</tr>'
				+'<tr>'
				+'<td class="win_base" valign="middle">'
				+'<div class="win_spacer"></div>'
				+this.buttons
				+'</td>'
				+'</tr>'
				+'<tr>'
				+'<td class="win_bottom_left"></td>'
				+'<td class="win_bottom_center"></td>'
				+'<td class="win_bottom_right"></td>'
				+'</tr>'
				+'</table>';
		with(float){
			innerHTML  = winbody;
			style.height = this.winheight+79;
			style.width  = this.winwidth+16;
			style.top  = parseInt((document.body.clientHeight - this.winheight -79)/2)+'px';
			style.left = parseInt((document.body.clientWidth  - this.winwidth -16)/2)+'px';
			style.visibility = 'visible';
		}
	}
}


/*--------------------------------------------------------------------------------------------*/
function CreateXMLHttp(){
	var xmlhttp = null;
	try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch(e){
		try{
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){
			xmlhttp = false;
		}
	}
	if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
		try {
			xmlhttp = new XMLHttpRequest();
		}catch(e){
			xmlhttp = false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		}catch (e){
			xmlhttp = false;
		}
	}
	return xmlhttp;
}

function Editor(postdata){
	var xmlhttp = CreateXMLHttp();
	var uri = T_task;
	xmlhttp.open("POST",uri,true);
	try{
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	}catch(e){
		alert("Your browser does not appear to  support asynchronous requests using POST.");
	}
	xmlhttp.onreadystatechange = function(){
		if(xmlhttp.readyState==4){ 
			if(xmlhttp.status==200){
				var haveopen = xmlhttp.responseXML.getElementsByTagName("haveopen")[0].firstChild;
				var saveble  = xmlhttp.responseXML.getElementsByTagName("saveble")[0].firstChild;
				//alert(haveopen);
				var filepath = xmlhttp.responseXML.getElementsByTagName("path")[0].firstChild;
				var content  = xmlhttp.responseXML.getElementsByTagName("content")[0].firstChild;
				var report   = xmlhttp.responseXML.getElementsByTagName("report")[0].firstChild;
				var time     = xmlhttp.responseXML.getElementsByTagName("time")[0].firstChild;
				if(haveopen.data!=-1){
					var win = new NewWindow(filepath?filepath.data:T_jslang['editor'][0],780,300);
					win.addtextarea(content?content.data:"",'filedata',15,90);
					win.addbutton(T_jslang['editor'][1],"Destroywin(0)");
					if(saveble.data!=-1){
						win.addhidden("path",filepath.data);
						win.addbutton(T_jslang['editor'][2],"SaveFile()");
					}
					win.inithtml(report?report.data:"",T_jslang['editor'][3]+(time?time.data:""));
					win.makewin();
				}else{
					ShowReturn((report?report.data:"")+"<p>"+T_jslang['editor'][3]+(time?time.data:"")+"</p>",400,100);
				}
				/*
				var win = new NewWindow('',780,300);
				win.inithtml('',xmlhttp.responseText);
				win.makewin();*/
				
			}else{
				ShowReturn("<font color=red>"+T_jslang['ajaxml'][0]+"</font>",400,100);
			}
		}else{
			HoldWin();
		}
	};
	xmlhttp.send(postdata);
}

function Response(postdata,w,h){
	var xmlhttp = CreateXMLHttp();
	var uri = T_task;
	xmlhttp.open("POST",uri,true);
	try{
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	}catch(e){
		alert("Your browser does not appear to  support asynchronous requests using POST.");
	}
	xmlhttp.onreadystatechange = function(){
		if(xmlhttp.readyState==4){ 
			if(xmlhttp.status==200){
				if(xmlhttp.responseText!=""){
					ShowReturn(xmlhttp.responseText,w,h);
				}else{
					if(float) Destroywin(1);
				}
			}else{
				ShowReturn("<font color=red>"+T_jslang['ajaxml'][0]+"</font>",400,100);
			}
		}else{
			HoldWin();
		}
	};
	xmlhttp.send(postdata);
}

function Hresponse(postdata){
	var xmlhttp = CreateXMLHttp();
	var uri = T_task;
	xmlhttp.open("POST",uri,true);
	try{
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	}catch(e){
		alert("Your browser does not appear to  support asynchronous requests using POST.");
	}
	xmlhttp.onreadystatechange = function(){
		if(xmlhttp.readyState==4 && xmlhttp.status==200){ 
			if(xmlhttp.responseText!=""){
				ShowReturn(xmlhttp.responseText,400,200);
			}else{
				if(float) Destroywin(1);
			}
		}
	};
	xmlhttp.send(postdata);
}

function ListDir(dir){
	var xmlhttp = CreateXMLHttp();
	var uri = T_task;
	var postdata = "action=listdir&path="+dir;
	var x = object_x + 'px';
	var y = object_y + object_h + 'px';
	xmlhttp.open("POST",uri,true);
	try{
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	}catch(e){
		alert("Your browser does not appear to  support asynchronous requests using POST.");
	}
	xmlhttp.onreadystatechange = function(){
		if(xmlhttp.readyState==4){
			if(xmlhttp.status==200){
				listmenu = $("listmenu");
				initlistmenu(x,y,xmlhttp.responseText);
			}else{
				ShowReturn("<font color=red>"+T_jslang['ajaxml'][0]+"</font>",400,100);
			}
			/*document.body.removeChild(lring);
			lring = null;*/
		}else{
			//HoldRing(x,y);
		}
	};
	xmlhttp.send(postdata);
}

function __Search(postdata){
	var xmlhttp = CreateXMLHttp();
	xmlhttp.open("POST",T_task,true);
	try{
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	}catch(e){
		alert("Your browser does not appear to  support asynchronous requests using POST.");
	}
	xmlhttp.onreadystatechange = function(){
		if(xmlhttp.readyState==4){ 
			if(xmlhttp.status==200){
				if(xmlhttp.responseText!=""){
					if(float) Destroywin(0);
					ShowReturn(xmlhttp.responseText,550,300);
				}else{
					ShowReturn("<font color=red>"+T_jslang['ajaxml'][1]+"</font>",400,100);
				}
			}else{
				ShowReturn("<font color=red>"+T_jslang['ajaxml'][0]+"</font>",400,100);
			}
		}else{
			HoldWin();
		}
	};
	xmlhttp.send(postdata);
}
/*--------------------------------------------------------------------------------------------*/
function HoldWin(){
	var win = new NewWindow(T_jslang['global']['hold'],400,100);
	win.inithtml('',"<center><font color=green>"+T_jslang['ajaxml'][2]+"</font></center>");
	win.makewin();
}
function HoldRing(x,y){
	lring = newobject("div","newdiv");
	lring.style.top = y;
	lring.style.left = x;
	lring.style.visibility = 'visible';
}
function ShowReturn(data,w,h){
	var win = new NewWindow(T_jslang['global']['return'],w,h);
	win.inithtml('',data);
	win.addbutton(T_jslang['global']['confirm'],'Destroywin(1)');
	win.makewin();
}
function showmy(){
	var win = new NewWindow('my',450,450);
	win.addmy();
	win.addbutton(T_jslang['global']['my'],"Destroywin(0)");
	win.makewin();
}
/*--------------------------------------------------------------------------------------------*/
function initlistmenu(posx,posy,innertxt){
	listmenu.onmouseover = function() {
		clearTimeout(menutimeout);
	}
	listmenu.onmouseout = function() {
		menutimeout = setTimeout('HideObject("listmenu")',3000);
	}
	listmenu.style.left   = posx;
	listmenu.style.top    = posy;
	listmenu.innerHTML    = innertxt;
	listmenu.style.zIndex = 50;
	listmenu.style.visibility = 'visible';
	menutimeout = setTimeout('HideObject("listmenu")',3000);
}

function ChangeDir(dir){
	if(dir!=""){
		window.location=T_main+'?path='+dir;
	}
	if(listmenu){
		HideObject(listmenu);
	}
}
function folding(obj){
	$(obj).style.display = $(obj).style.display=='none'?'':'none';
}
function prevhis(){
	his++;
	var overflow = parseInt($('prevhis').getAttribute('overflow'));
	for(i=0;Isshow = $('history_'+i);i++){
		Isshow.style.display = 'none';
		$('history-'+i).style.display = 'none';
	}
	for(j=overflow-his;j<i-his;j++){
		$('history_'+j).style.display = '';
		$('history-'+j).style.display = '';	
	}
	if(his==overflow){
		$('prevhis').style.display = 'none';
	}
	$('nexthis').style.display = '';
}
function nexthis(){
	his--;
	var overflow = parseInt($('prevhis').getAttribute('overflow'));
	for(i=0;Isshow = $('history_'+i);i++){
		Isshow.style.display = 'none';
		$('history-'+i).style.display = 'none';
	}
	for(j=overflow-his;j<i-his;j++){
		$('history_'+j).style.display = '';
		$('history-'+j).style.display = '';	
	}
	if(his==0){
		$('nexthis').style.display = 'none';
	}
	$('prevhis').style.display = '';
}
function opennew(args){
	switch(args){
		case 1:window.open('http://www.wxc.edu.cn');break;
		case 2:window.open('http://www.phpchina.com');break;
		default:window.open('http://www.wxc.edu.cn');break;
	}	
}


function newpport(){
	var win = new NewWindow(T_jslang['passwd'][0],400,200);
	win.addtext(T_jslang['passwd'][1],'olduser','','<font color=red>*</font>');
	win.addtext(T_jslang['passwd'][2],'oldpswd','','<font color=red>*</font>');
	win.addtext(T_jslang['passwd'][3],'newuser','','<font color=red>*</font>');
	win.addtext(T_jslang['passwd'][4],'newpswd','','<font color=red>*</font>');
	win.inithtml('','');
	win.addbutton(T_jslang['global']['cancel'],'Destroywin(0)');
	win.addbutton(T_jslang['global']['confirm'],'Checking()');
	win.makewin();
}
function Checking(){
	var postdata = "action=newpwd&olduser="+$('olduser').value+"&oldpswd="+$('oldpswd').value+"&newuser="+$('newuser').value+"&newpswd="+$('newpswd').value;	
	Response(postdata,400,100);
}
function loginout(){
	var win = new NewWindow(T_jslang['loginr'][3],300,100);
	win.inithtml('',T_jslang['loginr'][4]);
	win.addbutton(T_jslang['global']['cancel'],'Destroywin(0)');
	win.addbutton(T_jslang['global']['confirm'],'Canceling()');
	win.makewin();
}
function Canceling(){
	Hresponse("action=loginout");
}
function MainChange(Flag)
{
  parent.MainFrame.location.href=Flag+".html";
}
function ShowDialog(Url,W,H) 
 { 
   var  iWidth=W; //模态窗口宽度
   var  iHeight=H;//模态窗口高度
   var  iTop=(window.screen.height-iHeight)/2;
   var  iLeft=(window.screen.width-iWidth)/2;
	window.open(Url,"Detail","Scrollbars=no,Toolbar=no,Location=no,Direction=no,Resizeable=no,Width="+iWidth+",Height="+iHeight+",top="+iTop+",left="+iLeft) 
 }