var parchment_video=new Class({initialize:function(c,b){this.parch=c;this.placement=b;this.container=this.getEditMenu();this.cage=false;this.mouseoverContainer=false;this.parch.addEvent("parchmentCleanComplete",this.hijack.bind(this));this.parch.addEvent("parchmentToolbarClick",this.hideEditMenu.bind(this));window.addEvent("scroll",this.showEditMenu.bind(this));window.addEvent("resize",this.showEditMenu.bind(this));this.parch.addEvent("parchmentKeyDown",function(f){var g=this.parch.getSelectedElement();var d=this.parch.getCage(g);if(d&&d.getProperty("rel")=="video"){clog("ABORT: Typing inside an video CAGE.");var e=d.getNext();if(e){this.parch.selectNode(e)}f.stop()}}.bind(this));var a=this.parch.addDropOption("video",MEDIA_URL+"editor/img/parchment/video.png",this.placement);a.addEvent("click",function(f){var d=new Event(f).stop();this.codePanel()}.bind(this))},codePanel:function(b){if(b){b=b.replace(/<center>/,"");b=b.replace(/<\/center>/,"")}str='<div class="insert-video">';str+='<img src="'+MEDIA_URL+'vine/img/generic/logo-youtube.png" />';str+='<img src="'+MEDIA_URL+'vine/img/generic/logo-gametrailers.png" />';str+='<img src="'+MEDIA_URL+'vine/img/generic/logo-google.png" />';str+='<span class="description">Insert a URL or embed code from our site or any of these services</span>';str+='<textarea rows="5" cols="80" class="link"></textarea>';if(VINES_USER_PERMISSION){str+='<span class="force-width">Force width 550px <input class="jsForceWidth" type="checkbox" /></span>'}str+='<a class="jsOk btn">Insert</a>';str+="</div>";var a=new Element("div").set("html",str).inject(document.body);this.inputField=a.getElement(".link").addEvent("keydown",function(d){var c=Event(d);if(c.key=="enter"){this.save()}}.bind(this));a.getElement(".jsOk").addEvent("click",this.save.bind(this));this.pad=new LaunchPad.Base({titleTextStr:"Add a Video",styles:{width:"400px"}});this.pad.insert(a);this.inputField.select();this.forceWidth=false;if(VINES_USER_PERMISSION){this.forceWidth=a.getElement(".jsForceWidth")}if(b){this.inputField.value=b}},save:function(){var k=this.inputField.value;if(!k){alert("Whoa, you need to enter something.");return false}var c="";var i="";var e="";var j=false;var d=false;if(k.contains("<object")||k.contains("<embed")){var c=k}else{if(k.contains("www.giantbomb.com")||k.contains("www.animevice.com")||k.contains("www.comicvine.com")||k.contains("www.tested.com")||k.contains("www.screened.com")){match=k.match(/([0-9]+)\/?([?#].*)*$/);if(!match[1]){alert("Whoops, I don't think that is a valid Whiskey Media video url.");return false}var b=match[1];var a="";if(k.contains("www.giantbomb.com")){a="www.giantbomb.com"}else{if(k.contains("www.animevice.com")){a="www.animevice.com"}else{if(k.contains("www.comicvine.com")){a="www.comicvine.com"}else{if(k.contains("www.tested.com")){a="www.tested.com"}else{if(k.contains("www.screened.com")){a="www.screened.com"}}}}}e="paramsURI=http%3A//"+a+"/video/params/"+b+"/?w=1";i="http://"+a+"/video/video.swf";var j=550;var d=360}else{if(k.contains("www.youtube.com")){i=k.replace(/watch\?v=/,"v/");var j=425;var d=344}else{if(k.contains("video.google.com")){i=k.replace(/videoplay\?docid=/,"googleplayer.swf?docid=");var j=425;var d=344}else{if(k.contains("www.gametrailers.com")){match=k.match(/([0-9]+)\/?([?#].*)*$/);if(!match[1]){alert("Whoops, I don't think that is a valid video url.");return false}var b=match[1];i="http://www.gametrailers.com/remote_wrap.php?mid="+b;var j=480;var d=392}else{alert("Sorry, I don't know this video service.");return false}}}}}if(c==""){c+='<object width="'+j+'" height="'+d+'">';c+='<param name="movie" value="'+i+'"></param>';c+='<param name="allowFullScreen" value="true"></param>';c+='<param name="allowscriptaccess" value="always"></param>';c+='<param name="wmode" value="transparent"></param>';if(e){c+='<param name="flashvars" value="'+e+'">'}c+='<embed src="'+i+'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="'+j+'" height="'+d+'" wmode="transparent"';if(e){c+=' flashvars="'+e+'"'}c+="></embed>";c+="</object>"}c='&nbsp;&nbsp;<div class="js-item-cage" rel="video"><center>'+c+"</center></div>&nbsp;&nbsp;";if(this.forceWidth&&this.forceWidth.checked==true){if(!j||!d){var g=c.split('width="');var j=g[1].split('"')[0].toInt();var g=c.split('height="');var d=g[1].split('"')[0].toInt()}if(j!=550){var f=(550*d)/j;f=f.toInt();if(c.contains('width="'+j+'px"')){c=c.replace(new RegExp('width="'+j+'px"',"gi"),'width="550px"');c=c.replace(new RegExp('height="'+d+'px"',"gi"),'height="'+f+'px"')}if(c.contains('width="'+j+'"')){c=c.replace(new RegExp('width="'+j+'"',"gi"),'width="550px"');c=c.replace(new RegExp('height="'+d+'"',"gi"),'height="'+f+'px"')}}}c=c.replace(new RegExp("color=","gi"),"badVar=");c=c.replace(new RegExp("color1=","gi"),"badVar=");c=c.replace(new RegExp("color2=","gi"),"badVar=");c=c.replace(new RegExp("border=","gi"),"badVar=");this.parch.insertHTML(c,this.cage);this.pad.hide();window.setTimeout(function(){this.hijack()}.bind(this),1000)},hijack:function(){clog("HIJACK VIDEO");this.cages=[];$(this.parch.body).getElements(".js-item-cage").each(function(b){if(b.getProperty("rel")!="video"){return}clog("hijack video found");this.cages.include(b);b.removeClass("wiki-embed-code");b.removeClass("parchment-item-cage-hover");var j=b.getElement("embed");if(j){if(Browser.Engine.trident){b.innerHTML=b.innerHTML.replace(/<embed /gi,'<embed wmode="transparent" ')}else{j.setAttribute("wmode","transparent")}}var g=b.getElement("object");if(g){var f=false;b.getElements("param").each(function(e){if(e.name=="wmode"){e.value="transparent";f=true}});if(!f){var i=this.parch.doc.createElement("param");i.name="wmode";i.value="transparent";g.appendChild(i)}try{var a=g.getProperty("width");var c=g.getProperty("height");b.setStyles({height:c,width:"100%"})}catch(d){clog("Flash borked "+d)}}b.addEvent("mouseover",function(k){var h=new Event(k).stop();clearTimeout(this.mouseOutTimer);this.cage=b;this.showEditMenu()}.bind(this));b.addEvent("mouseout",function(k){var h=new Event(k).stop();clearTimeout(this.mouseOutTimer);this.mouseOutTimer=window.setTimeout(function(){if(this.cage==b){this.hideEditMenu()}else{b.removeClass("parchment-item-cage-hover")}}.bind(this),100)}.bind(this))}.bind(this))},hideEditMenu:function(){if(this.mouseoverContainer){return}this.container.setStyles({position:"absolute",left:"0px",top:"0px",visibility:"hidden"});if(!$(this.cage)){return}this.cage.removeClass("parchment-item-cage-hover");this.cage=false},hideEditMenuForce:function(){this.container.setStyles({position:"absolute",left:"0px",top:"0px",visibility:"hidden"})},showEditMenu:function(){if(!$(this.cage)){return}this.cages.each(function(g){g.removeClass("parchment-item-cage-hover")});var d=this.container.getCoordinates();var b=$(this.parch.IF).getCoordinates();var a=$(this.parch.TB).getCoordinates();var c=this.cage.getCoordinates();var f=0;var e=c.left+b.left;if(e>b.width/2&&c.width<d.width){e=e-(d.width-c.width)}if(window.getScroll().y>b.top+c.bottom){f="-1000px";position="absolute"}else{if(window.getScroll().y>b.top+c.top){f=a.height;position="fixed"}else{f=c.top+b.top;position="absolute"}}this.container.setStyles({visibility:"visible",position:position,top:f,left:e});this.cage.addClass("parchment-item-cage-hover")},getEditMenu:function(){str='<a class="jsEditEmbed">Edit Video</a> - ';str+='<a class="jsRemoveEmbed">Remove Video</a>';var a=new Element("div").addClass("parchment_edit_menu").setStyles({position:"absolute",left:"0px",top:"0px",visibility:"hidden"}).setHTML(str).inject(document.body).addEvent("mouseover",function(){this.mouseoverContainer=true}.bind(this)).addEvent("mouseout",function(){this.mouseoverContainer=false}.bind(this));this.parch.setMenuZindex(a);a.getElement(".jsEditEmbed").addEvent("click",function(){var b=this.cage.innerHTML;this.codePanel(b.trim());this.hideEditMenu()}.bind(this));a.getElement(".jsRemoveEmbed").addEvent("click",function(){this.hideEditMenuForce();this.parch.removeCage(this.cage);this.cage=false}.bind(this));return a}});