$(document).ready(function(){initialize_cookies()});function initialize_cookies(){var a=60*24*7*4;$.Jookie.Initialise("preview_state",a)}function Document(f,c){this.set_color=function(g){var h="#"+colors[g]["bg_color"];var e="#"+colors[g]["txt_color"];var i="#"+colors[g]["link_color"];b(h);d(e);a(i)};var b=function(e){$(".bg_color").css("background-color",e)};var d=function(e){$(".txt_color").css("color",e)};var a=function(e){$(".txt_color a").css("color",e)};this.set_link_color_on_load=function(){var e=$.Jookie.Get("preview_state","color_code")||"C0";var g="#"+colors[e]["link_color"];a(g)};this.set_link_color_on_load()}$(document).ready(function(){$("body").behavior(Document)});function Dropdown(d,b){var f=$(d).attr("id");var c=$(d).find(".button");var a=$(d).find(".panel");this.toggle=function(){$(d).toggleClass("on");if(a.width()<c.width()){a.width(c.width()-2)}a.css("bottom",(c.height()-1)+"px").toggle()};$(d).find(".button").bind("click",this.toggle)}$(document).ready(function(){$(".dropdown").behavior(Dropdown)});function Faces(d,b){var a=this;var c=$("#family_preview");this.set_face=function(){var i=$(d).find("input.face:checked");var f=$(this).attr("family_id");var g=$(this).attr("id");var h=$(this).is(":checked");var e=$.makeArray(_.map(i,function(j){return $(this).attr("id")}));(e.length>0)?$.Jookie.Set("preview_state","family_"+f,e):$.Jookie.Unset("preview_state","family_"+f);$(d).behavior("set_indicator",[g,h]);c.behavior("refresh")};this.set_indicator=function(g,h){var e=$(d).find(".panel label[for="+g+"]");var f=$(d).find(".button #face_"+g);if(h){e.addClass("selected");f.addClass("selected")}else{e.removeClass("selected");f.removeClass("selected")}};$(d).find("input.face").bind("click",this.set_face)}$(document).ready(function(){$(".dropdown#faces").behavior(Faces)});function FamilyPreview(e,config){var self=this;var effect_id=0;var effect_delay=30*1000;var face_id=0;var element_w=32;var element_h=32;var padding=20;this.load=function(url,family_id){var area_width=$(e).innerWidth()-preview.horizontal_padding;var area_height=$(e).innerHeight()-preview.vertical_padding;$.ajax({type:"GET",url:url,data:"area_width="+area_width+"&area_height="+area_height+"&family_id="+family_id,success:function(reponse){eval(reponse)}})};this.refresh=function(){this.reload();this.remove_images()};this.reload=function(){$(e).find("a#refresh_preview").click()};this.init_effect=function(_id,_delay,_face_id){effect_id=_id;effect_delay=_delay*1000;face_id=_face_id;$(document).click(function(){$("#family_preview").behavior("kill_all_effects");$("#family_preview").behavior("start_effect")});this.start_effect()};this.start_effect=function(){$(e).oneTime(effect_delay,"effect",function(){$("#family_preview").behavior("loop_effect")})};this.loop_effect=function(){var random_delay=Math.round(Math.random()*effect_delay*0.75+effect_delay*0.25);$(e).oneTime(random_delay,"effect",function(){$("#family_preview").behavior("render_effect_"+effect_id).behavior("loop_effect")})};this.kill_all_effects=function(){$(e).find(".effect_element").remove();$(e).stopTime()};var x_in_bounds=function(x){x=Math.min($(e).width()-padding-element_w,x);x=Math.max(padding,x);return x};var y_in_bounds=function(y){y=Math.min($(e).height()-padding-element_h,y);y=Math.max(padding,y);return y};this.render_effect_1=function(){var x=Math.round(Math.random()*$(e).width());var y=Math.round(Math.random()*$(e).height());x=x_in_bounds(x);y=y_in_bounds(y);$(e).append(effect_1_element(x,y))};var effect_1_element=function(x,y){var bg_offset=-Math.round(Math.random()*19)*32;return"<div 	class	='effect_element'		id		='birds'		style	='left: "+x+"px; top: "+y+"px; background-position: 0px "+bg_offset+"px;'></div>"};this.render_effect_2=function(){var random_word_with_M=$(e).find("img[src*=faces/"+face_id+"][alt*=M]").random();var w=random_word_with_M.outerWidth(true);var h=random_word_with_M.outerHeight(true);var txt=random_word_with_M.attr("alt");var char_width=w/(txt+" ").length;var margin=Math.abs(parseInt(random_word_with_M.css("margin-left").replace("px","")));var indexes_of_M=new Array();for(var i=0;i<txt.length;i++){if(txt.charAt(i)=="M"){indexes_of_M.push(i)}}var index_of_M=indexes_of_M[Math.round(Math.random(indexes_of_M.length-1))];var x=random_word_with_M.offset().left+margin+index_of_M*char_width+Math.round(Math.random()*(char_width+32));var y=random_word_with_M.offset().top+margin+Math.round(Math.random()*(h-margin+32));if(x>0&&y>0){$(e).append(effect_2_element(x,y))}};var effect_2_element=function(x,y){var bg_offset=-Math.round(Math.random())*32;return"<div 	class	='effect_element'		id		='mickey'		style	='left: "+x+"px; top: "+y+"px; background-position: 0px "+bg_offset+"px;'></div>"};this.render_effect_3=function(){var x=Math.round(Math.random()*$(e).width()*0.5);var y=Math.round(Math.random()*$(e).height()*0.15+$(e).height()*0.8);x=x_in_bounds(x);y=y_in_bounds(y);$(".effect_element").length>0?$(".effect_element").toggle().css("left",x).css("top",y):$(e).append(effect_3_element(x,y))};var effect_3_element=function(x,y){return"<div 	class	='effect_element'		id		='cat'		style	='left: "+x+"px; top: "+y+"px;'></div>"};this.render_effect_4=function(){var x1=Math.round(Math.random()*$(e).width());var y1=Math.round(Math.random()*$(e).height());x1=x_in_bounds(x1);y1=y_in_bounds(y1);var x2=Math.round(Math.random()*$(e).width());var y2=Math.round(Math.random()*$(e).height());x2=x_in_bounds(x2);y2=y_in_bounds(y2);if($(".effect_element").length>0){$(".effect_element:first").toggle().css("left",x1).css("top",y1);$(".effect_element:last").toggle().css("left",x2).css("top",y2)}else{$(e).append(effect_4_element(x1,y1,true));$(e).append(effect_4_element(x2,y2,false))}};var effect_4_element=function(x,y,dog){var bg_offset=0;if(dog){bg_offset=-32}return"<div 	class	='effect_element'		id		='snoopy'		style	='left: "+x+"px; top: "+y+"px; background-position: 0px "+bg_offset+"px;'></div>"};this.render_effect_5=function(){var x1=Math.round(Math.random()*$(e).width());var y1=Math.round(Math.random()*$(e).height());x1=x_in_bounds(x1);y1=y_in_bounds(y1);var x2=Math.round(Math.random()*$(e).width());var y2=Math.round(Math.random()*$(e).height());x2=x_in_bounds(x2);y2=y_in_bounds(y2);if($(".effect_element").length>0){$(".effect_element:first").toggle().css("left",x1).css("top",y1);$(".effect_element:last").toggle().css("left",x2).css("top",y2)}else{$(e).append(effect_5_element(x1,y1,true));$(e).append(effect_5_element(x2,y2,false))}};var effect_5_element=function(x,y,bunny){var bg_offset=0;if(bunny){bg_offset=-32}return"<div 	class	='effect_element'		id		='bunny'		style	='left: "+x+"px; top: "+y+"px; background-position: 0px "+bg_offset+"px;'></div>"};this.render_effect_6=function(){var coords=new Array();var width=$(e).width();var height=$(e).height();for(var i=0;i<4;i++){var x=Math.round(Math.random()*width);var y=Math.round(Math.random()*height);x=x_in_bounds(x);y=y_in_bounds(y);coords.push({x:x,y:y})}if($(".effect_element").length>0){var effect_elements=$(".effect_element");for(var i=0;i<effect_elements.length;i++){$(effect_elements[i]).toggle().css("left",coords[i].x).css("top",coords[i].y)}}else{for(var i in coords){$(e).append(effect_6_element(coords[i].x,coords[i].y,i))}}};var effect_6_element=function(x,y,i){var bg_offset=0;var rand=Math.round(Math.random());switch(i.toString()){case"1":bg_offset=-32*1+rand;break;case"2":bg_offset=-32*3+rand;break;case"3":bg_offset=-32*5;break}return"<div 	class	='effect_element'		id		='peanuts'		style	='left: "+x+"px; top: "+y+"px; background-position: 0px "+bg_offset+"px;'></div>"};this.show_images_on_load=function(){$(e).find("img").load(function(){$(this).show()})};this.remove_images=function(){$(e).find("img").remove()};this.remove_focus_borders=function(){$(e).find("a").focus(function(){$(this).blur()})}}$(document).ready(function(){$("#family_preview").behavior(FamilyPreview)});function Icon(e,config){var self=this;$(e).draggable();$(e).bind("dragstop",function(event,ui){var id=$(this).attr("id").split("_")[1];var xpos=$(this).position().left;var ypos=$(this).position().top;$.ajax({type:"PUT",url:"/"+config.type+"/"+id+"/save_pos",data:"xpos="+xpos+"&ypos="+ypos,success:function(reponse){eval(reponse)}})})}$(document).ready(function(){$("#icons li.project.draggable").behavior(Icon,{type:"work"});$("#icons li.family.draggable").behavior(Icon,{type:"fonts"});$("#icons li.specimen.draggable").behavior(Icon,{type:"specimens"})});function Options(h,c){var b=this;var f=$("#family_preview");this.set_text_case=function(){var j=$(this).attr("id");var e=$("input.text_case:checked");var i=$.makeArray(_.map(e,function(k){return $(this).attr("id")}));(i.length>0)?$.Jookie.Set("preview_state","text_case",i):$.Jookie.Unset("preview_state","text_case");d(j);f.behavior("refresh")};var d=function(e){$(h).find(".panel li."+e).toggleClass("selected");$(h).find(".button li."+e).toggleClass("selected")};this.set_waterfall=function(){var e=$(this).is(":checked");$.Jookie.Set("preview_state","waterfall",e);g();f.behavior("refresh")};var g=function(){$(h).find(".panel li.waterfall").toggleClass("selected");$(h).find(".button li.waterfall").toggleClass("selected")};this.set_color=function(){var i=$(this).attr("id");var e=colors[i]["txt_color"];var j=$(".txt_color").css("color");if(j.indexOf("rgb")!=-1){j=rgb_to_hex(j)}$.Jookie.Set("preview_state","color_code",i);a(i);$("body").behavior("set_color",[i]);if(e!=j){f.behavior("refresh")}};var a=function(e){var i=colors[e]["bg_color"];if(e=="C0"){i="f5f5f5"}$(h).find(".button li.color_swatch").css("background-color","#"+i)};this.enable_color_change=function(){$(h).find("li.color_code").removeClass("disabled");$(h).find("li.color_code").bind("click",this.set_color)};this.disable_color_change=function(){$(h).find("li.color_code").unbind("click",this.set_color);$(h).find("li.color_code").addClass("disabled")};$(h).find("input.text_case").bind("click",this.set_text_case);$(h).find("input.waterfall").bind("click",this.set_waterfall);$(h).find("li.color_code").bind("click",this.set_color)}$(document).ready(function(){$(".dropdown#options").behavior(Options)});function ProjectPreview(f,c){var b=this;var g=function(){$(f).find("img").draggable({cursor:"move"})};this.set_draggable_options=function(){var i=$(f).find("img");var h=$(f).innerWidth();var m=$(f).innerHeight();var j=i.width();var e=i.height();var l=h-j;var k=m-e;if(l>0){l=0}if(k>0){k=0}i.css("top",0);i.css("left",0);if(l<0||k<0){i.css("cursor","move");i.draggable("enable");i.draggable("option","containment",[l,k,0,0])}else{i.draggable("disable");i.css("cursor","default")}};this.load_image=function(k,i){var h=$(f).find("img");var j=k.split("x")[0];var e=k.split("x")[1];if(h.attr("src")!=i){h.attr("width",j).attr("height",e).attr("src",i);this.set_draggable_options();d()}};var d=function(){$(f).find("img").after("<div id='loading_message'>Loading&hellip;</div>")};var a=function(){$(f).find("img").bind("load",function(){$(f).find("#loading_message").remove()})};g();this.set_draggable_options();a()}$(document).ready(function(){$("#project_preview").behavior(ProjectPreview)});$(window).resize(function(){$("#project_preview").behavior("set_draggable_options")});function Tester(k,h){var o=this;var g=600;var i=false;var l=$("#family_preview");var n=$(k).find("input#tester");var c=n.val();var a=$(k).find(".panel");var j=$(k).find(".button");this.toggle=function(){var p="";var q="C0";var e=n.attr("family_id");if(i){p=n.attr("feed_entry_url");q=$.Jookie.Get("preview_state","color_code")||"C0";$(".dropdown#options").behavior("enable_color_change")}else{p=n.attr("tester_url");q="tester";$(".dropdown#options").behavior("disable_color_change")}l.behavior("load",[p,e]).behavior("remove_images");$("body").behavior("set_color",[q]);i=!i};var m=function(){n.stopTime("tester");if(c!=n.val()){n.oneTime(g,"tester",d)}};var d=function(){var e=n.val();c=e;$.Jookie.Set("preview_state","tester_value",encodeURIComponent(e));l.behavior("refresh")};var b=function(){n.bind("keyup",m)};var f=function(){n.unbind("keyup").stopTime("tester")};n.bind("focus",b).bind("blur",f);$(k).find(".button").bind("click",this.toggle)}$(document).ready(function(){$(".dropdown#tester").behavior(Tester)});function ZoomLevels(d,b){var a=this;this.set_zoom_level=function(){var g=$(this).attr("id");var f=$(this).attr("dimensions");var e=$(this).attr("url");$("#project_preview").behavior("load_image",[f,e]);c(g)};var c=function(e){$(d).find(".button.selected").removeClass("selected");$(d).find(".button#"+e).addClass("selected")};$(d).find(".button").bind("click",this.set_zoom_level)}$(document).ready(function(){$("#zoom_levels").behavior(ZoomLevels)});$(document).ready(function(){remove_focus_borders()});function remove_focus_borders(){$("a").bind("focus",function(){$(this).blur()})}function Icon(e,config){var self=this;$(e).draggable();$(e).bind("dragstop",function(event,ui){var id=$(this).attr("id").split("_")[1];var xpos=$(this).position().left;var ypos=$(this).position().top;$.ajax({type:"PUT",url:"/"+config.type+"/"+id+"/save_pos",data:"xpos="+xpos+"&ypos="+ypos,success:function(reponse){eval(reponse)}})})}$(document).ready(function(){$("#icons li.project.draggable").behavior(Icon,{type:"work"});$("#icons li.family.draggable").behavior(Icon,{type:"fonts"});$("#icons li.specimen.draggable").behavior(Icon,{type:"specimens"})});function rgb_to_hex(a){var c=a.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);delete (c[0]);for(var b=1;b<=3;++b){c[b]=parseInt(c[b]).toString(16);if(c[b].length==1){c[b]="0"+c[b]}}return c.join("")};