
var divFileVistaControl
var divLeftPane,divRightPane,divPaneSeparator;var divToolbar,divFolderInfo,divGrid;var divFolderTasks,spanTasksLink;var infoFolderImage,infoFolderName,infoSubfoldersText,infoFilesText,infoSize;var frameDownload;var separatorDrag;var language;var toolbar;var tree;var grid,nameColumn,groupColumn;var menus;var currentFolder;var controlUrl="";var controlLoadCompleteEvent=null;var controlDebug=false;var controlFullscreen=false;var controlFlashUpload=false;var fctv=true;var FOLDERGROUP=1,FILEGROUP=2;function onControlLoad(){divFileVistaControl=document.getElementById("divFileVistaControl");addEvent(divFileVistaControl,"contextmenu",cancelEventExceptForTextInput);addEvent(divFileVistaControl,"selectstart",cancelEventExceptForTextInput);addEvent(divFileVistaControl,"dragstart",cancelEventExceptForTextInput);divLeftPane=document.getElementById("divLeftPane");divRightPane=document.getElementById("divRightPane");divPaneSeparator=document.getElementById("divPaneSeparator");divToolbar=document.getElementById("divToolbar");divGrid=document.getElementById("divGrid");divFolderInfo=document.getElementById("divFolderInfo");divFolderTasks=document.getElementById("divFolderTasks");addEvent(divFolderInfo,"contextmenu",function(e){onFolderInfoContextMenu(e||window.event);});spanTasksLink=document.getElementById("spanTasksLink");spanTasksLink.className="treeNodeText";addEvent(divFolderTasks,"click",function(e){onFolderInfoContextMenu(e||window.event);});addEvent(divFolderTasks,"mouseover",function(e){spanTasksLink.className="treeNodeText TNHover";});addEvent(divFolderTasks,"mouseout",function(e){spanTasksLink.className="treeNodeText";});infoFolderImage=document.getElementById("infoFolderImage");infoFolderName=document.getElementById("infoFolderName");infoSubfoldersText=document.getElementById("infoSubfoldersText");infoFilesText=document.getElementById("infoFilesText");infoSize=document.getElementById("infoSize");frameDownload=document.getElementById("frameDownload");currentFolder=new FolderInfo();var paneSeparator=new PaneSeparator(divFileVistaControl,divLeftPane,divPaneSeparator,divRightPane,2);ModalDialog.iconClose=resolveControlUrl("images/close.png");ModalDialog.iconPrompt=resolveControlUrl("images/prompt.png");ModalDialog.parent=divFileVistaControl;loadLanguage();}
function onControlResize(){var controlMargin=2;if(divFileVistaControl.offsetWidth<550)
divFileVistaControl.style.width="550px";if(divFileVistaControl.offsetHeight<400)
divFileVistaControl.style.height="400px";var controlWidth=divFileVistaControl.offsetWidth-(controlMargin*2);var controlHeight=divFileVistaControl.offsetHeight-(controlMargin*3);divLeftPane.style.height=controlHeight+"px";tree.setHeight(controlHeight);divPaneSeparator.style.height=controlHeight+"px";divRightPane.style.height=controlHeight+"px";var gridHeight=divRightPane.offsetHeight-divToolbar.offsetHeight-divFolderInfo.offsetHeight;divGrid.style.height=gridHeight+"px";divRightPane.style.width=(controlWidth-divLeftPane.offsetWidth-divPaneSeparator.offsetWidth)+"px";}
function onBrowserWindowResize(){var pageWidth=Viewport.getWidth()-4;var pageHeight=Viewport.getHeight()-4;divFileVistaControl.style.width=pageWidth+"px";divFileVistaControl.style.height=pageHeight+"px";onControlResize();}
function loadLanguage(){XmlRequest("POST",resolveControlUrl("filevista.asmx/GetLanguageFile"),"",onLanguageXmlComplete,onLanguageXmlError,controlDebug);}
function loadToolbar(){toolbar=new Toolbar();toolbar.setButtonSize(28,34);toolbar.onButtonClick=onButtonClick;toolbar.setImagesPath(resolveControlUrl("images/toolbar/"));var parameters;parameters="fileName="+encodeURIComponent("default.toolbar.xml");XmlRequest("POST",resolveControlUrl("filevista.asmx/GetDataFile"),parameters,onToolbarXmlComplete,onXmlError,controlDebug);}
function loadTree(){tree=new Tree();tree.setSignIcons(resolveControlUrl("images/plus.png"),resolveControlUrl("images/minus.png"));tree.setNodeIcons("F",resolveControlUrl("images/menu/folder.png"),resolveControlUrl("images/menu/openfolder.png"));tree.setNodeIcons("RF",resolveControlUrl("images/menu/rootfolder.png"));tree.setLoadingIcon(resolveControlUrl("images/loading.gif"));tree.onTreeNodeSelect=onTreeNodeSelect;tree.onTreeNodeExpand=onTreeNodeExpand;tree.createRoot("The Root");tree.hideRoot=true;tree.render(divLeftPane);tree.setTitle(language.getString("200"));tree.textLoading=language.getString("209");XmlRequest("POST",resolveControlUrl("filevista.asmx/GetRootFolders"),"",function(xmlHttp){onTreeXmlComplete(xmlHttp,tree.root);},function(statusText){onTreeXmlError(statusText,tree.root);},controlDebug);}
function loadGrid(){grid=new Grid();grid.imgAscending.src=resolveControlUrl("images/ascending.png");grid.imgDescending.src=resolveControlUrl("images/descending.png");grid.setIconSize(16,16);grid.onColumnClick=onColumnClick;grid.onRowDoubleClick=onRowDoubleClick;grid.onRowContextMenu=onRowContextMenu;grid.onSelectionComplete=onSelectionComplete;grid.render(divGrid);}
function loadMenu(){Menu.imgPopup.src=resolveControlUrl("images/menu.png");Menu.imgPopup.width=5;Menu.imgPopup.height=9;Menu.imgPopupHover.src=resolveControlUrl("images/menuhover.png");Menu.imgPopupHover.width=5;Menu.imgPopupHover.height=9;Menu.iconsPath=resolveControlUrl("images/menu/");var parameters;parameters="fileName="+encodeURIComponent("default.menus.xml");XmlRequest("POST",resolveControlUrl("filevista.asmx/GetDataFile"),parameters,onMenusXmlComplete,onXmlError,controlDebug);}
function onLanguageXmlComplete(xmlHttp){var xmlDoc=xmlHttp.responseXML;var stringsNode=xmlDoc.getElementsByTagName("Strings")[0];var stringNodes=stringsNode.getElementsByTagName("String");language=new Language();for(var i=0;i<stringNodes.length;i++)
language.addString(stringNodes[i].getAttribute("key"),stringNodes[i].firstChild.nodeValue);spanTasksLink.firstChild.nodeValue=language.getString("219");ModalDialog.okButtonText=language.getString("220");ModalDialog.cancelButtonText=language.getString("221");ModalDialog.promptTitleText=language.getString("222");loadToolbar();}
function onToolbarXmlComplete(xmlHttp){var xmlDoc=xmlHttp.responseXML;var toolbarNode=xmlDoc.getElementsByTagName("Toolbar")[0];var items=toolbarNode.getElementsByTagName("Item");for(var i=0;i<items.length;i++){var command=items[i].getAttribute("command");if(command=="[Separator]")
toolbar.addSeparator();else
toolbar.addButton(command,language.getString(items[i].getAttribute("description")),items[i].getAttribute("image"),items[i].getAttribute("value"));}
toolbar.render(divToolbar);setToolbarState();toolbar.buttons["UpOneLevel"].disable();loadMenu();}
function onMenusXmlComplete(xmlHttp){var xmlDoc=xmlHttp.responseXML;menus=Menu.parseXML(xmlDoc,onMenuItemClick);loadGrid();loadTree();if(controlFullscreen){divFileVistaControl.style.position="absolute";divFileVistaControl.style.left="0px";divFileVistaControl.style.right="0px";onBrowserWindowResize();addEvent(window,"resize",onBrowserWindowResize);}
else
onControlResize();divLeftPane.style.visibility="visible";divPaneSeparator.style.visibility="visible";divRightPane.style.visibility="visible";if(fctv)afctvm();if(controlLoadCompleteEvent)controlLoadCompleteEvent();}
function onTreeXmlComplete(xmlHttp,treeNode){appBusy(false);var xmlDoc=xmlHttp.responseXML;if(checkResultXml(xmlDoc)){treeNode.hideLoadingNode();return;}
var folderNode=xmlDoc.getElementsByTagName("Folder")[0];var subnodes=folderNode.getElementsByTagName("Subfolder");for(var i=0;i<subnodes.length;i++)
treeNode.addChildNode(subnodes[i].getAttribute("name"),((subnodes[i].getAttribute("hasChild")=="1")?true:false),((treeNode.id=="root")?"RF":"F"),subnodes[i].getAttribute("value"));treeNode.sortChildren();treeNode.loadChildren();if(treeNode==tree.root&&treeNode.childNodes.length>0){treeNode.childNodes[0].select();}}
function onTreeXmlError(statusText,treeNode){appBusy(false);treeNode.hideLoadingNode();alert(language.getString("301")+"\n\n"+statusText);}
function onGridXmlComplete(xmlHttp,treeNode){appBusy(false);var xmlDoc=xmlHttp.responseXML;if(checkResultXml(xmlDoc)){treeNode.hideLoadingNode();return;}
var sizeColumnIndex=2;var folderListNode=xmlDoc.getElementsByTagName("FolderList")[0];currentFolder.name=folderListNode.getAttribute("name");currentFolder.fullPath=folderListNode.getAttribute("fullPath");currentFolder.setRootFolderID(folderListNode.getAttribute("rootFolderID"));currentFolder.relativePath=folderListNode.getAttribute("relativePath");currentFolder.setPermission(folderListNode.getAttribute("permission"));var selectTree=(folderListNode.getAttribute("selectTree")=="1");var folderSize=0;var treeNodeFirstLoad=!treeNode.loaded&&currentFolder.permission["Traverse"];if(treeNodeFirstLoad)treeNode.unloadChildren();grid.clear();groupColumn=grid.addColumn("Group","Number");groupColumn.hidden=true;var columnsNode=folderListNode.getElementsByTagName("Columns")[0];var columnNodes=columnsNode.getElementsByTagName("Column");for(var i=0;i<columnNodes.length;i++)
grid.addColumn(language.getString(columnNodes[i].getAttribute("text")),columnNodes[i].getAttribute("type"),(columnNodes[i].getAttribute("align")=="1"?true:false),columnNodes[i].getAttribute("format"));nameColumn=grid.columns[1];grid.rowTitleColumn=nameColumn;nameColumn.formatFunction=formatName;grid.columns[sizeColumnIndex].formatFunction=formatSize;grid.iconsPath=resolveControlUrl("images/menu/folder.png");var subfoldersNode=folderListNode.getElementsByTagName("Subfolders")[0];var subfolderNodes=subfoldersNode.getElementsByTagName("Subfolder");for(var j=0;j<subfolderNodes.length;j++){var cellArray=new Array(columnNodes.length+1);cellArray[groupColumn.index]=FOLDERGROUP;for(var i=1;i<cellArray.length;i++)
cellArray[i]=subfolderNodes[j].attributes[i-1].value;grid.addRow(cellArray,"");if(treeNodeFirstLoad)treeNode.addChildNode(subfolderNodes[j].attributes[0].value,((subfolderNodes[j].getAttribute("ex1")=="1")?true:false),"F");}
if(treeNodeFirstLoad){treeNode.sortChildren();treeNode.loadChildren();}
treeNode.hideLoadingNode();grid.iconsPath=resolveControlUrl("images/fileicons/");var filesNode=folderListNode.getElementsByTagName("Files")[0];var fileNodes=filesNode.getElementsByTagName("File");for(var j=0;j<fileNodes.length;j++){var cellArray=new Array(columnNodes.length+1);var icon=fileNodes[j].attributes[0].value;cellArray[groupColumn.index]=FILEGROUP;for(var i=1;i<cellArray.length;i++)
cellArray[i]=fileNodes[j].attributes[i].value;grid.addRow(cellArray,icon);folderSize+=(+cellArray[sizeColumnIndex]);}
setUIstate();if(selectTree)tree.selectNode(currentFolder.rootFolderID,currentFolder.relativePath);infoFolderName.firstChild.nodeValue=currentFolder.name;infoFolderName.title=currentFolder.fullPath;infoFolderImage.title=currentFolder.fullPath;infoSubfoldersText.innerHTML=language.getString("201","<b>"+subfolderNodes.length+"</b>");infoFilesText.innerHTML=language.getString("202","<b>"+fileNodes.length+"</b>");infoSize.firstChild.nodeValue=(folderSize==0)?formatSize("0"):formatSize(folderSize);divFolderInfo.style.visibility="visible";grid.sort(groupColumn,nameColumn);grid.render(divGrid);}
function onGridXmlError(statusText,treeNode){appBusy(false);treeNode.hideLoadingNode();alert(language.getString("301")+"\n\n"+statusText);}
function onFileOperationXmlComplete(xmlHttp){appBusy(false);var xmlDoc=xmlHttp.responseXML;if(checkResultXml(xmlDoc))return;executeCommand("Refresh");}
function onXmlError(statusText){appBusy(false);alert(language.getString("301")+"\n\n"+statusText);}
function onLanguageXmlError(statusText){alert("There was a problem retrieving the language file:\n\n"+statusText);}
function onTreeNodeSelect(treeNode){if(treeNode.expandable)treeNode.showLoadingNode();exploreFolder(treeNode.getRootValue(),treeNode.getRelativePath(),false,treeNode);}
function onTreeNodeExpand(treeNode){if(treeNode.loaded)return;treeNode.showLoadingNode();var parameters;parameters="rootFolderID="+encodeURIComponent(treeNode.getRootValue());parameters+="&relativePath="+encodeURIComponent(treeNode.getRelativePath());XmlRequest("POST",resolveControlUrl("filevista.asmx/GetFolders"),parameters,function(xmlHttp){onTreeXmlComplete(xmlHttp,treeNode);},function(statusText){onTreeXmlError(statusText,treeNode);},controlDebug);appBusy(true);}
function onColumnClick(e,column){if(column.index==this.sortColumn.index){this.reverse();}else{this.sort(groupColumn,column,nameColumn);this.sortColumn=column;}
this.refresh();}
function onRowDoubleClick(e,row){if(row.cells[groupColumn.index]==FOLDERGROUP){if(currentFolder.permission["Traverse"])
executeCommand("Explore",row);}else{if(currentFolder.permission["Download"])
executeCommand("Download",row);}}
function onRowContextMenu(e,row){if(row.grid.selectedCount==1){if(row.cells[groupColumn.index]==FOLDERGROUP)
menus[1].popup(e);else{var fileName=row.cells[nameColumn.index];if(fileName.substr(fileName.lastIndexOf(".")+1,fileName.length).toUpperCase()=="ZIP"){menus[0].menuItems["CompressAndDownload"].hide();menus[0].menuItems["Compress"].hide();menus[0].menuItems["ExtractAll"].show();menus[0].menuItems["ExtractHere"].show();}else{menus[0].menuItems["CompressAndDownload"].show();menus[0].menuItems["Compress"].show();menus[0].menuItems["ExtractAll"].hide();menus[0].menuItems["ExtractHere"].hide();}
menus[0].popup(e);}}else if(row.grid.selectedCount>1){menus[2].popup(e);}}
function onFolderInfoContextMenu(e){if(Clipboard.command=="")
menus[3].menuItems["Paste"].disable();else
menus[3].menuItems["Paste"].enable();menus[3].popup(e);}
function onButtonClick(e,button){executeCommand(button.command,button);}
function onMenuItemClick(e,menuItem){executeCommand(menuItem.command,menuItem);}
function onSelectionComplete(e){var downloadButtonState=false;var downloadCommand="Download";if(grid.selectedCount==1){if(grid.getSelectedFirstRow().cells[groupColumn.index]==FOLDERGROUP){downloadButtonState=currentFolder.permission["Download"];downloadCommand="CompressAndDownload";}else
downloadButtonState=currentFolder.permission["Download"];}else if(grid.selectedCount>1){downloadButtonState=currentFolder.permission["Download"];downloadCommand="CompressAndDownload";}
toolbar.buttons["Download"].command=downloadCommand;if(downloadButtonState)
toolbar.buttons["Download"].enable();else
toolbar.buttons["Download"].disable();}
function executeCommand(command,parameter){switch(command){case"UpOneLevel":var re,match;var relativePath;re=new RegExp("(.+)(/|\\\\)(.+)$");match=re.exec(currentFolder.relativePath);relativePath=match?match[1]:"";exploreFolder(currentFolder.rootFolderID,relativePath,true);break;case"Refresh":var currentTreeNode=tree.getNode(currentFolder.rootFolderID,currentFolder.relativePath);currentTreeNode.loaded=false;exploreFolder(currentFolder.rootFolderID,currentFolder.relativePath,false,currentTreeNode,true);break;case"SelectAll":grid.selectAllRows();break;case"SelectNone":grid.unselectAllRows();break;case"InvertSelection":grid.invertSelectedRows();break;case"NewFolder":var suggestedName=language.getString("211");var validateFunction=function(input){input=fileNameTrim(input);if(input=="")
return false;else if(!isFileNameValid(input)){alert(language.getString("206")+"\n\n\t\t \\ / : * ? \" < > |");return false;}else
return true;}
var returnFunction=function(input){if(input)
fileOperation(command,input);}
ModalDialog.prompt(language.getString("210"),suggestedName,returnFunction,validateFunction);break;case"Explore":var row=(getClassName(parameter)=="Row")?parameter:grid.getSelectedFirstRow();var relativePath=currentFolder.relativePath;if(relativePath!="")relativePath+="/";relativePath+=row.cells[nameColumn.index];exploreFolder(currentFolder.rootFolderID,relativePath,true);break;case"Download":var row=(getClassName(parameter)=="Row")?parameter:grid.getSelectedFirstRow();var fileName=row.cells[nameColumn.index];downloadFile(currentFolder.rootFolderID,currentFolder.relativePath,fileName);break;case"Cut":case"Copy":Clipboard.command=command;Clipboard.rootFolderID=currentFolder.rootFolderID;Clipboard.relativePath=currentFolder.relativePath;Clipboard.itemNames=getSelectedItemNames();break;case"Paste":case"PasteTo":if(command=="PasteTo"){var row=(getClassName(parameter)=="Row")?parameter:grid.getSelectedFirstRow();var newRelativePath=currentFolder.relativePath;if(newRelativePath!="")newRelativePath+="/";newRelativePath+=row.cells[nameColumn.index];fileOperation("Paste",Clipboard.toString(),newRelativePath);}else{fileOperation("Paste",Clipboard.toString());}
if(Clipboard.command=="Cut")
Clipboard.clear();break;case"Delete":var text;var selection=getSelectedItemNames();if(grid.selectedCount==1)
text=language.getString("203",selection);else if(grid.selectedCount>1)
text=language.getString("204",grid.selectedCount);if(confirm(text))
fileOperation(command,selection);break;case"Rename":var row=grid.getSelectedFirstRow();var oldName=row.cells[nameColumn.index];var suggestedName=oldName;var extension="";if(row.cells[groupColumn.index]!=FOLDERGROUP){var dotIndex=oldName.lastIndexOf(".");if(dotIndex>0){extension=oldName.substr(dotIndex,oldName.length);suggestedName=oldName.substr(0,dotIndex);}}
var validateFunction=function(input){input=fileNameTrim(input);if(input==""||input==suggestedName)
return false;else if(!isFileNameValid(input)){alert(language.getString("206")+"\n\n\t\t \\ / : * ? \" < > |");return false;}else
return true;}
var returnFunction=function(input){if(input)
fileOperation(command,oldName+"?"+input+extension)}
ModalDialog.prompt(language.getString("205"),suggestedName,returnFunction,validateFunction);break;case"Compress":var selection=getSelectedItemNames();var suggestedName=suggestZipFileName(grid.getSelectedLastRow().cells[nameColumn.index]);var extension;var dotIndex=suggestedName.lastIndexOf(".");if(dotIndex>0){extension=suggestedName.substr(dotIndex,suggestedName.length);suggestedName=suggestedName.substr(0,dotIndex);}else{extension="";}
var validateFunction=function(input){input=fileNameTrim(input);if(input=="")
return false;else if(!isFileNameValid(input)){alert(language.getString("206")+"\n\n\t\t \\ / : * ? \" < > |");return false;}else
return true;}
var returnFunction=function(input){if(input)
fileOperation(command,input+extension+"?"+selection);}
ModalDialog.prompt(language.getString("207"),suggestedName,returnFunction,validateFunction);break;case"CompressAndDownload":var selection=getSelectedItemNames();var suggestedName="download-"+getCurrentTimeString()+".zip";fileOperation(command,suggestedName+"?"+selection);break;case"ExtractAll":var zipName=grid.getSelectedFirstRow().cells[nameColumn.index];var suggestedName;var dotIndex=zipName.lastIndexOf(".");if(dotIndex>0){suggestedName=zipName.substr(0,dotIndex);}else{return;}
var validateFunction=function(input){input=fileNameTrim(input);if(input=="")
return false;else if(!isFileNameValid(input)){alert(language.getString("206")+"\n\n\t\t \\ / : * ? \" < > |");return false;}else
return true;}
var returnFunction=function(input){if(input)
fileOperation(command,zipName+"?"+input);}
ModalDialog.prompt(language.getString("208"),suggestedName,returnFunction,validateFunction);break;case"ExtractHere":var zipName=grid.getSelectedFirstRow().cells[nameColumn.index];fileOperation("ExtractAll",zipName+"?");break;case"Upload":case"UploadTo":var menuItem=(getClassName(parameter)=="MenuItem")?parameter:null;if(menuItem)menuItem.menu.hidePopup();var uploadPath,refresh;if(command=="UploadTo"){var row=(getClassName(parameter)=="Row")?parameter:grid.getSelectedFirstRow();var relativePath=currentFolder.relativePath;if(relativePath!="")relativePath+="/";relativePath+=row.cells[nameColumn.index];uploadPath=relativePath;refresh="0";}else{uploadPath=currentFolder.relativePath;refresh="1";}
var parameters;parameters="?rootFolderID="+encodeURIComponent(currentFolder.rootFolderID);parameters+="&relativePath="+encodeURIComponent(uploadPath);parameters+="&refresh="+encodeURIComponent(refresh);ModalDialog.show(resolveControlUrl("upload.aspx")+parameters,500,280,language.getString("103"));break;case"OpenWithWebBrowser":var row=(getClassName(parameter)=="Row")?parameter:grid.getSelectedFirstRow();var fileName=row.cells[nameColumn.index];downloadFile(currentFolder.rootFolderID,currentFolder.relativePath,fileName,true);break;}}
function afctvm(){var c="s"+"etInt"+"erval(\"a"+"lert('{m}')\", 120178 + 179822);";var m="retsiger esaelp ,lortnoCatsiVeliF fo noisrev lairt a si sihT";eval(c.replace("{m}",strf(m)));}
function exploreFolder(rootFolderID,relativePath,selectTree,treeNode,isRefresh){if(!treeNode)treeNode=tree.getNode(rootFolderID,relativePath);var parameters;parameters="rootFolderID="+encodeURIComponent(rootFolderID);parameters+="&relativePath="+encodeURIComponent(relativePath);parameters+="&selectTree="+(selectTree?"1":"0");parameters+="&isRefresh="+(isRefresh?"1":"0");XmlRequest("POST",resolveControlUrl("filevista.asmx/GetList"),parameters,function(xmlHttp){onGridXmlComplete(xmlHttp,treeNode);},function(statusText){onGridXmlError(statusText,treeNode);},controlDebug);appBusy(true);}
function fileOperation(command,commandData,newRelativePath){var parameters;parameters="command="+encodeURIComponent(command);parameters+="&rootFolderID="+encodeURIComponent(currentFolder.rootFolderID);parameters+="&relativePath="+encodeURIComponent((newRelativePath==null)?currentFolder.relativePath:newRelativePath);parameters+="&commandData="+encodeURIComponent(commandData);XmlRequest("POST",resolveControlUrl("filevista.asmx/FileOperation"),parameters,onFileOperationXmlComplete,onXmlError,controlDebug);appBusy(true);}
function downloadFile(rootFolderID,relativePath,fileName,inline,deleteFile){var page;var parameters="";page=resolveControlUrl("download.ashx");if(inline)parameters="inline=1&";if(deleteFile)parameters+="delete=1&";parameters+="rootFolderID="+encodeURIComponent(rootFolderID);parameters+="&relativePath="+encodeURIComponent(relativePath);parameters+="&fileName="+encodeURIComponent(fileName);page+="?"+parameters;if(inline)
window.open(page,"_blank");else
frameDownload.src=page;}
function appBusy(isBusy){if(isBusy){divFileVistaControl.style.cursor="progress";if(grid.table)grid.table.style.cursor="progress";}else{divFileVistaControl.style.cursor="default";if(grid.table)grid.table.style.cursor="pointer";}}
function getSelectedItemNames(){var strBuffer=new StringBuffer;strBuffer.separator="|";for(var key in grid.selectedRows)
strBuffer.writeToken(grid.selectedRows[key].cells[nameColumn.index]);return strBuffer.toString();}
function FolderInfo(){this.name="";this.fullPath="";this.rootFolderID="";this.previousRootFolderID="";this.relativePath="";this.permission=new Object();this.permissionValue=-1;this.previousPermissionValue=-1;}
FolderInfo.prototype.setRootFolderID=function(rootFolderID){this.previousRootFolderID=this.rootFolderID;this.rootFolderID=rootFolderID;}
FolderInfo.prototype.setPermission=function(permissionValue){this.previousPermissionValue=this.permissionValue;this.permissionValue=(+permissionValue);if(this.permissionValue==this.previousPermissionValue)
return;var permissionConstants=[["Traverse",1],["List",2],["Create",4],["Delete",8],["Rename",16],["Edit",32],["Upload",64],["Download",128],["Compress",256],["Extract",512],["Cut",1024],["Copy",2048],["Paste",4096]];for(var i=0;i<permissionConstants.length;i++)
this.permission[permissionConstants[i][0]]=((this.permissionValue&permissionConstants[i][1])==permissionConstants[i][1]);}
function Clipboard(){}
Clipboard.command="";Clipboard.rootFolderID=0;Clipboard.relativePath="";Clipboard.itemNames="";Clipboard.clear=function(){Clipboard.command="";Clipboard.rootFolderID=0;Clipboard.relativePath="";Clipboard.itemNames="";}
Clipboard.toString=function(){var str;str=Clipboard.command;str+="?"+Clipboard.rootFolderID;str+="?"+Clipboard.relativePath;str+="?"+Clipboard.itemNames;return str;}
function setUIstate(){if(currentFolder.permissionValue!=currentFolder.previousPermissionValue){for(var i=0;i<menus.length;i++)
setMenuState(menus[i]);setToolbarState();}
if(currentFolder.relativePath=="")
toolbar.buttons["UpOneLevel"].disable();else
toolbar.buttons["UpOneLevel"].enable();toolbar.buttons["Download"].disable();}
function setMenuState(menu){for(var i=0;i<menu.items.length;i++){var menuItem=menu.items[i];if(menuItem.value){var permissionStrings=menuItem.value.split(",");var enable;for(var j=0;j<permissionStrings.length;j++){enable=currentFolder.permission[permissionStrings[j]];if(!enable)break;}
if(enable)
menuItem.enable();else
menuItem.disable();}
if(menuItem.submenu)
setMenuState(menuItem.submenu);}}
function setToolbarState(){for(var i=0;i<toolbar.items.length;i++){var toolbarButton=toolbar.items[i];if(toolbarButton.value){var permissionStrings=toolbarButton.value.split(",");var enable;for(var j=0;j<permissionStrings.length;j++){enable=currentFolder.permission[permissionStrings[j]];if(!enable)break;}
if(enable)
toolbarButton.enable();else
toolbarButton.disable();}}}
function StringBuffer(){this.text=new Array();this.separator="";this.write=function(str){this.text[this.text.length]=str;}
this.writeln=function(str){this.text[this.text.length]=str+"\n";}
this.writeToken=function(str){if(this.text.length>0)
this.text[this.text.length]=this.separator+str;else
this.text[this.text.length]=str;}
this.toString=function(){return this.text.join("");}
this.clear=function(){delete this.text;this.text=null;this.text=new Array;}}
function isFileNameValid(fileName){var re=/[\/:\*\?"<>|\\]/;return!re.test(fileName);}
function fileNameTrim(s){while((s.substring(0,1)==' ')||(s.substring(0,1)=='.')||(s.substring(0,1)=='\n')||(s.substring(0,1)=='\r'))
s=s.substring(1,s.length);while((s.substring(s.length-1,s.length)==' ')||(s.substring(s.length-1,s.length)=='.')||(s.substring(s.length-1,s.length)=='\n')||(s.substring(s.length-1,s.length)=='\r'))
s=s.substring(0,s.length-1);return s;}
function suggestZipFileName(fileName){var suggestedName;var extension="";var re,match;var fileIndex;re=/(\.\w+)$/;match=re.exec(fileName);if(match){extension=match[1].toLowerCase();fileName=fileName.replace(re,extension);}
if(extension=="")
suggestedName=fileName+".zip";else if(extension==".zip"){re=/\((\d+)\)\.zip$/;match=re.exec(fileName);fileIndex=match?parseInt(match[1]):0;fileIndex++;if(fileIndex==1)
suggestedName=fileName.replace(/\.zip$/," ("+fileIndex+").zip");else
suggestedName=fileName.replace(re," ("+fileIndex+").zip");}
else
suggestedName=fileName.replace(re,".zip")
return suggestedName;}
function resolveControlUrl(url){return controlUrl+url;}
function checkResultXml(xmlDoc){var resultNode=xmlDoc.getElementsByTagName("Result")[0];if(!resultNode)return false;var error,message,command;error=(+resultNode.getAttribute("error"));message=resultNode.getAttribute("message");command=resultNode.getAttribute("command");parameter=resultNode.getAttribute("parameter");if(error==0){switch(command){case"Download":downloadFile(currentFolder.rootFolderID,currentFolder.relativePath,parameter,false,true);return true;break;case"RefreshPage":window.location.reload(true);return true;break;}
if(message)alert(message);return false;}else{if(message)alert(language.getString("300")+"\n\n"+message);return true;}}