emotion.js
4.0 KB
window.onload=function(){editor.setOpt({emotionLocalization:false});emotion.SmileyPath=editor.options.emotionLocalization===true?"images/":"http://img.baidu.com/hi/";emotion.SmileyBox=createTabList(emotion.tabNum);emotion.tabExist=createArr(emotion.tabNum);initImgName();initEvtHandler("tabHeads")};function initImgName(){for(var pro in emotion.SmilmgName){var tempName=emotion.SmilmgName[pro],tempBox=emotion.SmileyBox[pro],tempStr="";if(tempBox.length){return}for(var i=1;i<=tempName[1];i++){tempStr=tempName[0];if(i<10){tempStr=tempStr+"0"}tempStr=tempStr+i+".gif";tempBox.push(tempStr)}}}function initEvtHandler(conId){var tabHeads=$G(conId);for(var i=0,j=0;i<tabHeads.childNodes.length;i++){var tabObj=tabHeads.childNodes[i];if(tabObj.nodeType==1){domUtils.on(tabObj,"click",(function(index){return function(){switchTab(index)}})(j));j++}}switchTab(0);$G("tabIconReview").style.display="none"}function InsertSmiley(url,evt){var obj={src:editor.options.emotionLocalization?editor.options.UEDITOR_HOME_URL+"dialogs/emotion/"+url:url};obj._src=obj.src;editor.execCommand("insertimage",obj);if(!evt.ctrlKey){dialog.popup.hide()}}function switchTab(index){autoHeight(index);if(emotion.tabExist[index]==0){emotion.tabExist[index]=1;createTab("tab"+index)}var tabHeads=$G("tabHeads").getElementsByTagName("span"),tabBodys=$G("tabBodys").getElementsByTagName("div"),i=0,L=tabHeads.length;for(;i<L;i++){tabHeads[i].className="";tabBodys[i].style.display="none"}tabHeads[index].className="focus";tabBodys[index].style.display="block"}function autoHeight(index){var iframe=dialog.getDom("iframe"),parent=iframe.parentNode.parentNode;switch(index){case 0:iframe.style.height="380px";parent.style.height="392px";break;case 1:iframe.style.height="220px";parent.style.height="232px";break;case 2:iframe.style.height="260px";parent.style.height="272px";break;case 3:iframe.style.height="300px";parent.style.height="312px";break;case 4:iframe.style.height="140px";parent.style.height="152px";break;case 5:iframe.style.height="260px";parent.style.height="272px";break;case 6:iframe.style.height="230px";parent.style.height="242px";break;default:}}function createTab(tabName){var faceVersion="?v=1.1",tab=$G(tabName),imagePath=emotion.SmileyPath+emotion.imageFolders[tabName],positionLine=11/2,iWidth=iHeight=35,iColWidth=3,tableCss=emotion.imageCss[tabName],cssOffset=emotion.imageCssOffset[tabName],textHTML=['<table class="smileytable">'],i=0,imgNum=emotion.SmileyBox[tabName].length,imgColNum=11,faceImage,sUrl,realUrl,posflag,offset,infor;for(;i<imgNum;){textHTML.push("<tr>");for(var j=0;j<imgColNum;j++,i++){faceImage=emotion.SmileyBox[tabName][i];if(faceImage){sUrl=imagePath+faceImage+faceVersion;realUrl=imagePath+faceImage;posflag=j<positionLine?0:1;offset=cssOffset*i*(-1)-1;infor=emotion.SmileyInfor[tabName][i];textHTML.push('<td class="'+tableCss+'" border="1" width="'+iColWidth+'%" style="border-collapse:collapse;" align="center" bgcolor="transparent" onclick="InsertSmiley(\''+realUrl.replace(/'/g,"\\'")+"',event)\" onmouseover=\"over(this,'"+sUrl+"','"+posflag+'\')" onmouseout="out(this)">');textHTML.push("<span>");textHTML.push('<img style="background-position:left '+offset+'px;" title="'+infor+'" src="'+emotion.SmileyPath+(editor.options.emotionLocalization?'0.gif" width="':'default/0.gif" width="')+iWidth+'" height="'+iHeight+'"></img>');textHTML.push("</span>")}else{textHTML.push('<td width="'+iColWidth+'%" bgcolor="#FFFFFF">')}textHTML.push("</td>")}textHTML.push("</tr>")}textHTML.push("</table>");textHTML=textHTML.join("");tab.innerHTML=textHTML}function over(td,srcPath,posFlag){td.style.backgroundColor="#ACCD3C";$G("faceReview").style.backgroundImage="url("+srcPath+")";if(posFlag==1){$G("tabIconReview").className="show"}$G("tabIconReview").style.display="block"}function out(td){td.style.backgroundColor="transparent";var tabIconRevew=$G("tabIconReview");tabIconRevew.className="";tabIconRevew.style.display="none"}function createTabList(tabNum){var obj={};for(var i=0;i<tabNum;i++){obj["tab"+i]=[]}return obj}function createArr(tabNum){var arr=[];for(var i=0;i<tabNum;i++){arr[i]=0}return arr};