(function(){var remoteImage,uploadImage,onlineImage,searchImage;window.onload=function(){initTabs();initAlign();initButtons();};function initTabs(){var tabs=$G('tabbody').children;setTabFocus('remote');}
function setTabFocus(id){if(!id)
return;if(id=='remote'){remoteImage=remoteImage||new RemoteImage();}}
function initButtons(){dialog.onok=function(){var remote=false,list=[],id,tabs=$G('tabbody').children;list=remoteImage.getInsertList();if(list){editor.execCommand('insertimage',list);remote&&editor.fireEvent("catchRemoteImage");}};}
function initAlign(){domUtils.on($G("alignIcon"),'click',function(e){var target=e.target||e.srcElement;if(target.className&&target.className.indexOf('-align')!=-1){setAlign(target.getAttribute('data-align'));}});}
function setAlign(align){align=align||'none';var aligns=$G("alignIcon").children;for(i=0;i<aligns.length;i++){if(aligns[i].getAttribute('data-align')==align){domUtils.addClass(aligns[i],'focus');$G("align").value=aligns[i].getAttribute('data-align');}else{domUtils.removeClasses(aligns[i],'focus');}}}
function getAlign(){var align=$G("align").value||'none';return align=='none'?'':align;}
function RemoteImage(target){this.container=utils.isString(target)?document.getElementById(target):target;this.init();}
RemoteImage.prototype={init:function(){this.initContainer();this.initEvents();},initContainer:function(){this.dom={'url':$G('url'),'width':$G('width'),'height':$G('height'),'border':$G('border'),'vhSpace':$G('vhSpace'),'title':$G('title'),'align':$G('align')};var img=editor.selection.getRange().getClosedNode();if(img){this.setImage(img);}},initEvents:function(){var _this=this,locker=$G('lock');domUtils.on($G("url"),'keyup',updatePreview);domUtils.on($G("border"),'keyup',updatePreview);domUtils.on($G("title"),'keyup',updatePreview);domUtils.on($G("width"),'keyup',function(){updatePreview();if(locker.checked){var proportion=locker.getAttribute('data-proportion');$G('height').value=Math.round(this.value/proportion);}else{_this.updateLocker();}});domUtils.on($G("height"),'keyup',function(){updatePreview();if(locker.checked){var proportion=locker.getAttribute('data-proportion');$G('width').value=Math.round(this.value*proportion);}else{_this.updateLocker();}});domUtils.on($G("lock"),'change',function(){var proportion=parseInt($G("width").value)/parseInt($G("height").value);locker.setAttribute('data-proportion',proportion);});function updatePreview(){_this.setPreview();}},updateLocker:function(){var width=$G('width').value,height=$G('height').value,locker=$G('lock');if(width&&height&&width==parseInt(width)&&height==parseInt(height)){locker.disabled=false;locker.title='';}else{locker.checked=false;locker.disabled='disabled';locker.title=lang.remoteLockError;}},setImage:function(img){if(!img.tagName||img.tagName.toLowerCase()!='img'&&!img.getAttribute("src")||!img.src)
return;var wordImgFlag=img.getAttribute("word_img"),src=wordImgFlag?wordImgFlag.replace("&amp;","&"):(img.getAttribute('_src')||img.getAttribute("src",2).replace("&amp;","&")),align=editor.queryCommandValue("imageFloat");if(src!==$G("url").value)
$G("url").value=src;if(src){$G("width").value=img.width||'';$G("height").value=img.height||'';$G("border").value=img.getAttribute("border")||'0';$G("vhSpace").value=img.getAttribute("vspace")||'0';$G("title").value=img.title||img.alt||'';setAlign(align);this.setPreview();this.updateLocker();}},getData:function(){var data={};for(var k in this.dom){data[k]=this.dom[k].value;}
return data;},setPreview:function(){var url=$G('url').value,ow=$G('width').value,oh=$G('height').value,border=$G('border').value,title=$G('title').value,preview=$G('preview'),width,height;width=((!ow||!oh)?preview.offsetWidth:Math.min(ow,preview.offsetWidth));width=width+(border*2)>preview.offsetWidth?width:(preview.offsetWidth-(border*2));height=(!ow||!oh)?'':width*oh/ow;if(url){preview.innerHTML='<img src="'+url+'" width="'+width+'" height="'+height+'" border="'+border+'px solid #000" title="'+title+'" />';}},getInsertList:function(){var data=this.getData();if(data['url']){return[{src:data['url'],_src:data['url'],width:data['width']||'',height:data['height']||'',border:data['border']||'',floatStyle:data['align']||'',vspace:data['vhSpace']||'',title:data['title']||'',alt:data['title']||'',style:"width:"+data['width']+"px;height:"+data['height']+"px;"}];}else{return[];}}};})();