doremi-script
Version:
Letter music notation processor
1 lines • 33.6 kB
JavaScript
;StackExchange.anonymous={};var gauth=function(){return{informStackAuth:function(g){if(!gauth.enabled()){return}var f=document.domain;if(f.substr(0,5)=="meta."){f=f.substr(4,f.length-4)}var e=$.cookie("gauth");if(e==null){$.cookie("gauth",null,{path:"/",domain:f});$.cookie("gauth",null,{path:"/",domain:document.domain});return}if(f.charAt(0)!="."){f="."+f}$.cookie("gauth",null,{path:"/",domain:f});$.cookie("gauth",null,{path:"/",domain:document.domain});var b=e.indexOf(":");var d=e.substr(0,b);var a=e.substr(b+1);var c=g+"/auth/global/write?authToken="+encodeURIComponent(d)+"&nonce="+encodeURIComponent(a);$(document).ready(function(){$("#footer").append("<iframe style='display:none' src='"+c+"'></iframe>")})},checkStackAuth:function(a){if(!gauth.enabled()){return}var b=$.cookie("gauthed");if(b!=null){return}$.cookie("gauthed","1",{path:"/"});var c=function(h){var g=h.origin;if(g!=a){return}if(h.data=="No Local Storage"){gauth.noGAuthStorage();return}if(h.data=="No Session"){gauth.noGAuthSession();return}var d=h.data.substr(0,h.data.indexOf(","));var f=h.data.substr(h.data.indexOf(",")+1);$.post("/users/login/global",{authToken:d,nonce:f},function(e,j,i){gauth.globallyAuthed(e)},"json")};if(window.attachEvent){window.attachEvent("onmessage",c)}else{window.addEventListener("message",c,false)}$.post("/users/login/global/request","",function(e,f,g){var d=a+"/auth/global/read?request="+encodeURIComponent(e.token)+"&nonce="+encodeURIComponent(e.nonce);$(document).ready(function(){$("#footer").append("<iframe id='global-auth-frame' style='display:none' src='"+d+"'></iframe>")})},"json")},enabled:function(){$.cookie("enabledCheck","1");if($.cookie("enabledCheck")==null){return false}$.cookie("enabledCheck",null);if(typeof(localStorage)=="undefined"){return false}return true},noGAuthStorage:function(){},noGAuthSession:function(){},globallyAuthed:function(d){if(!d||!d.Message){return}var f=d.Message+" ",a,g=false,e=""+window.location,b=e.indexOf("returnurl=");if(b!=-1){var c=e.indexOf("&",b);if(c==-1){c=e.length}a=decodeURIComponent(e.substring(b+"returnurl=".length,c));if(!/^(?:http:\/\/|\/)/.test(a)){a=null}else{a=a.replace(/[^-a-z0-9+&@#\/%?=~_|!:,.;()]/g,"")}}if(e.indexOf("/users/login")!=-1){g=true;a=a||"/"}if(g){f+="<br>You are being redirected..."}else{f+=a?"<a href=\"javascript:window.location='"+a+"'\">Click here</a> to return to your last location.":'<a href="javascript:location.reload(true)">Click here</a> to refresh the page.'}StackExchange.helpers.showFancyOverlay({message:f,showClose:!g,complete:function(){if(g){window.location=a}}})}}}();var genuwine=function(){var c;var a="";var m;var p=function(){return $(".genu").hasClass("genu-on")};var q=function(){var x=$(".genu");var z=$("#seWrapper");if(z.length==0){d();z=$("#seWrapper");var y;if(m>0){y=$("#seTabInbox");o(y)}else{y=$("#seTabHot");k(y)}y.addClass("seCurrent")}var w=x.hasClass("genu-on");if(w){$(".unreadCountTab").hide();$(".itemBoxNew").removeClass("itemBoxNew");z.fadeOut("fast")}else{z.fadeIn("fast");$(".unreadCount").hide()}x.toggleClass("genu-on",!w);if(m==-1){$(x).ready(function(){$("#seTabInbox").hide()})}};var d=function(){var x='<div id="seWrapper" style="position:absolute; display:none;"><div class="seIntro"><a href="'+a+'">Stack Exchange</a> is a network of free, community-driven Q&A sites.</div><div class="seNav"><ul class="seNavLinks"><li><a id="seTabHot">Hot Questions</a></li><li><a id="seTabSites">All Sites</a></li><li><a id="seTabInbox">Inbox</a></li></ul></div><div class="seContainer"></div><div class="seFooter">';if(StackExchange.options.enableAccountEmails){x+='<div id="seTabEmail" class="seEmailAccount"><a>email settings</a></div>'}x+='<a id="seClose">close</a></div></div>';var w=$("#hlinks");var y=w.height()+w.offset().top+5;$(x).appendTo("#portalLink").css({top:y}).find("ul.seNavLinks a, #seTabEmail").click(function(){e($(this))});$("#seClose").live("click",q)};var e=function(w){$(".seNavLinks a").removeClass("seCurrent");w.addClass("seCurrent");switch(w.attr("id")){case"seTabHot":k(w);$("#seContainerSites, #seContainerInbox, #seContainerEmail").hide();$("#seContainerHot").fadeIn("fast");break;case"seTabSites":r(w);$("#seContainerHot, #seContainerInbox, #seContainerEmail").hide();$("#seContainerSites").fadeIn("fast");break;case"seTabInbox":o(w);$("#seContainerHot, #seContainerSites, #seContainerEmail").hide();$("#seContainerInbox").fadeIn("fast");break;case"seTabEmail":b(w);$("#seContainerHot, #seContainerSites, #seContainerInbox").hide();$("#seContainerEmail").fadeIn("fast");break}};var k=function(w){if($("#seContainerHot").length==0){j(w)}};var b=function(w){if($("#seContainerEmail").length==0){u(w)}};var u=function(w){f(w,"/accounts/email-settings","json",function(y,x){var A='<div id="seContainerEmail" style="display:none; font-size:11px;"><div class="itemBox" style="border-bottom: 0px"><p>Would you like to receive unread inbox notifications via email?</p><div>Email: <input id="email-notify" name="email-notify" style="width:300px;" value="'+x.verifiedEmail+'"></input></div><div><input type="radio" name="optIn" value="true" id="email-enable"'+(x.optIn==true?'checked="checked"':"")+'"> <label for="email-enable">Email me my unread inbox messages <select id="email-freq"><option value="3">every 3 hours</option><option value="24">daily</option><option value="168">weekly</option></select> </label></div><div><input type="radio" name="optIn" value="false" id="email-disable"'+(x.optIn!=true?'checked="checked"':"")+'"> <label for="email-disable">Do not email me inbox messages</label></input></div><div><input type="button" name="save" id="email-save" value="Save" disabled="disabled"></input></div><div id="email-confirmation" style="display:none;"></div></div></div>';g(y,A);$("#email-freq").val(x.freq);$("#email-notify").focus().keyup(z);$("#email-enable, #email-disable, #email-freq").change(z);function z(){$("#email-save").removeAttr("disabled");$("#email-confirmation").html("")}$("#email-save").click(function(){s();$.post("/accounts/verified-email-set",{email:$("#email-notify").val(),fkey:StackExchange.options.user.fkey,optin:$("input[name=optIn]:checked").val(),freq:$("#email-freq").val()},function(B){StackExchange.helpers.removeSpinner();$("#email-confirmation").html(B.message).fadeIn();if(B.success){$("#email-save").attr("disabled","disabled")}},"json")})},true)};var j=function(w){f(w,a+"/genuwine?callback=?","jsonp",n)};var n=function(C,B){var A=$("<div/>");var z='<div id="seContainerHot" style="display:none">';for(var w=0;w<B.length;w++){var D=B[w];var E=D.SiteId;var y='href="http://'+E+"/questions/"+D.Id+'"';var x=parseInt(D.DisplayScore,10);z+='<div class="itemBox"><a '+y+' class="seNumAnswer">'+x+'</a><div class="siteInfo"><p><a '+y+">"+A.text(D.Title).html()+'</a></p><a href="http://'+E+'" class="siteLink">'+E+"</a></div></div>"}z+="</div>";g(C,z)};var r=function(w){if($("#seContainerSites").length==0){t(w)}};var t=function(w){var x=document.location.host;f(w,a+"/genuwine/sites?callback=?&host="+x+(!!c?("&accountId="+c):""),"jsonp",h)};var h=function(w,B){var y='<div id="seContainerSites" style="display:none">';for(var x=0;x<B.length;x++){var C=B[x];var A=C.Name;var z='href="http://'+C.Id+'"';y+='<div class="itemBox"><a '+z+' class="siteFavicon"><img src="'+C.FaviconUrl+'" alt="'+A+'"></a><div class="siteInfo"><p><a '+z+">"+A+"</a></p><a "+z+' class="siteLink">'+C.Description+"</a></div></div>"}y+="</div>";g(w,y)};var o=function(w){if(m==-1){return}if($("#seContainerInbox").length==0){i(w)}if(m>0&&w.find(".unreadCountTab").length==0){w.prepend('<span class="unreadCountTab">'+m+"</span>")}};var i=function(w){f(w,"/inbox/genuwine","json",l,true)};var l=function(x,E){var A='<div id="seContainerInbox" style="display:none">';for(var w=0;w<E.length;w++){var G=E[w];var y='href="'+G.Url+'"';var B='title="'+G.CreationDate+'"';var z=G.Count;var F=G.IsNew?" itemBoxNew":"";A+='<div class="itemBox'+F+'"><a '+y+' class="siteLinkFavicon"><img src="'+G.FaviconUrl+'" alt="'+G.SiteUrl+'"></a><div class="siteInfo">';if(G.Type=="careers message"){A+="<p><a "+y+' style="font-weight:normal"><b>'+G.Title+"</b> wants to contact you on <b>Stack Overflow Careers</b></a></p>"}else{if(G.Type=="invitation"){var D=G.Count;var C="invitation"+(D>1?"s":"");A+="<p><a "+y+' style="font-weight:normal"><b>'+D+"</b> "+C+" awarded on <b>Stack Overflow Careers</b></a></p>"}else{A+="<p>"+(z>1?z+" ":"")+G.Type+" on <a "+y+" "+B+">"+G.Title+"</a></p>"}}A+='<p class="inboxSummary">'+(G.Summary||"")+"</p></div></div>"}if(!!c&&E.length>=5){A+='<div class="itemMoreContainer"><div class="seIntro"><a href="http://stackexchange.com/users/'+c+'?tab=inbox">more inbox messages …</a></div></div>'}A+="</div>";g(x,A)};var v={};var f=function(A,z,w,C,y){var x=A.attr("id");if(v[x]){s();return}v[x]=true;s();var B=function(){v[x]=false;StackExchange.helpers.showErrorPopup($(".seContainer"),"An error occurred while loading - please try again.")};$.ajax({type:"GET",url:z,dataType:w,success:function(D){if(D&&(D.length>0||y)){C(A,D)}else{B()}},error:B,complete:StackExchange.helpers.removeSpinner()})};var g=function(w,y){var x=$(y);x.appendTo(".seContainer");if(w.hasClass("seCurrent")){x.fadeIn("fast")}};var s=function(){StackExchange.helpers.removeSpinner();StackExchange.helpers.addSpinner(".seContainer",{position:"relative",left:"10px",top:"10px"})};return{isVisible:p,click:q,init:function(y,w){var x=$(".genu");if(x.length>=1){x[0].onclick=null}c=y;a=x.attr("href");m=w;x.removeAttr("href").add(".unreadCount").click(q);$(document).click(function(z){if(p()&&!$.contains($("#portalLink")[0],z.target)){q()}})}}}();StackExchange.notify=(function(){var c=0;var i=-1;var h="m";function j(p,o){var q=$("#dismissed-messages");q.val(q.val()+"~"+p+(o?" "+o:"")+"~")}function l(p,o){var q=$("#dismissed-messages").val();if(!q){return false}return new RegExp("~"+p+(o?" "+o:"")+"~").test(q)}function f(s,p,r){var o=parseInt($("body").css("margin-top").match(/\d+/));var q=p*o/s;if(r){$("body:not(.no-message-slide)").animate({marginTop:q+"px"},"fast","linear")}else{$("body:not(.no-message-slide)").css("marginTop",q+"px")}}var m=function(q,p){var o=$("#notify-"+q+(p?"-"+p:""));if(q==i){d()}else{if(q>i){$.post("/messages/mark-as-read",{messagetypeid:q,id:(p?p:null)})}}j(q,p);c--;o.fadeOut("fast",function(){f(c+1,c,true);o.remove()})};var n=function(q){c++;if(l(q.messageTypeId,q.id)){return false}var o="";if(q.messageTypeId){o=' id="notify-'+q.messageTypeId+(q.id?"-"+q.id:"")+'"'}var p="<div"+o+' style="display:none"><span class="notify-close"><a title="dismiss this notification">×</a></span><span class="notify-text">'+q.text+"</span>";if(q.showProfile){var r=encodeURIComponent("/users/"+q.userId+"?tab=activity");p+=' See your <a href="/messages/mark-as-read?messagetypeid='+q.messageTypeId+"&returnurl="+r+'">profile</a>.'}p+="</div>";var s=$(p);s.find(".notify-close").click(function(){m(q.messageTypeId,q.id)});$("#notify-container").append(s);return true};var d=function(o){$.cookie(h,(o?o:"0"),{expires:90,path:"/"})};var e=function(){var o=parseInt($.cookie(h));if(isNaN(o)){o=0}if(o<5){b();d(++o)}};var k=function(){$("#notify-container div").fadeIn("slow")};var a=function(){$("body:not(.no-message-slide)").animate({marginTop:"2.5em"},"fast","linear")};var b=function(){$(".module.newuser:not(.sidebar-help)").show()};var g=function(p,o){var q=$('<div class="link-more"><a>view '+p+" more notification"+(p!=1?"s":"")+"</a></div>");$("#notify-container").append(q);q.click(function(){q.detach();for(var r=0;r<o.length;r++){n(o[r])}k()})};return{showFirstTime:function(o){if($.cookie(h)){e()}else{b();if(!/\/users\/(login|authenticate)/i.test(window.location)){a();n({messageTypeId:i,text:"Welcome to "+o+' — check out the <a onclick="StackExchange.notify.closeFirstTime(); return false;" href="/faq">FAQ</a>!'});k()}}},showMessages:function(t,r){var p=0;var q=r?2:t.length;for(var o=0;o<q&&o<t.length;o++){if(n(t[o])){p++}}f(c,p,false);k();if(r&&p<t.length){var s=t.slice(q);g(t.length-p,s)}},show:function(o,p){a();n({text:o,messageTypeId:p});k()},close:m,closeFirstTime:function(){d();document.location="/faq"},getMessageText:function(o){return $("#notify-"+o+" .notify-text").text()}}})();function moveScroller(){var b=$("#scroller").width();var a=function(){var e=$(window).scrollTop();var d=$("#scroller-anchor").offset().top;var c=$("#scroller");if(e>d){if(c.height()>$(window).height()){c.css({position:"fixed",top:"",bottom:"0px",width:b})}else{c.css({position:"fixed",top:"0px",bottom:"",width:b})}}else{if(e<=d){c.css({position:"relative",top:"",bottom:""})}}};$(window).scroll(a).resize(a);a()}var styleCode=(function(){function a(b){var c=$("#prettify-lang").text();if(c!=""){b.addClass(c);return true}return false}return function(){if(typeof MathJax!="undefined"){MathJax.Hub.Queue(["Typeset",MathJax.Hub])}var b=false;$("pre code").parent().each(function(){if($(this).hasClass("prettyprint-override")){$(this).removeClass("prettyprint-override").addClass("prettyprint");b=true}if(!$(this).hasClass("prettyprint")){if(a($(this))){$(this).addClass("prettyprint");b=true}}});if(b){if(typeof jtab!="undefined"){jtab.renderimplicit();return}StackExchange.using("prettify",function(){StackExchange.prettify.applyCodeStyling()})}}})();StackExchange.helpers.MagicPopup=function(g){var e,c,f,h,d={};function b(i,k){var p=$("<div id='"+g.id+"'/>").html(k);var m=$("<div />").css({overflow:"hidden",position:"absolute",width:1,height:1,top:0,left:0}).append(p).appendTo("body");var o=g.showing(i,p);var j={left:o.left};if(o.hasOwnProperty("bottom")){j.bottom=o.bottom;j.top="auto"}else{j.top=o.top}var l;if(g.shown){l=function(){g.shown(i,p)}}m.css(j).animate({height:p.outerHeight()+8,width:p.outerWidth()+8},300,l);e=function(){m.stop().remove();if(g.removed){g.removed(i,p)}f=null;e=null};f=StackExchange.helpers.DelayedReaction(e,5);var n=m;if(o.additional){n=n.add(o.additional)}n.hover(f.cancel,f.trigger)}var a=StackExchange.helpers.DelayedReaction(function(i,k){if(h||!i){return}var j;if(g.cache&&("c_"+i in d)){j=$.Deferred().resolve(d["c_"+i])}else{j=$.ajax({type:"GET",url:i,dataType:"html"});if(g.cache){j.done(function(l){d["c_"+i]=l})}}j.done(function(l){if(e){e()}if(l==""){return}b(k,l)})},500);$(document).delegate(g.selector,{mouseenter:function(){if(f&&this===c){f.cancel();return}c=this;a.trigger(g.getUrl(this),this);h=false;return false},mouseleave:function(){h=true;a.cancel();if(f){f.trigger()}}})};StackExchange.tagmenu=(function(){var c,e;var a=function(f){c=f;if(e){return}e=true;if(StackExchange.options.isMobile){return}StackExchange.helpers.MagicPopup({selector:".post-tag:not(.user-tag)",id:"tag-menu",getUrl:d,showing:b,shown:function(g,h){if(c){c(h,$(g).text())}}});$("#interesting-tags .post-tag").addClass("user-tag")};return{init:a};function d(h){var f=$(h);var i=f.attr("href");if(!i||i.charAt(0)!="/"){return null}var g=f.text();if(g.indexOf("*")>-1){return null}f.attr("title","");return"/tags/"+encodeURIComponent(g)+"/subscriber-info"}function b(h,n){var f=$(h),i=f.offset(),g=f.outerHeight(),m={left:i.left},l=i.top+g,j=i.left+n.outerWidth();if(n.height()+l>$(window).height()+$(window).scrollTop()){m.bottom=$(window).height()-i.top-8}else{m.top=l}var k=Math.max(1024,$(window).width());if(j>k){m.left-=j-k}return m}})();StackExchange.usermenu=(function(){var e,a;var b=function(){if(e){return}e=true;if(StackExchange.options.isMobile){return}StackExchange.helpers.MagicPopup({selector:".user-hover .user-gravatar48, .user-hover .user-gravatar32",getUrl:f,cache:true,id:"user-menu",showing:c,removed:d});function f(h){var g=$(h),l=g.closest(".user-hover"),k=l.find(".user-details a").attr("href"),j=new RegExp("/users/([^/]+).*$"),i=j.exec(k);if(!i){return null}return"/users/user-info/"+i[1]}};return{init:b};function c(j,h){var k=$(j),o=k.find("img:first"),f=o.offset(),r=o.height(),p=o.width(),n=Math.max(p,r),i=64*r/n,q=64*p/n,g=h.find("img:first").css({width:q,height:i});var m=g.offset();g.css("visibility","hidden");a=o.clone().css({position:"absolute",zIndex:300,left:f.left,top:f.top,width:p,height:r}).appendTo("body");var l=function(){if(!g[0].complete){setTimeout(l,500);return}g.css("visibility","visible");a.fadeOutAndRemove()};a.animate({width:q,height:i,top:f.top+m.top},200,l);return{top:f.top,left:f.left-m.left,additional:a}}function d(f,g){a.remove()}})();StackExchange.chatAd=(function(){var a,b,o=180,m=30,k=480,g=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];if(/^\/questions\/\d+/i.test(window.location.pathname)){k=0}return{init:function(r){a=r.chatUrl;b=r.reloadUrl;if(r.tagBased){var s=h();if(!s){return}b+=(/\?/.test(b)?"&":"?")+"tags="+encodeURIComponent(s)}if(r.preloadData===null){e()}else{l(r.preloadData,null,null)}}};function h(){var r=$(".question .post-taglist .post-tag");if(!r.length){return null}return r.map(function(t,s){return $(s).text()}).get().join(" ")}function j(r){return r<10?"0"+r:r}function q(r){var s=new Date();s.setTime(r*1000);return[s.getUTCFullYear(),"-",j(s.getUTCMonth()+1),"-",j(s.getUTCDate())," ",j(s.getUTCHours()),":",j(s.getUTCMinutes()),":",j(s.getUTCSeconds()),"Z"].join("")}function n(s){var u=Math.floor((new Date()).getTime()/1000);var y=u-s;var w=y%60;var r=Math.floor(y/60);var t=Math.floor(y/3600);if(y<1){return"just now"}if(y<60){return w==1?"1 sec ago":w+" secs ago"}if(y<3600){return r==1?"1 min ago":r+" mins ago"}if(y<86400){return t==1?"1 hour ago":t+" hours ago"}var x=Math.floor(y/86400);if(x==1){return"yesterday"}else{if(x<=2){return x+" days ago"}}var v=new Date(s*1000);return g[v.getMonth()]+" "+v.getDate()+" at "+v.getHours()+":"+j(v.getMinutes())}function f(r){var s=$("<div />");s.text(r);return s.html().replace('"',""")}function e(){$.get(b,null,function(r,t,s){l(r,t,s)})}function d(r){var s=$('<div class="ad502-users" />');for(var u=0;u<r.length&&u<7;u++){var x=r[u];var t=x.name;if(x.lastPost){t+=": "+n(x.lastPost)}var v=a+"/users/"+x.id;var y="http://www.gravatar.com/avatar/"+x.emailhash+"?s=23&d=identicon&r=PG";var w=$('<a href="'+v+'" />');$("<img />").attr("title",t).attr("src",y).appendTo(w);s.append(w)}return s}function c(r){return $('<div class="ad502-users"><img src="'+a+"/rooms/users/"+r+'.jpeg" /></div>')}function p(s){var t=s.user;var r=s.userid;if(r){return'<a href="'+a+"/users/"+r+'">'+f(t)+"</a>"}return f(t)}function i(){if(o<=k){window.setTimeout(e,o*1000)}o+=m}function l(r,u,t){var w=$("#ad502-rooms");if(r.error){i();return}w.html("");var y=r.rooms;for(var s=0;s<y.length&&s<2;s++){var v=y[s];var z=a+"/rooms/"+v.id;var x=$('<div class="ad502-room"></div>');x.append($('<h3 class="ad502-room-h3"><span class="ad502-room-title" title="'+f(v.name)+'"><a href="'+z+'">'+f(v.name)+"</a></span></h3>"));if(v.messages&&v.messages.length>0){x.append($('<span title="'+q(v.lastPost)+'" class="ad502-last-message">'+n(v.lastPost)+" - "+p(v.messages[0])+"</span><br>"))}if(v.singleImage){x.append(c(v.id))}else{x.append(d(v.users))}w.append(x)}if(r.activeUsers>1){$("#h-chat-link").text(r.activeUsers+" People Chatting")}else{$("#h-chat-link").text("Visit Chat")}$("#h-chat-link").attr("title",r.activeUsers+" users active in "+r.activeRooms+" rooms the last 60 minutes");i()}})();StackExchange.helpers.noDiacritics=(function(){var a={"àåáâäãåą":"a","èéêëę":"e","ìíîïı":"i","òóôõöøő":"o","ùúûü":"u","çćč":"c","żźž":"z","śşš":"s","ñń":"n","ýŸ":"y","ł":"l","đ":"d","ß":"ss","ğ":"g","Þ":"th"};return function(b){for(var c in a){if(a.hasOwnProperty(c)){b=b.replace(new RegExp("["+c+"]"),a[c])}}return b}})();function sanitizeAndSplitTags(b,g){b=$.trim(b).replace(/([A-Za-z0-9])\+(?=[A-Za-z0-9])/g,"$1 ");var d=b.split(/[\s|,;]+/);var f=[];for(var c=0;c<d.length;c++){var e=StackExchange.helpers.noDiacritics(d[c].toLowerCase()).replace(/_/g,"-");var a="[^a-z0-9.#+"+(g?"*":"")+"-]";e=e.replace(new RegExp(a,"g"),"");e=e.replace(/^[#+-]+/,"");e=e.replace(/[.-]+$/,"");if(e.length>0&&$.inArray(e,f)==-1){f.push(e)}}return f}StackExchange.question=(function(){var c=function(h){if(/^#comment/.test(window.location.hash)){var j=window.location.hash.indexOf("_");var k=+window.location.hash.substring(8,j);var i=+window.location.hash.substring(j+1);var f=$("#comments-link-"+i);var g="#comment-"+k;var l=$(g).length!=0;var m=function(){$(g).css({backgroundColor:h.highlightColor});$(g).animate({backgroundColor:h.backgroundColor},2000,"linear",function(){$(this).css("background-color","")});$(g)[0].scrollIntoView(true)};if(l){m()}else{StackExchange.comments.loadAll(f).done(m)}}};var a=function(){return $("div.share-tip a[id^='link-post-']")};var e=function(g,k){var i=g!=null;if(!g){g=$('div.question div.post-menu a:contains("link")')}var l=g.closest(".post-menu, .help-menu");if(g.hasClass("share-link")){l.find(".close-share-tip").click()}else{g.addClass("share-link");var j=g.attr("id").substring("link-post-".length);var f=g.closest(".col-section").length?"section":(g.closest("div.question").length?"question":"answer");var h=$('<div class="share-tip" style="display:none">share a link to this '+f+'<input type="text" value="http://'+document.location.host+g.attr("href")+'" style="display:block; width:292px;"><a class="close-share-tip" style="float:right">close</a></div>');if(k){h.find(".close-share-tip").before('<a id="link-post-'+j+'" style="float:left">cite</a>')}h.appendTo(l).fadeIn(i?"fast":0).bind("removing",function(){g.removeClass("share-link")}).find(".close-share-tip").click(function(){h.fadeOutAndRemove()}).end().find("input[type=text]").select()}};var d=function(r){var f=$("#post-form h2:first"),g=f.wrap("<div />").parent(),i=g.wrap("<div />").parent(),j=$("<div />").prependTo(i),k=i.height(),q=$("<div />"),p=$(r),l=parseInt(f.css("margin-bottom")),m=$("#content"),h=$("#wmd-input").outerWidth(),n=1000,o=m.offset().left>f.offset().left-5&&m.css("overflow-x")!="visible";q.css({height:0,overflowY:"hidden"}).appendTo(g).append(p);i.css({height:k,position:"relative"});g.css({position:"absolute",bottom:-l,width:h});j.addClass("answer-help-background").css({position:"absolute",bottom:-l,height:0,width:h});if(o){j.css("left",0);g.animate({paddingLeft:5},n)}q.animate({height:p.height()+l+10},n);j.animate({height:p.height()+l+10+k},n);$("<div style='float:right;margin-top:10px;'><a href='#'>ok</a></div>").hide().prependTo(g).fadeIn(1000).find("a").one("click",function(t){var s=$(this).parent();setTimeout(function(){s.remove()},1);q.animate({height:0},n,function(){q.add(j).remove();f.unwrap().unwrap()});j.animate({height:0},n);if(o){g.animate({paddingLeft:0},n)}t.preventDefault()})};var b=function(){$.get("/posts/answer-help").then(d)};return{showShareTip:e,init:function(h){if(StackExchange.question.fullInit){StackExchange.question.fullInit(h)}else{StackExchange.question.bindAnonymousVoteDisclaimers()}StackExchange.comments.init({autoShowCommentHelp:h.autoShowCommentHelp});if(h.showShareTip){e()}$("input.anon-vote").live("click",function(){var j=$(this);var l=j.postId();var k=j.parent();k.closest(".question,.answer").unbind("mouseenter.helpful").unbind("mouseleave.helpful");k.text("sending feedback ...");setTimeout(function(){k.text("Thank you for your feedback.")},500);$.ajax({type:"POST",url:"/vote/anon/"+l,data:{votetypeid:(j.val()=="Yes"?2:3)},complete:function(){}})});var g=$(".was-this-helpful");var i=g.css("color");var f=$(".post-text").css("color");g.each(function(){var m=$(this);var l=m.text();var k="Was this post useful to you? <input style='display:none;' class='anon-vote' type='button' value='Yes'/> <input style='display:none;' class='anon-vote' type='button' value='No'/>";var n=function(){m.html(k).animate({color:f},"fast","linear").find("input").fadeIn("fast")};var j=function(){m.text(l).animate({color:i},"fast","linear")};m.closest(".answer, .question").bind("mouseenter.helpful",n).bind("mouseleave.helpful",j)});$('.post-menu a:contains("link")').live("click",function(j){if(!j.ctrlKey&&!j.metaKey){e($(this),h.showCitation);return false}});if(h.showAnswerHelp){$("#wmd-input").one("focus",b)}if(h.showCitation){a().live("click",function(){var j=$(this).closest(".post-menu");j.find(".close-share-tip").click();citation.show($(this))})}$(function(){c(h)})}}})();StackExchange.question.bindAnonymousVoteDisclaimers=function(){function a(b){return function(d){var c='Please <a href="/users/login?returnurl='+escape(document.location)+'">login or register</a> to '+b+" this post.";StackExchange.helpers.showErrorPopup($(this).parent(),c);d.preventDefault()}}$(".vote-up-off, .vote-down-off").click(a("vote for"));$("div.post-menu a[id^='flag-post-']").unbind("click").click(a("flag"));$(".star-off:not(.disabled)").live("click",a("favorite"))};StackExchange.comments=(function(){var d={};function a(g,h){this.postId=g;this.jDiv=h;this.jCommentsLink=$("#comments-link-"+g)}var f=function(){};a.prototype={checkDiscussion:f,ensureInput:f,commentsShown:f,addShow:function(i){var g=this;this.loadAllComments().done(function(){g.jCommentsLink.hide();g.checkDiscussion()});var h=this.ensureInput();if(h&&!i){h.focus()}},ajax:function(j,g,i,k){if(i&&!k){StackExchange.helpers.addSpinner(i,{"margin-left":"10px"})}var h=this;return $.ajax(j).fail(function(l){$(".error-notification").fadeOut("fast",function(){$(this).remove()});var m=l.responseText;if(!m||m.length>=100){m="An error occured"+(g?" "+g:"")}StackExchange.helpers.showErrorPopup(i||h.jDiv,m);if(i&&!k){StackExchange.helpers.removeSpinner()}}).done(StackExchange.helpers.removeSpinner).promise()},showComments:function(g){this.jDiv.find(" > table > tbody").html(g);this.jCommentsLink.text("add comment");if(typeof MathJax!="undefined"){MathJax.Hub.Queue(["Typeset",MathJax.Hub])}this.commentsShown()},loadAllComments:function(h){this.jDiv.removeClass("dno");if(!h&&!/more comment/.test($("#comments-link-"+this.postId).text())){return $.Deferred().resolve().promise()}var g=this;return this.ajax({type:"GET",url:"/posts/"+this.postId+"/comments",dataType:"html"},"while fetching comments").done(function(i){g.showComments(i)}).promise()}};function e(j){var k=j.constructor===$?j:$(j);var h=k.closest(".question, .answer, div[id^='post-']").find(".comments");var g=h.attr("id").replace(/^comments-/,"");if(d[g]){return d[g]}var i=new a(g,h);d[g]=i;return i}function c(g){var h=(g&&g.post)||document;$("a[id^='comments-link-']",h).click(function(){e(this).addShow()})}function b(h){for(var g in h){if(h.hasOwnProperty(g)){a.prototype[g]=h[g]}}}return{init:c,loadAll:function(g){return e(g).loadAllComments(true)},extendPostUi:b,uiForPost:e}})();StackExchange.share=(function(){function a(c,d,b){if(!window.open(c,d,b)){window.location.href=c}}return{twitter:function(c,b,d){c.click(function(){a("http://twitter.com/share?url="+b+"&ref=twitbtn&text="+d,"sharetwitter","toolbar=1,status=1,resizable=1,scrollbars=1,width=800,height=526")})},facebook:function(c,b,d){c.click(function(){a("http://www.facebook.com/sharer.php?u="+b+"&ref=fbshare&t="+d,"sharefacebook","toolbar=1,status=1,resizable=1,scrollbars=1,width=626,height=436")})}}})();function initTagRenderer(b,a){if(window.tagRenderer){return}window.tagRendererRaw=function(c,f){f=f||"";var e="";if(!f){if(b&&$.inArray(c,b)>-1){e=" required-tag"}else{if(a&&$.inArray(c,a)>-1){e=" moderator-tag"}}}var d="<a class='post-tag"+e+"' href='"+f+"/questions/tagged/"+encodeURIComponent(c)+"' title=\"show questions tagged '"+c+"'\" rel='tag'>"+c+"</a>";return d};window.tagRenderer=function(d,c){return $(tagRendererRaw(d,c))}}function showFadingHelpText(a){a.wrap('<div class="dno" />').show().parent().fadeIn("slow",function(){$(this).children().unwrap()})}function initFadingHelpText(){var b={"wmd-input":"#how-to-format",tagnames:"#how-to-tag","tag-editor":"#how-to-tag",title:"#how-to-title"};var a=$("#wmd-input, #tagnames, #title, .tag-editor input");var c=function(e){var d=$(e);if(d.parent().hasClass("tag-editor")){return b["tag-editor"]}return b[$(e).attr("id")]};a.focus(function(){var e=c(this);a.each(function(){var f=c(this);if(f!=e){$(f).hide()}});var d=$(e);if(!d.is(":visible")){showFadingHelpText(d)}})}$.fn.extend({postId:function(){var a=this.first();if(!a.hasClass("answer")||!a.hasClass("question")){a=a.closest(".answer, .question")}return parseInt(a.find(".vote input")[0].value)}});StackExchange.newsletterAd=(function(){function c(d){var e=$('<div id="lightbox-panel" class="popup" style="display:block"></div>').append('<div class="popup-close"><a title="close this popup (or hit Esc)">×</a></div>').append(d);$('<div id="lightbox"></div>').appendTo($("body")).css("height",$(document).height()).fadeIn("fast");e.appendTo($("body")).center().fadeIn("fast").find(".popup-close").click(function(){$("#lightbox, #lightbox-panel").fadeOutAndRemove()})}function b(){var e=StackExchange.options.site.name;var d=$(['<div style="text-align: left;">','<h2 style="margin-bottom: 15px;">Subscribe to the '+e+" weekly newsletter</h2>",'<p><strong><a href="/users/login?returnurl=/newsletter/signup/redirect">Create an account on '+e+'</a> or <a href="/users/login?returnurl=/newsletter/signup/redirect">log in</a> if you already have one.</strong></p>','<form><label for="newsletter-email-input">Or, send newsletter emails to:</label> <input type="text" id="newsletter-email-input" maxlength="100" title="your email address" /> <input type="submit" value="Subscribe" id="newsletter-email-submit" /></form>',"</div>"].join(""));d.find("form").submit(function(){var g=$(this);var f=$.trim(d.find("#newsletter-email-input").val());if(f.length==0){return false}StackExchange.helpers.addSpinner(g);$.ajax({url:"/newsletter/signup/anon",type:"POST",dataType:"json",data:{email:f},success:function(i,j,h){if(i.status=="confirmed"&&!i.error){g.find("#newsletter-email-input").attr("disabled",true);g.find("#newsletter-email-submit").replaceWith('<span style="line-height: 120%; text-align: center;"><strong>Subscribed!</strong></span>');$("#newsletter-signup-container").replaceWith('<div style="line-height: 200%; text-align: center;"><strong>Subscribed!</strong></div>')}else{if(i.status=="unconfirmed"&&!i.error){g.find("#newsletter-email-input").attr("disabled",true);g.find("#newsletter-email-submit").replaceWith('<span style="line-height: 120%; text-align: center;"><strong>Subscribed!</strong></span>');g.append("<br /><br/><p><em>Please click the link in the confirmation email to activate your subscription.</em></p>");$("#newsletter-signup-container").replaceWith('<span style="line-height: 120%;"><strong>Success!</strong> Please click the link in the confirmation email to activate your subscription.</span>')}else{g.showErrorPopup(i.error||"there was a problem signing up for the newsletter<br />please try again later")}}},error:function(h,i,j){g.showErrorPopup("there was a problem signing up for the newsletter<br />please try again later")},complete:function(){StackExchange.helpers.removeSpinner(g)}});return false});c(d)}function a(){$("#newsletter-signup").click(function(){var d=$(this);if(StackExchange.options.user.isAnonymous){b();return false}StackExchange.helpers.addSpinner("#newsletter-signup-container");$.ajax({url:"/newsletter/signup",type:"POST",dataType:"json",success:function(f,g,e){if(f.url){window.location.href=f.url}else{if(f.status=="confirmed"){$("#newsletter-signup-container").replaceWith('<div style="line-height: 200%; text-align: center;"><strong>Subscribed!</strong></div>')}else{if(f.status=="unconfirmed"){$("#newsletter-signup-container").replaceWith('<span style="line-height: 120%;"><strong>Success!</strong> Please click the link in the confirmation email to activate your subscription.</span>')}else{d.parent().showErrorPopup("there was a problem signing up for the newsletter<br />please try again later")}}}},error:function(e,f,g){d.parent().showErrorPopup("there was a problem signing up for the newsletter<br />please try again later")},complete:function(){StackExchange.helpers.removeSpinner("#newsletter-signup-container")}})});$("#newsletter-preview").click(function(){var d=$(window).height();var f=Math.min(600,d-100);var e=['<div id="newsleter-preview-pane" style="overflow: hidden; width: 660px; height: ',f,'px;">','<iframe src="',$(this).attr("href"),'" width="660" height="',f,'" frameborder="0"></iframe>',"</div>"].join("");c(e);return false})}return{init:a}})();(function(c,d,a,b){c.fn.caret=function(k,i){var j,m,o=this[0],n=c.browser.msie;if(typeof k==="object"&&typeof k.start==="number"&&typeof k.end==="number"){j=k.start;m=k.end}else{if(typeof k==="number"&&typeof i==="number"){j=k;m=i}else{if(typeof k==="string"){if((j=o.value.indexOf(k))>-1){m=j+k[d]}else{j=null}}else{if(Object.prototype.toString.call(k)==="[object RegExp]"){k=k.exec(o.value);if(k!=null){j=k.index;m=j+k[0][d]}}}}}if(typeof j!="undefined"){if(n){n=this[0].createTextRange();n.collapse(true);n.moveStart("character",j);n.moveEnd("character",m-j);n.select()}else{this[0].selectionStart=j;this[0].selectionEnd=m}this[0].focus();return this}else{if(n){m=document.selection;if(this[0].tagName.toLowerCase()!="textarea"){n=this.val();j=m[a]()[b]();j.moveEnd("character",n[d]);var p=j.text==""?n[d]:n.lastIndexOf(j.text);j=m[a]()[b]();j.moveStart("character",-n[d]);var e=j.text[d]}else{j=m[a]();m=j[b]();m.moveToElementText(this[0]);m.setEndPoint("EndToEnd",j);p=m.text[d]-j.text[d];e=p+j.text[d]}}else{p=o.selectionStart;e=o.selectionEnd}j=o.value.substring(p,e);return{start:p,end:e,text:j,replace:function(f){return o.value.substring(0,p)+f+o.value.substring(e,o.value[d])}}}}})(jQuery,"length","createRange","duplicate");