$package("com.qn.dlg");

com.qn.dlg.EditFileDlg = function (){
}

com.qn.dlg.EditFileDlg.prototype = new js.ui.BaseWindow();

com.qn.dlg.EditFileDlg.prototype.file = null;

com.qn.dlg.EditFileDlg.prototype.extendUI = function (){
	var __this = this;
	this.setTitle(props("File Edit"));
	var extui = this.getDomNode("com.qn.dlg.EditFileDlg");
	this.container.appendChild(extui);
	this.okButton = extui.getElementsByTagName("input")[1];
	this.cancelButton = extui.getElementsByTagName("input")[2];
	this.nameText = extui.getElementsByTagName("input")[0];
	this.descText = extui.getElementsByTagName("textarea")[0];
	this.cancelButton.onclick = this.closeButton.ui.onclick;
	this.okButton.onclick = function(){
		var newfn = __this.nameText.value;
		if(newfn==""){
			browser.messageBox("Name can't empty.");
			__this.nameText.focus();
			return;
		}
		if(!com.qn.io.File.prototype.validateFilename(newfn)){
			browser.messageBox("Filename invalidate.");
			__this.nameText.focus();
			return;
		}
		var desc = __this.descText.value;
		if(desc.length>=255){
			browser.messageBox("File description can't exceed 255 characters.");
			__this.descText.focus();
			return;
		}
		var changed = false;
		if(__this.nameText.value!=__this.file.getFilename()){
			var newpath = __this.file.getParent() + "/" + __this.nameText.value;
			__this.file.onload = function(){
//				browser.messageBox("File name saved.");
				__this.close();
			}
			__this.file.renameTo(__this.file.getParent(), __this.nameText.value);
			changed = true;
		}
		if(desc!=__this.file.getDescDisp()) {
			__this.file.desc = desc;
			__this.file.onload = function(){
//				browser.messageBox("File description saved.");
				__this.close();
			}
			__this.file.editSave();
			changed = true;
		}
		if(!changed) __this.close();
	}
	this.ui.style.width = "500px";
	this.ui.style.height = "300px";
}

com.qn.dlg.EditFileDlg.prototype.getData = function (fileId){
	var __this = this;
	this.file = new com.qn.io.File();
	this.file.fileId = fileId;
	this.file.onload = function(){
		__this.nameText.value = this.getFilename();
		var desc = this.getDescDisp();
		__this.descText.value = desc;
		__this.nameText.select();
		__this.okButton.disabled = false;
	}
	this.okButton.disabled = true;
	this.file.getAttributes();
}


