(function($){function getRGB(color){var result;if(color&&color.constructor==Array&&color.length==3)
return color;if(result=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
return[parseInt(result[1],10),parseInt(result[2],10),parseInt(result[3],10)];if(result=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
return[parseFloat(result[1])*2.55,parseFloat(result[2])*2.55,parseFloat(result[3])*2.55];if(result=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
return[parseInt(result[1],16),parseInt(result[2],16),parseInt(result[3],16)];if(result=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
return[parseInt(result[1]+result[1],16),parseInt(result[2]+result[2],16),parseInt(result[3]+result[3],16)];if(result=/rgba\(0, 0, 0, 0\)/.exec(color))
return colors['transparent'];return colors[$.trim(color).toLowerCase()];}
function getColor(elem,attr){var color;do{color=$.curCSS(elem,attr);if(color!=''&&color!='transparent'||$.nodeName(elem,"body"))
break;attr="backgroundColor";}while(elem=elem.parentNode);return getRGB(color);};$.fx.step['backgroundTansparency']=function(fx){if(fx.state==0){if($(fx.elem).css('backgroundColor')=='transparent'){fx.start=0;}else{fx.highlightColor=getColor(fx.elem,'backgroundColor');fx.start=1;}
if(fx.end=='transparent'){fx.end=0;}else{fx.highlightColor=getRGB(fx.end);fx.end=1;}}
fx.elem.style['backgroundColor']="rgba("+[fx.highlightColor[0],fx.highlightColor[1],fx.highlightColor[2],fx.now].join(",")+")";};$.effects.transparentHighlight=function(o){return this.queue(function(){var el=$(this),props=['backgroundImage','backgroundColor','opacity'];var mode=$.effects.setMode(el,o.options.mode||'show');var color=o.options.color||"#ffff99";var oldColor=el.css("backgroundColor");$.effects.save(el,props);el.show();el.css({backgroundImage:'none',backgroundColor:color});var animation={backgroundTansparency:'transparent'};if(mode=="hide")animation['opacity']=0;el.animate(animation,{queue:false,duration:o.duration,easing:o.options.easing,complete:function(){if(mode=="hide")el.hide();$.effects.restore(el,props);if(mode=="show"&&$.browser.msie)this.style.removeAttribute('filter');if(o.callback)o.callback.apply(this,arguments);el.dequeue();}});});};})(jQuery);(function($){$.ajaxSettings.accepts._default="text/javascript, text/html, application/xml, text/xml, */*"})(jQuery);(function($){$.fn.reset=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};$.fn.enable=function(){return this.each(function(){this.disabled=false})};$.fn.disable=function(){return this.each(function(){this.disabled=true})}})(jQuery);(function($){$.extend({fieldEvent:function(el,obs){var field=el[0]||el,e="change";if(field.type=="radio"||field.type=="checkbox"){e="click"}else{if(obs&&(field.type=="text"||field.type=="textarea"||field.type=="password")){e="keyup"}}return e}});$.fn.extend({delayedObserver:function(delay,callback){var el=$(this);if(typeof window.delayedObserverStack=="undefined"){window.delayedObserverStack=[]}if(typeof window.delayedObserverCallback=="undefined"){window.delayedObserverCallback=function(stackPos){var observed=window.delayedObserverStack[stackPos];if(observed.timer){clearTimeout(observed.timer)}observed.timer=setTimeout(function(){observed.timer=null;observed.callback(observed.obj,observed.obj.formVal())},observed.delay*1000);observed.oldVal=observed.obj.formVal()}}window.delayedObserverStack.push({obj:el,timer:null,delay:delay,oldVal:el.formVal(),callback:callback});var stackPos=window.delayedObserverStack.length-1;if(el[0].tagName=="FORM"){$(":input",el).each(function(){var field=$(this);field.bind($.fieldEvent(field,delay),function(){var observed=window.delayedObserverStack[stackPos];if(observed.obj.formVal()==observed.oldVal){return}else{window.delayedObserverCallback(stackPos)}})})}else{el.bind($.fieldEvent(el,delay),function(){var observed=window.delayedObserverStack[stackPos];if(observed.obj.formVal()==observed.oldVal){return}else{window.delayedObserverCallback(stackPos)}})}},formVal:function(){var el=this[0];if(el.tagName=="FORM"){return this.serialize()}if(el.type=="checkbox"||el.type=="radio"){return this.filter("input:checked").val()||""}else{return this.val()}}})})(jQuery);(function($){$.fn.extend({visualEffect:function(o,options){if(options){speed=options.duration*1000}else{speed=null}e=o.replace(/\_(.)/g,function(m,l){return l.toUpperCase()});return eval("$(this)."+e+"("+speed+")")},appear:function(speed,callback){return this.fadeIn(speed,callback)},blindDown:function(speed,callback){return this.show("blind",{direction:"vertical"},speed,callback)},blindUp:function(speed,callback){return this.hide("blind",{direction:"vertical"},speed,callback)},blindRight:function(speed,callback){return this.show("blind",{direction:"horizontal"},speed,callback)},blindLeft:function(speed,callback){this.hide("blind",{direction:"horizontal"},speed,callback);return this},dropOut:function(speed,callback){return this.hide("drop",{direction:"down"},speed,callback)},dropIn:function(speed,callback){return this.show("drop",{direction:"up"},speed,callback)},fade:function(speed,callback){return this.fadeOut(speed,callback)},fadeToggle:function(speed,callback){return this.animate({opacity:"toggle"},speed,callback)},fold:function(speed,callback){return this.hide("fold",{},speed,callback)},foldOut:function(speed,callback){return this.show("fold",{},speed,callback)},grow:function(speed,callback){return this.show("scale",{},speed,callback)},highlight:function(speed,callback){return this.show("highlight",{},speed,callback)},puff:function(speed,callback){return this.hide("puff",{},speed,callback)},pulsate:function(speed,callback){return this.show("pulsate",{},speed,callback)},shake:function(speed,callback){return this.show("shake",{},speed,callback)},shrink:function(speed,callback){return this.hide("scale",{},speed,callback)},squish:function(speed,callback){return this.hide("scale",{origin:["top","left"]},speed,callback)},slideUp:function(speed,callback){return this.hide("slide",{direction:"up"},speed,callback)},slideDown:function(speed,callback){return this.show("slide",{direction:"up"},speed,callback)},switchOff:function(speed,callback){return this.hide("clip",{},speed,callback)},switchOn:function(speed,callback){return this.show("clip",{},speed,callback)}})})(jQuery);(function($){$.extend($.fn,{livequery:function(type,fn,fn2){var self=this,q;if($.isFunction(type))
fn2=fn,fn=type,type=undefined;$.each($.livequery.queries,function(i,query){if(self.selector==query.selector&&self.context==query.context&&type==query.type&&(!fn||fn.$lqguid==query.fn.$lqguid)&&(!fn2||fn2.$lqguid==query.fn2.$lqguid))
return(q=query)&&false;});q=q||new $.livequery(this.selector,this.context,type,fn,fn2);q.stopped=false;q.run();return this;},expire:function(type,fn,fn2){var self=this;if($.isFunction(type))
fn2=fn,fn=type,type=undefined;$.each($.livequery.queries,function(i,query){if(self.selector==query.selector&&self.context==query.context&&(!type||type==query.type)&&(!fn||fn.$lqguid==query.fn.$lqguid)&&(!fn2||fn2.$lqguid==query.fn2.$lqguid)&&!this.stopped)
$.livequery.stop(query.id);});return this;}});$.livequery=function(selector,context,type,fn,fn2){this.selector=selector;this.context=context;this.type=type;this.fn=fn;this.fn2=fn2;this.elements=[];this.stopped=false;this.id=$.livequery.queries.push(this)-1;fn.$lqguid=fn.$lqguid||$.livequery.guid++;if(fn2)fn2.$lqguid=fn2.$lqguid||$.livequery.guid++;return this;};$.livequery.prototype={stop:function(){var query=this;if(this.type)
this.elements.unbind(this.type,this.fn);else if(this.fn2)
this.elements.each(function(i,el){query.fn2.apply(el);});this.elements=[];this.stopped=true;},run:function(){if(this.stopped)return;var query=this;var oEls=this.elements,els=$(this.selector,this.context),nEls=els.not(oEls);this.elements=els;if(this.type){nEls.bind(this.type,this.fn);if(oEls.length>0)
$.each(oEls,function(i,el){if($.inArray(el,els)<0)
$.event.remove(el,query.type,query.fn);});}
else{nEls.each(function(){query.fn.apply(this);});if(this.fn2&&oEls.length>0)
$.each(oEls,function(i,el){if($.inArray(el,els)<0)
query.fn2.apply(el);});}}};$.extend($.livequery,{guid:0,queries:[],queue:[],running:false,timeout:null,checkQueue:function(){if($.livequery.running&&$.livequery.queue.length){var length=$.livequery.queue.length;while(length--)
$.livequery.queries[$.livequery.queue.shift()].run();}},pause:function(){$.livequery.running=false;},play:function(){$.livequery.running=true;$.livequery.run();},registerPlugin:function(){$.each(arguments,function(i,n){if(!$.fn[n])return;var old=$.fn[n];$.fn[n]=function(){var r=old.apply(this,arguments);$.livequery.run();return r;}});},run:function(id){if(id!=undefined){if($.inArray(id,$.livequery.queue)<0)
$.livequery.queue.push(id);}
else
$.each($.livequery.queries,function(id){if($.inArray(id,$.livequery.queue)<0)
$.livequery.queue.push(id);});if($.livequery.timeout)clearTimeout($.livequery.timeout);$.livequery.timeout=setTimeout($.livequery.checkQueue,20);},stop:function(id){if(id!=undefined)
$.livequery.queries[id].stop();else
$.each($.livequery.queries,function(id){$.livequery.queries[id].stop();});}});$.livequery.registerPlugin('append','prepend','after','before','wrap','attr','removeAttr','addClass','removeClass','toggleClass','empty','remove');$(function(){$.livequery.play();});})(jQuery);(function($){var addMethods=function(source){var ancestor=this.superclass&&this.superclass.prototype;var properties=$.keys(source);if(!$.keys({toString:true}).length)properties.push("toString","valueOf");for(var i=0,length=properties.length;i<length;i++){var property=properties[i],value=source[property];if(ancestor&&$.isFunction(value)&&$.argumentNames(value)[0]=="$super"){var method=value,value=$.extend($.wrap((function(m){return function(){return ancestor[m].apply(this,arguments);};})(property),method),{valueOf:function(){return method;},toString:function(){return method.toString();}});}
this.prototype[property]=value;}
return this;};$.extend({keys:function(obj){var keys=[];for(var key in obj)keys.push(key);return keys;},argumentNames:function(func){var names=func.toString().match(/^[\s\(]*function[^(]*\((.*?)\)/)[1].split(/, ?/);return names.length==1&&!names[0]?[]:names;},bind:function(func,scope){return function(){return func.apply(scope,$.makeArray(arguments));};},wrap:function(func,wrapper){var __method=func;return function(){return wrapper.apply(this,[$.bind(__method,this)].concat($.makeArray(arguments)));};},klass:function(){var parent=null,properties=$.makeArray(arguments);if($.isFunction(properties[0]))parent=properties.shift();var klass=function(){this.initialize.apply(this,arguments);};klass.superclass=parent;klass.subclasses=[];klass.addMethods=addMethods;if(parent){var subclass=function(){};subclass.prototype=parent.prototype;klass.prototype=new subclass;parent.subclasses.push(klass);}
for(var i=0;i<properties.length;i++)
klass.addMethods(properties[i]);if(!klass.prototype.initialize)
klass.prototype.initialize=function(){};klass.prototype.constructor=klass;return klass;},delegate:function(rules){return function(e){var target=$(e.target),parent=null;for(var selector in rules){if(target.is(selector)||((parent=target.parents(selector))&&parent.length>0)){return rules[selector].apply(this,[parent||target].concat($.makeArray(arguments)));}
parent=null;}};}});var bindEvents=function(instance){for(var member in instance){if(member.match(/^on(.+)/)&&typeof instance[member]=='function'){instance.element.bind(RegExp.$1,$.bind(instance[member],instance));}}};var behaviorWrapper=function(behavior){return $.klass(behavior,{initialize:function($super,element,args){this.element=$(element);if($super)$super.apply(this,args);}});};var attachBehavior=function(el,behavior,args){var wrapper=behaviorWrapper(behavior);instance=new wrapper(el,args);bindEvents(instance);if(!behavior.instances)behavior.instances=[];behavior.instances.push(instance);return instance;};$.fn.extend({attach:function(){var args=$.makeArray(arguments),behavior=args.shift();if($.livequery&&this.selector){return this.livequery(function(){attachBehavior(this,behavior,args);});}else{return this.each(function(){attachBehavior(this,behavior,args);});}},attachAndReturn:function(){var args=$.makeArray(arguments),behavior=args.shift();return $.map(this,function(el){return attachBehavior(el,behavior,args);});},delegate:function(type,rules){return this.bind(type,$.delegate(rules));},attached:function(behavior){var instances=[];if(!behavior.instances)return instances;this.each(function(i,element){$.each(behavior.instances,function(i,instance){if(instance.element.get(0)==element)instances.push(instance);});});return instances;},firstAttached:function(behavior){return this.attached(behavior)[0];}});Remote=$.klass({initialize:function(options){if(this.element.attr('nodeName')=='FORM')this.element.attach(Remote.Form,options);else this.element.attach(Remote.Link,options);}});Remote.Base=$.klass({initialize:function(options){this.options=$.extend(true,{},options||{});this._bindCallbacks();},_makeRequest:function(options){$.ajax(options);return false;},_bindCallbacks:function(){var callbacks=['beforeSend','complete','error','success'];for(var i=0,length=callbacks.length;i<length;i++){if(typeof this.options[callbacks[i]]=='function')
this.options[callbacks[i]]=$.bind(this.options[callbacks[i]],this);}}});Remote.Link=$.klass(Remote.Base,{onclick:function(){var options=$.extend({url:this.element.attr('href'),type:'GET'},this.options);return this._makeRequest(options);}});Remote.Form=$.klass(Remote.Base,{onclick:function(e){var target=e.target;if($.inArray(target.nodeName.toLowerCase(),['input','button'])>=0&&target.type.match(/submit|image/))
this._submitButton=target;},onsubmit:function(){var data=this.element.serializeArray();if(this._submitButton)data.push({name:this._submitButton.name,value:this._submitButton.value});var options=$.extend(true,{url:this.element.attr('action'),type:this.element.attr('method')||'GET',data:data},this.options);this._makeRequest(options);return false;}});})(jQuery);(function($){$.template=function(html,options){return new $.template.instance(html,options);};$.template.instance=function(html,options){if(options&&options['regx'])options.regx=this.regx[options.regx];this.options=$.extend({compile:false,regx:this.regx.standard},options||{});this.html=html;if(this.options.compile){this.compile();}
this.isTemplate=true;};$.template.regx=$.template.instance.prototype.regx={jsp:/\$\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,ext:/\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g,jtemplates:/\{\{([\w-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}\}/g};$.template.regx.standard=$.template.regx.jsp;$.template.helpers=$.template.instance.prototype.helpers={substr:function(value,start,length){return String(value).substr(start,length);}};$.extend($.template.instance.prototype,{apply:function(values){if(this.options.compile){return this.compiled(values);}else{var tpl=this;var fm=this.helpers;var fn=function(m,name,format,args){if(format){if(format.substr(0,5)=="this."){return tpl.call(format.substr(5),values[name],values);}else{if(args){var re=/^\s*['"](.*)["']\s*$/;args=args.split(',');for(var i=0,len=args.length;i<len;i++){args[i]=args[i].replace(re,"$1");}
args=[values[name]].concat(args);}else{args=[values[name]];}
return fm[format].apply(fm,args);}}else{return values[name]!==undefined?values[name]:"";}};return this.html.replace(this.options.regx,fn);}},compile:function(){var sep=$.browser.mozilla?"+":",";var fm=this.helpers;var fn=function(m,name,format,args){if(format){args=args?','+args:"";if(format.substr(0,5)!="this."){format="fm."+format+'(';}else{format='this.call("'+format.substr(5)+'", ';args=", values";}}else{args='';format="(values['"+name+"'] == undefined ? '' : ";}
return"'"+sep+format+"values['"+name+"']"+args+")"+sep+"'";};var body;if($.browser.mozilla){body="this.compiled = function(values){ return '"+
this.html.replace(/\\/g,'\\\\').replace(/(\r\n|\n)/g,'\\n').replace(/'/g,"\\'").replace(this.options.regx,fn)+"';};";}else{body=["this.compiled = function(values){ return ['"];body.push(this.html.replace(/\\/g,'\\\\').replace(/(\r\n|\n)/g,'\\n').replace(/'/g,"\\'").replace(this.options.regx,fn));body.push("'].join('');};");body=body.join('');}
eval(body);return this;}});var $_old={domManip:$.fn.domManip,text:$.fn.text,html:$.fn.html};$.fn.domManip=function(args,table,reverse,callback){if(args[0].isTemplate){args[0]=args[0].apply(args[1]);delete args[1];}
var r=$_old.domManip.apply(this,arguments);return r;};$.fn.html=function(value,o){if(value&&value.isTemplate)var value=value.apply(o);var r=$_old.html.apply(this,[value]);return r;};$.fn.text=function(value,o){if(value&&value.isTemplate)var value=value.apply(o);var r=$_old.text.apply(this,[value]);return r;};})(jQuery);jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};(function($){$.postJSON=function(url,data,callback){$.post(url+'.json',data,callback,"json");};$.railsGetJSON=function(url,callback){$.get(url+'.json',null,callback,"json");};$.fn.margin=function(side){return this[0]&&parseInt(jQuery.curCSS(this[0],('margin'+side),true),10)||0;};$.overlap=function(e1,e2){var el1=$(e1),el2=$(e2);var e1x1=(el1.position().left-el1.margin('Left')),e1x2=(el1.position().left+el1.outerHeight()+el1.margin('Right')),e1y1=(el1.position().top-el1.margin('Top')),e1y2=(el1.position().top+el1.outerHeight()+el1.margin('Bottom'));var e2top=(el2.position().top-el2.margin('Top')),e2left=(el2.position().left-el2.margin('Left')),e2width=el2.outerWidth(true),e2height=el2.outerHeight(true);return($.ui.isOver(e1y1,e1x1,e2top,e2left,e2height,e2width)||$.ui.isOver(e1y1,e1x2,e2top,e2left,e2height,e2width)||$.ui.isOver(e1y2,e1x1,e2top,e2left,e2height,e2width)||$.ui.isOver(e1y2,e1x2,e2top,e2left,e2height,e2width));};$.allData=function(elem){var uid=$.data(elem);return $.cache[uid];};$.wait=function(time){return setTimeout(function(){return true;},time);};})(jQuery);(function($){$.fn.form_prompt=form_prompt;function form_prompt(text,options){var prompt_text='';options=options||{};if($.isFunction(text)){prompt_text=text.call(this);}else{prompt_text=text;}
var className=options.className||'form-prompt-text';var wrapperClassName=options.wrapperClassName||'form-prompt-wrapper';return this.each(function(){var input=$(this);var wrapper=$('<div style="position:relative;overflow:hidden;display:inline-block;" />');if($.browser.safari){input.attr('placeholder',prompt_text);return;}
var priorClasses=wrapper.attr('class');input.wrap(wrapper.addClass(wrapperClassName));wrapper.attr('class',priorClasses);if(input.val()==''){input.after("<div class='"+className+"'>"+prompt_text+"</div>");}else{input.after("<div class='"+className+"'></div>");}
var wrapper=input.parent('.'+wrapperClassName);var prompt=wrapper.find('.'+className);prompt.css("position","absolute");prompt.css("top","0");prompt.css("left","0");prompt.css("z-index","1000");var selectInput=function(){input.focus();prompt.hide();};input.click(selectInput);input.keyup(selectInput);prompt.click(selectInput);input.blur(function(){if(input.val()==''){prompt.show();}});});};})(jQuery);(function($){$.fn.quickpaginate=function(settings){settings=jQuery.extend({perpage:10,pager:null,showcounter:true,prev_class:"qp_next",next_class:"qp_prev",prev_text:'Prev',next_text:'Next',pagenumber:"qp_pagenumber",totalnumber:"qp_totalnumber",counter:"qp_counter"},settings);var cm;var total;var last=false;var first=true;var items=jQuery(this);var nextbut;var prevbut;var init=function(){items.show();total=items.size();if(items.size()>settings.perpage){items.filter(":gt("+(settings.perpage-1)+")").hide();cm=settings.perpage;setNav();}
$(document).trigger('init_finished.quickpaginate');};var goNext=function(){if(!last){var nm=cm+settings.perpage;items.hide();items.slice(cm,nm).show();cm=nm;if(cm>=total){last=true;nextbut.addClass("qp_disabled");}
if(settings.showcounter)settings.pager.find("."+settings.pagenumber).text(cm/settings.perpage);prevbut.removeClass("qp_disabled");first=false;$(document).trigger('paginate.quickpaginate',['next',(cm/settings.perpage)]);}};var goPrev=function(){if(!first){var nm=cm-settings.perpage;items.hide();items.slice((nm-settings.perpage),nm).show();cm=nm;if(cm==settings.perpage){first=true;prevbut.addClass("qp_disabled");}
if(settings.showcounter)settings.pager.find("."+settings.pagenumber).text(cm/settings.perpage);nextbut.removeClass("qp_disabled");last=false;$(document).trigger('paginate.quickpaginate',['prev',(cm/settings.perpage)]);}};var setNav=function(){if(settings.pager===null){settings.pager=jQuery('<div class="qc_pager"></div>');items.eq(items.size()-1).after(settings.pager);}
var pagerNav=$('<div class="'+settings.prev_class+'"><a href="#">'+settings.prev_text+'</a></div><div class="'+settings.next_class+'"><a href="#">'+settings.next_text+'</a></div>');jQuery(settings.pager).append(pagerNav);if(settings.showcounter){var counter='<span class="'+settings.counter+'"><span class="'+settings.pagenumber+'"></span> / <span class="'+settings.totalnumber+'"></span></span>';settings.pager.find("."+settings.prev_class).after(counter);settings.pager.find("."+settings.pagenumber).text(1);settings.pager.find("."+settings.totalnumber).text(Math.ceil(total/settings.perpage));}
nextbut=settings.pager.find("."+settings.next_class+' a');prevbut=settings.pager.find("."+settings.prev_class+' a');prevbut.addClass("qp_disabled");nextbut.click(function(){goNext();return false;});prevbut.click(function(){goPrev();return false;});};init();};})(jQuery);(function($){$.facebox=function(data,klass){$.facebox.loading();if(data.ajax){fillFaceboxFromAjax(data.ajax,klass);}
else if(data.image){fillFaceboxFromImage(data.image,klass);}
else if(data.div){fillFaceboxFromHref(data.div,klass);}
else if($.isFunction(data)){data.call($);}
else{$.facebox.reveal(data,klass);}};$.extend($.facebox,{settings:{opacity:0.6,overlay:true,loadingImage:'/images/facebox/loading.gif',closeImage:'/images/facebox/closelabel.gif',imageTypes:['png','jpg','jpeg','gif'],faceboxHtml:'\
    <div id="facebox" style="display:none;"> \
      <div class="popup"> \
        <table> \
          <tbody> \
            <tr> \
              <td class="tl"/><td class="b"/><td class="tr"/> \
            </tr> \
            <tr> \
              <td class="b"/> \
              <td class="body"> \
                <div class="content"> \
                </div> \
                <div class="footer"> \
                  <a href="#" class="close"> \
                    <img src="/images/facebox/closelabel.gif" title="close" class="close_image" /> \
                  </a> \
                </div> \
              </td> \
              <td class="b"/> \
            </tr> \
            <tr> \
              <td class="bl"/><td class="b"/><td class="br"/> \
            </tr> \
          </tbody> \
        </table> \
      </div> \
    </div>'},loading:function(){init();if($('#facebox .loading').length==1){return true;}
showOverlay();$('#facebox .content').empty();$('#facebox .body').children().hide().end().append('<div class="loading"><img src="'+$.facebox.settings.loadingImage+'"/></div>');$('#facebox').css({top:getPageScroll()[1]+(getPageHeight()/10),left:$(window).width()/2-205,width:410}).show();$(document).bind('keydown.facebox',function(e){if(e.keyCode==27){$.facebox.close();}
return true;});$(document).trigger('loading.facebox');},reveal:function(data,klass){$(document).trigger('beforeReveal.facebox');if(klass){$('#facebox .content').addClass(klass);}
$('#facebox .content').append(data);$('#facebox .loading').remove();$('#facebox .body').children().fadeIn('normal');$.facebox.centralize();$(document).trigger('reveal.facebox').trigger('afterReveal.facebox');},centralize:function(){$('#facebox').css({left:$(window).width()/2-($('#facebox table').width()/2),width:'auto'});},close:function(){$(document).trigger('close.facebox');return false;}});$.fn.facebox=function(settings){if($(this).length==0)return;init(settings);function clickHandler(){$.facebox.loading(true);var klass=this.rel.match(/facebox\[?\.(\w+)\]?/);if(klass){klass=klass[1];}
fillFaceboxFromHref(this.href,klass);return false;}
return this.bind('click.facebox',clickHandler);};function init(settings){if($.facebox.settings.inited){return true;}
else{$.facebox.settings.inited=true;}
$(document).trigger('init.facebox');makeCompatible();var imageTypes=$.facebox.settings.imageTypes.join('|');$.facebox.settings.imageTypesRegexp=new RegExp('\.('+imageTypes+')$','i');if(settings){$.extend($.facebox.settings,settings);}
$('body').append($.facebox.settings.faceboxHtml);var preload=[new Image(),new Image()];preload[0].src=$.facebox.settings.closeImage;preload[1].src=$.facebox.settings.loadingImage;$('#facebox').find('.b:first, .bl, .br, .tl, .tr').each(function(){preload.push(new Image());preload.slice(-1).src=$(this).css('background-image').replace(/url\((.+)\)/,'$1');});$('#facebox .close').click($.facebox.close);$('#facebox .close_image').attr('src',$.facebox.settings.closeImage);}
function getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
return new Array(xScroll,yScroll);}
function getPageHeight(){var windowHeight;if(self.innerHeight){windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}else if(document.body){windowHeight=document.body.clientHeight;}
return windowHeight;}
function makeCompatible(){var $s=$.facebox.settings;$s.loadingImage=$s.loading_image||$s.loadingImage;$s.closeImage=$s.close_image||$s.closeImage;$s.imageTypes=$s.image_types||$s.imageTypes;$s.faceboxHtml=$s.facebox_html||$s.faceboxHtml;}
function fillFaceboxFromHref(href,klass){if(href.match(/#/)){var url=window.location.href.split('#')[0];var target=href.replace(url,'');if(target=='#')return;$.facebox.reveal($(target).html(),klass);}else if(href.match($.facebox.settings.imageTypesRegexp)){fillFaceboxFromImage(href,klass);}else{fillFaceboxFromAjax(href,klass);}}
function fillFaceboxFromImage(href,klass){var image=new Image();image.onload=function(){$.facebox.reveal('<div class="image"><img src="'+image.src+'" /></div>',klass);};image.src=href;}
function fillFaceboxFromAjax(href,klass){$.get(href,function(data){$.facebox.reveal(data,klass);});}
function skipOverlay(){return $.facebox.settings.overlay==false||$.facebox.settings.opacity===null;}
function showOverlay(){if(skipOverlay())return;if($('#facebox_overlay').length==0)
$("body").append('<div id="facebox_overlay" class="facebox_hide"></div>');$('#facebox_overlay').hide().addClass("facebox_overlayBG").css('opacity',$.facebox.settings.opacity).click(function(){$(document).trigger('close.facebox');}).fadeIn(200);return false;}
function hideOverlay(){if(skipOverlay())return;$('#facebox_overlay').fadeOut(200,function(){$("#facebox_overlay").removeClass("facebox_overlayBG");$("#facebox_overlay").addClass("facebox_hide");$("#facebox_overlay").remove();});return false;}
$(document).bind('close.facebox',function(){$(document).unbind('keydown.facebox');$('#facebox').fadeOut(function(){$('#facebox .content').removeClass().addClass('content');hideOverlay();$('#facebox .loading').remove();});});})(jQuery);(function($){$.customFormElements=function(options){$.customFormElements.settings=$.extend(true,{},$.customFormElements.defaults);if(options){$.extend(true,$.customFormElements.settings,options);}
$('head').append('<style type="text/css">input.styled { display: none; } select.styled { position: relative; width: '+$.customFormElements.selectWidth+'px; opacity: 0; filter: alpha(opacity=0); z-index: 5; }</style>');$('input:checkbox.styled, input:radio.styled').livequery(function(){var $elm=$(this);var span=$('<span />');span.addClass(this.type);if(this.checked==true){position="0px -"+($.customFormElements.settings.heights[this.type]*2)+"px";span.css('background-position',position);}
$elm.data('styledElement',span);span.data('inputSource',$elm);$elm.before(span);span.mousedown($.customFormElements.pushed);if(this.type=='checkbox'){span.click($.customFormElements.clickCheckbox);}else if(this.type=='radio'){span.click($.customFormElements.clickRadio);}}).livequery('change',$.customFormElements.clear);$('select.styled').livequery(function(){var $elm=$(this);var active_value=$elm.find('option:selected').text();var span=$('<span />');span.addClass('select');apn.text(active_value);$elm.data('styledElement',span);span.data('inputSource',$elm);$elm.before(span);$elm.change($.customFormElements.choose);});};$.extend($.customFormElements,{defaults:{heights:{checkbox:12,radio:12},selectWidth:169},pushed:function(){var $elm=$(this);var input=$elm.data('inputSource');if(input.is(':checked')){var position="0px -"+($.customFormElements.settings.heights[input.attr('type')]*3)+"px";$elm.css('background-position',position);}else{var position="0px -"+$.customFormElements.settings.heights[input.attr('type')]+"px";$elm.css('background-position',position);}},clickCheckbox:function(){var $elm=$(this);var input=$elm.data('inputSource');if(input.is(':checked')){$elm.css('background-position','0px 0px');input.get(0).checked=false;input.change();}else{var position="0px -"+($.customFormElements.settings.heights.checkbox*2)+"px";$elm.css('background-position',position);input.get(0).checked=true;input.change();}},clickRadio:function(){var $elm=$(this);var input=$elm.data('inputSource');$('input:radio[name='+input.attr('name')+']').css('background-position','0px 0px');var position="0px -"+($.customFormElements.settings.heights.radio*2)+"px";$elm.css('background-position',position);input.get(0).checked=true;input.change();},clear:function(){$('input:checkbox.styled, input:radio.styled').each(function(){var $elm=$(this);if($elm.data('styledElement')){if(this.checked==true){var position="0px -"+($.customFormElements.settings.heights[this.type]*2)+"px";$elm.data('styledElement').css('background-position',position);}else{$elm.data('styledElement').css('background-position',"0px 0px");}}});},choose:function(){var $elm=$(this);if($elm.data('styledElement')){$elm.data('styledElement').text($elm.find('option:selected').text());}}});})(jQuery);$.connectasketch={};$(document).ready(function(){$.connectasketch.resuedElements={canvas_container:$('#canvas-container'),zoom_canvas:$('#zoom-canvas'),canvas:$('#canvas'),feedback_panel:$('#feedback-panel'),project_well:$('#project-elements-well'),sidebar_nav:$('#sidebar-nav'),sidebar_title:$('#sidebar-title'),sidebar_panel_form:$('#side-panel-form-wrapper'),status_bar:$('#status-bar'),node_info_panel:$('#node-info-panel'),connection_info_panel:$('#connection-info-panel'),side_form_errors:$('#side-panel-form-errors')};$('form.delete-form').submit(function(){return confirm("Are you sure you want to delete this?");});$('form.delete-project-form').submit(function(){return confirm("Are you sure you want to delete this project?");});$('form.delete-sketch-form').submit(function(){return confirm("Are you sure you want to delete this sketch?");});if($('#sketch-gallery').length>0){$('#slider').slider('option','orientation','vertical').slider('value',100);}
$("#sketches #slider").slider().bind('slide',function(event,ui){var val=($('#sketch-gallery').height()-$('#sketch-container').height())*(Math.abs(ui.value-100)/100);document.getElementById('sketch-container').scrollTop=val;});var $show_borders=$("input#show_borders");if(($show_borders.length>0)&&$.fn.borderToggler){$show_borders.borderToggler();}
var $home_nav=$('#home-nav');if(($home_nav.find('#home-nav-items').length>0)&&($home_nav.find('.home-nav-form').length>0)){if($.fn.homeNavSwitcher){$('#home-nav-items a').homeNavSwitcher();}
$home_nav_form=$home_nav.find('.home-nav-form');$home_nav_form.find('input#user_session_username').form_prompt('Username');$home_nav_form.find('input#user_session_password').form_prompt('Password');$home_nav_form.find('input#user_username').form_prompt('Desired Username');$home_nav_form.find('input#user_password').form_prompt('Password');$home_nav_form.find('input#user_password_confirmation').form_prompt('Confirm Password');}
if($.fn.feedbackOnToggler){$('input:radio[name="comment[commentable_type]"]').feedbackOnToggler();}
$('a[rel*=facebox]').facebox();$.customFormElements();$('form.delete_comment').attach(Remote.Form,{success:function(json){create_or_insert_flash('notice',"The feedback has been removed");$.facebox.close();},dataType:'json'});$('form#new_comment').attach(Remote.Form,{success:function(html){if($.trim(html).match(/^\s*$/)){$.facebox('<div class="flash notice">Your feedback has been delivered.</div>');}else{$.facebox(html);}},dataType:'html'});$('form#new_share_message').attach(Remote.Form,{success:function(html){$.facebox(html);},dataType:'html'});$('#feedback-form').livequery(function(){$(this).tabs();});});function create_or_insert_flash(type,content){var selector='#wrapper-flash .'+type;if($(selector).size()>0){$(selector).html(content);}else{var flash='<div class="'+type+' flash">'+content+'</div>';$('#wrapper-flash').append(flash);}}
function create_error_html(header,errors){var html=["<h3>"+header+"</h3><ul>"];$.each(errors,function(){html.push("<li>"+this+"</li>");});html.push("</ul>");return html.join('');}
function create_facebox_flash_errors(header,errors){var html=create_error_html(header,errors);create_or_insert_flash('error',html);$.facebox({div:'#wrapper-flash .error'});}
$(document).ajaxSend(function(event,request,settings){if(settings.type=='GET'||settings.type=='get'||typeof(AUTH_TOKEN)=="undefined")return;settings.data=settings.data||"";settings.data+=(settings.data?"&":"")+"authenticity_token="+encodeURIComponent(AUTH_TOKEN);});(function($){$.pagePositionSize={canvasContainer:$('#canvas-container'),main:$('.main'),projectWell:$('#project-elements-well'),window:$(window),statusBar:$('#status-bar'),footer:$('#footer'),sidePanel:$('#project-side-panel'),blankNodeWidth:$('#blank-node').width(),dragNoteWidth:$('#drag-note').width(),uploadContainerWidth:$('#upload-sketches-container').width(),imageWell:$('#image-well'),projectSlider:$('#project-elements-well #slider'),imageWellImageContainer:$('#image-well-image-container'),sketchesSlider:$('#sketches #slider'),sketchGallery:$('#sketch-gallery'),sketchesContainer:$('#sketch-container'),zoomView:$('#zoom-view'),previewImage:$('#prototype_preview_image'),resize:function(e){var measurements=$.pagePositionSize.getMeasurements();$.pagePositionSize.canvasContainer.css('height',measurements.windowHeight+'px');$.pagePositionSize.resizeSidePanel(measurements);$.pagePositionSize.resizeImageWell(measurements);$.pagePositionSize.resizeElementsWell();$.pagePositionSize.resizeSketchesSlider(measurements);$.pagePositionSize.resizeZoom(measurements);$.pagePositionSize.resizePreview(measurements);},getMeasurements:function(){return{headerHeight:$.pagePositionSize.main.offset().top,imageWellHeight:$.pagePositionSize.projectWell.height(),windowHeight:$.pagePositionSize.window.height(),windowWidth:$.pagePositionSize.window.width(),statuBarHeight:$.pagePositionSize.statusBar.height(),footerHeight:$.pagePositionSize.footer.height()};},resizeSidePanel:function(measurements){var newHeight;if($.pagePositionSize.projectWell.css('display')=='none'){newHeight=measurements.windowHeight-measurements.headerHeight;}else{newHeight=measurements.windowHeight-measurements.headerHeight-
measurements.imageWellHeight-measurements.statuBarHeight;}
$.pagePositionSize.sidePanel.height(newHeight);},resizeImageWell:function(measurements){var newWidth=measurements.windowWidth-$.pagePositionSize.blankNodeWidth-
$.pagePositionSize.dragNoteWidth-
$.pagePositionSize.uploadContainerWidth-50;$.pagePositionSize.imageWell.width(newWidth);$.pagePositionSize.showHideImageWellSlider();},showHideImageWellSlider:function(){if($.pagePositionSize.imageWellImageContainer.width()>=$.pagePositionSize.imageWell.width()){$.pagePositionSize.projectSlider.show();}else{$.pagePositionSize.projectSlider.hide();}},resizeElementsWell:function(){var yPos=$.pagePositionSize.sidePanel.height();$.pagePositionSize.projectWell.css('top',yPos);},resizeSketchesSlider:function(measurements){$.pagePositionSize.sketchesSlider.height($.pagePositionSize.footer.offset().top-
$.pagePositionSize.sketchGallery.offset().top+10-measurements.footerHeight);$.pagePositionSize.sketchesContainer.height($.pagePositionSize.footer.offset().top-
$.pagePositionSize.sketchGallery.offset().top+15-measurements.footerHeight);if($.pagePositionSize.sketchGallery.height()<$.pagePositionSize.sketchesContainer.height()){$.pagePositionSize.sketchesSlider.hide();}},resizeZoom:function(measurements){var newHeight=measurements.windowHeight-measurements.headerHeight-
measurements.statuBarHeight-40;$.pagePositionSize.zoomView.height(newHeight);},resizePreview:function(measurements){$.pagePositionSize.previewImage.height(measurements.windowHeight-measurements.headerHeight);}};})(jQuery);$(window).load(function(){$.pagePositionSize.resize();});$(window).bind("resize",$.pagePositionSize.resize);setInterval($.pagePositionSize.resize,42);