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; 
 | 
} 
 |