/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ /* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ /* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/Dialogs/inline-dialog.js */ Xinha.Dialog=function(_1,_2,_3){ this.id={}; this.r_id={}; this.editor=_1; this.document=document; this.rootElem=document.createElement("div"); this.rootElem.className="dialog"; this.rootElem.style.position="absolute"; this.rootElem.style.display="none"; this.editor._framework.ed_cell.insertBefore(this.rootElem,this.editor._framework.ed_cell.firstChild); this.rootElem.style.width=this.width=this.editor._framework.ed_cell.offsetWidth+"px"; this.rootElem.style.height=this.height=this.editor._framework.ed_cell.offsetHeight+"px"; var _4=this; if(typeof _3=="function"){ this._lc=_3; }else{ if(_3){ this._lc=function(_5){ return Xinha._lc(_5,_3); }; }else{ this._lc=function(_6){ return _6; }; } } _2=_2.replace(/\[([a-z0-9_]+)\]/ig,function(_7,id){ if(typeof _4.id[id]=="undefined"){ _4.id[id]=Xinha.uniq("Dialog"); _4.r_id[_4.id[id]]=id; } return _4.id[id]; }).replace(/(.*?)<\/l10n>/ig,function(_9,_a){ return _4._lc(_a); }).replace(/="_\((.*?)\)"/g,function(_b,_c){ return "=\""+_4._lc(_c)+"\""; }); this.rootElem.innerHTML=_2; this.editor.notifyOn("resize",function(e,_e){ _4.rootElem.style.width=_4.width=_4.editor._framework.ed_cell.offsetWidth+"px"; _4.rootElem.style.height=_4.height=_4.editor._framework.ed_cell.offsetHeight+"px"; _4.onresize(); }); }; Xinha.Dialog.prototype.onresize=function(){ return true; }; Xinha.Dialog.prototype.show=function(_f){ if(Xinha.is_ie){ this._lastRange=this.editor._createRange(this.editor._getSelection()); } if(typeof _f!="undefined"){ this.setValues(_f); } this._restoreTo=[this.editor._textArea.style.display,this.editor._iframe.style.visibility,this.editor.hidePanels()]; this.editor._textArea.style.display="none"; this.editor._iframe.style.visibility="hidden"; this.rootElem.style.display=""; }; Xinha.Dialog.prototype.hide=function(){ this.rootElem.style.display="none"; this.editor._textArea.style.display=this._restoreTo[0]; this.editor._iframe.style.visibility=this._restoreTo[1]; this.editor.showPanels(this._restoreTo[2]); if(Xinha.is_ie){ this._lastRange.select(); } this.editor.updateToolbar(); return this.getValues(); }; Xinha.Dialog.prototype.toggle=function(){ if(this.rootElem.style.display=="none"){ this.show(); }else{ this.hide(); } }; Xinha.Dialog.prototype.setValues=function(_10){ for(var i in _10){ var _12=this.getElementsByName(i); if(!_12){ continue; } for(var x=0;x<_12.length;x++){ var e=_12[x]; switch(e.tagName.toLowerCase()){ case "select": for(var j=0;j=0){ v=i.options[i.selectedIndex]; } } break; case "textarea": case "input": default: switch(i.type.toLowerCase()){ case "radio": if(i.checked){ v=i.value; break; } case "checkbox": if(v==null){ if(this.getElementsByName(this.r_id[i.name]).length>1){ v=new Array(); } } if(i.checked){ if(v!=null&&typeof v=="object"&&v.push){ v.push(i.value); }else{ v=i.value; } } break; default: v=i.value; break; } } _17[this.r_id[i.name]]=v; } return _17; }; Xinha.Dialog.prototype.getElementById=function(id){ return this.document.getElementById(this.id[id]?this.id[id]:id); }; Xinha.Dialog.prototype.getElementsByName=function(_1e){ return this.document.getElementsByName(this.id[_1e]?this.id[_1e]:_1e); };