tinymce.PluginManager.add("media",function(e,t){var i=[{regex:/youtu\.be\/([\w\-.]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$1"},{regex:/youtube\.com(.+)v=([^&]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$2"},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc"},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"'}];function r(e){if(e.indexOf(".mp3")!=-1){return"audio/mpeg"}if(e.indexOf(".wav")!=-1){return"audio/wav"}if(e.indexOf(".mp4")!=-1){return"video/mp4"}if(e.indexOf(".webm")!=-1){return"video/webm"}if(e.indexOf(".ogg")!=-1){return"video/ogg"}if(e.indexOf(".swf")!=-1){return"application/x-shockwave-flash"}return""}function a(t){var i=e.settings.media_scripts;if(i){for(var r=0;r'}else if(o.source1mime=="application/x-shockwave-flash"){c+='';if(o.poster){c+=''}c+=""}else if(o.source1mime.indexOf("audio")!=-1){if(e.settings.audio_template_callback){c=e.settings.audio_template_callback(o)}else{c+='"}}else if(o.type=="script"){c+=''}else{if(e.settings.video_template_callback){c=e.settings.video_template_callback(o)}else{c='"}}}return c}function n(e){var t={};new tinymce.html.SaxParser({validate:false,allow_conditional_comments:true,special:"script,noscript",start:function(e,i){if(!t.source1&&e=="param"){t.source1=i.map.movie}if(e=="iframe"||e=="object"||e=="embed"||e=="video"||e=="audio"){if(!t.type){t.type=e}t=tinymce.extend(i.map,t)}if(e=="script"){var r=a(i.map.src);if(!r){return}t={type:"script",source1:i.map.src,width:r.width,height:r.height}}if(e=="source"){if(!t.source1){t.source1=i.map.src}else if(!t.source2){t.source2=i.map.src}}if(e=="img"&&!t.poster){t.poster=i.map.src}}}).parse(e);t.source1=t.source1||t.src||t.data;t.source2=t.source2||"";t.poster=t.poster||"";return t}function u(t){if(t.getAttribute("data-mce-object")){return n(e.serializer.serialize(t,{selection:true}))}return{}}function m(e,t,i){var r=new tinymce.html.Writer;var a=0,o;function c(e,t){var i,r,a,o;for(i in t){a=""+t[i];if(e.map[i]){r=e.length;while(r--){o=e[r];if(o.name==i){if(a){e.map[i]=a;o.value=a}else{delete e.map[i];e.splice(r,1)}}}}else if(a){e.push({name:i,value:a});e.map[i]=a}}}new tinymce.html.SaxParser({validate:false,allow_conditional_comments:true,special:"script,noscript",comment:function(e){r.comment(e)},cdata:function(e){r.cdata(e)},text:function(e,t){r.text(e,t)},start:function(e,s,n){switch(e){case"video":case"object":case"embed":case"img":case"iframe":c(s,{width:t.width,height:t.height});break}if(i){switch(e){case"video":c(s,{poster:t.poster,src:""});if(t.source2){c(s,{src:""})}break;case"iframe":c(s,{src:t.source1});break;case"source":a++;if(a<=2){c(s,{src:t["source"+a],type:t["source"+a+"mime"]});if(!t["source"+a]){return}}break;case"img":if(!t.poster){return}o=true;break}}r.start(e,s,n)},end:function(e){if(e=="video"&&i){for(var s=1;s<=2;s++){if(t["source"+s]){var n=[];n.map={};if(a]*>","gi")});var i=e.schema.getBoolAttrs();tinymce.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(e){i[e]={}});e.parser.addNodeFilter("iframe,video,audio,object,embed,script",function(t,i){var r=t.length,o,c,s,n,u,m,l;var d;while(r--){c=t[r];if(c.name=="script"){d=a(c.attr("src"));if(!d){continue}}s=new tinymce.html.Node("img",1);s.shortEnded=true;if(d){if(d.width){c.attr("width",d.width.toString())}if(d.height){c.attr("height",d.height.toString())}}m=c.attributes;o=m.length;while(o--){n=m[o].name;u=m[o].value;if(n!=="width"&&n!=="height"&&n!=="style"){if(n=="data"||n=="src"){u=e.convertURL(u,n)}s.attr("data-mce-p-"+n,u)}}l=c.firstChild&&c.firstChild.value;if(l){s.attr("data-mce-html",escape(l));s.firstChild=null}s.attr({width:c.attr("width")||"300",height:c.attr("height")||(i=="audio"?"30":"150"),style:c.attr("style"),src:tinymce.Env.transparentSrc,"data-mce-object":i,class:"mce-object mce-object-"+i});c.replace(s)}});e.serializer.addAttributeFilter("data-mce-object",function(e,t){var i=e.length,r,a,o,c,s,n,u;while(i--){r=e[i];u=r.attr(t);a=new tinymce.html.Node(u,1);if(u!="audio"&&u!="script"){a.attr({width:r.attr("width"),height:r.attr("height")})}a.attr({style:r.attr("style")});c=r.attributes;o=c.length;while(o--){var m=c[o].name;if(m.indexOf("data-mce-p-")===0){a.attr(m.substr(11),c[o].value)}}if(u=="script"){a.attr("type","text/javascript")}s=r.attr("data-mce-html");if(s){n=new tinymce.html.Node("#text",3);n.raw=true;n.value=unescape(s);a.append(n)}r.replace(a)}})});e.on("ObjectSelected",function(e){var t=e.target.getAttribute("data-mce-object");if(t=="audio"||t=="script"){e.preventDefault()}});e.on("objectResized",function(e){var t=e.target,i;if(t.getAttribute("data-mce-object")){i=t.getAttribute("data-mce-html");if(i){i=unescape(i);t.setAttribute("data-mce-html",escape(m(i,{width:e.width,height:e.height})))}}});e.addButton("media",{tooltip:"Insert/edit video",onclick:o,stateSelector:["img[data-mce-object=video]","img[data-mce-object=iframe]"]});e.addMenuItem("media",{icon:"media",text:"Insert video",onclick:o,context:"insert",prependToContext:true})});