123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- 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 ), //获取将要生成的Div句柄
- 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;
- }
|