(function(c){
    var a=/^\s*|\s*$/g,d;
    var b={
        majorVersion:"3",
        minorVersion:"3.6",
        releaseDate:"2010-05-20",
        _init:function(){
            var r=this,o=document,m=navigator,f=m.userAgent,l,e,k,j,h,q;
            r.isOpera=c.opera&&opera.buildNumber;
            r.isWebKit=/WebKit/.test(f);
            r.isIE=!r.isWebKit&&!r.isOpera&&(/MSIE/gi).test(f)&&(/Explorer/gi).test(m.appName);
            r.isIE6=r.isIE&&/MSIE [56]/.test(f);
            r.isGecko=!r.isWebKit&&/Gecko/.test(f);
            r.isMac=f.indexOf("Mac")!=-1;
            r.isAir=/adobeair/i.test(f);
            r.isIDevice=/(iPad|iPhone)/.test(f);
            if(c.tinyMCEPreInit){
                r.suffix=tinyMCEPreInit.suffix;
                r.baseURL=tinyMCEPreInit.base;
                r.query=tinyMCEPreInit.query;
                return
            }
            r.suffix="";
            e=o.getElementsByTagName("base");
            for(l=0;l<e.length;l++){
                if(q=e[l].href){
                    if(/^https?:\/\/[^\/]+$/.test(q)){
                        q+="/"
                        }
                        j=q?q.match(/.*\//)[0]:""
                    }
                }
            function g(i){
            if(i.src&&/tiny_mce(|_gzip|_jquery|_prototype)(_dev|_src)?.js/.test(i.src)){
                if(/_(src|dev)\.js/g.test(i.src)){
                    r.suffix="_src"
                    }
                    if((h=i.src.indexOf("?"))!=-1){
                    r.query=i.src.substring(h+1)
                    }
                    r.baseURL=i.src.substring(0,i.src.lastIndexOf("/"));
                if(j&&r.baseURL.indexOf("://")==-1&&r.baseURL.indexOf("/")!==0){
                    r.baseURL=j+r.baseURL
                    }
                    return r.baseURL
                }
                return null
            }
            e=o.getElementsByTagName("script");
        for(l=0;l<e.length;l++){
            if(g(e[l])){
                return
            }
        }
        k=o.getElementsByTagName("head")[0];
    if(k){
        e=k.getElementsByTagName("script");
        for(l=0;l<e.length;l++){
            if(g(e[l])){
                return
            }
        }
        }
    return
},
is:function(f,e){
    if(!e){
        return f!==d
        }
        if(e=="array"&&(f.hasOwnProperty&&f instanceof Array)){
        return true
        }
        return typeof(f)==e
    },
each:function(h,e,g){
    var i,f;
    if(!h){
        return 0
        }
        g=g||h;
    if(h.length!==d){
        for(i=0,f=h.length;i<f;i++){
            if(e.call(g,h[i],i,h)===false){
                return 0
                }
            }
        }else{
    for(i in h){
        if(h.hasOwnProperty(i)){
            if(e.call(g,h[i],i,h)===false){
                return 0
                }
            }
    }
    }
return 1
},
trim:function(e){
    return(e?""+e:"").replace(a,"")
    },
create:function(m,e){
    var l=this,f,h,i,j,g,k=0;
    m=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(m);
    i=m[3].match(/(^|\.)(\w+)$/i)[2];
    h=l.createNS(m[3].replace(/\.\w+$/,""));
    if(h[i]){
        return
    }
    if(m[2]=="static"){
        h[i]=e;
        if(this.onCreate){
            this.onCreate(m[2],m[3],h[i])
            }
            return
    }
    if(!e[i]){
        e[i]=function(){};

        k=1
        }
        h[i]=e[i];
    l.extend(h[i].prototype,e);
    if(m[5]){
        f=l.resolve(m[5]).prototype;
        j=m[5].match(/\.(\w+)$/i)[1];
        g=h[i];
        if(k){
            h[i]=function(){
                return f[j].apply(this,arguments)
                }
            }else{
        h[i]=function(){
            this.parent=f[j];
            return g.apply(this,arguments)
            }
        }
    h[i].prototype[i]=h[i];
l.each(f,function(o,p){
    h[i].prototype[p]=f[p]
    });
l.each(e,function(o,p){
    if(f[p]){
        h[i].prototype[p]=function(){
            this.parent=f[p];
            return o.apply(this,arguments)
            }
        }else{
    if(p!=i){
        h[i].prototype[p]=o
        }
    }
})
}
l.each(e["static"],function(o,p){
    h[i][p]=o
    });
if(this.onCreate){
    this.onCreate(m[2],m[3],h[i].prototype)
    }
},
walk:function(h,g,i,e){
    e=e||this;
    if(h){
        if(i){
            h=h[i]
            }
            b.each(h,function(j,f){
            if(g.call(e,j,f,i)===false){
                return false
                }
                b.walk(j,g,i,e)
            })
        }
    },
createNS:function(h,g){
    var f,e;
    g=g||c;
    h=h.split(".");
    for(f=0;f<h.length;f++){
        e=h[f];
        if(!g[e]){
            g[e]={}
        }
        g=g[e]
    }
    return g
},
resolve:function(h,g){
    var f,e;
    g=g||c;
    h=h.split(".");
    for(f=0,e=h.length;f<e;f++){
        g=g[h[f]];
        if(!g){
            break
        }
    }
    return g
},
addUnload:function(i,h){
    var g=this;
    i={
        func:i,
        scope:h||this
        };

    if(!g.unloads){
        function e(){
            var f=g.unloads,k,l;
            if(f){
                for(l in f){
                    k=f[l];
                    if(k&&k.func){
                        k.func.call(k.scope,1)
                        }
                    }
                if(c.detachEvent){
                c.detachEvent("onbeforeunload",j);
                c.detachEvent("onunload",e)
                }else{
                if(c.removeEventListener){
                    c.removeEventListener("unload",e,false)
                    }
                }
            g.unloads=k=f=w=e=0;
        if(c.CollectGarbage){
            CollectGarbage()
            }
        }
}
function j(){
    var k=document;
    if(k.readyState=="interactive"){
        function f(){
            k.detachEvent("onstop",f);
            if(e){
                e()
                }
                k=0
            }
            if(k){
            k.attachEvent("onstop",f)
            }
            c.setTimeout(function(){
            if(k){
                k.detachEvent("onstop",f)
                }
            },0)
    }
}
if(c.attachEvent){
    c.attachEvent("onunload",e);
    c.attachEvent("onbeforeunload",j)
    }else{
    if(c.addEventListener){
        c.addEventListener("unload",e,false)
        }
    }
g.unloads=[i]
}else{
    g.unloads.push(i)
    }
    return i
},
removeUnload:function(h){
    var e=this.unloads,g=null;
    b.each(e,function(j,f){
        if(j&&j.func==h){
            e.splice(f,1);
            g=h;
            return false
            }
        });
return g
},
explode:function(e,f){
    return e?b.map(e.split(f||","),b.trim):e
    },
_addVer:function(f){
    var e;
    if(!this.query){
        return f
        }
        e=(f.indexOf("?")==-1?"?":"&")+this.query;
    if(f.indexOf("#")==-1){
        return f+e
        }
        return f.replace("#",e+"#")
    }
};

b._init();
c.tinymce=c.tinyMCE=b
})(window);
(function(e,d){
    var c=d.is,b=/^(href|src|style)$/i,f;
    if(!e){
        return alert("Load jQuery first!")
        }
        d.$=e;
    d.adapter={
        patchEditor:function(j){
            var i=e.fn;
            function h(n,o){
                var m=this;
                if(o){
                    m.removeAttr("_mce_style")
                    }
                    return i.css.apply(m,arguments)
                }
                function g(n,o){
                var m=this;
                if(b.test(n)){
                    if(o!==f){
                        m.each(function(p,q){
                            j.dom.setAttrib(q,n,o)
                            });
                        return m
                        }else{
                        return m.attr("_mce_"+n)
                        }
                    }
                return i.attr.apply(m,arguments)
            }
            function k(m){
            return function(n){
                if(n){
                    n=j.dom.processHTML(n)
                    }
                    return m.call(this,n)
                }
            }
        function l(m){
        if(m.css!==h){
            m.css=h;
            m.attr=g;
            m.html=k(i.html);
            m.append=k(i.append);
            m.prepend=k(i.prepend);
            m.after=k(i.after);
            m.before=k(i.before);
            m.replaceWith=k(i.replaceWith);
            m.tinymce=j;
            m.pushStack=function(){
                return l(i.pushStack.apply(this,arguments))
                }
            }
        return m
    }
    j.$=function(m,n){
    var o=j.getDoc();
    return l(e(m||o,o||n))
    }
}
};

d.extend=e.extend;
d.extend(d,{
    map:e.map,
    grep:function(g,h){
        return e.grep(g,h||function(){
            return 1
            })
        },
    inArray:function(g,h){
        return e.inArray(h,g||[])
        }
    });
var a={
    "tinymce.dom.DOMUtils":{
        select:function(i,h){
            var g=this;
            return e.find(i,g.get(h)||g.get(g.settings.root_element)||g.doc,[])
            },
        is:function(h,g){
            return e(this.get(h)).is(g)
            }
        }
};

d.onCreate=function(g,i,h){
    d.extend(h,a[i])
    }
})(window.jQuery,tinymce);
tinymce.create("tinymce.util.Dispatcher",{
    scope:null,
    listeners:null,
    Dispatcher:function(a){
        this.scope=a||this;
        this.listeners=[]
        },
    add:function(a,b){
        this.listeners.push({
            cb:a,
            scope:b||this.scope
            });
        return a
        },
    addToTop:function(a,b){
        this.listeners.unshift({
            cb:a,
            scope:b||this.scope
            });
        return a
        },
    remove:function(a){
        var b=this.listeners,c=null;
        tinymce.each(b,function(e,d){
            if(a==e.cb){
                c=a;
                b.splice(d,1);
                return false
                }
            });
    return c
    },
dispatch:function(){
    var f,d=arguments,e,b=this.listeners,g;
    for(e=0;e<b.length;e++){
        g=b[e];
        f=g.cb.apply(g.scope,d);
        if(f===false){
            break
        }
    }
    return f
}
});
(function(){
    var a=tinymce.each;
    tinymce.create("tinymce.util.URI",{
        URI:function(e,g){
            var f=this,h,d,c;
            e=tinymce.trim(e);
            g=f.settings=g||{};

            if(/^(mailto|tel|news|javascript|about|data):/i.test(e)||/^\s*#/.test(e)){
                f.source=e;
                return
            }
            if(e.indexOf("/")===0&&e.indexOf("//")!==0){
                e=(g.base_uri?g.base_uri.protocol||"http":"http")+"://mce_host"+e
                }
                if(!/^\w*:?\/\//.test(e)){
                e=(g.base_uri.protocol||"http")+"://mce_host"+f.toAbsPath(g.base_uri.path,e)
                }
                e=e.replace(/@@/g,"(mce_at)");
            e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e);
            a(["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],function(b,j){
                var k=e[j];
                if(k){
                    k=k.replace(/\(mce_at\)/g,"@@")
                    }
                    f[b]=k
                });
            if(c=g.base_uri){
                if(!f.protocol){
                    f.protocol=c.protocol
                    }
                    if(!f.userInfo){
                    f.userInfo=c.userInfo
                    }
                    if(!f.port&&f.host=="mce_host"){
                    f.port=c.port
                    }
                    if(!f.host||f.host=="mce_host"){
                    f.host=c.host
                    }
                    f.source=""
                }
            },
    setPath:function(c){
        var b=this;
        c=/^(.*?)\/?(\w+)?$/.exec(c);
        b.path=c[0];
        b.directory=c[1];
        b.file=c[2];
        b.source="";
        b.getURI()
        },
    toRelative:function(b){
        var c=this,d;
        if(b==="./"){
            return b
            }
            b=new tinymce.util.URI(b,{
            base_uri:c
        });
        if((b.host!="mce_host"&&c.host!=b.host&&b.host)||c.port!=b.port||c.protocol!=b.protocol){
            return b.getURI()
            }
            d=c.toRelPath(c.path,b.path);
        if(b.query){
            d+="?"+b.query
            }
            if(b.anchor){
            d+="#"+b.anchor
            }
            return d
        },
    toAbsolute:function(b,c){
        var b=new tinymce.util.URI(b,{
            base_uri:this
        });
        return b.getURI(this.host==b.host&&this.protocol==b.protocol?c:0)
        },
    toRelPath:function(g,h){
        var c,f=0,d="",e,b;
        g=g.substring(0,g.lastIndexOf("/"));
        g=g.split("/");
        c=h.split("/");
        if(g.length>=c.length){
            for(e=0,b=g.length;e<b;e++){
                if(e>=c.length||g[e]!=c[e]){
                    f=e+1;
                    break
                }
            }
            }
        if(g.length<c.length){
        for(e=0,b=c.length;e<b;e++){
            if(e>=g.length||g[e]!=c[e]){
                f=e+1;
                break
            }
        }
        }
    if(f==1){
    return h
    }
    for(e=0,b=g.length-(f-1);e<b;e++){
    d+="../"
    }
    for(e=f-1,b=c.length;e<b;e++){
    if(e!=f-1){
        d+="/"+c[e]
        }else{
        d+=c[e]
        }
    }
return d
},
toAbsPath:function(e,f){
    var c,b=0,h=[],d,g;
    d=/\/$/.test(f)?"/":"";
    e=e.split("/");
    f=f.split("/");
    a(e,function(i){
        if(i){
            h.push(i)
            }
        });
e=h;
for(c=f.length-1,h=[];c>=0;c--){
    if(f[c].length==0||f[c]=="."){
        continue
    }
    if(f[c]==".."){
        b++;
        continue
    }
    if(b>0){
        b--;
        continue
    }
    h.push(f[c])
    }
    c=e.length-b;
if(c<=0){
    g=h.reverse().join("/")
    }else{
    g=e.slice(0,c).join("/")+"/"+h.reverse().join("/")
    }
    if(g.indexOf("/")!==0){
    g="/"+g
    }
    if(d&&g.lastIndexOf("/")!==g.length-1){
    g+=d
    }
    return g
},
getURI:function(d){
    var c,b=this;
    if(!b.source||d){
        c="";
        if(!d){
            if(b.protocol){
                c+=b.protocol+"://"
                }
                if(b.userInfo){
                c+=b.userInfo+"@"
                }
                if(b.host){
                c+=b.host
                }
                if(b.port){
                c+=":"+b.port
                }
            }
        if(b.path){
        c+=b.path
        }
        if(b.query){
        c+="?"+b.query
        }
        if(b.anchor){
        c+="#"+b.anchor
        }
        b.source=c
    }
    return b.source
}
})
})();
(function(){
    var a=tinymce.each;
    tinymce.create("static tinymce.util.Cookie",{
        getHash:function(d){
            var b=this.get(d),c;
            if(b){
                a(b.split("&"),function(e){
                    e=e.split("=");
                    c=c||{};

                    c[unescape(e[0])]=unescape(e[1])
                    })
                }
                return c
            },
        setHash:function(j,b,g,f,i,c){
            var h="";
            a(b,function(e,d){
                h+=(!h?"":"&")+escape(d)+"="+escape(e)
                });
            this.set(j,h,g,f,i,c)
            },
        get:function(i){
            var h=document.cookie,g,f=i+"=",d;
            if(!h){
                return
            }
            d=h.indexOf("; "+f);
            if(d==-1){
                d=h.indexOf(f);
                if(d!=0){
                    return null
                    }
                }else{
            d+=2
            }
            g=h.indexOf(";",d);
        if(g==-1){
            g=h.length
            }
            return unescape(h.substring(d+f.length,g))
        },
    set:function(i,b,g,f,h,c){
        document.cookie=i+"="+escape(b)+((g)?"; expires="+g.toGMTString():"")+((f)?"; path="+escape(f):"")+((h)?"; domain="+h:"")+((c)?"; secure":"")
        },
    remove:function(e,b){
        var c=new Date();
        c.setTime(c.getTime()-1000);
        this.set(e,"",c,b,c)
        }
    })
})();
tinymce.create("static tinymce.util.JSON",{
    serialize:function(e){
        var c,a,d=tinymce.util.JSON.serialize,b;
        if(e==null){
            return"null"
            }
            b=typeof e;
        if(b=="string"){
            a="\bb\tt\nn\ff\rr\"\"''\\\\";
            return'"'+e.replace(/([\u0080-\uFFFF\x00-\x1f\"])/g,function(g,f){
                c=a.indexOf(f);
                if(c+1){
                    return"\\"+a.charAt(c+1)
                    }
                    g=f.charCodeAt().toString(16);
                return"\\u"+"0000".substring(g.length)+g
                })+'"'
            }
            if(b=="object"){
            if(e.hasOwnProperty&&e instanceof Array){
                for(c=0,a="[";c<e.length;c++){
                    a+=(c>0?",":"")+d(e[c])
                    }
                    return a+"]"
                }
                a="{";
            for(c in e){
                a+=typeof e[c]!="function"?(a.length>1?',"':'"')+c+'":'+d(e[c]):""
                }
                return a+"}"
            }
            return""+e
        },
    parse:function(s){
        try{
            return eval("("+s+")")
            }catch(ex){}
    }
});
tinymce.create("static tinymce.util.XHR",{
    send:function(g){
        var a,e,b=window,h=0;
        g.scope=g.scope||this;
        g.success_scope=g.success_scope||g.scope;
        g.error_scope=g.error_scope||g.scope;
        g.async=g.async===false?false:true;
        g.data=g.data||"";
        function d(i){
            a=0;
            try{
                a=new ActiveXObject(i)
                }catch(c){}
            return a
            }
            a=b.XMLHttpRequest?new XMLHttpRequest():d("Microsoft.XMLHTTP")||d("Msxml2.XMLHTTP");
        if(a){
            if(a.overrideMimeType){
                a.overrideMimeType(g.content_type)
                }
                a.open(g.type||(g.data?"POST":"GET"),g.url,g.async);
            if(g.content_type){
                a.setRequestHeader("Content-Type",g.content_type)
                }
                a.setRequestHeader("X-Requested-With","XMLHttpRequest");
            a.send(g.data);
            function f(){
                if(!g.async||a.readyState==4||h++>10000){
                    if(g.success&&h<10000&&a.status==200){
                        g.success.call(g.success_scope,""+a.responseText,a,g)
                        }else{
                        if(g.error){
                            g.error.call(g.error_scope,h>10000?"TIMED_OUT":"GENERAL",a,g)
                            }
                        }
                    a=null
                }else{
                b.setTimeout(f,10)
                }
            }
        if(!g.async){
        return f()
        }
        e=b.setTimeout(f,10)
    }
}
});
(function(){
    var c=tinymce.extend,b=tinymce.util.JSON,a=tinymce.util.XHR;
    tinymce.create("tinymce.util.JSONRequest",{
        JSONRequest:function(d){
            this.settings=c({},d);
            this.count=0
            },
        send:function(f){
            var e=f.error,d=f.success;
            f=c(this.settings,f);
            f.success=function(h,g){
                h=b.parse(h);
                if(typeof(h)=="undefined"){
                    h={
                        error:"JSON Parse error."
                    }
                }
                if(h.error){
                e.call(f.error_scope||f.scope,h.error,g)
                }else{
                d.call(f.success_scope||f.scope,h.result)
                }
            };

    f.error=function(h,g){
        e.call(f.error_scope||f.scope,h,g)
        };

    f.data=b.serialize({
        id:f.id||"c"+(this.count++),
        method:f.method,
        params:f.params
        });
    f.content_type="application/json";
    a.send(f)
        },
    "static":{
        sendRPC:function(d){
            return new tinymce.util.JSONRequest().send(d)
            }
        }
})
}());
(function(m){
    var k=m.each,j=m.is,i=m.isWebKit,d=m.isIE,a=/^(H[1-6R]|P|DIV|ADDRESS|PRE|FORM|T(ABLE|BODY|HEAD|FOOT|H|R|D)|LI|OL|UL|CAPTION|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|NOSCRIPT|MENU|ISINDEX|SAMP)$/,e=g("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),f=g("src,href,style,coords,shape"),c={
        "&":"&amp;",
        '"':"&quot;",
        "<":"&lt;",
        ">":"&gt;"
    },n=/[<>&\"]/g,b=/^([a-z0-9],?)+$/i,h=/<(\w+)((?:\s+\w+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)(\s*\/?)>/g,l=/(\w+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g;
    function g(q){
        var p={},o;
        q=q.split(",");
        for(o=q.length;o>=0;o--){
            p[q[o]]=1
            }
            return p
        }
        m.create("tinymce.dom.DOMUtils",{
        doc:null,
        root:null,
        files:null,
        pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,
        props:{
            "for":"htmlFor",
            "class":"className",
            className:"className",
            checked:"checked",
            disabled:"disabled",
            maxlength:"maxLength",
            readonly:"readOnly",
            selected:"selected",
            value:"value",
            id:"id",
            name:"name",
            type:"type"
        },
        DOMUtils:function(u,q){
            var p=this,o;
            p.doc=u;
            p.win=window;
            p.files={};

            p.cssFlicker=false;
            p.counter=0;
            p.boxModel=!m.isIE||u.compatMode=="CSS1Compat";
            p.stdMode=u.documentMode===8;
            p.settings=q=m.extend({
                keep_values:false,
                hex_colors:1,
                process_html:1
            },q);
            if(m.isIE6){
                try{
                    u.execCommand("BackgroundImageCache",false,true)
                    }catch(r){
                    p.cssFlicker=true
                    }
                }
            if(q.valid_styles){
            p._styles={};

            k(q.valid_styles,function(t,s){
                p._styles[s]=m.explode(t)
                })
            }
            m.addUnload(p.destroy,p)
        },
    getRoot:function(){
        var o=this,p=o.settings;
        return(p&&o.get(p.root_element))||o.doc.body
        },
    getViewPort:function(p){
        var q,o;
        p=!p?this.win:p;
        q=p.document;
        o=this.boxModel?q.documentElement:q.body;
        return{
            x:p.pageXOffset||o.scrollLeft,
            y:p.pageYOffset||o.scrollTop,
            w:p.innerWidth||o.clientWidth,
            h:p.innerHeight||o.clientHeight
            }
        },
    getRect:function(s){
        var r,o=this,q;
        s=o.get(s);
        r=o.getPos(s);
        q=o.getSize(s);
        return{
            x:r.x,
            y:r.y,
            w:q.w,
            h:q.h
            }
        },
getSize:function(r){
    var p=this,o,q;
    r=p.get(r);
    o=p.getStyle(r,"width");
    q=p.getStyle(r,"height");
    if(o.indexOf("px")===-1){
        o=0
        }
        if(q.indexOf("px")===-1){
        q=0
        }
        return{
        w:parseInt(o)||r.offsetWidth||r.clientWidth,
        h:parseInt(q)||r.offsetHeight||r.clientHeight
        }
    },
getParent:function(q,p,o){
    return this.getParents(q,p,o,false)
    },
getParents:function(z,v,s,y){
    var q=this,p,u=q.settings,x=[];
    z=q.get(z);
    y=y===undefined;
    if(u.strict_root){
        s=s||q.getRoot()
        }
        if(j(v,"string")){
        p=v;
        if(v==="*"){
            v=function(o){
                return o.nodeType==1
                }
            }else{
        v=function(o){
            return q.is(o,p)
            }
        }
}while(z){
    if(z==s||!z.nodeType||z.nodeType===9){
        break
    }
    if(!v||v(z)){
        if(y){
            x.push(z)
            }else{
            return z
            }
        }
    z=z.parentNode
}
return y?x:null
},
get:function(o){
    var p;
    if(o&&this.doc&&typeof(o)=="string"){
        p=o;
        o=this.doc.getElementById(o);
        if(o&&o.id!==p){
            return this.doc.getElementsByName(p)[1]
            }
        }
    return o
},
getNext:function(p,o){
    return this._findSib(p,o,"nextSibling")
    },
getPrev:function(p,o){
    return this._findSib(p,o,"previousSibling")
    },
add:function(s,v,o,r,u){
    var q=this;
    return this.run(s,function(y){
        var x,t;
        x=j(v,"string")?q.doc.createElement(v):v;
        q.setAttribs(x,o);
        if(r){
            if(r.nodeType){
                x.appendChild(r)
                }else{
                q.setHTML(x,r)
                }
            }
        return !u?y.appendChild(x):x
        })
},
create:function(q,o,p){
    return this.add(this.doc.createElement(q),q,o,p,1)
    },
createHTML:function(v,p,s){
    var u="",r=this,q;
    u+="<"+v;
    for(q in p){
        if(p.hasOwnProperty(q)){
            u+=" "+q+'="'+r.encode(p[q])+'"'
            }
        }
    if(m.is(s)){
    return u+">"+s+"</"+v+">"
    }
    return u+" />"
},
remove:function(o,p){
    return this.run(o,function(r){
        var q,s;
        q=r.parentNode;
        if(!q){
            return null
            }
            if(p){
            while(s=r.firstChild){
                if(!m.isIE||s.nodeType!==3||s.nodeValue){
                    q.insertBefore(s,r)
                    }else{
                    r.removeChild(s)
                    }
                }
        }
    return q.removeChild(r)
    })
},
setStyle:function(r,o,p){
    var q=this;
    return q.run(r,function(v){
        var u,t;
        u=v.style;
        o=o.replace(/-(\D)/g,function(x,s){
            return s.toUpperCase()
            });
        if(q.pixelStyles.test(o)&&(m.is(p,"number")||/^[\-0-9\.]+$/.test(p))){
            p+="px"
            }
            switch(o){
            case"opacity":
                if(d){
                u.filter=p===""?"":"alpha(opacity="+(p*100)+")";
                if(!r.currentStyle||!r.currentStyle.hasLayout){
                    u.display="inline-block"
                    }
                }
            u[o]=u["-moz-opacity"]=u["-khtml-opacity"]=p||"";
            break;
        case"float":
            d?u.styleFloat=p:u.cssFloat=p;
            break;
        default:
            u[o]=p||""
            }
            if(q.settings.update_styles){
        q.setAttrib(v,"_mce_style")
        }
    })
},
getStyle:function(r,o,q){
    r=this.get(r);
    if(!r){
        return false
        }
        if(this.doc.defaultView&&q){
        o=o.replace(/[A-Z]/g,function(s){
            return"-"+s
            });
        try{
            return this.doc.defaultView.getComputedStyle(r,null).getPropertyValue(o)
            }catch(p){
            return null
            }
        }
    o=o.replace(/-(\D)/g,function(t,s){
    return s.toUpperCase()
    });
if(o=="float"){
    o=d?"styleFloat":"cssFloat"
    }
    if(r.currentStyle&&q){
    return r.currentStyle[o]
    }
    return r.style[o]
},
setStyles:function(u,v){
    var q=this,r=q.settings,p;
    p=r.update_styles;
    r.update_styles=0;
    k(v,function(o,s){
        q.setStyle(u,s,o)
        });
    r.update_styles=p;
    if(r.update_styles){
        q.setAttrib(u,r.cssText)
        }
    },
setAttrib:function(q,r,o){
    var p=this;
    if(!q||!r){
        return
    }
    if(p.settings.strict){
        r=r.toLowerCase()
        }
        return this.run(q,function(u){
        var t=p.settings;
        switch(r){
            case"style":
                if(!j(o,"string")){
                k(o,function(s,x){
                    p.setStyle(u,x,s)
                    });
                return
            }
            if(t.keep_values){
                if(o&&!p._isRes(o)){
                    u.setAttribute("_mce_style",o,2)
                    }else{
                    u.removeAttribute("_mce_style",2)
                    }
                }
            u.style.cssText=o;
            break;
        case"class":
            u.className=o||"";
            break;
        case"src":case"href":
            if(t.keep_values){
            if(t.url_converter){
                o=t.url_converter.call(t.url_converter_scope||p,o,r,u)
                }
                p.setAttrib(u,"_mce_"+r,o,2)
            }
            break;
        case"shape":
            u.setAttribute("_mce_style",o);
            break
            }
            if(j(o)&&o!==null&&o.length!==0){
        u.setAttribute(r,""+o,2)
        }else{
        u.removeAttribute(r,2)
        }
    })
},
setAttribs:function(q,r){
    var p=this;
    return this.run(q,function(o){
        k(r,function(s,t){
            p.setAttrib(o,t,s)
            })
        })
    },
getAttrib:function(r,s,q){
    var o,p=this;
    r=p.get(r);
    if(!r||r.nodeType!==1){
        return false
        }
        if(!j(q)){
        q=""
        }
        if(/^(src|href|style|coords|shape)$/.test(s)){
        o=r.getAttribute("_mce_"+s);
        if(o){
            return o
            }
        }
    if(d&&p.props[s]){
    o=r[p.props[s]];
    o=o&&o.nodeValue?o.nodeValue:o
    }
    if(!o){
    o=r.getAttribute(s,2)
    }
    if(/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(s)){
    if(r[p.props[s]]===true&&o===""){
        return s
        }
        return o?s:""
    }
    if(r.nodeName==="FORM"&&r.getAttributeNode(s)){
    return r.getAttributeNode(s).nodeValue
    }
    if(s==="style"){
    o=o||r.style.cssText;
    if(o){
        o=p.serializeStyle(p.parseStyle(o),r.nodeName);
        if(p.settings.keep_values&&!p._isRes(o)){
            r.setAttribute("_mce_style",o)
            }
        }
}
if(i&&s==="class"&&o){
    o=o.replace(/(apple|webkit)\-[a-z\-]+/gi,"")
    }
    if(d){
    switch(s){
        case"rowspan":case"colspan":
            if(o===1){
            o=""
            }
            break;
        case"size":
            if(o==="+0"||o===20||o===0){
            o=""
            }
            break;
        case"width":case"height":case"vspace":case"checked":case"disabled":case"readonly":
            if(o===0){
            o=""
            }
            break;
        case"hspace":
            if(o===-1){
            o=""
            }
            break;
        case"maxlength":case"tabindex":
            if(o===32768||o===2147483647||o==="32768"){
            o=""
            }
            break;
        case"multiple":case"compact":case"noshade":case"nowrap":
            if(o===65535){
            return s
            }
            return q;
        case"shape":
            o=o.toLowerCase();
            break;
        default:
            if(s.indexOf("on")===0&&o){
            o=(""+o).replace(/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,"$1")
            }
        }
    }
return(o!==undefined&&o!==null&&o!=="")?""+o:q
},
getPos:function(A,s){
    var p=this,o=0,z=0,u,v=p.doc,q;
    A=p.get(A);
    s=s||v.body;
    if(A){
        if(d&&!p.stdMode){
            A=A.getBoundingClientRect();
            u=p.boxModel?v.documentElement:v.body;
            o=p.getStyle(p.select("html")[0],"borderWidth");
            o=(o=="medium"||p.boxModel&&!p.isIE6)&&2||o;
            A.top+=p.win.self!=p.win.top?2:0;
            return{
                x:A.left+u.scrollLeft-o,
                y:A.top+u.scrollTop-o
                }
            }
        q=A;
    while(q&&q!=s&&q.nodeType){
        o+=q.offsetLeft||0;
        z+=q.offsetTop||0;
        q=q.offsetParent
        }
        q=A.parentNode;
    while(q&&q!=s&&q.nodeType){
        o-=q.scrollLeft||0;
        z-=q.scrollTop||0;
        q=q.parentNode
        }
    }
return{
    x:o,
    y:z
}
},
parseStyle:function(r){
    var u=this,v=u.settings,x={};

    if(!r){
        return x
        }
        function p(D,A,C){
        var z,B,o,y;
        z=x[D+"-top"+A];
        if(!z){
            return
        }
        B=x[D+"-right"+A];
        if(z!=B){
            return
        }
        o=x[D+"-bottom"+A];
        if(B!=o){
            return
        }
        y=x[D+"-left"+A];
        if(o!=y){
            return
        }
        x[C]=y;
        delete x[D+"-top"+A];
        delete x[D+"-right"+A];
        delete x[D+"-bottom"+A];
        delete x[D+"-left"+A]
    }
    function q(y,s,o,A){
        var z;
        z=x[s];
        if(!z){
            return
        }
        z=x[o];
        if(!z){
            return
        }
        z=x[A];
        if(!z){
            return
        }
        x[y]=x[s]+" "+x[o]+" "+x[A];
        delete x[s];
        delete x[o];
        delete x[A]
    }
    r=r.replace(/&(#?[a-z0-9]+);/g,"&$1_MCE_SEMI_");
    k(r.split(";"),function(s){
        var o,t=[];
        if(s){
            s=s.replace(/_MCE_SEMI_/g,";");
            s=s.replace(/url\([^\)]+\)/g,function(y){
                t.push(y);
                return"url("+t.length+")"
                });
            s=s.split(":");
            o=m.trim(s[1]);
            o=o.replace(/url\(([^\)]+)\)/g,function(z,y){
                return t[parseInt(y)-1]
                });
            o=o.replace(/rgb\([^\)]+\)/g,function(y){
                return u.toHex(y)
                });
            if(v.url_converter){
                o=o.replace(/url\([\'\"]?([^\)\'\"]+)[\'\"]?\)/g,function(y,z){
                    return"url("+v.url_converter.call(v.url_converter_scope||u,u.decode(z),"style",null)+")"
                    })
                }
                x[m.trim(s[0]).toLowerCase()]=o
            }
        });
p("border","","border");
p("border","-width","border-width");
p("border","-color","border-color");
p("border","-style","border-style");
p("padding","","padding");
p("margin","","margin");
q("border","border-width","border-style","border-color");
if(d){
    if(x.border=="medium none"){
        x.border=""
        }
    }
return x
},
serializeStyle:function(v,p){
    var q=this,r="";
    function u(s,o){
        if(o&&s){
            if(o.indexOf("-")===0){
                return
            }
            switch(o){
                case"font-weight":
                    if(s==700){
                    s="bold"
                    }
                    break;
                case"color":case"background-color":
                    s=s.toLowerCase();
                    break
                    }
                    r+=(r?" ":"")+o+": "+s+";"
            }
        }
    if(p&&q._styles){
    k(q._styles["*"],function(o){
        u(v[o],o)
        });
    k(q._styles[p.toLowerCase()],function(o){
        u(v[o],o)
        })
    }else{
    k(v,u)
    }
    return r
},
loadCSS:function(o){
    var q=this,r=q.doc,p;
    if(!o){
        o=""
        }
        p=q.select("head")[0];
    k(o.split(","),function(s){
        var t;
        if(q.files[s]){
            return
        }
        q.files[s]=true;
        t=q.create("link",{
            rel:"stylesheet",
            href:m._addVer(s)
            });
        if(d&&r.documentMode){
            t.onload=function(){
                r.recalc();
                t.onload=null
                }
            }
        p.appendChild(t)
        })
},
addClass:function(o,p){
    return this.run(o,function(q){
        var r;
        if(!p){
            return 0
            }
            if(this.hasClass(q,p)){
            return q.className
            }
            r=this.removeClass(q,p);
        return q.className=(r!=""?(r+" "):"")+p
        })
    },
removeClass:function(q,r){
    var o=this,p;
    return o.run(q,function(t){
        var s;
        if(o.hasClass(t,r)){
            if(!p){
                p=new RegExp("(^|\\s+)"+r+"(\\s+|$)","g")
                }
                s=t.className.replace(p," ");
            s=m.trim(s!=" "?s:"");
            t.className=s;
            if(!s){
                t.removeAttribute("class");
                t.removeAttribute("className")
                }
                return s
            }
            return t.className
        })
    },
hasClass:function(p,o){
    p=this.get(p);
    if(!p||!o){
        return false
        }
        return(" "+p.className+" ").indexOf(" "+o+" ")!==-1
    },
show:function(o){
    return this.setStyle(o,"display","block")
    },
hide:function(o){
    return this.setStyle(o,"display","none")
    },
isHidden:function(o){
    o=this.get(o);
    return !o||o.style.display=="none"||this.getStyle(o,"display")=="none"
    },
uniqueId:function(o){
    return(!o?"mce_":o)+(this.counter++)
    },
setHTML:function(q,p){
    var o=this;
    return this.run(q,function(v){
        var r,t,s,z,u,r;
        p=o.processHTML(p);
        if(d){
            function y(){
                while(v.firstChild){
                    v.firstChild.removeNode()
                    }
                    try{
                    v.innerHTML="<br />"+p;
                    v.removeChild(v.firstChild)
                    }catch(x){
                    r=o.create("div");
                    r.innerHTML="<br />"+p;
                    k(r.childNodes,function(B,A){
                        if(A){
                            v.appendChild(B)
                            }
                        })
                }
            }
        if(o.settings.fix_ie_paragraphs){
        p=p.replace(/<p><\/p>|<p([^>]+)><\/p>|<p[^\/+]\/>/gi,'<p$1 _mce_keep="true">&nbsp;</p>')
        }
        y();
        if(o.settings.fix_ie_paragraphs){
        s=v.getElementsByTagName("p");
        for(t=s.length-1,r=0;t>=0;t--){
            z=s[t];
            if(!z.hasChildNodes()){
                if(!z._mce_keep){
                    r=1;
                    break
                }
                z.removeAttribute("_mce_keep")
                }
            }
        }
    if(r){
    p=p.replace(/<p ([^>]+)>|<p>/ig,'<div $1 _mce_tmp="1">');
    p=p.replace(/<\/p>/gi,"</div>");
    y();
    if(o.settings.fix_ie_paragraphs){
        s=v.getElementsByTagName("DIV");
        for(t=s.length-1;t>=0;t--){
            z=s[t];
            if(z._mce_tmp){
                u=o.doc.createElement("p");
                z.cloneNode(false).outerHTML.replace(/([a-z0-9\-_]+)=/gi,function(A,x){
                    var B;
                    if(x!=="_mce_tmp"){
                        B=z.getAttribute(x);
                        if(!B&&x==="class"){
                            B=z.className
                            }
                            u.setAttribute(x,B)
                        }
                    });
            for(r=0;r<z.childNodes.length;r++){
                u.appendChild(z.childNodes[r].cloneNode(true))
                }
                z.swapNode(u)
            }
        }
    }
}
}else{
    v.innerHTML=p
    }
    return p
})
},
processHTML:function(r){
    var p=this,q=p.settings,v=[];
    if(!q.process_html){
        return r
        }
        if(d){
        r=r.replace(/&apos;/g,"&#39;");
        r=r.replace(/\s+(disabled|checked|readonly|selected)\s*=\s*[\"\']?(false|0)[\"\']?/gi,"")
        }
        r=r.replace(/<a( )([^>]+)\/>|<a\/>/gi,"<a$1$2></a>");
    if(q.keep_values){
        if(/<script|noscript|style/i.test(r)){
            function o(t){
                t=t.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n");
                t=t.replace(/^[\r\n]*|[\r\n]*$/g,"");
                t=t.replace(/^\s*(\/\/\s*<!--|\/\/\s*<!\[CDATA\[|<!--|<!\[CDATA\[)[\r\n]*/g,"");
                t=t.replace(/\s*(\/\/\s*\]\]>|\/\/\s*-->|\]\]>|-->|\]\]-->)\s*$/g,"");
                return t
                }
                r=r.replace(/<script([^>]+|)>([\s\S]*?)<\/script>/gi,function(s,x,t){
                if(!x){
                    x=' type="text/javascript"'
                    }
                    x=x.replace(/src=\"([^\"]+)\"?/i,function(y,z){
                    if(q.url_converter){
                        z=p.encode(q.url_converter.call(q.url_converter_scope||p,p.decode(z),"src","script"))
                        }
                        return'_mce_src="'+z+'"'
                    });
                if(m.trim(t)){
                    v.push(o(t));
                    t="<!--\nMCE_SCRIPT:"+(v.length-1)+"\n// -->"
                    }
                    return"<mce:script"+x+">"+t+"</mce:script>"
                });
            r=r.replace(/<style([^>]+|)>([\s\S]*?)<\/style>/gi,function(s,x,t){
                if(t){
                    v.push(o(t));
                    t="<!--\nMCE_SCRIPT:"+(v.length-1)+"\n-->"
                    }
                    return"<mce:style"+x+">"+t+"</mce:style><style "+x+' _mce_bogus="1">'+t+"</style>"
                });
            r=r.replace(/<noscript([^>]+|)>([\s\S]*?)<\/noscript>/g,function(s,x,t){
                return"<mce:noscript"+x+"><!--"+p.encode(t).replace(/--/g,"&#45;&#45;")+"--></mce:noscript>"
                })
            }
            r=r.replace(/<!\[CDATA\[([\s\S]+)\]\]>/g,"<!--[CDATA[$1]]-->");
        function u(s){
            return s.replace(h,function(y,z,x,t){
                return"<"+z+x.replace(l,function(B,A,E,D,C){
                    var F;
                    A=A.toLowerCase();
                    E=E||D||C||"";
                    if(e[A]){
                        if(E==="false"||E==="0"){
                            return
                        }
                        return A+'="'+A+'"'
                        }
                        if(f[A]&&x.indexOf("_mce_"+A)==-1){
                        F=p.decode(E);
                        if(q.url_converter&&(A=="src"||A=="href")){
                            F=q.url_converter.call(q.url_converter_scope||p,F,A,z)
                            }
                            if(A=="style"){
                            F=p.serializeStyle(p.parseStyle(F),A)
                            }
                            return A+'="'+E+'" _mce_'+A+'="'+p.encode(F)+'"'
                        }
                        return B
                    })+t+">"
                })
            }
            r=u(r);
        r=r.replace(/MCE_SCRIPT:([0-9]+)/g,function(t,s){
            return v[s]
            })
        }
        return r
    },
getOuterHTML:function(o){
    var p;
    o=this.get(o);
    if(!o){
        return null
        }
        if(o.outerHTML!==undefined){
        return o.outerHTML
        }
        p=(o.ownerDocument||this.doc).createElement("body");
    p.appendChild(o.cloneNode(true));
    return p.innerHTML
    },
setOuterHTML:function(r,p,s){
    var o=this;
    function q(u,t,x){
        var y,v;
        v=x.createElement("body");
        v.innerHTML=t;
        y=v.lastChild;
        while(y){
            o.insertAfter(y.cloneNode(true),u);
            y=y.previousSibling
            }
            o.remove(u)
        }
        return this.run(r,function(u){
        u=o.get(u);
        if(u.nodeType==1){
            s=s||u.ownerDocument||o.doc;
            if(d){
                try{
                    if(d&&u.nodeType==1){
                        u.outerHTML=p
                        }else{
                        q(u,p,s)
                        }
                    }catch(t){
                q(u,p,s)
                }
            }else{
        q(u,p,s)
        }
    }
})
},
decode:function(p){
    var q,r,o;
    if(/&[\w#]+;/.test(p)){
        q=this.doc.createElement("div");
        q.innerHTML=p;
        r=q.firstChild;
        o="";
        if(r){
            do{
                o+=r.nodeValue
                }while(r=r.nextSibling)
        }
        return o||p
        }
        return p
    },
encode:function(o){
    return(""+o).replace(n,function(p){
        return c[p]
        })
    },
insertAfter:function(o,p){
    p=this.get(p);
    return this.run(o,function(r){
        var q,s;
        q=p.parentNode;
        s=p.nextSibling;
        if(s){
            q.insertBefore(r,s)
            }else{
            q.appendChild(r)
            }
            return r
        })
    },
isBlock:function(o){
    if(o.nodeType&&o.nodeType!==1){
        return false
        }
        o=o.nodeName||o;
    return a.test(o)
    },
replace:function(s,r,p){
    var q=this;
    if(j(r,"array")){
        s=s.cloneNode(true)
        }
        return q.run(r,function(t){
        if(p){
            k(m.grep(t.childNodes),function(o){
                s.appendChild(o)
                })
            }
            return t.parentNode.replaceChild(s,t)
        })
    },
rename:function(r,o){
    var q=this,p;
    if(r.nodeName!=o.toUpperCase()){
        p=q.create(o);
        k(q.getAttribs(r),function(s){
            q.setAttrib(p,s.nodeName,q.getAttrib(r,s.nodeName))
            });
        q.replace(p,r,1)
        }
        return p||r
    },
findCommonAncestor:function(q,o){
    var r=q,p;
    while(r){
        p=o;
        while(p&&r!=p){
            p=p.parentNode
            }
            if(r==p){
            break
        }
        r=r.parentNode
        }
        if(!r&&q.ownerDocument){
        return q.ownerDocument.documentElement
        }
        return r
    },
toHex:function(o){
    var q=/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(o);
    function p(r){
        r=parseInt(r).toString(16);
        return r.length>1?r:"0"+r
        }
        if(q){
        o="#"+p(q[1])+p(q[2])+p(q[3]);
        return o
        }
        return o
    },
getClasses:function(){
    var s=this,o=[],r,u={},v=s.settings.class_filter,q;
    if(s.classes){
        return s.classes
        }
        function x(t){
        k(t.imports,function(y){
            x(y)
            });
        k(t.cssRules||t.rules,function(y){
            switch(y.type||1){
                case 1:
                    if(y.selectorText){
                    k(y.selectorText.split(","),function(z){
                        z=z.replace(/^\s*|\s*$|^\s\./g,"");
                        if(/\.mce/.test(z)||!/\.[\w\-]+$/.test(z)){
                            return
                        }
                        q=z;
                        z=z.replace(/.*\.([a-z0-9_\-]+).*/i,"$1");
                        if(v&&!(z=v(z,q))){
                            return
                        }
                        if(!u[z]){
                            o.push({
                                "class":z
                            });
                            u[z]=1
                            }
                        })
                }
                break;
            case 3:
                x(y.styleSheet);
                break
                }
            })
}
try{
    k(s.doc.styleSheets,x)
    }catch(p){}
if(o.length>0){
    s.classes=o
    }
    return o
},
run:function(u,r,q){
    var p=this,v;
    if(p.doc&&typeof(u)==="string"){
        u=p.get(u)
        }
        if(!u){
        return false
        }
        q=q||this;
    if(!u.nodeType&&(u.length||u.length===0)){
        v=[];
        k(u,function(s,o){
            if(s){
                if(typeof(s)=="string"){
                    s=p.doc.getElementById(s)
                    }
                    v.push(r.call(q,s,o))
                }
            });
    return v
    }
    return r.call(q,u)
},
getAttribs:function(q){
    var p;
    q=this.get(q);
    if(!q){
        return[]
        }
        if(d){
        p=[];
        if(q.nodeName=="OBJECT"){
            return q.attributes
            }
            if(q.nodeName==="OPTION"&&this.getAttrib(q,"selected")){
            p.push({
                specified:1,
                nodeName:"selected"
            })
            }
            q.cloneNode(false).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(o){
            p.push({
                specified:1,
                nodeName:o
            })
            });
        return p
        }
        return q.attributes
    },
destroy:function(p){
    var o=this;
    if(o.events){
        o.events.destroy()
        }
        o.win=o.doc=o.root=o.events=null;
    if(!p){
        m.removeUnload(o.destroy)
        }
    },
createRng:function(){
    var o=this.doc;
    return o.createRange?o.createRange():new m.dom.Range(this)
    },
nodeIndex:function(s,t){
    var o=0,q,r,p;
    if(s){
        for(q=s.nodeType,s=s.previousSibling,r=s;s;s=s.previousSibling){
            p=s.nodeType;
            if(t&&p==3){
                if(p==q||!s.nodeValue.length){
                    continue
                }
            }
            o++;
        q=p
        }
        }
    return o
},
split:function(u,s,y){
    var z=this,o=z.createRng(),v,q,x;
    function p(A){
        var t,r=A.childNodes;
        if(A.nodeType==1&&A.getAttribute("_mce_type")=="bookmark"){
            return
        }
        for(t=r.length-1;t>=0;t--){
            p(r[t])
            }
            if(A.nodeType!=9){
            if(A.nodeType==3&&A.nodeValue.length>0){
                return
            }
            if(A.nodeType==1){
                r=A.childNodes;
                if(r.length==1&&r[0]&&r[0].nodeType==1&&r[0].getAttribute("_mce_type")=="bookmark"){
                    A.parentNode.insertBefore(r[0],A)
                    }
                    if(r.length||/^(br|hr|input|img)$/i.test(A.nodeName)){
                    return
                }
            }
            z.remove(A)
        }
        return A
    }
    if(u&&s){
    o.setStart(u.parentNode,z.nodeIndex(u));
    o.setEnd(s.parentNode,z.nodeIndex(s));
    v=o.extractContents();
    o=z.createRng();
    o.setStart(s.parentNode,z.nodeIndex(s)+1);
    o.setEnd(u.parentNode,z.nodeIndex(u)+1);
    q=o.extractContents();
    x=u.parentNode;
    x.insertBefore(p(v),u);
    if(y){
        x.replaceChild(y,s)
        }else{
        x.insertBefore(s,u)
        }
        x.insertBefore(p(q),u);
    z.remove(u);
    return y||s
    }
},
bind:function(s,o,r,q){
    var p=this;
    if(!p.events){
        p.events=new m.dom.EventUtils()
        }
        return p.events.add(s,o,r,q||this)
    },
unbind:function(r,o,q){
    var p=this;
    if(!p.events){
        p.events=new m.dom.EventUtils()
        }
        return p.events.remove(r,o,q)
    },
_findSib:function(r,o,p){
    var q=this,s=o;
    if(r){
        if(j(s,"string")){
            s=function(t){
                return q.is(t,o)
                }
            }
        for(r=r[p];r;r=r[p]){
        if(s(r)){
            return r
            }
        }
    }
return null
},
_isRes:function(o){
    return/^(top|left|bottom|right|width|height)/i.test(o)||/;\s*(top|left|bottom|right|width|height)/i.test(o)
    }
});
m.DOM=new m.dom.DOMUtils(document,{
    process_html:0
})
})(tinymce);
(function(a){
    function b(c){
        var N=this,e=c.doc,S=0,E=1,j=2,D=true,R=false,U="startOffset",h="startContainer",P="endContainer",z="endOffset",k=tinymce.extend,n=c.nodeIndex;
        k(N,{
            startContainer:e,
            startOffset:0,
            endContainer:e,
            endOffset:0,
            collapsed:D,
            commonAncestorContainer:e,
            START_TO_START:0,
            START_TO_END:1,
            END_TO_END:2,
            END_TO_START:3,
            setStart:q,
            setEnd:s,
            setStartBefore:g,
            setStartAfter:I,
            setEndBefore:J,
            setEndAfter:u,
            collapse:A,
            selectNode:x,
            selectNodeContents:F,
            compareBoundaryPoints:v,
            deleteContents:p,
            extractContents:H,
            cloneContents:d,
            insertNode:C,
            surroundContents:M,
            cloneRange:K
        });
        function q(V,t){
            B(D,V,t)
            }
            function s(V,t){
            B(R,V,t)
            }
            function g(t){
            q(t.parentNode,n(t))
            }
            function I(t){
            q(t.parentNode,n(t)+1)
            }
            function J(t){
            s(t.parentNode,n(t))
            }
            function u(t){
            s(t.parentNode,n(t)+1)
            }
            function A(t){
            if(t){
                N[P]=N[h];
                N[z]=N[U]
                }else{
                N[h]=N[P];
                N[U]=N[z]
                }
                N.collapsed=D
            }
            function x(t){
            g(t);
            u(t)
            }
            function F(t){
            q(t,0);
            s(t,t.nodeType===1?t.childNodes.length:t.nodeValue.length)
            }
            function v(W,X){
            var Z=N[h],Y=N[U],V=N[P],t=N[z];
            if(W===0){
                return G(Z,Y,Z,Y)
                }
                if(W===1){
                return G(Z,Y,V,t)
                }
                if(W===2){
                return G(V,t,V,t)
                }
                if(W===3){
                return G(V,t,Z,Y)
                }
            }
        function p(){
        m(j)
        }
        function H(){
        return m(S)
        }
        function d(){
        return m(E)
        }
        function C(Y){
        var V=this[h],t=this[U],X,W;
        if((V.nodeType===3||V.nodeType===4)&&V.nodeValue){
            if(!t){
                V.parentNode.insertBefore(Y,V)
                }else{
                if(t>=V.nodeValue.length){
                    c.insertAfter(Y,V)
                    }else{
                    X=V.splitText(t);
                    V.parentNode.insertBefore(Y,X)
                    }
                }
        }else{
    if(V.childNodes.length>0){
        W=V.childNodes[t]
        }
        if(W){
        V.insertBefore(Y,W)
        }else{
        V.appendChild(Y)
        }
    }
}
function M(V){
    var t=N.extractContents();
    N.insertNode(V);
    V.appendChild(t);
    N.selectNode(V)
    }
    function K(){
    return k(new b(c),{
        startContainer:N[h],
        startOffset:N[U],
        endContainer:N[P],
        endOffset:N[z],
        collapsed:N.collapsed,
        commonAncestorContainer:N.commonAncestorContainer
        })
    }
    function O(t,V){
    var W;
    if(t.nodeType==3){
        return t
        }
        if(V<0){
        return t
        }
        W=t.firstChild;
    while(W&&V>0){
        --V;
        W=W.nextSibling
        }
        if(W){
        return W
        }
        return t
    }
    function l(){
    return(N[h]==N[P]&&N[U]==N[z])
    }
    function G(X,Z,V,Y){
    var aa,W,t,ab,ad,ac;
    if(X==V){
        if(Z==Y){
            return 0
            }
            if(Z<Y){
            return -1
            }
            return 1
        }
        aa=V;
    while(aa&&aa.parentNode!=X){
        aa=aa.parentNode
        }
        if(aa){
        W=0;
        t=X.firstChild;
        while(t!=aa&&W<Z){
            W++;
            t=t.nextSibling
            }
            if(Z<=W){
            return -1
            }
            return 1
        }
        aa=X;
    while(aa&&aa.parentNode!=V){
        aa=aa.parentNode
        }
        if(aa){
        W=0;
        t=V.firstChild;
        while(t!=aa&&W<Y){
            W++;
            t=t.nextSibling
            }
            if(W<Y){
            return -1
            }
            return 1
        }
        ab=c.findCommonAncestor(X,V);
    ad=X;
    while(ad&&ad.parentNode!=ab){
        ad=ad.parentNode
        }
        if(!ad){
        ad=ab
        }
        ac=V;
    while(ac&&ac.parentNode!=ab){
        ac=ac.parentNode
        }
        if(!ac){
        ac=ab
        }
        if(ad==ac){
        return 0
        }
        t=ab.firstChild;
    while(t){
        if(t==ad){
            return -1
            }
            if(t==ac){
            return 1
            }
            t=t.nextSibling
        }
    }
function B(V,Y,X){
    var t,W;
    if(V){
        N[h]=Y;
        N[U]=X
        }else{
        N[P]=Y;
        N[z]=X
        }
        t=N[P];
    while(t.parentNode){
        t=t.parentNode
        }
        W=N[h];
    while(W.parentNode){
        W=W.parentNode
        }
        if(W==t){
        if(G(N[h],N[U],N[P],N[z])>0){
            N.collapse(V)
            }
        }else{
    N.collapse(V)
    }
    N.collapsed=l();
N.commonAncestorContainer=c.findCommonAncestor(N[h],N[P])
}
function m(ab){
    var aa,X=0,ad=0,V,Z,W,Y,t,ac;
    if(N[h]==N[P]){
        return f(ab)
        }
        for(aa=N[P],V=aa.parentNode;V;aa=V,V=V.parentNode){
        if(V==N[h]){
            return r(aa,ab)
            }
            ++X
        }
        for(aa=N[h],V=aa.parentNode;V;aa=V,V=V.parentNode){
        if(V==N[P]){
            return T(aa,ab)
            }
            ++ad
        }
        Z=ad-X;
    W=N[h];
    while(Z>0){
        W=W.parentNode;
        Z--
    }
    Y=N[P];
    while(Z<0){
        Y=Y.parentNode;
        Z++
    }
    for(t=W.parentNode,ac=Y.parentNode;t!=ac;t=t.parentNode,ac=ac.parentNode){
        W=t;
        Y=ac
        }
        return o(W,Y,ab)
    }
    function f(Z){
    var ab,Y,X,aa,t,W,V;
    if(Z!=j){
        ab=e.createDocumentFragment()
        }
        if(N[U]==N[z]){
        return ab
        }
        if(N[h].nodeType==3){
        Y=N[h].nodeValue;
        X=Y.substring(N[U],N[z]);
        if(Z!=E){
            N[h].deleteData(N[U],N[z]-N[U]);
            N.collapse(D)
            }
            if(Z==j){
            return
        }
        ab.appendChild(e.createTextNode(X));
        return ab
        }
        aa=O(N[h],N[U]);
    t=N[z]-N[U];
    while(t>0){
        W=aa.nextSibling;
        V=y(aa,Z);
        if(ab){
            ab.appendChild(V)
            }
            --t;
        aa=W
        }
        if(Z!=E){
        N.collapse(D)
        }
        return ab
    }
    function r(ab,Y){
    var aa,Z,V,t,X,W;
    if(Y!=j){
        aa=e.createDocumentFragment()
        }
        Z=i(ab,Y);
    if(aa){
        aa.appendChild(Z)
        }
        V=n(ab);
    t=V-N[U];
    if(t<=0){
        if(Y!=E){
            N.setEndBefore(ab);
            N.collapse(R)
            }
            return aa
        }
        Z=ab.previousSibling;
    while(t>0){
        X=Z.previousSibling;
        W=y(Z,Y);
        if(aa){
            aa.insertBefore(W,aa.firstChild)
            }
            --t;
        Z=X
        }
        if(Y!=E){
        N.setEndBefore(ab);
        N.collapse(R)
        }
        return aa
    }
    function T(Z,Y){
    var ab,V,aa,t,X,W;
    if(Y!=j){
        ab=e.createDocumentFragment()
        }
        aa=Q(Z,Y);
    if(ab){
        ab.appendChild(aa)
        }
        V=n(Z);
    ++V;
    t=N[z]-V;
    aa=Z.nextSibling;
    while(t>0){
        X=aa.nextSibling;
        W=y(aa,Y);
        if(ab){
            ab.appendChild(W)
            }
            --t;
        aa=X
        }
        if(Y!=E){
        N.setStartAfter(Z);
        N.collapse(D)
        }
        return ab
    }
    function o(Z,t,ac){
    var W,ae,Y,aa,ab,V,ad,X;
    if(ac!=j){
        ae=e.createDocumentFragment()
        }
        W=Q(Z,ac);
    if(ae){
        ae.appendChild(W)
        }
        Y=Z.parentNode;
    aa=n(Z);
    ab=n(t);
    ++aa;
    V=ab-aa;
    ad=Z.nextSibling;
    while(V>0){
        X=ad.nextSibling;
        W=y(ad,ac);
        if(ae){
            ae.appendChild(W)
            }
            ad=X;
        --V
        }
        W=i(t,ac);
    if(ae){
        ae.appendChild(W)
        }
        if(ac!=E){
        N.setStartAfter(Z);
        N.collapse(D)
        }
        return ae
    }
    function i(aa,ab){
    var W=O(N[P],N[z]-1),ac,Z,Y,t,V,X=W!=N[P];
    if(W==aa){
        return L(W,X,R,ab)
        }
        ac=W.parentNode;
    Z=L(ac,R,R,ab);
    while(ac){
        while(W){
            Y=W.previousSibling;
            t=L(W,X,R,ab);
            if(ab!=j){
                Z.insertBefore(t,Z.firstChild)
                }
                X=D;
            W=Y
            }
            if(ac==aa){
            return Z
            }
            W=ac.previousSibling;
        ac=ac.parentNode;
        V=L(ac,R,R,ab);
        if(ab!=j){
            V.appendChild(Z)
            }
            Z=V
        }
    }
function Q(aa,ab){
    var X=O(N[h],N[U]),Y=X!=N[h],ac,Z,W,t,V;
    if(X==aa){
        return L(X,Y,D,ab)
        }
        ac=X.parentNode;
    Z=L(ac,R,D,ab);
    while(ac){
        while(X){
            W=X.nextSibling;
            t=L(X,Y,D,ab);
            if(ab!=j){
                Z.appendChild(t)
                }
                Y=D;
            X=W
            }
            if(ac==aa){
            return Z
            }
            X=ac.nextSibling;
        ac=ac.parentNode;
        V=L(ac,R,D,ab);
        if(ab!=j){
            V.appendChild(Z)
            }
            Z=V
        }
    }
function L(t,Y,ab,ac){
    var X,W,Z,V,aa;
    if(Y){
        return y(t,ac)
        }
        if(t.nodeType==3){
        X=t.nodeValue;
        if(ab){
            V=N[U];
            W=X.substring(V);
            Z=X.substring(0,V)
            }else{
            V=N[z];
            W=X.substring(0,V);
            Z=X.substring(V)
            }
            if(ac!=E){
            t.nodeValue=Z
            }
            if(ac==j){
            return
        }
        aa=t.cloneNode(R);
        aa.nodeValue=W;
        return aa
        }
        if(ac==j){
        return
    }
    return t.cloneNode(R)
    }
    function y(V,t){
    if(t!=j){
        return t==E?V.cloneNode(D):V
        }
        V.parentNode.removeChild(V)
    }
}
a.Range=b
})(tinymce.dom);
(function(){
    function a(g){
        var i=this,j="\uFEFF",e,h,d=g.dom,c=true,f=false;
        function b(){
            var n=g.getRng(),k=d.createRng(),m,o;
            m=n.item?n.item(0):n.parentElement();
            if(m.ownerDocument!=d.doc){
                return k
                }
                if(n.item||!m.hasChildNodes()){
                k.setStart(m.parentNode,d.nodeIndex(m));
                k.setEnd(k.startContainer,k.startOffset+1);
                return k
                }
                o=g.isCollapsed();
            function l(s){
                var u,q,t,p,A=0,x,y,z,r,v;
                r=n.duplicate();
                r.collapse(s);
                u=d.create("a");
                z=r.parentElement();
                z.appendChild(u);
                r.moveToElementText(u);
                v=n.compareEndPoints(s?"StartToStart":"EndToEnd",r);
                if(v>0){
                    k[s?"setStartAfter":"setEndAfter"](z);
                    d.remove(u);
                    return
                }
                p=tinymce.grep(z.childNodes);
                x=p.length-1;
                while(A<=x){
                    y=Math.floor((A+x)/2);
                    z.insertBefore(u,p[y]);
                    r.moveToElementText(u);
                    v=n.compareEndPoints(s?"StartToStart":"EndToEnd",r);
                    if(v>0){
                        A=y+1
                        }else{
                        if(v<0){
                            x=y-1
                            }else{
                            found=true;
                            break
                        }
                    }
                }
            q=v>0||y==0?u.nextSibling:u.previousSibling;
        if(q.nodeType==1){
            d.remove(u);
            t=d.nodeIndex(q);
            q=q.parentNode;
            if(!s||y>0){
                t++
            }
        }else{
        if(v>0||y==0){
            r.setEndPoint(s?"StartToStart":"EndToEnd",n);
            t=r.text.length
            }else{
            r.setEndPoint(s?"StartToStart":"EndToEnd",n);
            t=q.nodeValue.length-r.text.length
            }
            d.remove(u)
        }
        k[s?"setStart":"setEnd"](q,t)
    }
    l(true);
    if(!o){
    l()
    }
    return k
}
this.addRange=function(l){
    var t,A,z=g.dom.doc,r=z.body,u,n,y,o,s,k,p,q,x,m;
    this.destroy();
    y=l.startContainer;
    o=l.startOffset;
    s=l.endContainer;
    k=l.endOffset;
    t=r.createTextRange();
    if(y==z||s==z){
        t=r.createTextRange();
        t.collapse();
        t.select();
        return
    }
    if(y.nodeType==1&&y.hasChildNodes()){
        q=y.childNodes.length-1;
        if(o>q){
            x=1;
            y=y.childNodes[q]
            }else{
            y=y.childNodes[o]
            }
            if(y.nodeType==3){
            o=0
            }
        }
    if(s.nodeType==1&&s.hasChildNodes()){
    q=s.childNodes.length-1;
    if(k==0){
        m=1;
        s=s.childNodes[0]
        }else{
        s=s.childNodes[Math.min(q,k-1)];
        if(s.nodeType==3){
            k=s.nodeValue.length
            }
        }
}
if(y==s&&y.nodeType==1){
    if(/^(IMG|TABLE)$/.test(y.nodeName)&&o!=k){
        t=r.createControlRange();
        t.addElement(y)
        }else{
        t=r.createTextRange();
        if(!y.hasChildNodes()&&y.canHaveHTML){
            y.innerHTML=j
            }
            t.moveToElementText(y);
        if(y.innerHTML==j){
            t.collapse(c);
            y.removeChild(y.firstChild)
            }
        }
    if(o==k){
    t.collapse(k<=l.endContainer.childNodes.length-1)
    }
    t.select();
t.scrollIntoView();
return
}
t=r.createTextRange();
p=z.createElement("span");
p.innerHTML=" ";
if(y.nodeType==3){
    if(x){
        d.insertAfter(p,y)
        }else{
        y.parentNode.insertBefore(p,y)
        }
        t.moveToElementText(p);
    p.parentNode.removeChild(p);
    t.move("character",o)
    }else{
    t.moveToElementText(y);
    if(x){
        t.collapse(f)
        }
    }
if(y==s&&y.nodeType==3){
    try{
        t.moveEnd("character",k-o);
        t.select();
        t.scrollIntoView()
        }catch(v){}
    return
}
A=r.createTextRange();
if(s.nodeType==3){
    s.parentNode.insertBefore(p,s);
    A.moveToElementText(p);
    p.parentNode.removeChild(p);
    A.move("character",k);
    t.setEndPoint("EndToStart",A)
    }else{
    A.moveToElementText(s);
    A.collapse(!!m);
    t.setEndPoint("EndToEnd",A)
    }
    t.select();
t.scrollIntoView()
};

this.getRangeAt=function(){
    if(!e||!tinymce.dom.RangeUtils.compareRanges(h,g.getRng())){
        e=b();
        h=g.getRng()
        }
        try{
        e.startContainer.nextSibling
        }catch(k){
        e=b();
        h=null
        }
        return e
    };

this.destroy=function(){
    h=e=null
    };

if(g.dom.boxModel){
    (function(){
        var q=d.doc,l=q.body,n,o;
        q.documentElement.unselectable=c;
        function p(r,u){
            var s=l.createTextRange();
            try{
                s.moveToPoint(r,u)
                }catch(t){
                s=null
                }
                return s
            }
            function m(s){
            var r;
            if(s.button){
                r=p(s.x,s.y);
                if(r){
                    if(r.compareEndPoints("StartToStart",o)>0){
                        r.setEndPoint("StartToStart",o)
                        }else{
                        r.setEndPoint("EndToEnd",o)
                        }
                        r.select()
                    }
                }else{
            k()
            }
        }
    function k(){
        d.unbind(q,"mouseup",k);
        d.unbind(q,"mousemove",m);
        n=0
        }
        d.bind(q,"mousedown",function(r){
        if(r.target.nodeName==="HTML"){
            if(n){
                k()
                }
                n=1;
            o=p(r.x,r.y);
            if(o){
                d.bind(q,"mouseup",k);
                d.bind(q,"mousemove",m);
                o.select()
                }
            }
    })
})()
}
}
tinymce.dom.TridentSelection=a
})();
(function(d){
    var f=d.each,c=d.DOM,b=d.isIE,e=d.isWebKit,a;
    d.create("tinymce.dom.EventUtils",{
        EventUtils:function(){
            this.inits=[];
            this.events=[]
            },
        add:function(m,p,l,j){
            var g,h=this,i=h.events,k;
            if(p instanceof Array){
                k=[];
                f(p,function(o){
                    k.push(h.add(m,o,l,j))
                    });
                return k
                }
                if(m&&m.hasOwnProperty&&m instanceof Array){
                k=[];
                f(m,function(n){
                    n=c.get(n);
                    k.push(h.add(n,p,l,j))
                    });
                return k
                }
                m=c.get(m);
            if(!m){
                return
            }
            g=function(n){
                if(h.disabled){
                    return
                }
                n=n||window.event;
                if(n&&b){
                    if(!n.target){
                        n.target=n.srcElement
                        }
                        d.extend(n,h._stoppers)
                    }
                    if(!j){
                    return l(n)
                    }
                    return l.call(j,n)
                };

            if(p=="unload"){
                d.unloads.unshift({
                    func:g
                });
                return g
                }
                if(p=="init"){
                if(h.domLoaded){
                    g()
                    }else{
                    h.inits.push(g)
                    }
                    return g
                }
                i.push({
                obj:m,
                name:p,
                func:l,
                cfunc:g,
                scope:j
            });
            h._add(m,p,g);
            return l
            },
        remove:function(l,m,k){
            var h=this,g=h.events,i=false,j;
            if(l&&l.hasOwnProperty&&l instanceof Array){
                j=[];
                f(l,function(n){
                    n=c.get(n);
                    j.push(h.remove(n,m,k))
                    });
                return j
                }
                l=c.get(l);
            f(g,function(o,n){
                if(o.obj==l&&o.name==m&&(!k||(o.func==k||o.cfunc==k))){
                    g.splice(n,1);
                    h._remove(l,m,o.cfunc);
                    i=true;
                    return false
                    }
                });
        return i
        },
    clear:function(l){
        var j=this,g=j.events,h,k;
        if(l){
            l=c.get(l);
            for(h=g.length-1;h>=0;h--){
                k=g[h];
                if(k.obj===l){
                    j._remove(k.obj,k.name,k.cfunc);
                    k.obj=k.cfunc=null;
                    g.splice(h,1)
                    }
                }
            }
    },
cancel:function(g){
    if(!g){
        return false
        }
        this.stop(g);
    return this.prevent(g)
    },
stop:function(g){
    if(g.stopPropagation){
        g.stopPropagation()
        }else{
        g.cancelBubble=true
        }
        return false
    },
prevent:function(g){
    if(g.preventDefault){
        g.preventDefault()
        }else{
        g.returnValue=false
        }
        return false
    },
destroy:function(){
    var g=this;
    f(g.events,function(j,h){
        g._remove(j.obj,j.name,j.cfunc);
        j.obj=j.cfunc=null
        });
    g.events=[];
    g=null
    },
_add:function(h,i,g){
    if(h.attachEvent){
        h.attachEvent("on"+i,g)
        }else{
        if(h.addEventListener){
            h.addEventListener(i,g,false)
            }else{
            h["on"+i]=g
            }
        }
},
_remove:function(i,j,h){
    if(i){
        try{
            if(i.detachEvent){
                i.detachEvent("on"+j,h)
                }else{
                if(i.removeEventListener){
                    i.removeEventListener(j,h,false)
                    }else{
                    i["on"+j]=null
                    }
                }
        }catch(g){}
}
},
_pageInit:function(h){
    var g=this;
    if(g.domLoaded){
        return
    }
    g.domLoaded=true;
    f(g.inits,function(i){
        i()
        });
    g.inits=[]
    },
_wait:function(i){
    var g=this,h=i.document;
    if(i.tinyMCE_GZ&&tinyMCE_GZ.loaded){
        g.domLoaded=1;
        return
    }
    if(h.attachEvent){
        h.attachEvent("onreadystatechange",function(){
            if(h.readyState==="complete"){
                h.detachEvent("onreadystatechange",arguments.callee);
                g._pageInit(i)
                }
            });
    if(h.documentElement.doScroll&&i==i.top){
        (function(){
            if(g.domLoaded){
                return
            }
            try{
                h.documentElement.doScroll("left")
                }catch(j){
                setTimeout(arguments.callee,0);
                return
            }
            g._pageInit(i)
            })()
        }
    }else{
    if(h.addEventListener){
        g._add(i,"DOMContentLoaded",function(){
            g._pageInit(i)
            })
        }
    }
g._add(i,"load",function(){
    g._pageInit(i)
    })
},
_stoppers:{
    preventDefault:function(){
        this.returnValue=false
        },
    stopPropagation:function(){
        this.cancelBubble=true
        }
    }
});
a=d.dom.Event=new d.dom.EventUtils();
a._wait(window);
d.addUnload(function(){
    a.destroy()
    })
})(tinymce);
(function(a){
    a.dom.Element=function(f,d){
        var b=this,e,c;
        b.settings=d=d||{};

        b.id=f;
        b.dom=e=d.dom||a.DOM;
        if(!a.isIE){
            c=e.get(b.id)
            }
            a.each(("getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get").split(/,/),function(g){
            b[g]=function(){
                var h=[f],j;
                for(j=0;j<arguments.length;j++){
                    h.push(arguments[j])
                    }
                    h=e[g].apply(e,h);
                b.update(g);
                return h
                }
            });
    a.extend(b,{
        on:function(i,h,g){
            return a.dom.Event.add(b.id,i,h,g)
            },
        getXY:function(){
            return{
                x:parseInt(b.getStyle("left")),
                y:parseInt(b.getStyle("top"))
                }
            },
    getSize:function(){
        var g=e.get(b.id);
        return{
            w:parseInt(b.getStyle("width")||g.clientWidth),
            h:parseInt(b.getStyle("height")||g.clientHeight)
            }
        },
    moveTo:function(g,h){
        b.setStyles({
            left:g,
            top:h
        })
        },
    moveBy:function(g,i){
        var h=b.getXY();
        b.moveTo(h.x+g,h.y+i)
        },
    resizeTo:function(g,i){
        b.setStyles({
            width:g,
            height:i
        })
        },
    resizeBy:function(g,j){
        var i=b.getSize();
        b.resizeTo(i.w+g,i.h+j)
        },
    update:function(h){
        var g;
        if(a.isIE6&&d.blocker){
            h=h||"";
            if(h.indexOf("get")===0||h.indexOf("has")===0||h.indexOf("is")===0){
                return
            }
            if(h=="remove"){
                e.remove(b.blocker);
                return
            }
            if(!b.blocker){
                b.blocker=e.uniqueId();
                g=e.add(d.container||e.getRoot(),"iframe",{
                    id:b.blocker,
                    style:"position:absolute;",
                    frameBorder:0,
                    src:'javascript:""'
                });
                e.setStyle(g,"opacity",0)
                }else{
                g=e.get(b.blocker)
                }
                e.setStyles(g,{
                left:b.getStyle("left",1),
                top:b.getStyle("top",1),
                width:b.getStyle("width", 1),
                height:b.getStyle("height", 1),
                display:b.getStyle("display",1),
                zIndex:parseInt(b.getStyle("zIndex",1)||0)-1
                })
            }
        }
})
}
})(tinymce);
(function(c){
    function e(f){
        return f.replace(/[\n\r]+/g,"")
        }
        var b=c.is,a=c.isIE,d=c.each;
    c.create("tinymce.dom.Selection",{
        Selection:function(i,h,g){
            var f=this;
            f.dom=i;
            f.win=h;
            f.serializer=g;
            d(["onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent"],function(j){
                f[j]=new c.util.Dispatcher(f)
                });
            if(!f.win.getSelection){
                f.tridentSel=new c.dom.TridentSelection(f)
                }
                c.addUnload(f.destroy,f)
            },
        getContent:function(g){
            var f=this,h=f.getRng(),l=f.dom.create("body"),j=f.getSel(),i,k,m;
            g=g||{};

            i=k="";
            g.get=true;
            g.format=g.format||"html";
            f.onBeforeGetContent.dispatch(f,g);
            if(g.format=="text"){
                return f.isCollapsed()?"":(h.text||(j.toString?j.toString():""))
                }
                if(h.cloneContents){
                m=h.cloneContents();
                if(m){
                    l.appendChild(m)
                    }
                }else{
            if(b(h.item)||b(h.htmlText)){
                l.innerHTML=h.item?h.item(0).outerHTML:h.htmlText
                }else{
                l.innerHTML=h.toString()
                }
            }
        if(/^\s/.test(l.innerHTML)){
        i=" "
        }
        if(/\s+$/.test(l.innerHTML)){
        k=" "
        }
        g.getInner=true;
    g.content=f.isCollapsed()?"":i+f.serializer.serialize(l,g)+k;
        f.onGetContent.dispatch(f,g);
        return g.content
        },
    setContent:function(i,g){
        var f=this,j=f.getRng(),l,k=f.win.document;
        g=g||{
            format:"html"
        };

        g.set=true;
        i=g.content=f.dom.processHTML(i);
        f.onBeforeSetContent.dispatch(f,g);
        i=g.content;
        if(j.insertNode){
            i+='<span id="__caret">_</span>';
            if(j.startContainer==k&&j.endContainer==k){
                k.body.innerHTML=i
                }else{
                j.deleteContents();
                if(k.body.childNodes.length==0){
                    k.body.innerHTML=i
                    }else{
                    j.insertNode(j.createContextualFragment(i))
                    }
                }
            l=f.dom.get("__caret");
        j=k.createRange();
        j.setStartBefore(l);
        j.setEndBefore(l);
        f.setRng(j);
        f.dom.remove("__caret")
        }else{
        if(j.item){
            k.execCommand("Delete",false,null);
            j=f.getRng()
            }
            j.pasteHTML(i)
        }
        f.onSetContent.dispatch(f,g)
    },
getStart:function(){
    var f=this,g=f.getRng(),h;
    if(g.duplicate||g.item){
        if(g.item){
            return g.item(0)
            }
            g=g.duplicate();
        g.collapse(1);
        h=g.parentElement();
        if(h&&h.nodeName=="BODY"){
            return h.firstChild||h
            }
            return h
        }else{
        h=g.startContainer;
        if(h.nodeType==1&&h.hasChildNodes()){
            h=h.childNodes[Math.min(h.childNodes.length-1,g.startOffset)]
            }
            if(h&&h.nodeType==3){
            return h.parentNode
            }
            return h
        }
    },
getEnd:function(){
    var g=this,h=g.getRng(),i,f;
    if(h.duplicate||h.item){
        if(h.item){
            return h.item(0)
            }
            h=h.duplicate();
        h.collapse(0);
        i=h.parentElement();
        if(i&&i.nodeName=="BODY"){
            return i.lastChild||i
            }
            return i
        }else{
        i=h.endContainer;
        f=h.endOffset;
        if(i.nodeType==1&&i.hasChildNodes()){
            i=i.childNodes[f>0?f-1:f]
            }
            if(i&&i.nodeType==3){
            return i.parentNode
            }
            return i
        }
    },
getBookmark:function(q,r){
    var u=this,m=u.dom,g,j,i,n,h,o,p,l="\uFEFF",s;
    function f(v,x){
        var t=0;
        d(m.select(v),function(z,y){
            if(z==x){
                t=y
                }
            });
    return t
    }
    if(q==2){
    function k(){
        var v=u.getRng(true),t=m.getRoot(),x={};

        function y(B,G){
            var A=B[G?"startContainer":"endContainer"],F=B[G?"startOffset":"endOffset"],z=[],C,E,D=0;
            if(A.nodeType==3){
                if(r){
                    for(C=A.previousSibling;C&&C.nodeType==3;C=C.previousSibling){
                        F+=C.nodeValue.length
                        }
                    }
                    z.push(F)
            }else{
            E=A.childNodes;
            if(F>=E.length&&E.length){
                D=1;
                F=Math.max(0,E.length-1)
                }
                z.push(u.dom.nodeIndex(E[F],r)+D)
            }
            for(;A&&A!=t;A=A.parentNode){
            z.push(u.dom.nodeIndex(A,r))
            }
            return z
        }
        x.start=y(v,true);
    if(!u.isCollapsed()){
        x.end=y(v)
        }
        return x
    }
    return k()
}
if(q){
    return{
        rng:u.getRng()
        }
    }
g=u.getRng();
i=m.uniqueId();
n=tinyMCE.activeEditor.selection.isCollapsed();
s="overflow:hidden;line-height:0px";
if(g.duplicate||g.item){
    if(!g.item){
        j=g.duplicate();
        g.collapse();
        g.pasteHTML('<span _mce_type="bookmark" id="'+i+'_start" style="'+s+'">'+l+"</span>");
        if(!n){
            j.collapse(false);
            j.pasteHTML('<span _mce_type="bookmark" id="'+i+'_end" style="'+s+'">'+l+"</span>")
            }
        }else{
    o=g.item(0);
    h=o.nodeName;
    return{
        name:h,
        index:f(h,o)
        }
    }
}else{
    o=u.getNode();
    h=o.nodeName;
    if(h=="IMG"){
        return{
            name:h,
            index:f(h,o)
            }
        }
    j=g.cloneRange();
if(!n){
    j.collapse(false);
    j.insertNode(m.create("span",{
        _mce_type:"bookmark",
        id:i+"_end",
        style:s
    },l))
    }
    g.collapse(true);
g.insertNode(m.create("span",{
    _mce_type:"bookmark",
    id:i+"_start",
    style:s
},l))
}
u.moveToBookmark({
    id:i,
    keep:1
});
return{
    id:i
}
},
moveToBookmark:function(m){
    var q=this,l=q.dom,i,h,f,p,j,r,n,o;
    if(q.tridentSel){
        q.tridentSel.destroy()
        }
        if(m){
        if(m.start){
            f=l.createRng();
            p=l.getRoot();
            function g(x){
                var s=m[x?"start":"end"],t,u,v;
                if(s){
                    for(u=p,t=s.length-1;t>=1;t--){
                        u=u.childNodes[s[t]]
                        }
                        if(x){
                        f.setStart(u,s[0])
                        }else{
                        f.setEnd(u,s[0])
                        }
                    }
            }
        g(true);
    g();
    q.setRng(f)
    }else{
    if(m.id){
        function k(z){
            var t=l.get(m.id+"_"+z),y,s,v,x,u=m.keep;
            if(t){
                y=t.parentNode;
                if(z=="start"){
                    if(!u){
                        s=l.nodeIndex(t)
                        }else{
                        y=t;
                        s=1
                        }
                        j=r=y;
                    n=o=s
                    }else{
                    if(!u){
                        s=l.nodeIndex(t)
                        }else{
                        y=t;
                        s=1
                        }
                        r=y;
                    o=s
                    }
                    if(!u){
                    x=t.previousSibling;
                    v=t.nextSibling;
                    d(c.grep(t.childNodes),function(A){
                        if(A.nodeType==3){
                            A.nodeValue=A.nodeValue.replace(/\uFEFF/g,"")
                            }
                        });
                while(t=l.get(m.id+"_"+z)){
                    l.remove(t,1)
                    }
                    if(x&&v&&x.nodeType==v.nodeType&&x.nodeType==3){
                    s=x.nodeValue.length;
                    x.appendData(v.nodeValue);
                    l.remove(v);
                    if(z=="start"){
                        j=r=x;
                        n=o=s
                        }else{
                        r=x;
                        o=s
                        }
                    }
            }
    }
}
k("start");
k("end");
f=l.createRng();
f.setStart(j,n);
f.setEnd(r,o);
q.setRng(f)
}else{
    if(m.name){
        q.select(l.select(m.name)[m.index])
        }else{
        if(m.rng){
            q.setRng(m.rng)
            }
        }
}
}
}
},
select:function(k,j){
    var i=this,l=i.dom,g=l.createRng(),f;
    f=l.nodeIndex(k);
    g.setStart(k.parentNode,f);
    g.setEnd(k.parentNode,f+1);
    if(j){
        function h(m,o){
            var n=new c.dom.TreeWalker(m,m);
            do{
                if(m.nodeType==3&&c.trim(m.nodeValue).length!=0){
                    if(o){
                        g.setStart(m,0)
                        }else{
                        g.setEnd(m,m.nodeValue.length)
                        }
                        return
                }
                if(m.nodeName=="BR"){
                    if(o){
                        g.setStartBefore(m)
                        }else{
                        g.setEndBefore(m)
                        }
                        return
                }
            }while(m=(o?n.next():n.prev()))
    }
    h(k,1);
    h(k)
    }
    i.setRng(g);
return k
},
isCollapsed:function(){
    var f=this,h=f.getRng(),g=f.getSel();
    if(!h||h.item){
        return false
        }
        if(h.compareEndPoints){
        return h.compareEndPoints("StartToEnd",h)===0
        }
        return !g||h.collapsed
    },
collapse:function(f){
    var g=this,h=g.getRng(),i;
    if(h.item){
        i=h.item(0);
        h=this.win.document.body.createTextRange();
        h.moveToElementText(i)
        }
        h.collapse(!!f);
    g.setRng(h)
    },
getSel:function(){
    var g=this,f=this.win;
    return f.getSelection?f.getSelection():f.document.selection
    },
getRng:function(j){
    var g=this,h,i;
    if(j&&g.tridentSel){
        return g.tridentSel.getRangeAt(0)
        }
        try{
        if(h=g.getSel()){
            i=h.rangeCount>0?h.getRangeAt(0):(h.createRange?h.createRange():g.win.document.createRange())
            }
        }catch(f){}
if(!i){
    i=g.win.document.createRange?g.win.document.createRange():g.win.document.body.createTextRange()
    }
    if(g.selectedRange&&g.explicitRange){
    if(i.compareBoundaryPoints(i.START_TO_START,g.selectedRange)===0&&i.compareBoundaryPoints(i.END_TO_END,g.selectedRange)===0){
        i=g.explicitRange
        }else{
        g.selectedRange=null;
        g.explicitRange=null
        }
    }
return i
},
setRng:function(i){
    var h,g=this;
    if(!g.tridentSel){
        h=g.getSel();
        if(h){
            g.explicitRange=i;
            h.removeAllRanges();
            h.addRange(i);
            g.selectedRange=h.getRangeAt(0)
            }
        }else{
    if(i.cloneRange){
        g.tridentSel.addRange(i);
        return
    }
    try{
        i.select()
        }catch(f){}
}
},
setNode:function(g){
    var f=this;
    f.setContent(f.dom.getOuterHTML(g));
    return g
    },
getNode:function(){
    var g=this,f=g.getRng(),h=g.getSel(),i;
    if(f.setStart){
        if(!f){
            return g.dom.getRoot()
            }
            i=f.commonAncestorContainer;
        if(!f.collapsed){
            if(f.startContainer==f.endContainer){
                if(f.startOffset-f.endOffset<2){
                    if(f.startContainer.hasChildNodes()){
                        i=f.startContainer.childNodes[f.startOffset]
                        }
                    }
            }
        if(c.isWebKit&&h.anchorNode&&h.anchorNode.nodeType==1){
        return h.anchorNode.childNodes[h.anchorOffset]
        }
    }
if(i&&i.nodeType==3){
    return i.parentNode
    }
    return i
}
return f.item?f.item(0):f.parentElement()
},
getSelectedBlocks:function(g,f){
    var i=this,j=i.dom,m,h,l,k=[];
    m=j.getParent(g||i.getStart(),j.isBlock);
    h=j.getParent(f||i.getEnd(),j.isBlock);
    if(m){
        k.push(m)
        }
        if(m&&h&&m!=h){
        l=m;
        while((l=l.nextSibling)&&l!=h){
            if(j.isBlock(l)){
                k.push(l)
                }
            }
    }
if(h&&m!=h){
    k.push(h)
    }
    return k
},
destroy:function(g){
    var f=this;
    f.win=null;
    if(f.tridentSel){
        f.tridentSel.destroy()
        }
        if(!g){
        c.removeUnload(f.destroy)
        }
    }
})
})(tinymce);
(function(a){
    a.create("tinymce.dom.XMLWriter",{
        node:null,
        XMLWriter:function(c){
            function b(){
                var e=document.implementation;
                if(!e||!e.createDocument){
                    try{
                        return new ActiveXObject("MSXML2.DOMDocument")
                        }catch(d){}
                    try{
                        return new ActiveXObject("Microsoft.XmlDom")
                        }catch(d){}
                }else{
                return e.createDocument("","",null)
                }
            }
        this.doc=b();
        this.valid=a.isOpera||a.isWebKit;
        this.reset()
        },
    reset:function(){
        var b=this,c=b.doc;
        if(c.firstChild){
            c.removeChild(c.firstChild)
            }
            b.node=c.appendChild(c.createElement("html"))
        },
    writeStartElement:function(c){
        var b=this;
        b.node=b.node.appendChild(b.doc.createElement(c))
        },
    writeAttribute:function(c,b){
        if(this.valid){
            b=b.replace(/>/g,"%MCGT%")
            }
            this.node.setAttribute(c,b)
        },
    writeEndElement:function(){
        this.node=this.node.parentNode
        },
    writeFullEndElement:function(){
        var b=this,c=b.node;
        c.appendChild(b.doc.createTextNode(""));
        b.node=c.parentNode
        },
    writeText:function(b){
        if(this.valid){
            b=b.replace(/>/g,"%MCGT%")
            }
            this.node.appendChild(this.doc.createTextNode(b))
        },
    writeCDATA:function(b){
        this.node.appendChild(this.doc.createCDATASection(b))
        },
    writeComment:function(b){
        if(a.isIE){
            b=b.replace(/^\-|\-$/g," ")
            }
            this.node.appendChild(this.doc.createComment(b.replace(/\-\-/g," ")))
        },
    getContent:function(){
        var b;
        b=this.doc.xml||new XMLSerializer().serializeToString(this.doc);
        b=b.replace(/<\?[^?]+\?>|<html>|<\/html>|<html\/>|<!DOCTYPE[^>]+>/g,"");
        b=b.replace(/ ?\/>/g," />");
        if(this.valid){
            b=b.replace(/\%MCGT%/g,"&gt;")
            }
            return b
        }
    })
})(tinymce);
(function(a){
    a.create("tinymce.dom.StringWriter",{
        str:null,
        tags:null,
        count:0,
        settings:null,
        indent:null,
        StringWriter:function(b){
            this.settings=a.extend({
                indent_char:" ",
                indentation:0
            },b);
            this.reset()
            },
        reset:function(){
            this.indent="";
            this.str="";
            this.tags=[];
            this.count=0
            },
        writeStartElement:function(b){
            this._writeAttributesEnd();
            this.writeRaw("<"+b);
            this.tags.push(b);
            this.inAttr=true;
            this.count++;
            this.elementCount=this.count
            },
        writeAttribute:function(d,b){
            var c=this;
            c.writeRaw(" "+c.encode(d)+'="'+c.encode(b)+'"')
            },
        writeEndElement:function(){
            var b;
            if(this.tags.length>0){
                b=this.tags.pop();
                if(this._writeAttributesEnd(1)){
                    this.writeRaw("</"+b+">")
                    }
                    if(this.settings.indentation>0){
                    this.writeRaw("\n")
                    }
                }
        },
    writeFullEndElement:function(){
        if(this.tags.length>0){
            this._writeAttributesEnd();
            this.writeRaw("</"+this.tags.pop()+">");
            if(this.settings.indentation>0){
                this.writeRaw("\n")
                }
            }
    },
writeText:function(b){
    this._writeAttributesEnd();
    this.writeRaw(this.encode(b));
    this.count++
},
writeCDATA:function(b){
    this._writeAttributesEnd();
    this.writeRaw("<![CDATA["+b+"]]>");
    this.count++
},
writeComment:function(b){
    this._writeAttributesEnd();
    this.writeRaw("<!-- "+b+"-->");
    this.count++
},
writeRaw:function(b){
    this.str+=b
    },
encode:function(b){
    return b.replace(/[<>&"]/g,function(c){
        switch(c){
            case"<":
                return"&lt;";
            case">":
                return"&gt;";
            case"&":
                return"&amp;";
            case'"':
                return"&quot;"
                }
                return c
        })
    },
getContent:function(){
    return this.str
    },
_writeAttributesEnd:function(b){
    if(!this.inAttr){
        return
    }
    this.inAttr=false;
    if(b&&this.elementCount==this.count){
        this.writeRaw(" />");
        return false
        }
        this.writeRaw(">");
    return true
    }
})
})(tinymce);
(function(e){
    var g=e.extend,f=e.each,b=e.util.Dispatcher,d=e.isIE,a=e.isGecko;
    function c(h){
        return h.replace(/([?+*])/g,".$1")
        }
        e.create("tinymce.dom.Serializer",{
        Serializer:function(j){
            var i=this;
            i.key=0;
            i.onPreProcess=new b(i);
            i.onPostProcess=new b(i);
            try{
                i.writer=new e.dom.XMLWriter()
                }catch(h){
                i.writer=new e.dom.StringWriter()
                }
                i.settings=j=g({
                dom:e.DOM,
                valid_nodes:0,
                node_filter:0,
                attr_filter:0,
                invalid_attrs:/^(_mce_|_moz_|sizset|sizcache)/,
                closed:/^(br|hr|input|meta|img|link|param|area)$/,
                entity_encoding:"named",
                entities:"160,nbsp,161,iexcl,162,cent,163,pound,164,curren,165,yen,166,brvbar,167,sect,168,uml,169,copy,170,ordf,171,laquo,172,not,173,shy,174,reg,175,macr,176,deg,177,plusmn,178,sup2,179,sup3,180,acute,181,micro,182,para,183,middot,184,cedil,185,sup1,186,ordm,187,raquo,188,frac14,189,frac12,190,frac34,191,iquest,192,Agrave,193,Aacute,194,Acirc,195,Atilde,196,Auml,197,Aring,198,AElig,199,Ccedil,200,Egrave,201,Eacute,202,Ecirc,203,Euml,204,Igrave,205,Iacute,206,Icirc,207,Iuml,208,ETH,209,Ntilde,210,Ograve,211,Oacute,212,Ocirc,213,Otilde,214,Ouml,215,times,216,Oslash,217,Ugrave,218,Uacute,219,Ucirc,220,Uuml,221,Yacute,222,THORN,223,szlig,224,agrave,225,aacute,226,acirc,227,atilde,228,auml,229,aring,230,aelig,231,ccedil,232,egrave,233,eacute,234,ecirc,235,euml,236,igrave,237,iacute,238,icirc,239,iuml,240,eth,241,ntilde,242,ograve,243,oacute,244,ocirc,245,otilde,246,ouml,247,divide,248,oslash,249,ugrave,250,uacute,251,ucirc,252,uuml,253,yacute,254,thorn,255,yuml,402,fnof,913,Alpha,914,Beta,915,Gamma,916,Delta,917,Epsilon,918,Zeta,919,Eta,920,Theta,921,Iota,922,Kappa,923,Lambda,924,Mu,925,Nu,926,Xi,927,Omicron,928,Pi,929,Rho,931,Sigma,932,Tau,933,Upsilon,934,Phi,935,Chi,936,Psi,937,Omega,945,alpha,946,beta,947,gamma,948,delta,949,epsilon,950,zeta,951,eta,952,theta,953,iota,954,kappa,955,lambda,956,mu,957,nu,958,xi,959,omicron,960,pi,961,rho,962,sigmaf,963,sigma,964,tau,965,upsilon,966,phi,967,chi,968,psi,969,omega,977,thetasym,978,upsih,982,piv,8226,bull,8230,hellip,8242,prime,8243,Prime,8254,oline,8260,frasl,8472,weierp,8465,image,8476,real,8482,trade,8501,alefsym,8592,larr,8593,uarr,8594,rarr,8595,darr,8596,harr,8629,crarr,8656,lArr,8657,uArr,8658,rArr,8659,dArr,8660,hArr,8704,forall,8706,part,8707,exist,8709,empty,8711,nabla,8712,isin,8713,notin,8715,ni,8719,prod,8721,sum,8722,minus,8727,lowast,8730,radic,8733,prop,8734,infin,8736,ang,8743,and,8744,or,8745,cap,8746,cup,8747,int,8756,there4,8764,sim,8773,cong,8776,asymp,8800,ne,8801,equiv,8804,le,8805,ge,8834,sub,8835,sup,8836,nsub,8838,sube,8839,supe,8853,oplus,8855,otimes,8869,perp,8901,sdot,8968,lceil,8969,rceil,8970,lfloor,8971,rfloor,9001,lang,9002,rang,9674,loz,9824,spades,9827,clubs,9829,hearts,9830,diams,338,OElig,339,oelig,352,Scaron,353,scaron,376,Yuml,710,circ,732,tilde,8194,ensp,8195,emsp,8201,thinsp,8204,zwnj,8205,zwj,8206,lrm,8207,rlm,8211,ndash,8212,mdash,8216,lsquo,8217,rsquo,8218,sbquo,8220,ldquo,8221,rdquo,8222,bdquo,8224,dagger,8225,Dagger,8240,permil,8249,lsaquo,8250,rsaquo,8364,euro",
                valid_elements:"*[*]",
                extended_valid_elements:0,
                invalid_elements:0,
                fix_table_elements:1,
                fix_list_elements:true,
                fix_content_duplication:true,
                convert_fonts_to_spans:false,
                font_size_classes:0,
                apply_source_formatting:0,
                indent_mode:"simple",
                indent_char:"\t",
                indent_levels:1,
                remove_linebreaks:1,
                remove_redundant_brs:1,
                element_format:"xhtml"
            },j);
            i.dom=j.dom;
            i.schema=j.schema;
            if(j.entity_encoding=="named"&&!j.entities){
                j.entity_encoding="raw"
                }
                if(j.remove_redundant_brs){
                i.onPostProcess.add(function(k,l){
                    l.content=l.content.replace(/(<br \/>\s*)+<\/(p|h[1-6]|div|li)>/gi,function(n,m,o){
                        if(/^<br \/>\s*<\//.test(n)){
                            return"</"+o+">"
                            }
                            return n
                        })
                    })
                }
                if(j.element_format=="html"){
                i.onPostProcess.add(function(k,l){
                    l.content=l.content.replace(/<([^>]+) \/>/g,"<$1>")
                    })
                }
                if(j.fix_list_elements){
                i.onPreProcess.add(function(v,s){
                    var l,z,y=["ol","ul"],u,t,q,k=/^(OL|UL)$/,A;
                    function m(r,x){
                        var o=x.split(","),p;
                        while((r=r.previousSibling)!=null){
                            for(p=0;p<o.length;p++){
                                if(r.nodeName==o[p]){
                                    return r
                                    }
                                }
                            }
                        return null
                }
                for(z=0;z<y.length;z++){
                    l=i.dom.select(y[z],s.node);
                    for(u=0;u<l.length;u++){
                        t=l[u];
                        q=t.parentNode;
                        if(k.test(q.nodeName)){
                            A=m(t,"LI");
                            if(!A){
                                A=i.dom.create("li");
                                A.innerHTML="&nbsp;";
                                A.appendChild(t);
                                q.insertBefore(A,q.firstChild)
                                }else{
                                A.appendChild(t)
                                }
                            }
                    }
                }
            })
}
if(j.fix_table_elements){
    i.onPreProcess.add(function(k,l){
        if(!e.isOpera||opera.buildNumber()>=1767){
            f(i.dom.select("p table",l.node).reverse(),function(p){
                var o=i.dom.getParent(p.parentNode,"table,p");
                if(o.nodeName!="TABLE"){
                    try{
                        i.dom.split(o,p)
                        }catch(m){}
                }
            })
    }
    })
}
},
setEntities:function(o){
    var n=this,j,m,h={},k;
    if(n.entityLookup){
        return
    }
    j=o.split(",");
    for(m=0;m<j.length;m+=2){
        k=j[m];
        if(k==34||k==38||k==60||k==62){
            continue
        }
        h[String.fromCharCode(j[m])]=j[m+1];
        k=parseInt(j[m]).toString(16)
        }
        n.entityLookup=h
    },
setRules:function(i){
    var h=this;
    h._setup();
    h.rules={};

    h.wildRules=[];
    h.validElements={};

    return h.addRules(i)
    },
addRules:function(i){
    var h=this,j;
    if(!i){
        return
    }
    h._setup();
    f(i.split(","),function(m){
        var q=m.split(/\[|\]/),l=q[0].split("/"),r,k,o,n=[];
        if(j){
            k=e.extend([],j.attribs)
            }
            if(q.length>1){
            f(q[1].split("|"),function(u){
                var p={},t;
                k=k||[];
                u=u.replace(/::/g,"~");
                u=/^([!\-])?([\w*.?~_\-]+|)([=:<])?(.+)?$/.exec(u);
                u[2]=u[2].replace(/~/g,":");
                if(u[1]=="!"){
                    r=r||[];
                    r.push(u[2])
                    }
                    if(u[1]=="-"){
                    for(t=0;t<k.length;t++){
                        if(k[t].name==u[2]){
                            k.splice(t,1);
                            return
                        }
                    }
                    }
                switch(u[3]){
                case"=":
                    p.defaultVal=u[4]||"";
                    break;
                case":":
                    p.forcedVal=u[4];
                    break;
                case"<":
                    p.validVals=u[4].split("?");
                    break
                    }
                    if(/[*.?]/.test(u[2])){
                o=o||[];
                p.nameRE=new RegExp("^"+c(u[2])+"$");
                o.push(p)
                }else{
                p.name=u[2];
                k.push(p)
                }
                n.push(u[2])
            })
    }
    f(l,function(v,u){
        var y=v.charAt(0),t=1,p={};

        if(j){
            if(j.noEmpty){
                p.noEmpty=j.noEmpty
                }
                if(j.fullEnd){
                p.fullEnd=j.fullEnd
                }
                if(j.padd){
                p.padd=j.padd
                }
            }
        switch(y){
        case"-":
            p.noEmpty=true;
            break;
        case"+":
            p.fullEnd=true;
            break;
        case"#":
            p.padd=true;
            break;
        default:
            t=0
            }
            l[u]=v=v.substring(t);
        h.validElements[v]=1;
        if(/[*.?]/.test(l[0])){
        p.nameRE=new RegExp("^"+c(l[0])+"$");
        h.wildRules=h.wildRules||{};

        h.wildRules.push(p)
        }else{
        p.name=l[0];
        if(l[0]=="@"){
            j=p
            }
            h.rules[v]=p
        }
        p.attribs=k;
    if(r){
        p.requiredAttribs=r
        }
        if(o){
        v="";
        f(n,function(s){
            if(v){
                v+="|"
                }
                v+="("+c(s)+")"
            });
        p.validAttribsRE=new RegExp("^"+v.toLowerCase()+"$");
        p.wildAttribs=o
        }
    })
});
i="";
f(h.validElements,function(m,l){
    if(i){
        i+="|"
        }
        if(l!="@"){
        i+=l
        }
    });
h.validElementsRE=new RegExp("^("+c(i.toLowerCase())+")$")
},
findRule:function(m){
    var j=this,l=j.rules,h,k;
    j._setup();
    k=l[m];
    if(k){
        return k
        }
        l=j.wildRules;
    for(h=0;h<l.length;h++){
        if(l[h].nameRE.test(m)){
            return l[h]
            }
        }
    return null
},
findAttribRule:function(h,l){
    var j,k=h.wildAttribs;
    for(j=0;j<k.length;j++){
        if(k[j].nameRE.test(l)){
            return k[j]
            }
        }
    return null
},
serialize:function(r,q){
    var m,k=this,p,i,j,l;
    k._setup();
    q=q||{};

    q.format=q.format||"html";
    k.processObj=q;
    if(d){
        l=[];
        f(r.getElementsByTagName("option"),function(o){
            var h=k.dom.getAttrib(o,"selected");
            l.push(h?h:null)
            })
        }
        r=r.cloneNode(true);
    if(d){
        f(r.getElementsByTagName("option"),function(o,h){
            k.dom.setAttrib(o,"selected",l[h])
            })
        }
        j=r.ownerDocument.implementation;
    if(j.createHTMLDocument&&(e.isOpera&&opera.buildNumber()>=1767)){
        p=j.createHTMLDocument("");
        f(r.nodeName=="BODY"?r.childNodes:[r],function(h){
            p.body.appendChild(p.importNode(h,true))
            });
        if(r.nodeName!="BODY"){
            r=p.body.firstChild
            }else{
            r=p.body
            }
            i=k.dom.doc;
        k.dom.doc=p
        }
        k.key=""+(parseInt(k.key)+1);
    if(!q.no_events){
        q.node=r;
        k.onPreProcess.dispatch(k,q)
        }
        k.writer.reset();
    k._info=q;
    k._serializeNode(r,q.getInner);
    q.content=k.writer.getContent();
    if(i){
        k.dom.doc=i
        }
        if(!q.no_events){
        k.onPostProcess.dispatch(k,q)
        }
        k._postProcess(q);
    q.node=null;
    return e.trim(q.content)
    },
_postProcess:function(n){
    var i=this,k=i.settings,j=n.content,m=[],l;
    if(n.format=="html"){
        l=i._protect({
            content:j,
            patterns:[{
                pattern:/(<script[^>]*>)(.*?)(<\/script>)/g
            },{
                pattern:/(<noscript[^>]*>)(.*?)(<\/noscript>)/g
            },{
                pattern:/(<style[^>]*>)(.*?)(<\/style>)/g
            },{
                pattern:/(<pre[^>]*>)(.*?)(<\/pre>)/g,
                encode:1
            },{
                pattern:/(<!--\[CDATA\[)(.*?)(\]\]-->)/g
            }]
            });
        j=l.content;
        if(k.entity_encoding!=="raw"){
            j=i._encode(j)
            }
            if(!n.set){
            j=j.replace(/<p>\s+<\/p>|<p([^>]+)>\s+<\/p>/g,k.entity_encoding=="numeric"?"<p$1>&#160;</p>":"<p$1>&nbsp;</p>");
            if(k.remove_linebreaks){
                j=j.replace(/\r?\n|\r/g," ");
                j=j.replace(/(<[^>]+>)\s+/g,"$1 ");
                j=j.replace(/\s+(<\/[^>]+>)/g," $1");
                j=j.replace(/<(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object) ([^>]+)>\s+/g,"<$1 $2>");
                j=j.replace(/<(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object)>\s+/g,"<$1>");
                j=j.replace(/\s+<\/(p|h[1-6]|blockquote|hr|div|table|tbody|tr|td|body|head|html|title|meta|style|pre|script|link|object)>/g,"</$1>")
                }
                if(k.apply_source_formatting&&k.indent_mode=="simple"){
                j=j.replace(/<(\/?)(ul|hr|table|meta|link|tbody|tr|object|body|head|html|map)(|[^>]+)>\s*/g,"\n<$1$2$3>\n");
                j=j.replace(/\s*<(p|h[1-6]|blockquote|div|title|style|pre|script|td|li|area)(|[^>]+)>/g,"\n<$1$2>");
                j=j.replace(/<\/(p|h[1-6]|blockquote|div|title|style|pre|script|td|li)>\s*/g,"</$1>\n");
                j=j.replace(/\n\n/g,"\n")
                }
            }
        j=i._unprotect(j,l);
    j=j.replace(/<!--\[CDATA\[([\s\S]+)\]\]-->/g,"<![CDATA[$1]]>");
    if(k.entity_encoding=="raw"){
        j=j.replace(/<p>&nbsp;<\/p>|<p([^>]+)>&nbsp;<\/p>/g,"<p$1>\u00a0</p>")
        }
        j=j.replace(/<noscript([^>]+|)>([\s\S]*?)<\/noscript>/g,function(h,p,o){
        return"<noscript"+p+">"+i.dom.decode(o.replace(/<!--|-->/g,""))+"</noscript>"
        })
    }
    n.content=j
},
_serializeNode:function(D,I){
    var z=this,A=z.settings,x=z.writer,q,j,u,F,E,H,B,h,y,k,r,C,p,m,G,o;
    if(!A.node_filter||A.node_filter(D)){
        switch(D.nodeType){
            case 1:
                if(D.hasAttribute?D.hasAttribute("_mce_bogus"):D.getAttribute("_mce_bogus")){
                return
            }
            p=G=false;
            q=D.hasChildNodes();
                k=D.getAttribute("_mce_name")||D.nodeName.toLowerCase();
                o=D.getAttribute("_mce_type");
                if(o){
                if(!z._info.cleanup){
                    p=true;
                    return
                }else{
                    G=1
                    }
                }
            if(d){
                if(D.scopeName!=="HTML"&&D.scopeName!=="html"){
                    k=D.scopeName+":"+k
                    }
                }
            if(k.indexOf("mce:")===0){
            k=k.substring(4)
            }
            if(!G){
            if(!z.validElementsRE||!z.validElementsRE.test(k)||(z.invalidElementsRE&&z.invalidElementsRE.test(k))||I){
                p=true;
                break
            }
        }
        if(d){
        if(A.fix_content_duplication){
            if(D._mce_serialized==z.key){
                return
            }
            D._mce_serialized=z.key
            }
            if(k.charAt(0)=="/"){
            k=k.substring(1)
            }
        }else{
    if(a){
        if(D.nodeName==="BR"&&D.getAttribute("type")=="_moz"){
            return
        }
    }
}
if(A.validate_children){
    if(z.elementName&&!z.schema.isValid(z.elementName,k)){
        p=true;
        break
    }
    z.elementName=k
    }
    r=z.findRule(k);
if(!r){
    p=true;
    break
}
k=r.name||k;
m=A.closed.test(k);
if((!q&&r.noEmpty)||(d&&!k)){
    p=true;
    break
}
if(r.requiredAttribs){
    H=r.requiredAttribs;
    for(F=H.length-1;F>=0;F--){
        if(this.dom.getAttrib(D,H[F])!==""){
            break
        }
    }
    if(F==-1){
    p=true;
    break
}
}
x.writeStartElement(k);
if(r.attribs){
    for(F=0,B=r.attribs,E=B.length;F<E;F++){
        H=B[F];
        y=z._getAttrib(D,H);
        if(y!==null){
            x.writeAttribute(H.name,y)
            }
        }
    }
if(r.validAttribsRE){
    B=z.dom.getAttribs(D);
    for(F=B.length-1;F>-1;F--){
        h=B[F];
        if(h.specified){
            H=h.nodeName.toLowerCase();
            if(A.invalid_attrs.test(H)||!r.validAttribsRE.test(H)){
                continue
            }
            C=z.findAttribRule(r,H);
            y=z._getAttrib(D,C,H);
            if(y!==null){
                x.writeAttribute(H,y)
                }
            }
    }
}
if(o&&G){
    x.writeAttribute("_mce_type",o)
    }
    if(k==="script"&&e.trim(D.innerHTML)){
    x.writeText("// ");
    x.writeCDATA(D.innerHTML.replace(/<!--|-->|<\[CDATA\[|\]\]>/g,""));
    q=false;
    break
}
if(r.padd){
    if(q&&(u=D.firstChild)&&u.nodeType===1&&D.childNodes.length===1){
        if(u.hasAttribute?u.hasAttribute("_mce_bogus"):u.getAttribute("_mce_bogus")){
            x.writeText("\u00a0")
            }
        }else{
    if(!q){
        x.writeText("\u00a0")
        }
    }
}
break;
case 3:
    if(A.validate_children&&z.elementName&&!z.schema.isValid(z.elementName,"#text")){
    return
}
return x.writeText(D.nodeValue);
case 4:
    return x.writeCDATA(D.nodeValue);
case 8:
    return x.writeComment(D.nodeValue)
    }
}else{
    if(D.nodeType==1){
        q=D.hasChildNodes()
        }
    }
if(q&&!m){
    u=D.firstChild;
    while(u){
        z._serializeNode(u);
        z.elementName=k;
        u=u.nextSibling
        }
    }
if(!p){
    if(!m){
        x.writeFullEndElement()
        }else{
        x.writeEndElement()
        }
    }
},
_protect:function(j){
    var i=this;
    j.items=j.items||[];
    function h(l){
        return l.replace(/[\r\n\\]/g,function(m){
            if(m==="\n"){
                return"\\n"
                }else{
                if(m==="\\"){
                    return"\\\\"
                    }
                }
            return"\\r"
        })
    }
    function k(l){
    return l.replace(/\\[\\rn]/g,function(m){
        if(m==="\\n"){
            return"\n"
            }else{
            if(m==="\\\\"){
                return"\\"
                }
            }
        return"\r"
    })
}
f(j.patterns,function(l){
    j.content=k(h(j.content).replace(l.pattern,function(n,o,m,p){
        m=k(m);
        if(l.encode){
            m=i._encode(m)
            }
            j.items.push(m);
        return o+"<!--mce:"+(j.items.length-1)+"-->"+p
        }))
    });
return j
},
_unprotect:function(i,j){
    i=i.replace(/\<!--mce:([0-9]+)--\>/g,function(k,h){
        return j.items[parseInt(h)]
        });
    j.items=[];
    return i
    },
_encode:function(m){
    var j=this,k=j.settings,i;
    if(k.entity_encoding!=="raw"){
        if(k.entity_encoding.indexOf("named")!=-1){
            j.setEntities(k.entities);
            i=j.entityLookup;
            m=m.replace(/[\u007E-\uFFFF]/g,function(h){
                var l;
                if(l=i[h]){
                    h="&"+l+";"
                    }
                    return h
                })
            }
            if(k.entity_encoding.indexOf("numeric")!=-1){
            m=m.replace(/[\u007E-\uFFFF]/g,function(h){
                return"&#"+h.charCodeAt(0)+";"
                })
            }
        }
    return m
},
_setup:function(){
    var h=this,i=this.settings;
    if(h.done){
        return
    }
    h.done=1;
    h.setRules(i.valid_elements);
    h.addRules(i.extended_valid_elements);
    if(i.invalid_elements){
        h.invalidElementsRE=new RegExp("^("+c(i.invalid_elements.replace(/,/g,"|").toLowerCase())+")$")
        }
        if(i.attrib_value_filter){
        h.attribValueFilter=i.attribValueFilter
        }
    },
_getAttrib:function(m,j,h){
    var l,k;
    h=h||j.name;
    if(j.forcedVal&&(k=j.forcedVal)){
        if(k==="{$uid}"){
            return this.dom.uniqueId()
            }
            return k
        }
        k=this.dom.getAttrib(m,h);
    switch(h){
        case"rowspan":case"colspan":
            if(k=="1"){
            k=""
            }
            break
        }
        if(this.attribValueFilter){
        k=this.attribValueFilter(h,k,m)
        }
        if(j.validVals){
        for(l=j.validVals.length-1;l>=0;l--){
            if(k==j.validVals[l]){
                break
            }
        }
        if(l==-1){
        return null
        }
    }
if(k===""&&typeof(j.defaultVal)!="undefined"){
    k=j.defaultVal;
    if(k==="{$uid}"){
        return this.dom.uniqueId()
        }
        return k
    }else{
    if(h=="class"&&this.processObj.get){
        k=k.replace(/\s?mceItem\w+\s?/g,"")
        }
    }
if(k===""){
    return null
    }
    return k
}
})
})(tinymce);
(function(a){
    a.dom.ScriptLoader=function(h){
        var c=0,k=1,i=2,l={},j=[],f={},d=[],g=0,e;
        function b(m,u){
            var v=this,q=a.DOM,s,o,r,n;
            function p(){
                q.remove(n);
                if(s){
                    s.onreadystatechange=s.onload=s=null
                    }
                    u()
                }
                n=q.uniqueId();
            if(a.isIE6){
                o=new a.util.URI(m);
                r=location;
                if(o.host==r.hostname&&o.port==r.port&&(o.protocol+":")==r.protocol){
                    a.util.XHR.send({
                        url:a._addVer(o.getURI()),
                        success:function(x){
                            var t=q.create("script",{
                                type:"text/javascript"
                            });
                            t.text=x;
                            document.getElementsByTagName("head")[0].appendChild(t);
                            q.remove(t);
                            p()
                            }
                        });
                return
            }
        }
        s=q.create("script",{
        id:n,
        type:"text/javascript",
        src:a._addVer(m)
        });
    s.onload=p;
    s.onreadystatechange=function(){
        var t=s.readyState;
        if(t=="complete"||t=="loaded"){
            p()
            }
        };
(document.getElementsByTagName("head")[0]||document.body).appendChild(s)
    }
    this.isDone=function(m){
    return l[m]==i
    };

this.markDone=function(m){
    l[m]=i
    };

this.add=this.load=function(m,q,n){
    var o,p=l[m];
    if(p==e){
        j.push(m);
        l[m]=c
        }
        if(q){
        if(!f[m]){
            f[m]=[]
            }
            f[m].push({
            func:q,
            scope:n||this
            })
        }
    };

this.loadQueue=function(n,m){
    this.loadScripts(j,n,m)
    };

this.loadScripts=function(m,q,p){
    var o;
    function n(r){
        a.each(f[r],function(s){
            s.func.call(s.scope)
            });
        f[r]=e
        }
        d.push({
        func:q,
        scope:p||this
        });
    o=function(){
        var r=a.grep(m);
        m.length=0;
        a.each(r,function(s){
            if(l[s]==i){
                n(s);
                return
            }
            if(l[s]!=k){
                l[s]=k;
                g++;
                b(s,function(){
                    l[s]=i;
                    g--;
                    n(s);
                    o()
                    })
                }
            });
    if(!g){
        a.each(d,function(s){
            s.func.call(s.scope)
            });
        d.length=0
        }
    };

o()
}
};

a.ScriptLoader=new a.dom.ScriptLoader()
})(tinymce);
tinymce.dom.TreeWalker=function(a,c){
    var b=a;
    function d(i,f,e,j){
        var h,g;
        if(i){
            if(!j&&i[f]){
                return i[f]
                }
                if(i!=c){
                h=i[e];
                if(h){
                    return h
                    }
                    for(g=i.parentNode;g&&g!=c;g=g.parentNode){
                    h=g[e];
                    if(h){
                        return h
                        }
                    }
                }
        }
}
this.current=function(){
    return b
    };

this.next=function(e){
    return(b=d(b,"firstChild","nextSibling",e))
    };

this.prev=function(e){
    return(b=d(b,"lastChild","lastSibling",e))
    }
};
(function(){
    var a={};

    function b(f,e){
        var d;
        function c(g){
            return g.replace(/[A-Z]+/g,function(h){
                return c(f[h])
                })
            }
            for(d in f){
            if(f.hasOwnProperty(d)){
                f[d]=c(f[d])
                }
            }
        c(e).replace(/#/g,"#text").replace(/(\w+)\[([^\]]+)\]/g,function(l,g,j){
        var h,k={};

        j=j.split(/\|/);
        for(h=j.length-1;h>=0;h--){
            k[j[h]]=1
            }
            a[g]=k
        })
    }
    b({
    Z:"#|H|K|N|O|P",
    Y:"#|X|form|R|Q",
    X:"p|T|div|U|W|isindex|fieldset|table",
    W:"pre|hr|blockquote|address|center|noframes",
    U:"ul|ol|dl|menu|dir",
    ZC:"#|p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",
    T:"h1|h2|h3|h4|h5|h6",
    ZB:"#|X|S|Q",
    S:"R|P",
    ZA:"#|a|G|J|M|O|P",
    R:"#|a|H|K|N|O",
    Q:"noscript|P",
    P:"ins|del|script",
    O:"input|select|textarea|label|button",
    N:"M|L",
    M:"em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",
    L:"sub|sup",
    K:"J|I",
    J:"tt|i|b|u|s|strike",
    I:"big|small|font|basefont",
    H:"G|F",
    G:"br|span|bdo",
    F:"object|applet|img|map|iframe"
},"script[]style[]object[#|param|X|form|a|H|K|N|O|Q]param[]p[S]a[Z]br[]span[S]bdo[S]applet[#|param|X|form|a|H|K|N|O|Q]h1[S]img[]map[X|form|Q|area]h2[S]iframe[#|X|form|a|H|K|N|O|Q]h3[S]tt[S]i[S]b[S]u[S]s[S]strike[S]big[S]small[S]font[S]basefont[]em[S]strong[S]dfn[S]code[S]q[S]samp[S]kbd[S]var[S]cite[S]abbr[S]acronym[S]sub[S]sup[S]input[]select[optgroup|option]optgroup[option]option[]textarea[]label[S]button[#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[S]ins[#|X|form|a|H|K|N|O|Q]h5[S]del[#|X|form|a|H|K|N|O|Q]h6[S]div[#|X|form|a|H|K|N|O|Q]ul[li]li[#|X|form|a|H|K|N|O|Q]ol[li]dl[dt|dd]dt[S]dd[#|X|form|a|H|K|N|O|Q]menu[li]dir[li]pre[ZA]hr[]blockquote[#|X|form|a|H|K|N|O|Q]address[S|p]center[#|X|form|a|H|K|N|O|Q]noframes[#|X|form|a|H|K|N|O|Q]isindex[]fieldset[#|legend|X|form|a|H|K|N|O|Q]legend[S]table[caption|col|colgroup|thead|tfoot|tbody|tr]caption[S]col[]colgroup[col]thead[tr]tr[th|td]th[#|X|form|a|H|K|N|O|Q]form[#|X|a|H|K|N|O|Q]noscript[#|X|form|a|H|K|N|O|Q]td[#|X|form|a|H|K|N|O|Q]tfoot[tr]tbody[tr]area[]base[]body[#|X|form|a|H|K|N|O|Q]");
tinymce.dom.Schema=function(){
    var c=this,d=a;
    c.isValid=function(f,e){
        var g=d[f];
        return !!(g&&(!e||g[e]))
        }
    }
})();
(function(a){
    a.dom.RangeUtils=function(c){
        var b="\uFEFF";
        this.walk=function(d,r){
            var h=d.startContainer,k=d.startOffset,s=d.endContainer,l=d.endOffset,i,f,n,g,q,p,e;
            e=c.select("td.mceSelected,th.mceSelected");
            if(e.length>0){
                a.each(e,function(t){
                    r([t])
                    });
                return
            }
            function o(v,u,t){
                var x=[];
                for(;v&&v!=t;v=v[u]){
                    x.push(v)
                    }
                    return x
                }
                function m(u,t){
                do{
                    if(u.parentNode==t){
                        return u
                        }
                        u=u.parentNode
                    }while(u)
            }
            function j(v,u,x){
                var t=x?"nextSibling":"previousSibling";
                for(g=v,q=g.parentNode;g&&g!=u;g=q){
                    q=g.parentNode;
                    p=o(g==v?g:g[t],t);
                    if(p.length){
                        if(!x){
                            p.reverse()
                            }
                            r(p)
                        }
                    }
                }
            if(h.nodeType==1&&h.hasChildNodes()){
        h=h.childNodes[k]
        }
        if(s.nodeType==1&&s.hasChildNodes()){
        s=s.childNodes[Math.min(k==l?l:l-1,s.childNodes.length-1)]
        }
        i=c.findCommonAncestor(h,s);
    if(h==s){
        return r([h])
        }
        for(g=h;g;g=g.parentNode){
        if(g==s){
            return j(h,i,true)
            }
            if(g==i){
            break
        }
    }
    for(g=s;g;g=g.parentNode){
    if(g==h){
        return j(s,i)
        }
        if(g==i){
        break
    }
}
f=m(h,i)||h;
    n=m(s,i)||s;
    j(h,f,true);
    p=o(f==h?f:f.nextSibling,"nextSibling",n==s?n.nextSibling:n);
    if(p.length){
    r(p)
    }
    j(s,n)
    }
};

a.dom.RangeUtils.compareRanges=function(c,b){
    if(c&&b){
        if(c.item||c.duplicate){
            if(c.item&&b.item&&c.item(0)===b.item(0)){
                return true
                }
                if(c.isEqual&&b.isEqual&&b.isEqual(c)){
                return true
                }
            }else{
        return c.startContainer==b.startContainer&&c.startOffset==b.startOffset
        }
    }
return false
}
})(tinymce);
(function(c){
    var b=c.DOM,a=c.is;
    c.create("tinymce.ui.Control",{
        Control:function(e,d){
            this.id=e;
            this.settings=d=d||{};

            this.rendered=false;
            this.onRender=new c.util.Dispatcher(this);
            this.classPrefix="";
            this.scope=d.scope||this;
            this.disabled=0;
            this.active=0
            },
        setDisabled:function(d){
            var f;
            if(d!=this.disabled){
                f=b.get(this.id);
                if(f&&this.settings.unavailable_prefix){
                    if(d){
                        this.prevTitle=f.title;
                        f.title=this.settings.unavailable_prefix+": "+f.title
                        }else{
                        f.title=this.prevTitle
                        }
                    }
                this.setState("Disabled",d);
            this.setState("Enabled",!d);
            this.disabled=d
            }
        },
    isDisabled:function(){
        return this.disabled
        },
    setActive:function(d){
        if(d!=this.active){
            this.setState("Active",d);
            this.active=d
            }
        },
isActive:function(){
    return this.active
    },
setState:function(f,d){
    var e=b.get(this.id);
    f=this.classPrefix+f;
    if(d){
        b.addClass(e,f)
        }else{
        b.removeClass(e,f)
        }
    },
isRendered:function(){
    return this.rendered
    },
renderHTML:function(){},
    renderTo:function(d){
    b.setHTML(d,this.renderHTML())
    },
postRender:function(){
    var e=this,d;
    if(a(e.disabled)){
        d=e.disabled;
        e.disabled=-1;
        e.setDisabled(d)
        }
        if(a(e.active)){
        d=e.active;
        e.active=-1;
        e.setActive(d)
        }
    },
remove:function(){
    b.remove(this.id);
    this.destroy()
    },
destroy:function(){
    c.dom.Event.clear(this.id)
    }
})
})(tinymce);
tinymce.create("tinymce.ui.Container:tinymce.ui.Control",{
    Container:function(b,a){
        this.parent(b,a);
        this.controls=[];
        this.lookup={}
    },
add:function(a){
    this.lookup[a.id]=a;
    this.controls.push(a);
    return a
    },
get:function(a){
    return this.lookup[a]
    }
});
tinymce.create("tinymce.ui.Separator:tinymce.ui.Control",{
    Separator:function(b,a){
        this.parent(b,a);
        this.classPrefix="mceSeparator"
        },
    renderHTML:function(){
        return tinymce.DOM.createHTML("span",{
            "class":this.classPrefix
            })
        }
    });
(function(d){
    var c=d.is,b=d.DOM,e=d.each,a=d.walk;
    d.create("tinymce.ui.MenuItem:tinymce.ui.Control",{
        MenuItem:function(g,f){
            this.parent(g,f);
            this.classPrefix="mceMenuItem"
            },
        setSelected:function(f){
            this.setState("Selected",f);
            this.selected=f
            },
        isSelected:function(){
            return this.selected
            },
        postRender:function(){
            var f=this;
            f.parent();
            if(c(f.selected)){
                f.setSelected(f.selected)
                }
            }
    })
})(tinymce);
(function(d){
    var c=d.is,b=d.DOM,e=d.each,a=d.walk;
    d.create("tinymce.ui.Menu:tinymce.ui.MenuItem",{
        Menu:function(h,g){
            var f=this;
            f.parent(h,g);
            f.items={};

            f.collapsed=false;
            f.menuCount=0;
            f.onAddItem=new d.util.Dispatcher(this)
            },
        expand:function(g){
            var f=this;
            if(g){
                a(f,function(h){
                    if(h.expand){
                        h.expand()
                        }
                    },"items",f)
            }
            f.collapsed=false
        },
    collapse:function(g){
        var f=this;
        if(g){
            a(f,function(h){
                if(h.collapse){
                    h.collapse()
                    }
                },"items",f)
        }
        f.collapsed=true
    },
    isCollapsed:function(){
        return this.collapsed
        },
    add:function(f){
        if(!f.settings){
            f=new d.ui.MenuItem(f.id||b.uniqueId(),f)
            }
            this.onAddItem.dispatch(this,f);
        return this.items[f.id]=f
        },
    addSeparator:function(){
        return this.add({
            separator:true
        })
        },
    addMenu:function(f){
        if(!f.collapse){
            f=this.createMenu(f)
            }
            this.menuCount++;
        return this.add(f)
        },
    hasMenus:function(){
        return this.menuCount!==0
        },
    remove:function(f){
        delete this.items[f.id]
    },
    removeAll:function(){
        var f=this;
        a(f,function(g){
            if(g.removeAll){
                g.removeAll()
                }else{
                g.remove()
                }
                g.destroy()
            },"items",f);
        f.items={}
    },
createMenu:function(g){
    var f=new d.ui.Menu(g.id||b.uniqueId(),g);
    f.onAddItem.add(this.onAddItem.dispatch,this.onAddItem);
    return f
    }
})
})(tinymce);
(function(e){
    var d=e.is,c=e.DOM,f=e.each,a=e.dom.Event,b=e.dom.Element;
    e.create("tinymce.ui.DropMenu:tinymce.ui.Menu",{
        DropMenu:function(h,g){
            g=g||{};

            g.container=g.container||c.doc.body;
            g.offset_x=g.offset_x||0;
            g.offset_y=g.offset_y||0;
            g.vp_offset_x=g.vp_offset_x||0;
            g.vp_offset_y=g.vp_offset_y||0;
            if(d(g.icons)&&!g.icons){
                g["class"]+=" mceNoIcons"
                }
                this.parent(h,g);
            this.onShowMenu=new e.util.Dispatcher(this);
            this.onHideMenu=new e.util.Dispatcher(this);
            this.classPrefix="mceMenu"
            },
        createMenu:function(j){
            var h=this,i=h.settings,g;
            j.container=j.container||i.container;
            j.parent=h;
            j.constrain=j.constrain||i.constrain;
            j["class"]=j["class"]||i["class"];
            j.vp_offset_x=j.vp_offset_x||i.vp_offset_x;
            j.vp_offset_y=j.vp_offset_y||i.vp_offset_y;
            g=new e.ui.DropMenu(j.id||c.uniqueId(),j);
            g.onAddItem.add(h.onAddItem.dispatch,h.onAddItem);
            return g
            },
        update:function(){
            var i=this,j=i.settings,g=c.get("menu_"+i.id+"_tbl"),l=c.get("menu_"+i.id+"_co"),h,k;
            h=j.max_width?Math.min(g.clientWidth,j.max_width):g.clientWidth;
            k=j.max_height?Math.min(g.clientHeight,j.max_height):g.clientHeight;
            if(!c.boxModel){
                i.element.setStyles({
                    width:h+2,
                    height:k+2
                    })
                }else{
                i.element.setStyles({
                    width:h,
                    height:k
                })
                }
                if(j.max_width){
                c.setStyle(l,"width",h)
                }
                if(j.max_height){
                c.setStyle(l,"height",k);
                if(g.clientHeight<j.max_height){
                    c.setStyle(l,"overflow","hidden")
                    }
                }
        },
    showMenu:function(p,n,r){
        var z=this,A=z.settings,o,g=c.getViewPort(),u,l,v,q,i=2,k,j,m=z.classPrefix;
        z.collapse(1);
        if(z.isMenuVisible){
            return
        }
        if(!z.rendered){
            o=c.add(z.settings.container,z.renderNode());
            f(z.items,function(h){
                h.postRender()
                });
            z.element=new b("menu_"+z.id,{
                blocker:1,
                container:A.container
                })
            }else{
            o=c.get("menu_"+z.id)
            }
            if(!e.isOpera){
            c.setStyles(o,{
                left:-65535,
                top:-65535
            })
            }
            c.show(o);
        z.update();
        p+=A.offset_x||0;
        n+=A.offset_y||0;
        g.w-=4;
        g.h-=4;
        if(A.constrain){
            u=o.clientWidth-i;
            l=o.clientHeight-i;
            v=g.x+g.w;
            q=g.y+g.h;
            if((p+A.vp_offset_x+u)>v){
                p=r?r-u:Math.max(0,(v-A.vp_offset_x)-u)
                }
                if((n+A.vp_offset_y+l)>q){
                n=Math.max(0,(q-A.vp_offset_y)-l)
                }
            }
        c.setStyles(o,{
        left:p,
        top:n
    });
    z.element.update();
    z.isMenuVisible=1;
    z.mouseClickFunc=a.add(o,"click",function(s){
        var h;
        s=s.target;
        if(s&&(s=c.getParent(s,"tr"))&&!c.hasClass(s,m+"ItemSub")){
            h=z.items[s.id];
            if(h.isDisabled()){
                return
            }
            k=z;
            while(k){
                if(k.hideMenu){
                    k.hideMenu()
                    }
                    k=k.settings.parent
                }
                if(h.settings.onclick){
                h.settings.onclick(s)
                }
                return a.cancel(s)
            }
        });
if(z.hasMenus()){
    z.mouseOverFunc=a.add(o,"mouseover",function(x){
        var h,t,s;
        x=x.target;
        if(x&&(x=c.getParent(x,"tr"))){
            h=z.items[x.id];
            if(z.lastMenu){
                z.lastMenu.collapse(1)
                }
                if(h.isDisabled()){
                return
            }
            if(x&&c.hasClass(x,m+"ItemSub")){
                t=c.getRect(x);
                h.showMenu((t.x+t.w-i),t.y-i,t.x);
                z.lastMenu=h;
                c.addClass(c.get(h.id).firstChild,m+"ItemActive")
                }
            }
    })
}
z.onShowMenu.dispatch(z);
if(A.keyboard_focus){
    a.add(o,"keydown",z._keyHandler,z);
    c.select("a","menu_"+z.id)[0].focus();
    z._focusIdx=0
    }
},
hideMenu:function(j){
    var g=this,i=c.get("menu_"+g.id),h;
    if(!g.isMenuVisible){
        return
    }
    a.remove(i,"mouseover",g.mouseOverFunc);
    a.remove(i,"click",g.mouseClickFunc);
    a.remove(i,"keydown",g._keyHandler);
    c.hide(i);
    g.isMenuVisible=0;
    if(!j){
        g.collapse(1)
        }
        if(g.element){
        g.element.hide()
        }
        if(h=c.get(g.id)){
        c.removeClass(h.firstChild,g.classPrefix+"ItemActive")
        }
        g.onHideMenu.dispatch(g)
    },
add:function(i){
    var g=this,h;
    i=g.parent(i);
    if(g.isRendered&&(h=c.get("menu_"+g.id))){
        g._add(c.select("tbody",h)[0],i)
        }
        return i
    },
collapse:function(g){
    this.parent(g);
    this.hideMenu(1)
    },
remove:function(g){
    c.remove(g.id);
    this.destroy();
    return this.parent(g)
    },
destroy:function(){
    var g=this,h=c.get("menu_"+g.id);
    a.remove(h,"mouseover",g.mouseOverFunc);
    a.remove(h,"click",g.mouseClickFunc);
    if(g.element){
        g.element.remove()
        }
        c.remove(h)
    },
renderNode:function(){
    var i=this,j=i.settings,l,h,k,g;
    g=c.create("div",{
        id:"menu_"+i.id,
        "class":j["class"],
        style:"position:absolute;left:0;top:0;z-index:200000"
    });
    k=c.add(g,"div",{
        id:"menu_"+i.id+"_co",
        "class":i.classPrefix+(j["class"]?" "+j["class"]:"")
        });
    i.element=new b("menu_"+i.id,{
        blocker:1,
        container:j.container
        });
    if(j.menu_line){
        c.add(k,"span",{
            "class":i.classPrefix+"Line"
            })
        }
        l=c.add(k,"table",{
        id:"menu_"+i.id+"_tbl",
        border:0,
        cellPadding:0,
        cellSpacing:0
    });
    h=c.add(l,"tbody");
    f(i.items,function(m){
        i._add(h,m)
        });
    i.rendered=true;
    return g
    },
_keyHandler:function(j){
    var i=this,h=j.keyCode;
    function g(m){
        var k=i._focusIdx+m,l=c.select("a","menu_"+i.id)[k];
        if(l){
            i._focusIdx=k;
            l.focus()
            }
        }
    switch(h){
    case 38:
        g(-1);
        return;
    case 40:
        g(1);
        return;
    case 13:
        return;
    case 27:
        return this.hideMenu()
        }
    },
_add:function(j,h){
    var i,q=h.settings,p,l,k,m=this.classPrefix,g;
    if(q.separator){
        l=c.add(j,"tr",{
            id:h.id,
            "class":m+"ItemSeparator"
            });
        c.add(l,"td",{
            "class":m+"ItemSeparator"
            });
        if(i=l.previousSibling){
            c.addClass(i,"mceLast")
            }
            return
    }
    i=l=c.add(j,"tr",{
        id:h.id,
        "class":m+"Item "+m+"ItemEnabled"
        });
    i=k=c.add(i,"td");
    i=p=c.add(i,"a",{
        href:"javascript:;",
        onclick:"return false;",
        onmousedown:"return false;"
    });
    c.addClass(k,q["class"]);
    g=c.add(i,"span",{
        "class":"mceIcon"+(q.icon?" mce_"+q.icon:"")
        });
    if(q.icon_src){
        c.add(g,"img",{
            src:q.icon_src
            })
        }
        i=c.add(i,q.element||"span",{
        "class":"mceText",
        title:h.settings.title
        },h.settings.title);
    if(h.settings.style){
        c.setAttrib(i,"style",h.settings.style)
        }
        if(j.childNodes.length==1){
        c.addClass(l,"mceFirst")
        }
        if((i=l.previousSibling)&&c.hasClass(i,m+"ItemSeparator")){
        c.addClass(l,"mceFirst")
        }
        if(h.collapse){
        c.addClass(l,m+"ItemSub")
        }
        if(i=l.previousSibling){
        c.removeClass(i,"mceLast")
        }
        c.addClass(l,"mceLast")
    }
})
})(tinymce);
(function(b){
    var a=b.DOM;
    b.create("tinymce.ui.Button:tinymce.ui.Control",{
        Button:function(d,c){
            this.parent(d,c);
            this.classPrefix="mceButton"
            },
        renderHTML:function(){
            var f=this.classPrefix,e=this.settings,d,c;
            c=a.encode(e.label||"");
            d='<a id="'+this.id+'" href="javascript:;" class="'+f+" "+f+"Enabled "+e["class"]+(c?" "+f+"Labeled":"")+'" onmousedown="return false;" onclick="return false;" title="'+a.encode(e.title)+'">';
            if(e.image){
                d+='<img class="mceIcon" src="'+e.image+'" />'+c+"</a>"
                }else{
                d+='<span class="mceIcon '+e["class"]+'"></span>'+(c?'<span class="'+f+'Label">'+c+"</span>":"")+"</a>"
                }
                return d
            },
        postRender:function(){
            var c=this,d=c.settings;
            b.dom.Event.add(c.id,"click",function(f){
                if(!c.isDisabled()){
                    return d.onclick.call(d.scope,f)
                    }
                })
        }
    })
})(tinymce);
(function(d){
    var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;
    d.create("tinymce.ui.ListBox:tinymce.ui.Control",{
        ListBox:function(h,g){
            var f=this;
            f.parent(h,g);
            f.items=[];
            f.onChange=new a(f);
            f.onPostRender=new a(f);
            f.onAdd=new a(f);
            f.onRenderMenu=new d.util.Dispatcher(this);
            f.classPrefix="mceListBox"
            },
        select:function(h){
            var g=this,j,i;
            if(h==undefined){
                return g.selectByIndex(-1)
                }
                if(h&&h.call){
                i=h
                }else{
                i=function(f){
                    return f==h
                    }
                }
            if(h!=g.selectedValue){
            e(g.items,function(k,f){
                if(i(k.value)){
                    j=1;
                    g.selectByIndex(f);
                    return false
                    }
                });
        if(!j){
            g.selectByIndex(-1)
            }
        }
    },
selectByIndex:function(f){
    var g=this,h,i;
    if(f!=g.selectedIndex){
        h=c.get(g.id+"_text");
        i=g.items[f];
        if(i){
            g.selectedValue=i.value;
            g.selectedIndex=f;
            c.setHTML(h,c.encode(i.title));
            c.removeClass(h,"mceTitle")
            }else{
            c.setHTML(h,c.encode(g.settings.title));
            c.addClass(h,"mceTitle");
            g.selectedValue=g.selectedIndex=null
            }
            h=0
        }
    },
add:function(i,f,h){
    var g=this;
    h=h||{};

    h=d.extend(h,{
        title:i,
        value:f
    });
    g.items.push(h);
    g.onAdd.dispatch(g,h)
    },
getLength:function(){
    return this.items.length
    },
renderHTML:function(){
    var i="",f=this,g=f.settings,j=f.classPrefix;
    i='<table id="'+f.id+'" cellpadding="0" cellspacing="0" class="'+j+" "+j+"Enabled"+(g["class"]?(" "+g["class"]):"")+'"><tbody><tr>';
    i+="<td>"+c.createHTML("a",{
        id:f.id+"_text",
        href:"javascript:;",
        "class":"mceText",
        onclick:"return false;",
        onmousedown:"return false;"
    },c.encode(f.settings.title))+"</td>";
    i+="<td>"+c.createHTML("a",{
        id:f.id+"_open",
        tabindex:-1,
        href:"javascript:;",
        "class":"mceOpen",
        onclick:"return false;",
        onmousedown:"return false;"
    },"<span></span>")+"</td>";
    i+="</tr></tbody></table>";
    return i
    },
showMenu:function(){
    var g=this,j,i,h=c.get(this.id),f;
    if(g.isDisabled()||g.items.length==0){
        return
    }
    if(g.menu&&g.menu.isMenuVisible){
        return g.hideMenu()
        }
        if(!g.isMenuRendered){
        g.renderMenu();
        g.isMenuRendered=true
        }
        j=c.getPos(this.settings.menu_container);
    i=c.getPos(h);
    f=g.menu;
    f.settings.offset_x=i.x;
    f.settings.offset_y=i.y;
    f.settings.keyboard_focus=!d.isOpera;
    if(g.oldID){
        f.items[g.oldID].setSelected(0)
        }
        e(g.items,function(k){
        if(k.value===g.selectedValue){
            f.items[k.id].setSelected(1);
            g.oldID=k.id
            }
        });
f.showMenu(0,h.clientHeight);
b.add(c.doc,"mousedown",g.hideMenu,g);
c.addClass(g.id,g.classPrefix+"Selected")
},
hideMenu:function(g){
    var f=this;
    if(f.menu&&f.menu.isMenuVisible){
        if(g&&g.type=="mousedown"&&(g.target.id==f.id+"_text"||g.target.id==f.id+"_open")){
            return
        }
        if(!g||!c.getParent(g.target,".mceMenu")){
            c.removeClass(f.id,f.classPrefix+"Selected");
            b.remove(c.doc,"mousedown",f.hideMenu,f);
            f.menu.hideMenu()
            }
        }
},
renderMenu:function(){
    var g=this,f;
    f=g.settings.control_manager.createDropMenu(g.id+"_menu",{
        menu_line:1,
        "class":g.classPrefix+"Menu mceNoIcons",
        max_width:150,
        max_height:150
    });
    f.onHideMenu.add(g.hideMenu,g);
    f.add({
        title:g.settings.title,
        "class":"mceMenuItemTitle",
        onclick:function(){
            if(g.settings.onselect("")!==false){
                g.select("")
                }
            }
    });
e(g.items,function(h){
    if(h.value===undefined){
        f.add({
            title:h.title,
            "class":"mceMenuItemTitle",
            onclick:function(){
                if(g.settings.onselect("")!==false){
                    g.select("")
                    }
                }
        })
}else{
    h.id=c.uniqueId();
    h.onclick=function(){
        if(g.settings.onselect(h.value)!==false){
            g.select(h.value)
            }
        };

f.add(h)
}
});
g.onRenderMenu.dispatch(g,f);
g.menu=f
},
postRender:function(){
    var f=this,g=f.classPrefix;
    b.add(f.id,"click",f.showMenu,f);
    b.add(f.id+"_text","focus",function(h){
        if(!f._focused){
            f.keyDownHandler=b.add(f.id+"_text","keydown",function(l){
                var i=-1,j,k=l.keyCode;
                e(f.items,function(m,n){
                    if(f.selectedValue==m.value){
                        i=n
                        }
                    });
            if(k==38){
                j=f.items[i-1]
                }else{
                if(k==40){
                    j=f.items[i+1]
                    }else{
                    if(k==13){
                        j=f.selectedValue;
                        f.selectedValue=null;
                        f.settings.onselect(j);
                        return b.cancel(l)
                        }
                    }
            }
            if(j){
            f.hideMenu();
            f.select(j.value)
            }
        })
}
f._focused=1
});
b.add(f.id+"_text","blur",function(){
    b.remove(f.id+"_text","keydown",f.keyDownHandler);
    f._focused=0
    });
if(d.isIE6||!c.boxModel){
    b.add(f.id,"mouseover",function(){
        if(!c.hasClass(f.id,g+"Disabled")){
            c.addClass(f.id,g+"Hover")
            }
        });
b.add(f.id,"mouseout",function(){
    if(!c.hasClass(f.id,g+"Disabled")){
        c.removeClass(f.id,g+"Hover")
        }
    })
}
f.onPostRender.dispatch(f,c.get(f.id))
},
destroy:function(){
    this.parent();
    b.clear(this.id+"_text");
    b.clear(this.id+"_open")
    }
})
})(tinymce);
(function(d){
    var c=d.DOM,b=d.dom.Event,e=d.each,a=d.util.Dispatcher;
    d.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox",{
        NativeListBox:function(g,f){
            this.parent(g,f);
            this.classPrefix="mceNativeListBox"
            },
        setDisabled:function(f){
            c.get(this.id).disabled=f
            },
        isDisabled:function(){
            return c.get(this.id).disabled
            },
        select:function(h){
            var g=this,j,i;
            if(h==undefined){
                return g.selectByIndex(-1)
                }
                if(h&&h.call){
                i=h
                }else{
                i=function(f){
                    return f==h
                    }
                }
            if(h!=g.selectedValue){
            e(g.items,function(k,f){
                if(i(k.value)){
                    j=1;
                    g.selectByIndex(f);
                    return false
                    }
                });
        if(!j){
            g.selectByIndex(-1)
            }
        }
    },
selectByIndex:function(f){
    c.get(this.id).selectedIndex=f+1;
    this.selectedValue=this.items[f]?this.items[f].value:null
    },
add:function(j,g,f){
    var i,h=this;
    f=f||{};

    f.value=g;
    if(h.isRendered()){
        c.add(c.get(this.id),"option",f,j)
        }
        i={
        title:j,
        value:g,
        attribs:f
    };

    h.items.push(i);
    h.onAdd.dispatch(h,i)
    },
getLength:function(){
    return this.items.length
    },
renderHTML:function(){
    var g,f=this;
    g=c.createHTML("option",{
        value:""
    },"-- "+f.settings.title+" --");
    e(f.items,function(h){
        g+=c.createHTML("option",{
            value:h.value
            },h.title)
        });
    g=c.createHTML("select",{
        id:f.id,
        "class":"mceNativeListBox"
    },g);
    return g
    },
postRender:function(){
    var g=this,h;
    g.rendered=true;
    function f(j){
        var i=g.items[j.target.selectedIndex-1];
        if(i&&(i=i.value)){
            g.onChange.dispatch(g,i);
            if(g.settings.onselect){
                g.settings.onselect(i)
                }
            }
    }
b.add(g.id,"change",f);
b.add(g.id,"keydown",function(j){
    var i;
    b.remove(g.id,"change",h);
    i=b.add(g.id,"blur",function(){
        b.add(g.id,"change",f);
        b.remove(g.id,"blur",i)
        });
    if(j.keyCode==13||j.keyCode==32){
        f(j);
        return b.cancel(j)
        }
    });
g.onPostRender.dispatch(g,c.get(g.id))
}
})
})(tinymce);
(function(c){
    var b=c.DOM,a=c.dom.Event,d=c.each;
    c.create("tinymce.ui.MenuButton:tinymce.ui.Button",{
        MenuButton:function(f,e){
            this.parent(f,e);
            this.onRenderMenu=new c.util.Dispatcher(this);
            e.menu_container=e.menu_container||b.doc.body
            },
        showMenu:function(){
            var g=this,j,i,h=b.get(g.id),f;
            if(g.isDisabled()){
                return
            }
            if(!g.isMenuRendered){
                g.renderMenu();
                g.isMenuRendered=true
                }
                if(g.isMenuVisible){
                return g.hideMenu()
                }
                j=b.getPos(g.settings.menu_container);
            i=b.getPos(h);
            f=g.menu;
            f.settings.offset_x=i.x;
            f.settings.offset_y=i.y;
            f.settings.vp_offset_x=i.x;
            f.settings.vp_offset_y=i.y;
            f.settings.keyboard_focus=g._focused;
            f.showMenu(0,h.clientHeight);
            a.add(b.doc,"mousedown",g.hideMenu,g);
            g.setState("Selected",1);
            g.isMenuVisible=1
            },
        renderMenu:function(){
            var f=this,e;
            e=f.settings.control_manager.createDropMenu(f.id+"_menu",{
                menu_line:1,
                "class":this.classPrefix+"Menu",
                icons:f.settings.icons
                });
            e.onHideMenu.add(f.hideMenu,f);
            f.onRenderMenu.dispatch(f,e);
            f.menu=e
            },
        hideMenu:function(g){
            var f=this;
            if(g&&g.type=="mousedown"&&b.getParent(g.target,function(h){
                return h.id===f.id||h.id===f.id+"_open"
                })){
                return
            }
            if(!g||!b.getParent(g.target,".mceMenu")){
                f.setState("Selected",0);
                a.remove(b.doc,"mousedown",f.hideMenu,f);
                if(f.menu){
                    f.menu.hideMenu()
                    }
                }
            f.isMenuVisible=0
        },
    postRender:function(){
        var e=this,f=e.settings;
        a.add(e.id,"click",function(){
            if(!e.isDisabled()){
                if(f.onclick){
                    f.onclick(e.value)
                    }
                    e.showMenu()
                }
            })
    }
    })
})(tinymce);
(function(c){
    var b=c.DOM,a=c.dom.Event,d=c.each;
    c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton",{
        SplitButton:function(f,e){
            this.parent(f,e);
            this.classPrefix="mceSplitButton"
            },
        renderHTML:function(){
            var i,f=this,g=f.settings,e;
            i="<tbody><tr>";
            if(g.image){
                e=b.createHTML("img ",{
                    src:g.image,
                    "class":"mceAction "+g["class"]
                    })
                }else{
                e=b.createHTML("span",{
                    "class":"mceAction "+g["class"]
                    },"")
                }
                i+="<td>"+b.createHTML("a",{
                id:f.id+"_action",
                href:"javascript:;",
                "class":"mceAction "+g["class"],
                onclick:"return false;",
                onmousedown:"return false;",
                title:g.title
                },e)+"</td>";
            e=b.createHTML("span",{
                "class":"mceOpen "+g["class"]
                });
            i+="<td>"+b.createHTML("a",{
                id:f.id+"_open",
                href:"javascript:;",
                "class":"mceOpen "+g["class"],
                onclick:"return false;",
                onmousedown:"return false;",
                title:g.title
                },e)+"</td>";
            i+="</tr></tbody>";
            return b.createHTML("table",{
                id:f.id,
                "class":"mceSplitButton mceSplitButtonEnabled "+g["class"],
                cellpadding:"0",
                cellspacing:"0",
                onmousedown:"return false;",
                title:g.title
                },i)
            },
        postRender:function(){
            var e=this,f=e.settings;
            if(f.onclick){
                a.add(e.id+"_action","click",function(){
                    if(!e.isDisabled()){
                        f.onclick(e.value)
                        }
                    })
            }
            a.add(e.id+"_open","click",e.showMenu,e);
        a.add(e.id+"_open","focus",function(){
            e._focused=1
            });
        a.add(e.id+"_open","blur",function(){
            e._focused=0
            });
        if(c.isIE6||!b.boxModel){
            a.add(e.id,"mouseover",function(){
                if(!b.hasClass(e.id,"mceSplitButtonDisabled")){
                    b.addClass(e.id,"mceSplitButtonHover")
                    }
                });
        a.add(e.id,"mouseout",function(){
            if(!b.hasClass(e.id,"mceSplitButtonDisabled")){
                b.removeClass(e.id,"mceSplitButtonHover")
                }
            })
    }
    },
destroy:function(){
    this.parent();
    a.clear(this.id+"_action");
    a.clear(this.id+"_open")
    }
})
})(tinymce);
(function(d){
    var c=d.DOM,a=d.dom.Event,b=d.is,e=d.each;
    d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton",{
        ColorSplitButton:function(h,g){
            var f=this;
            f.parent(h,g);
            f.settings=g=d.extend({
                colors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",
                grid_width:8,
                default_color:"#888888"
            },f.settings);
            f.onShowMenu=new d.util.Dispatcher(f);
            f.onHideMenu=new d.util.Dispatcher(f);
            f.value=g.default_color
            },
        showMenu:function(){
            var f=this,g,j,i,h;
            if(f.isDisabled()){
                return
            }
            if(!f.isMenuRendered){
                f.renderMenu();
                f.isMenuRendered=true
                }
                if(f.isMenuVisible){
                return f.hideMenu()
                }
                i=c.get(f.id);
            c.show(f.id+"_menu");
            c.addClass(i,"mceSplitButtonSelected");
            h=c.getPos(i);
            c.setStyles(f.id+"_menu",{
                left:h.x,
                top:h.y+i.clientHeight,
                zIndex:200000
            });
            i=0;
            a.add(c.doc,"mousedown",f.hideMenu,f);
            f.onShowMenu.dispatch(f);
            if(f._focused){
                f._keyHandler=a.add(f.id+"_menu","keydown",function(k){
                    if(k.keyCode==27){
                        f.hideMenu()
                        }
                    });
            c.select("a",f.id+"_menu")[0].focus()
            }
            f.isMenuVisible=1
        },
    hideMenu:function(g){
        var f=this;
        if(g&&g.type=="mousedown"&&c.getParent(g.target,function(h){
            return h.id===f.id+"_open"
            })){
            return
        }
        if(!g||!c.getParent(g.target,".mceSplitButtonMenu")){
            c.removeClass(f.id,"mceSplitButtonSelected");
            a.remove(c.doc,"mousedown",f.hideMenu,f);
            a.remove(f.id+"_menu","keydown",f._keyHandler);
            c.hide(f.id+"_menu")
            }
            f.onHideMenu.dispatch(f);
        f.isMenuVisible=0
        },
    renderMenu:function(){
        var k=this,f,j=0,l=k.settings,p,h,o,g;
        g=c.add(l.menu_container,"div",{
            id:k.id+"_menu",
            "class":l.menu_class+" "+l["class"],
            style:"position:absolute;left:0;top:-1000px;"
        });
        f=c.add(g,"div",{
            "class":l["class"]+" mceSplitButtonMenu"
            });
        c.add(f,"span",{
            "class":"mceMenuLine"
        });
        p=c.add(f,"table",{
            "class":"mceColorSplitMenu"
        });
        h=c.add(p,"tbody");
        j=0;
        e(b(l.colors,"array")?l.colors:l.colors.split(","),function(i){
            i=i.replace(/^#/,"");
            if(!j--){
                o=c.add(h,"tr");
                j=l.grid_width-1
                }
                p=c.add(o,"td");
            p=c.add(p,"a",{
                href:"javascript:;",
                style:{
                    backgroundColor:"#"+i
                    },
                _mce_color:"#"+i
                })
            });
        if(l.more_colors_func){
            p=c.add(h,"tr");
            p=c.add(p,"td",{
                colspan:l.grid_width,
                "class":"mceMoreColors"
            });
            p=c.add(p,"a",{
                id:k.id+"_more",
                href:"javascript:;",
                onclick:"return false;",
                "class":"mceMoreColors"
            },l.more_colors_title);
            a.add(p,"click",function(i){
                l.more_colors_func.call(l.more_colors_scope||this);
                return a.cancel(i)
                })
            }
            c.addClass(f,"mceColorSplitMenu");
        a.add(k.id+"_menu","click",function(i){
            var m;
            i=i.target;
            if(i.nodeName=="A"&&(m=i.getAttribute("_mce_color"))){
                k.setColor(m)
                }
                return a.cancel(i)
            });
        return g
        },
    setColor:function(g){
        var f=this;
        c.setStyle(f.id+"_preview","backgroundColor",g);
        f.value=g;
        f.hideMenu();
        f.settings.onselect(g)
        },
    postRender:function(){
        var f=this,g=f.id;
        f.parent();
        c.add(g+"_action","div",{
            id:g+"_preview",
            "class":"mceColorPreview"
        });
        c.setStyle(f.id+"_preview","backgroundColor",f.value)
        },
    destroy:function(){
        this.parent();
        a.clear(this.id+"_menu");
        a.clear(this.id+"_more");
        c.remove(this.id+"_menu")
        }
    })
})(tinymce);
tinymce.create("tinymce.ui.Toolbar:tinymce.ui.Container",{
    renderHTML:function(){
        var l=this,e="",g,j,b=tinymce.DOM,m=l.settings,d,a,f,k;
        k=l.controls;
        for(d=0;d<k.length;d++){
            j=k[d];
            a=k[d-1];
            f=k[d+1];
            if(d===0){
                g="mceToolbarStart";
                if(j.Button){
                    g+=" mceToolbarStartButton"
                    }else{
                    if(j.SplitButton){
                        g+=" mceToolbarStartSplitButton"
                        }else{
                        if(j.ListBox){
                            g+=" mceToolbarStartListBox"
                            }
                        }
                }
            e+=b.createHTML("td",{
            "class":g
        },b.createHTML("span",null,"<!-- IE -->"))
            }
            if(a&&j.ListBox){
            if(a.Button||a.SplitButton){
                e+=b.createHTML("td",{
                    "class":"mceToolbarEnd"
                },b.createHTML("span",null,"<!-- IE -->"))
                }
            }
        if(b.stdMode){
        e+='<td style="position: relative">'+j.renderHTML()+"</td>"
        }else{
        e+="<td>"+j.renderHTML()+"</td>"
        }
        if(f&&j.ListBox){
        if(f.Button||f.SplitButton){
            e+=b.createHTML("td",{
                "class":"mceToolbarStart"
            },b.createHTML("span",null,"<!-- IE -->"))
            }
        }
}
g="mceToolbarEnd";
if(j.Button){
    g+=" mceToolbarEndButton"
    }else{
    if(j.SplitButton){
        g+=" mceToolbarEndSplitButton"
        }else{
        if(j.ListBox){
            g+=" mceToolbarEndListBox"
            }
        }
}
e+=b.createHTML("td",{
    "class":g
},b.createHTML("span",null,"<!-- IE -->"));
return b.createHTML("table",{
    id:l.id,
    "class":"mceToolbar"+(m["class"]?" "+m["class"]:""),
    cellpadding:"0",
    cellspacing:"0",
    align:l.settings.align||""
    },"<tbody><tr>"+e+"</tr></tbody>")
}
});
(function(b){
    var a=b.util.Dispatcher,c=b.each;
    b.create("tinymce.AddOnManager",{
        items:[],
        urls:{},
        lookup:{},
        onAdd:new a(this),
        get:function(d){
            return this.lookup[d]
            },
        requireLangPack:function(e){
            var d=b.settings;
            if(d&&d.language){
                b.ScriptLoader.add(this.urls[e]+"/langs/"+d.language+".js")
                }
            },
    add:function(e,d){
        this.items.push(d);
        this.lookup[e]=d;
        this.onAdd.dispatch(this,e,d);
        return d
        },
    load:function(h,e,d,g){
        var f=this;
        if(f.urls[h]){
            return
        }
        if(e.indexOf("/")!=0&&e.indexOf("://")==-1){
            e=b.baseURL+"/"+e
            }
            f.urls[h]=e.substring(0,e.lastIndexOf("/"));
        b.ScriptLoader.add(e,d,g)
        }
    });
b.PluginManager=new b.AddOnManager();
    b.ThemeManager=new b.AddOnManager()
    }(tinymce));
(function(j){
    var g=j.each,d=j.extend,k=j.DOM,i=j.dom.Event,f=j.ThemeManager,b=j.PluginManager,e=j.explode,h=j.util.Dispatcher,a,c=0;
    j.documentBaseURL=window.location.href.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,"");
    if(!/[\/\\]$/.test(j.documentBaseURL)){
        j.documentBaseURL+="/"
        }
        j.baseURL=new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);
    j.baseURI=new j.util.URI(j.baseURL);
    j.onBeforeUnload=new h(j);
    i.add(window,"beforeunload",function(l){
        j.onBeforeUnload.dispatch(j,l)
        });
    j.onAddEditor=new h(j);
    j.onRemoveEditor=new h(j);
    j.EditorManager=d(j,{
        editors:[],
        i18n:{},
        activeEditor:null,
        init:function(q){
            var n=this,p,l=j.ScriptLoader,u,o=[],m;
            function r(x,y,t){
                var v=x[y];
                if(!v){
                    return
                }
                if(j.is(v,"string")){
                    t=v.replace(/\.\w+$/,"");
                    t=t?j.resolve(t):0;
                    v=j.resolve(v)
                    }
                    return v.apply(t||this,Array.prototype.slice.call(arguments,2))
                }
                q=d({
                theme:"simple",
                language:"en"
            },q);
            n.settings=q;
            i.add(document,"init",function(){
                var s,v;
                r(q,"onpageload");
                switch(q.mode){
                    case"exact":
                        s=q.elements||"";
                        if(s.length>0){
                        g(e(s),function(x){
                            if(k.get(x)){
                                m=new j.Editor(x,q);
                                o.push(m);
                                m.render(1)
                                }else{
                                g(document.forms,function(y){
                                    g(y.elements,function(z){
                                        if(z.name===x){
                                            x="mce_editor_"+c++;
                                            k.setAttrib(z,"id",x);
                                            m=new j.Editor(x,q);
                                            o.push(m);
                                            m.render(1)
                                            }
                                        })
                                })
                            }
                        })
                    }
                    break;
            case"textareas":case"specific_textareas":
                function t(y,x){
                return x.constructor===RegExp?x.test(y.className):k.hasClass(y,x)
                }
                g(k.select("textarea"),function(x){
                if(q.editor_deselector&&t(x,q.editor_deselector)){
                    return
                }
                if(!q.editor_selector||t(x,q.editor_selector)){
                    u=k.get(x.name);
                    if(!x.id&&!u){
                        x.id=x.name
                        }
                        if(!x.id||n.get(x.id)){
                        x.id=k.uniqueId()
                        }
                        m=new j.Editor(x.id,q);
                    o.push(m);
                    m.render(1)
                    }
                });
            break
            }
            if(q.oninit){
            s=v=0;
            g(o,function(x){
                v++;
                if(!x.initialized){
                    x.onInit.add(function(){
                        s++;
                        if(s==v){
                            r(q,"oninit")
                            }
                        })
                }else{
                s++
            }
            if(s==v){
                r(q,"oninit")
                }
            })
    }
    })
},
get:function(l){
    if(l===a){
        return this.editors
        }
        return this.editors[l]
    },
getInstanceById:function(l){
    return this.get(l)
    },
add:function(m){
    var l=this,n=l.editors;
    n[m.id]=m;
    n.push(m);
    l._setActive(m);
    l.onAddEditor.dispatch(l,m);
    if(j.adapter){
        j.adapter.patchEditor(m)
        }
        return m
    },
remove:function(n){
    var m=this,l,o=m.editors;
    if(!o[n.id]){
        return null
        }
        delete o[n.id];
    for(l=0;l<o.length;l++){
        if(o[l]==n){
            o.splice(l,1);
            break
        }
    }
    if(m.activeEditor==n){
    m._setActive(o[0])
    }
    n.destroy();
m.onRemoveEditor.dispatch(m,n);
return n
},
execCommand:function(r,p,o){
    var q=this,n=q.get(o),l;
    switch(r){
        case"mceFocus":
            n.focus();
            return true;
        case"mceAddEditor":case"mceAddControl":
            if(!q.get(o)){
            new j.Editor(o,q.settings).render()
            }
            return true;
        case"mceAddFrameControl":
            l=o.window;
            l.tinyMCE=tinyMCE;
            l.tinymce=j;
            j.DOM.doc=l.document;
            j.DOM.win=l;
            n=new j.Editor(o.element_id,o);
            n.render();
            if(j.isIE){
            function m(){
                n.destroy();
                l.detachEvent("onunload",m);
                l=l.tinyMCE=l.tinymce=null
                }
                l.attachEvent("onunload",m)
            }
            o.page_window=null;
        return true;
        case"mceRemoveEditor":case"mceRemoveControl":
            if(n){
            n.remove()
            }
            return true;
        case"mceToggleEditor":
            if(!n){
            q.execCommand("mceAddControl",0,o);
            return true
            }
            if(n.isHidden()){
            n.show()
            }else{
            n.hide()
            }
            return true
        }
        if(q.activeEditor){
        return q.activeEditor.execCommand(r,p,o)
        }
        return false
    },
execInstanceCommand:function(p,o,n,m){
    var l=this.get(p);
    if(l){
        return l.execCommand(o,n,m)
        }
        return false
    },
triggerSave:function(){
    g(this.editors,function(l){
        l.save()
        })
    },
addI18n:function(n,q){
    var l,m=this.i18n;
    if(!j.is(n,"string")){
        g(n,function(r,p){
            g(r,function(t,s){
                g(t,function(v,u){
                    if(s==="common"){
                        m[p+"."+u]=v
                        }else{
                        m[p+"."+s+"."+u]=v
                        }
                    })
            })
        })
    }else{
    g(q,function(r,p){
        m[n+"."+p]=r
        })
    }
},
_setActive:function(l){
    this.selectedInstance=this.activeEditor=l
    }
})
})(tinymce);
(function(m){
    var n=m.DOM,j=m.dom.Event,f=m.extend,k=m.util.Dispatcher,i=m.each,a=m.isGecko,b=m.isIE,e=m.isWebKit,d=m.is,h=m.ThemeManager,c=m.PluginManager,o=m.inArray,l=m.grep,g=m.explode;
    m.create("tinymce.Editor",{
        Editor:function(r,q){
            var p=this;
            p.id=p.editorId=r;
            p.execCommands={};

            p.queryStateCommands={};

            p.queryValueCommands={};

            p.isNotDirty=false;
            p.plugins={};

            i(["onPreInit","onBeforeRenderUI","onPostRender","onInit","onRemove","onActivate","onDeactivate","onClick","onEvent","onMouseUp","onMouseDown","onDblClick","onKeyDown","onKeyUp","onKeyPress","onContextMenu","onSubmit","onReset","onPaste","onPreProcess","onPostProcess","onBeforeSetContent","onBeforeGetContent","onSetContent","onGetContent","onLoadContent","onSaveContent","onNodeChange","onChange","onBeforeExecCommand","onExecCommand","onUndo","onRedo","onVisualAid","onSetProgressState"],function(s){
                p[s]=new k(p)
                });
            p.settings=q=f({
                id:r,
                language:"en",
                docs_language:"en",
                theme:"simple",
                skin:"default",
                delta_width:0,
                delta_height:0,
                popup_css:"",
                plugins:"",
                document_base_url:m.documentBaseURL,
                add_form_submit_trigger:1,
                submit_patch:1,
                add_unload_trigger:1,
                convert_urls:1,
                relative_urls:1,
                remove_script_host:1,
                table_inline_editing:0,
                object_resizing:1,
                cleanup:1,
                accessibility_focus:1,
                custom_shortcuts:1,
                custom_undo_redo_keyboard_shortcuts:1,
                custom_undo_redo_restore_selection:1,
                custom_undo_redo:1,
                doctype:m.isIE6?'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">':"<!DOCTYPE>",
                visual_table_class:"mceItemTable",
                visual:1,
                font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",
                apply_source_formatting:1,
                directionality:"ltr",
                forced_root_block:"p",
                valid_elements:"@[id|class|style|title|dir<ltr?rtl|lang|xml::lang|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],a[rel|rev|charset|hreflang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur],strong/b,em/i,strike,u,#p,-ol[type|compact],-ul[type|compact],-li,br,img[longdesc|usemap|src|border|alt=|title|hspace|vspace|width|height|align],-sub,-sup,-blockquote[cite],-table[border|cellspacing|cellpadding|width|frame|rules|height|align|summary|bgcolor|background|bordercolor],-tr[rowspan|width|height|align|valign|bgcolor|background|bordercolor],tbody,thead,tfoot,#td[colspan|rowspan|width|height|align|valign|bgcolor|background|bordercolor|scope],#th[colspan|rowspan|width|height|align|valign|scope],caption,-div,-span,-code,-pre,address,-h1,-h2,-h3,-h4,-h5,-h6,hr[size|noshade],-font[face|size|color],dd,dl,dt,cite,abbr,acronym,del[datetime|cite],ins[datetime|cite],object[classid|width|height|codebase|*],param[name|value],embed[type|width|height|src|*],script[src|type],map[name],area[shape|coords|href|alt|target],bdo,button,col[align|char|charoff|span|valign|width],colgroup[align|char|charoff|span|valign|width],dfn,fieldset,form[action|accept|accept-charset|enctype|method],input[accept|alt|checked|disabled|maxlength|name|readonly|size|src|type|value|tabindex|accesskey],kbd,label[for],legend,noscript,optgroup[label|disabled],option[disabled|label|selected|value],q[cite],samp,select[disabled|multiple|name|size],small,textarea[cols|rows|disabled|name|readonly],tt,var,big",
                hidden_input:1,
                padd_empty_editor:1,
                render_ui:1,
                init_theme:1,
                force_p_newlines:1,
                indentation:"30px",
                keep_styles:1,
                fix_table_elements:1,
                inline_styles:1,
                convert_fonts_to_spans:true
            },q);
            p.documentBaseURI=new m.util.URI(q.document_base_url||m.documentBaseURL,{
                base_uri:tinyMCE.baseURI
                });
            p.baseURI=m.baseURI;
            p.execCallback("setup",p)
            },
        render:function(r){
            var u=this,v=u.settings,x=u.id,p=m.ScriptLoader;
            if(!j.domLoaded){
                j.add(document,"init",function(){
                    u.render()
                    });
                return
            }
            tinyMCE.settings=v;
            if(!u.getElement()){
                return
            }
            if(m.isIDevice){
                return
            }
            if(!/TEXTAREA|INPUT/i.test(u.getElement().nodeName)&&v.hidden_input&&n.getParent(x,"form")){
                n.insertAfter(n.create("input",{
                    type:"hidden",
                    name:x
                }),x)
                }
                if(m.WindowManager){
                u.windowManager=new m.WindowManager(u)
                }
                if(v.encoding=="xml"){
                u.onGetContent.add(function(s,t){
                    if(t.save){
                        t.content=n.encode(t.content)
                        }
                    })
            }
            if(v.add_form_submit_trigger){
            u.onSubmit.addToTop(function(){
                if(u.initialized){
                    u.save();
                    u.isNotDirty=1
                    }
                })
        }
        if(v.add_unload_trigger){
        u._beforeUnload=tinyMCE.onBeforeUnload.add(function(){
            if(u.initialized&&!u.destroyed&&!u.isHidden()){
                u.save({
                    format:"raw",
                    no_events:true
                })
                }
            })
    }
    m.addUnload(u.destroy,u);
    if(v.submit_patch){
        u.onBeforeRenderUI.add(function(){
            var s=u.getElement().form;
            if(!s){
                return
            }
            if(s._mceOldSubmit){
                return
            }
            if(!s.submit.nodeType&&!s.submit.length){
                u.formElement=s;
                s._mceOldSubmit=s.submit;
                s.submit=function(){
                    m.triggerSave();
                    u.isNotDirty=1;
                    return u.formElement._mceOldSubmit(u.formElement)
                    }
                }
            s=null
        })
    }
    function q(){
    if(v.language){
        p.add(m.baseURL+"/langs/"+v.language+".js")
        }
        if(v.theme&&v.theme.charAt(0)!="-"&&!h.urls[v.theme]){
        h.load(v.theme,"themes/"+v.theme+"/editor_template"+m.suffix+".js")
        }
        i(g(v.plugins),function(s){
        if(s&&s.charAt(0)!="-"&&!c.urls[s]){
            if(s=="safari"){
                return
            }
            c.load(s,"plugins/"+s+"/editor_plugin"+m.suffix+".js")
            }
        });
p.loadQueue(function(){
    if(!u.removed){
        u.init()
        }
    })
}
q()
},
init:function(){
    var r,E=this,F=E.settings,B,y,A=E.getElement(),q,p,C,x,z,D;
    m.add(E);
    if(F.theme){
        F.theme=F.theme.replace(/-/,"");
        q=h.get(F.theme);
        E.theme=new q();
        if(E.theme.init&&F.init_theme){
            E.theme.init(E,h.urls[F.theme]||m.documentBaseURL.replace(/\/$/,""))
            }
        }
    i(g(F.plugins.replace(/\-/g,"")),function(G){
    var H=c.get(G),t=c.urls[G]||m.documentBaseURL.replace(/\/$/,""),s;
    if(H){
        s=new H(E,t);
        E.plugins[G]=s;
        if(s.init){
            s.init(E,t)
            }
        }
});
if(F.popup_css!==false){
    if(F.popup_css){
        F.popup_css=E.documentBaseURI.toAbsolute(F.popup_css)
        }else{
        F.popup_css=E.baseURI.toAbsolute("themes/"+F.theme+"/skins/"+F.skin+"/dialog.css")
        }
    }
if(F.popup_css_add){
    F.popup_css+=","+E.documentBaseURI.toAbsolute(F.popup_css_add)
    }
    E.controlManager=new m.ControlManager(E);
if(F.custom_undo_redo){
    E.onBeforeExecCommand.add(function(t,G,u,H,s){
        if(G!="Undo"&&G!="Redo"&&G!="mceRepaint"&&(!s||!s.skip_undo)){
            if(!E.undoManager.hasUndo()){
                E.undoManager.add()
                }
            }
    });
E.onExecCommand.add(function(t,G,u,H,s){
    if(G!="Undo"&&G!="Redo"&&G!="mceRepaint"&&(!s||!s.skip_undo)){
        E.undoManager.add()
        }
    })
}
E.onExecCommand.add(function(s,t){
    if(!/^(FontName|FontSize)$/.test(t)){
        E.nodeChanged()
        }
    });
if(a){
    function v(s,t){
        if(!t||!t.initial){
            E.execCommand("mceRepaint")
            }
        }
    E.onUndo.add(v);
E.onRedo.add(v);
E.onSetContent.add(v)
}
E.onBeforeRenderUI.dispatch(E,E.controlManager);
if(F.render_ui){
    B=F.width||A.style.width||A.offsetWidth;
    y=F.height||A.style.height||A.offsetHeight;
    E.orgDisplay=A.style.display;
    D=/^[0-9\.]+(|px)$/i;
    if(D.test(""+B)){
        B=Math.max(parseInt(B)+(q.deltaWidth||0),100)
        }
        if(D.test(""+y)){
        y=Math.max(parseInt(y)+(q.deltaHeight||0),100)
        }
        q=E.theme.renderUI({
        targetNode:A,
        width:B,
        height:y,
        deltaWidth:F.delta_width,
        deltaHeight:F.delta_height
        });
    E.editorContainer=q.editorContainer
    }
    if(document.domain&&location.hostname!=document.domain){
    m.relaxedDomain=document.domain
    }
    n.setStyles(q.sizeContainer||q.editorContainer,{
    width:B,
    height:y
});
y=(q.iframeHeight||y)+(typeof(y)=="number"?(q.deltaHeight||0):"");
if(y<100){
    y=100
    }
    E.iframeHTML=F.doctype+'<html><head xmlns="http://www.w3.org/1999/xhtml">';
if(F.document_base_url!=m.documentBaseURL){
    E.iframeHTML+='<base href="'+E.documentBaseURI.getURI()+'" />'
    }
    E.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" /><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
if(m.relaxedDomain){
    E.iframeHTML+='<script type="text/javascript">document.domain = "'+m.relaxedDomain+'";<\/script>'
    }
    x=F.body_id||"tinymce";
if(x.indexOf("=")!=-1){
    x=E.getParam("body_id","","hash");
    x=x[E.id]||x
    }
    z=F.body_class||"";
if(z.indexOf("=")!=-1){
    z=E.getParam("body_class","","hash");
    z=z[E.id]||""
    }
    E.iframeHTML+='</head><body id="'+x+'" class="mceContentBody '+z+'"></body></html>';
if(m.relaxedDomain){
    if(b||(m.isOpera&&parseFloat(opera.version())>=9.5)){
        C='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+E.id+'");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()'
        }else{
        if(m.isOpera){
            C='javascript:(function(){document.open();document.domain="'+document.domain+'";document.close();ed.setupIframe();})()'
            }
        }
}
r=n.add(q.iframeContainer,"iframe",{
    id:E.id+"_ifr",
    src:C||'javascript:""',
    frameBorder:"0",
    style:{
        width:"600px"
    }
});
E.contentAreaContainer=q.iframeContainer;
n.get(q.editorContainer).style.display=E.orgDisplay;
n.get(E.id).style.display="none";
if(!b||!m.relaxedDomain){
    E.setupIframe()
    }
    A=r=q=null
},
setupIframe:function(){
    var z=this,A=z.settings,r=n.get(z.id),u=z.getDoc(),q,x;
    if(!b||!m.relaxedDomain){
        u.open();
        u.write(z.iframeHTML);
        u.close()
        }
        if(!b){
        try{
            if(!A.readonly){
                u.designMode="On"
                }
            }catch(v){}
}
if(b){
    x=z.getBody();
    n.hide(x);
    if(!A.readonly){
        x.contentEditable=true
        }
        n.show(x)
    }
    z.dom=new m.dom.DOMUtils(z.getDoc(),{
    keep_values:true,
    url_converter:z.convertURL,
    url_converter_scope:z,
    hex_colors:A.force_hex_style_colors,
    class_filter:A.class_filter,
    update_styles:1,
    fix_ie_paragraphs:1,
    valid_styles:A.valid_styles
    });
z.schema=new m.dom.Schema();
z.serializer=new m.dom.Serializer(f(A,{
    valid_elements:A.verify_html===false?"*[*]":A.valid_elements,
    dom:z.dom,
    schema:z.schema
    }));
z.selection=new m.dom.Selection(z.dom,z.getWin(),z.serializer);
z.formatter=new m.Formatter(this);
z.formatter.register({
    alignleft:[{
        selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
        styles:{
            textAlign:"left"
        }
    },{
    selector:"img,table",
    styles:{
        "float":"left"
    }
}],
aligncenter:[{
    selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
    styles:{
        textAlign:"center"
    }
},{
    selector:"img",
    styles:{
        display:"block",
        marginLeft:"auto",
        marginRight:"auto"
    }
},{
    selector:"table",
    styles:{
        marginLeft:"auto",
        marginRight:"auto"
    }
}],
alignright:[{
    selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
    styles:{
        textAlign:"right"
    }
},{
    selector:"img,table",
    styles:{
        "float":"right"
    }
}],
alignfull:[{
    selector:"p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
    styles:{
        textAlign:"justify"
    }
}],
bold:[{
    inline:"strong"
},{
    inline:"span",
    styles:{
        fontWeight:"bold"
    }
},{
    inline:"b"
}],
italic:[{
    inline:"em"
},{
    inline:"span",
    styles:{
        fontStyle:"italic"
    }
},{
    inline:"i"
}],
underline:[{
    inline:"span",
    styles:{
        textDecoration:"underline"
    },
    exact:true
},{
    inline:"u"
}],
strikethrough:[{
    inline:"span",
    styles:{
        textDecoration:"line-through"
    },
    exact:true
},{
    inline:"u"
}],
forecolor:{
    inline:"span",
    styles:{
        color:"%value"
    }
},
hilitecolor:{
    inline:"span",
    styles:{
        backgroundColor:"%value"
    }
},
fontname:{
    inline:"span",
    styles:{
        fontFamily:"%value"
    }
},
fontsize:{
    inline:"span",
    styles:{
        fontSize:"%value"
    }
},
fontsize_class:{
    inline:"span",
    attributes:{
        "class":"%value"
    }
},
blockquote:{
    block:"blockquote",
    wrapper:1,
    remove:"all"
},
removeformat:[{
    selector:"b,strong,em,i,font,u,strike",
    remove:"all",
    split:true,
    expand:false,
    block_expand:true,
    deep:true
},{
    selector:"span",
    attributes:["style","class"],
    remove:"empty",
    split:true,
    expand:false,
    deep:true
},{
    selector:"*",
    attributes:["style","class"],
    split:false,
    expand:false,
    deep:true
}]
});
i("p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),function(s){
    z.formatter.register(s,{
        block:s,
        remove:"all"
    })
    });
z.formatter.register(z.settings.formats);
z.undoManager=new m.UndoManager(z);
z.undoManager.onAdd.add(function(t,s){
    if(!s.initial){
        return z.onChange.dispatch(z,s,t)
        }
    });
z.undoManager.onUndo.add(function(t,s){
    return z.onUndo.dispatch(z,s,t)
    });
z.undoManager.onRedo.add(function(t,s){
    return z.onRedo.dispatch(z,s,t)
    });
z.forceBlocks=new m.ForceBlocks(z,{
    forced_root_block:A.forced_root_block
    });
z.editorCommands=new m.EditorCommands(z);
z.serializer.onPreProcess.add(function(s,t){
    return z.onPreProcess.dispatch(z,t,s)
    });
z.serializer.onPostProcess.add(function(s,t){
    return z.onPostProcess.dispatch(z,t,s)
    });
z.onPreInit.dispatch(z);
if(!A.gecko_spellcheck){
    z.getBody().spellcheck=0
    }
    if(!A.readonly){
    z._addEvents()
    }
    z.controlManager.onPostRender.dispatch(z,z.controlManager);
z.onPostRender.dispatch(z);
if(A.directionality){
    z.getBody().dir=A.directionality
    }
    if(A.nowrap){
    z.getBody().style.whiteSpace="nowrap"
    }
    if(A.custom_elements){
    function y(s,t){
        i(g(A.custom_elements),function(B){
            var C;
            if(B.indexOf("~")===0){
                B=B.substring(1);
                C="span"
                }else{
                C="div"
                }
                t.content=t.content.replace(new RegExp("<("+B+")([^>]*)>","g"),"<"+C+' _mce_name="$1"$2>');
            t.content=t.content.replace(new RegExp("</("+B+")>","g"),"</"+C+">")
            })
        }
        z.onBeforeSetContent.add(y);
    z.onPostProcess.add(function(s,t){
        if(t.set){
            y(s,t)
            }
        })
}
if(A.handle_node_change_callback){
    z.onNodeChange.add(function(t,s,B){
        z.execCallback("handle_node_change_callback",z.id,B,-1,-1,true,z.selection.isCollapsed())
        })
    }
    if(A.save_callback){
    z.onSaveContent.add(function(s,B){
        var t=z.execCallback("save_callback",z.id,B.content,z.getBody());
        if(t){
            B.content=t
            }
        })
}
if(A.onchange_callback){
    z.onChange.add(function(t,s){
        z.execCallback("onchange_callback",z,s)
        })
    }
    if(A.convert_newlines_to_brs){
    z.onBeforeSetContent.add(function(s,t){
        if(t.initial){
            t.content=t.content.replace(/\r?\n/g,"<br />")
            }
        })
}
if(A.fix_nesting&&b){
    z.onBeforeSetContent.add(function(s,t){
        t.content=z._fixNesting(t.content)
        })
    }
    if(A.preformatted){
    z.onPostProcess.add(function(s,t){
        t.content=t.content.replace(/^\s*<pre.*?>/,"");
        t.content=t.content.replace(/<\/pre>\s*$/,"");
        if(t.set){
            t.content='<pre class="mceItemHidden">'+t.content+"</pre>"
            }
        })
}
if(A.verify_css_classes){
    z.serializer.attribValueFilter=function(D,B){
        var C,t;
        if(D=="class"){
            if(!z.classesRE){
                t=z.dom.getClasses();
                if(t.length>0){
                    C="";
                    i(t,function(s){
                        C+=(C?"|":"")+s["class"]
                        });
                    z.classesRE=new RegExp("("+C+")","gi")
                    }
                }
            return !z.classesRE||/(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(B)||z.classesRE.test(B)?B:""
        }
        return B
    }
}
if(A.cleanup_callback){
    z.onBeforeSetContent.add(function(s,t){
        t.content=z.execCallback("cleanup_callback","insert_to_editor",t.content,t)
        });
    z.onPreProcess.add(function(s,t){
        if(t.set){
            z.execCallback("cleanup_callback","insert_to_editor_dom",t.node,t)
            }
            if(t.get){
            z.execCallback("cleanup_callback","get_from_editor_dom",t.node,t)
            }
        });
z.onPostProcess.add(function(s,t){
    if(t.set){
        t.content=z.execCallback("cleanup_callback","insert_to_editor",t.content,t)
        }
        if(t.get){
        t.content=z.execCallback("cleanup_callback","get_from_editor",t.content,t)
        }
    })
}
if(A.save_callback){
    z.onGetContent.add(function(s,t){
        if(t.save){
            t.content=z.execCallback("save_callback",z.id,t.content,z.getBody())
            }
        })
}
if(A.handle_event_callback){
    z.onEvent.add(function(s,t,B){
        if(z.execCallback("handle_event_callback",t,s,B)===false){
            j.cancel(t)
            }
        })
}
z.onSetContent.add(function(){
    z.addVisual(z.getBody())
    });
if(A.padd_empty_editor){
    z.onPostProcess.add(function(s,t){
        t.content=t.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")
        })
    }
    if(a){
    function p(s,t){
        i(s.dom.select("a"),function(C){
            var B=C.parentNode;
            if(s.dom.isBlock(B)&&B.lastChild===C){
                s.dom.add(B,"br",{
                    _mce_bogus:1
                })
                }
            })
    }
    z.onExecCommand.add(function(s,t){
    if(t==="CreateLink"){
        p(s)
        }
    });
z.onSetContent.add(z.selection.onSetContent.add(p));
if(!A.readonly){
    try{
        u.designMode="Off";
        u.designMode="On"
        }catch(v){}
}
}
setTimeout(function(){
    if(z.removed){
        return
    }
    z.load({
        initial:true,
        format:(A.cleanup_on_startup?"html":"raw")
        });
    z.startContent=z.getContent({
        format:"raw"
    });
    z.initialized=true;
    z.onInit.dispatch(z);
    z.execCallback("setupcontent_callback",z.id,z.getBody(),z.getDoc());
    z.execCallback("init_instance_callback",z);
    z.focus(true);
    z.nodeChanged({
        initial:1
    });
    if(A.content_css){
        m.each(g(A.content_css),function(s){
            z.dom.loadCSS(z.documentBaseURI.toAbsolute(s))
            })
        }
        if(A.auto_focus){
        setTimeout(function(){
            var s=m.get(A.auto_focus);
            s.selection.select(s.getBody(),1);
            s.selection.collapse(1);
            s.getWin().focus()
            },100)
        }
    },1);
r=null
},
focus:function(s){
    var x,q=this,v=q.settings.content_editable,r,p,u=q.getDoc();
    if(!s){
        r=q.selection.getRng();
        if(r.item){
            p=r.item(0)
            }
            if(!v){
            q.getWin().focus()
            }
            if(p&&p.ownerDocument==u){
            r=u.body.createControlRange();
            r.addElement(p);
            r.select()
            }
        }
    if(m.activeEditor!=q){
    if((x=m.activeEditor)!=null){
        x.onDeactivate.dispatch(x,q)
        }
        q.onActivate.dispatch(q,x)
    }
    m._setActive(q)
},
execCallback:function(u){
    var p=this,r=p.settings[u],q;
    if(!r){
        return
    }
    if(p.callbackLookup&&(q=p.callbackLookup[u])){
        r=q.func;
        q=q.scope
        }
        if(d(r,"string")){
        q=r.replace(/\.\w+$/,"");
        q=q?m.resolve(q):0;
        r=m.resolve(r);
        p.callbackLookup=p.callbackLookup||{};

        p.callbackLookup[u]={
            func:r,
            scope:q
        }
    }
    return r.apply(q||p,Array.prototype.slice.call(arguments,1))
},
translate:function(p){
    var r=this.settings.language||"en",q=m.i18n;
    if(!p){
        return""
        }
        return q[r+"."+p]||p.replace(/{\#([^}]+)\}/g,function(t,s){
        return q[r+"."+s]||"{#"+s+"}"
        })
    },
getLang:function(q,p){
    return m.i18n[(this.settings.language||"en")+"."+q]||(d(p)?p:"{#"+q+"}")
    },
getParam:function(u,r,p){
    var s=m.trim,q=d(this.settings[u])?this.settings[u]:r,t;
    if(p==="hash"){
        t={};

        if(d(q,"string")){
            i(q.indexOf("=")>0?q.split(/[;,](?![^=;,]*(?:[;,]|$))/):q.split(","),function(x){
                x=x.split("=");
                if(x.length>1){
                    t[s(x[0])]=s(x[1])
                    }else{
                    t[s(x[0])]=s(x)
                    }
                })
        }else{
        t=q
        }
        return t
    }
    return q
},
nodeChanged:function(r){
    var p=this,q=p.selection,u=(b?q.getNode():q.getStart())||p.getBody();
    if(p.initialized){
        r=r||{};

        u=b&&u.ownerDocument!=p.getDoc()?p.getBody():u;
        r.parents=[];
        p.dom.getParent(u,function(s){
            if(s.nodeName=="BODY"){
                return true
                }
                r.parents.push(s)
            });
        p.onNodeChange.dispatch(p,r?r.controlManager||p.controlManager:p.controlManager,u,q.isCollapsed(),r)
        }
    },
addButton:function(r,q){
    var p=this;
    p.buttons=p.buttons||{};

    p.buttons[r]=q
    },
addCommand:function(r,q,p){
    this.execCommands[r]={
        func:q,
        scope:p||this
        }
    },
addQueryStateHandler:function(r,q,p){
    this.queryStateCommands[r]={
        func:q,
        scope:p||this
        }
    },
addQueryValueHandler:function(r,q,p){
    this.queryValueCommands[r]={
        func:q,
        scope:p||this
        }
    },
addShortcut:function(r,u,p,s){
    var q=this,v;
    if(!q.settings.custom_shortcuts){
        return false
        }
        q.shortcuts=q.shortcuts||{};

    if(d(p,"string")){
        v=p;
        p=function(){
            q.execCommand(v,false,null)
            }
        }
    if(d(p,"object")){
    v=p;
    p=function(){
        q.execCommand(v[0],v[1],v[2])
        }
    }
i(g(r),function(t){
    var x={
        func:p,
        scope:s||this,
        desc:u,
        alt:false,
        ctrl:false,
        shift:false
    };

    i(g(t,"+"),function(y){
        switch(y){
            case"alt":case"ctrl":case"shift":
                x[y]=true;
                break;
            default:
                x.charCode=y.charCodeAt(0);
                x.keyCode=y.toUpperCase().charCodeAt(0)
                }
            });
q.shortcuts[(x.ctrl?"ctrl":"")+","+(x.alt?"alt":"")+","+(x.shift?"shift":"")+","+x.keyCode]=x
    });
return true
},
execCommand:function(x,v,z,p){
    var r=this,u=0,y,q;
    if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(x)&&(!p||!p.skip_focus)){
        r.focus()
        }
        y={};

    r.onBeforeExecCommand.dispatch(r,x,v,z,y);
    if(y.terminate){
        return false
        }
        if(r.execCallback("execcommand_callback",r.id,r.selection.getNode(),x,v,z)){
        r.onExecCommand.dispatch(r,x,v,z,p);
        return true
        }
        if(y=r.execCommands[x]){
        q=y.func.call(y.scope,v,z);
        if(q!==true){
            r.onExecCommand.dispatch(r,x,v,z,p);
            return q
            }
        }
    i(r.plugins,function(s){
    if(s.execCommand&&s.execCommand(x,v,z)){
        r.onExecCommand.dispatch(r,x,v,z,p);
        u=1;
        return false
        }
    });
if(u){
    return true
    }
    if(r.theme&&r.theme.execCommand&&r.theme.execCommand(x,v,z)){
    r.onExecCommand.dispatch(r,x,v,z,p);
    return true
    }
    if(m.GlobalCommands.execCommand(r,x,v,z)){
    r.onExecCommand.dispatch(r,x,v,z,p);
    return true
    }
    if(r.editorCommands.execCommand(x,v,z)){
    r.onExecCommand.dispatch(r,x,v,z,p);
    return true
    }
    r.getDoc().execCommand(x,v,z);
r.onExecCommand.dispatch(r,x,v,z,p)
},
queryCommandState:function(u){
    var q=this,v,r;
    if(q._isHidden()){
        return
    }
    if(v=q.queryStateCommands[u]){
        r=v.func.call(v.scope);
        if(r!==true){
            return r
            }
        }
    v=q.editorCommands.queryCommandState(u);
if(v!==-1){
    return v
    }
    try{
    return this.getDoc().queryCommandState(u)
    }catch(p){}
},
queryCommandValue:function(v){
    var q=this,u,r;
    if(q._isHidden()){
        return
    }
    if(u=q.queryValueCommands[v]){
        r=u.func.call(u.scope);
        if(r!==true){
            return r
            }
        }
    u=q.editorCommands.queryCommandValue(v);
if(d(u)){
    return u
    }
    try{
    return this.getDoc().queryCommandValue(v)
    }catch(p){}
},
show:function(){
    var p=this;
    n.show(p.getContainer());
    n.hide(p.id);
    p.load()
    },
hide:function(){
    var p=this,q=p.getDoc();
    if(b&&q){
        q.execCommand("SelectAll")
        }
        p.save();
    n.hide(p.getContainer());
    n.setStyle(p.id,"display",p.orgDisplay)
    },
isHidden:function(){
    return !n.isHidden(this.id)
    },
setProgressState:function(p,q,r){
    this.onSetProgressState.dispatch(this,p,q,r);
    return p
    },
load:function(s){
    var p=this,r=p.getElement(),q;
    if(r){
        s=s||{};

        s.load=true;
        q=p.setContent(d(r.value)?r.value:r.innerHTML,s);
        s.element=r;
        if(!s.no_events){
            p.onLoadContent.dispatch(p,s)
            }
            s.element=r=null;
        return q
        }
    },
save:function(u){
    var p=this,s=p.getElement(),q,r;
    if(!s||!p.initialized){
        return
    }
    u=u||{};

    u.save=true;
    if(!u.no_events){
        p.undoManager.typing=0;
        p.undoManager.add()
        }
        u.element=s;
    q=u.content=p.getContent(u);
    if(!u.no_events){
        p.onSaveContent.dispatch(p,u)
        }
        q=u.content;
    if(!/TEXTAREA|INPUT/i.test(s.nodeName)){
        s.innerHTML=q;
        if(r=n.getParent(p.id,"form")){
            i(r.elements,function(t){
                if(t.name==p.id){
                    t.value=q;
                    return false
                    }
                })
        }
    }else{
    s.value=q
    }
    u.element=s=null;
return q
},
setContent:function(q,r){
    var p=this;
    r=r||{};

    r.format=r.format||"html";
    r.set=true;
    r.content=q;
    if(!r.no_events){
        p.onBeforeSetContent.dispatch(p,r)
        }
        if(!m.isIE&&(q.length===0||/^\s+$/.test(q))){
        r.content=p.dom.setHTML(p.getBody(),'<br _mce_bogus="1" />');
        r.format="raw"
        }
        r.content=p.dom.setHTML(p.getBody(),m.trim(r.content));
    if(r.format!="raw"&&p.settings.cleanup){
        r.getInner=true;
        r.content=p.dom.setHTML(p.getBody(),p.serializer.serialize(p.getBody(),r))
        }
        if(!r.no_events){
        p.onSetContent.dispatch(p,r)
        }
        return r.content
    },
getContent:function(r){
    var p=this,q;
    r=r||{};

    r.format=r.format||"html";
    r.get=true;
    if(!r.no_events){
        p.onBeforeGetContent.dispatch(p,r)
        }
        if(r.format!="raw"&&p.settings.cleanup){
        r.getInner=true;
        q=p.serializer.serialize(p.getBody(),r)
        }else{
        q=p.getBody().innerHTML
        }
        q=q.replace(/^\s*|\s*$/g,"");
    r.content=q;
    if(!r.no_events){
        p.onGetContent.dispatch(p,r)
        }
        return r.content
    },
isDirty:function(){
    var p=this;
    return m.trim(p.startContent)!=m.trim(p.getContent({
        format:"raw",
        no_events:1
    }))&&!p.isNotDirty
    },
getContainer:function(){
    var p=this;
    if(!p.container){
        p.container=n.get(p.editorContainer||p.id+"_parent")
        }
        return p.container
    },
getContentAreaContainer:function(){
    return this.contentAreaContainer
    },
getElement:function(){
    return n.get(this.settings.content_element||this.id)
    },
getWin:function(){
    var p=this,q;
    if(!p.contentWindow){
        q=n.get(p.id+"_ifr");
        if(q){
            p.contentWindow=q.contentWindow
            }
        }
    return p.contentWindow
},
getDoc:function(){
    var q=this,p;
    if(!q.contentDocument){
        p=q.getWin();
        if(p){
            q.contentDocument=p.document
            }
        }
    return q.contentDocument
},
getBody:function(){
    return this.bodyElement||this.getDoc().body
    },
convertURL:function(p,x,v){
    var q=this,r=q.settings;
    if(r.urlconverter_callback){
        return q.execCallback("urlconverter_callback",p,v,true,x)
        }
        if(!r.convert_urls||(v&&v.nodeName=="LINK")||p.indexOf("file:")===0){
        return p
        }
        if(r.relative_urls){
        return q.documentBaseURI.toRelative(p)
        }
        p=q.documentBaseURI.toAbsolute(p,r.remove_script_host);
    return p
    },
addVisual:function(r){
    var p=this,q=p.settings;
    r=r||p.getBody();
    if(!d(p.hasVisual)){
        p.hasVisual=q.visual
        }
        i(p.dom.select("table,a",r),function(t){
        var s;
        switch(t.nodeName){
            case"TABLE":
                s=p.dom.getAttrib(t,"border");
                if(!s||s=="0"){
                if(p.hasVisual){
                    p.dom.addClass(t,q.visual_table_class)
                    }else{
                    p.dom.removeClass(t,q.visual_table_class)
                    }
                }
            return;
        case"A":
            s=p.dom.getAttrib(t,"name");
            if(s){
            if(p.hasVisual){
                p.dom.addClass(t,"mceItemAnchor")
                }else{
                p.dom.removeClass(t,"mceItemAnchor")
                }
            }
        return
        }
    });
p.onVisualAid.dispatch(p,r,p.hasVisual)
},
remove:function(){
    var p=this,q=p.getContainer();
    p.removed=1;
    p.hide();
    p.execCallback("remove_instance_callback",p);
    p.onRemove.dispatch(p);
    p.onExecCommand.listeners=[];
    m.remove(p);
    n.remove(q)
    },
destroy:function(q){
    var p=this;
    if(p.destroyed){
        return
    }
    if(!q){
        m.removeUnload(p.destroy);
        tinyMCE.onBeforeUnload.remove(p._beforeUnload);
        if(p.theme&&p.theme.destroy){
            p.theme.destroy()
            }
            p.controlManager.destroy();
        p.selection.destroy();
        p.dom.destroy();
        if(!p.settings.content_editable){
            j.clear(p.getWin());
            j.clear(p.getDoc())
            }
            j.clear(p.getBody());
        j.clear(p.formElement)
        }
        if(p.formElement){
        p.formElement.submit=p.formElement._mceOldSubmit;
        p.formElement._mceOldSubmit=null
        }
        p.contentAreaContainer=p.formElement=p.container=p.settings.content_element=p.bodyElement=p.contentDocument=p.contentWindow=null;
    if(p.selection){
        p.selection=p.selection.win=p.selection.dom=p.selection.dom.doc=null
        }
        p.destroyed=1
    },
_addEvents:function(){
    var v=this,u,y=v.settings,x={
        mouseup:"onMouseUp",
        mousedown:"onMouseDown",
        click:"onClick",
        keyup:"onKeyUp",
        keydown:"onKeyDown",
        keypress:"onKeyPress",
        submit:"onSubmit",
        reset:"onReset",
        contextmenu:"onContextMenu",
        dblclick:"onDblClick",
        paste:"onPaste"
    };

    function r(t,A){
        var s=t.type;
        if(v.removed){
            return
        }
        if(v.onEvent.dispatch(v,t,A)!==false){
            v[x[t.fakeType||t.type]].dispatch(v,t,A)
            }
        }
    i(x,function(t,s){
    switch(s){
        case"contextmenu":
            if(m.isOpera){
            v.dom.bind(v.getBody(),"mousedown",function(A){
                if(A.ctrlKey){
                    A.fakeType="contextmenu";
                    r(A)
                    }
                })
        }else{
            v.dom.bind(v.getBody(),s,r)
            }
            break;
    case"paste":
        v.dom.bind(v.getBody(),s,function(A){
        r(A)
        });
    break;
    case"submit":case"reset":
        v.dom.bind(v.getElement().form||n.getParent(v.id,"form"),s,r);
        break;
    default:
        v.dom.bind(y.content_editable?v.getBody():v.getDoc(),s,r)
        }
    });
v.dom.bind(y.content_editable?v.getBody():(a?v.getDoc():v.getWin()),"focus",function(s){
    v.focus(true)
    });
if(m.isGecko){
    v.dom.bind(v.getDoc(),"DOMNodeInserted",function(t){
        var s;
        t=t.target;
        if(t.nodeType===1&&t.nodeName==="IMG"&&(s=t.getAttribute("_mce_src"))){
            t.src=v.documentBaseURI.toAbsolute(s)
            }
        })
}
if(a){
    function p(){
        var B=this,D=B.getDoc(),C=B.settings;
        if(a&&!C.readonly){
            if(B._isHidden()){
                try{
                    if(!C.content_editable){
                        D.designMode="On"
                        }
                    }catch(A){}
        }
        try{
        D.execCommand("styleWithCSS",0,false)
        }catch(A){
        if(!B._isHidden()){
            try{
                D.execCommand("useCSS",0,true)
                }catch(A){}
        }
    }
if(!C.table_inline_editing){
    try{
        D.execCommand("enableInlineTableEditing",false,false)
        }catch(A){}
}
if(!C.object_resizing){
    try{
        D.execCommand("enableObjectResizing",false,false)
        }catch(A){}
}
}
}
v.onBeforeExecCommand.add(p);
v.onMouseDown.add(p)
}
if(m.isWebKit){
    v.onClick.add(function(s,t){
        t=t.target;
        if(t.nodeName=="IMG"||(t.nodeName=="A"&&v.dom.hasClass(t,"mceItemAnchor"))){
            v.selection.getSel().setBaseAndExtent(t,0,t,1)
            }
        })
}
v.onMouseUp.add(v.nodeChanged);
v.onClick.add(v.nodeChanged);
v.onKeyUp.add(function(s,t){
    var A=t.keyCode;
    if((A>=33&&A<=36)||(A>=37&&A<=40)||A==13||A==45||A==46||A==8||(m.isMac&&(A==91||A==93))||t.ctrlKey){
        v.nodeChanged()
        }
    });
v.onReset.add(function(){
    v.setContent(v.startContent,{
        format:"raw"
    })
    });
if(y.custom_shortcuts){
    if(y.custom_undo_redo_keyboard_shortcuts){
        v.addShortcut("ctrl+z",v.getLang("undo_desc"),"Undo");
        v.addShortcut("ctrl+y",v.getLang("redo_desc"),"Redo")
        }
        v.addShortcut("ctrl+b",v.getLang("bold_desc"),"Bold");
    v.addShortcut("ctrl+i",v.getLang("italic_desc"),"Italic");
    v.addShortcut("ctrl+u",v.getLang("underline_desc"),"Underline");
    for(u=1;u<=6;u++){
        v.addShortcut("ctrl+"+u,"",["FormatBlock",false,"h"+u])
        }
        v.addShortcut("ctrl+7","",["FormatBlock",false,"<p>"]);
    v.addShortcut("ctrl+8","",["FormatBlock",false,"<div>"]);
    v.addShortcut("ctrl+9","",["FormatBlock",false,"<address>"]);
    function z(t){
        var s=null;
        if(!t.altKey&&!t.ctrlKey&&!t.metaKey){
            return s
            }
            i(v.shortcuts,function(A){
            if(m.isMac&&A.ctrl!=t.metaKey){
                return
            }else{
                if(!m.isMac&&A.ctrl!=t.ctrlKey){
                    return
                }
            }
            if(A.alt!=t.altKey){
            return
        }
        if(A.shift!=t.shiftKey){
            return
        }
        if(t.keyCode==A.keyCode||(t.charCode&&t.charCode==A.charCode)){
            s=A;
            return false
            }
        });
return s
}
v.onKeyUp.add(function(s,t){
    var A=z(t);
    if(A){
        return j.cancel(t)
        }
    });
v.onKeyPress.add(function(s,t){
    var A=z(t);
    if(A){
        return j.cancel(t)
        }
    });
v.onKeyDown.add(function(s,t){
    var A=z(t);
    if(A){
        A.func.call(A.scope);
        return j.cancel(t)
        }
    })
}
if(m.isIE){
    v.dom.bind(v.getDoc(),"controlselect",function(A){
        var t=v.resizeInfo,s;
        A=A.target;
        if(A.nodeName!=="IMG"){
            return
        }
        if(t){
            v.dom.unbind(t.node,t.ev,t.cb)
            }
            if(!v.dom.hasClass(A,"mceItemNoResize")){
            ev="resizeend";
            s=v.dom.bind(A,ev,function(C){
                var B;
                C=C.target;
                if(B=v.dom.getStyle(C,"width")){
                    v.dom.setAttrib(C,"width",B.replace(/[^0-9%]+/g,""));
                    v.dom.setStyle(C,"width","")
                    }
                    if(B=v.dom.getStyle(C,"height")){
                    v.dom.setAttrib(C,"height",B.replace(/[^0-9%]+/g,""));
                    v.dom.setStyle(C,"height","")
                    }
                })
        }else{
        ev="resizestart";
        s=v.dom.bind(A,"resizestart",j.cancel,j)
        }
        t=v.resizeInfo={
        node:A,
        ev:ev,
        cb:s
    }
    });
v.onKeyDown.add(function(s,t){
    switch(t.keyCode){
        case 8:
            if(v.selection.getRng().item){
            s.dom.remove(v.selection.getRng().item(0));
            return j.cancel(t)
            }
        }
    })
}
if(m.isOpera){
    v.onClick.add(function(s,t){
        j.prevent(t)
        })
    }
    if(y.custom_undo_redo){
    function q(){
        v.undoManager.typing=0;
        v.undoManager.add()
        }
        v.dom.bind(v.getDoc(),"focusout",function(s){
        if(!v.removed&&v.undoManager.typing){
            q()
            }
        });
v.onKeyUp.add(function(s,t){
    if((t.keyCode>=33&&t.keyCode<=36)||(t.keyCode>=37&&t.keyCode<=40)||t.keyCode==13||t.keyCode==45||t.ctrlKey){
        q()
        }
    });
v.onKeyDown.add(function(s,t){
    if((t.keyCode>=33&&t.keyCode<=36)||(t.keyCode>=37&&t.keyCode<=40)||t.keyCode==13||t.keyCode==45){
        if(v.undoManager.typing){
            q()
            }
            return
    }
    if(!v.undoManager.typing){
        v.undoManager.add();
        v.undoManager.typing=1
        }
    });
v.onMouseDown.add(function(){
    if(v.undoManager.typing){
        q()
        }
    })
}
},
_isHidden:function(){
    var p;
    if(!a){
        return 0
        }
        p=this.selection.getSel();
    return(!p||!p.rangeCount||p.rangeCount==0)
    },
_fixNesting:function(q){
    var r=[],p;
    q=q.replace(/<(\/)?([^\s>]+)[^>]*?>/g,function(t,s,v){
        var u;
        if(s==="/"){
            if(!r.length){
                return""
                }
                if(v!==r[r.length-1].tag){
                for(p=r.length-1;p>=0;p--){
                    if(r[p].tag===v){
                        r[p].close=1;
                        break
                    }
                }
                return""
            }else{
            r.pop();
            if(r.length&&r[r.length-1].close){
                t=t+"</"+r[r.length-1].tag+">";
                r.pop()
                }
            }
    }else{
    if(/^(br|hr|input|meta|img|link|param)$/i.test(v)){
        return t
        }
        if(/\/>$/.test(t)){
        return t
        }
        r.push({
        tag:v
    })
    }
    return t
});
for(p=r.length-1;p>=0;p--){
    q+="</"+r[p].tag+">"
    }
    return q
}
})
})(tinymce);
(function(c){
    var d=c.each,e,a=true,b=false;
    c.EditorCommands=function(n){
        var l=n.dom,p=n.selection,j={
            state:{},
            exec:{},
            value:{}
    },k=n.settings,o;
    function q(y,x,v){
        var u;
        y=y.toLowerCase();
        if(u=j.exec[y]){
            u(y,x,v);
            return a
            }
            return b
        }
        function m(v){
        var u;
        v=v.toLowerCase();
        if(u=j.state[v]){
            return u(v)
            }
            return -1
        }
        function h(v){
        var u;
        v=v.toLowerCase();
        if(u=j.value[v]){
            return u(v)
            }
            return b
        }
        function t(u,v){
        v=v||"exec";
        d(u,function(y,x){
            d(x.toLowerCase().split(","),function(z){
                j[v][z]=y
                })
            })
        }
        c.extend(this,{
        execCommand:q,
        queryCommandState:m,
        queryCommandValue:h,
        addCommands:t
    });
    function f(x,v,u){
        if(v===e){
            v=b
            }
            if(u===e){
            u=null
            }
            return n.getDoc().execCommand(x,v,u)
        }
        function s(u){
        return n.formatter.match(u)
        }
        function r(u,v){
        n.formatter.toggle(u,v?{
            value:v
        }:e)
        }
        function i(u){
        o=p.getBookmark(u)
        }
        function g(){
        p.moveToBookmark(o)
        }
        t({
        "mceResetDesignMode,mceBeginUndoLevel":function(){},
        "mceEndUndoLevel,mceAddUndoLevel":function(){
            n.undoManager.add()
            },
        "Cut,Copy,Paste":function(y){
            var x=n.getDoc(),u;
            try{
                f(y)
                }catch(v){
                u=a
                }
                if(u||!x.queryCommandSupported(y)){
                if(c.isGecko){
                    n.windowManager.confirm(n.getLang("clipboard_msg"),function(z){
                        if(z){
                            open("http://www.mozilla.org/editor/midasdemo/securityprefs.html","_blank")
                            }
                        })
                }else{
                n.windowManager.alert(n.getLang("clipboard_no_support"))
                }
            }
    },
unlink:function(u){
    if(p.isCollapsed()){
        p.select(p.getNode())
        }
        f(u);
    p.collapse(b)
    },
"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(u){
    var v=u.substring(7);
    d("left,center,right,full".split(","),function(x){
        if(v!=x){
            n.formatter.remove("align"+x)
            }
        });
r("align"+v)
    },
"InsertUnorderedList,InsertOrderedList":function(x){
    var u,v;
    f(x);
    u=l.getParent(p.getNode(),"ol,ul");
    if(u){
        v=u.parentNode;
        if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(v.nodeName)){
            i();
            l.split(v,u);
            g()
            }
        }
},
"Bold,Italic,Underline,Strikethrough":function(u){
    r(u)
    },
"ForeColor,HiliteColor,FontName":function(x,v,u){
    r(x,u)
    },
FontSize:function(y,x,v){
    var u,z;
    if(v>=1&&v<=7){
        z=c.explode(k.font_size_style_values);
        u=c.explode(k.font_size_classes);
        if(u){
            v=u[v-1]||v
            }else{
            v=z[v-1]||v
            }
        }
    r(y,v)
},
RemoveFormat:function(u){
    n.formatter.remove(u)
    },
mceBlockQuote:function(u){
    r("blockquote")
    },
FormatBlock:function(x,v,u){
    return r(u)
    },
mceCleanup:function(){
    i();
    n.setContent(n.getContent({
        cleanup:a
    }),{
        cleanup:a
    });
    g()
    },
mceRemoveNode:function(y,x,v){
    var u=v||p.getNode();
    if(u!=n.getBody()){
        i();
        n.dom.remove(u,a);
        g()
        }
    },
mceSelectNodeDepth:function(y,x,v){
    var u=0;
    l.getParent(p.getNode(),function(z){
        if(z.nodeType==1&&u++==v){
            p.select(z);
            return b
            }
        },n.getBody())
},
mceSelectNode:function(x,v,u){
    p.select(u)
    },
mceInsertContent:function(x,v,u){
    p.setContent(u)
    },
mceInsertRawHTML:function(x,v,u){
    p.setContent("tiny_mce_marker");
    n.setContent(n.getContent().replace(/tiny_mce_marker/g,u))
    },
mceSetContent:function(x,v,u){
    n.setContent(u)
    },
"Indent,Outdent":function(y){
    var v,u,x;
    v=k.indentation;
    u=/[a-z%]+$/i.exec(v);
    v=parseInt(v);
    if(!m("InsertUnorderedList")&&!m("InsertOrderedList")){
        d(p.getSelectedBlocks(),function(z){
            if(y=="outdent"){
                x=Math.max(0,parseInt(z.style.paddingLeft||0)-v);
                l.setStyle(z,"paddingLeft",x?x+u:"")
                }else{
                l.setStyle(z,"paddingLeft",(parseInt(z.style.paddingLeft||0)+v)+u)
                }
            })
    }else{
    f(y)
    }
},
mceRepaint:function(){
    var v;
    if(c.isGecko){
        try{
            i(a);
            if(p.getSel()){
                p.getSel().selectAllChildren(n.getBody())
                }
                p.collapse(a);
            g()
            }catch(u){}
    }
},
mceToggleFormat:function(x,v,u){
    n.formatter.toggle(u)
    },
InsertHorizontalRule:function(){
    p.setContent("<hr />")
    },
mceToggleVisualAid:function(){
    n.hasVisual=!n.hasVisual;
    n.addVisual()
    },
mceReplaceContent:function(x,v,u){
    p.setContent(u.replace(/\{\$selection\}/g,p.getContent({
        format:"text"
    })))
    },
mceInsertLink:function(y,x,v){
    var u=l.getParent(p.getNode(),"a");
    if(c.is(v,"string")){
        v={
            href:v
        }
    }
    if(!u){
    f("CreateLink",b,"javascript:mctmp(0);");
    d(l.select("a[href=javascript:mctmp(0);]"),function(z){
        l.setAttribs(z,v)
        })
    }else{
    if(v.href){
        l.setAttribs(u,v)
        }else{
        n.dom.remove(u,a)
        }
    }
},
selectAll:function(){
    var v=l.getRoot();
    var u=l.createRng();
    u.setStart(v,0);
    u.setEnd(v,v.childNodes.length);
    n.selection.setRng(u)
    }
});
t({
    "JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(u){
        return s("align"+u.substring(7))
        },
    "Bold,Italic,Underline,Strikethrough":function(u){
        return s(u)
        },
    mceBlockQuote:function(){
        return s("blockquote")
        },
    Outdent:function(){
        var u;
        if(k.inline_styles){
            if((u=l.getParent(p.getStart(),l.isBlock))&&parseInt(u.style.paddingLeft)>0){
                return a
                }
                if((u=l.getParent(p.getEnd(),l.isBlock))&&parseInt(u.style.paddingLeft)>0){
                return a
                }
            }
        return m("InsertUnorderedList")||m("InsertOrderedList")||(!k.inline_styles&&!!l.getParent(p.getNode(),"BLOCKQUOTE"))
    },
"InsertUnorderedList,InsertOrderedList":function(u){
    return l.getParent(p.getNode(),u=="insertunorderedlist"?"UL":"OL")
    }
},"state");
t({
    "FontSize,FontName":function(x){
        var v=0,u;
        if(u=l.getParent(p.getNode(),"span")){
            if(x=="fontsize"){
                v=u.style.fontSize
                }else{
                v=u.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()
                }
            }
        return v
    }
},"value");
if(k.custom_undo_redo){
    t({
        Undo:function(){
            n.undoManager.undo()
            },
        Redo:function(){
            n.undoManager.redo()
            }
        })
}
}
})(tinymce);
(function(b){
    var a=b.util.Dispatcher;
    b.UndoManager=function(e){
        var c,d=0,g=[];
        function f(){
            return b.trim(e.getContent({
                format:"raw",
                no_events:1
            }))
            }
            return c={
            typing:0,
            onAdd:new a(c),
            onUndo:new a(c),
            onRedo:new a(c),
            add:function(l){
                var h,j=e.settings,k;
                l=l||{};

                l.content=f();
                k=g[d];
                if(k&&k.content==l.content){
                    if(d>0||g.length==1){
                        return null
                        }
                    }
                if(j.custom_undo_redo_levels){
                if(g.length>j.custom_undo_redo_levels){
                    for(h=0;h<g.length-1;h++){
                        g[h]=g[h+1]
                        }
                        g.length--;
                    d=g.length
                    }
                }
            l.bookmark=e.selection.getBookmark(2,true);
        if(d<g.length-1){
            if(d==0){
                g=[]
                }else{
                g.length=d+1
                }
            }
        g.push(l);
    d=g.length-1;
    c.onAdd.dispatch(c,l);
    e.isNotDirty=0;
    return l
    },
undo:function(){
    var j,h;
    if(c.typing){
        c.add();
        c.typing=0
        }
        if(d>0){
        j=g[--d];
        e.setContent(j.content,{
            format:"raw"
        });
        e.selection.moveToBookmark(j.bookmark);
        c.onUndo.dispatch(c,j)
        }
        return j
    },
redo:function(){
    var h;
    if(d<g.length-1){
        h=g[++d];
        e.setContent(h.content,{
            format:"raw"
        });
        e.selection.moveToBookmark(h.bookmark);
        c.onRedo.dispatch(c,h)
        }
        return h
    },
clear:function(){
    g=[];
    d=c.typing=0
    },
hasUndo:function(){
    return d>0||c.typing
    },
hasRedo:function(){
    return d<g.length-1
    }
}
}
})(tinymce);
(function(l){
    var k=l.dom.Event,c=l.isIE,a=l.isGecko,b=l.isOpera,j=l.each,i=l.extend,d=true,h=false;
    function g(n,o){
        var m=o.ownerDocument.createRange();
        m.setStart(n.endContainer,n.endOffset);
        m.setEndAfter(o);
        return m.cloneContents().textContent.length==0
        }
        function f(m){
        m=m.innerHTML;
        m=m.replace(/<(img|hr|table|input|select|textarea)[ \>]/gi,"-");
        m=m.replace(/<[^>]+>/g,"");
        return m.replace(/[ \u00a0\t\r\n]+/g,"")==""
        }
        function e(o,q,m){
        var n,p;
        if(f(m)){
            n=q.getParent(m,"ul,ol");
            if(!q.getParent(n.parentNode,"ul,ol")){
                q.split(n,m);
                p=q.create("p",0,'<br _mce_bogus="1" />');
                q.replace(p,m);
                o.select(p,1)
                }
                return h
            }
            return d
        }
        l.create("tinymce.ForceBlocks",{
        ForceBlocks:function(n){
            var o=this,p=n.settings,q;
            o.editor=n;
            o.dom=n.dom;
            q=(p.forced_root_block||"p").toLowerCase();
            p.element=q.toUpperCase();
            n.onPreInit.add(o.setup,o);
            o.reOpera=new RegExp("(\\u00a0|&#160;|&nbsp;)</"+q+">","gi");
            o.rePadd=new RegExp("<p( )([^>]+)><\\/p>|<p( )([^>]+)\\/>|<p( )([^>]+)>\\s+<\\/p>|<p><\\/p>|<p\\/>|<p>\\s+<\\/p>".replace(/p/g,q),"gi");
            o.reNbsp2BR1=new RegExp("<p( )([^>]+)>[\\s\\u00a0]+<\\/p>|<p>[\\s\\u00a0]+<\\/p>".replace(/p/g,q),"gi");
            o.reNbsp2BR2=new RegExp("<%p()([^>]+)>(&nbsp;|&#160;)<\\/%p>|<%p>(&nbsp;|&#160;)<\\/%p>".replace(/%p/g,q),"gi");
            o.reBR2Nbsp=new RegExp("<p( )([^>]+)>\\s*<br \\/>\\s*<\\/p>|<p>\\s*<br \\/>\\s*<\\/p>".replace(/p/g,q),"gi");
            function m(r,s){
                if(b){
                    s.content=s.content.replace(o.reOpera,"</"+q+">")
                    }
                    s.content=s.content.replace(o.rePadd,"<"+q+"$1$2$3$4$5$6>\u00a0</"+q+">");
                if(!c&&!b&&s.set){
                    s.content=s.content.replace(o.reNbsp2BR1,"<"+q+"$1$2><br /></"+q+">");
                    s.content=s.content.replace(o.reNbsp2BR2,"<"+q+"$1$2><br /></"+q+">")
                    }else{
                    s.content=s.content.replace(o.reBR2Nbsp,"<"+q+"$1$2>\u00a0</"+q+">")
                    }
                }
            n.onBeforeSetContent.add(m);
        n.onPostProcess.add(m);
        if(p.forced_root_block){
            n.onInit.add(o.forceRoots,o);
            n.onSetContent.add(o.forceRoots,o);
            n.onBeforeGetContent.add(o.forceRoots,o)
            }
        },
    setup:function(){
        var n=this,m=n.editor,p=m.settings,r=m.dom,o=m.selection;
        if(p.forced_root_block){
            m.onBeforeExecCommand.add(n.forceRoots,n);
            m.onKeyUp.add(n.forceRoots,n);
            m.onPreProcess.add(n.forceRoots,n)
            }
            if(p.force_br_newlines){
            if(c){
                m.onKeyPress.add(function(s,t){
                    var u;
                    if(t.keyCode==13&&o.getNode().nodeName!="LI"){
                        o.setContent('<br id="__" /> ',{
                            format:"raw"
                        });
                        u=r.get("__");
                        u.removeAttribute("id");
                        o.select(u);
                        o.collapse();
                        return k.cancel(t)
                        }
                    })
            }
        }
    if(!c&&p.force_p_newlines){
    m.onKeyPress.add(function(s,t){
        if(t.keyCode==13&&!t.shiftKey&&!n.insertPara(t)){
            k.cancel(t)
            }
        });
if(a){
    m.onKeyDown.add(function(s,t){
        if((t.keyCode==8||t.keyCode==46)&&!t.shiftKey){
            n.backspaceDelete(t,t.keyCode==8)
            }
        })
}
}
if(l.isWebKit){
    function q(t){
        var s=o.getRng(),u,y=r.create("div",null," "),x,v=r.getViewPort(t.getWin()).h;
        s.insertNode(u=r.create("br"));
        s.setStartAfter(u);
        s.setEndAfter(u);
        o.setRng(s);
        if(o.getSel().focusNode==u.previousSibling){
            o.select(r.insertAfter(r.doc.createTextNode("\u00a0"),u));
            o.collapse(d)
            }
            r.insertAfter(y,u);
        x=r.getPos(y).y;
        r.remove(y);
        if(x>v){
            t.getWin().scrollTo(0,x)
            }
        }
    m.onKeyPress.add(function(s,t){
    if(t.keyCode==13&&(t.shiftKey||(p.force_br_newlines&&!r.getParent(o.getNode(),"h1,h2,h3,h4,h5,h6,ol,ul")))){
        q(s);
        k.cancel(t)
        }
    })
}
m.onPreProcess.add(function(s,t){
    j(r.select("p,h1,h2,h3,h4,h5,h6,div",t.node),function(u){
        if(f(u)){
            j(r.select("span,em,strong,b,i",t.node),function(v){
                if(!v.hasChildNodes()){
                    v.appendChild(s.getDoc().createTextNode("\u00a0"));
                    return h
                    }
                })
        }
    })
});
if(c){
    if(p.element!="P"){
        m.onKeyPress.add(function(s,t){
            n.lastElm=o.getNode().nodeName
            });
        m.onKeyUp.add(function(t,u){
            var x,v=o.getNode(),s=t.getBody();
            if(s.childNodes.length===1&&v.nodeName=="P"){
                v=r.rename(v,p.element);
                o.select(v);
                o.collapse();
                t.nodeChanged()
                }else{
                if(u.keyCode==13&&!u.shiftKey&&n.lastElm!="P"){
                    x=r.getParent(v,"p");
                    if(x){
                        r.rename(x,p.element);
                        t.nodeChanged()
                        }
                    }
            }
        })
}
}
},
find:function(u,p,q){
    var o=this.editor,m=o.getDoc().createTreeWalker(u,4,null,h),r=-1;
    while(u=m.nextNode()){
        r++;
        if(p==0&&u==q){
            return r
            }
            if(p==1&&r==q){
            return u
            }
        }
    return -1
},
forceRoots:function(v,H){
    var y=this,v=y.editor,L=v.getBody(),I=v.getDoc(),O=v.selection,z=O.getSel(),A=O.getRng(),M=-2,u,F,m,o,J=-16777215;
    var K,p,N,E,B,q=L.childNodes,D,C,x;
    for(D=q.length-1;D>=0;D--){
        K=q[D];
        if(K.nodeType===1&&K.getAttribute("_mce_type")){
            p=null;
            continue
        }
        if(K.nodeType===3||(!y.dom.isBlock(K)&&K.nodeType!==8&&!/^(script|mce:script|style|mce:style)$/i.test(K.nodeName))){
            if(!p){
                if(K.nodeType!=3||/[^\s]/g.test(K.nodeValue)){
                    if(M==-2&&A){
                        if(!c){
                            if(A.startContainer.nodeType==1&&(C=A.startContainer.childNodes[A.startOffset])&&C.nodeType==1){
                                x=C.getAttribute("id");
                                C.setAttribute("id","__mce")
                                }else{
                                if(v.dom.getParent(A.startContainer,function(n){
                                    return n===L
                                    })){
                                    F=A.startOffset;
                                    m=A.endOffset;
                                    M=y.find(L,0,A.startContainer);
                                    u=y.find(L,0,A.endContainer)
                                    }
                                }
                        }else{
                    if(A.item){
                        o=I.body.createTextRange();
                        o.moveToElementText(A.item(0));
                        A=o
                        }
                        o=I.body.createTextRange();
                    o.moveToElementText(L);
                    o.collapse(1);
                    N=o.move("character",J)*-1;
                    o=A.duplicate();
                    o.collapse(1);
                    E=o.move("character",J)*-1;
                    o=A.duplicate();
                    o.collapse(0);
                    B=(o.move("character",J)*-1)-E;
                    M=E-N;
                    u=B
                    }
                }
            p=v.dom.create(v.settings.forced_root_block);
        K.parentNode.replaceChild(p,K);
        p.appendChild(K)
        }
    }else{
    if(p.hasChildNodes()){
        p.insertBefore(K,p.firstChild)
        }else{
        p.appendChild(K)
        }
    }
}else{
    p=null
    }
}
if(M!=-2){
    if(!c){
        p=L.getElementsByTagName(v.settings.element)[0];
        A=I.createRange();
        if(M!=-1){
            A.setStart(y.find(L,1,M),F)
            }else{
            A.setStart(p,0)
            }
            if(u!=-1){
            A.setEnd(y.find(L,1,u),m)
            }else{
            A.setEnd(p,0)
            }
            if(z){
            z.removeAllRanges();
            z.addRange(A)
            }
        }else{
    try{
        A=z.createRange();
        A.moveToElementText(L);
        A.collapse(1);
        A.moveStart("character",M);
        A.moveEnd("character",u);
        A.select()
        }catch(G){}
}
}else{
    if(!c&&(C=v.dom.get("__mce"))){
        if(x){
            C.setAttribute("id",x)
            }else{
            C.removeAttribute("id")
            }
            A=I.createRange();
        A.setStartBefore(C);
        A.setEndBefore(C);
        O.setRng(A)
        }
    }
},
getParentBlock:function(o){
    var m=this.dom;
    return m.getParent(o,m.isBlock)
    },
insertPara:function(R){
    var F=this,v=F.editor,N=v.dom,S=v.getDoc(),W=v.settings,G=v.selection.getSel(),H=G.getRangeAt(0),V=S.body;
    var K,L,I,P,O,q,o,u,z,m,D,U,p,x,J,M=N.getViewPort(v.getWin()),C,E,B;
    K=S.createRange();
    K.setStart(G.anchorNode,G.anchorOffset);
    K.collapse(d);
    L=S.createRange();
    L.setStart(G.focusNode,G.focusOffset);
    L.collapse(d);
    I=K.compareBoundaryPoints(K.START_TO_END,L)<0;
    P=I?G.anchorNode:G.focusNode;
    O=I?G.anchorOffset:G.focusOffset;
    q=I?G.focusNode:G.anchorNode;
    o=I?G.focusOffset:G.anchorOffset;
    if(P===q&&/^(TD|TH)$/.test(P.nodeName)){
        if(P.firstChild.nodeName=="BR"){
            N.remove(P.firstChild)
            }
            if(P.childNodes.length==0){
            v.dom.add(P,W.element,null,"<br />");
            U=v.dom.add(P,W.element,null,"<br />")
            }else{
            J=P.innerHTML;
            P.innerHTML="";
            v.dom.add(P,W.element,null,J);
            U=v.dom.add(P,W.element,null,"<br />")
            }
            H=S.createRange();
        H.selectNodeContents(U);
        H.collapse(1);
        v.selection.setRng(H);
        return h
        }
        if(P==V&&q==V&&V.firstChild&&v.dom.isBlock(V.firstChild)){
        P=q=P.firstChild;
        O=o=0;
        K=S.createRange();
        K.setStart(P,0);
        L=S.createRange();
        L.setStart(q,0)
        }
        P=P.nodeName=="HTML"?S.body:P;
    P=P.nodeName=="BODY"?P.firstChild:P;
    q=q.nodeName=="HTML"?S.body:q;
    q=q.nodeName=="BODY"?q.firstChild:q;
    u=F.getParentBlock(P);
    z=F.getParentBlock(q);
    m=u?u.nodeName:W.element;
    if(J=F.dom.getParent(u,"li,pre")){
        if(J.nodeName=="LI"){
            return e(v.selection,F.dom,J)
            }
            return d
        }
        if(u&&(u.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(N.getStyle(u,"position",1)))){
        m=W.element;
        u=null
        }
        if(z&&(z.nodeName=="CAPTION"||/absolute|relative|fixed/gi.test(N.getStyle(u,"position",1)))){
        m=W.element;
        z=null
        }
        if(/(TD|TABLE|TH|CAPTION)/.test(m)||(u&&m=="DIV"&&/left|right/gi.test(N.getStyle(u,"float",1)))){
        m=W.element;
        u=z=null
        }
        D=(u&&u.nodeName==m)?u.cloneNode(0):v.dom.create(m);
    U=(z&&z.nodeName==m)?z.cloneNode(0):v.dom.create(m);
    U.removeAttribute("id");
    if(/^(H[1-6])$/.test(m)&&g(H,u)){
        U=v.dom.create(W.element)
        }
        J=p=P;
    do{
        if(J==V||J.nodeType==9||F.dom.isBlock(J)||/(TD|TABLE|TH|CAPTION)/.test(J.nodeName)){
            break
        }
        p=J
        }while((J=J.previousSibling?J.previousSibling:J.parentNode));
    J=x=q;
    do{
        if(J==V||J.nodeType==9||F.dom.isBlock(J)||/(TD|TABLE|TH|CAPTION)/.test(J.nodeName)){
            break
        }
        x=J
        }while((J=J.nextSibling?J.nextSibling:J.parentNode));
    if(p.nodeName==m){
        K.setStart(p,0)
        }else{
        K.setStartBefore(p)
        }
        K.setEnd(P,O);
    D.appendChild(K.cloneContents()||S.createTextNode(""));
    try{
        L.setEndAfter(x)
        }catch(Q){}
    L.setStart(q,o);
    U.appendChild(L.cloneContents()||S.createTextNode(""));
    H=S.createRange();
    if(!p.previousSibling&&p.parentNode.nodeName==m){
        H.setStartBefore(p.parentNode)
        }else{
        if(K.startContainer.nodeName==m&&K.startOffset==0){
            H.setStartBefore(K.startContainer)
            }else{
            H.setStart(K.startContainer,K.startOffset)
            }
        }
    if(!x.nextSibling&&x.parentNode.nodeName==m){
    H.setEndAfter(x.parentNode)
    }else{
    H.setEnd(L.endContainer,L.endOffset)
    }
    H.deleteContents();
if(b){
    v.getWin().scrollTo(0,M.y)
    }
    if(D.firstChild&&D.firstChild.nodeName==m){
    D.innerHTML=D.firstChild.innerHTML
    }
    if(U.firstChild&&U.firstChild.nodeName==m){
    U.innerHTML=U.firstChild.innerHTML
    }
    if(f(D)){
    D.innerHTML="<br />"
    }
    function T(y,s){
    var r=[],Y,X,t;
    y.innerHTML="";
    if(W.keep_styles){
        X=s;
        do{
            if(/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(X.nodeName)){
                Y=X.cloneNode(h);
                N.setAttrib(Y,"id","");
                r.push(Y)
                }
            }while(X=X.parentNode)
}
if(r.length>0){
    for(t=r.length-1,Y=y;t>=0;t--){
        Y=Y.appendChild(r[t])
        }
        r[0].innerHTML=b?"&nbsp;":"<br />";
    return r[0]
    }else{
    y.innerHTML=b?"&nbsp;":"<br />"
    }
}
if(f(U)){
    B=T(U,q)
    }
    if(b&&parseFloat(opera.version())<9.5){
    H.insertNode(D);
    H.insertNode(U)
    }else{
    H.insertNode(U);
    H.insertNode(D)
    }
    U.normalize();
D.normalize();
function A(r){
    return S.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,h).nextNode()||r
    }
    H=S.createRange();
H.selectNodeContents(a?A(B||U):B||U);
H.collapse(1);
G.removeAllRanges();
G.addRange(H);
C=v.dom.getPos(U).y;
E=U.clientHeight;
if(C<M.y||C+E>M.y+M.h){
    v.getWin().scrollTo(0,C<M.y?C:C-M.h+25)
    }
    return h
},
backspaceDelete:function(s,A){
    var C=this,q=C.editor,x=q.getBody(),p=q.dom,o,u=q.selection,m=u.getRng(),v=m.startContainer,o,y,z;
    if(v&&q.dom.isBlock(v)&&!/^(TD|TH)$/.test(v.nodeName)&&A){
        if(v.childNodes.length==0||(v.childNodes.length==1&&v.firstChild.nodeName=="BR")){
            o=v;
            while((o=o.previousSibling)&&!q.dom.isBlock(o)){}
            if(o){
                if(v!=x.firstChild){
                    y=q.dom.doc.createTreeWalker(o,NodeFilter.SHOW_TEXT,null,h);
                    while(z=y.nextNode()){
                        o=z
                        }
                        m=q.getDoc().createRange();
                    m.setStart(o,o.nodeValue?o.nodeValue.length:0);
                    m.setEnd(o,o.nodeValue?o.nodeValue.length:0);
                    u.setRng(m);
                    q.dom.remove(v)
                    }
                    return k.cancel(s)
                }
            }
    }
function B(n){
    var r;
    n=n.target;
    if(n&&n.parentNode&&n.nodeName=="BR"&&(o=C.getParentBlock(n))){
        r=n.previousSibling;
        k.remove(x,"DOMNodeInserted",B);
        if(r&&r.nodeType==3&&/\s+$/.test(r.nodeValue)){
            return
        }
        if(n.previousSibling||n.nextSibling){
            q.dom.remove(n)
            }
        }
}
k._add(x,"DOMNodeInserted",B);
window.setTimeout(function(){
    k._remove(x,"DOMNodeInserted",B)
    },1)
}
})
})(tinymce);
(function(c){
    var b=c.DOM,a=c.dom.Event,d=c.each,e=c.extend;
    c.create("tinymce.ControlManager",{
        ControlManager:function(f,j){
            var h=this,g;
            j=j||{};

            h.editor=f;
            h.controls={};

            h.onAdd=new c.util.Dispatcher(h);
            h.onPostRender=new c.util.Dispatcher(h);
            h.prefix=j.prefix||f.id+"_";
            h._cls={};

            h.onPostRender.add(function(){
                d(h.controls,function(i){
                    i.postRender()
                    })
                })
            },
        get:function(f){
            return this.controls[this.prefix+f]||this.controls[f]
            },
        setActive:function(h,f){
            var g=null;
            if(g=this.get(h)){
                g.setActive(f)
                }
                return g
            },
        setDisabled:function(h,f){
            var g=null;
            if(g=this.get(h)){
                g.setDisabled(f)
                }
                return g
            },
        add:function(g){
            var f=this;
            if(g){
                f.controls[g.id]=g;
                f.onAdd.dispatch(g,f)
                }
                return g
            },
        createControl:function(i){
            var h,g=this,f=g.editor;
            d(f.plugins,function(j){
                if(j.createControl){
                    h=j.createControl(i,g);
                    if(h){
                        return false
                        }
                    }
            });
    switch(i){
        case"|":case"separator":
            return g.createSeparator()
            }
            if(!h&&f.buttons&&(h=f.buttons[i])){
        return g.createButton(i,h)
        }
        return g.add(h)
        },
    createDropMenu:function(f,n,h){
        var m=this,i=m.editor,j,g,k,l;
        n=e({
            "class":"mceDropDown",
            constrain:i.settings.constrain_menus
            },n);
        n["class"]=n["class"]+" "+i.getParam("skin")+"Skin";
        if(k=i.getParam("skin_variant")){
            n["class"]+=" "+i.getParam("skin")+"Skin"+k.substring(0,1).toUpperCase()+k.substring(1)
            }
            f=m.prefix+f;
        l=h||m._cls.dropmenu||c.ui.DropMenu;
        j=m.controls[f]=new l(f,n);
        j.onAddItem.add(function(r,q){
            var p=q.settings;
            p.title=i.getLang(p.title,p.title);
            if(!p.onclick){
                p.onclick=function(o){
                    if(p.cmd){
                        i.execCommand(p.cmd,p.ui||false,p.value)
                        }
                    }
            }
        });
i.onRemove.add(function(){
    j.destroy()
    });
if(c.isIE){
    j.onShowMenu.add(function(){
        i.focus();
        g=i.selection.getBookmark(1)
        });
    j.onHideMenu.add(function(){
        if(g){
            i.selection.moveToBookmark(g);
            g=0
            }
        })
}
return m.add(j)
},
createListBox:function(m,i,l){
    var h=this,g=h.editor,j,k,f;
    if(h.get(m)){
        return null
        }
        i.title=g.translate(i.title);
    i.scope=i.scope||g;
    if(!i.onselect){
        i.onselect=function(n){
            g.execCommand(i.cmd,i.ui||false,n||i.value)
            }
        }
    i=e({
    title:i.title,
    "class":"mce_"+m,
    scope:i.scope,
    control_manager:h
},i);
m=h.prefix+m;
if(g.settings.use_native_selects){
    k=new c.ui.NativeListBox(m,i)
    }else{
    f=l||h._cls.listbox||c.ui.ListBox;
    k=new f(m,i)
    }
    h.controls[m]=k;
if(c.isWebKit){
    k.onPostRender.add(function(p,o){
        a.add(o,"mousedown",function(){
            g.bookmark=g.selection.getBookmark(1)
            });
        a.add(o,"focus",function(){
            g.selection.moveToBookmark(g.bookmark);
            g.bookmark=null
            })
        })
    }
    if(k.hideMenu){
    g.onMouseDown.add(k.hideMenu,k)
    }
    return h.add(k)
},
createButton:function(m,i,l){
    var h=this,g=h.editor,j,k,f;
    if(h.get(m)){
        return null
        }
        i.title=g.translate(i.title);
    i.label=g.translate(i.label);
    i.scope=i.scope||g;
    if(!i.onclick&&!i.menu_button){
        i.onclick=function(){
            g.execCommand(i.cmd,i.ui||false,i.value)
            }
        }
    i=e({
    title:i.title,
    "class":"mce_"+m,
    unavailable_prefix:g.getLang("unavailable",""),
    scope:i.scope,
    control_manager:h
},i);
m=h.prefix+m;
if(i.menu_button){
    f=l||h._cls.menubutton||c.ui.MenuButton;
    k=new f(m,i);
    g.onMouseDown.add(k.hideMenu,k)
    }else{
    f=h._cls.button||c.ui.Button;
    k=new f(m,i)
    }
    return h.add(k)
},
createMenuButton:function(h,f,g){
    f=f||{};

    f.menu_button=1;
    return this.createButton(h,f,g)
    },
createSplitButton:function(m,i,l){
    var h=this,g=h.editor,j,k,f;
    if(h.get(m)){
        return null
        }
        i.title=g.translate(i.title);
    i.scope=i.scope||g;
    if(!i.onclick){
        i.onclick=function(n){
            g.execCommand(i.cmd,i.ui||false,n||i.value)
            }
        }
    if(!i.onselect){
    i.onselect=function(n){
        g.execCommand(i.cmd,i.ui||false,n||i.value)
        }
    }
i=e({
    title:i.title,
    "class":"mce_"+m,
    scope:i.scope,
    control_manager:h
},i);
m=h.prefix+m;
f=l||h._cls.splitbutton||c.ui.SplitButton;
k=h.add(new f(m,i));
g.onMouseDown.add(k.hideMenu,k);
return k
},
createColorSplitButton:function(f,n,h){
    var l=this,j=l.editor,i,k,m,g;
    if(l.get(f)){
        return null
        }
        n.title=j.translate(n.title);
    n.scope=n.scope||j;
    if(!n.onclick){
        n.onclick=function(o){
            if(c.isIE){
                g=j.selection.getBookmark(1)
                }
                j.execCommand(n.cmd,n.ui||false,o||n.value)
            }
        }
    if(!n.onselect){
    n.onselect=function(o){
        j.execCommand(n.cmd,n.ui||false,o||n.value)
        }
    }
n=e({
    title:n.title,
    "class":"mce_"+f,
    menu_class:j.getParam("skin")+"Skin",
    scope:n.scope,
    more_colors_title:j.getLang("more_colors")
    },n);
f=l.prefix+f;
m=h||l._cls.colorsplitbutton||c.ui.ColorSplitButton;
k=new m(f,n);
j.onMouseDown.add(k.hideMenu,k);
j.onRemove.add(function(){
    k.destroy()
    });
if(c.isIE){
    k.onShowMenu.add(function(){
        j.focus();
        g=j.selection.getBookmark(1)
        });
    k.onHideMenu.add(function(){
        if(g){
            j.selection.moveToBookmark(g);
            g=0
            }
        })
}
return l.add(k)
},
createToolbar:function(k,h,j){
    var i,g=this,f;
    k=g.prefix+k;
    f=j||g._cls.toolbar||c.ui.Toolbar;
    i=new f(k,h);
    if(g.get(k)){
        return null
        }
        return g.add(i)
    },
createSeparator:function(g){
    var f=g||this._cls.separator||c.ui.Separator;
    return new f()
    },
setControlType:function(g,f){
    return this._cls[g.toLowerCase()]=f
    },
destroy:function(){
    d(this.controls,function(f){
        f.destroy()
        });
    this.controls=null
    }
})
})(tinymce);
(function(d){
    var a=d.util.Dispatcher,e=d.each,c=d.isIE,b=d.isOpera;
    d.create("tinymce.WindowManager",{
        WindowManager:function(f){
            var g=this;
            g.editor=f;
            g.onOpen=new a(g);
            g.onClose=new a(g);
            g.params={};

            g.features={}
        },
    open:function(z,h){
        var v=this,k="",n,m,i=v.editor.settings.dialog_type=="modal",q,o,j,g=d.DOM.getViewPort(),r;
        z=z||{};

        h=h||{};

        o=b?g.w:screen.width;
        j=b?g.h:screen.height;
        z.name=z.name||"mc_"+new Date().getTime();
        z.width=parseInt(z.width||320);
        z.height=parseInt(z.height||240);
        z.resizable=true;
        z.left=z.left||parseInt(o/2)-(z.width/2);
        z.top=z.top||parseInt(j/2)-(z.height/2);
        h.inline=false;
        h.mce_width=z.width;
        h.mce_height=z.height;
        h.mce_auto_focus=z.auto_focus;
        if(i){
            if(c){
                z.center=true;
                z.help=false;
                z.dialogWidth=z.width+"px";
                z.dialogHeight=z.height+"px";
                z.scroll=z.scrollbars||false
                }
            }
        e(z,function(p,f){
        if(d.is(p,"boolean")){
            p=p?"yes":"no"
            }
            if(!/^(name|url)$/.test(f)){
            if(c&&i){
                k+=(k?";":"")+f+":"+p
                }else{
                k+=(k?",":"")+f+"="+p
                }
            }
    });
v.features=z;
v.params=h;
v.onOpen.dispatch(v,z,h);
    r=z.url||z.file;
    r=d._addVer(r);
    try{
    if(c&&i){
        q=1;
        window.showModalDialog(r,window,k)
        }else{
        q=window.open(r,z.name,k)
        }
    }catch(l){}
    if(!q){
    alert(v.editor.getLang("popup_blocked"))
    }
},
close:function(f){
    f.close();
    this.onClose.dispatch(this)
    },
createInstance:function(i,h,g,m,l,k){
    var j=d.resolve(i);
    return new j(h,g,m,l,k)
    },
confirm:function(h,f,i,g){
    g=g||window;
    f.call(i||this,g.confirm(this._decode(this.editor.getLang(h,h))))
    },
alert:function(h,f,j,g){
    var i=this;
    g=g||window;
    g.alert(i._decode(i.editor.getLang(h,h)));
    if(f){
        f.call(j||i)
        }
    },
resizeBy:function(f,g,h){
    h.resizeBy(f,g)
    },
_decode:function(f){
    return d.DOM.decode(f).replace(/\\n/g,"\n")
    }
})
}(tinymce));
(function(a){
    function b(){
        var d={},c={},e={};

        function f(j,i,h,g){
            if(typeof(i)=="string"){
                i=[i]
                }
                a.each(i,function(k){
                j[k.toLowerCase()]={
                    func:h,
                    scope:g
                }
            })
        }
        a.extend(this,{
        add:function(i,h,g){
            f(d,i,h,g)
            },
        addQueryStateHandler:function(i,h,g){
            f(c,i,h,g)
            },
        addQueryValueHandler:function(i,h,g){
            f(e,i,h,g)
            },
        execCommand:function(h,k,j,i,g){
            if(k=d[k.toLowerCase()]){
                if(k.func.call(h||k.scope,j,i,g)!==false){
                    return true
                    }
                }
        },
    queryCommandValue:function(){
        if(cmd=e[cmd.toLowerCase()]){
            return cmd.func.call(scope||cmd.scope,ui,value,args)
            }
        },
queryCommandState:function(){
    if(cmd=c[cmd.toLowerCase()]){
        return cmd.func.call(scope||cmd.scope,ui,value,args)
        }
    }
})
}
a.GlobalCommands=new b()
})(tinymce);
(function(a){
    a.Formatter=function(T){
        var K={},M=a.each,c=T.dom,p=T.selection,s=a.dom.TreeWalker,I=new a.dom.RangeUtils(c),d=T.schema.isValid,E=c.isBlock,k=T.settings.forced_root_block,r=c.nodeIndex,D="\uFEFF",e=/^(src|href|style)$/,Q=false,A=true,o,N={
            apply:[],
            remove:[]
        };

        function y(U){
            return U instanceof Array
            }
            function l(V,U){
            return c.getParents(V,U,c.getRoot())
            }
            function b(U){
            return U.nodeType===1&&(U.face==="mceinline"||U.style.fontFamily==="mceinline")
            }
            function P(U){
            return U?K[U]:K
            }
            function j(U,V){
            if(U){
                if(typeof(U)!=="string"){
                    M(U,function(X,W){
                        j(W,X)
                        })
                    }else{
                    V=V.length?V:[V];
                    M(V,function(W){
                        if(W.deep===o){
                            W.deep=!W.selector
                            }
                            if(W.split===o){
                            W.split=!W.selector||W.inline
                            }
                            if(W.remove===o&&W.selector&&!W.inline){
                            W.remove="none"
                            }
                            if(W.selector&&W.inline){
                            W.mixed=true;
                            W.block_expand=true
                            }
                            if(typeof(W.classes)==="string"){
                            W.classes=W.classes.split(/\s+/)
                            }
                        });
                K[U]=V
                }
            }
    }
function R(W,ac,Y){
    var Z=P(W),ad=Z[0],ab,V,aa;
    function X(ag){
        var af=ag.startContainer,aj=ag.startOffset,ai,ah;
        if(af.nodeType==1||af.nodeValue===""){
            af=af.nodeType==1?af.childNodes[aj]:af;
            ai=new s(af,af.parentNode);
            for(ah=ai.current();ah;ah=ai.next()){
                if(ah.nodeType==3&&!E(ah.parentNode)&&!f(ah)){
                    ag.setStart(ah,0);
                    break
                }
            }
            }
        return ag
}
function U(ag,af){
    af=af||ad;
    if(ag){
        M(af.styles,function(ai,ah){
            c.setStyle(ag,ah,q(ai,ac))
            });
        M(af.attributes,function(ai,ah){
            c.setAttrib(ag,ah,q(ai,ac))
            });
        M(af.classes,function(ah){
            ah=q(ah,ac);
            if(!c.hasClass(ag,ah)){
                c.addClass(ag,ah)
                }
            })
    }
}
function ae(ag){
    var af=[],ai,ah;
    ai=ad.inline||ad.block;
    ah=c.create(ai);
    U(ah);
    I.walk(ag,function(aj){
        var ak;
        function al(am){
            var ap=am.nodeName.toLowerCase(),ao=am.parentNode.nodeName.toLowerCase(),an;
            if(g(ap,"br")){
                ak=0;
                if(ad.block){
                    c.remove(am)
                    }
                    return
            }
            if(ad.wrapper&&v(am,W,ac)){
                ak=0;
                return
            }
            if(ad.block&&!ad.wrapper&&F(ap)){
                am=c.rename(am,ai);
                U(am);
                af.push(am);
                ak=0;
                return
            }
            if(ad.selector){
                M(Z,function(aq){
                    if(c.is(am,aq.selector)&&!b(am)){
                        U(am,aq);
                        an=true
                        }
                    });
            if(!ad.inline||an){
                ak=0;
                return
            }
        }
        if(d(ai,ap)&&d(ao,ai)){
        if(!ak){
            ak=ah.cloneNode(Q);
            am.parentNode.insertBefore(ak,am);
            af.push(ak)
            }
            ak.appendChild(am)
        }else{
        ak=0;
        M(a.grep(am.childNodes),al);
        ak=0
        }
    }
    M(aj,al)
});
M(af,function(al){
    var aj;
    function am(ao){
        var an=0;
        M(ao.childNodes,function(ap){
            if(!f(ap)&&!G(ap)){
                an++
            }
        });
    return an
    }
    function ak(an){
    var ap,ao;
    M(an.childNodes,function(aq){
        if(aq.nodeType==1&&!G(aq)&&!b(aq)){
            ap=aq;
            return Q
            }
        });
if(ap&&h(ap,ad)){
    ao=ap.cloneNode(Q);
    U(ao);
    c.replace(ao,an,A);
    c.remove(ap,1)
    }
    return ao||an
}
aj=am(al);
if(aj===0){
    c.remove(al,1);
    return
}
if(ad.inline||ad.wrapper){
    if(!ad.exact&&aj===1){
        al=ak(al)
        }
        M(Z,function(an){
        M(c.select(an.inline,al),function(ao){
            S(an,ac,ao,an.exact?ao:null)
            })
        });
    if(v(al.parentNode,W,ac)){
        c.remove(al,1);
        al=0;
        return A
        }
        if(ad.merge_with_parents){
        c.getParent(al.parentNode,function(an){
            if(v(an,W,ac)){
                c.remove(al,1);
                al=0;
                return A
                }
            })
    }
    if(al){
    al=t(B(al),al);
    al=t(al,B(al,A))
    }
}
})
}
if(ad){
    if(Y){
        V=c.createRng();
        V.setStartBefore(Y);
        V.setEndAfter(Y);
        ae(V)
        }else{
        if(!p.isCollapsed()||!ad.inline){
            ab=p.getBookmark();
            ae(n(p.getRng(A),Z));
            p.moveToBookmark(ab);
            p.setRng(X(p.getRng(A)));
            T.nodeChanged()
            }else{
            O("apply",W,ac)
            }
        }
}
}
function z(W,ae,Y){
    var Z=P(W),ag=Z[0],ad,ac,V;
    function X(al){
        var ak,aj,ai;
        ak=a.grep(al.childNodes);
        for(aj=0,ai=Z.length;aj<ai;aj++){
            if(S(Z[aj],ae,al,al)){
                break
            }
        }
        if(ag.deep){
        for(aj=0,ai=ak.length;aj<ai;aj++){
            X(ak[aj])
            }
        }
    }
function aa(ai){
    var aj;
    M(l(ai.parentNode).reverse(),function(ak){
        var al;
        if(!aj&&ak.id!="_start"&&ak.id!="_end"){
            al=v(ak,W,ae);
            if(al&&al.split!==false){
                aj=ak
                }
            }
    });
return aj
}
function U(al,ai,an,aq){
    var ar,ap,ao,ak,am,aj;
    if(al){
        aj=al.parentNode;
        for(ar=ai.parentNode;ar&&ar!=aj;ar=ar.parentNode){
            ap=ar.cloneNode(Q);
            for(am=0;am<Z.length;am++){
                if(S(Z[am],ae,ap,ap)){
                    ap=0;
                    break
                }
            }
            if(ap){
            if(ao){
                ap.appendChild(ao)
                }
                if(!ak){
                ak=ap
                }
                ao=ap
            }
        }
        if(aq&&(!ag.mixed||!E(al))){
    ai=c.split(al,ai)
    }
    if(ao){
    an.parentNode.insertBefore(ao,an);
    ak.appendChild(an)
    }
}
return ai
}
function af(ai){
    return U(aa(ai),ai,ai,true)
    }
    function ab(ak){
    var aj=c.get(ak?"_start":"_end"),ai=aj[ak?"firstChild":"lastChild"];
    if(G(ai)){
        ai=ai[ak?"firstChild":"lastChild"]
        }
        c.remove(aj,true);
    return ai
    }
    function ah(ai){
    var aj,ak;
    ai=n(ai,Z,A);
    if(ag.split){
        aj=H(ai,A);
        ak=H(ai);
        if(aj!=ak){
            aj=L(aj,"span",{
                id:"_start",
                _mce_type:"bookmark"
            });
            ak=L(ak,"span",{
                id:"_end",
                _mce_type:"bookmark"
            });
            af(aj);
            af(ak);
            aj=ab(A);
            ak=ab()
            }else{
            aj=ak=af(aj)
            }
            ai.startContainer=aj.parentNode;
        ai.startOffset=r(aj);
        ai.endContainer=ak.parentNode;
        ai.endOffset=r(ak)+1
        }
        I.walk(ai,function(al){
        M(al,function(am){
            X(am)
            })
        })
    }
    if(Y){
    V=c.createRng();
    V.setStartBefore(Y);
    V.setEndAfter(Y);
    ah(V);
    return
}
if(!p.isCollapsed()||!ag.inline){
    ad=p.getBookmark();
    ah(p.getRng(A));
    p.moveToBookmark(ad);
    T.nodeChanged()
    }else{
    O("remove",W,ae)
    }
}
function C(U,W,V){
    if(i(U,W,V)){
        z(U,W,V)
        }else{
        R(U,W,V)
        }
    }
function v(V,U,aa,Y){
    var W=P(U),ab,Z,X;
    function ac(ag,ai,aj){
        var af,ah,ad=ai[aj],ae;
        if(ad){
            if(ad.length===o){
                for(af in ad){
                    if(ad.hasOwnProperty(af)){
                        if(aj==="attributes"){
                            ah=c.getAttrib(ag,af)
                            }else{
                            ah=J(ag,af)
                            }
                            if(Y&&!ah&&!ai.exact){
                            return
                        }
                        if((!Y||ai.exact)&&!g(ah,q(ad[af],aa))){
                            return
                        }
                    }
                }
                }else{
    for(ae=0;ae<ad.length;ae++){
        if(aj==="attributes"?c.getAttrib(ag,ad[ae]):J(ag,ad[ae])){
            return ai
            }
        }
    }
}
return ai
}
if(W&&V){
    for(Z=0;Z<W.length;Z++){
        ab=W[Z];
        if(h(V,ab)&&ac(V,ab,"attributes")&&ac(V,ab,"styles")){
            if(X=ab.classes){
                for(Z=0;Z<X.length;Z++){
                    if(!c.hasClass(V,X[Z])){
                        return
                    }
                }
                }
            return ab
    }
    }
}
}
function i(W,Z,Y){
    var V,X;
    function U(aa){
        aa=c.getParent(aa,function(ab){
            return !!v(ab,W,Z,true)
            });
        return v(aa,W,Z)
        }
        if(Y){
        return U(Y)
        }
        if(p.isCollapsed()){
        for(X=N.apply.length-1;X>=0;X--){
            if(N.apply[X].name==W){
                return true
                }
            }
        for(X=N.remove.length-1;X>=0;X--){
        if(N.remove[X].name==W){
            return false
            }
        }
    return U(p.getNode())
}
Y=p.getNode();
if(U(Y)){
    return A
    }
    V=p.getStart();
if(V!=Y){
    if(U(V)){
        return A
        }
    }
return Q
}
function u(ab,aa){
    var Y,Z=[],X={},W,V,U;
    if(p.isCollapsed()){
        for(V=0;V<ab.length;V++){
            for(W=N.remove.length-1;W>=0;W--){
                U=ab[V];
                if(N.remove[W].name==U){
                    X[U]=true;
                    break
                }
            }
            }
        for(W=N.apply.length-1;W>=0;W--){
    for(V=0;V<ab.length;V++){
        U=ab[V];
        if(!X[U]&&N.apply[W].name==U){
            X[U]=true;
            Z.push(U)
            }
        }
    }
}
Y=p.getStart();
c.getParent(Y,function(ae){
    var ad,ac;
    for(ad=0;ad<ab.length;ad++){
        ac=ab[ad];
        if(!X[ac]&&v(ae,ac,aa)){
            X[ac]=true;
            Z.push(ac)
            }
        }
    });
return Z
}
function x(Y){
    var aa=P(Y),X,W,Z,V,U;
    if(aa){
        X=p.getStart();
        W=l(X);
        for(V=aa.length-1;V>=0;V--){
            U=aa[V].selector;
            if(!U){
                return A
                }
                for(Z=W.length-1;Z>=0;Z--){
                if(c.is(W[Z],U)){
                    return A
                    }
                }
            }
        }
return Q
}
a.extend(this,{
    get:P,
    register:j,
    apply:R,
    remove:z,
    toggle:C,
    match:i,
    matchAll:u,
    matchNode:v,
    canApply:x
});
function h(U,V){
    if(g(U,V.inline)){
        return A
        }
        if(g(U,V.block)){
        return A
        }
        if(V.selector){
        return c.is(U,V.selector)
        }
    }
function g(V,U){
    V=V||"";
    U=U||"";
    V=""+(V.nodeName||V);
    U=""+(U.nodeName||U);
    return V.toLowerCase()==U.toLowerCase()
    }
    function J(V,U){
    var W=c.getStyle(V,U);
    if(U=="color"||U=="backgroundColor"){
        W=c.toHex(W)
        }
        if(U=="fontWeight"&&W==700){
        W="bold"
        }
        return""+W
    }
    function q(U,V){
    if(typeof(U)!="string"){
        U=U(V)
        }else{
        if(V){
            U=U.replace(/%(\w+)/g,function(X,W){
                return V[W]||X
                })
            }
        }
    return U
}
function f(U){
    return U&&U.nodeType===3&&/^\s*$/.test(U.nodeValue)
    }
    function L(W,V,U){
    var X=c.create(V,U);
    W.parentNode.insertBefore(X,W);
    X.appendChild(W);
    return X
    }
    function n(U,ac,X){
    var W=U.startContainer,Z=U.startOffset,af=U.endContainer,aa=U.endOffset,ae,ab;
    function ad(ai,aj,ag,ah){
        var ak,al;
        ah=ah||c.getRoot();
        for(;;){
            ak=ai.parentNode;
            if(ak==ah||(!ac[0].block_expand&&E(ak))){
                return ai
                }
                for(ae=ak[aj];ae&&ae!=ai;ae=ae[ag]){
                if(ae.nodeType==1&&!G(ae)){
                    return ai
                    }
                    if(ae.nodeType==3&&!f(ae)){
                    return ai
                    }
                }
            ai=ai.parentNode
        }
        return ai
    }
    if(W.nodeType==1&&W.hasChildNodes()){
    ab=W.childNodes.length-1;
    W=W.childNodes[Z>ab?ab:Z];
    if(W.nodeType==3){
        Z=0
        }
    }
if(af.nodeType==1&&af.hasChildNodes()){
    ab=af.childNodes.length-1;
    af=af.childNodes[aa>ab?ab:aa-1];
    if(af.nodeType==3){
        aa=af.nodeValue.length
        }
    }
if(G(W.parentNode)){
    W=W.parentNode
    }
    if(G(W)){
    W=W.nextSibling||W
    }
    if(G(af.parentNode)){
    af=af.parentNode
    }
    if(G(af)){
    af=af.previousSibling||af
    }
    if(ac[0].inline||ac[0].block_expand){
    W=ad(W,"firstChild","nextSibling");
    af=ad(af,"lastChild","previousSibling")
    }
    if(ac[0].selector&&ac[0].expand!==Q&&!ac[0].inline){
    function Y(ah,ag){
        var ai,aj,ak;
        if(ah.nodeType==3&&ah.nodeValue.length==0&&ah[ag]){
            ah=ah[ag]
            }
            ai=l(ah);
        for(aj=0;aj<ai.length;aj++){
            for(ak=0;ak<ac.length;ak++){
                if(c.is(ai[aj],ac[ak].selector)){
                    return ai[aj]
                    }
                }
            }
        return ah
}
W=Y(W,"previousSibling");
af=Y(af,"nextSibling")
}
if(ac[0].block||ac[0].selector){
    function V(ah,ag,aj){
        var ai;
        if(!ac[0].wrapper){
            ai=c.getParent(ah,ac[0].block)
            }
            if(!ai){
            ai=c.getParent(ah.nodeType==3?ah.parentNode:ah,E)
            }
            if(ai&&ac[0].wrapper){
            ai=l(ai,"ul,ol").reverse()[0]||ai
            }
            if(!ai){
            ai=ah;
            while(ai[ag]&&!E(ai[ag])){
                ai=ai[ag];
                if(g(ai,"br")){
                    break
                }
            }
        }
    return ai||ah
}
W=V(W,"previousSibling");
af=V(af,"nextSibling");
if(ac[0].block){
    if(!E(W)){
        W=ad(W,"firstChild","nextSibling")
        }
        if(!E(af)){
        af=ad(af,"lastChild","previousSibling")
        }
    }
}
if(W.nodeType==1){
    Z=r(W);
    W=W.parentNode
    }
    if(af.nodeType==1){
    aa=r(af)+1;
    af=af.parentNode
    }
    return{
    startContainer:W,
    startOffset:Z,
    endContainer:af,
    endOffset:aa
}
}
function S(aa,Z,X,U){
    var W,V,Y;
    if(!h(X,aa)){
        return Q
        }
        if(aa.remove!="all"){
        M(aa.styles,function(ac,ab){
            ac=q(ac,Z);
            if(typeof(ab)==="number"){
                ab=ac;
                U=0
                }
                if(!U||g(J(U,ab),ac)){
                c.setStyle(X,ab,"")
                }
                Y=1
            });
        if(Y&&c.getAttrib(X,"style")==""){
            X.removeAttribute("style");
            X.removeAttribute("_mce_style")
            }
            M(aa.attributes,function(ad,ab){
            var ac;
            ad=q(ad,Z);
            if(typeof(ab)==="number"){
                ab=ad;
                U=0
                }
                if(!U||g(c.getAttrib(U,ab),ad)){
                if(ab=="class"){
                    ad=c.getAttrib(X,ab);
                    if(ad){
                        ac="";
                        M(ad.split(/\s+/),function(ae){
                            if(/mce\w+/.test(ae)){
                                ac+=(ac?" ":"")+ae
                                }
                            });
                    if(ac){
                        c.setAttrib(X,ab,ac);
                        return
                    }
                }
            }
        if(ab=="class"){
            X.removeAttribute("className")
            }
            if(e.test(ab)){
            X.removeAttribute("_mce_"+ab)
            }
            X.removeAttribute(ab)
        }
    });
M(aa.classes,function(ab){
    ab=q(ab,Z);
    if(!U||c.hasClass(U,ab)){
        c.removeClass(X,ab)
        }
    });
V=c.getAttribs(X);
for(W=0;W<V.length;W++){
    if(V[W].nodeName.indexOf("_")!==0){
        return Q
        }
    }
}
if(aa.remove!="none"){
    m(X,aa);
    return A
    }
}
function m(W,X){
    var U=W.parentNode,V;
    if(X.block){
        if(!k){
            function Y(aa,Z,ab){
                aa=B(aa,Z,ab);
                return !aa||(aa.nodeName=="BR"||E(aa))
                }
                if(E(W)&&!E(U)){
                if(!Y(W,Q)&&!Y(W.firstChild,A,1)){
                    W.insertBefore(c.create("br"),W.firstChild)
                    }
                    if(!Y(W,A)&&!Y(W.lastChild,Q,1)){
                    W.appendChild(c.create("br"))
                    }
                }
        }else{
    if(U==c.getRoot()){
        if(!X.list_block||!g(W,X.list_block)){
            M(a.grep(W.childNodes),function(Z){
                if(d(k,Z.nodeName.toLowerCase())){
                    if(!V){
                        V=L(Z,k)
                        }else{
                        V.appendChild(Z)
                        }
                    }else{
                V=0
                }
            })
    }
}
}
}
if(X.selector&&X.inline&&!g(X.inline,W)){
    return
}
c.remove(W,1)
}
function B(V,U,W){
    if(V){
        U=U?"nextSibling":"previousSibling";
        for(V=W?V:V[U];V;V=V[U]){
            if(V.nodeType==1||!f(V)){
                return V
                }
            }
        }
}
function G(U){
    return U&&U.nodeType==1&&U.getAttribute("_mce_type")=="bookmark"
    }
    function t(Y,X){
    var U,W,V;
    function aa(ad,ac){
        if(ad.nodeName!=ac.nodeName){
            return Q
            }
            function ab(af){
            var ag={};

            M(c.getAttribs(af),function(ah){
                var ai=ah.nodeName.toLowerCase();
                if(ai.indexOf("_")!==0&&ai!=="style"){
                    ag[ai]=c.getAttrib(af,ai)
                    }
                });
        return ag
        }
        function ae(ai,ah){
        var ag,af;
        for(af in ai){
            if(ai.hasOwnProperty(af)){
                ag=ah[af];
                if(ag===o){
                    return Q
                    }
                    if(ai[af]!=ag){
                    return Q
                    }
                    delete ah[af]
            }
        }
        for(af in ah){
        if(ah.hasOwnProperty(af)){
            return Q
            }
        }
    return A
}
if(!ae(ab(ad),ab(ac))){
    return Q
    }
    if(!ae(c.parseStyle(c.getAttrib(ad,"style")),c.parseStyle(c.getAttrib(ac,"style")))){
    return Q
    }
    return A
}
if(Y&&X){
    function Z(ac,ab){
        for(W=ac;W;W=W[ab]){
            if(W.nodeType==3&&!f(W)){
                return ac
                }
                if(W.nodeType==1&&!G(W)){
                return W
                }
            }
        return ac
    }
    Y=Z(Y,"previousSibling");
X=Z(X,"nextSibling");
if(aa(Y,X)){
    for(W=Y.nextSibling;W&&W!=X;){
        V=W;
        W=W.nextSibling;
        Y.appendChild(V)
        }
        c.remove(X);
    M(a.grep(X.childNodes),function(ab){
        Y.appendChild(ab)
        });
    return Y
    }
}
return X
}
function F(U){
    return/^(h[1-6]|p|div|pre|address|dl|dt|dd)$/.test(U)
    }
    function H(V,Y){
    var U,X,W;
    U=V[Y?"startContainer":"endContainer"];
    X=V[Y?"startOffset":"endOffset"];
    if(U.nodeType==1){
        W=U.childNodes.length-1;
        if(!Y&&X){
            X--
        }
        U=U.childNodes[X>W?W:X]
        }
        return U
    }
    function O(Z,V,Y){
    var W,U=N[Z],aa=N[Z=="apply"?"remove":"apply"];
    function ab(){
        return N.apply.length||N.remove.length
        }
        function X(){
        N.apply=[];
        N.remove=[]
        }
        function ac(ad){
        M(N.apply.reverse(),function(ae){
            R(ae.name,ae.vars,ad)
            });
        M(N.remove.reverse(),function(ae){
            z(ae.name,ae.vars,ad)
            });
        c.remove(ad,1);
        X()
        }
        for(W=U.length-1;W>=0;W--){
        if(U[W].name==V){
            return
        }
    }
    U.push({
    name:V,
    vars:Y
});
for(W=aa.length-1;W>=0;W--){
    if(aa[W].name==V){
        aa.splice(W,1)
        }
    }
if(ab()){
    T.getDoc().execCommand("FontName",false,"mceinline");
    N.lastRng=p.getRng();
    M(c.select("font,span"),function(ae){
        var ad;
        if(b(ae)){
            ad=p.getBookmark();
            ac(ae);
            p.moveToBookmark(ad);
            T.nodeChanged()
            }
        });
if(!N.isListening&&ab()){
    N.isListening=true;
    M("onKeyDown,onKeyUp,onKeyPress,onMouseUp".split(","),function(ad){
        T[ad].addToTop(function(ae,af){
            if(ab()&&!a.dom.RangeUtils.compareRanges(N.lastRng,p.getRng())){
                M(c.select("font,span"),function(ah){
                    var ai,ag;
                    if(b(ah)){
                        ai=ah.firstChild;
                        ac(ah);
                        ag=c.createRng();
                        ag.setStart(ai,ai.nodeValue.length);
                        ag.setEnd(ai,ai.nodeValue.length);
                        p.setRng(ag);
                        ae.nodeChanged()
                        }
                    });
            if(af.type=="keyup"||af.type=="mouseup"){
                X()
                }
            }
        })
})
}
}
}
}
})(tinymce);
tinymce.onAddEditor.add(function(e,a){
    var d,h,g,c=a.settings;
    if(c.inline_styles){
        h=e.explode(c.font_size_style_values);
        function b(j,i){
            g.replace(g.create("span",{
                style:i
            }),j,1)
            }
            d={
            font:function(j,i){
                b(i,{
                    backgroundColor:i.style.backgroundColor,
                    color:i.color,
                    fontFamily:i.face,
                    fontSize:h[parseInt(i.size)-1]
                    })
                },
            u:function(j,i){
                b(i,{
                    textDecoration:"underline"
                })
                },
            strike:function(j,i){
                b(i,{
                    textDecoration:"line-through"
                })
                }
            };

    function f(i,j){
        g=i.dom;
        if(c.convert_fonts_to_spans){
            e.each(g.select("font,u,strike",j.node),function(k){
                d[k.nodeName.toLowerCase()](a.dom,k)
                })
            }
        }
    a.onPreProcess.add(f);
    a.onInit.add(function(){
    a.selection.onSetContent.add(f)
    })
}
});
