
/*
Emphasis
by Michael Donohoe (@donohoe)
https://github.com/NYTimes/Emphasis
http://open.blogs.nytimes.com/2011/01/10/emphasis-update-and-source/
Requires PrototypeJS library (http://prototypejs.org/download)
*/
/* $Id: app.js 54896 2011-01-11 20:10:37Z donohoe $ 
https://github.com/NYTimes/Emphasis
*/

(function(){
var oldgasgas;

var _1={
 lev:function(a,b){var m=a.length;var n=b.length;var r=[];r[0]=[];if(m<n){var c=a;a=b;b=c;var o=m;m=n;n=o;}for(var c=0;c<n+1;c++){r[0][c]=c;}for(var i=1;i<m+1;i++){r[i]=[];r[i][0]=i;for(var j=1;j<n+1;j++){r[i][j]=this.smallest(r[i-1][j]+1,r[i][j-1]+1,r[i-1][j-1]+((a.charAt(i-1)==b.charAt(j-1))?0:1));}}return r[m][n];},
 
 
 init:function(){this.config();this.pl=false;this.p=false;this.h=false;this.s=false;this.vu=true;this.addCSS();this.readHash(); this.paragraphInfo(true);},

 
 config:function(){this.paraSelctors=$$("#mainposts p:not(:empty)");this.classReady="emReady";this.classActive="emActive";this.classHighlight="emHighlight";this.classInfo="emInfo";this.classAnchor="emAnchor";this.classActiveAnchor="emActiveAnchor";},
 addCSS:function(){/* Inject the minimum styles rules required */
var st = document.createElement('style');
st.setAttribute('type', 'text/css');
var stStr = 'p.' + this.classActive + ' span { background-color:#e2e4e5; } p span.' + this.classHighlight + ' { background-color:#fff0b3; } span.' + this.classInfo + ' {visibility:hidden; position:absolute; margin:8px 0px 0px -32px; padding:0px;  font-size:11px; background-color: transparent !important} a.' + this.classAnchor + ' { text-decoration: none; color:999; } a.' + this.classActiveAnchor + ' { color: #000; font-size: 11px; }  ';
try {
st.innerHTML = stStr;
} catch(e) {
st.styleSheet.cssText = stStr;
}
document.getElementsByTagName("head")[0].appendChild(st);
},
 
 
 
ordinal:function(n){var sfx=["th","st","nd","rd"],val=n%100;return n+(sfx[(val-20)%10]||sfx[val]||sfx[0]);},

findKey:function(key){var pl=this.paragraphList();var ln=pl.keys.length;var ix=false;var el=false;for(var i=0;i<ln;i++){if(key==pl.keys[i]){return{index:i,elm:pl.list[i]};}else{if(!ix){var ls=this.lev(key.slice(0,3),pl.keys[i].slice(0,3));var le=this.lev(key.slice(-3),pl.keys[i].slice(-3));if((ls+le)<3){ix=i;el=pl.list[i];}}}}return{index:ix,elm:el};},
 
// if(_15.kh.indexOf("|16|16|")>-1){_15.vu=(_15.vu)?false:true}
 
smallest:function(x,y,z){if(x<y&&x<z){return x;}if(y<x&&y<z){return y;}return z;},rtrim:function(txt){return txt.replace(/\s+$/,"");},

readHash:function(){var lh=decodeURI(location.hash);var p=false,h=[],s={};if(lh.indexOf("[")<0&&lh.indexOf("]")<0){var a,re=/[ph][0-9]+|s[0-9,]+|[0-9]/g;if(lh){while((a=re.exec(lh))!==null){var f=a[0].substring(0,1);var r=a[0].substring(1);if(f=="p"){p=parseInt(r);}else{if(f=="h"){h.push(parseInt(r));}else{a=r.split(",");for(var i=0;i<a.length;i++){a[i]=parseInt(a[i]);}s[h[h.length-1]]=a;}}}}}else{var _c=lh.match(/p\[([^[\]]*)\]/);var _d=lh.match(/h\[([^[\]]*)\]/);var _e,hi;p=(_c&&_c.length>0)?_c[1]:false;hi=(_d&&_d.length>0)?_d[1]:false;if(hi){hi=hi.match(/[a-zA-Z]+(,[0-9]+)*/g);for(var i=0;i<hi.length;i++){var a=hi[i].split(",");var key=a[0];var pos=this.findKey(key)["index"];if(pos!=_e){h.push(parseInt(pos)+1);var b=a;b.shift();if(b.length>0){for(var j=1;j<b.length;j++){b[j]=parseInt(b[j]);}}s[h[h.length-1]]=b;}}}}
 
// this.p=p;
 
 this.h=h;this.s=s;this.goAnchor(p);this.goHighlight(h,s);},
 goAnchor:function(p){if(!p){return;}var pg=(isNaN(p))?this.findKey(p)["elm"]:(this.paragraphList().list[p-1]||false);var _53=this;if(pg){setTimeout(function(){pg.scrollTo();},500);}},

 createKey:function(p){var key="";var len=6;var txt=(p.innerText||p.textContent||"").replace(/[^a-z\. ]+/gi,"");if(txt&&txt.length>1){var _43=this.getSentences(txt);if(_43.length>0){var _44=this.cleanArray(_43[0].replace(/[\s\s]+/gi," ").split(" ")).slice(0,(len/2));var _45=this.cleanArray(_43[_43.length-1].replace(/[\s\s]+/gi," ").split(" ")).slice(0,(len/2));var k=_44.concat(_45);var max=(k.length>len)?len:k.length;for(var i=0;i<max;i++){key+=k[i].substring(0,1);}}}return key;},
 cleanArray:function(a){var n=[];for(var i=0;i<a.length;i++){if(a[i]&&a[i].replace(/ /g,"").length>0){n.push(a[i]);}}return n;},
 goHighlight:function(h,s){if(!h){return;}var _56=h.length;for(var i=0;i<_56;i++){var _58=this.paragraphList().list[h[i]-1]||false;if(_58){var _59=s[h[i].toString()]||false;var _5a=!_59||_59.length==0;var _5b=this.getSentences(_58);var _5c=_5b.length;for(var j=0;j<_5c;j++){var k=(_5a)?j:_59[j]-1;_5b[j]="<span data-num='"+(j+1)+"'>"+_5b[j]+"</span>";}for(var j=0;j<_5c;j++){var k=(_5a)?j:_59[j]-1;var _5f=_5b[k]||false;if(_5f){_5b[k]=_5b[k].replace("<span","<span class='"+this.classHighlight+"'");}}_58.setAttribute("data-sentences",_5c);_58.innerHTML=_5b.join(". ").replace(/__DOT__/g,".").replace(/<\/span>\./g,".</span>");_58.addClassName("emReady");}}},
 
 updateAnchor:function(an){this.p=an.getAttribute("data-key");this.removeAllClasses("a",this.classActiveAnchor);an.addClassName(this.classActiveAnchor);},
 
 getSentences:function(el){var _61=(typeof el=="string")?el:el.innerHTML;var _62="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";var _63="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";var _64="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";var _65="0,1,2,3,4,5,6,7,8,9";var _66="aero,asia,biz,cat,com,coop,edu,gov,info,int,jobs,mil,mobi,museum,name,net,org,pro,tel,travel,xxx";var _67="www";var d="__DOT__";var _69=(_63+","+_64+","+_65+","+_67).split(",");var len=_69.length;for(var i=0;i<len;i++){_61=_61.replace(new RegExp((" "+_69[i]+"\\."),"g"),(" "+_69[i]+d));}_69=(_62+","+_65).split(",");len=_69.length;for(var i=0;i<len;i++){_61=_61.replace(new RegExp((_69[i]+"\\."),"g"),(_69[i]+d));}_69=(_66).split(",");len=_69.length;for(var i=0;i<len;i++){_61=_61.replace(new RegExp(("\\."+_69[i]),"g"),(d+_69[i]));}var _6c=this.cleanArray(_61.split(". "));return _6c;},
 
	

	 

paragraphInfo:function(_2a){if(_2a){var _2b=(document.body.select("span."+this.classInfo)[0])?true:false;if(!_2b){var pl=this.paragraphList();var len=pl.list.length;for(var i=0;i<len;i++){var _2f=pl.list[i]||false;if(_2f){var key=pl.keys[i];var _31=(key==this.p)?(" "+this.classActiveAnchor):"";


		var url = document.URL;
			
			var url_parts = url.split('#');
			var umadasduas = url_parts[0]; 
if (umadasduas.charAt(umadasduas.length-1) != '/') {var umadasduas=url_parts[0]+'/';}

_2f.innerHTML="<span class='"+this.classInfo+"' id='"+key+"'><a class='"+this.classAnchor+_31+"' href='#' Onclick=\"Modalbox.show($('pp_"+key+"'), {title: this.title, width: 640, height: 600 }); return false;  \" data-key='"+key+"'  title='"+conexoes+(i+1)+"'><img src='/socia2l.png'><fb:comments-count href='"+umadasduas+"%23p%5B"+key+"%5D'></fb:comments-count></a></span>"+_2f.innerHTML;
 
 
 
 }}}}else{var _32=document.body.select("span."+this.classInfo);var len=_32.length;for(var i=0;i<len;i++){_32[i].remove();}this.removeAllClasses(this.classActive);}},


 paragraphList:function(){if(this.pl){return this.pl;}var _17=this;var _18=[];var _19=[];var c=0;var len=this.paraSelctors.length;for(var p=0;p<len;p++){var pr=this.paraSelctors[p];if((pr.innerText||pr.textContent||"").length>0){var k=_17.createKey(pr);_18.push(pr);_19.push(k);pr.setAttribute("data-key",k);pr.setAttribute("id","pp_"+k);pr.setAttribute("data-num",c);

 
Event.observe(pr,"mouseover",function(e){_17.paragraphMouseHover(e);});
 
Event.observe(pr,"click",function(e){_17.paragraphClick(e);});

c++;}}
 
 this.pl={list:_18,keys:_19};
 
 
//Event.observe(pr,"mouseover",function(){});
 
 
 return this.pl;
 
 
 },
 

updateURLHash:function(){
	var h="h[";
	
	var _35=$$("p.emReady");
	
	var _36=_35.length;

	
//alert (this.p +' a');
	for(var p=0;p<_36;p++){
		
		var key=_35[p].getAttribute("data-key");
		
		if(_35[p].hasClassName(this.classHighlight)){
			h+=","+key;
			}else{
				var _39=_35[p].select("span."+this.classHighlight);
				var _3a=_39.length;var _3b=_35[p].getAttribute("data-sentences");
				if(_3a>0){h+=","+key;}
				if(_3b!=_3a)
					{
						for(var s=0;s<_3a;s++){
							h+=","+_39[s].getAttribute("data-num");
					}
				}
				}
							}
								
							var _3d=((this.p)?"p["+this.p+"],":"");
							
							var _3e=(_3d+(h.replace("h[,","h[")+"]")).replace(",h[]","");
							
							location.hash=_3e;},


 
 paragraphClick:function(e){
	 
	 var _21=false;
	
	 var pr=(e.currentTarget.nodeName=="P")?e.currentTarget:false;
	 
	 var sp=(e.target.nodeName=="SPAN")?e.target:false;
	 
	 var an=(e.target.parentNode.nodeName=="A")?e.target:false;
	 
	 if(an){this.updateAnchor(an);_21=true;}

	// if(!an.hasClassName(this.classActiveAnchor)){e.preventDefault();}
	
//	 if(!pr&&!sp){ 	alert ('isso'); this.removeAllClasses("p",this.classActive);return;}
	 
	 if(pr.hasClassName(this.classReady)){		

		 
		 if(!pr.hasClassName(this.classActive)&&(sp&&!sp.hasClassName(this.classHighlight))){
			 
			 
			 this.removeAllClasses("p",this.classActive);pr.addClassName(this.classActive);}
		 
			else
				{
				
				if(!pr.hasClassName(this.classActive)){this.removeAllClasses("p",this.classActive);pr.addClassName(this.classActive);}
				if(sp){sp.toggleClassName(this.classHighlight);_21=true; }}
				
				}



			else{
			
					
				var _25=this.getSentences(pr);var _26=_25.length;for(var j=0;j<_26;j++){_25[j]="<span data-num='"+(j+1)+"'>"+this.rtrim(_25[j])+"</span>";}var txt=_25.join(". ").replace(/__DOT__/g,".").replace(/<\/span>\./g,".</span>");var 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",_26);this.removeAllClasses("p",this.classActive);pr.addClassName(this.classActive);pr.addClassName(this.classReady);_21=true;
				
				
				
				}
	 
	 
	 if(_21){this.p = e.currentTarget.getAttribute("data-key");;this.updateURLHash();}},
	 

 paragraphMouseHover:function(e){

	 if(!this.vu){return;}var _21=false;
	 
	 var pr=(e.currentTarget.nodeName=="P")?e.currentTarget:false;
	 
	 var sp=(e.target.nodeName=="SPAN")?e.target:false;
	 
	 var an=(e.target.parentNode.nodeName=="IMG")?e.target:false;

	 var gasgas = pr.getAttribute("data-key");

	document.getElementById(gasgas).style.visibility = "visible";


FB.XFBML.parse(document.getElementById(gasgas));

	var oldoldgasgas = window.oldgasgas;

if ( oldoldgasgas!=gasgas & oldoldgasgas!=null)
{
	document.getElementById(oldoldgasgas).style.visibility = "hidden";
}

window.oldgasgas = gasgas;


 
 
 }
	 ,
 removeAllClasses:function(tag,_81){if(!_81||!tag){return;}var els=$$((tag+"."+_81));for(var i=0;i<els.length;i++){els[i].removeClassName(_81);}}};

Event.observe(window, 'load', function(){ _1.init(); });


})();


//this.getAttribute("data-key")


