(function(c){var b=function(e,d){return(e?e.split(d||"-")[0]:"")},a=function(e,d){return(e?e.split(d||"-").pop():"")};c.idPrefix=function(d,e){return b(d.id,e)};c.idSuffix=function(d,e){return a(d.id,e)};c.fn.extend({idPrefix:function(d){return b(this.attr("id"),d)},idSuffix:function(d){return a(this.attr("id"),d)}})})(jQuery);(function(e){var b={},k,m,o,j=e.browser.msie&&/MSIE\s(5\.5|6\.)/.test(navigator.userAgent),a=false;e.tooltip={blocked:false,defaults:{delay:200,fade:false,showURL:true,extraClass:"text-tooltip",top:15,left:15,id:"tooltip"},block:function(){e.tooltip.blocked=!e.tooltip.blocked},mouseoverEvent:function(p){var q=e.Event("mouseover");q.pageX=p.pageX;q.pageY=p.pageY;q.FAKE_MOUSEOVER=true;return q}};e.fn.extend({tooltip:function(p){p=e.extend({},e.tooltip.defaults,p);h(p);return this.each(function(){e.data(this,"tooltip",p);this.tOpacity=b.parent.css("opacity");this.tooltipText=this.title;e(this).removeAttr("title");this.alt=""}).bind("mouseover",l).bind("mouseout",f).bind("click",f)},tooltipDisable:function(p){e(document.body).unbind("mousemove.tooltip");e(p||"#"+e.tooltip.defaults.id).hide();return e(this).unbind()},fixPNG:j?function(){return this.each(function(){var p=e(this).css("backgroundImage");if(p.match(/^url\(["']?(.*\.png)["']?\)$/i)){p=RegExp.$1;e(this).css({backgroundImage:"none",filter:"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='"+p+"')"}).each(function(){var q=e(this).css("position");if(q!="absolute"&&q!="relative"){e(this).css("position","relative")}})}})}:function(){return this},unfixPNG:j?function(){return this.each(function(){e(this).css({filter:"",backgroundImage:""})})}:function(){return this},hideWhenEmpty:function(){return this.each(function(){e(this)[e(this).html()?"show":"hide"]()})},url:function(){return this.attr("href")||this.attr("src")}});function h(p){if(b.parent){return}b.parent=e('<div id="'+p.id+'"><h3></h3><div class="body"></div><div class="url"></div></div>').appendTo(document.body).hide();if(e.fn.bgiframe){b.parent.bgiframe()}b.title=e("h3",b.parent);b.body=e("div.body",b.parent);b.url=e("div.url",b.parent)}function c(p){return e.data(p,"tooltip")}function g(p){if(c(this).delay){o=setTimeout(n,c(this).delay)}else{n()}a=!!c(this).track;e(document.body).bind("mousemove.tooltip",d);d(p)}function l(){if(e.tooltip.blocked||this==k||(!this.tooltipText&&!c(this).bodyHandler)){return}k=this;m=this.tooltipText;if(c(this).bodyHandler){b.title.hide();var s=c(this).bodyHandler.call(this);if(s.nodeType||s.jquery){b.body.empty().append(s)}else{b.body.html(s)}b.body.show()}else{if(c(this).showBody){var r=m.split(c(this).showBody);b.title.html(r.shift()).show();b.body.empty();for(var q=0,p;(p=r[q]);q++){if(q>0){b.body.append("<br/>")}b.body.append(p)}b.body.hideWhenEmpty()}else{b.title.html(m).show();b.body.hide()}}if(c(this).showURL&&e(this).url()){b.url.html(e(this).url().replace("http://","")).show()}else{b.url.hide()}b.parent.addClass(c(this).extraClass);if(c(this).fixPNG){b.parent.fixPNG()}g.apply(this,arguments)}function n(){o=null;if((!j||!e.fn.bgiframe)&&c(k).fade){if(b.parent.is(":animated")){b.parent.stop().show().fadeTo(c(k).fade,k.tOpacity)}else{b.parent.is(":visible")?b.parent.fadeTo(c(k).fade,k.tOpacity):b.parent.fadeIn(c(k).fade)}}else{b.parent.show()}d()}function d(s){if(e.tooltip.blocked){return}if(s&&s.target.tagName=="OPTION"){return}if(!a&&b.parent.is(":visible")){e(document.body).unbind("mousemove.tooltip",d)}if(k==null){e(document.body).unbind("mousemove.tooltip",d);return}b.parent.removeClass("viewport-right").removeClass("viewport-bottom");var u=b.parent[0].offsetLeft;var t=b.parent[0].offsetTop;if(s){u=s.pageX+c(k).left;t=s.pageY+c(k).top;var q="auto";if(c(k).positionLeft){q=e(window).width()-u;u="auto"}b.parent.css({left:u,right:q,top:t})}var p=i(),r=b.parent[0];if(p.x+p.cx<r.offsetLeft+r.offsetWidth){u-=r.offsetWidth+20+c(k).left;b.parent.css({left:u+"px"}).addClass("viewport-right")}if(p.y+p.cy<r.offsetTop+r.offsetHeight){t-=r.offsetHeight+20+c(k).top;b.parent.css({top:t+"px"}).addClass("viewport-bottom")}}function i(){return{x:e(window).scrollLeft(),y:e(window).scrollTop(),cx:e(window).width(),cy:e(window).height()}}function f(r){if(e.tooltip.blocked){return}if(o){clearTimeout(o)}k=null;var q=c(this);function p(){b.parent.removeClass(q.extraClass).hide().css("opacity","")}if((!j||!e.fn.bgiframe)&&q.fade){if(b.parent.is(":animated")){b.parent.stop().fadeTo(q.fade,0,p)}else{b.parent.stop().fadeOut(q.fade,p)}}else{p()}if(c(this).fixPNG){b.parent.unfixPNG()}}})(jQuery);(function(g){var b="_acTypingTimeout",d="_acXhr",c="_acIgnoreKeypress",h="_acOn",f="_acOriginalObject",a="_acSawMouseMove",e=0;g.hunchac={defaults:{timeout:200,url:"/ws/ws_search/",render:function(l,i,j){var k=g("<ul/>");g.each(l,function(){var m=g('<li class="ac-element">'+this.name+"</li>");g.data(m[0],f,this);k.append(m)});i.html(k)},dropDownOnly:true,jsonListAttr:"docs",xhrFunc:null,data:{}},curInput:null,TYPING_TIMEOUT:b,XHR:d,IGNORE_KEYPRESS:c,AC_ON:h,ORIGINAL_OBJECT:f};g.fn.extend({hunchac:function(i){var i=g.extend({},g.hunchac.defaults,i),j=function(n,l){g("body").trigger("off.hunchac");var k=g(i.container),o=(i.jsonListAttr?n[i.jsonListAttr]:n),m=i.render(o,k,l);k.show();if(i.loadingClass){l.removeClass("loading")}g("body").hunchacMode(k,l,m||o.length,i)};if(!i.container){throw new Exception("Must specify a `container` in the settings!")}return this.each(function(){var l,k=function(m){g.hunchac.curInput=this;l=m.which;var n=g.data(this,d),o=g.data(document.body,h);window.clearTimeout(g.data(this,b));if(n){try{n.abort()}catch(m){}g.data(this,d,null);if(i.loadingClass){g(this).removeClass("loading")}}if(g.data(document.body,c)){return g.data(document.body,c,false)}else{if(m.keyCode==9){return true}else{if(o&&!m.charCode&&(m.keyCode==38||m.keyCode==40)){if(m.timeStamp&&m.timeStamp-e>100){g(this).trigger("keydown.hunchac",[m.keyCode])}return false}else{if(o&&m.charCode<32&&m.keyCode!=8&&m.keyCode!=46){if(m.keyCode==37||m.keyCode==39){return true}if(m.keyCode==13&&!i.dropDownOnly){return true}return false}else{if(o&&m.keyCode==8&&(g.browser.safari||g.browser.msie)){return true}window.clearTimeout(g.data(this,b));g.data(this,b,window.setTimeout(function(){g(m.target).trigger("hunchac")},i.timeout))}}}}};g(this).attr("autocomplete","off").keypress(k).keyup(function(m){if(l!=m.keyCode&&m.keyCode>=48&&m.keyCode<=57){k.call(this,m)}}).bind("hunchac",function(){var m=this,n={url:i.url,data:g.extend(i.data||{},{query:g(this).val()}),type:"get",dataType:"json",cache:false,success:function(o){g.data(m,d,null);return j(o,g(m))}};if(i.loadingClass){g(this).addClass("loading")}if(n.data.query){g.data(this,d,(i.xhrFunc?i.xhrFunc(n.data.query,n.success):g.ajax(n)))}}).click(function(){if(g.hunchac.curInput!==null&&this!=g.hunchac.curInput){g("body").trigger("cancel.hunchac")}return false});if(i.autostart&&g(this).valNoPlaceholder()){g(this).trigger("hunchac")}if(i.activate){g(this).bind("activateacInput.hunchac",i.activate)}})},hunchacMode:function(i,m,q,k){var l=(k.dropDownOnly?0:-1),p=this,j;g.data(document.body,h,true);g("body").one("cancel.hunchac",function(){g("body").trigger("off.hunchac")});g("body").bind("activateac.hunchac",function(){if(j){m.trigger("activateacInput.hunchac",[j,g.data(j,f)]);g("body").unbind("activateac.hunchac")}});g("body").one("off.hunchac",function(r){i.children().hide();g.data(document.body,h,false);g.data(document.body,a,false);m.unbind("keydown.hunchac");g("body").add(window).unbind("click.hunchac").unbind("cancel.hunchac").unbind("activateac.hunchac")});g("body").add(window).bind("click.hunchac",function(){g("body").trigger("cancel.hunchac")});var n=function(){var r=g("li.ac-element",i).removeClass("active").removeClass("yui-ac-highlight");if(l==-1){j=null}else{r=r.slice(l,l+1).addClass("active").addClass("yui-ac-highlight");if(r.size()){j=r[0]}}};n();var o=function(s){var r=g(s.target).closest("li.ac-element");return r.size()?r[0]:null};i.mousemove(function(r){g.data(document.body,a,true)});i.mouseover(function(s){if(s.target==i[0]||!g.data(document.body,a)){return}var r=o(s);if(r){l=g("li.ac-element",i).index(r);n()}}).bind("click.hunchac",function(s){var r=o(s);if(r){g("body").trigger("activateac.hunchac");g.data(document.body,c,false)}return false});m.bind("keydown.hunchac",function(t,s){var r=s||t.which;if(r==40||r==38){if(r==40){l=l>=q-1?(k.dropDownOnly?0:-1):l+1}else{l=l<=0?(!k.dropDownOnly&&l==0?-1:q-1):l-1}if(!s){e=t.timeStamp}n();return false}else{if(r==27){g("body").trigger("cancel.hunchac")}else{if(r==13){if(!k.dropDownOnly&&l==-1){return true}g("body").trigger("activateac.hunchac")}else{if(r==8&&(g.browser.safari||g.browser.msie)){g.data(this,b,window.setTimeout(function(){g(t.target).trigger("hunchac")},k.timeout))}return true}}}g.data(document.body,c,true)})}})})(jQuery);jQuery.fn.fadeToColor=function(c,a,l){var j=function(p){var o;p=p.toLowerCase();if(/^#[0-9a-f]{3}$/.test(p)){p=[p.substr(1,1),p.substr(2,1),p.substr(3,1)];for(o=0;o<3;o++){p[o]=parseInt(p[o]+p[o],16)}return p}else{if(/^#[0-9a-f]{6}$/.test(p)){return[parseInt(p.substr(1,2),16),parseInt(p.substr(3,2),16),parseInt(p.substr(5,2),16)]}else{p=p.match(/\d+/g);if(p&&p.length==3){for(o=0;o<3;o++){p[o]=parseInt(p[o])}return p}}}return null};var d=function(o,i){return 1-(o/i-1)*(o/i-1)};if(!this||!this.length){return}var m=this,b=j(c)||[255,255,255],h=j($(this).css("background-color")),g=[],n=parseInt((a||500)/80),e;if(!h){return}for(e=0;e<3;e++){h[e]=parseInt(h[e]);g.push((b[e]-h[e])/n)}var f=0;var k=window.setInterval(function(){f+=1;if(f==n){$(m).css("background-color","rgb("+b.join(",")+")");window.clearInterval(k);if(l){l.call(m)}}else{var q=[],o,p;for(o=0;o<3;o++){p=h[o]+parseInt(g[o]*f*d(f,n));if(p<0){p=0}if(p>255){p=255}q.push(p)}q="rgb("+q.join(",")+")";$(m).css("background-color",q)}},80);return this};(function(e){e.facebox=function(x,v,w){push=!w&&i();e.facebox.settings.staticOverlay=true;e.facebox.loading(push);if(x.ajax){a(x.ajax)}else{if(x.post){b(x.post,x.data)}else{if(x.image){p(x.image,null,push)}else{if(x.div){f(x.div,null,push)}else{if(e.isFunction(x)){x.call(e)}else{e.facebox.reveal(x,v,push)}}}}}};e.extend(e.facebox,{settings:{opacity:0.4,overlay:true,staticOverlay:false,loadingImage:"/media/img/loading-32px.gif",closeImage:"/media/js/facebox/closelabel.gif",imageTypes:["png","jpg","jpeg","gif"],faceboxHtml:'	<div id="facebox" style="display:none;">      <div class="popup">        <table><tbody><tr><td class="body">                <div class="content"></div>        </td></tr></tbody></table>      </div>    </div>',pushHtml:'<div class="popup-frame"></div>'},loading:function(v){q();if(e("#facebox .body>.loading").length==1){return true}else{if(e("#facebox .popup-frame>.loading").length==1){return true}}r();var x='<div class="loading"><img src="'+e.facebox.settings.loadingImage+'"/></div>',w;if(v){if(d()){e("#facebox .content #slide-frame-inner").append(e(e.facebox.settings.pushHtml));g().append(x);l();s()}else{e("#facebox .content").append(e(e.facebox.settings.pushHtml));g().append(x)}}else{e("#facebox .content").empty();e("#facebox .body").children().hide().end().append(x);e("#facebox").css({top:c()[1]+(o()/10),left:e("#content").offset().left+295}).show()}e(document).bind("keydown.facebox",function(y){if(e.facebox.settings.noEscape){return true}if(y.keyCode==27){e.facebox.close()}return true});e(document).trigger("loading.facebox")},reveal:function(x,v,w){e(document).trigger("beforeReveal.facebox");if(w){e("#facebox .loading").remove();g().append(x).fadeIn("normal");s()}else{if(v){e("#facebox .content").addClass(v)}e("#facebox .content").append(x);e("#facebox .loading").remove();e("#facebox .body").children().fadeIn("normal")}e("#facebox").css("left",e(window).width()/2-(e("#facebox table").width()/2));e(document).trigger("reveal.facebox").trigger("afterReveal.facebox")},html:function(w,v){e("#facebox .content").html(w)},close:function(){e(document).trigger("close.facebox");return false},recursive_close:j,isPush:i});e.fn.facebox=function(w){q(w);var v=i();function x(){e.facebox.loading(v);var y=this.rel.match(/facebox\[?\.(\w+)\]?/);if(y){y=y[1]}f(this.href,y,v);return false}return this.click(x)};function k(){return e("#facebox .popup-frame")}function g(){return e("#facebox .content .popup-frame:last")}function i(){return e("#facebox .popup-frame").size()>0}function d(){return true}function u(v){e("#slide-frame-inner").animate({left:"+=630px"},"normal",v)}function l(v){e("#slide-frame-inner").animate({left:"-=630px"},"normal",v)}function s(){var v=e("#slide-crumbs");if(v.length){var x=[],w=k();if(w.length<=1){v.html("&nbsp;")}else{w.each(function(y){var A=e(this),z=A.data("title");if(!z){z=A.find("h1:first");if(z.length){z=z.text()}else{z=A.find("h2:first");if(z.length){z=z.text()}else{z=A.find("h3:first");if(z.length){z=z.text()}else{z=null}}}if(z){if(z.lastIndexOf(":")==z.length-1){z=z.slice(0,z.length-1)}if(z.length>30){z=z.slice(0,30)+"…"}A.data("title",z)}}x.push(z||"…")});v.html(e.map(x,function(y,z){if(z<x.length-1){return'<a href="#" onclick="$.facebox.recursive_close('+(x.length-1-z)+');return false">'+y+"</a>"}else{return"<strong>"+y+"</strong>"}}).join(" &gt; "))}}}function j(v){var w=function(){if(v-->0){e(document).trigger("close.facebox",w)}return false};return w()}function q(w){if(e.facebox.settings.inited){return true}else{e.facebox.settings.inited=true}e(document).trigger("init.facebox");n();var v=e.facebox.settings.imageTypes.join("|");e.facebox.settings.imageTypesRegexp=new RegExp("."+v+"$","i");if(w){e.extend(e.facebox.settings,w)}e("body").append(e.facebox.settings.faceboxHtml);e("#facebox .close, #facebox .cancel").live("click",e.facebox.close);e("#facebox .close_image").attr("src",e.facebox.settings.closeImage)}function c(){var w,v;if(self.pageYOffset){v=self.pageYOffset;w=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){v=document.documentElement.scrollTop;w=document.documentElement.scrollLeft}else{if(document.body){v=document.body.scrollTop;w=document.body.scrollLeft}}}return new Array(w,v)}function o(){var v;if(self.innerHeight){v=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){v=document.documentElement.clientHeight}else{if(document.body){v=document.body.clientHeight}}}return v}function n(){var v=e.facebox.settings;v.loadingImage=v.loading_image||v.loadingImage;v.closeImage=v.close_image||v.closeImage;v.imageTypes=v.image_types||v.imageTypes;v.faceboxHtml=v.facebox_html||v.faceboxHtml}function f(w,v,y){if(w.match(/#/)){var x=window.location.href.split("#")[0];var z=w.replace(x,"");e.facebox.reveal(e(z).clone().show(),v,y)}else{if(w.match(e.facebox.settings.imageTypesRegexp)){p(w,v,y)}else{a(w,v)}}}function p(w,v,x){e.facebox.settings.staticOverlay=false;var y=new Image();y.onload=function(){e.facebox.reveal((x?'<h1 class="br">View Image:</h1>':"")+'<div class="image"><img src="'+y.src+'" /></div><div class="footer"><a class="cancel" href="#">'+(x?"Go back":"Close")+"</a></div>",v,x)};y.src=w}function b(w,x,v){e.post(w,x,function(y){e.facebox.reveal(y,v)})}function a(w,v){e.get(w,function(x){e.facebox.reveal(x,v)})}function m(){return e.facebox.settings.overlay==false||e.facebox.settings.opacity===null}function r(){if(m()){return}if(e("#facebox_overlay").length==0){e("body").append('<div id="facebox_overlay" class="facebox_hide"></div>')}if(!e("#facebox_overlay").hasClass("facebox_overlayBG")){e("#facebox_overlay").hide().addClass("facebox_overlayBG").css("opacity",e.facebox.settings.opacity).click(function(){if(!e.facebox.settings.staticOverlay){e(document).trigger("close.facebox")}}).fadeIn(200)}return false}function t(){if(m()){return}e("#facebox_overlay").fadeOut(200,function(){e("#facebox_overlay").removeClass("facebox_overlayBG");e("#facebox_overlay").addClass("facebox_hide");e("#facebox_overlay").remove()});return false}var h=false;e(document).bind("close.facebox",function(x,w,y){if(typeof(y)=="undefined"&&e.isFunction(w)){y=w,w=false}if(h&&!y&&!w){return}h=true;if(!w&&k().size()>1){var v=function(){g().remove();s();if(y){y()}h=false};if(d()){u(v)}else{v()}}else{e(document).unbind("keydown.facebox");e("#facebox").fadeOut(function(){e("#facebox .content").removeClass().addClass("content").empty();t();e("#facebox .loading").remove();if(y){y()}h=false})}})})(jQuery);(function(b){var a=function(e,c,d){return function(f){if(c){b(this).parents("div.buttons:first").addClass("loading")}return e.call(this,f,d)}};b.confirm=function(e){var e=b.extend({},b.confirm.settings,e),h=(e.text_fn?(e.self?e.text_fn.call(e.self):e.text_fn()):e.text),g=a(e.left,e.animate,e),d=a(e.right,e.animate,e),c,f;if(e.can_confirm&&!e.can_confirm()){return}c=b("<div />").append(b("<h2 />").text(h));f=b('<div class="buttons" />').css("padding-top","9px");if(e.sub_text){c.append(b("<p />").text(e.sub_text))}if(e.right){f.append(b("<button />").addClass(e.right_class||"").append(b("<span />").text(e.right_text)).click(d))}f.append(b("<button />").addClass(e.left_class||"").append(b("<span />").text(e.left_text)).click(g));if(e.animate){f.append(b('<span class="indicator">loading...</span>'))}c.append(f);b.facebox(c)};b.confirm.settings={text:"Are you sure you want to continue?",sub_text:"",left_text:"Yes",right_text:"No"};b.confirm.close=function(){b(document).trigger("close.facebox");return false};b.fleck=function(c,d,e){b.facebox({post:c,data:{rel_type:d,rel_id:e}});return false};b.fn.extend({confirm:function(c){b(this).click(function(){c.self=this;b.confirm(c);return false})},fleck:function(c,f,g,e){var d=function(){return b.fleck(c,f,b.isFunction(g)?g.call(this):g)};if(e===true){return b(this).live("click",d)}else{return b.each(this,function(){b(this).click(d)})}}})})(jQuery);(function(b){b.addError={defaults:{msg:"This field is required",error_class:"errorlist",where:"before"},clearAll:function(d){b("."+(d?d:"errorlist")).remove()},addAll:function(e,d){b.each(e,function(g,f){b("#id_"+g).addError(b.extend({},d,{msg:f}))})}};b._hunchError={defaults:{msg:"Hunch encountered an error.<br/>Please Refresh the page to retry.",timeoutMsg:"Hunch encountered a timeout error.<br/>Please Refresh the page to retry."}};b.fn.extend({addError:function(d){d=b.extend({},b.addError.defaults,d);return this.each(function(){var g=b(this),f,e=0;g.parent().children("."+d.error_class).remove();f=b("<ul/>").addClass(d.error_class);if(!b.isArray(d.msg)){d.msg=[d.msg]}for(;e<d.msg.length;e++){f.append(b("<li/>").html(d.msg[e]))}if(g.hasClass("error-in-parent")||d.where_parent){g.parent()[d.where_parent||"prepend"](f)}else{g[d.where](f)}})},remError:function(d){d=b.extend({},b.addError.defaults,d);return this.each(function(){b(this).parent().children("."+d.error_class).remove()})},hunchError:function(g,h){if(g===true){g=null;h=true}if(!h){return false}var d=(g.msg==null&&g.textStatus=="timeout");g=b.extend({},b._hunchError.defaults,g);if(d){g.msg=b._hunchError.defaults.timeoutMsg}var f=b(this),i=g.scrollTop||f.offset().top,e=b('<div class="hunch-error"/>').html(g.msg);f.prepend(e);window.scrollTo(0,i);if(g.fade){window.setTimeout(function(){e.fadeOut();e=null},g.fade)}else{e=null}}});b.hunchError=function(d,e){if(d===true){d=null;e=true}d=b.extend({scrollTop:0},d);b("body").hunchError(d,e)};var c={};b.shortenUrl=function(e,f,d){if(d){setTimeout(function(){f(e)},1)}else{if(c[e]){setTimeout(function(){f(c[e])},1)}else{b.ajax({url:"/ws/shorten-url/",data:{url:e},type:"post",dataType:"json",error:function(g,h){b.hunchError({textStatus:h},true)},success:function(g){f(c[e]=g.url)}})}}return false};var a=function(d,f){var e=window.open("","_blank",(d&&f?"height="+d+",width="+f:""));e.document.write('<html><head><title>loading...</title></head><body><img src="http://hunch.com/media/img/loading-32px.gif" /></body></html>');e.document.close();return e};b.clickFacebook=function(f,g,e){f=f||window.location.href;g=typeof(g)=="undefined"?document.title:g;var d=a(350,625);b.shortenUrl(f,function(h){d.location="http://www.facebook.com/sharer.php?u="+encodeURIComponent(h)+(g?"&t="+encodeURI(g):"")},e);return false};b.clickTwitter=function(e,g,h,f){g=g||window.location.href;h=h||"";var d=a();b.shortenUrl(g,function(i){e=e+(e?" ":"")+i+(h?" ":"")+h;d.location="http://twitter.com/home?status="+encodeURI(e)},f);return false};b.clickEmail=function(h,d,g,f,e){g=g||window.location.href;f=f||"";b.shortenUrl(g,function(i){d=d+(d?" ":"")+i+(f?" ":"")+f;window.location="mailto:?subject="+encodeURI(h)+"&body="+encodeURI(d).replace("%0A","%0D%0A")},e);return false}})(jQuery);(function(b){b._hunchloader={defaults:{},ajax:{type:"post",timeout:10000,dataType:"json"}};b.postLoader=function(d,e,c){return a(null,d,e,c,"post")};b.getLoader=function(d,c){return a(null,d,null,c,"get")};b.fn.extend({postLoader:function(d,e,c){return a(this,d,e,c,"post")},getLoader:function(d,c){return a(this,d,null,c,"get")}});var a=function(f,e,h,c,g){c=b.extend({},b._hunchloader.defaults,c);var d=b.extend({},b._hunchloader.ajax,c.ajax);if(c.cache===false){d.cache=false}else{if(!c.cache&&g.toLowerCase()=="get"){d.cache=false}}if(c.timeout){d.timeout=c.timeout}if(c.thisLoader){c.thisLoader.addClass("loading")}var i;if(f&&!c.allowConcurrent){i=f.get(0);if(i){if(i.loading){return false}i.loading=true}f.addClass("loading")}if(e){d.url=e}if(h){d.data=h}if(g){d.type=g}d.error=function(j,k){if(c.error){c.error(j,k)}b.hunchError()};d.success=function(l,m){if(c.success){var j=c.success(l,m);if(j===false){return}}if(l.error){return b.options.error()}else{if(c.thisLoader){c.thisLoader.removeClass("loading")}if(f){f.removeClass("loading");if(l.html){if(c.replaceWith){var k=b(l.html);f.replaceWith(k);k.addClass("loading").removeClass("loading")}else{f.html(l.html)}}}if(l.replace){b.each(l.replace,function(){if(this.html!==null){b(this.slct).html(this.html)}})}}};d.complete=function(j,k){if(c.complete){c.complete(j,k)}if(i){i.loading=false}};b.ajax(d);return false}})(jQuery);jQuery.extend({createUploadIframe:function(d,b){var a="jUploadFrame"+d;if(window.ActiveXObject){var c=document.createElement('<iframe id="'+a+'" name="'+a+'" />');if(typeof b=="boolean"){c.src="javascript:false"}else{if(typeof b=="string"){c.src=b}}}else{var c=document.createElement("iframe");c.id=a;c.name=a}c.style.position="absolute";c.style.top="-1000px";c.style.left="-1000px";document.body.appendChild(c);return c},createUploadForm:function(g,b){var e="jUploadForm"+g;var a="jUploadFile"+g;var d=$('<form  action="" method="POST" name="'+e+'" id="'+e+'" enctype="multipart/form-data"></form>');var c=$("#"+b);var f=$(c).clone();$(c).attr("id",a);$(c).before(f);$(c).appendTo(d);$(d).css("position","absolute");$(d).css("top","-1200px");$(d).css("left","-1200px");$(d).appendTo("body");return d},ajaxFileUpload:function(k){k=jQuery.extend({},jQuery.ajaxSettings,k);var a=new Date().getTime();var b=jQuery.createUploadForm(a,k.fileElementId);var i=jQuery.createUploadIframe(a,k.secureuri);var h="jUploadFrame"+a;var j="jUploadForm"+a;if(k.global&&!jQuery.active++){jQuery.event.trigger("ajaxStart")}var c=false;var f={};if(k.global){jQuery.event.trigger("ajaxSend",[f,k])}var d=function(l){var p=document.getElementById(h);try{if(p.contentWindow){f.responseText=p.contentWindow.document.body?p.contentWindow.document.body.innerHTML:null;f.responseXML=p.contentWindow.document.XMLDocument?p.contentWindow.document.XMLDocument:p.contentWindow.document}else{if(p.contentDocument){f.responseText=p.contentDocument.document.body?p.contentDocument.document.body.innerHTML:null;f.responseXML=p.contentDocument.document.XMLDocument?p.contentDocument.document.XMLDocument:p.contentDocument.document}}}catch(o){jQuery.handleError(k,f,null,o)}if(f||l=="timeout"){c=true;var m;try{m=l!="timeout"?"success":"error";if(m!="error"){var n=jQuery.uploadHttpData(f,k.dataType);if(k.success){k.success(n,m)}if(k.global){jQuery.event.trigger("ajaxSuccess",[f,k])}}else{jQuery.handleError(k,f,m)}}catch(o){m="error";jQuery.handleError(k,f,m,o)}if(k.global){jQuery.event.trigger("ajaxComplete",[f,k])}if(k.global&&!--jQuery.active){jQuery.event.trigger("ajaxStop")}if(k.complete){k.complete(f,m)}jQuery(p).unbind();setTimeout(function(){try{$(p).remove();$(b).remove()}catch(q){jQuery.handleError(k,f,null,q)}},100);f=null}};if(k.timeout>0){setTimeout(function(){if(!c){d("timeout")}},k.timeout)}try{var b=$("#"+j);$(b).attr("action",k.url);$(b).attr("method","POST");$(b).attr("target",h);if(b.encoding){b.encoding="multipart/form-data"}else{b.enctype="multipart/form-data"}$(b).submit()}catch(g){jQuery.handleError(k,f,null,g)}if(window.attachEvent){document.getElementById(h).attachEvent("onload",d)}else{document.getElementById(h).addEventListener("load",d,false)}return{abort:function(){}}},uploadHttpData:function(r,type){var data=!type;data=type=="xml"||data?r.responseXML:r.responseText;if(type=="script"){jQuery.globalEval(data)}if(type=="json"){if(data.substr(1,33)=="<h1>Request Entity Too Large</h1>"){data={valid:false,error:"Uploaded file is too large, please select a smaller file."}}else{var preRe=new RegExp("^<pre[^>]*>","gi");var preEndRe=new RegExp("</pre>$","gi");eval("data = "+data.replace(preRe,"").replace(preEndRe,""))}}if(type=="html"){jQuery("<div>").html(data).evalScripts()}return data}});(function(f){f.fileupload={defaults:{auto_id:"id_",url:"/teach/ajax-image-upload/",bg:null},uploads_count:0,getUploadsCount:function(){return f.fileupload.uploads_count},incUploadsCount:function(){f.fileupload.uploads_count+=1},decUploadsCount:function(){f.fileupload.uploads_count-=1},isUploading:function(){return f.fileupload.getUploadsCount()>0}};f.fn.extend({fileupload:function(i){i=f.extend({},f.fileupload.defaults,i);return this.each(function(m,n){var l=f(n);if(l.attr("type")=="file"){var k=l.attr("name").split("-"),j,p;if(k.length==1){j="",k=k[0]}else{if(k.length==2){j=k[0]+"-",k=k[1]}else{return}}p=i.auto_id+j+k;l.change(function(){return a(i.url,j,k,p,i.container,i.bg,i.callback)}).bind("showFileInput",function(){c(p)}).bind("hideFileInput",function(){b(p)}).bind("presetFileInput",function(q,o){b(p,o)}).bind("determineFileInput",function(){e(p)});l.trigger("determineFileInput")}})}});function a(m,i,l,p,j,n,o){f.fileupload.incUploadsCount();f("#"+p+"+.ajax-loader",j).remove();f("#"+p,j).after(f('<img class="ajax-loader" style="padding-left:8px;"/>').attr("src","/media/img/ajax-loader-form"+({white:"-w"}[n]||"")+".gif"));h(p);var k=m;if(i){k+="?prefix="+i.substr(0,i.length-1)}f.ajaxFileUpload({url:k,secureuri:false,fileElementId:p,dataType:"json",success:function(r,q){f("#"+p+"+.ajax-loader",j).remove();if(typeof(r.error)!="undefined"){if(r.error!=""||!r.valid){d(r.error,p)}else{f("#"+p+"_url",j).attr("value",r.image_url);f("#"+p+"_id",j).attr("value",r.image_id);f("#"+p+"_image_id",j).attr("value",r.image_image_id);f("#"+p+"_name",j).attr("value",r.image_name);b(p);if(o){o(r,q)}}}f("#"+p).change(function(){return a(m,i,l,p,j,n,o)});f.fileupload.decUploadsCount()},error:function(r,q,s){f("#"+p+"+.ajax-loader",j).remove();if(window.console&&window.console.log){window.console.log("File upload javascript error");window.console.log(q);window.console.log(s)}f("#"+p).change(function(){return a(m,i,l,p,j,n,o)});f("body").append(r.repsonseText);f.fileupload.decUploadsCount()}});return false}function g(i){if(i){return i.replace(/</i,"&lt;").replace(/>/i,"&gt;").replace(/\\n/i,"<br />")}else{return i}}function e(i){if(f("#"+i+"_name").val()){b(i)}}function b(k,i){f("#"+k).hide();var j="uploaded-text-"+k;if(!f("#"+j).size()){f("#"+k).after(f("<span/>").attr("id",j))}f("#"+j).html("").append("using <em>"+(i?g(i):g(f("#"+k+"_name").val()))+"</em> ").append(f('<a href="javascript:void(0)"/>').html("change").click(function(){c(k)})).show()}function c(i){f("#uploaded-text-"+i).hide();f("#"+i).show()}function h(i){f("#"+i).parent().children(".errorlist").remove()}function d(i,j){h(j);f("#"+j).before(f('<ul class="errorlist"/>').append(f("<li/>").html(i)))}})(jQuery);(function(b){b.hunchflag={defaults:{live:false,flags:[["Offensive","offensive"],["Poor quality <span>Ex: bad photo, not helpful</span>","quality"]],data:{},checked:"",cssFlagWidth:"",closeable:true,title:"",comments:true,commentsTitle:"Comments",textareaCols:20,textareaRows:3,align:"right",extraLink:"",customContentFunc:null,wrapper:"body>#container"},clear:c,timeoutId:null,setTimeout:function(e,d){b.hunchflag.timeoutId=setTimeout(e,d)}};b.fn.extend({hunchflagClearer:function(e,f){this.each(function(g,h){if(!h._clearsHunchFlag){h._clearsHunchFlag=1;b(h).bind("clearHunchFlag",function(){c()})}});var d=function(){c();clearTimeout(b.hunchflag.timeoutId);if(e){e(this)}};if(f){b(this).live("click",d)}else{b(this).click(d)}},hunchflag:function(e){this.hunchflagClearer();e=b.extend({},b.hunchflag.defaults,e);var d=function(){var i=e.data;if(e.dataFunc){b.extend(i,e.dataFunc(this))}var k=a(this,e.wrapper);var h=b('<div id="hunch-flag"/>');if(e.cssFlagWidth){h.css("width",e.cssFlagWidth)}if(e.closeable){h.append(b('<div class="js-close"/>').text("X").click(function(){h.slideUp("fast")}))}if(e.title){h.append(b('<p style="padding-bottom:9px;"/>').text(e.title))}if(e.customContentFunc){e.customContentFunc(h,this)}else{if(!e.flags||!e.flags.length){h.append('<input type="radio" style="display:none;" name="flag" value="quality" checked="checked" />')}else{b.each(e.flags,function(l,f){h.append(b("<label/>").append(b('<input type="radio" name="flag" />').attr("value",f[1])).append(" "+f[0]))})}if(e.checked){b("input[type=radio][value="+e.checked+"]",h).attr("checked","checked")}if(e.comments){h.append(b('<p class="comment"/>').html(e.commentsTitle));var j=function(){var f=b(this);if(f.val().length>500){f.val(f.val().substr(0,500));this.scrollTop=this.scrollHeight}};h.append(b('<textarea cols="'+e.textareaCols+'" rows="'+e.textareaRows+'" wrap="soft"/>').change(j).keyup(j));h.append('<p class="right-text">500 character max.</p>')}var g=b('<ul class="feedback clearfix"/>').append(b("<li/>").append(b('<input type="button"/>').attr("name","f_submit").attr("value","Submit").click(function(){var f=b("#hunch-flag input[type=radio][name=flag]:checked");var m="other";if(f.size()){m=f.val()}var n=b("#hunch-flag textarea").val();if(n){var l=new RegExp("\n","g");n=n.substr(0,500).replace(l," ")}else{n=""}b("#hunch-flag *:input").attr("disabled","disabled");b("#hunch-flag ul").append(b("<li/>").append(b("<img/>").attr("src","/media/img/ajax-loader-form-w.gif")));i.reason=m;i.message=n;b.ajax({type:"POST",url:e.url,data:i,success:function(o,p){if(o.substr(0,8)=="<hunch/>"){b("#hunch-flag").css("width",b("#hunch-flag").width()).html("Thank you!").css("padding-top","15px").css("padding-bottom","15px").css("text-align","center");setTimeout("$('#hunch-flag').fadeOut('normal', function() { $(this).remove(); });",1000)}else{b.hunchError()}},timeout:5000,error:function(){b.hunchError()},dataType:"html",cache:false,async:true})})));if(e.extraLink){g.append(b("<li/>").append(e.extraLink));if(e.extraLinkFunc){e.extraLinkFunc(h,this)}}h.append(g)}if(e.align=="left"){h.css("left",k.left)}else{h.css("right",k.right)}b(e.wrapper).append(h.css("top",k.top));if(e.checked){b("input[type=radio][value="+e.checked+"]",h).attr("checked","checked")}return false};if(e.live){this.live("click",d)}else{this.click(d)}}});function c(){b("#hunch-flag").remove()}function a(i,d){var e=b(i);var h=b(d);var j=h.offset();var f=e.offset();var g=f.left-j.left;return{left:g,right:h.width()-g-e.outerWidth(),top:f.top+e.outerHeight()}}})(jQuery);(function(a){a.extend({minipagination:new function(){function f(h){var g=[];a(h.config.elts,h).each(function(j,k){g.push(k)});return g}this.clearPage=function(g){if(a.browser.msie){function h(){while(this.firstChild){this.removeChild(this.firstChild)}}h.apply(g.get(0))}else{g.get(0).innerHTML=""}};function d(g){var h=g.config;h.page++;if(h.page>=(h.totalPages-1)){h.page=(h.totalPages-1)}b(g)}function e(g){var h=g.config;h.page--;if(h.page<=0){h.page=0}b(g)}function b(h){var k=h.config;if(k.page<0||k.page>(k.totalPages-1)){k.page=0}a(k.cssPage,k.container).text(k.page+1);var g=a(k.cssCounts,k.container);if(g.size()){var j=(k.page*k.size)+1;var i=(k.page+1)*k.size;i=(i>k.totalSize?k.totalSize:i);g.text(j+"–"+i)}if(k.page==0){a(k.cssPrev,k.container).addClass(k.cssDisPrevClass)}else{a(k.cssPrev,k.container).removeClass(k.cssDisPrevClass)}if(k.page==k.totalPages-1){a(k.cssNext,k.container).addClass(k.cssDisNextClass)}else{a(k.cssNext,k.container).removeClass(k.cssDisNextClass)}c(h,h.cache)}function c(q,p){var o=q.config;var h=p.length;var r=(o.page*o.size);var n=(r+o.size);if(n>p.length){n=p.length}a.minipagination.clearPage(q);var j=q.get(0);if(o.elts=="tr"){var m=a("<tbody/>");q.append(m);j=m.get(0)}for(var k=r;k<n;k++){j.appendChild(p[k])}}this.defaults={elts:"li",size:10,page:0,totalSize:0,totalPages:0,container:null,fixedHeight:false,height:0,cssPage:".page_num",cssPageTotal:".page_total",cssCounts:".page-counts",cssNext:".next",cssPrev:".prev",cssDisNextClass:"next-dis",cssDisPrevClass:"prev-dis",cssFirst:".first",cssLast:".last"};this.construct=function(g){return this.each(function(){var i=a.extend({},a.minipagination.defaults,g),j=a(this);var h=a(i.container);i.totalSize=a(i.elts,j).size();i.totalPages=Math.ceil(i.totalSize/i.size);a(i.cssPageTotal,h).text(i.totalPages);j.config=i;j.pager=h;j.cache=f(j);b(j);if(i.fixedHeight){if(!i.height){i.height=j.height()}j.css("height",i.height)}if(1==i.totalPages||0==i.totalPages){h.css("height",h.height()).html("<!-- -->")}a(i.cssNext,h).click(function(){d(j);return false});a(i.cssPrev,h).click(function(){e(j);return false})})}}});a.fn.extend({minipagination:a.minipagination.construct})})(jQuery);(function(a){a.showmore={defaults:{elts:">li",page_size:10,text:"Show more",all_text:"",last_css:""}};a.fn.showmore=function(b){return a.each(this,function(){b=a.extend({},a.showmore.defaults,b);var i=1,h,c,e;h=a(b.elts,this).each(function(j){a(this).addClass("page-"+parseInt(j/b.page_size+1))}).length;c=parseInt((h+b.page_size-1)/b.page_size);if(c>1){e=function(k){var l=k*b.page_size,j=l+b.page_size;if(j>h){j=h}return b.text+" ("+l+"–"+j+" of "+h+")…"};a(b.elts+":not(.page-1)",this).hide();var d=this,f,g;f=a('<a class="space" href="#"></a>').text(e(i)).click(function(){var j=i+1;a(b.elts+".page-"+j,d).show();if(b.last_css){a(b.elts+".page-"+(j-1)+":last",d).css(b.last_css)}if(j>=c){a(this).hide();g.hide();g=f=d=null}else{a(this).text(e(j))}i=j;return false});if(b.all_text){g=a('<a class="right space" href="#"></a>').text(b.all_text).click(function(){a(b.elts,d).show();a(this).hide();f.hide();if(b.last_css){a(b.elts,d).each(function(j){if(!((j+1)%b.page_size)){a(this).css(b.last_css)}})}g=f=d=null;return false});a(this).after(g)}a(this).after(f)}})}})(jQuery);(function(b){b.placeholder={defaults:{ignore:(navigator.userAgent.toLowerCase().indexOf("safari")>=0)}};b.fn.extend({placeholder:function(d){var e=b(window);d=b.extend({},b.placeholder.defaults,d);if(d.ignore){return this}return this.each(function(){var f=b(this),g=function(){if(f.val()==f.attr("placeholder")){a(f)}return true};if(f.attr("placeholder")!=null){if(f.val()==""||f.val()==f.attr("placeholder")){c(f)}if(!d.ignoreSubmits){f.parents("form").submit(g)}f.blur(function(){if(f.val()==""){c(f)}}).focus(function(){if(f.val()==f.attr("placeholder")){a(f)}}).keydown(function(){if(/(^|\s)placeholder(\s|$)/.test(this.className)){a(b(this))}});f.bind("clearPlaceholder",function(){if(f.val()==f.attr("placeholder")){return a(b(this))}else{return b(this)}});f.bind("setPlaceholder",function(){if(f.val()==""){return c(b(this))}else{return b(this)}});f.bind("resetPlaceholder",function(){if(f.hasClass("placeholder")||f.val()==""){return c(b(this))}else{return b(this)}});e.unload(g)}})},valNoPlaceholder:function(){var d=b(this);if(d.val()==d.attr("placeholder")){return""}else{return d.val()}}});function c(d){return d.addClass("placeholder").val(d.attr("placeholder"))}function a(d){return d.val("").removeClass("placeholder")}})(jQuery);(function(a){a.hunchtoggle={defaults:{live:false,setClass:"is-set",setTrue:{url:"",text:""},setFalse:{url:"",text:""},clearFlag:true,animate:false,is_button:false}};a.fn.extend({hunchtoggle:function(d){d=a.extend({},a.hunchtoggle.defaults,d);if(d.clearFlag){this.hunchflagClearer()}var c=function(e,f){if(d.is_button){e.children("span").text(f)}else{e.text(f)}return e};var b=function(){if(!this.clicked){this.clicked=true;var o=this,j=a(this),g,n,k;var h=j.hasClass(d.setClass);var f=(h?d.setFalse:d.setTrue);g=f.url;n=f.text;if(d.data){k=d.data}else{if(d.getData){k=d.getData(o)}else{if(f.data){k=f.data}else{if(f.getData){k=f.getData(o)}else{var m="Did not specify data or getData on the toggle call for this elt!";throw new Error(m,m)}}}}var l=j.hasClass("action");var p=j.hasClass("action-favorite");if(d.animate){if(!l){j.addClass("action")}if(!p){j.addClass("action-favorite")}c(j.addClass("action-loading"),"loading...")}var i={url:g,data:k,type:"post",dataType:"json",timeout:10000,success:function(e,q){if(e.status=="success"){if(h){c(j.removeClass(d.setClass),f.text)}else{c(j.addClass(d.setClass),f.text)}}else{if(e.status=="limit"){if(d.animate){c(j,d.setFalse.text)}a.hunchError({msg:"You have reached the limit for this action.<br />Sorry for the inconvenience.",fade:4000},true)}else{a.hunchError()}}},error:function(e,q){a.hunchError()},complete:function(e,q){o.clicked=false;if(d.animate){if(!l){j.removeClass("action")}if(!p){j.removeClass("action-favorite")}j.removeClass("action-loading")}}};if(d.confirmTrue&&!h){d.confirmTrue.toggleRequest=i;d.confirmTrue.self=this;a.confirm(d.confirmTrue)}else{if(d.confirmFalse&&h){d.confirmFalse.toggleRequest=i;d.confirmFalse.self=this;a.confirm(d.confirmFalse)}else{a.ajax(i)}}}return false};if(d.live){this.live("click",b)}else{this.click(b)}}})})(jQuery);(function(a){a.fn.extend({remaining:function(d,b,c,f){var g=a(this);var e=function(){var h=g.val().replace(/\r\n/g,"\n").length;if(h>b){d.html('<span class="warn-text"><strong>'+(h-b)+"</strong> "+(f||"characters too many")+"</span>")}else{d.html("<strong>"+(b-h)+"</strong> "+(c||"characters remaining"))}};this.change(e).keyup(e);e()}})})(jQuery);(function(){var b=function(){var c=this;clearTimeout(c.out_id);c.over_id=setTimeout(function(){$(c).addClass("hover").siblings(".hover").removeClass("hover");c=null},20)};var a=function(){var c=this;clearTimeout(c.over_id);c.out_id=setTimeout(function(){$(c).removeClass("hover");c=null},400)};$.tts=function(c,d){return $(c).tooltip({track:true,delay:0,showURL:false,showBody:" -- ",fade:(typeof(d)=="undefined"?250:d)})};$(document).ready(function(){$("ul#nav>li").hover(b,a);$(".dropdown>.elt").live("mouseover",b);$(".dropdown>.elt").live("mouseout",a);$("#header form").submit(function(){var c=$("input#search-box"),d=c.val();return(d!=""&&d!=c.attr("placeholder"))});$("input#search-box").placeholder({ignoreSubmits:1}).hunchac({container:"#ac-container",loadingClass:false,dropDownOnly:false,render:function(j,d,e){var g=$("<ul/>"),c=[["Topic matches",$.grep(j,function(i){return i.type=="t"||i.type=="st"}),"ac-tm-"],["Result matches",$.grep(j,function(i){if(i.type=="i"){i.name=i.name+' &nbsp;<span class="dim xsmall">('+i.topic_name+")</span>";return true}return false}),"ac-rm-"]];for(var f=0;f<c.length;f++){g.append('<li class="ac-header'+(f==0?" ac-first-header":"")+'">'+c[f][0]+"</li>");if(c[f][1].length){$.each(c[f][1],function(i){var k=$('<li id="'+c[f][2]+(i+1)+'" class="ac-element">&nbsp;&nbsp;'+(this.workshop?'<b class="in-workshop"></b>':"")+this.name+"</li>");$.data(k[0],$.hunchac.ORIGINAL_OBJECT,this);g.append(k)})}else{g.append('<li class="ac-none">&nbsp;&nbsp;No matches</li>')}}d.html('<div class="yui-ac-content" /><div class="yui-ac-shadow" />');var h=$(".yui-ac-content",d);h.append(g);$(".yui-ac-shadow",d).height(h.height()+2).width(h.width()+2)},activate:function(g,f,d){if(d.type=="dym"){var c=this;setTimeout(function(){$(c).val(d.name.substring(21)).trigger("hunchac");c=null},5)}else{location.href=d.url}},autostart:1});$.tts(".tt");$("body .notify-msg a.close").click(function(){$("body .notify-msg").hide();$(".is-notify-msg").removeClass("is-notify-msg");document.cookie="notify=0;path=/;";return false})})})();