From 68c88b5a1ee8885116c52d67c9e843d5065e4a9c Mon Sep 17 00:00:00 2001 From: "Benjamin J. Balter" Date: Wed, 10 Aug 2011 10:43:17 -0600 Subject: [PATCH] minified ie fix --- js/emphasis.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/js/emphasis.js b/js/emphasis.js index 08390ce..991cd89 100644 --- a/js/emphasis.js +++ b/js/emphasis.js @@ -7,4 +7,18 @@ jQueryized by Rob Flaherty (@ravelrumba) https://github.com/robflaherty/Emphasis */ -jQuery(function($){var Emphasis={init:function(){this.config();this.pl=false;this.p=false;this.h=false;this.s=false;this.vu=false;this.kh="|";this.addCSS();this.readHash();$(document).bind("keydown",this.keydown)},config:function(){this.paraSelctors=$("#article-content p");this.classReady="emReady";this.classActive="emActive";this.classHighlight="emHighlight";this.classInfo="emInfo";this.classAnchor="emAnchor";this.classActiveAnchor="emActiveAnchor"},addCSS:function(){var st=document.createElement("style");st.innerHTML="p."+this.classActive+" span { background-color:#f2f4f5; } p span."+this.classHighlight+" { background-color:#fff0b3; } span."+this.classInfo+" { position:absolute; margin:-1px 0px 0px -8px; padding:0; font-size:10px; background-color: transparent !important} span."+this.classInfo+" a { text-decoration: none; } a."+this.classActiveAnchor+" { color: #000; font-size: 11px; }";document.getElementsByTagName("head")[0].appendChild(st)},readHash:function(){var lh=decodeURI(location.hash),p=false,h=[],s={},a,re,f,r,i,findp,findh,undef,hi,key,pos,b,j;if(lh.indexOf("[")<0&&lh.indexOf("]")<0){re=/[ph][0-9]+|s[0-9,]+|[0-9]/g;if(lh){while((a=re.exec(lh))!==null){f=a[0].substring(0,1);r=a[0].substring(1);if(f==="p"){p=parseInt(r,10)}else{if(f==="h"){h.push(parseInt(r,10))}else{a=r.split(",");for(i=0;i0)?findp[1]:false;hi=(findh&&findh.length>0)?findh[1]:false;if(hi){hi=hi.match(/[a-zA-Z]+(,[0-9]+)*/g);for(i=0;i0){for(j=1;j-1){self.vu=(self.vu)?false:true;self.paragraphInfo(self.vu)}setTimeout(function(){self.kh="|"},500)},paragraphList:function(){if(this.pl&&this.pl.list.length>0){return this.pl}var instance=this,list=[],keys=[],c=0,len=this.paraSelctors.length,p,pr,k;for(p=0;p0){k=instance.createKey(pr);list.push(pr);keys.push(k);pr.setAttribute("data-key",k);pr.setAttribute("data-num",c);$(pr).bind("click",function(e){instance.paragraphClick(e)});c++}}this.pl={list:list,keys:keys};return this.pl},paragraphClick:function(e){if(!this.vu){return}var hasChanged=false,pr=(e.currentTarget.nodeName==="P")?e.currentTarget:false,$pr=$(pr),sp=(e.target.nodeName==="SPAN")?e.target:false,an=(e.target.nodeName==="A")?e.target:false,lines,jLen,j,txt,chr;if(an){if(!$(an).hasClass(this.classActiveAnchor)){this.updateAnchor(an);hasChanged=true;e.preventDefault()}}if(!pr&&!sp){this.removeClass(this.classActive);return}if($pr.hasClass(this.classReady)){if(!$pr.hasClass(this.classActive)&&(sp&&!$(sp).hasClass(this.classHighlight))){$(this).removeClass(this.classActive);$pr.addClass(this.classActive)}else{if(!$pr.hasClass(this.classActive)){$(this).removeClass(this.classActive);$pr.addClass(this.classActive)}if(sp){$(sp).toggleClass(this.classHighlight);hasChanged=true}}}else{lines=this.getSentences(pr);jLen=lines.length;for(j=0;j"+this.rtrim(lines[j])+""}txt=lines.join(". ").replace(/__DOT__/g,".").replace(/<\/span>\./g,".");chr=txt.substring(txt.length-8).charCodeAt(0);if("|8221|63|46|41|39|37|34|33|".indexOf(chr)===-1){txt+="."}pr.innerHTML=txt;pr.setAttribute("data-sentences",jLen);$(this).removeClass(this.classActive);$pr.addClass(this.classActive);$pr.addClass(this.classReady);hasChanged=true}if(hasChanged){this.updateURLHash()}},paragraphInfo:function(mode){var hasSpan,pl,len,i,para,key,isActive,spans;if(mode){hasSpan=$("span."+this.classInfo);if(hasSpan.length===0){pl=this.paragraphList();len=pl.list.length;for(i=0;i"+para.innerHTML}}}}else{spans=$("span."+this.classInfo);len=spans.length;for(i=0;i0){h+=","+key}if(nSent!==sLen){for(s=0;s1){lines=this.getSentences(txt);if(lines.length>0){first=this.cleanArray(lines[0].replace(/[\s\s]+/gi," ").split(" ")).slice(0,(len/2));last=this.cleanArray(lines[lines.length-1].replace(/[\s\s]+/gi," ").split(" ")).slice(0,(len/2));k=first.concat(last);max=(k.length>len)?len:k.length;for(i=0;i"+lines[j]+""}for(j=0;j\./g,".");$(para).addClass("emReady")}}},getSentences:function(el){var html=(typeof el==="string")?el:el.innerHTML,mrsList="Mr,Ms,Mrs,Miss,Msr,Dr,Gov,Pres,Sen,Prof,Gen,Rep,St,Messrs,Col,Sr,Jf,Ph,Sgt,Mgr,Fr,Rev,No,Jr,Snr",topList="A,B,C,D,E,F,G,H,I,J,K,L,M,m,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,etc,oz,cf,viz,sc,ca,Ave,St",geoList="Calif,Mass,Penn,AK,AL,AR,AS,AZ,CA,CO,CT,DC,DE,FL,FM,GA,GU,HI,IA,ID,IL,IN,KS,KY,LA,MA,MD,ME,MH,MI,MN,MO,MP,MS,MT,NC,ND,NE,NH,NJ,NM,NV,NY,OH,OK,OR,PA,PR,PW,RI,SC,SD,TN,TX,UT,VA,VI,VT,WA,WI,WV,WY,AE,AA,AP,NYC,GB,IRL,IE,UK,GB,FR",numList="0,1,2,3,4,5,6,7,8,9",webList="aero,asia,biz,cat,com,coop,edu,gov,info,int,jobs,mil,mobi,museum,name,net,org,pro,tel,travel,xxx",extList="www",d="__DOT__",list=(topList+","+geoList+","+numList+","+extList).split(","),len=list.length,i,lines;for(i=0;i0){n.push(a[i])}}return n}};$(window).bind("load",function(){Emphasis.init()})}); \ No newline at end of file +jQuery(function(h){var k={init:function(){this.config();this.vu=this.s=this.h=this.p=this.pl=!1;this.kh="|";this.addCSS();this.readHash();h(document).bind("keydown",this.keydown)},config:function(){this.paraSelctors=h("#article-content p");this.classReady="emReady";this.classActive="emActive";this.classHighlight="emHighlight";this.classInfo="emInfo";this.classAnchor="emAnchor";this.classActiveAnchor="emActiveAnchor"},addCSS:function(){var a=document.createElement("style");a.setAttribute("type","text/css"); +var b="p."+this.classActive+" span { background-color:#f2f4f5; } p span."+this.classHighlight+" { background-color:#fff0b3; } span."+this.classInfo+" { position:absolute; margin:-1px 0px 0px -8px; padding:0; font-size:10px; background-color: transparent !important} span."+this.classInfo+" a { text-decoration: none; } a."+this.classActiveAnchor+" { color: #000; font-size: 11px; }";try{a.innerHTML=b}catch(c){a.styleSheet.cssText=b}document.getElementsByTagName("head")[0].appendChild(a)},readHash:function(){var a= +decodeURI(location.hash),b=!1,c=[],e={},d,f,g;if(a.indexOf("[")<0&&a.indexOf("]")<0){if(f=/[ph][0-9]+|s[0-9,]+|[0-9]/g,a)for(;(d=f.exec(a))!==null;)if(g=d[0].substring(0,1),d=d[0].substring(1),g==="p")b=parseInt(d,10);else if(g==="h")c.push(parseInt(d,10));else{d=d.split(",");for(g=0;g0?b[1]:!1,a=g&&g.length>0?g[1]:!1){a=a.match(/[a-zA-Z]+(,[0-9]+)*/g);for(g=0;g0)for(f=1;f-1)b.vu=b.vu?!1:!0,b.paragraphInfo(b.vu);setTimeout(function(){b.kh="|"},500)},paragraphList:function(){if(this.pl&&this.pl.list.length>0)return this.pl;var a=this,b=[],c=[],e=0,d=this.paraSelctors.length, +f,g,i;for(f=0;f0)i=a.createKey(g),b.push(g),c.push(i),g.setAttribute("data-key",i),g.setAttribute("data-num",e),h(g).bind("click",function(b){a.paragraphClick(b)}),e++;return this.pl={list:b,keys:c}},paragraphClick:function(a){if(this.vu){var b=!1,c=a.currentTarget.nodeName==="P"?a.currentTarget:!1,e=h(c),d=a.target.nodeName==="SPAN"?a.target:!1,f=a.target.nodeName==="A"?a.target:!1;f&&!h(f).hasClass(this.classActiveAnchor)&& +(this.updateAnchor(f),b=!0,a.preventDefault());if(!c&&!d)this.removeClass(this.classActive);else{if(e.hasClass(this.classReady))!e.hasClass(this.classActive)&&d&&!h(d).hasClass(this.classHighlight)?(h(this).removeClass(this.classActive),e.addClass(this.classActive)):(e.hasClass(this.classActive)||(h(this).removeClass(this.classActive),e.addClass(this.classActive)),d&&(h(d).toggleClass(this.classHighlight),b=!0));else{b=this.getSentences(c);a=b.length;for(d=0;d"+this.rtrim(b[d])+"";b=b.join(". ").replace(/__DOT__/g,".").replace(/<\/span>\./g,".");d=b.substring(b.length-8).charCodeAt(0);"|8221|63|46|41|39|37|34|33|".indexOf(d)===-1&&(b+=".");c.innerHTML=b;c.setAttribute("data-sentences",a);h(this).removeClass(this.classActive);e.addClass(this.classActive);e.addClass(this.classReady);b=!0}b&&this.updateURLHash()}}},paragraphInfo:function(a){var b,c,e,d,f;if(a){if(a=h("span."+this.classInfo),a.length===0){b=this.paragraphList();a=b.list.length; +for(c=0;c"+e.innerHTML}}else{b=h("span."+this.classInfo);a=b.length;for(c=0;c0&&(a+=","+d),i!==g)for(d=0;d1&&(c=this.getSentences(a),c.length>0)){a=this.cleanArray(c[0].replace(/[\s\s]+/gi," ").split(" ")).slice(0,3);c=this.cleanArray(c[c.length-1].replace(/[\s\s]+/gi," ").split(" ")).slice(0,3);a=a.concat(c);c=a.length>6?6:a.length;for(e=0;e"+i[j]+"";for(j=0;j\./g,".");h(d).addClass("emReady")}}},getSentences:function(a){var a=typeof a==="string"?a:a.innerHTML,b="A,B,C,D,E,F,G,H,I,J,K,L,M,m,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,etc,oz,cf,viz,sc,ca,Ave,St,Calif,Mass,Penn,AK,AL,AR,AS,AZ,CA,CO,CT,DC,DE,FL,FM,GA,GU,HI,IA,ID,IL,IN,KS,KY,LA,MA,MD,ME,MH,MI,MN,MO,MP,MS,MT,NC,ND,NE,NH,NJ,NM,NV,NY,OH,OK,OR,PA,PR,PW,RI,SC,SD,TN,TX,UT,VA,VI,VT,WA,WI,WV,WY,AE,AA,AP,NYC,GB,IRL,IE,UK,GB,FR,0,1,2,3,4,5,6,7,8,9,www".split(","), +c=b.length,e;for(e=0;e0&&b.push(a[c]);return b}};h(window).bind("load",function(){k.init()})});