if(typeof(window.console)==="undefined"){window.console={log:function(){},info:function(){},warn:function(){},error:function(){},exception:function(){},assert:function(){}}}var PosterOven={};PosterOven.Drawing={};PosterOven.Drawing.Box=function(b,d,c,a){this.x=b;this.y=d;this.width=c;this.height=a};PosterOven.Drawing.Box.prototype.marginx=function(a){var b=PosterOven.Utils.size_str_to_pt(a);this.x+=(b/2);this.width-=b;return this};PosterOven.Drawing.Box.prototype.offsety=function(b){var a=PosterOven.Utils.size_str_to_pt(b);
this.y+=a;return this};PosterOven.Drawing.Box.prototype.reheight=function(a){var b=PosterOven.Utils.size_str_to_pt(a);this.height=a;return this};PosterOven.Drawing.TextObj=function(a){this.slug=a;this.font_family="sans";this.font_size=18;this.font_weight="normal";this.font_style="normal";this.line_height=1;this.align="center";this.valign="center";this.single_line=false;this.text="";this.color="000000";this.shadow=false;this.shadow_offset_x=1;this.shadow_offset_y=1;this.shadow_color="00000099"};PosterOven.Drawing.render_textobj=function(b,n,g,d,k){var a=$('<div class="pod_textobj"></div>');
var m=$('<div class="pod_text"></div>');a.append(m);b.append(a);(function s(){var u=n.text;if(!u){u=""}var t=PosterOven.Utils.html_escape(u);t=PosterOven.Utils.nl2br(PosterOven.Utils.pad_empty_lines(t));m.html(t)})();(function f(){a.css("left",d*g.x);a.css("top",d*g.y);a.css("width",d*g.width);a.css("height",d*g.height);if(k){a.css("border","1px solid #f00");m.css("border","1px solid #0ff")}})();var h=a.get(0).clientWidth;var q=a.get(0).clientHeight;(function c(){m.css("color","#"+PosterOven.Utils.normalize_color_6hex(n.color));
m.css("opacity",PosterOven.Utils.opacity_from_color_8hex(PosterOven.Utils.normalize_color_8hex(n.color)))})();(function i(){var t=n.font_family;if(t=="sans"){t="BitstreamVeraSans, sans-serif, Helvetica, arial"}var u="normal";if(n.font_weight=="bold"){u="bold"}var v=d*n.font_size;var w="normal";if(n.font_style=="italics"){w="italic"}m.css("font-family",t);m.css("font-weight",u);m.css("font-size",v+"px");m.css("font-style",w);m.css("line-height",n.line_height);if(n.single_line){m.css("white-space","nowrap")}})();
var j=m.get(0).clientWidth;var e=m.get(0).clientHeight;(function o(){var t=1;var u=Math.round(d*n.font_size);while(true){m.css("font-size",u+"px");j=m.get(0).clientWidth;e=m.get(0).clientHeight;u-=1;if(u<t){break}if(j>h){continue}if(e>q){continue}break}})();(function r(){if(n.align==="left"){m.css("text-align","left");m.css("left",(0)+"px")}else{if(n.align==="right"){m.css("text-align","right");m.css("left",((h-j-1))+"px")}else{m.css("text-align","center");m.css("left",((h-j)/2)+"px")}}})();(function l(){if(n.valign==="top"){m.css("top",(0)+"px")
}else{if(n.valign==="bottom"){m.css("top",((q-e))+"px")}else{m.css("top",((q-e)/2)+"px")}}})();(function p(){if(!n.shadow){return}je_shadow=m.clone();je_shadow.css("color","#"+PosterOven.Utils.normalize_color_6hex(n.shadow_color));je_shadow.css("opacity",PosterOven.Utils.opacity_from_color_8hex(PosterOven.Utils.normalize_color_8hex(n.shadow_color)));je_shadow.css("left",(parseFloat(je_shadow.css("left"))+(d*(n.shadow_offset_x)))+"px");je_shadow.css("top",(parseFloat(je_shadow.css("top"))+(d*(n.shadow_offset_y)))+"px");
a.prepend(je_shadow)})();return a};PosterOven.Drawing.render_image=function(c,a,f,i,b){var h=$('<div class="pod_imgobj"></div>');var e=$('<img class="pod_img" alt="" />');e.css("visibility","hidden");e.attr("src",a);h.append(e);c.append(h);var j=i*f.width;var g=i*f.height;(function d(){h.css("left",i*f.x);h.css("top",i*f.y);h.css("width",j);h.css("height",g);if(b){h.css("border","1px solid #f00");e.css("border","1px solid #0ff")}})();e.imagesLoaded(function(l,m,o){if(m.length<1){console.log("Error loading image: ",a);
return}var q=e.width();var k=e.height();var p=PosterOven.Utils.resize_image_to_fit(e,j,g,q,k);q=e.width();k=e.height();(function n(){e.css("left",((j-q)/2)+"px");e.css("top",((g-k)/2)+"px")})();e.css("visibility","visible")})};PosterOven.GUI=function(){this.config={};this.my=new PosterOven.My();this.preview=null;this.socials=new PosterOven.Socials();this._sections=new PosterOven.GUISections(this);this._loading_modal=new PosterOven.GUILoadingModal(this);this._upload_image=new PosterOven.GUIUploadImage(this);this._state=new PosterOven.GUIState()
};PosterOven.GUI.prototype.init=function(a){this.config=a;console.log("Poster Oven init...");this._loading_modal.init();this._loading_modal.show("Initializing...");this._init_loading();this._load_socials();this._sections.init();this._init_color_pickers();this._init_resize_handler();this._init_observers();this._init_popups();console.log("Poster Oven selecting product "+this.config.product_slug+"...");this.select_product(this.config.product_slug)};PosterOven.GUI.prototype._init_loading=function(){this._state.loading_state.register_callback(new PosterOven.GUILoadedCallback(["socials","product"],$.proxy(this._product_resources_loaded,this),0));
this._state.loading_state.register_callback(new PosterOven.GUILoadedCallback([],$.proxy(this._everything_loaded,this),0))};PosterOven.GUI.prototype._everything_loaded=function(){console.log("Poster Oven product resources loaded. Preparing interface.");setTimeout($.proxy(this.build_preview,this),250);setTimeout(function(){$(".gui_preview .preview").css("visibility","visible").fadeTo(1000,1)},260);setTimeout($.proxy(this.build_preview,this),500);setTimeout($.proxy(this.build_preview,this),1000)};PosterOven.GUI.prototype._product_resources_loaded=function(){console.log("Poster Oven product resources loaded. Preparing interface.");
this.my.template.template=this.my.template.product.get_default_template();this._apply_template_design();this._prep_my_text();this._prep_my_text_colors();this._prep_fields_form();this._prep_fields_colors_form();this._prep_my_social();this._prep_social_form();this._summarize_product();if(this.config.my_import){var b=this.config.my_import;try{var a=JSON.parse(b);this._import_my_params(a,alert)}catch(c){alert(c);return}}this.build_preview();this._loading_modal.hide();this._new_product_gui_state()};PosterOven.GUI.prototype._new_product_gui_state=function(){var b=this;
b._sections.go_name(this._state.section_desired);if(this.config.show_templates){console.log("PosterOven showing templates as requested by config.");this.popup_templates()}else{if(!this._state.skip_tutorial){console.log("Poster Oven preparing to open tutorial...");setTimeout(function(){b.popup_tutorial()},100)}(function a(){setTimeout(function(){var c=$(".gui .gui_panel .section.template .change .explain.recommended");c.animate({top:"0px"},1000)},750)})()}};PosterOven.GUI.prototype._init_color_pickers=function(){var b=this;
var a=$(".gui .gui_panel .section.design #design_base_color");a.miniColors({change:function(d,c){b.my.design.update_base_color(d)}});b._attach_miniColors_color_accepter(a);b._attach_miniColors_randomizer(a)};PosterOven.GUI.prototype._init_resize_handler=function(){var a=this;$(window).resize(function(){a.build_preview()})};PosterOven.GUI.prototype._preview_floater_show=function(){if(!this._state.show_preview_floater){return}var a=$(".gui .gui_preview .preview_wrap .gui_floater.about_preview");a.stop(true).show().css("opacity",0);
a.animate({opacity:1},{duration:500,complete:function(){a.show()}});a.animate({top:0+"px"},{queue:false,duration:500,easing:"linear"})};PosterOven.GUI.prototype._preview_floater_hide=function(){if(!this._state.show_preview_floater){return}var a=$(".gui .gui_preview .preview_wrap .gui_floater.about_preview");a.stop(true).show().css("opacity",1);a.animate({opacity:0},{duration:500,complete:function(){a.hide()}});a.animate({top:-800+"px"},{queue:false,duration:500})};PosterOven.GUI.prototype._init_observers=function(){var a=this;
$(window).load($.proxy(this._browser_loaded,this));this.my.design.register_base_color_observer($.proxy(this._base_color_updated,this));this.my.design.register_text_color_observer($.proxy(this._text_color_updated,this));$(".gui .gui_panel .section.text .fields .list .input .text").live("change keyup blur",$.proxy(this._text_field_updated_event,this));$(".gui .gui_panel .section.template .templates .change #a_gui_choose_mydesign").click($.proxy(this.select_template_my_design,this));this._upload_image.init_observers();
$(".gui .gui_panel .section.social .hooks .list .hook .extnet select").live("change blur",$.proxy(this._social_hook_extnet_updated,this));$(".gui .gui_panel .section.social .hooks .list .hook .params input.param").live("change keyup blur",$.proxy(this._social_hook_params_updated,this));$(".gui .gui_panel .section.social .hooks .list .hook .row.via a.remove").live("click",$.proxy(this._social_hook_remove,this));$(".gui .gui_panel .section.download .button.download.pdf").click($.proxy(this.download_pdf,this));
$(".gui .gui_panel .section.download .button.download.png").click($.proxy(this.download_png,this));$(".gui .gui_panel .section.download .button.export.json").click($.proxy(this.export_json,this));$(".gui .gui_panel .section.download .button.import.json").click($.proxy(this.import_json,this));$(".gui .gui_panel .section.download .import_export a.show").click($.proxy(this.show_import_export,this));$(".gui .gui_panel .section.download .raw.json").click(function(){$(this).select()});$(".gui .gui_preview .preview_wrap").click($.proxy(this._preview_floater_show,this));
$(".gui .gui_preview .preview_wrap").hover(function(){},$.proxy(this._preview_floater_hide,this));$(".gui .zoom_control a.zoom").click(function(){a._zoom_clicked();return false});$(".gui .gui_tutorial_trigger").click(function(){a.popup_tutorial();return false});(function b(){var c=this;var d=$(".gui .gui_panel .section.design .custom_colors");$(".gui .gui_panel .section.design #gui_custom_colors_option_default").click(function(){d.hide();c.my.design.customize_text_colors=false;c._text_color_updated()});$(".gui .gui_panel .section.design #gui_custom_colors_option_custom").click(function(){d.slideDown();
c.my.design.customize_text_colors=true;c._text_color_updated()});$(".gui .gui_panel .section.design #gui_custom_colors_option_default").click()}).call(this)};PosterOven.GUI.prototype._init_popups=function(){var b=this;var a={margin:100,padding:0,transitionIn:"fade",transitionOut:"fade",speedIn:300,speedOut:300,overlayColor:"#543"};$("#a_gui_choose_template").fancybox($.extend({},a,{onStart:function(){$.proxy(b._prep_popup_template_contents(),b)}}));$("#a_gui_choose_background").fancybox($.extend({},a,{onStart:function(){$.proxy(b._prep_popup_background_contents(),b)
}}));$("#a_gui_choose_text_sample").fancybox($.extend({},a,{onStart:function(){$.proxy(b._prep_popup_text_sample_contents(),b)}}));$("#a_gui_tutorial").fancybox($.extend({},a,{scrolling:"auto",padding:0,autoScale:false,width:760,height:1500,onClosed:function(){console.log("Poster Oven tutorial closed.");b.build_preview();PosterOven.Utils.flash_background($("#a_gui_choose_template"),"#ee9",3)}}))};PosterOven.GUI.prototype._load_socials=function(){var a=this;console.log("Poster Oven loading socials...");this.socials.load(this.config.social_url,function(){a._socials_loaded()
})};PosterOven.GUI.prototype._socials_loaded=function(a){this._state.loading_state.confirm_loaded("socials")};PosterOven.GUI.prototype._hold_preview=function(){this._state.hold_preview=true;this._state.hold_preview_rebuild_requested=false};PosterOven.GUI.prototype._unhold_preview=function(){this._state.hold_preview=false;if(this._state.hold_preview_rebuild_requested){this.build_preview()}this._state.hold_preview_rebuild_requested=false};PosterOven.GUI.prototype.build_preview=function(){if(this._state.hold_preview){this._state.hold_preview_rebuild_requested=true;
return}console.log("Poster Oven building preview...");var a=$(window).scrollTop();if(this.preview){this.preview.destroy_preview();this.preview=null}var b={media_url:this.config.media_url,socials:this.socials};this.preview=new PosterOven.Preview(this.my,b);this.preview.options.pixels_per_pt=(this._state.preview_zoom/100)*this._calc_preview_pixels_per_pt();this.preview.create_preview($(".gui_preview .preview"));$(window).scrollTop(a);this._resize_framework_content_box()};PosterOven.GUI.prototype._browser_loaded=function(){this._state.loading_state.confirm_loaded("browser")
};PosterOven.GUI.prototype._base_color_updated=function(a){if(this.preview){this.preview.base_color_updated()}};PosterOven.GUI.prototype._text_color_updated=function(a){if(this.preview){this.preview.text_color_updated()}};PosterOven.GUI.prototype._text_field_updated=function(b){var c=$(".gui .gui_panel .section.text .fields .list").find(".field.slug_"+b);var a=c.find(".input .text");var d=a.val();this.my.text.fields[b]=d;if(this.preview){this.preview.text_field_updated(b)}};PosterOven.GUI.prototype._text_field_updated_event=function(d){var b=this;
var a=$(d.target);var e=a.parents(".field");var c=PosterOven.Utils.find_tail_in_classes(e,"slug_");if(c){b._text_field_updated(c)}};PosterOven.GUI.prototype._social_hook_extnet_updated=function(f){var b=this;if(this._state.hold_social_gui_events){return}var d=$(f.target);var e=d.val();var g=d.parents(".hook");$.each(g.find(".params"),function(i,k){var h=$(k);var j=PosterOven.Utils.find_tail_in_classes(h,"extnet_");if(j==e){h.slideDown()}else{h.slideUp()}});var c=g.find(".row.via .remove");if(e==""){c.fadeOut()
}else{c.fadeIn()}var a=PosterOven.Utils.find_tail_in_classes(g,"hook_");this._social_hook_update_model(a);this.build_preview()};PosterOven.GUI.prototype._social_hook_params_updated=function(c){if(this._state.hold_social_gui_events){return}var b=$(c.target);var d=b.parents(".hook");var a=PosterOven.Utils.find_tail_in_classes(d,"hook_");this._social_hook_update_model(a);if(this.preview){this.preview.social_hooks_updated()}};PosterOven.GUI.prototype._social_hook_remove=function(c){var b=$(c.target);var d=b.parents(".hook");
var a=PosterOven.Utils.find_tail_in_classes(d,"hook_");je_select=d.find(".extnet select").val("").change()};PosterOven.GUI.prototype._zoom_clicked=function(a){if(this._state.preview_zoom==100){this._state.preview_zoom=200}else{this._state.preview_zoom=100}$(".gui .zoom_control span.zoompct").text(""+this._state.preview_zoom);this.build_preview()};PosterOven.GUI.prototype._prep_social_form=function(){var d=this.my.social.hooks.length;var a=this;var c=$(".gui .gui_panel .section.social .hooks .list");c.empty();
this._hold_preview();for(var b=0;b<d;b+=1){var e=$(".gui .gui_panel .section.social .hooks .hidden_prototype .hook").clone();e.addClass("hook_"+b);c.append(e);a._state.hold_social_gui_events=true;a.social_hook_set_extnet(b,this.my.social.hooks[b].extnet);a._state.hold_social_gui_events=false;a.social_hook_set_params(b,this.my.social.hooks[b].params);a.social_hook_set_extnet(b,this.my.social.hooks[b].extnet)}this._unhold_preview()};PosterOven.GUI.prototype._social_hook_update_model=function(a){var e=$(".gui .gui_panel .section.social .hooks .hook.hook_"+a);
if(!e){return}var c=e.find(".extnet select").val();if(a>=this.my.social.hooks.length){return}var d=this.my.social.hooks[a];d.extnet=c;d.params={};var b=e.find(".params.extnet_"+c);b.find("input.param").each(function(f,h){var g=$(h);d.params[g.attr("name")]=g.val()})};PosterOven.GUI.prototype.social_hook_set_extnet=function(a,b){var c=$(".gui .gui_panel .section.social .hooks .hook.hook_"+a);if(!c){return}c.find(".extnet select").val(b).trigger("change")};PosterOven.GUI.prototype.social_hook_set_params=function(a,e){var d=$(".gui .gui_panel .section.social .hooks .hook.hook_"+a);
if(!d){return}var c=d.find(".extnet select").val();if(!c){return}var b=d.find(".params.extnet_"+c);$.each(e,function(g,f){b.find("input[name="+g+"]").val(f)});this._social_hook_update_model(a)};PosterOven.GUI.prototype.popup_close=function(){$.fancybox.close()};PosterOven.GUI.prototype.select_product=function(b){this._loading_modal.show("Loading...");this.my.template.product=new PosterOven.Product();var a=this;this.my.template.product.load(this.config.product_url,function(){a._product_loaded()})};PosterOven.GUI.prototype._product_loaded=function(){this._state.loading_state.confirm_loaded("product")
};PosterOven.GUI.prototype._summarize_product=function(){var b=this;var a=$(".gui_panel .section.template .products .hidden_prototype .product").clone();a.find(".name").text(b.my.template.product.name);$(".gui_panel .section.template .products .list").empty().append(a)};PosterOven.GUI.prototype._prep_popup_background_contents=function(){if(this._state.popup_background_contents_built){return}this._state.popup_background_contents_built=true;var a=this;var c=$("#gui_choose_background .backgrounds .list");var d=0.3;
var b="";c.empty();this.my.template.product.each_asset_of_type("background",function(e,h){if(h.category!=b){var f=$("#gui_choose_background .backgrounds .hidden_prototype .category").clone();b=h.category;f.find(".name").text(b);c.append(f)}var j=$("#gui_choose_background .backgrounds .hidden_prototype .background").clone();var i=a.config.media_url+"images/products/"+a.my.template.product.slug+"/bg_thumbs/"+h.slug+".jpg";var g=(d*a.my.template.product.get_size_pts()[0]);j.find(".thumb").attr("src",i);j.css("width",g+"px");
j.find(".thumb").css("width",g+"px");j.find(".name").text(h.name);if(h.attrib){j.find(".attrib").text("src: "+PosterOven.Utils.parse_url(h.attrib)["host_short"]+"");j.find(".attrib").attr("href",h.attrib)}if(h.has_flag("opaque")){j.addClass("opaque");j.find("img.opaque.no").remove()}else{j.find("img.opaque.yes").remove()}j.find("a").click(function(){a.add_background(h.slug)});c.append(j)})};PosterOven.GUI.prototype._prep_popup_template_contents=function(){if(this._state.popup_template_contents_built){return}this._state.popup_template_contents_built=true;
var a=this;var c=$("#gui_choose_template .templates > .list");var d=0.3;var b="";c.empty();$.each(this.my.template.product.templates,function(e,i){if(i.slug[0]=="_"){return}if(i.category!=b){var g=$("#gui_choose_template .templates .hidden_prototype .category").clone();b=i.category;g.find(".name").text(b);c.append(g)}var f=$("#gui_choose_template .templates .hidden_prototype .template").clone();var j=a.config.media_url+"images/products/"+a.my.template.product.slug+"/template_thumbs/"+i.slug+".jpg";var h=(d*a.my.template.product.get_size_pts()[0]);
f.find(".thumb").attr("src",j);f.css("width",h+"px");f.find(".thumb").css("width",h+"px");f.find(".name").text(i.name);f.find("a").click(function(){a.select_template(i.slug)});c.append(f)})};PosterOven.GUI.prototype._prep_popup_text_sample_contents=function(){if(this._state.popup_text_sample_contents_built){return}this._state.popup_text_sample_contents_built=true;var a=this;var b=$("#gui_choose_text_sample .text_samples .list");b.empty();$.each(this.my.template.product.text_samples,function(c,d){var e=$("#gui_choose_text_sample .text_samples .hidden_prototype .text_sample").clone();
e.find(".name").text(d.name);e.find("a").click(function(){a.select_text_sample(d.name)});$.each(d.targets,function(f,g){e.find(".target."+g).addClass("active")});b.append(e)})};PosterOven.GUI.prototype._prep_my_text=function(){var a=this;a.my.text.fields={};$.each(this.my.template.product.fields,function(b,c){a.my.text.fields[c.slug]=c.default_value})};PosterOven.GUI.prototype._prep_my_social=function(){var a=this;a.my.social.hooks=[];$.each(this.my.template.product.default_hooks,function(c,d){var b=$.extend(true,{},d);
a.my.social.hooks.push(b)})};PosterOven.GUI.prototype.popup_templates=function(){if(!this.popup_is_really_gone()){console.log("Poster Oven waiting to open templates chooser...");setTimeout($.proxy(this.popup_templates,this),50);return}console.log("Poster Oven opening templates chooser...");$("#a_gui_choose_template").trigger("click")};PosterOven.GUI.prototype.select_template=function(a){console.log("Poster Oven selected template '"+a+"'");this.my.template.template=this.my.template.product.get_template_by_slug(a);
this._apply_template_design();this._prep_my_text_colors();this._prep_fields_form();this._prep_fields_colors_form();this._summarize_template();if(!this._state.hold_template_section){this._sections.go_name("text");this._focus_select_first_text_field()}this.build_preview();this.popup_close()};PosterOven.GUI.prototype.select_template_my_design=function(){this._sections.go_name("design")};PosterOven.GUI.prototype._summarize_template=function(){var a=$(".gui .gui_panel .section.template .templates .template");var b=this.my.template.template.name;
$(".gui .gui_panel .section.template .templates .hide_when_templated").hide();$(".gui .gui_panel .section.template .templates .show_when_templated").show();a.find(".name").text(b);$("#a_gui_choose_template .empty").hide();$("#a_gui_choose_template .full").show()};PosterOven.GUI.prototype._apply_template_design=function(){var a=this;(function c(){var d="#fff";if(a.my.template.template.base_color){d=a.my.template.template.base_color}a.my.design.update_base_color(d);a._summarize_base_color()})();(function b(){a.my.design.backgrounds=[];
if(a.my.template.template.assets.background){$.each(a.my.template.template.assets.background,function(d,e){a.my.design.add_background(e)})}a._summarize_backgrounds()})();a._summarize_custom_text_colors()};PosterOven.GUI.prototype._prep_fields_form=function(){var a=this;var b=$(".gui .gui_panel .section.text .fields .list");b.empty();$.each(this.my.template.product.fields,function(c,f){var e=$(".gui .gui_panel .section.text .fields .hidden_prototype .field").clone();e.addClass("slug_"+f.slug);e.find(".name").text(f.name);
e.find(".description").text(f.description);e.find(".input .text").val(a.my.text.fields[f.slug]);(function h(){$.each(e.find(".input"),function(i,j){if(!$(j).hasClass(f.type)){$(j).remove()}})})();var d=a.my.template.template.get_field_override_by_slug(f.slug);var g=!!d;if(g){e.find(".input .text").removeAttr("disabled");e.find(".editable  .no").remove()}else{e.find(".editable .yes").remove();e.find(".input .text").attr("disabled","disabled");e.find(".input .text").addClass("not_editable");e.find(".input .text").val("This text not editable in current template")
}b.append(e)})};PosterOven.GUI.prototype._prep_fields_colors_form=function(){var a=this;var b=$(".gui .gui_panel .section.design .custom_colors .list");b.empty();$.each(this.my.template.product.fields,function(c,g){var f=$(".gui .gui_panel .section.design .custom_colors .hidden_prototype .field").clone();f.addClass("slug_"+g.slug);f.find(".name").text(g.name);f.find(".description").text(g.description);var e="#"+PosterOven.Utils.normalize_color_6hex(g.render.color);var d=a.my.template.template.get_field_override_by_slug(g.slug);
var h=!!d;if(d&&d.color){e="#"+PosterOven.Utils.normalize_color_6hex(d.color)}if(h){f.find(".input_color").removeAttr("disabled");f.find(".editable  .no").remove();f.find(".input_color").val(e);f.find(".input_color").miniColors({change:function(j,i){a.my.design.update_text_field_color(g.slug,j)}});a._attach_miniColors_color_accepter(f.find(".input_color"));a._attach_miniColors_randomizer(f.find(".input_color"))}else{f.find(".editable .yes").remove();f.find(".input_color").attr("disabled","disabled");f.find(".input_color").addClass("not_editable");
f.find(".input_color").val("This text not editable in current template")}b.append(f)});this._summarize_custom_text_colors()};PosterOven.GUI.prototype._prep_my_text_colors=function(){var a=this;a.my.design.text_colors={};$.each(this.my.template.product.fields,function(b,e){var d="#000000";var c=a.my.template.template.get_field_override_by_slug(e.slug);if(c&&c.color){d="#"+PosterOven.Utils.normalize_color_6hex(c.color)}a.my.design.text_colors[e.slug]=d})};PosterOven.GUI.prototype._summarize_custom_text_colors=function(){if(this.my.design.customize_text_colors){$(".gui .gui_panel .section.design #gui_custom_colors_option_custom").click()
}else{$(".gui .gui_panel .section.design #gui_custom_colors_option_default").click()}};PosterOven.GUI.prototype.popup_is_really_gone=function(){return($("#fancybox-wrap").css("display")!="block")&&($("#fancybox-overlay").css("display")!="block")};PosterOven.GUI.prototype.popup_tutorial=function(){if(!this.popup_is_really_gone()){console.log("Poster Oven waiting to open tutorial...");setTimeout($.proxy(this.popup_tutorial,this),50);return}console.log("Poster Oven opening tutorial...");$("#a_gui_tutorial").trigger("click")
};PosterOven.GUI.prototype._summarize_base_color=function(){$(".gui .gui_panel .section.design #design_base_color").val(this.my.design.base_color).trigger("keyup")};PosterOven.GUI.prototype._attach_miniColors_color_accepter=function(a){var c='<div class="color_accepter_btn"><a class="button_silk tight">OK</a><div class="unfloat"></div></div>';var b=$(c);b.hide();a.parent().append(b);a.blur(function(){$(this).parent().find(".color_accepter_btn").hide()});a.focus(function(){$(this).parent().find(".color_accepter_btn").css("display","inline-block")
})};PosterOven.GUI.prototype._attach_miniColors_randomizer=function(a){a.keypress(function(c){var b=String.fromCharCode(c.which);if(b=="r"){var d="#"+PosterOven.Utils.random_color_6hex();console.log("Randomized color: ",d);a.val(d)}})};PosterOven.GUI.prototype._resize_framework_content_box=function(){var a=$(".gui").outerWidth();$(".gui_content_wrap > .gui_content_box").width(a)};PosterOven.GUI.prototype._get_avail_preview_width=function(){var a=$(window).width();var d=$(".gui_panel").outerWidth();var b=100;
var e=100;var c=a-d-b;return Math.max(e,c)};PosterOven.GUI.prototype._get_avail_preview_height=function(){var e=$(".gui_preview .preview").offset()["top"];var c=$(window).height();var d=50;var b=100;var a=c-e-d;return Math.max(b,a)};PosterOven.GUI.prototype._calc_preview_pixels_per_pt=function(){var a=this._get_avail_preview_width();var d=this._get_avail_preview_height();var c=this.my.template.product.get_size_pts();var b=a/c[0];var e=d/c[1];return Math.min(b,e)};PosterOven.GUI.prototype.show_import_export=function(){$(".gui .gui_panel .section.download .import_export .intro").slideUp();
$(".gui .gui_panel .section.download .import_export .contents").slideDown()};PosterOven.GUI.prototype._focus_select_first_text_field=function(){if(!this.my.template.product.fields){return}var a=this.my.template.product.fields[0].slug;var b=$(".gui .gui_panel .section.text .fields .list");var c=b.find(".field.slug_"+a);c.find(".input .text").focus().select()};PosterOven.GUI.prototype.add_background=function(a){this.popup_close();this.my.design.add_background(a);this._summarize_backgrounds();this.build_preview()
};PosterOven.GUI.prototype._summarize_backgrounds=function(){var d=$(".gui .gui_panel .section.design .backgrounds .list");d.empty();var b=this;var h=0;var a=0,g=b.my.design.backgrounds.length-1;var c=[];var f=[];$.each(this.my.design.backgrounds,function(i,l){var k=b.my.template.product.get_asset("background",l);console.assert(k);c.push(k);var j=$(".gui .gui_panel .section.design .backgrounds .hidden_prototype .background").clone();if(k.has_flag("opaque")){h+=1;f.push(k);j.addClass("opaque");$.each(c,function(o,p){d.find(".asset.slug_"+p.slug).addClass("covered")
})}j.addClass("slug_"+k.slug);j.find(".name").text(k.name);j.find(".category").text(k.category);var m=b.config.media_url+"images/products/"+b.my.template.product.slug+"/bg_thumbs/"+k.slug+".jpg";j.find(".thumb").attr("src",m);(function n(){var r=b.config.media_url+"images/products/"+b.my.template.product.slug+"/bg/"+k.slug+".png";var q=null;function o(){if(b.preview){q=b.preview.show_overlay_image(r)}}function p(){q.remove();q=null}j.find(".thumb").hover(function(){$(this).addClass("zoom")},function(){$(this).removeClass("zoom")
});j.find(".thumb").hover(o,p)})();if(i==a){j.find("a.down").addClass("disabled")}if(i==g){j.find("a.up").addClass("disabled")}j.find("a.up").click(function(){if(!$(this).hasClass("disabled")){$.proxy(b._background_move_up_down(l,+1),b)}});j.find("a.down").click(function(){if(!$(this).hasClass("disabled")){$.proxy(b._background_move_up_down(l,-1),b)}});j.find("a.delete").click(function(){if(!$(this).hasClass("disabled")){$.proxy(b._background_delete(l),b)}});d.prepend(j)});(function e(){var i=$(".gui .gui_panel .section.design .base_color");
if(h>0){i.find(".blocked").show();i.find(".visible").hide();i.find(".opaque_name").text(f[0].name)}else{i.find(".blocked").hide();i.find(".visible").show()}})()};PosterOven.GUI.prototype._background_delete=function(c){if(this._state.animating_background_layer_order){return}var h=500;var f=null;var e,i;(function g(){this.my.design.backgrounds=$.grep(this.my.design.backgrounds,function(k,j){return k!=c})}).call(this);(function a(){var l=$(".gui .gui_panel .section.design .backgrounds .list");l.find(".button_silk.tight").addClass("disabled");
var k=l.find(".asset.slug_"+c);var j=$(".gui_misc_proto .gui_delete_puff").clone().appendTo(k);var m=j.clone().addClass("second").appendTo(k);k.fadeOut(h);this._state.animating_background_layer_order=true}).call(this);var b=this;function d(){b._state.animating_background_layer_order=false;b._summarize_backgrounds();b.build_preview()}setTimeout(d,h*4/5)};PosterOven.GUI.prototype._background_move_up_down=function(c,d){if(this._state.animating_background_layer_order){return}var i=500;var g=null;var f,j;(function h(){var k=this.my.design.backgrounds;
$.each(k,function(l,m){if(m==c){g=l}});if(g===null){return}if(d==-1){g-=1}j=k[g];f=k[g+1];k=[].concat(k.slice(0,g),k[g+1],k[g],k.slice(g+2));this.my.design.backgrounds=k}).call(this);(function a(){var m=$(".gui .gui_panel .section.design .backgrounds .list");m.find(".button_silk.tight").addClass("disabled");var k=m.find(".asset.slug_"+f);var l=m.find(".asset.slug_"+j);var n="2em";k.animate({top:n},i);l.animate({top:"-"+n},i);this._state.animating_background_layer_order=true}).call(this);var b=this;function e(){b._state.animating_background_layer_order=false;
b._summarize_backgrounds();b.build_preview()}setTimeout(e,i*4/5)};PosterOven.GUI.prototype.select_text_sample=function(b){console.log("Poster Oven selected text sample '"+b+"'");var a=this.my.template.product.get_text_sample_by_name(b);var c=this;$.each(a.fields,function(d,e){c.my.text.fields[d]=e});this._summarize_text_fields();this.build_preview();this.popup_close()};PosterOven.GUI.prototype._summarize_text_fields=function(){var a=$(".gui .gui_panel .section.text .fields .list");$.each(this.my.text.fields,function(b,d){var c=a.find(".field.slug_"+b);
c.find(".input .text").val(d)})};PosterOven.GUI.prototype._prep_download_form=function(c){var b=$(".gui .gui_panel .section.download .hidden_form.download");var a=$(".gui .gui_panel .section.download a.form_target#"+c);b.attr("action",a.attr("href"));this._fill_download_form(b);return b};PosterOven.GUI.prototype.download_pdf=function(){console.log("Poster Oven download_pdf initiated.");var a=this._prep_download_form("render_pdf");a.submit()};PosterOven.GUI.prototype.download_png=function(){console.log("Poster Oven download_png initiated.");
var a=this._prep_download_form("render_png");a.submit()};PosterOven.GUI.prototype._fill_download_form=function(d){var c=new PosterOven.MyParamsSerializer().to_params(this.my);c.po_version=this.config.version;var b=d.find(".fields");b.empty();function a(f,g){var e=$("<textarea></textarea>").attr("name",f).val(g);b.append(e)}$.each(c,a)};PosterOven.GUI.prototype.export_json=function(){console.log("Poster Oven export_json initiated.");var b=new PosterOven.MyParamsSerializer().to_params(this.my);b.po_version=this.config.version;
var a=JSON.stringify(b);var c=$(".gui .gui_panel .section.download .raw.json");c.val(a).focus().select()};PosterOven.GUI.prototype._import_my_params=function(b,d){var a=new PosterOven.MyParamsDeserializer();var f=a.get_pomy_version(b);if(!f||(f<1)){d("Error: unrecognized serialization version '"+f+"'.");return}var c=a.get_product_slug(b);if(c!=this.my.template.product.slug){d('Error: Product "'+this.my.template.product.name+"\" can only import '"+this.my.template.product.slug+"', not '"+c+"'.");return}var e=a.get_template_slug(b);
this.my.template.template=this.my.template.product.get_template_by_slug(e);this._apply_template_design();if(e!="_"){this._summarize_template()}new PosterOven.MyParamsDeserializer().from_params(b,this.my);this._prep_social_form();this._prep_fields_form();this._prep_fields_colors_form();this._summarize_base_color();this._summarize_custom_text_colors();this._summarize_backgrounds();this._upload_image.summarize()};PosterOven.GUI.prototype.import_json=function(){console.log("Poster Oven import_json initiated.");var d=$(".gui .gui_panel .section.download .raw.json");
var a=d.val();if(a==""){alert("Paste exported design data into the text box then press IMPORT to load the design.\nClick EXPORT to fill the box with saved design data you can copy to use in this way later.");return}var b={};try{b=JSON.parse(a)}catch(c){alert(c);return}this._import_my_params(b,alert);this.build_preview()};PosterOven.GUIState=function(){this.skip_tutorial=true;this.show_preview_floater=true;this.hold_template_section=false;this.section_desired="template";this.loading_state=new PosterOven.GUILoadingState();
this.hold_preview=false;this.hold_preview_rebuild_requested=false;this.hold_social_gui_events=false;this.popup_template_contents_built=false;this.popup_background_contents_built=false;this.popup_text_sample_contents_built=false;this.animating_background_layer_order=false;this.preview_zoom=100};PosterOven.GUILoadedCallback=function(c,b,a){this.what=c;this.fn=b;this.delay=a;this._triggered=false};PosterOven.GUILoadingState=function(){this._pending=["browser","product","socials"];this._loaded=[];this._callbacks=[]
};PosterOven.GUILoadingState.prototype.register_callback=function(a){if(typeof(a)=="function"){a=PosterOven.GUILoadedCallback([],a,0)}this._callbacks.push(a)};PosterOven.GUILoadingState.prototype.confirm_loaded=function(c){var a=$.inArray(c,this._pending);if(a!=-1){this._pending.splice(a,1);this._loaded.push(c);console.log("Poster Oven GUI loaded: ",c)}else{console.log("Poster Oven GUI loaded: ",c," (already loaded)")}if(this._pending.length==0){console.log("Poster Oven GUI loaded everything.")}var b=this;$.each(this._callbacks,function(e,d){if(d._triggered){return
}if(d.what.length>0){for(var f=0;f<d.what.length;f++){if($.inArray(d.what[f],b._loaded)==-1){return}}}else{if(b._pending.length>0){return}}d._triggered=true;setTimeout(d.fn,d.delay)})};PosterOven.GUILoadingState.prototype.is_everything_loaded=function(){return(this._pending.length==0)};PosterOven.GUILoadingModal=function(a){this.visible=false;this.gui=a};PosterOven.GUILoadingModal.prototype.init=function(){$("#a_gui_loading").fancybox({modal:true,autoDimensions:true,padding:0,transitionIn:"none",transitionOut:"fade",speedOut:300,overlayColor:"#543"})
};PosterOven.GUILoadingModal.prototype.text=function(a){je=$("#gui_loading .text");if(a!==undefined){je.text(a)}return je.text()};PosterOven.GUILoadingModal.prototype.show=function(a){console.log("Showing loading overlay...",a);if(a!==undefined){this.text(a)}if(!this.visible){$("#a_gui_loading").trigger("click");this.visible=true}};PosterOven.GUILoadingModal.prototype.hide=function(){console.log("Closing loading overlay...");$.fancybox.close();this.visible=false};PosterOven.GUISections=function(a){this.gui=a
};PosterOven.GUISections.prototype.init=function(){var c=this;var f=["template","design","text","social","download"];var d,e;$(".gui .gui_panel .section h2").live("click",$.proxy(c._click_section,c));$(".gui .gui_panel .section .collapsed").live("click",$.proxy(c._click_section,c));function a(g,h){c._get_section_je(g).find(".section_button.next").click(function(){c.go_name(h)})}function b(g,h){c._get_section_je(g).find(".section_button.prev").click(function(){c.go_name(h)})}for(d=0;d<(f.length-1);d++){a(f[d],f[d+1])
}for(d=1;d<(f.length);d++){b(f[d],f[d-1])}};PosterOven.GUISections.prototype.deactivate=function(a){a.addClass("inactive");a.removeClass("active");a.find(".collapsed").slideDown(400);a.find(".expanded").slideUp(400)};PosterOven.GUISections.prototype.activate=function(a){a.addClass("active");a.removeClass("inactive");a.find(".collapsed").slideUp(400);a.find(".expanded").slideDown(400)};PosterOven.GUISections.prototype.go=function(c){var b=$(".gui .gui_panel .section");var a=this;b.each(function(d,e){if(e==c[0]){a.activate($(e))
}else{a.deactivate($(e))}})};PosterOven.GUISections.prototype.go_name=function(a){this.go(this._get_section_je(a))};PosterOven.GUISections.prototype._click_section=function(b){var a=$(b.target).closest(".section")[0];this.go($(a))};PosterOven.GUISections.prototype._get_section_je=function(a){return($(".gui .gui_panel .section."+a))};PosterOven.GUIUploadImage=function(a){this.gui=a};PosterOven.GUIUploadImage.prototype.init_observers=function(){var a=this;$(".gui .gui_panel .section.design a#a_gui_design_upload_image_req").click(function(){a.reset_and_show_iframe();
return false});$(".gui .gui_panel .section.design .upload_image .status.loaded a.delete").click($.proxy(this.remove_image,this));$(".gui .gui_panel .section.design .upload_image .status.error a.show_error").click($.proxy(this.show_iframe,this))};PosterOven.GUIUploadImage.prototype.reset_and_show_iframe=function(){var c=$(".gui .gui_panel .section.design .if_upload");var b=$(".gui .gui_panel .section.design .if_target");var a=$(".gui .gui_panel .section.design .upload_image_req");a.hide();c.show();c.attr("src",b.attr("href"));
this._set_status("empty")};PosterOven.GUIUploadImage.prototype.show_iframe=function(){var a=$(".gui .gui_panel .section.design .if_upload");a.show()};PosterOven.GUIUploadImage.prototype.remove_image=function(){if(!this.gui.my.design.user_image){return}this.gui.my.design.user_image=null;this.summarize();this.gui.build_preview()};PosterOven.GUIUploadImage.prototype.summarize=function(){var b=$(".gui .gui_panel .section.design .upload_image_req");if(this.gui.my.design.user_image){this._set_status("loaded");b.hide();
var a=$(".gui .gui_panel .section.design .upload_image .row_thumb .thumb");a.attr("src",this.gui.my.design.user_image)}else{this._set_status("empty");b.show()}};PosterOven.GUIUploadImage.prototype.form_submitted=function(){var b=$(".gui .gui_panel .section.design .if_upload");this._set_status("loading");b.hide();var a=30;setTimeout($.proxy(this.action_timeout,this),a*1000)};PosterOven.GUIUploadImage.prototype.action_error=function(b){console.log("Poster Oven image upload error: ",b);var a=$(".gui .gui_panel .section.design .upload_image_req");
a.show();this._set_status("error");$(".gui .gui_panel .section.design .upload_image_status .status.error .sub").text(b);this.gui.build_preview()};PosterOven.GUIUploadImage.prototype.action_success=function(b,a){console.log("Poster Oven image uploaded: ",b,a);this.gui.my.design.user_image="https://s3.amazonaws.com/"+b+"/"+a;this.summarize();this.gui.build_preview()};PosterOven.GUIUploadImage.prototype.action_timeout=function(){if(this.gui.my.design.user_image){return}var a=$(".gui .gui_panel .section.design .upload_image_req");
a.show();this._set_status("error");this.gui.build_preview()};PosterOven.GUIUploadImage.prototype._set_status=function(b){var a=$(".gui .gui_panel .section.design .upload_image_status");a.find("> .status").hide();a.find("> .status."+b).show()};PosterOven.My=function(){this.template=new PosterOven.MyTemplate();this.design=new PosterOven.MyDesign();this.text=new PosterOven.MyText();this.social=new PosterOven.MySocial()};PosterOven.MyTemplate=function(){this.product=null;this.template=null};PosterOven.MyDesign=function(){this.base_color=null;
this.user_image=null;this.backgrounds=[];this.text_colors={};this.customize_text_colors=false;this.social_colors={};this.base_color_observer_fns=[];this.text_color_observer_fns=[]};PosterOven.MyDesign.prototype.update_base_color=function(b){this.base_color=b;for(var a=0;a<this.base_color_observer_fns.length;a+=1){this.base_color_observer_fns[a](this)}};PosterOven.MyDesign.prototype.register_base_color_observer=function(a){this.base_color_observer_fns.push(a)};PosterOven.MyDesign.prototype.update_text_field_color=function(b,c){this.text_colors[b]=c;
for(var a=0;a<this.text_color_observer_fns.length;a+=1){this.text_color_observer_fns[a](this)}};PosterOven.MyDesign.prototype.register_text_color_observer=function(a){this.text_color_observer_fns.push(a)};PosterOven.MyDesign.prototype.add_background=function(b){for(var a=0;a<this.backgrounds.length;a+=1){if(this.backgrounds[a]==b){return}}this.backgrounds.push(b)};PosterOven.MyText=function(){this.fields={}};PosterOven.MySocial=function(){this.hooks=[]};PosterOven.MySocial.prototype.active_hook_cnt=function(){var b=0;
for(var a=0;a<this.hooks.length;a+=1){if(this.hooks[a].is_active()){b+=1}}return b};PosterOven.MySocialHook=function(){this.extnet="";this.params={}};PosterOven.MySocialHook.INACTIVE="";PosterOven.MySocialHook.prototype.is_active=function(){return this.extnet!=PosterOven.MySocialHook.INACTIVE};PosterOven.MyParamsSerializer=function(){};PosterOven.MyParamsSerializer.VERSION=1;PosterOven.MyParamsSerializer.prototype.to_params=function(c){var e={};function b(f,g){if(g===null){g=""}e[f]=g}function d(g,f){$.each(f,function(h,i){b(g+h,i)
})}b("pomy_version",""+PosterOven.MyParamsSerializer.VERSION);b("template_product_slug",c.template.product.slug);b("template_template_slug",c.template.template.slug);b("design_user_image",c.design.user_image);b("design_base_color",c.design.base_color);b("design_backgrounds",c.design.backgrounds.join(","));d("design_text_color_",c.design.text_colors);b("design_customize_text_colors",c.design.customize_text_colors?"1":"0");d("text_",c.text.fields);(function a(){var f=0;$.each(c.social.hooks,function(g,h){if(!h.is_active()){return
}b("social"+f,h.extnet);d("social"+f+"_",h.params);f+=1});b("social_count",""+f)})();return e};PosterOven.MyParamsDeserializer=function(){};PosterOven.MyParamsDeserializer.prototype.get_product_slug=function(a){return a.template_product_slug};PosterOven.MyParamsDeserializer.prototype.get_template_slug=function(a){return a.template_template_slug};PosterOven.MyParamsDeserializer.prototype.get_pomy_version=function(a){return parseInt(a.pomy_version)};PosterOven.MyParamsDeserializer.prototype.from_params=function(b,k){function f(m){return b[m]
}function d(n){var m=b[n];if(m===""){m=null}return m}function c(m){return parseInt(f(m))||0}function g(m){var n=f(m);if(n==""){return[]}return n.split(",")}function l(m){var n=[];var o=m.length;$.each(b,function(q,p){if(q.indexOf(m)==0){n.push(q.substr(o))}});return n}function e(m){var o={};var n=l(m);$.each(n,function(p,q){o[q]=f(m+q)});return o}function j(){k.template.product.slug=f("template_product_slug");k.template.template.slug=f("template_template_slug")}function i(){k.design.base_color=f("design_base_color");
k.design.user_image=d("design_user_image");k.design.backgrounds=g("design_backgrounds");k.design.customize_text_colors=(f("design_customize_text_colors")=="1");k.design.text_colors=e("design_text_color_");k.design.customize_social_colors=(f("design_customize_social_colors")=="1");k.design.social_colors=e("design_social_color_")}function h(){k.text.fields=e("text_")}function a(){count=c("social_count");for(var m=0;m<k.social.hooks.length;m+=1){var n=k.social.hooks[m];if(m<count){n.extnet=f("social"+m);n.params=e("social"+m+"_")
}else{n.extnet=PosterOven.MySocialHook.INACTIVE}}}h();i();a()};PosterOven.Preview=function(b,a){this.je_root=null;this.config=a;this.options={pixels_per_pt:0.5};this.my=b;this.preview_text_fields={};this.preview_social_hooks=[]};PosterOven.Preview.prototype.create_preview=function(a){this._create_dom(a);this._build_preview()};PosterOven.Preview.prototype.destroy_preview=function(){this._remove_dom()};PosterOven.Preview.prototype.base_color_updated=function(a){this.je_root.find(".layer.base").css("background-color",this.my.design.base_color)
};PosterOven.Preview.prototype.text_color_updated=function(a){this.text_fields_updated()};PosterOven.Preview.prototype.text_fields_updated=function(){var a=this;function b(c,d){a._update_text_field(d.slug)}$.each(this.my.template.product.fields,b)};PosterOven.Preview.prototype.text_field_updated=function(b){var a=this;function c(d,e){if(e.slug==b){a._update_text_field(e.slug)}}$.each(this.my.template.product.fields,c)};PosterOven.Preview.prototype.social_hooks_updated=function(){var a=this;$.each(a.preview_social_hooks,function(b,c){c.refresh_contents()
})};PosterOven.Preview.prototype.show_overlay_image=function(a){var b=$('<img alt="" />');b.attr("src",a);this.je_root.find(".layer.overlays").append(b);return b};PosterOven.Preview.prototype._create_dom=function(a){this.je_root=$('<div class="ps_preview"></div>');this.je_root.append($('<div class="layer base"></div>'));this.je_root.append($('<div class="layer backgrounds"></div>'));this.je_root.append($('<div class="layer user_image"></div>'));this.je_root.append($('<div class="layer social"></div>'));this.je_root.append($('<div class="layer text"></div>'));
this.je_root.append($('<div class="layer overlays"></div>'));this._reset_size();this.base_color_updated(this.my);a.append(this.je_root)};PosterOven.Preview.prototype._remove_dom=function(){this.je_root.remove()};PosterOven.Preview.prototype._build_preview=function(){this._add_backgrounds();this._add_user_image();this._add_text();this._add_social()};PosterOven.Preview.prototype._reset_size=function(){this.je_root.css("width",this._pt_to_px(this.my.template.product.get_size_pts()[0])+"px");this.je_root.css("height",this._pt_to_px(this.my.template.product.get_size_pts()[1])+"px")
};PosterOven.Preview.prototype._add_backgrounds=function(){var a=this;var b=a.je_root.find(".layer.backgrounds");function c(d,e){var g=$('<img alt="" />');var f=a.config.media_url+"images/products/"+a.my.template.product.slug+"/bg/"+e+".png";g.attr("src",f);b.append(g)}$.each(this.my.design.backgrounds,c)};PosterOven.Preview.prototype._add_user_image=function(){var d=this.my.design.user_image;if(!d){return}var b=this.my.template.product.user_image.render;var c=new PosterOven.Drawing.Box(PosterOven.Utils.size_str_to_pt(b.position[0]),PosterOven.Utils.size_str_to_pt(b.position[1]),PosterOven.Utils.size_str_to_pt(b.size[0]),PosterOven.Utils.size_str_to_pt(b.size[1]));
var a=this.je_root.find(".layer.user_image");PosterOven.Drawing.render_image(a,d,c,this.options.pixels_per_pt,b.debug)};PosterOven.Preview.prototype._add_text=function(){var a=this;var b=a.je_root.find(".layer.text");function c(d,e){if(a.my.template.template){if(a.my.template.template.get_field_override_by_slug(e.slug)===null){return}}var f=new PosterOven.PreviewTextField(a,e);a.preview_text_fields[e.slug]=f;f.create_in_layer(b)}$.each(this.my.template.product.fields,c)};PosterOven.Preview.prototype._add_social=function(){var a=this;
var b=a.je_root.find(".layer.social");a.preview_social_hooks=[];var d=0;function c(e,g){if(!g.is_active()){return}var f=new PosterOven.PreviewSocialHook(a,g,d);a.preview_social_hooks.push(f);f.create_in_layer(b);d+=1}$.each(this.my.social.hooks,c)};PosterOven.Preview.prototype._update_text_field=function(a){if(!this.preview_text_fields[a]){return}this.preview_text_fields[a].refresh()};PosterOven.Preview.prototype._pt_to_px=function(a){return a*this.options.pixels_per_pt};PosterOven.Preview.prototype._size_str_to_px=function(a){return this._pt_to_px(PosterOven.Utils.size_str_to_pt(a))
};PosterOven.PreviewTextField=function(b,a){this.preview=b;this.field=a;this._je_layer=null;this._je_textobj=null};PosterOven.PreviewTextField.prototype.create_in_layer=function(a){this.je_layer=a;this.refresh()};PosterOven.PreviewTextField.prototype.refresh=function(){if(this._je_textobj){this._je_textobj.remove()}var f=this.preview.my;var a=f.template.template?f.template.template.get_field_override_by_slug(this.field.slug):null;var c=a?$.extend(true,{},this.field.render,a):this.field.render;var d=new PosterOven.Drawing.Box();
d.x=PosterOven.Utils.size_str_to_pt(c.position[0]);d.y=PosterOven.Utils.size_str_to_pt(c.position[1]);d.width=PosterOven.Utils.size_str_to_pt(c.size[0]);d.height=PosterOven.Utils.size_str_to_pt(c.size[1]);var b=new PosterOven.Drawing.TextObj();b.text=f.text.fields[this.field.slug];b.color=f.design.customize_text_colors?f.design.text_colors[this.field.slug]:c.color;b.align=c.align;b.valign=c.valign;b.font_family=c.font["family"];b.font_weight=c.font["weight"];b.font_size=c.font["size"];b.line_height=c.line_height;
if(c.shadow){b.shadow=true;b.shadow_offset_x=PosterOven.Utils.size_str_to_pt(c.shadow["offset"][0]);b.shadow_offset_y=PosterOven.Utils.size_str_to_pt(c.shadow["offset"][1]);b.shadow_color=c.shadow["color"]}var e=PosterOven.Drawing.render_textobj(this.je_layer,b,d,this.preview.options.pixels_per_pt,c.debug);this._je_textobj=e};PosterOven.PreviewSocialHook=function(d,b,a){this.preview=d;this.social=null;this.hook=b;this.idx=a;this.total=this.preview.my.social.active_hook_cnt();this.je_wrap=null;this.je_hook=null;
var c=this.preview.my.template.product.social_placement;this.size_slug=c.by_total[this.total][this.idx][2];this.width=c.size[this.size_slug][0];this.height=c.size[this.size_slug][1]};PosterOven.PreviewSocialHook.prototype.create_in_layer=function(a){this._create_dom();a.append(this.je_wrap);this.refresh()};PosterOven.PreviewSocialHook.prototype.refresh=function(){this.social=this.preview.config.socials.get_social_by_extnet(this.hook.extnet);this._update_position();this._update_contents()};PosterOven.PreviewSocialHook.prototype.refresh_contents=function(){this._update_contents()
};PosterOven.PreviewSocialHook.prototype._create_dom=function(){this.je_hook=$('<div class="hook"></div>');this.je_hook.append($('<div class="back"></div>'));this.je_hook.append($('<div class="contents"></div>'));this.je_wrap=$('<div class="hook_wrap"></div>');this.je_wrap.append(this.je_hook)};PosterOven.PreviewSocialHook.prototype._update_position=function(){var b=this.idx;var c=this.preview.my.social.active_hook_cnt();var d=this.preview.my.template.product.social_placement;var a=d.x[d.by_total[c][b][0]];var e=d.y[d.by_total[c][b][1]];
this.je_wrap.css("left",this._size_str_to_px(a)+"px");this.je_wrap.css("top",this._size_str_to_px(e)+"px")};PosterOven.PreviewSocialHook.prototype._update_contents=function(){var b=this;var a=this.je_hook.find("> .contents");a.empty();var c=this.ExtnetRenderers[this.hook.extnet];if(!c){c=this.ExtnetRenderers._default}c(this)};PosterOven.PreviewSocialHook.prototype._box=function(a){var b=new PosterOven.Drawing.Box(0,0,PosterOven.Utils.size_str_to_pt(this.width),PosterOven.Utils.size_str_to_pt(a));return b};PosterOven.PreviewSocialHook.prototype._add_text=function(f,e){var a=this.je_hook.find("> .contents");
var c=this._get_social_render(f);var d=new PosterOven.Drawing.Box(PosterOven.Utils.size_str_to_pt(c.position[0]),PosterOven.Utils.size_str_to_pt(c.position[1]),PosterOven.Utils.size_str_to_pt(c.size[0]),PosterOven.Utils.size_str_to_pt(c.size[1]));var b=new PosterOven.Drawing.TextObj();b.text=e;b.font_family=c.font["family"];b.font_size=c.font["size"];b.font_weight=c.font["weight"];b.font_style="normal";b.align=c.align?c.align:"center";b.single_line=true;b.color=c.color;PosterOven.Drawing.render_textobj(a,b,d,this.preview.options.pixels_per_pt,c.debug)
};PosterOven.PreviewSocialHook.prototype._add_qrcode=function(d){var a=this.je_hook.find("> .contents");var c=this._box("1.35i").marginx("1.0i").offsety("2.0i");var b=this.preview.config.media_url+"images/etc/qr_placeholder.png";PosterOven.Drawing.render_image(a,b,c,this.preview.options.pixels_per_pt,this.social.renderspec.debug)};PosterOven.PreviewSocialHook.prototype._add_backimg=function(){var b=this.je_hook.find("> .back");var c=this._box(this.height);var a=this.preview.config.media_url+"images/socials/"+this.preview.my.template.product.social_style+"/"+this.social.extnet+".png";
PosterOven.Drawing.render_image(b,a,c,this.preview.options.pixels_per_pt,this.social.renderspec.debug)};PosterOven.PreviewSocialHook.prototype.ExtnetRenderers={_default:function(a){a._add_backimg();a._add_text("address",PosterOven.Utils.prettify_url(a.hook.params.page_url))},twitter:function(a){a._add_backimg();a._add_text("address","@"+a.hook.params.username)},sms:function(a){a._add_backimg();a._add_text("keyword",a.hook.params.keyword.toUpperCase());a._add_text("shortcode",a.hook.params.shortcode)}};PosterOven.PreviewSocialHook.prototype._get_social_render=function(b){var a;
a=this.preview.my.template.product.social_render[this.size_slug][b];if(a!==undefined){return a}PosterOven.Utils.log_warn("_get_social_render found no "+b);return null};PosterOven.PreviewSocialHook.prototype._pt_to_px=function(a){return a*this.preview.options.pixels_per_pt};PosterOven.PreviewSocialHook.prototype._size_str_to_px=function(a){return this._pt_to_px(PosterOven.Utils.size_str_to_pt(a))};PosterOven.Product=function(){this.ready=false;this.slug="_uninitialized_product_";this.name="?";this.description="?";
this.size=["0i","0i"];this.fields=[];this.user_image={};this.assets={};this.default_template_slug="_";this.templates=[];this.default_hooks=[];this.social_render={};this.social_style="";this.social_placement={};this.text_samples=[]};PosterOven.Product.prototype.load=function(b,c){var a=this;$.get(b,function(d){a._parse(d);a.ready=true;c(true)})};PosterOven.Product.prototype._parse=function(a){this.slug=a.product["product_slug"];this.name=a.product["name"];this.description=a.product["description"];this.size=a.product["size"];
this._parse_fields(a);this._parse_user_image(a);this._parse_social(a);this._parse_assets(a);this._parse_templates(a);this._parse_text_samples(a)};PosterOven.Product.prototype._parse_fields=function(b){var a=this;$.each(b.product["fields"],function(c,d){var e=new PosterOven.Field();e.parse(d);a.fields.push(e)})};PosterOven.Product.prototype._parse_user_image=function(b){var a=this;this.user_image=b.product["user_image"]};PosterOven.Product.prototype._parse_social=function(b){var a=this;a.default_hooks=[];$.each(b.product["social"]["default_hooks"],function(c,e){var d=new PosterOven.MySocialHook();
d.extnet=e.extnet;d.params=$.extend({},e.params);a.default_hooks.push(d)});a.social_render=b.product["social"]["render"];a.social_style=b.product["social"]["style"];a.social_placement=b.product["social"]["placement"]};PosterOven.Product.prototype._parse_assets=function(b){var a=this;$.each(b.product["assets"],function(d,c){a.assets[d]=[];$.each(c,function(e,f){var g=new PosterOven.Asset();g.parse(f);a.assets[d].push(g)})})};PosterOven.Product.prototype._parse_templates=function(b){var a=this;this.default_template_slug=b.product["default_template_slug"];
$.each(b.product["templates"],function(c,e){var d=new PosterOven.Template();d.parse(e);a.templates.push(d)})};PosterOven.Product.prototype._parse_text_samples=function(b){var a=this;$.each(b.product["text_samples"],function(c,e){var d=new PosterOven.TextSample();d.parse(e);a.text_samples.push(d)})};PosterOven.Product.prototype.get_size=function(){return this.size};PosterOven.Product.prototype.get_size_pts=function(){var a=this.get_size();return[PosterOven.Utils.size_str_to_pt(a[0]),PosterOven.Utils.size_str_to_pt(a[1])]
};PosterOven.Product.prototype.get_field_slugs=function(){var c=[];for(var b=0,a=this.fields.length;b<a;b++){c.push(this.fields[b].slug)}return c};PosterOven.Product.prototype.get_field_by_slug=function(c){for(var b=0,a=this.fields.length;b<a;b++){var d=this.fields[b];if(d.slug==c){return d}}return null};PosterOven.Product.prototype.get_template_by_slug=function(d){for(var b=0,a=this.templates.length;b<a;b++){var c=this.templates[b];if(c.slug==d){return c}}return null};PosterOven.Product.prototype.get_default_template=function(){return this.get_template_by_slug(this.default_template_slug)
};PosterOven.Product.prototype.each_asset_of_type=function(b,a){$.each(this.assets[b],a)};PosterOven.Product.prototype.get_asset=function(c,b){var a=null;this.each_asset_of_type(c,function(d,e){if(e.slug==b){a=e}});return a};PosterOven.Product.prototype.get_text_sample_by_name=function(c){for(var d=0,a=this.text_samples.length;d<a;d++){var b=this.text_samples[d];if(b.name==c){return b}}return null};PosterOven.Asset=function(){this.slug="_uninitialized_asset_";this.name="?";this.category="";this.attrib="";this.flags=[]
};PosterOven.Asset.prototype.parse=function(a){this.slug=a.asset_slug;this.name=a.name;this.category=a.category;this.attrib=a.attrib;if(a.flags!==undefined){this.flags=a.flags}};PosterOven.Asset.prototype.has_flag=function(b){for(var c=0,a=this.flags.length;c<a;c+=1){if(this.flags[c]==b){return true}}return false};PosterOven.Template=function(){this.slug="_uninitialized_template_";this.name="?";this.category="";this.description="?";this.base_color=null;this.assets={};this.field_overrides={};this.social_render={}
};PosterOven.Template.prototype.parse=function(a){this.slug=a.template_slug;this.name=a.name;this.category=a.category;this.description=a.description;if(a.base_color){this.base_color=a.base_color}this.assets=a.assets;this._parse_field_overrides(a);this._parse_social_render_overrides(a)};PosterOven.Template.prototype._parse_field_overrides=function(a){this.field_overrides=a.fields};PosterOven.Template.prototype._parse_social_render_overrides=function(a){var b=a.social;if(b){this.social_render=b}};PosterOven.Template.prototype.get_field_override_by_slug=function(b){var a=this.field_overrides[b];
if(a===undefined){a=null}return a};PosterOven.Field=function(){this.slug="_uninitialized_field_";this.name="?";this.description="";this.default_value="---";this.type="";this.render={}};PosterOven.Field.prototype.parse=function(a){this.slug=a.field_slug;this.name=a.name;this.description=a.description;this.default_value=a["default"];this.type=a.type;this.name=a.name;this.render=a.render};PosterOven.TextSample=function(){this.name="?";this.targets=[];this.fields={}};PosterOven.TextSample.prototype.parse=function(a){this.name=a.name;
this.targets=a.targets;this.fields=a.fields};PosterOven.Socials=function(){this.socials=[];this.loaded=false};PosterOven.Socials.prototype.load=function(b,c){var a=this;$.get(b,function(d){a._parse(d);c(true)})};PosterOven.Socials.prototype._parse=function(a){this._parse_socials(a);this.loaded=true};PosterOven.Socials.prototype._parse_socials=function(b){var a=this;$.each(b.socials,function(c,e){var d=new PosterOven.Social();d.parse(e);a.socials.push(d)})};PosterOven.Socials.prototype.get_social_by_extnet=function(c){for(var b=0,a=this.socials.length;
b<a;b++){var d=this.socials[b];if(d.extnet==c){return d}}return null};PosterOven.Social=function(){this.name="";this.extnet="";this.action="";this.action_span="";this.renderspec={}};PosterOven.Social.prototype.parse=function(a){this.name=a.name;this.extnet=a.extnet;this.action=a.action;this.action_scan=a.action_scan;this.renderspec=a.render};PosterOven.Utils={};PosterOven.Utils.window_scroll_top=function(a){$("html, body").animate({scrollTop:0},a)};PosterOven.Utils.flash_background=function(a,c,g){var e=a.css("background-color");
function h(){a.attr("style","")}function f(i){var j={duration:200};if(i){j.complete=i}a.animate({backgroundColor:c},50);a.animate({backgroundColor:e},j)}a.stop();for(var d=0;d<g;d+=1){var b=(d==(g-1))?h:undefined;f(b)}};PosterOven.Utils.is_browser_ios=function(){return navigator.userAgent.match(/like Mac OS X/i)!=null};PosterOven.Utils.size_str_to_pt=function(d){var a=d.length;var b=d.substr(a-1,1);if(b==="i"){var c=parseFloat(d.substr(0,a-1));return c*72}PosterOven.Utils.log_warn("Invalid size_str '"+d+"' in size_str_to_pt.");
return null};PosterOven.Utils.resize_image_to_fit=function(f,h,c,i,b){var d=i,j=b;var a=d/j;var e=0,g=1;if((d>h)||((d<h)&&(j<c))){e=h/d;g*=e;d=h;j=j*e}if(j>c){e=c/j;g*=e;j=c;d=d*e}f.width(d);f.height(j);return g};PosterOven.Utils.decode_params=function(e){var i={};var b=e.split("&");for(var a=0,f=b.length;a<f;a++){var d=b[a];var g=d.split("=");if(g.length==2){var h=decodeURIComponent(g[0]),c=decodeURIComponent(g[1]);i[h]=c}}return i};PosterOven.Utils.decode_hash_params=function(){var a=window.location.hash;if(a===""){return{}
}a=a.substr(1);return PosterOven.Utils.decode_params(a)};PosterOven.Utils.encode_params=function(f){var c="";for(var b in f){var a=encodeURIComponent(b),e=encodeURIComponent(f[b]);var d=a+"="+e;c=c+"&"+d}return c};PosterOven.Utils.add_hash_params=function(d){var b=PosterOven.Utils.decode_hash_params();var a=b;for(var c in d){a[c]=d[c]}window.location.hash="#"+PosterOven.Utils.encode_params(a)};PosterOven.Utils.nl2br=function(a){return a.replace(/\n/g,"<br />")};PosterOven.Utils.pad_empty_lines=function(a){return a.replace(/\n(\n|$)/g,"\n&nbsp;$1")
};PosterOven.Utils.space2nbsp=function(a){return a.replace(/ /g,"&nbsp;")};PosterOven.Utils.html_escape=function(a){return a.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/&/g,"&amp;")};PosterOven.Utils.startswith=function(c,b){var a=b.length;var d=c.substr(0,a);if(d!=b){return false}return true};PosterOven.Utils.startswith_tail=function(c,b){var a=b.length;var d=c.substr(0,a);if(d!=b){return false}return c.substr(a)};PosterOven.Utils.find_tail_in_list=function(b,e){for(var c=0,a=b.length;c<a;c+=1){var d=b[c];
var f=PosterOven.Utils.startswith_tail(d,e);if(f!==false){return f}}return false};PosterOven.Utils.find_tail_in_classes=function(b,c){var a=b.attr("class").split(" ");return PosterOven.Utils.find_tail_in_list(a,c)};PosterOven.Utils.replace_prefix=function(c,d,b){var a=PosterOven.Utils.startswith_tail(c,d);if(a!==false){c=b+a}return c};PosterOven.Utils.parse_url=function(b){var e=/^(?:(http[s]?)(?::\/\/))?([^\/:]*)(?::(\d+))?(\/[^?]*)?(?:\?([^#]*))?(?:#(.*))?$/;match=b.match(e);var c=match[2];var a=undefined;
if(c!==undefined){var d=c.match(/^(?:www\.)(.*)$/);if(d){a=d[1]}}return{protocol:match[1],host:c,host_short:a,port:match[3],path:match[4],query:match[5],hash:match[6]}};PosterOven.Utils.prettify_url=function(a){var b=[["http://",""],["https://",""],["www.",""],["twitter.com/#!/","twitter.com/"]];$.each(b,function(c,d){a=PosterOven.Utils.replace_prefix(a,d[0],d[1])});return a};PosterOven.Utils.fix_url=function(a){url_lower=a.toLowerCase();if(!(PosterOven.Utils.startswith(url_lower,"https://")||PosterOven.Utils.startswith(url_lower,"https://"))){a="http://"+a
}return a};PosterOven.Utils.normalize_color_6hex=function(b){var a=b;if(b[0]=="#"){b=b.substr(1)}if(b.length==4){b=b.substr(0,3)}if(b.length==3){b=b[0]+b[0]+b[1]+b[1]+b[2]+b[2]}if(b.length==8){b=b.substr(0,6)}if(b.length!=6){PosterOven.Utils.log_warn("Invalid color_str '"+b+"' in normalize_color_6hex.");return null}return b};PosterOven.Utils.normalize_color_8hex=function(b){var a=b;if(b[0]=="#"){b=b.substr(1)}if(b.length==3){b=b+"f"}if(b.length==4){b=b[0]+b[0]+b[1]+b[1]+b[2]+b[2]+b[3]+b[3]}if(b.length==6){b=b+"ff"
}if(b.length!=8){PosterOven.Utils.log_warn("Invalid color_str '"+b+"' in normalize_color_8hex.");return null}return b};PosterOven.Utils.opacity_from_color_8hex=function(b){if(b.length!=8){PosterOven.Utils.log_warn("Invalid color_str '"+b+"' in opacity_from_color_8hex.");return null}var a=b.substr(6,2);return parseInt(a,16)/255};PosterOven.Utils.calc_color_luminance=function(f){if(f.length!=6){PosterOven.Utils.log_warn("Invalid color_str '"+f+"' in calc_color_lightness.");return null}var d=parseInt(f.substr(0,2),16),c=parseInt(f.substr(2,2),16),a=parseInt(f.substr(4,2),16);
var e=(d/255*0.299)+(c/255*0.587)+(a/255*0.114);return e};PosterOven.Utils.random_color_6hex=function(){return("000000"+Math.floor(Math.random()*(2<<(24-1))).toString(16)).substr(-6)};PosterOven.Utils.keys=Object.keys||function(c){if(c!==Object(c)){PosterOven.Utils.log_warn("PosterOven.Utils.keys called on non-object:",c);return[]}var a=[];for(var b in c){if(c.hasOwnProperty(b)){a.push(b)}}return a};PosterOven.Utils.arrays_equal=function(e,d){var b=e.length,a=d.length;if(b!=a){return false}for(var c=0;c<b;c+=1){if(e[c]!=d[c]){return false
}}return true};PosterOven.Utils.do_after_fb_loaded=function(c,b,d,a){if(a===undefined){a=0}if((window.fbAsyncInitDone)||(a>=b)){c()}else{setTimeout(function(){PosterOven.Utils.do_after_fb_loaded(c,b,d,a+1)},d)}};PosterOven.Utils.log_warn=function(a,b){if(console){if(b!==undefined){console.warn(a,b)}else{console.warn(a)}}};PosterOven.Utils.log_error=function(a,b){if(console){if(b!==undefined){console.error(a,b)}else{console.error(a)}}};PosterOven.Utils.getrandbits=function(a){return Math.floor(Math.random()*(2<<(a-1)))
};
