﻿var F={
	$:function(id){return document.getElementById(id)},
	addmore:getCookie("setFile_Addmore")+"",
	secid:getCookie("setFile_Secid")+"",
	L:"@alzPathLeft@",
	R:"@alzPathRight@",
	setfilePath:getCookie("setFile_Path")+"",
	filePath:getCookie("filePath")+"",
	fullFilePath:function(path1,path2){
		var temp=unformatPath(path1+path2)+"/";
		temp=rePlace(temp,"\\","/");
		temp=rePlace(temp,"//","/");
		return temp;
	},
	formatPath:function(path){
		path=rePlace(path,"/",this.L);
		path=rePlace(path,"\\",this.R);
		return escape(path);
	},
	unformatPath:function(path){
		path=rePlace(path,this.L,"/");
		path=rePlace(path,this.R,"\\");
		return unescape(path);
	},
	open:function(){	
		var a=arguments;
		this.title=a[0]||'文件管理';
		this.path=a[1]||'/images/propic/';
		this.secid=a[2]||'';
		this.other=a[3]||{type:'NOT',size:1000,addmore:''};
		this.setfilePath=getCookie("setFile_Path")+"";
		this.filePath=getCookie("filePath")+"";
		var setFilePath=webpath+this.path;
		setFilePath=rePlace(setFilePath,"/","\\");
		setFilePath=rePlace(setFilePath,"\\\\","\\");
		setFilePath=this.formatPath(setFilePath);
		if(setFilePath!=this.setfilePath){setCookie("filePath","");setCookie("filePathArr","");}
		setCookie("setFile_Path",setFilePath);
		setCookie("setFile_Secid",this.secid);
		setCookie("setFile_Type",this.other.type);
		setCookie("setFile_Size",this.other.size);
		if(typeof(this.other.addmore)!="undefined"){setCookie("setFile_Addmore",this.other.addmore)}else{setCookie("setFile_Addmore","");};
		Msg.open(this.title,webpath+"alz_admin/file/index.asp?_i="+Math.random(),900,520,1,{bgc:'#000000',opa:0.6});
	},
	fileSetUp:function(){
		var err=0;
		function fileLoopSet(){
			var setFile_sTop=formatnum(getCookie("setFile_sTop"),0);
			var setFile_i=getCookie("setFile_i");
			var fileI=getId("file"+setFile_i);
			if(fileI){
				fileI.className+="on";
				getId("ckbox"+setFile_i).checked=true;
				getId("lefts").scrollTop=setFile_sTop;
				getId("oldId").value=setFile_i;
				clearInterval(LoopSet);
			}else if(err>100){clearInterval(LoopSet);}else{err++;}
		}
		var LoopSet=setInterval(fileLoopSet,100);
	},
	upPath:function(){
		var sec=ajax("file_ajax.asp?action=upPath&_i="+Math.random());
		sec=sec.split("{$OK$}")[1];
		if(getCookie("filePath")!="")this.fileListLoad(sec);
	},
	fileListLoad:function(loadPath){
		if(typeof(loadPath)=="undefined"){
			loadPath=getCookie("filePath")+""; 
		}else{
			setCookie("filePath",loadPath);
			var filePathArr=getCookie("filePathArr")+"";
			if(filePathArr.indexOf("{a}"+loadPath+"{a}")<0&&loadPath!=""){filePathArr+="{a}"+loadPath+"{a}";setCookie("filePathArr",filePathArr);}
		}	
		ajaX("file_ajax.asp?action=guid&_ii="+Math.random(),"fileGuidList","...");
		ajaX("file_ajax.asp?_iii="+Math.random(),"lefts","<div class='listLoading'>文件列表加载中……</div>");
		this.fileSetUp();
	},
	fileListLoad2:function(){
		ajaX("file_ajax.asp?_ii="+Math.random(),getFid("lefts"),"<div class='listLoading'>文件列表加载中……</div>");
	},
	isPic:function(names){
		names=names.toLowerCase();
		if(names.indexOf(".jpg")<0&&names.indexOf(".gif")<0&&names.indexOf(".png")<0&&names.indexOf(".jpeg")<0){return false;}else{return true;}
	},
	fileOk:function(){
		var secid=this.secid;
		var addmore=this.addmore;
		var secvalue="";
		if(!Null(addmore))secvalue=getCheckBox("files");
		if(secvalue=="")secvalue=getId("geturl").value;
		if(secid&&secvalue==""){DvWnd.open('返回错误','../admin_help.asp?id=98',500,200);return false;}
		secvalue=this.unformatPath(secvalue);
		if(parent.window.frmright){
			var obj=parent.window.frmright.getId(secid);
			var obj2=parent.window.frmright.getId(secid+"type");
			var obj3=parent.window.frmright.getId(secid+"size");
			if(obj){obj.value=secvalue;}
			if(obj2){obj2.value=getId("FileType").value;}
			if(obj3){obj3.value=getId("FileSize").value;}
			Msg.close();
		}else{
			var obj=getFid(secid);
			var obj2=getFid(secid+"type");
			var obj3=getFid(secid+"size");
			if(obj){obj.value=secvalue;}
			if(obj2){obj2.value=getId("FileType").value;}
			if(obj3){obj3.value=getId("FileSize").value;}
			wndClose();
		}
	},
	reSort:function(obj,sortBy,sortKind){
		var oldKind=formatnum(getCookie("setFile_sortKind"),sortKind);
		if(sortKind<3){	newKind=(oldKind==1)?2:1;}else{newKind=(oldKind==3)?4:3;}
		setCookie("setFile_sortKind",newKind);
		setCookie("setFile_sortBy",sortBy);
		this.fileListLoad();
	},
	moveF:function(){
		fileName=getCheckBoxAll("files");
		DvWnd.open('文件移动','index.asp?action=moveF&fileName='+fileName+'&_i='+Math.random(),500,100);
	},
	fileClear:function(){
		if(parent.window.frmright){	var obj=parent.window.frmright.getId(this.secid);if(obj){obj.value=""};Msg.close();}else{var obj=getFid(secid);if(obj){obj.value=""};wndClose();}
	}
}




var formatPathStrLeft="@alzPathLeft@",formatPathStrRight="@alzPathRight@";
//JS里的参数多半是加过密的，asp则反之。
function fullFilePath(path1,path2){
	var str=unformatPath(path1+path2);
	str=rePlace(str,"\\","/")+"/";
	str=rePlace(str,"//","/");
	return str;
}
function formatPath(path){
	path=rePlace(path,"/",formatPathStrLeft);
	path=rePlace(path,"\\",formatPathStrRight);
	return escape(path);
}

function unformatPath(path){
	path=rePlace(path,formatPathStrLeft,"/");
	path=rePlace(path,formatPathStrRight,"\\");
	return unescape(path);
}

function showOff(){getId("rightmenu").style.display="none";}

function formatFileName(formatpath){
	if(confirm("确定修复此文件夹下所有文件？")){
		var loading=getId("pageloading");
		var xmlhttp=ajax_driv();
		xmlhttp.open("get","index.asp?action=formatfilename&_i="+Math.random(),true);
		xmlhttp.onreadystatechange=function(){
			if(xmlhttp.readyState<4){loading.style.display="";loading.innerHTML="<img src='filepic/loading.gif' /> 文件修复中，请稍侯……";pageloading();}		
			if(xmlhttp.readyState==4){		
				var sec=xmlhttp.responseText.split("{$over$}")[1];
				F.fileListLoad();
				loading.style.display="none";
				if(sec.indexOf("{$ok$}")>=0)
					sucgoto("<b>文件修复成功！</b>","",3);
				else
					sucgoto("<u>"+sec+"</u>","",113);
			}
		};		
		xmlhttp.send(null);
	}
}

function getCheckBox(thename){
	var setFilePath=getCookie("setFile_Path")+"";
	var filePath=getCookie("filePath")+"";
	var checkboxArr=getTag("input");
	var funstr="",funstr2="";
	for(i=0;i<checkboxArr.length;i++){
		if(checkboxArr[i].type=="checkbox")	{
			if(checkboxArr[i].name==thename){if(funstr!="")funstr2="{p}";if(checkboxArr[i].checked&&checkboxArr[i].value.indexOf(".")>0){funstr+=funstr2+fullFilePath(setFilePath,filePath)+checkboxArr[i].value};}
		}
	}
	return unescape(funstr);
}

function getCheckBoxAll(thename){
	var setFilePath=getCookie("setFile_Path")+"";
	var filePath=getCookie("filePath")+"";
	var checkboxArr=getTag("input");
	var funstr="",funstr2="";
	for(i=0;i<checkboxArr.length;i++){
		if(checkboxArr[i].type=="checkbox")	{
			if(checkboxArr[i].name==thename){if(funstr!="")funstr2="{p}";if(checkboxArr[i].checked){funstr+=funstr2+fullFilePath(setFilePath,filePath)+checkboxArr[i].value};}
		}
	}
	return unescape(funstr);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function fileSet(obj,fileName,FileType,FileSize,i,e){
	e=window.event||e;
	var ctrlKey=e.ctrlKey;
	var shiftKey=e.shiftKey;
	setCookie("setFile_i",i);
	setCookie("setFile_sTop",getId("lefts").scrollTop);
	var setFilePath=getCookie("setFile_Path")+"";
	var filePath=getCookie("filePath")+"";
	var unFileUrl=fullFilePath(setFilePath,filePath)+fileName;
	var FileUrl=rePlace(unformatPath(filePath),"\\","/")+fileName;
	var isfile=true;
	var istxt=false;
	var ispic=false;
	var pictypestr="jpg,gif,bmp,png";
	var txttypestr="asp,html,htm,txt,js,css,xml";
	if(pictypestr.indexOf(FileType)>=0){ispic=true;}
	if(txttypestr.indexOf(FileType)>=0){istxt=true;}
	var pic=getId("filepic");
	if(ispic){
		pic.src="filepic/loading.gif";
		var img=new Image();
		img.src=unFileUrl+"?_i="+Math.random();
		img.onload=function(){pic.src=img.src;getId("filesx").style.display="";getId("filesx").innerHTML="图片尺寸："+pic.width+"×"+pic.height;}
	}else{pic.src="filepic/big_"+FileType+".gif";getId("filesx").style.display="none";}
	
	if(FileType!="文件夹"){pic.alt="点击浏览";pic.onclick=function(){window.open(unFileUrl);}}
	pic.onerror=function(){pic.src="filepic/big_def.gif";}	
	getId("nowid").value=i;
	if(FileType=="文件夹"){isfile=false;}
	if(isfile){
		getId("geturl").value=unFileUrl;
		getId("FileType").value=FileType.toUpperCase();
		getId("FileSize").value=FileSize;		
	}
	
	var cbutton=parseInt(e.button);
	var browstr=browserCk();	
	if(browstr=="TT"||browstr=="IE6"){rbutton=0;}else{rbutton=2;}
	var isMouseR=(cbutton==rbutton||cbutton>2);
	if(isMouseR){
		var rhtml='<table>';
		rhtml+='<tr><td><a href="javascript:F.fileListLoad(\''+filePath+'\')">刷新</a></td></tr>';
		if(isfile){	rhtml+='<tr><td><a href="'+unFileUrl+'" target="_blank">打开</a></td></tr>';}	
		if(istxt){rhtml+='<tr><td><a href="javascript:editFile(\''+fileName+'\')">编辑</a></td></tr>';}
		if(ispic){rhtml+='<tr><td><a href="javascript:cutPic(\''+fileName+'\',1)">图片裁切[等比]</a></td></tr>';}
		if(ispic){rhtml+='<tr><td><a href="javascript:cutPic(\''+fileName+'\',2)">图片裁切[自由]</a></td></tr>';}
		rhtml+='<tr><td><a href="javascript:reName(\''+escape(fileName)+'\','+isfile+')">重命名</a></td></tr>';
		rhtml+='<tr><td><a href="javascript:addFolder();">新建文件夹</a></td></tr>';
		rhtml+='<tr><td><a href="javascript:F.moveF();">移动</a></td></tr>';
		rhtml+='<tr><td><a href="javascript:delFile(\''+fileName+'\')">删除</a></td></tr>';
		rhtml+='</table>';
		var theY=e.clientY;
		getId("rightmenu").style.display="";
		if(theY>300){getId("rightmenu").style.top=theY-110;}else{getId("rightmenu").style.top=theY;}
		getId("rightmenu").style.left=e.clientX;
		getId("rightmenu").innerHTML=rhtml;
	}
	
	var oldId=formatnum(getId("oldId").value,0);
	if(shiftKey){
		var minI=oldId>i?i:oldId;
		var maxI=oldId<i?i:oldId;
		for(var n=minI;n<=maxI;n++){getId("ckbox"+n).checked=true;getId("file"+oldId).className="filelist";}
	}else{
		if(getId("file"+oldId)){getId("file"+oldId).className="filelist";if(!ctrlKey&&!isMouseR){getId("ckbox"+oldId).checked=false;}}		
		if(!isMouseR)getId("ckbox"+i).checked=getId("ckbox"+i).checked?false:true;
	}
	getId("file"+i).className+="on";
	getId("oldId").value=i;
}

function browserCk(){
	var s=window.navigator.userAgent;
	if(s.indexOf("Tencent")>0)
		return "TT";
	else if(s.indexOf("Firefox")>0)
		return "FF";
	else if(s.indexOf("Chrome")>0)
		return "GG";
	else if(s.indexOf("MSIE 6.0")>0)
		return "IE6";
	else if(s.indexOf("MSIE 7.0")>0)
		return "IE7";	
	else
		return "IE";			
}

function showRight(){
	var obj2=getId("right");
	var obj=getId("lr-img");
	if(obj2.style.display=="none"){
		obj2.style.display="";
		obj.src="filepic/R.gif";
		setCookie("upfile_right","open");
	}else{
		obj2.style.display="none";
		obj.src="filepic/L.gif";
		setCookie("upfile_right","")
	}
}

function changList(){
	var obj=getId("left");
	if(obj.className=="filelist2"){
		obj.className="filelist1"
		setCookie("upfile_filelist","filelist1");
	}else{
		obj.className="filelist2"
		setCookie("upfile_filelist","filelist2");
	}
}

function fileListSet(){
	var obj=getId("left");
	var a=getCookie("upfile_filelist");
	if(a)obj.className=a;
}
	
function editFile(fileName){DvWnd.open("文件 "+fileName+" 编辑","index.asp?action=editFile&fileName="+fileName+"&_i="+Math.random(),'',490,1,{bgc:'#ffffff',opa:0.6,full:1,none:1});}

function cutPic(fileName,cases){//1为等比 2为自由
	if(cases==1)DvWnd.open("图片 "+fileName+" 裁切","index.asp?action=cutPic&fileName="+fileName+"&auto=1&_i="+Math.random(),'',490,1,{bgc:'#ffffff',opa:0.6,full:1,none:1});
	if(cases==2)DvWnd.open("图片 "+fileName+" 裁切","index.asp?action=cutPic&fileName="+fileName+"&_i="+Math.random(),'',490,1,{bgc:'#ffffff',opa:0.6,full:1,none:1});
}

function reName(oldName,isfile){DvWnd.open("文件重命名","index.asp?action=reName&oldName="+oldName+"&isfile="+isfile+"&_i="+Math.random(),500,100);}

function formatName(id){
	var obj=getId(id);
	var objv=obj.value;
	if(objv==""){alert("请输入文件名");obj.focus();return false;}
	if(!safeName(objv)){
		alert("1、文件名不符合标准；\n2、不可以包含空格，逗号，单双引号，百分号%加号+连接号&等特殊符号！");
		obj.focus();
		return false;
	}	
}

function safeName(nameStr){
	if(nameStr.indexOf(",")>=0)return false;
	if(nameStr.indexOf("'")>=0)return false;
	if(nameStr.indexOf("\"")>=0)return false;
	if(nameStr.indexOf(" ")>=0)return false;
	if(nameStr.indexOf("　")>=0)return false;
	if(nameStr.indexOf("%")>=0)return false;
	if(nameStr.indexOf("&")>=0)return false;
	if(nameStr.indexOf("\+")>=0)return false;
	return true;
}

function addFolder(){DvWnd.open('新建文件夹','index.asp?action=addFolder&_i='+Math.random(),400,100);}

function upFiles(){DvWnd.open('文件上传','index.asp?action=upFiles&_i='+Math.random(),535,390);}

function delFile(delName){
	if(confirm("确定删除？")){
		var sec=ajax("index.asp?action=delFile&delName="+escape(delName));
		sucgoto("<b>成功删除："+sec.split("{$over$}")[1]+"</b>","",3);
		F.fileListLoad();
	}
}

function dels(){
	var obj=getCheckbox("files");
	var objArr=obj.split(",");
	var num=objArr.length;
	if(!Null(obj)){		 
		if(confirm("确定删除选定文件或文件夹？\n\n此操作将不可恢复，请慎重选择？")){
			if(confirm("再次确认？")){
				for(var i=0;i<num;i++){if(objArr[i]!=""){ajax("index.asp?action=delFile&delName="+escape(objArr[i]));}}
				F.fileListLoad();
				sucgoto("<b>成功删除选中文件！</b>","",3);
			}
		}
	}else{alert("未选中任何文件或文件夹！");}
}

function getWebPic(){DvWnd.open('远程抓图','index.asp?action=getWebPic&_i='+Math.random(),600,100);}

function checkpicUrl(){
	var obj=getId("picUrl");
	var objs=obj.value.toLowerCase();
	if(objs==""){alert("请输入图片地址！");obj.focus();return false;}
	if(objs.indexOf(".gif")<0&&objs.indexOf(".jpg")<0&&objs.indexOf(".png")<0&&objs.indexOf(".bmp")<0||objs.indexOf("http://")<0||objs.indexOf("/")<0){alert("请输入完整的图片地址，只支持GIF、JPG、PNG、BMP图片抓取！");obj.focus();return false;}	
	lock_button();
}

function uploadComplete(){
	alert('上传任务完成');
	F.fileListLoad2();
	location.href=location.href;
}