/** 
 | 
 * Created by JetBrains PhpStorm. 
 | 
 * User: taoqili 
 | 
 * Date: 12-1-30 
 | 
 * Time: 下午12:50 
 | 
 * To change this template use File | Settings | File Templates. 
 | 
 */ 
 | 
  
 | 
  
 | 
  
 | 
var wordImage = {}; 
 | 
//(function(){ 
 | 
var g = baidu.g, 
 | 
    flashObj,flashContainer; 
 | 
  
 | 
wordImage.init = function(opt, callbacks) { 
 | 
    showLocalPath("localPath"); 
 | 
    //createCopyButton("clipboard","localPath"); 
 | 
    createFlashUploader(opt, callbacks); 
 | 
    addUploadListener(); 
 | 
    addOkListener(); 
 | 
}; 
 | 
  
 | 
function hideFlash(){ 
 | 
    flashObj = null; 
 | 
    flashContainer.innerHTML = ""; 
 | 
} 
 | 
function addOkListener() { 
 | 
    dialog.onok = function() { 
 | 
        if (!imageUrls.length) return; 
 | 
        var urlPrefix = editor.getOpt('imageUrlPrefix'), 
 | 
            images = domUtils.getElementsByTagName(editor.document,"img"); 
 | 
        editor.fireEvent('saveScene'); 
 | 
        for (var i = 0,img; img = images[i++];) { 
 | 
            var src = img.getAttribute("word_img"); 
 | 
            if (!src) continue; 
 | 
            for (var j = 0,url; url = imageUrls[j++];) { 
 | 
                if (src.indexOf(url.original.replace(" ","")) != -1) { 
 | 
                    img.src = urlPrefix + url.url; 
 | 
                    img.setAttribute("_src", urlPrefix + url.url);  //同时修改"_src"属性 
 | 
                    img.setAttribute("title",url.title); 
 | 
                    domUtils.removeAttributes(img, ["word_img","style","width","height"]); 
 | 
                    editor.fireEvent("selectionchange"); 
 | 
                    break; 
 | 
                } 
 | 
            } 
 | 
        } 
 | 
        editor.fireEvent('saveScene'); 
 | 
        hideFlash(); 
 | 
    }; 
 | 
    dialog.oncancel = function(){ 
 | 
        hideFlash(); 
 | 
    } 
 | 
} 
 | 
  
 | 
/** 
 | 
 * 绑定开始上传事件 
 | 
 */ 
 | 
function addUploadListener() { 
 | 
    g("upload").onclick = function () { 
 | 
        flashObj.upload(); 
 | 
        this.style.display = "none"; 
 | 
    }; 
 | 
} 
 | 
  
 | 
function showLocalPath(id) { 
 | 
    //单张编辑 
 | 
    var img = editor.selection.getRange().getClosedNode(); 
 | 
    var images = editor.execCommand('wordimage'); 
 | 
    if(images.length==1 || img && img.tagName == 'IMG'){ 
 | 
        g(id).value = images[0]; 
 | 
        return; 
 | 
    } 
 | 
    var path = images[0]; 
 | 
    var leftSlashIndex  = path.lastIndexOf("/")||0,  //不同版本的doc和浏览器都可能影响到这个符号,故直接判断两种 
 | 
        rightSlashIndex = path.lastIndexOf("\\")||0, 
 | 
        separater = leftSlashIndex > rightSlashIndex ? "/":"\\" ; 
 | 
  
 | 
    path = path.substring(0, path.lastIndexOf(separater)+1); 
 | 
    g(id).value = path; 
 | 
} 
 | 
  
 | 
function createFlashUploader(opt, callbacks) { 
 | 
    //由于lang.flashI18n是静态属性,不可以直接进行修改,否则会影响到后续内容 
 | 
    var i18n = utils.extend({},lang.flashI18n); 
 | 
    //处理图片资源地址的编码,补全等问题 
 | 
    for(var i in i18n){ 
 | 
        if(!(i in {"lang":1,"uploadingTF":1,"imageTF":1,"textEncoding":1}) && i18n[i]){ 
 | 
            i18n[i] = encodeURIComponent(editor.options.langPath + editor.options.lang + "/images/" + i18n[i]); 
 | 
        } 
 | 
    } 
 | 
    opt = utils.extend(opt,i18n,false); 
 | 
    var option = { 
 | 
        createOptions:{ 
 | 
            id:'flash', 
 | 
            url:opt.flashUrl, 
 | 
            width:opt.width, 
 | 
            height:opt.height, 
 | 
            errorMessage:lang.flashError, 
 | 
            wmode:browser.safari ? 'transparent' : 'window', 
 | 
            ver:'10.0.0', 
 | 
            vars:opt, 
 | 
            container:opt.container 
 | 
        } 
 | 
    }; 
 | 
  
 | 
    option = extendProperty(callbacks, option); 
 | 
    flashObj = new baidu.flash.imageUploader(option); 
 | 
    flashContainer = $G(opt.container); 
 | 
} 
 | 
  
 | 
function extendProperty(fromObj, toObj) { 
 | 
    for (var i in fromObj) { 
 | 
        if (!toObj[i]) { 
 | 
            toObj[i] = fromObj[i]; 
 | 
        } 
 | 
    } 
 | 
    return toObj; 
 | 
} 
 | 
  
 | 
//})(); 
 | 
  
 | 
function getPasteData(id) { 
 | 
    baidu.g("msg").innerHTML = lang.copySuccess + "</br>"; 
 | 
    setTimeout(function() { 
 | 
        baidu.g("msg").innerHTML = ""; 
 | 
    }, 5000); 
 | 
    return baidu.g(id).value; 
 | 
} 
 | 
  
 | 
function createCopyButton(id, dataFrom) { 
 | 
    baidu.swf.create({ 
 | 
            id:"copyFlash", 
 | 
            url:"fClipboard_ueditor.swf", 
 | 
            width:"58", 
 | 
            height:"25", 
 | 
            errorMessage:"", 
 | 
            bgColor:"#CBCBCB", 
 | 
            wmode:"transparent", 
 | 
            ver:"10.0.0", 
 | 
            vars:{ 
 | 
                tid:dataFrom 
 | 
            } 
 | 
        }, id 
 | 
    ); 
 | 
  
 | 
    var clipboard = baidu.swf.getMovie("copyFlash"); 
 | 
    var clipinterval = setInterval(function() { 
 | 
        if (clipboard && clipboard.flashInit) { 
 | 
            clearInterval(clipinterval); 
 | 
            clipboard.setHandCursor(true); 
 | 
            clipboard.setContentFuncName("getPasteData"); 
 | 
            //clipboard.setMEFuncName("mouseEventHandler"); 
 | 
        } 
 | 
    }, 500); 
 | 
} 
 | 
createCopyButton("clipboard", "localPath"); 
 |