function setImagesAsJs(d){var c=d?"Set this image as my icon, profile pic or background...":"Change your icon, profile or background image(s).";var a=d?"/profile/get-profile-image/?image_id="+d:"/profile/get-profile-image/";var b=new LaunchPad.Base({titleTextStr:c,url:a});b.open("get");b.addEvent("openComplete",function(){if($("jsRemoveBg")){$("jsRemoveBg").addEvent("click",function(){$("remove_background").value="1";$("jsBgImage").setStyles({opacity:".5"});$("jsRemoveBg").addClass("dn");$("jsUndoRemoveBg").removeClass("dn")})}if($("jsUndoRemoveBg")){$("jsUndoRemoveBg").addEvent("click",function(){$("remove_background").value="";$("jsBgImage").setStyles({opacity:"1"});$("jsUndoRemoveBg").addClass("dn");$("jsRemoveBg").removeClass("dn")})}$("jsImagesSetCancel").addEvent("click",function(){b.hide()});$("jsImagesSetSave").addEvent("click",function(){var e=new Request.JSON({url:"/profile/edit-profile-image/",onFailure:function(){alert("Sorry, we failed.")},onSuccess:function(f){b.hide();if(!f.success){vinesLoadingMask(false);return}vinesLoadingMask(true);var g=false;if($("js-main-image")){g=$("js-main-image").getElement("img#js-main-image-img")}if(f.changes&&f.changes.imageicon_src){if(g){$$(".js-imageicon").each(function(l){copy_image_to_image(g,l)})}else{var k=new Asset.image(f.changes.imageicon_src,{onload:function(){k.inject(document.body);$$(".js-imageicon").each(function(l){copy_image_to_image(k,l)})}})}}if(f.changes&&f.changes.imageprofile_src){if(g){$$(".js-imageprofile").each(function(l){copy_image_to_image(g,l)})}else{var j=new Asset.image(f.changes.imageprofile_src,{onload:function(){j.inject(document.body);$$(".js-imageprofile").each(function(l){copy_image_to_image(j,l)})}})}}if(f.changes&&f.changes.imagebg_src){var i=f.changes.imagebg_src;if(i=="false"){document.body.setStyle("background-image","url("+i+")");vinesLoadingMask(false)}else{var h=new Asset.image(i,{onload:function(){h.inject(document.body);document.body.setStyle("background-image","url("+i+")");vinesLoadingMask(false)}})}}}}).post($("jsImagesSetForm").toQueryString());b.options.stage.empty();b.loading(true)})})}function copy_image_to_image(g,h){var e=g.clone();var i=g.getPosition();var a="imageClone"+Number.random(1,100);e.setProperty("id",a).inject(g,"after").setStyles({"z-index":"20002",position:"fixed",top:i.y,left:i.x});var d=h.getPosition();var f=d.y-document.documentElement.scrollTop;var b=d.x;vinesLoadingMask(false);var j={top:f,left:b,width:h.getCoordinates().width,height:h.getCoordinates().height};var c=new Fx.Morph(e,{duration:600,wait:false});c.options.transition=Fx.Transitions.Expo.easeOut;c.start(j).chain(function(){h.src=g.src;e.destroy()})}function setObjectMainImageJs(d,c,b){if(!confirm("Set this image as the main image")){return}vinesLoadingMask(true);var a=new Request.JSON({url:"/image/process-content-object-image/",onSuccess:function(e){vinesLoadingMask(false);if(e.success=="yes"){alert("Thank you, set. Refresh page to see changes.")}else{alert("Sorry, I was not able to compute that.")}}});a.post({image_id:d,content_type_id:c,object_id:b})}function removeImage(d,c,b){if(!confirm("Remove this image from this page? Are you sure?!")){return}vinesLoadingMask(true);var a=new Request.JSON({url:"/image/remove-image/",onSuccess:function(e){vinesLoadingMask(false);if(e.success=="yes"){alert("Done! Refresh the page to see your change.")}else{alert("Could not delete.")}}}).post({image_id:d,content_type_id:c,object_id:b})}function deleteImageJs(a){if(!confirm("STAFF ONLY:\n\nDelete this image completely from the site? \n\nUse this only to delete bad/pornographic images. \nOtherwise just use the normal moderation tools to remove image from a ContentObject or Gallery!")){return}vinesLoadingMask(true);new Request.JSON({url:"/image/process-image-delete-completely/",onSuccess:function(b){vinesLoadingMask(false);if(b.success=="yes"){alert("Image has been obliterated")}else{alert(b.message)}}}).post({image_id:a})}function deleteUsersImagesJs(a){if(!confirm("STAFF ONLY:\n\nDelete all user's images completely from the site? \n\nUse this only to delete bad/pornographic images. \nOtherwise just use the normal moderation tools to remove image from a ContentObject or Gallery!")){return}vinesLoadingMask(true);var b=new Request.JSON({url:"/image/process-user-images-delete/",onSuccess:function(c){vinesLoadingMask(false);if(c.success=="yes"){alert("All images have been obliterated")}else{alert(c.message)}}}).post({user_profile_id:a})}var SingleImageWidget=new Class({initialize:function(a){this.img=$(a).getElement("img");this.input=$(a).getElement("input");this.loader=$(a).getElement(".jsSingleImageLoading");this.texter=$(a).getElement(".jsSingleImageText");this.image_panel=false;this.img.addEvent("click",this.open_image_lp.bind(this,a));this.el=a},open_image_lp:function(){if(this.image_panel){this.image_panel.show()}else{var a={title:"Where is the image?",onFinish:this.images_selected.bind(this),image_limit:1};this.image_panel=new ImagePanel(["browse","myimages","search"],a)}},images_selected:function(b){b=b[0];this.loader.removeClass("dn");this.texter.addClass("dn");if(b=="null"||b===null){alert("Oh no, no images were found!");return}var a=new Request.JSON({url:"/image/ajax_post/",onFailure:function(){this.loader.addClass("dn");alert("Sorry, there was an error")}.bind(this),onSuccess:function(d){var c=d[0],f=c.id,e=c.src;this.src=e;this.input.value=f;this.img.setProperty("src",e);this.loader.addClass("dn");this.input.fireEvent("change",{target:this.input,type:"change"})}.bind(this)}).post({method:"get_image_by_ids",size:"thumb",ids:b})}});var filmStrip=new Class({Implements:[Events,Options],initialize:function(b,a){this.ct_id=b;this.co_id=a;this.image_id=0;this.gallery_id=0;this.filmstrip=null;this.offset=-1;this.next_offset=false;this.prev_offset=false;this.context_url="";this.total_images=0;this.recieved=false;this.strips=[];this.direction=false;this.leftLi=false;this.fx=[];this.navTimer=false;this.leftLi=false;window.addEvent("domready",this.ready.bind(this))},ready:function(){if(!$("js-tab-content")){return}var c=$("js-main-image");var b=$(c).getElement("img#js-main-image-img");this.img=b;this.gallery_id=$("js-tab-content").getProperty("data-default-gallery-id");this.context_url=$("js-tab-content").getProperty("data-default-context-url");this.image_id=$("js-tab-content").getProperty("data-default-image-id");this.filmstrip=$("js-filmstrip");$$(".js-gal-tab").each(function(e){e.addEvent("click",function(){this.selectGallery(e)}.bind(this))}.bind(this));var d=$("js-main-image");this.offset=d.getProperty("data-offset").toInt();this.total_images=d.getProperty("data-total-count").toInt();if($("js-filmstrip-ul").getFirst()){this.leftLi=$("js-filmstrip-ul").getFirst().id}this.strips.include(this.offset);this.startImageNav();this.receivedFilmstrip();$("js-filmstrip-backwards").addEvent("click",this.backwards.bind(this));$("js-filmstrip-forwards").addEvent("click",this.forwards.bind(this));this.scrollFx=new Fx.Scroll("js-filmstrip",{overflown:[$("js-filmstrip")]});if(window.VINES_SUBSCRIBER&&!!(window.history&&history.pushState)){this.filmstrip.addEvent("click:relay(a)",this.loadImageInline.bind(this));$("js-main-image").addEvents({"click:relay(.img-prev)":this.loadPrevImageInline.bind(this),"click:relay(.img-next)":this.loadNextImageInline.bind(this)});var a=new VineMasker($("js-main-image"));$("js-main-image-img").addEvents({load:function(){a.removeMask()},change:function(){a.addMask()}});document.addEvents({keydown:function(e){switch(e.key){case"left":this.loadPrevImageInline({stop:function(){}});break;case"right":this.loadNextImageInline({stop:function(){}});break;default:break}}.bind(this)});window.onpopstate=function(e){if(e.state){this.loadImageInline({stop:function(){},popped:true},$(e.state.li_id).getElement("a"))}}.bind(this)}},loadImageInline:function(h,b){h.stop();var j=b.getParent(),a=b.getElement("img").getProperty("src"),k=b.getElement("img").getProperty("alt"),c=$("js-main-image").getElement(".img-prev"),g=$("js-main-image").getElement(".img-next");if(!!k){($("js-main-image").getElement(".caption")||new Element("span.caption").inject("js-main-image")).set("text",k)}else{$$("#js-main-image .caption").destroy()}j.addClass("on").getSiblings().removeClass("on");$("js-main-image-img").setProperty("src",a.replace("_icon.","."));$("js-main-image-img").fireEvent("change");$("js-zoom-image").setProperty("data-image-url",a.replace("_icon.","."));if(j.getPrevious()){c.setStyle("display","inline").setProperty("href",j.getPrevious().getElement("a").getProperty("href"))}else{if($("js-filmstrip-backwards").getStyle("display")=="none"){c.setStyle("display","none")}}if(j.getNext()){g.setStyle("display","inline").setProperty("href",j.getNext().getElement("a").getProperty("href"))}else{if($("js-filmstrip-forwards").getStyle("display")=="none"){g.setStyle("display","none")}}var f=b.href.split("/").slice(-2).shift().split("-").pop(),i=b.href.split("/").slice(-2).shift().split("-").shift(),d=$$('[id$="_comments"]')[0];if(this.comments_req&&this.comments_req.isRunning()){this.comments_req.cancel()}this.comments_req=new Request.HTML({url:"/shout/display-comment-list/",update:d,onComplete:function(){d.set("data-js-paginate-url","/shout/display-comment-list/?object_id="+f+"&content_type_id="+i);var e=new VinesPaginator(d)}}).get({object_id:f,content_type_id:i});if(this.manage_req&&this.manage_req.isRunning()){this.manage_req.cancel()}this.manage_req=new Request.JSON({url:"/image/ajax_post/",onSuccess:function(e){var m=new Element("div",{html:e.manage}),l=m.getFirst();$$(".content-pod.image-manage").each(function(n){l.replaces(n)})},onFailure:function(l,e){$$(".content-pod.image-manage").set("html",'<p class="alert">Failed to retrieve template.</p>')}}).post({method:"get_image_tpls",id:f,ct_id:this.ct_id,co_id:this.co_id});if(window.location.pathname!=b.href&&!h.popped){window.history.pushState({li_id:j.id},document.title,b.href)}},loadPrevImageInline:function(c,b){c.stop();var a=this.filmstrip.getElement(".on");if(a.getPrevious()){if(!b&&($("js-filmstrip").getElements("li").indexOf(a)+1)%10==1){$("js-filmstrip-backwards").fireEvent("click")}this.loadImageInline(c,a.getPrevious().getElement("a"))}else{if($("js-filmstrip-backwards").getStyle("display")!="none"){$("js-filmstrip-backwards").fireEvent("click",[-1])}}},loadNextImageInline:function(c,b){c.stop();var a=this.filmstrip.getElement(".on");if(a.getNext()){if(!b&&($("js-filmstrip").getElements("li").indexOf(a)+1)%10===0){$("js-filmstrip-forwards").fireEvent("click")}this.loadImageInline(c,a.getNext().getElement("a"))}else{if($("js-filmstrip-forwards").getStyle("display")!="none"){$("js-filmstrip-forwards").fireEvent("click",[1])}}},requestFilmstrip:function(b){if(!this.mask){this.mask=new Element("div.opacity-mask.loading");this.mask.inject("js-filmstrip").addEvent("click",function(d){d.stop()})}if(this.strips.contains(this.offset)){this.receivedFilmstrip()}else{var c={image_id:this.image_id,gallery_id:this.gallery_id};if(this.offset>-1){c.offset=this.offset}var a=new Request.JSON({url:"/image/get-filmstrip/",onSuccess:this.receivedFilmstrip.bind(this,b)});a.post({json:JSON.encode(c)})}},receivedFilmstrip:function(h,e){if(this.mask){this.mask.destroy()}if(e){this.total_images=e.total_images;var f=new Element("ul",{html:e.html});this.offset=f.getFirst().getProperty("data-offset").toInt();this.strips.include(this.offset);f.getElements("li").each(function(k){if($(k.id)){k.destroy()}else{var l=k.getElement("img");if(l.complete){l.fade("in")}else{l.setStyle("opacity",0).addEvent("load",function(){this.fade("in")})}}}.bind(this));if($("js-filmstrip-ul").getChildren().length>0){var c=$("js-filmstrip-ul").getChildren().length+f.getElements("li").length;var a=$("js-filmstrip-ul").getElement("li");var j=a.getCoordinates().width+a.getStyle("margin-left").toInt()+a.getStyle("margin-right").toInt();var b=$("js-filmstrip-ul").getCoordinates().width;var d=c*j;$("js-filmstrip-ul").setStyle("width",d)}if(this.direction&&this.direction=="left"){f.getChildren().reverse().inject("js-filmstrip-ul","top")}else{if(!this.direction||this.direction=="right"){f.getChildren().inject("js-filmstrip-ul")}}f.destroy()}if(this.direction){var i=$(this.leftLi||$("js-filmstrip-ul").getFirst().id),g=0;while(i&&g<10){next=this.direction=="right"?i.getNext():i.getPrevious();if(!next||!next.get("tag")=="li"){break}else{i=next;g++}}if(i){this.leftLi=i.id;this.scrollFx.toElement(i.addClass("offset"))}}this.direction=false;$("js-filmstrip-forwards").setStyle("display",this.offset>=this.total_images-10?"none":"inline");$("js-filmstrip-backwards").setStyle("display",this.offset<=0?"none":"inline");switch(h){case -1:this.loadPrevImageInline({stop:function(){}},true);break;case 1:this.loadNextImageInline({stop:function(){}},true);break;default:break}},startImageNav:function(){this.interval=window.setInterval(function(){if(this.img.getCoordinates().height>0){clearInterval(this.interval);this.buildImageNav()}}.bind(this),100)},buildImageNav:function(){var d=this.img,b,e,h,a;b=$("js-filmstrip-ul").getElement(".on")||$("js-filmstrip-ul").getFirst();if(!b){return}a=this.img.getCoordinates().height;var c=new Element("a.img-prev");if(b.getPrevious()){c.setProperty("href",b.getPrevious().getElement("a").getProperty("href"))}else{c.setStyle("display","none")}c.inject("js-main-image");var f=new Element("a.img-zoom");f.inject("js-main-image").addEvent("click",this.zoom.bind(this));var g=new Element("a.img-next",{href:h});if(b.getNext()){g.setProperty("href",b.getNext().getElement("a").getProperty("href"))}else{g.setStyle("display","none")}g.inject("js-main-image");$("js-zoom").inject(document.body);this.imageLoaded=false},zoom:function(){var b=$("js-zoom").setStyle("height",document.body.scrollHeight),c=$("js-zoom-image");vinesLoadingMask(true);var a=new Element("img",{src:c.getProperty("data-image-url"),events:{load:function(d){vinesLoadingMask(false);this.inject(c);b.setStyle("display","block")},click:function(){c.empty();b.setStyle("display","none")}}})},backwards:function(a){this.direction="left";this.offset-=10;if(this.offset<0){this.offset=0}this.requestFilmstrip(a)},forwards:function(a){this.direction="right";this.offset+=10;this.requestFilmstrip(a)},selectGallery:function(a){this.offset=0;this.gallery_id=a.getProperty("data-gallery-id");this.context_url=a.getProperty("data-context-url");this.total_images=a.getProperty("data-total-images");$("js-tab-content").getElements("a").each(function(b){if(b.hasClass("on")){b.removeClass("on")}});$$("#js-tab-content li").removeClass("on");$(a).getParent().addClass("on");$("js-filmstrip-ul").empty().setStyle("width","auto");this.scrollFx.toLeft();this.strips=[];this.leftLi=false;this.requestFilmstrip()}});var ImagePanel=new Class({Implements:[Events,Options],options:{rte:false,content_type_id:"",object_id:"",gallery_id:"",title:"Add Images",image_limit:null,image_ids:[],sizes:["small","medium","large"],sizepicker:"wiki"},initialize:function(b,a){if(!vinesLoginRequired("Hi, you need to login or signup to edit images.")){return}this.setOptions(a);this.rte=this.options.rte;this.content_type_id=this.options.content_type_id;this.object_id=this.options.object_id;this.gallery_id=this.options.gallery_id;this.title=this.options.title;this.onFinish=a.onFinish;this.image_limit=this.options.image_limit;this.image_ids=this.options.image_ids;this.section={};if(this.onFinish){this.addEvent("onFinish",this.onFinish)}var c=["browse","url","myimages","mygalleries","search"];b=b||c;this.pad=new LaunchPad.Base({destroy_on_hide:false,titleTextStr:this.options.title,className:"image-panel",url:"/image/open_template/?tpl=imagepanel"});this.pad.addEvent("openComplete",function(){var d=this.pad.options.stage;this.section.nav=d.getElement(".upload-buttons");this.section.browse=d.getElement(".browse-images");this.section.search=d.getElement('input[type="search"]');this.section.select=this.section.browse.getElement(".select-choice");this.section.choosegallery=d.getElement(".choose-gallery");this.section.chooseimage=d.getElement(".choose-image");this.section.upload=d.getElement(".upload-progress");this.section.actions=this.section.browse.getElement(".ft");this.section.count=this.section.browse.getElement(".select-count");this.section.url=d.getElement(".url-inputs");this.section.nav.getElements("."+b.join(", .")).setStyle("display","inline-block");if(b.contains("browse")){this.init_browse()}this.init_url();this.init_search();this.init_myimages();var e=this;d.getElements(".upload-buttons a:not(.browse)").addEvent("click",function(){e.section.nav.setStyle("display","none");e.hide_browse_button();if(this.hasClass("url")){e.show_url()}if(this.hasClass("search")){e.show_search()}else{if(this.hasClass("myimages")){e.show_myimages()}}});this.section.browse.addEvents({"click:relay([data-image-id])":function(f){f.stop();e.select_image(this)},"click:relay([data-gallery-id])":function(g,f){g.stop();f=f||this;e.section.choosegallery.getElements(".selected").removeClass("selected");f.addClass("selected");e.get_images({gallery_id:f.get("data-gallery-id")})}});if(!!e.options.image_limit){this.section.select.setStyle("display","none")}else{this.section.select.getElement(".select-all").addEvent("click",this.select_all.bind(this));this.section.select.getElement(".select-none").addEvent("click",this.select_none.bind(this))}this.section.chooseimage.addEvents({mousewheel:function(h){var f=this.getScroll().y,g=this.getScrollSize().y;height=this.getSize().y;if(g>height){if(h.wheel>0&&f===0){h.stop()}else{if(h.wheel<0&&g<=f+height){h.stop()}}}},scroll:function(){if(e.imagerequest_page>e.imagerequest_total_pages){return}if(!e.imagesrequest.isRunning()&&this.getLast("li")&&this.getScroll().y+e.section.chooseimage.getSize().y>this.getLast("li").getPosition(this).y){e.imagesrequest.get({tpl:"images",gallery_id:e.imagerequest_gallery_id,page:e.imagerequest_page++})}},"click:relay(.edit)":function(){var f=new ImageEditor(this.get("data-image-url"));f.addEvents({uploaded:function(j,i){var g=new Element("li").inject(e.section.chooseimage,"top");var h=new Element("a",{"data-image-id":j}).inject(g);new Element("img",{src:i}).inject(h);new Element("a.edit",{title:"Edit",text:"EDIT","data-image-url":i.replace("_thumb.",".")}).inject(g);new Element("a.preview",{title:"Preview",text:"PREVIEW",href:i.replace("_thumb.",".")}).inject(g);e.select_image(h);f.pad.hide();new Fx.Scroll(e.section.chooseimage).toElement(g)}})}});this.section.actions.addEvents({"click:relay(.finish)":this.finished.bind(this),"click:relay(.cancel)":this.close.bind(this)})}.bind(this));this.pad.addEvent("hideComplete",function(){this.section.choosegallery.empty();this.section.chooseimage.empty()}.bind(this));this.pad.open();if(window.IMAGE_EDITOR){new Asset.javascript(window.IMAGE_EDITOR.editor+"?ts="+new Date().getTime())}},select_image:function(a){var b=a.get("data-image-id");if(!!this.options.image_limit){this.section.chooseimage.getElements(".selected").removeClass("selected");this.image_ids=[]}a.toggleClass("selected");if(a.hasClass("selected")){this.image_ids.include(b)}else{this.image_ids.erase(b)}this.update_selection_count()},close:function(){this.fireEvent("close");this.pad.hide()},show:function(){this.fireEvent("reset");this.image_ids=[];this.section.nav.setStyle("display","block");this.pad.show();this.fireEvent("shownav")},finished:function(){var d=this,b=function(){if(d.onFinish){d.close();d.fireEvent("onFinish",[d.image_ids])}else{if(d.rte){d.start_positioner()}}};switch(this.image_ids.length){case 0:alert("Oops, no images were selected.");break;case 1:if(this.uploaded_images&&window.IMAGE_EDITOR&&!localStorage.getItem("noeditor")){var a,e,c=new Element("div.edit-prompt").inject(this.section.upload,"after");new Element("span",{text:"Would you like to edit (crop, rotate, adjust, etc.) this image?"}).inject(c);new Element("button.btn",{text:"Edit image",events:{click:function(){var f=d.section.upload.getElement(".img img").get("src"),g=new ImageEditor(f.split("_thumb.").join("."));g.addEvent("uploaded",function(i,h){d.image_ids=[String(i)];g.pad.hide();b();c.destroy()})}}}).inject(c);new Element("button.btn",{text:"No edit needed",events:{click:function(){if(e.get("checked")){localStorage.setItem("noeditor",true)}c.destroy();b()}}}).inject(c);a=new Element("label",{text:"Do not ask again."}).inject(c);e=new Element("input",{type:"checkbox",name:"noedit"}).inject(a,"top");this.pad.addEvent("hideComplete",function(){c.destroy()})}else{b()}break;default:b();break}},get_galleries:function(a){this.section.choosegallery.addClass("loading");if(this.galleriesrequest){this.galleriesrequest.cancel()}this.galleriesrequest=new Request.HTML({url:"/image/open_template/",update:this.section.choosegallery,onSuccess:function(){this.section.choosegallery.removeClass("loading");var b=this.section.choosegallery.getElement("[data-gallery-id]");this.section.browse.fireEvent("click:relay([data-gallery-id])",[{stop:function(){}},b])}.bind(this)}).get(Object.merge({tpl:"galleries"},a))},get_images:function(a){this.section.chooseimage.empty().addClass("loading");this.imagerequest_page=1;this.imagerequest_gallery_id=a.gallery_id;if(this.imagesrequest){this.imagesrequest.cancel()}this.imagesrequest=new Request.HTML({url:"/image/open_template/",append:this.section.chooseimage,onSuccess:function(b,c){this.section.chooseimage.removeClass("loading");this.imagerequest_total_pages=this.section.chooseimage.getElement("[data-total-pages]").get("data-total-pages").toInt();c.each(function(d){var e=d.get("data-image-id");if(e&&this.image_ids.contains(e)){d.addClass("selected")}}.bind(this))}.bind(this)}).get(Object.merge({tpl:"images"},a))},select_all:function(b){b.stop();var c=this,a=function(){var d=c.section.chooseimage.getElements("[data-image-id]");c.image_ids.combine(d.addClass("selected").get("data-image-id"));c.update_selection_count()};if(this.imagerequest_page<this.imagerequest_total_pages){this.imagesrequest.addEvent("onSuccess",function(){if(this.imagerequest_page<this.imagerequest_total_pages){this.imagesrequest.get({tpl:"images",gallery_id:this.imagerequest_gallery_id,page:this.imagerequest_page++})}else{a()}}.bind(this));this.imagesrequest.get({tpl:"images",gallery_id:this.imagerequest_gallery_id,page:this.imagerequest_page++})}else{a()}},select_none:function(a){a.stop();this.section.chooseimage.getElements("[data-image-id]").removeClass("selected");this.image_ids=[];this.update_selection_count()},loading:function(a){this.pad.loading(a)},update_selection_count:function(){this.section.count.set("text",this.image_ids.length+" image"+(this.image_ids.length!=1?"s":"")+" currectly selected")},init_url:function(){this.addEvents({reset:this.hide_url.bind(this),position:this.hide_url.bind(this)});this.section.url.getElement(".cancel").addEvent("click",this.close.bind(this));this.section.url.getElement(".retrieve").addEvent("click",this.retrieve_url.bind(this));this.section.url.getElement(".add-another").addEvent("click",this.add_url.bind(this))},show_url:function(){this.section.url.setStyle("display","block")},hide_url:function(){this.section.url.setStyle("display","none")},retrieve_url:function(b){b.stop();this.loading(true);var a=new Request.JSON({url:"/image/retrieve_images/",onSuccess:function(c){if(c.image_ids){this.image_ids=c.image_ids;this.finished()}else{this.loading(false);alert("Image retrieval failed.")}}.bind(this)}).post(this.section.url.getElement("form"))},add_url:function(b){b.stop();var a=this.section.url.getElement("li").clone();a.getElement("label").set("text","Image "+(this.section.url.getElements("input").length+1));a.getElement("input").set("value","");a.inject(this.section.url.getElement("li:last-child"),"before")},init_myimages:function(){this.addEvents({reset:this.hide_myimages.bind(this),position:this.hide_myimages.bind(this)})},show_myimages:function(){this.section.browse.setStyle("display","block");this.get_galleries()},hide_myimages:function(){this.section.browse.setStyle("display","none")},init_search:function(){this.autocomplete=new VinesAutocomplete("imagesearch","/search/autocomplete/");this.autocomplete.addEvent("onSelection",function(a,b){this.get_galleries({co:a.id,ct:a.content_type_id})}.bind(this));this.addEvents({reset:this.hide_search.bind(this),position:this.hide_search.bind(this)})},show_search:function(){this.section.search.setStyle("display","inline-block");this.section.browse.setStyle("display","block")},hide_search:function(){this.section.search.setStyle("display","none");this.section.browse.setStyle("display","none")},init_browse:function(){this.file_progress={};if(Cookie.read("s3uploader")){this.start_s3browse()}else{var a=new Request.JSON({url:"/image/show-upload/",onSuccess:this.show_browse.bind(this)}).get()}this.addEvents({reset:this.reset_browse.bind(this),shownav:this.show_browse_button.bind(this),hide:this.hide_browse_button.bind(this),position:this.reset_browse.bind(this)})},reset_browse:function(){this.section.upload.empty().setStyle("display","none");this.show_browse_button()},show_browse_button:function(){if(this.browseButton){var c=this.section.nav.getElement(".browse"),a=c.getCoordinates(),b=c.getPosition(this.browseButton.getParent());this.browseButton.setStyles({position:"absolute","z-index":20000,top:b.y,left:b.x,width:a.width,height:a.height,cursor:"pointer"})}},hide_browse_button:function(){if(this.browseButton){this.browseButton.setStyle("left",-1000)}},show_browse:function(d){this.browseButton=new Element("div",{html:d.html_btn}).inject(this.pad.options.stage);this.show_browse_button();var e=this,c=e.section.nav.getElement(".browse"),b=c.getCoordinates(),a=c.getElement("img");a.set("data-src",a.get("src"));a.set("src","/media/vine/img/generic/loading.gif");this.browseButton.addEvent("click",function(){alert("SWFUpload has not loaded yet. Sit tight.")});this.Uploader=new SWFUpload({flash_url:"/image/swfupload.swf",upload_url:d.image_upload_location,file_size_limit:"202400",file_types:"*.jpg; *.jpeg; *.gif; *.png; *.tif; *.bmp; *.tga",file_types_description:"Image Files",file_upload_limit:this.image_limit||70,file_queue_limit:this.image_limit||70,button_placeholder_id:"upload-button",button_width:b.width,button_height:b.height,button_cursor:SWFUpload.CURSOR.HAND,debug:window.location.search.contains("debugswfupload=true"),swfupload_loaded_handler:function(){a.set("src",a.get("data-src"));e.browseButton.removeEvents("click")},file_queued_handler:function(f){e.hide_browse_button();e.section.nav.setStyle("display","none");e.section.upload.setStyle("display","block");e.file_progress[f.id]=new FileProgress(e.section.upload,{name:f.name})},file_queue_error_handler:function(g,f,h){switch(f){case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:alert("Error: You chose a file that exceeded the filesize limit of "+this.settings.file_size_limit+" bytes.");break;case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:alert("Error: You chose a file with an invalid filetype. Allowed types: "+this.settings.file_types);break;case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:alert("Error: You chose too many files. The limit is "+this.settings.file_queue_limit+".");break;case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:alert("Error: You chose a file with zero bytes (empty file).");break}},file_dialog_complete_handler:function(f,g){this.startUpload()},upload_progress_handler:function(f,h,g){e.file_progress[f.id].set(Math.round(h/g*100))},upload_error_handler:function(g,f,h){e.file_progress[g.id].error(h)},upload_success_handler:function(h,g){var f=JSON.parse(g);if(f.success){e.image_ids.include(f.image_id);e.file_progress[h.id].success(f.image_thumb_url)}else{alert(f.error)}},upload_complete_handler:function(f){if(this.getStats().files_queued>0){this.startUpload()}else{e.uploaded_images=true;e.finished()}}})},start_s3browse:function(){var c=this,a=new S3Uploader(Object.merge({multiple:true},window.S3_UPLOAD_MEDIA)),b=this.pad.options.stage.getElement(".upload-buttons .browse").setStyle("position","relative");a.iframe.setStyles({position:"absolute",left:0,top:0,height:"100%",width:"100%"}).inject(b);a.addEvents({queue:function(d){c.section.nav.setStyle("display","none");c.section.upload.setStyle("display","block");c.file_progress[d]=new FileProgress(c.section.upload,{name:d.split("/").pop()})},progress:function(e,d){c.file_progress[e].set(Math.round(d.loaded/d.total*100))},success:function(e,d){new Request.JSON({url:"/image/upload-complete/",data:{key:e,filename:d.filename},onSuccess:function(g){var h=g.id;var f=new Request.JSON({method:"GET",url:"/image/poll-upload-status/"+h+"/",initialDelay:0,delay:500,onSuccess:function(i){if(!i.url){return}f.stopTimer();this.image_ids.push(h);this.uploaded_images=true;c.file_progress[e].success(i.url);if(c.file_progress[e].li.getSiblings(".working").length===0){this.finished()}}.bind(this),onFailure:function(){c.file_progress[e].error("We had a problem processing the uploaded image.");if(c.file_progress[e].li.getSiblings(".working").length===0){this.finished()}}}).startTimer()}.bind(this),onFailure:function(){c.file_progress[e].error("We had a problem creating an ID for your image.");if(c.file_progress[e].li.getSiblings(".working").length===0){this.finished()}}.bind(this)}).send()}.bind(this),error:function(d){c.file_progress[d].error("We had a problem uploading your image to S3.");if(c.file_progress[d].li.getSiblings(".working").length===0){this.finished()}}.bind(this)})},start_positioner:function(){this.fireEvent("position");this.loading(true);this.positioner_data={};var a=new Request.JSON({url:"/image/ajax_post/",onSuccess:this.show_positioner.bind(this)}).post({json:JSON.encode({method:"positioner",section:this.options.sizepicker})});this.addEvent("reset",this.reset_positioner.bind(this))},reset_positioner:function(){this.section.positioner.destroy();this.removeEvent("reset",this.reset_positioner.bind(this))},show_positioner:function(a){this.loading(false);this.section.positioner=new Element("div.positioner",{html:a.html}).inject(this.pad.options.stage);if(this.image_ids.length>1){this.multi_positioner()}else{this.single_positioner()}this.section.positioner.getElement(".editor-buttons .position").addEvent("click",function(d){d.stop();this.loading(true);var c=Object.merge({method:"get_formatted_image",ids:this.image_ids,uploaded_images:this.uploaded_images,section:this.options.sizepicker},this.positioner_data);var b=new Request.JSON({url:"/image/ajax_post/",onSuccess:this.insert_positioned.bind(this)}).post({json:JSON.encode(c)})}.bind(this))},multi_positioner:function(){var a=this;$("js-position-layout").removeClass("dn");$$(".js-position-layout").addEvent("click",function(b){b.stop();this.addClass("on").getSiblings().removeClass("on");a.positioner_data.layout=this.get("data-layout");a.section.positioner.getElement(".editor-buttons .position").removeClass("dn")})},single_positioner:function(){var b=this,a=b.section.positioner.getElement(".editor-buttons .position");b.section.positioner.getElements(".js-position-size").each(function(d){var c=d.get("data-size");if(!this.options.sizes.contains(c)){d.setStyle("display","none");if(c=="large"){$("js-position-center").setStyle("display","none")}}else{d.addEvent("click",function(){b.section.positioner.getElements(".js-position-size").removeClass("on");d.addClass("on");a.removeClass("dn");this.positioner_data.size=d.get("data-size-id");size_name=d.get("data-size");if(size_name=="large"){$("js-position-left").addClass("off").removeClass("on").removeEvents("click");$("js-position-right").addClass("off").removeClass("on").removeEvents("click");$("js-position-center").removeClass("off").addClass("on");b.positioner_data.alignment="center"}else{$("js-position-center").addClass("off").removeClass("on").removeEvents("click");b.positioner_data.alignment="left";$("js-position-left").removeClass("off").addClass("on").addEvent("click",function(){b.section.positioner.getElements(".js-position-alignment").removeClass("on");$("js-position-left").addClass("on");b.positioner_data.alignment="left"}.bind(this));$("js-position-right").removeClass("off").addEvent("click",function(){b.section.positioner.getElements(".js-position-alignment").removeClass("on");$("js-position-right").addClass("on");b.positioner_data.alignment="right"}.bind(this))}$("js-position-alignment").removeClass("dn")}.bind(this))}}.bind(this));$$(".js-position-alignment").addEvent("click",function(c){c.stop();this.addClass("on").getSiblings().removeClass("on");b.positioner_data.alignment=this.get("data-align");a.removeClass("dn")});$("js-position-size").removeClass("dn")},insert_positioned:function(a){this.fireEvent("return_html",[a.html]);this.loading(false);this.close()}});var FileProgress=new Class({Implements:Options,options:{name:"",name_length_limit:30},initialize:function(a,b){this.setOptions(b);if(this.options.name.length>this.options.name_length_limit){this.options.name=this.options.name.substring(0,this.options.name_length_limit)+"..."}this.li=new Element("li.working");this.img_wrap=new Element("div.img").inject(this.li);this.verbose_progress=new Element("div.progress-verbose",{text:0}).inject(this.li);this.progress_wrap=new Element("div.progress").inject(this.li);this.progress=new Element("div").inject(this.progress_wrap);this.status=new Element("div.status",{text:"uploading "+this.options.name}).inject(this.li);this.li.inject(a);this.spinner=new Spinner({lines:8,length:6,width:5,radius:10,color:"#FFF",speed:1,trail:50,shadow:false}).spin(this.img_wrap)},set:function(a){this.progress.setStyle("width",a+"%");this.verbose_progress.set("text",a);if(a==100){this.status.set("text","processing "+this.options.name)}},success:function(a){if(this.spinner){this.spinner.stop()}this.img=new Element("img",{src:a}).inject(this.img_wrap);this.set(100);this.status.set("text",this.options.name+" complete");this.li.removeClass("working")},error:function(a){this.li.removeClass("working").addClass("error");this.status.set("text","Error: "+a)}});var ImageMonster=new Class({initialize:function(a){if(!vinesLoginRequired()){return}this.image_panel=false;this.content_type_id=a.getProperty("rel_ct_id");this.object_id=a.getProperty("rel_ob_id");this.object_name=a.getProperty("rel_ob_name");this.gallery_name="";if(a.getProperty("rel_gallery_name")){this.gallery_name=a.getProperty("rel_gallery_name")}this.rollup_ct_id=a.getProperty("rollup_ct_id");this.rollup_ob_id=a.getProperty("rollup_ob_id");this.rollup_gallery_name="";if(a.getProperty("rollup_gallery_name")){this.rollup_gallery_name=a.getProperty("rollup_gallery_name")}this.rollup_ct_id2=a.getProperty("rollup_ct_id2");this.rollup_ob_id2=a.getProperty("rollup_ob_id2");this.rollup_gallery_name2="";if(a.getProperty("rollup_gallery_name2")){this.rollup_gallery_name2=a.getProperty("rollup_gallery_name2")}if(!this.object_id){this.open_search_lp()}else{this.open_image_lp()}},open_search_lp:function(){var b="Add images to...";var a="/image/imagemonster/?ct_id="+this.content_type_id;this.searchLp=new LaunchPad.Base({titleTextStr:b,url:a,styles:{width:"400px"}});this.searchLp.addEvent("openComplete",function(){if(this.object_id){$("js-monsterimage-search").addClass("dn");this.open_image_lp()}else{var f=$("js-search-monsterimage");var d=f.getProperty("rel_ctid");var c="fireAcSelected";var e=new VinesSearchAC(f,"/autosearch/?ct_ids="+d,{allow_create:false,callBackEvent:c});f.addEvent(c,function(g,h){if(g.object_id){searchLp.hide();this.object_name=g.name;this.content_type_id=g.content_type_id;this.object_id=g.object_id;this.open_image_lp()}}.bind(this))}}.bind(this));this.searchLp.open()},open_image_lp:function(){if(this.image_panel){this.image_panel.show()}else{this.image_panel=new ImagePanel(["browse","myimages"],{title:"Upload images to "+this.object_name+"'s '",content_type_id:this.content_type_id,object_id:this.object_id,onFinish:this.images_selected.bind(this)})}},images_selected:function(a){vinesLoadingMask(true);var c={content_type_id:this.content_type_id,object_id:this.object_id,image_ids:a,rollup_ob_id:this.rollup_ob_id,rollup_ct_id:this.rollup_ct_id,rollup_ob_id2:this.rollup_ob_id2,rollup_ct_id2:this.rollup_ct_id2,gallery_name:this.gallery_name,rollup_gallery_name:this.rollup_gallery_name,rollup_gallery_name2:this.rollup_gallery_name2};var b=new Request.JSON({url:"/image/add-images-to-object/",onSuccess:this.image_selected_cb.bind(this)});b.post({json:JSON.encode(c)})},image_selected_cb:function(a){vinesLoadingMask(false);if(a.success=="yes"){var b=new LaunchPad.Base({titleTextStr:"Yay, success!"});b.open();b.insert(a.html)}else{alert("So sorry, there was an error. Try again?")}}});window.addEvent("domready",function(){$$(".js-imagemonster").addEvent("click",function(b){var a=new ImageMonster(this);return})});window.addEvent("domready",function(){var c='[href$=".'+["jpg","jpeg","png","gif"].join('"],[href$=".')+'"]';var b=function(){$("loadingmask-mask").destroy()};var a=function(j,f){if(j.type=="click"&&(j.event.button!==0||j.meta||j.shift||j.control)){return true}j.stop();vinesLoadingMask(true,{onclick:function(k){k.stop();$("loadingmask-mask").destroy()}});var g=Asset.image(f.get("href"),{onLoad:function(){var p=new Element("div",{styles:{position:"fixed",height:"100%",width:"100%",top:0,left:0}}).adopt(this);$("loadingmask-mask").empty().setStyle("position","fixed").adopt(p);var o=this.height,m=this.width,e=window.getSize().y,n=window.getSize().x,k=m/o,l=n/e;if(k>l){m=Math.min(m,n);o=m/k}else{o=Math.min(o,e);m=o*k}this.removeProperties("width","height");this.setStyles({height:o,width:m,"margin-left":(m/-2),"margin-top":(o/-2),left:"50%",top:"50%",cursor:"pointer","max-width":"100%","max-height":"100%",position:"absolute"}).addEvent("click",b)}});var h=function(){g.destroy();vinesLoadingMask(false);document.removeEvent("keydown",d);document.removeEvent("keydown",i)};var d=function(e){if(e.key=="right"){h();a(e,f.getNext())}};var i=function(e){if(e.key=="left"){h();a(e,f.getPrevious())}};if(f.getNext(c)){document.addEvent("keydown",d)}if(f.getPrevious(c)){document.addEvent("keydown",i)}return false};document.body.addEvent("click:relay("+c+")",a)});
