var EmbroideryPreview=Class.create();Object.extend(EmbroideryPreview,{previews:$A([]),setBackgroundColor:function(color){if(!color)
return;this.previews.each(function(p){p.setBackgroundColor(color)});},setTrimColor:function(color){if(!color)
return;this.previews.each(function(p){p.setTrim(color)});},setBackgroundImage:function(color_id){this.previews.each(function(p){p.setBackgroundImage(color_id)})},clearTrimColor:function(){this.previews.each(function(p){p.setTrim(null)});},clearBackgroundImage:function(){this.previews.each(function(p){p.setBackgroundImage(null)});},refresh:function(){this.previews[0].refresh();}});Object.extend(EmbroideryPreview.prototype,{initialize:function(options){EmbroideryPreview.previews.push(this);this.options=Object.extend({color:'000000',background_color:'ffffff',background_image_id:null,trim:null},options||{});this.image=$(this.options.image);this.input_lines=[];$A(this.options.lines).each(function(line){var input_line=$(line);input_line.preview=this;input_line.font_id=this.options.font_id;input_line.color=this.options.color;new Form.Element.Observer(input_line,0.5,this.refresh.bind(this));this.input_lines.push(input_line);}.bind(this));this.refresh();},text:function(line){var emptyable=$(line)&&$(line).emptyable;if(emptyable&&emptyable.is_empty())
return'';return unescape(encodeURIComponent($F(line)));},refresh:function(){options={lines:$A(this.input_lines).map(function(line){return{text:this.text(line),font:EmbroideryPreview.fonts[line.font_id].base_name,color:'#'+line.color}}.bind(this)),width:190,font_size:44,background:'#'+this.options.background_color,trim:'#'+(this.options.trim||this.options.background_color),background_image_id:this.options.background_image_id};this.image.src='/embroidery_preview/'+encode64(Object.toJSON(options));},setBackgroundColor:function(hex){this.options.background_color=hex;this.refresh();},setTrim:function(hex){this.options.trim=hex;this.refresh();},setBackgroundImage:function(color_id){this.options.background_image_id=color_id;this.refresh();}});