var Studio={update:function(b){if(!b.target){throw ("Missing target parameter")}var a=b.post||b.get;var c=b.post?"post":"get";data=b.data||{};$extend(data,{djs:1});new Request.HTML({method:c,url:a,noCache:true,update:b.target}).send({data:data});return false},confirm:function(a){new Platform.Confirm({message:a.msg,confirmLabel:a.label||"Continue",onConfirm:function(){if(a.post){Platform.doPOST(a.post,a.data)}else{if(a.get){if(a.data){url=Platform.extendUrl(a.get,a.data)}window.location.assign(Platform.extendUrl(url))}}}});return false},enableTips:function(){window.document.getElements(".tip-seed").forEach(function(a){new Studio.VaporTip(a)})},waitForPaypal:function(){new Platform.Overlay("<h1>Redirecting to Paypal...</h1>")},open:function(a){window.location.assign(a)},openPopup:function(b,c){var a=window.open(b,c);a.focus()}};Studio.UserVideoName=new Class({Extends:Chrome.EditableText,initialize:function(b,a){this.parent(b);b._ctrl=this;this.video=new Studio.Video({id:a}).addListener(this,"video")},save:function(){var a=this.parent();if(a){this.video.set("name",this.getValue());this.video.save()}return a},onVideoChange:function(){this.setValue(this.video.get("name"))}});Studio.MenuButton=new Class({Extends:Platform.CmdMenu,initialize:function(b,a){this._callbacks={};this.btn=b;this.btn.addEvent("click",this.toggle.bind(this));this.parent(a);this.addListener(this)},open:function(){var a=this.btn.getPosition();this.parent(a.x-2,a.y+this.btn.offsetHeight-2);this.setSafeNodes(this.btn);this.btn.addClass("active")},close:function(){this.btn.removeClass("active");this.parent()},addCmd:function(b,a,c){this._callbacks[b]=c;return this.parent(b,a)},onClick:function(a,b){var c=this._callbacks[b];if(typeof(c)=="string"){window.location.assign(c)}else{c()}}});Studio.Tip=new Class({Extends:Platform.Menu,initialize:function(a){this.parent();this.setContent(a)},buildView:function(){this.view=new Element("div").addClass("Tip");this.content=this.view.appendChild(new Element("div").addClass("content"));this.arrow2=this.view.appendChild(new Element("div").addClass("arrow2"));this.arrow=this.view.appendChild(new Element("div").addClass("arrow"));this._fx=new Fx.Morph(this.view)},_prepareContent:function(a){if(a.cloneNode){this.content.innerHTML="";this.content.appendChild(a.cloneNode(true))}else{this.content.innerHTML=a}},_open:function(a,b){this._target=$(a);this._mode=b},refresh:function(){var e=this._target.getPosition();var b=e.x+this._target.offsetWidth/2;var a,d,c;if(this._mode=="up"){this.view.changeClass("up");d=e.y+5-this.view.offsetHeight-this.arrow.offsetHeight}else{this.view.changeClass("down");d=e.y+this._target.offsetHeight-5+this.arrow.offsetHeight}d=Math.max(d,5);a=b-this.view.offsetWidth/2;a=Math.max(5,a-Math.max(a+this.view.offsetWidth+5-window.getWidth(),0));this.arrow2.style.left=this.arrow.style.left=b-a+"px";this.view.setStyles({left:a,top:d})}});Studio.VaporTip=new Class({Extends:Studio.Tip,_autoCloseOn:"mouseover",initialize:function(b){this._target=b;this._mode=b.getAttribute("data-mode")||"up";var a=$(b.getAttribute("data-tip"));this.parent(a);this.setSafeNodes(b);this.bound={timedOpen:this.timedOpen.bind(this),open:this.open.bind(this)};this._target.addEvent("mouseover",this.bound.timedOpen);this._target.addEvent("click",this.bound.open)},timedOpen:function(){if(this._watchDog.awake()){this._timer=setTimeout(this.bound.open,400)}},open:function(){Platform.ContentManager.prototype.open.call(this);this._target.addClass("hover")},close:function(){clearTimeout(this._timer);this._watchDog.sleep();this.parent();this._target.removeClass("hover")}});Studio.View={$:function(b,a){return this.view.getElement(b)},proxy:function(a){if(!this.bound){this.bound={}}return this.bound[a]||(this.bound[a]=this[a].bind(this))},show:function(c,b){var a=(typeof(c)=="string"?this.$(c):c);if(a!=this._stage){if(this._stage){if(this._stage._name){Platform.Controller.fire.call(this.view,b+"Unload",this._stage)}this._stage.hide()}this._stage=a.show();if(b){if(!this._stage._name){Platform.Controller.fire.call(this.view,b+"Init",this._stage);this._stage._name=b}Platform.Controller.fire.call(this.view,b+"Load",this._stage)}}return this._stage}};Studio.CenteredPopup={open:function(c,b,d,a){var e=this.getCenteredCoords(d,a);var f=["width="+d,"height="+a,"left="+e[0],"top="+e[1],"status=1,location=1,resizable=yes,scrollbars=yes"].join(",");return window.open(c,b,f)},getCenteredCoords:function(b,a){var d=this.getParentCoords();var c=window.getSize();return[d[0]+Math.max(Math.floor((c.x-b)/2),0),d[1]+Math.max(Math.floor((c.y-a)/2),0)]},getParentCoords:function(){var b=0,a=0;if("screenLeft" in window){b=window.screenLeft;a=window.screenTop}else{if("screenX" in window){b=window.screenX;a=window.screenY}}return[b,a]}};Studio.Message=new Class({initialize:function(b,a){this.view=b;this.core=b.getElement(".core").addClass("active");this.closeBtn=this.core.appendChild(new Element("span",{"class":"closeBtn",title:"Close"}));this.closeBtn.addEvent("click",this.close.bind(this))},close:function(a){this.view.dispose()}});var messages=$("messages");if(messages){messages.getElements("li").each(function(a){new Studio.Message(a,10)})}Studio.FlatSelector=new Class({initialize:function(a,c){var b=this;a.forEach(function(d){d.addEvent(c,b.proxy("select",d))});this.select(a[0])},proxy:function(b){var a=Array.prototype.slice.call(arguments,1);return this[b].bind(this,a)},select:function(a){if(this._selected){this._selected.removeClass("selected")}a.addClass("selected");this._selected=a}});Studio.SimpleOption=new Class({Implements:Studio.View,initialize:function(a){this.view=a;this.input=this.$("input");this.pull(function(){this.input.addEvent("change",this.proxy("onChange"));this.input.addEvent("keypress",this.proxy("onChange"));this.input.addEvent("mouseup",this.proxy("onChange"));this.view.show()}.bind(this))},onChange:function(){clearTimeout(this._timer);this._timer=setTimeout(this.proxy("push"),250)},setValue:function(a){this.input.checked=(a=="yes")?true:false},getValue:function(){return this.$("input").checked?"yes":"no"},pull:function(a){this._pull(function(b){this.setValue(b);a&&a(b)}.bind(this))},_pull:function(a){},push:function(a){this._push(this.getValue(),a)},_push:function(a,b){}});Studio.VideoOption=new Class({Extends:Studio.SimpleOption,initialize:function(a,b,c){this.video=new Studio.Video(b);this.metaName=c;this.parent(a)},_pull:function(a){this.video.getMeta(this.metaName,a)},_push:function(a,b){this.video.setMeta(this.metaName,a,b)}});Studio.UserPreferenceOption=new Class({Extends:Studio.SimpleOption,initialize:function(b,a){this.user=new Studio.User();this.prefName=a;this.parent(b)},_pull:function(a){this.user.getPreference(this.prefName,a)},_push:function(a,b){this.user.setPreference(this.prefName,a,b)}});Studio.RenderManager={DELAY:5000,_listeners:[],initialize:function(){this.bound={update:this.update.bind(this),onUpdate:this.onUpdate.bind(this)}},addListener:function(b,a){this._listeners.push({id:b,listener:a});this._dirty=true;this.scheduleUpdate(0)},removeListener:function(a,b){this._listeners=this._listeners.filter(function(d){var c=d.listener==a;if(b){c&=d.id==b}return !c})},update:function(){if(this._updating||!this._listeners.length){return}new Request.JSON({method:"get",url:"/djs/renders/",noCache:true,onComplete:this.bound.onUpdate}).send({data:{method:"getStatus","for":this._listeners.map(function(a){return a.id}).join(",")}});this._dirty=false;this._updating=true},onUpdate:function(a){this._listeners.slice(0).forEach(function(b){if(a[b.id]){b.listener.onUpdate(a[b.id])}});this._updating=false;this._dirty?this.update():this.scheduleUpdate(this.DELAY)},scheduleUpdate:function(a){clearTimeout(this._timer);this._timer=setTimeout(this.bound.update,a)}};Studio.RenderManager.initialize();Studio.Render=new Class({Implements:Platform.Controller,initialize:function(a){this._data=a;this._manager=Studio.RenderManager;if(!a.duration){this.status="busy";this._manager.addListener(a.id,this)}else{this.status="available"}},get:function(a){return this._data[a]},restart:function(a){this._manager.removeListener(this);this.status="busy";new Request.JSON({method:"get",url:"/djs/render/"+this._data.id+"/",noCache:true,onComplete:function(){this._manager.addListener(this._data.id,this)}.bind(this)}).send({data:{method:"restart",full:a?"1":"0"}})},onUpdate:function(a){a=Platform.simpleStatus(a);if(a.available){this._manager.removeListener(this);this._data.duration=a.duration;this._data.filesize=a.filesize;this.status="available";this.fire("available",a)}else{if(a.error){this._manager.removeListener(this);this.status="error";this.fire("error",a)}else{this.fire("status",a)}}}});Studio.DjsModel=new Class({Implements:Platform.Controller,initialize:function(a){this._data=a||{};this._dirty=[]},_djs:function(d,b,a,c){a=a||{};a.method=b;new Request.JSON({method:d,url:this._djsUrl(),noCache:true,onComplete:c}).send({data:a})},_get:function(){var a=Array.prototype.slice.call(arguments,0);a.unshift("get");return this._djs.apply(this,a)},_post:function(){var a=Array.prototype.slice.call(arguments,0);a.unshift("post");return this._djs.apply(this,a)},get:function(a){return this._data[a]},set:function(b,c,a){a=Sx.mix({silent:false,fromServer:false},a);if(c!=this._data[b]){this._data[b]=c;if(!a.fromServer){this._dirty.push(b)}if(!a.silent){this.fire("change",b)}}return this},save:function(c){if(this._dirty.length>0){var a,b={};while(a=this._dirty.pop()){b[a]=this._data[a]}this._post("update",b,function(e){for(var d in e){this.set(d,e[d],{fromServer:true})}c&&c(e)}.bind(this))}}});Studio.Video=new Class({Extends:Studio.DjsModel,_djsUrl:function(){return"/djs/video/"+this.get("id")+"/"},setDefinition:function(a,b){this._post("setDefinition",{definition:JSON.encode(a)},b)},getPreview:function(a,b){this._post("getPreview",{definition:JSON.encode(a)},b)},setMetas:function(a,b){this._post("setMetas",a,b)},setMeta:function(a,b,d){var c={};c[a]=b;this.setMetas(c,d)},getMeta:function(a,b){this._get("getMetas",{metas:a},function(c){b(c[a])})},del:function(a){this._post("delete",false,a)}});Studio.User=new Class({Extends:Studio.DjsModel,initialize:function(a,b){this._userId=a||"me";this.parent(b)},_djsUrl:function(){return"/djs/user/"+this._userId+"/"},getPreference:function(a,b){this._get("getPreferences",{preferences:a},function(c){b(c[a])})},setPreference:function(b,c,d){var a={};a[b]=c;this._post("setPreference",a,d)},incrementCredits:function(a){this._post("incrementCredits",undefined,a)},decrementCredits:function(a){this._post("decrementCredits",undefined,a)}});Studio.Task=new Class({Implements:Platform.Controller,DELAY:2000,initialize:function(a){this.id=a;this.bound={update:this.update.bind(this),onUpdate:this.onUpdate.bind(this)};setTimeout(this.bound.update,0)},_djsUrl:function(){return"/djs/task/"+this.id+"/"},_djs:function(c,a,b){a=a||{};a.method=c;new Request.JSON({method:"get",url:this._djsUrl(),noCache:true,onComplete:b}).send({data:a})},update:function(){this._djs("getStatus",{},this.bound.onUpdate)},onUpdate:function(b){this.data=b;var a=b.status||{};if(a.error){this.fire("error")}else{if(a.completed){this.fire("success")}else{this.fire("update");setTimeout(this.bound.update,this.DELAY)}}}});var Slideshow=new Class({initialize:function(a){this.images=$$(a);this.currentIndex=0;this.images.each(function(b,c){if(c>0){b.setStyle("opacity",0)}})},show:function(a){this.images[this.currentIndex].fade("out");this.images[a].fade("in");this.currentIndex=a}});function slideshow2(d,h,e,a){var f=d;var h=$$(h);var e=$$(e)[0].getElements("span");var a=$$(a)[0];var g=0;var c;h.each(function(k,l){if(l>0){k.set("opacity",0)}e[l].addEvent("mouseover",function(m){if(m){m.stop()}i();j(l)})});var b=function(){c=j.periodical(f)};var i=function(){$clear(c)};var j=function(k){e[g].setAttribute("class",e[g].getAttribute("class").replace("-focus",""));h[g].fade("out");g=($defined(k)?k:(g<h.length-1?g+1:0));e[g].setAttribute("class",e[g].getAttribute("class")+"-focus");h[g].fade("in")};a.addEvents({mouseenter:function(){i()},mouseleave:function(){b()}});window.addEvent("load",function(){b()})}var Dashboard={initialize:function(a,c,b){this.view=$(document.body);this.buildPalette();this.searchForm=new Dashboard.SearchForm(this.view.getElement(".searchForm"));this.projects=new Dashboard.Manager($("projects"),c).addListener(this,"manager");this.exports=new Dashboard.Manager($("exports"),b).addListener(this,"manager");this.onManagerChange(this.projects);this.onManagerChange(this.exports);this.setVideoSize(a);window.addEvent("resize",this.refresh.bind(this))},buildPalette:function(){this.footer=$("footer");this.palette=this.footer.appendChild(new Element("div").addClass("footerPalette"));var a=this.palette.appendChild(new Element("button",{title:"Search"}).addClass("searchBtn"));a.addEvent("click",function(){this.searchForm.show()}.bind(this));this.slider=new Chrome.Slider().setDelegate(this,"slider");this.palette.appendChild(this.slider.view);window.addEvent("scroll",this.surfacePalette.bind(this))},setVideoSize:function(b,a){if(!a){this.slider.setValue(b)}this._videoWidth=120+360*b;this.refresh()},refresh:function(){this.projects.refresh();this.exports.refresh();this.surfacePalette()},surfacePalette:function(){var b=this.footer.getPosition().y;var a=window.getScrollTop()+window.getHeight();if(b>=a){this.palette.removeClass("absolute")}else{this.palette.addClass("absolute")}},onSliderDrag:function(a,b){this.setVideoSize(b,true)},onSliderDragComplete:function(a,b){if(b){new Request({method:"post",url:"./save-size/"}).send({data:{value:a.getValue()}})}},onManagerChange:function(a){a.view[a.getLength()>0?"show":"hide"]();this.surfacePalette();if(this.projects.getLength()+this.exports.getLength()<1){this.view.addClass("emptyDashboard")}}};Dashboard.Manager=new Class({Implements:Platform.Controller,initialize:function(a,b){this.view=a;this.content=a.getElement(".content");this.moreBar=a.appendChild(new Element("div").addClass("moreBar"));this.moreBar.addEvent("click",function(){this.fetchData()}.bind(this));this._videos=[];this._params=b.query;this.onData(b,true)},getLength:function(){return this._videos.length},fetchData:function(a){if(this._fetching){return}this._fetching=true;this.moreBar.removeClass("active");this.moreBar.innerHTML="loading...";a=Sx.mix(a||{},this._params,true);new Request.JSON({method:"get",url:"/djs/videos/",noCache:true,onComplete:function(b){this.onData(b)}.bind(this)}).send({data:a})},onData:function(a,d){this._fetching=false;for(var e,b=0;e=a.data[b];b++){var c=new Dashboard.Video(e).addListener(this,"video");this._videos.push(c);this.content.appendChild(c.view)}this._params.offset=a.query.offset+a.query.limit;this._more=a.total-this._params.offset;if(this._more>0){this.moreBar.addClass("active");this.moreBar.innerHTML=this._more+" more"}else{this.moreBar.dispose()}if(!d){this.refresh()}this.fire("change",this.getLength())},refresh:function(){var c=0;for(var b,a=0;b=this._videos[a];a++){b.view.style.clear="none";b.setSize(Dashboard._videoWidth);if(b.view.offsetTop>c){b.view.style.clear="left";c=b.view.offsetTop}}},onVideoDeleted:function(b){var a=b.view.parentNode;this.content.removeChild(b.view);b.removeListener(this);this._videos.splice(this._videos.indexOf(b),1);if(this._more>0){this._params.offset--;this.fetchData({limit:1})}else{this.refresh();this.fire("change",this.getLength())}}});Dashboard.Video=new Class({Implements:Platform.Controller,initialize:function(c){this._data=c;this._model=new Studio.Video({id:c.id,name:c.name}).addListener(this,"model");this.view=new Element("div").addClass("UserVideo");this.core=this.view.appendChild(new Element("div").addClass("core"));this.canvas=this.core.appendChild(new Element("div").addClass("canvas"));this.link=this.core.appendChild(new Element("a",{href:c.absolute_url}));var b=this.view.appendChild(new Element("div",{html:c.name})).addClass("name");this.name=new Chrome.EditableText(b).addListener(this,"name");details=[(c.profile?c.profile.codename+" Video":"Video Project"),c.template];if(this._data.no_branding){details.push('<span class="whitelabel">WhiteLabel</span>')}if(this._data.is_public=="yes"){details.push('<span class="public">Public</span>')}this.view.appendChild(new Element("p",{html:details.join(" - ")}).addClass("details"));this.menuBtn=this.core.appendChild(new Element("div").addClass("menuBtn"));this.menu=new Studio.MenuButton(this.menuBtn).addListener(this,"menu");this.menu.addCmd("open","Open",c.absolute_url);if(c.render){this._label="video";this._ratio=c.sample.vres/c.sample.hres;this.render=new Studio.Render(c.render).addListener(this,"render");if(this.render.status=="available"){this.onRenderAvailable()}else{this.makeBusy()}if(c.upgrade_url){this.menu.addCmd("upgrade","Upgrade & Buy options",c.upgrade_url)}if(c.remix_url){this.menu.addCmd("remix","Edit as a new project",c.remix_url)}this.menu.addCmd("rename","Rename",this.onRename.bind(this));this.menu.addCmd("report","Report a problem",c.report_url)}else{this._label="video project";this._ratio=0.6;this.view.addClass("Project");if(c.remix_url){this.menu.addCmd("remix","Edit as a new project",c.remix_url)}this.menu.addCmd("rename","Rename",this.onRename.bind(this));if(!c.remix_url){var a=this.core.appendChild(new Element("div",{"class":"warning","data-tip":"discontinuedThemeNotice"}));new Studio.VaporTip(a,"up")}}this.menu.addCmd("delete","Delete",this.remove.bind(this))},onMenuOpen:function(){this.view.addClass("menuIsOpen")},onMenuClose:function(){this.view.removeClass("menuIsOpen")},setSize:function(a){this.view.style.width=a+"px";this.canvas.style.height=Math.floor(parseInt(this.canvas.getStyle("width"))*this._ratio)+"px"},makeBusy:function(){this.view.changeClass("busy");this.canvas.innerHTML="";var a=this.canvas.appendChild(new Element("div").addClass("status"));var b=a.appendChild(new Element("div").addClass("pgBar"));this.pg=b.appendChild(new Element("div").addClass("pg"));this.pg._fx=new Fx.Morph(this.pg,{unit:"%",duration:Studio.RenderManager.DELAY});this.state=a.appendChild(new Element("p",{html:"..."}).addClass("state"))},onRenderStatus:function(b,a){if(!this._started){this.pg.style.width=a.percent+"%";this._started=true}else{this.pg._fx.cancel();this.pg._fx.start({width:a.percent})}this.state.innerHTML=a.state+"..."},onRenderError:function(c,b){this.view.changeClass("error");this.canvas.innerHTML="";var a=this.canvas.appendChild(new Element("div").addClass("status"));a.appendChild(new Element("p",{html:"Outch! We encountered an Internal Error."})).addClass("state")},onRenderAvailable:function(){this.view.changeClass("available").addClass("loading");this.canvas.innerHTML="";var a=this.canvas.appendChild(new Element("img"));a.addEvent("load",function(){this.view.removeClass("loading")}.bind(this));a.src=this._data.sample.thumb_url;this.canvas.appendChild(new Element("p",{html:new Platform.Duration(this._data.render.duration).reduced()}).addClass("info"))},remove:function(){var a=["Do you really want to delete the "+this._label+":<br/>",'<a href="'+this._data.absolute_url+'">'+this._model.get("name")+"</a> ?"].join("");new Platform.Confirm({message:a,confirmLabel:"Delete",onConfirm:this.doRemove.bind(this)})},onRename:function(){this.name.edit()},onNameSave:function(b,a){this._model.set("name",a).save()},onModelChange:function(){this.name.setValue(this._model.get("name"))},doRemove:function(){this.view.style.visibility="hidden";this._model.del(this.fire.bind(this,"deleted"))}});Dashboard.SearchForm=new Class({initialize:function(a){this.view=a;this.form=a.getElement("form");this.input=a.getElement("input");this.view.getElement(".clearBtn").addEvent("click",this.onClear.bind(this));this.input.addEvent("keyup",this.handleKeyDown.bind(this));this.form.addEvent("submit",this.onSubmit.bind(this));this._fx=new Fx.Morph(a,{duration:250});this._searching=this.input.value;if(this._searching){this.view.setStyles({overflow:"visible",height:this.form.offsetHeight});this.input.focus()}},show:function(){window.scrollTo(0,0);this._fx.start({height:this.form.offsetHeight}).chain(function(){this.view.style.overflow="visible";this.input.focus()}.bind(this))},hide:function(){this._fx.start({height:0,overflow:"hidden"})},handleKeyDown:function(a){if(a.key=="esc"){this.input.blur();this.onClear()}},onClear:function(){this.input.value="";if(!this._searching){this.hide()}else{window.location.assign(".")}},onSubmit:function(a){if(!this.input.value&&!this._searching){this.input.focus();a.stop()}}});var Templates={};Templates.getWindow=Sx.memoize(function(){return new Platform.SimpleWindow()});Templates.show=function(a){Templates.getWindow().open(a)};Templates.Pane=new Class({initialize:function(d){this.view=new Element("div").addClass("tpls-pane");Platform.Controller.addListener.call(this.view,this,"view");for(var c,a=0;c=d[a];a++){var b=new Templates.Sample(c);this.view.appendChild(b.view)}this.view.appendChild(new Element("div").addClass("separator"))},onViewLoad:function(){var a=this.view.firstChild;while(a){Platform.Controller.fire.call(a,"load",this);a=a.nextSibling}}});Templates.samples={};Templates.Sample=new Class({initialize:function(b){this._data=b;var a=b.name.replace(/\s+/,"").toLowerCase();Templates.samples[a]=this;this.view=new Element("div").addClass("tpls-sample loading "+a);Platform.Controller.addListener.call(this.view,this,"view");this.container=this.view.appendChild(new Element("div").addClass("img-container"));this.slot=this.container.appendChild(new Element("div").addClass("img-slot"));if(b.sample){this.img=this.slot.appendChild(new Element("img"));this.img.addEvent("load",function(){this.view.removeClass("loading")}.bind(this));this.img.src=b.sample.thumb_url}this.container.appendChild(new Element("div").addClass("img-selector"));this.container.addEvent("click",this.preview.bind(this));this.title=this.view.appendChild(new Element("h4",{html:b.name}));if(b.is_new){this.title.innerHTML+=' <span class="new">New</span>'}},preview:function(){this._previewPane=this._previewPane||new Templates.PreviewPane(this._data);Templates.show(this._previewPane.view)},onViewLoad:function(){this.slot.style.height=Math.floor(parseInt(this.slot.getStyle("width"),10)*Templates.RATIO)+"px"}});Templates.PreviewPane=new Class({initialize:function(a){this._data=a;this.view=new Element("div").addClass("tpls-preview");Platform.Controller.addListener.call(this.view,this,"view");this.container=this.view.appendChild(new Element("div").addClass("preview-player"));this.body=this.view.appendChild(new Element("div").addClass("preview-body"));this.body.appendChild(new Element("h2",{html:a.name}));this.body.innerHTML+=a.description;this.form=this.view.appendChild(new Element("form",{action:".",method:"post"}));this.form.appendChild(new Element("input",{type:"hidden",name:"template_id",value:a.id}));this.selectBtn=this.form.appendChild(new Element("button",{type:"submit",html:"Make a video"}).addClass("button"));this.view.appendChild(new Element("div").addClass("separator"));this.form.addEvent("submit",this.onViewUnload.bind(this))},onViewLoad:function(){var a=this._data.sample;if(a){this.player=new Sx.Player(this.container,"100%","100%",{file:a.stream_url,image:a.thumb_url,actions:[["Replay the sample",function(b){b.play()}]]})}this.selectBtn.focus()},onViewUnload:function(){if(this.player){this.player.stop();this.container.innerHTML="";delete this.player}}});var ExportPage={};ExportPage.OptionForm=new Class({Implements:Platform.Controller,initialize:function(a){this.form=a;this.options=this._options();this.options.forEach(function(b){b._input=b.getElement("input")});this.form.addEvent("click",this.onFormClick.bind(this));this.form.addEvent("submit",this._onSubmit.bind(this));this.refresh()},_options:function(){return this.form.getElements(".option")},$:function(a){return this.form.getElement(a)},onFormClick:function(a){var b=a.target;if(!Platform.Drag.exceptions[b.tagName]){while(b&&!b._input){b=b.parentNode}if(b&&b._input){b._input.click()}}this.refresh()},refresh:function(){for(var b,a=0;b=this.options[a];a++){if(b._input.checked){this._selected=b;b.addClass("selected")}else{b.removeClass("selected")}}},_onSubmit:function(b){b.stop();var a=this._selected.getElement(".warning");if(a){new Platform.Confirm({message:a.innerHTML+"<br/>Do you want to continue?",confirmLabel:"Continue",onConfirm:this._doSubmit.bind(this)})}else{this._doSubmit()}},_doSubmit:function(){if(this.fire("submit",this._selected)){this.form.submit()}}});ExportPage.ExportForm=new Class({Extends:ExportPage.OptionForm,initialize:function(a){this.total=a.getElement(".total .value");this.exportBtn=a.getElement(".submitBar button");this.parent(a);this.addListener(this)},refresh:function(){var d,e=0;for(var c,b=0;c=this.options[b];b++){var a=c._input;var f=parseFloat(c.getAttribute("data-value"));if(a.name=="profile_id"){if(a.checked){d=a.value;this._selected=c}}else{if(d=="iphone-16-9"&&a.value=="whitelabel"){a.checked=false}}if(a.checked){c.addClass("selected");e+=f}else{c.removeClass("selected")}}this.total.innerHTML="$"+e.toFixed(2);if(e>0){this.form.removeClass("free");this.exportBtn.innerHTML=e>0?"Checkout with PayPal":"Export"}else{this.form.addClass("free");this.exportBtn.innerHTML=this._selected.getAttribute("data-action")||"Export"}this._total=e;this._profile=d;this.form.changeClass(d)}});ExportPage.YoutubeFactoryOption=new Class({Implements:Platform.Controller,initialize:function(a,b){this.view=a;this.username=this.view.getElement(".serviceUser .username");this.view.getElement(".serviceUser .logoutBtn").addEvent("click",this.changeUser.bind(this));this._user=undefined;this._serviceUrl=b;this.checkUser()},_djsUrl:function(a){return Platform.extendUrl(this._serviceUrl,a)},_djs:function(b,a){new Request.JSON({method:"get",url:this._serviceUrl,noCache:true,onComplete:a}).send({data:{method:b}})},connect:function(d){d=d||function(){};if(this._user){return d(this._user)}var c=Platform.Callbacks.build(function(f){try{a.close()}catch(g){}this._refresh(f);d(this._user)}.bind(this));var b=this._djsUrl({method:"start",next:c});var a=Studio.CenteredPopup.open(b,"youtube",450,500)},checkUser:function(){this._djs("getUser",this._refresh.bind(this))},_refresh:function(a){a.user?this.onConnected(a.user):this.onNotConnected();if(a.error){this.fire("error",a.error)}},onConnected:function(a){this._user=a;this.username.innerHTML=a;this.view.addClass("connected")},onNotConnected:function(){this._user=undefined;this.view.removeClass("connected")},changeUser:function(){this.onNotConnected();this._djs("disconnect");this.connect()}});var VideoPage={};VideoPage.RenderMonitor=new Class({Implements:Studio.View,initialize:function(a,b,c){this.render=new Studio.Render(b).addListener(this,"render");this._targetUrl=c;this.view=a;Platform.Controller.addListener.call(this.view,this,"view");if(this.render.status=="available"){this.onRenderAvailable()}else{this.show(".statusPane","statusPane")}},restartRendering:function(a){this.render.restart(a);this.show(".statusPane","statusPane")},onViewStatusPaneInit:function(a,b){this.pg=this.$(".statusPane .pg");this.pg._fx=new Fx.Morph(this.pg,{unit:"%",duration:Studio.RenderManager.DELAY})},onRenderAvailable:function(a){window.location.assign(this._targetUrl)},onRenderError:function(b,a){this.show(".errorPane");this.$(".errorPane .state").innerHTML=a.state},onRenderStatus:function(b,a){if(!this._started){this.pg.style.width=a.percent+"%";this._started=true}else{this.pg._fx.cancel();this.pg._fx.start({width:a.percent})}this.$(".statusPane .state").innerHTML=a.state+"..."}});VideoPage.Stage=new Class({show:function(a){if(a!=this._content){this.clear();this._content=a;Platform.Controller.addListener.call(this._content,this,"content");a.show();Platform.Controller.fire.call(this._content,"load")}},toggle:function(a){if(a==this._content){this.clear()}else{this.show(a)}},clear:function(){if(this._content){this._content.hide();Platform.Controller.fire.call(this._content,"unload");this._content=undefined;Platform.Controller.removeListener.call(this._content,this)}},onContentCancel:function(){this.clear()}});VideoPage.Pane=new Class({initialize:function(a){this.view=this.buildView(a);Platform.Controller.addListener.call(this.view,this,"view");this.closeBtn=this.view.appendChild(new Element("button",{type:"button"})).addClass("btn closeBtn");this.closeBtn.addEvent("click",function(){Platform.Controller.fire.call(this.view,"cancel")}.bind(this))},buildView:function(a){return a}});VideoPage.EmbedPane=new Class({Extends:VideoPage.Pane,buildView:function(a){this.code=a.getElement("textarea");this.code.addEvent("click",function(){this.code.select()}.bind(this));this._tpl=new Sx.Template(this.code.value);this.embedAutoplayCb=a.getElement("#embedAutoplay");this.embedAutoplayCb.addEvent("change",this.refresh.bind(this));return a},refresh:function(){var a={};if(this.embedAutoplayCb.checked){a.autoplay=1}a=Sx.urlEncode(a);this._config.url=this._config.baseUrl+(a?"?"+a:"");this.code.value=this._tpl.render(this._config)},setConfig:function(a){this._config=a;this.refresh();return this},onViewLoad:function(){this.code.select()}});VideoPage.facebookShare=function(a,c){var b="http://www.facebook.com/sharer.php?display=popup&u="+encodeURIComponent(a)+"&t="+encodeURIComponent(c);window.open(b,"sharer","toolbar=0,status=0,width=626,height=436");mpq.push(["track","Facebook Share",VIDEO_TRACKING_PROPERTIES])};VideoPage.confirmDelete=function(a){new Platform.Confirm({message:"Do you really want to delete this video ?",confirmLabel:"Delete",onConfirm:function(){Platform.doPOST(a)}});return false};VideoPage.Download=new Class({initialize:function(a){this.render=new Studio.Render(a).addListener(this,"render");this.view=new Element("div").addClass("download");this.icon=this.view.appendChild(new Element("div").addClass("icon"));this.desc=this.view.appendChild(new Element("div").addClass("desc"));this.link=this.view.appendChild(new Element("a"));this.link.addEvent("click",function(){_gaq.push(["_trackEvent","VideoPage",a.codename+".download",window.location.toString(),a.filesize])});if(this.render.status=="available"){this.onRenderAvailable()}else{this.view.changeClass("busy");this.desc.innerHTML="<h4>"+this.render.get("name")+"</h4>";this.statusBar=this.desc.appendChild(new Element("p",{html:"..."}))}},onRenderStatus:function(b,a){this.statusBar.innerHTML=['<span class="percent">'+a.percent+"%</span>",'<span class="state">'+a.state+"...</span>"].join(" ")},onRenderError:function(b,a){this.view.changeClass("error");this.statusBar.innerHTML=a.state},onRenderAvailable:function(){this.view.changeClass("available");this.link.href=this.render.get("download_url");this.desc.innerHTML=["<h4>"+this.render.get("name")+"</h4>","<p>"+this.render.get("hres")+"x"+this.render.get("vres")+"</p>",'<p><span class="len">'+new Platform.Duration(this.render.get("duration")).detailled()+"</span>",'<span class="size"> - '+new Platform.Filesize(this.render.get("filesize")).detailled()+"</span></p>"].join("")}});VideoPage.Player=new Class({initialize:function(b,d,a,c){this._width=d;this._height=a;this._ratio=d/a;this._player=new Sx.Player(b,d,a,c);this.view=this._player.view;this.refresh();window.addEvent("resize",this.refresh.bind(this))},refresh:function(){var c=Math.min(this.view.parentNode.offsetWidth,this._width);var a=Math.round(window.getHeight()*0.66);a=Math.min(Math.max(a,240),this._height);var b=c/a;if(b>this._ratio){this.view.style.height=a+"px";this.view.style.width=Math.floor(a*this._ratio)+"px"}else{this.view.style.width=c+"px";this.view.style.height=Math.ceil(c/this._ratio)+"px"}}});var UploadPage={};UploadPage.UploadMonitor=new Class({Implements:Studio.View,initialize:function(a,b,c){this.view=a;Platform.Controller.addListener.call(this.view,this,"view");this.task=new Studio.Task(b).addListener(this,"task");this.duration=c;this.show(".statusPane","statusPane")},onViewStatusPaneInit:function(){this.pg=this.$(".statusPane .pg");this.pg._fx=new Fx.Morph(this.pg,{unit:"%",duration:((this.duration/10)+3)*1000});this.pg._fx.start({width:100})},onViewStatusPaneUnload:function(){this.pg._fx.cancel()},onTaskSuccess:function(a){this.show(".successPane","successPane")},onViewSuccessPaneLoad:function(){var a=this.$(".successPane p a");a.innerHTML=this.task.data.result.url;a.href=this.task.data.result.url},onTaskError:function(a,b){this.show(".errorPane","errorPane")}});var Pricing={select:function(b){var a=$(b);while(a&&!Sx.hasClass(a,"selectable")){a=a.parentNode}if(a){if(this._selected){this._selected.removeClass("selected")}this._selected=a.addClass("selected")}}};Pricing.DoublePlan=new Class({initialize:function(b,a){if(!b||!a){return}this.view=new Element("div").addClass("group selectable");this.card=this.view.appendChild(new Element("div").addClass("card"));this.view.setStyles({width:b.offsetWidth,height:b.offsetHeight});b.parentNode.insertBefore(this.view,b);this._inject(b,a).addClass("face");this._inject(a,b).addClass("back");Pricing.DoublePlan.objects.push(this)},_inject:function(c,a){this.card.appendChild(c.removeClass("selectable"));var b=new Element("p",{html:"or "}).addClass("sub");b.appendChild(new Element("span",{html:a.getElement(".price .main").get("text")}));b.addEvent("click",this.flipAll.bind(this));c.getElement(".price .content").appendChild(b);return c},flipAll:function(){Pricing.DoublePlan.objects.forEach(function(a){a.flip()})},flip:function(){this.view.toggleClass("flipped")}});Pricing.DoublePlan.objects=[];
