var Y=YAHOO;
var E=Y.util.Event;
var R=Y.util.Region;
var D=Y.util.Dom;
var C=Y.util.Connect;
var $=D.get;
Y.namespace('modal');
var Modal=Y.modal;
var axel=Math.random()+"";
var ord=axel*1000000000000000000;
var addEvent=E.addListener;
var addListener=E.addListener;
Array.prototype.inArray=function(value){
	var i;
	for(i=0;i<this.length;i++){
		if(this[i]===value){
			return true;
		}
	}
	return false;
};
var Class={
	create:function(){
return function(){
	this.initialize.apply(this,arguments);
}
}
};
var HuffPoUtil={
commenter_name:'',hide:function(id){
D.setStyle(id,'display','none');
}
,show:function(id){
D.setStyle(id,'display','block');
}
,toggleVis:function(id){
D.batch(id,function(el){
	if(el.style.display=='none')el.style.display='block';
	else el.style.display='none';
}
);
}
,toggleReply:function(id){
D.batch('reply_'+id,function(el){
	if(el.style.display=='none')el.style.display='block';
	else el.style.display='none';
}
);
}
,toggleTopPosts:function(caller){
if(!D.hasClass(caller,'active')){
	HuffPoUtil.toggleVis(['top_news_links','top_blog_links']);
	HuffPoUtil.tradeClass('tab_top_news','tab_top_blogs','active');
}
}
,tradeClass:function(el1,el2,className){
if(D.hasClass(el1,className)){
	D.addClass(el2,className);
	D.removeClass(el1,className);
}
else{
	D.addClass(el1,className);
	D.removeClass(el2,className);
}
}
,getCookie:function(name){
var prefix=name+'=';
var c=document.cookie;
var nullstring='';
var cookieStartIndex=c.indexOf(prefix);
if(cookieStartIndex==-1)
return nullstring;
var cookieEndIndex=c.indexOf(";",cookieStartIndex+prefix.length);
if(cookieEndIndex==-1)
cookieEndIndex=c.length;
return unescape(c.substring(cookieStartIndex+prefix.length,cookieEndIndex));
}
,init:function(){
this.externalLinks();
this.commenter_name=this.getCookie('commenter_name');
this.printUserStatus();
}
,resize:function(){
if(window.innerWidth<970){
	re=new RegExp(/.*?Netscape.(.*)/);
	matches=re.exec(navigator.userAgent);
	if(matches&&matches.length>=2&&matches[1]<7.2){
		document.body.style.margin='0';
	}
}
}
,printUserStatus:function(){
el=$('userstatus');
if(el&&this.commenter_name.length)
el.innerHTML='<a href="/users/preferences/">My Account</a>';
}
,showad:function(){
this.show('rightad');
this.show('frontmidad');
}
,externalLinks:function(){
E.addListener(document.getElementsByTagName("a"),'click',function(e){
	if(this.href&&this.rel=="popup"){
		E.stopEvent(e);
		var height=430;
		var width=450;
		if(this.className=='commentpop')
		height=430;
		if(this.className=='biolink')
		width=450;
		window.open(this.href,'bio','toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=1,resizable=1,width='+width+',height='+height);
	}
	if(this.href&&urchinTracker){
		urchinTracker("/out/?u="+this.href);
	}
}
);
}
,vote:function(pollId){
form=$('poll_form_'+pollId);
requestUrl='/polls/add_stats.php?pid='+pollId;
for(var i=0;i<form.elements.length;i++){
	if(form.elements[i].checked){
		requestUrl+='&responses[]='+form.elements[i].value;
	}
}
C.asyncRequest('GET',requestUrl,{
	success:function(transport){
		$('poll_'+pollId).innerHTML=transport.responseText
	}
	,failure:function(transport){
		alert(transport.statusText)
	}
}
);
}
};
var TrackingData=new Object;
var ClickTracker={
debug:false,trackerImg:Object,blogRecentRanking:0,trackMe:function(el,o){
if(ClickTracker.debug)
E.preventDefault(el);
var container;
el=this;
for(i=0;i<6;i++){
	if(el.id&&el.id.match(/(entry|blog|recent)_\d+/)){
		container=el;
		break;
	}
	if(el.parentNode){
		el=el.parentNode;
	}
}
this.trackerImg=new Image();
if(container){
	eval("tdata = TrackingData."+container.id);
	tdata.url=escape(this.href);
	if(this.innerHTML.match(/read post/i))
	tdata.type='read%20post';
	else if(this.innerHTML.match(/quick read/i))
	tdata.type='in%20brief';
	else if(this.innerHTML.match(/Related/))
	tdata.type='related';
	else if(this.innerHTML.match(/Comment/))
	tdata.type='comments';
	else if(this.innerHTML.match(/bio/i))
	tdata.type='bio';
	else if(D.hasClass(this.parentNode,'tag_wrap'))
	tdata.type='tag';
	else if(this.parentNode.className=='author'||this.parentNode.className=='byline')
	tdata.type='author';
	else if(tdata.blog_id==2&&this.firstChild&&this.firstChild.tagName=='IMG')
	tdata.type='image';
	else if(tdata.blog_id==2)
	tdata.type='headline';
	else if(tdata.blog_id==3&&this.parentNode.tagName&&this.parentNode.tagName=='H2')
	tdata.type='headline';
	else if(tdata.blog_id==3&&this.parentNode.tagName&&this.parentNode.tagName=='P')
	tdata.type='entry%20body';
	else
	tdata.type='other';
	this.trackerImg.src="/clicktracking/front.php?"+JSON.stringify(tdata);
}
else{
	el=this;
	for(i=0;i<6;i++){
		if(el.id&&!D.hasClass(el,'ignore_id')&&!el.id.match(/yuievtautoid/)){
			container=el;
			break;
		}
		el=el.parentNode;
	}
	var tdata={
		url:'',type:'',id:-1,blog_id:-1,rank:-1,zone:-1,vertical:ClickTracker.vertical_id
	};
	tdata.url=escape(this.href);
	tdata.type=escape(container.id);
	this.trackerImg.src="/clicktracking/front.php?"+JSON.stringify(tdata);
}
if(ClickTracker.debug){
	E.preventDefault(el);
	console.log(this.trackerImg.src);
	console.log(tdata);
}
}
,trackTicker:function(tracking_url){
if(ClickTracker.trackClicks){
	if(!(url_chunks=tracking_url.match(/_([nb])_(\d+)\.html/)))
	window.location.href=tracking_url;
	blog_id=(url_chunks[1]=='n')?2:3;
	var tdata={
		url:escape(tracking_url),type:'ticker_flash',id:-1,blog_id:blog_id,rank:-1,zone:-1,vertical:ClickTracker.vertical_id
	};
	this.trackerImg=new Image();
	this.trackerImg.src="/clicktracking/front.php?"+JSON.stringify(tdata);
}
if(urchinTracker){
	if(D.hasClass(document.body,'frontpage')){
		if(D.hasClass(document.body,'homepage')){
			ticker_area="front";
		}
		else{
			ticker_area=document.body.id;
		}
	}
	else{
		ticker_area='secondary';
	}
	urchinTracker("/t/a/ticker/"+ticker_area);
}
window.location.href=tracking_url;
}
,trackComment:function(comment_id,entry_id){
this.trackerImg=new Image();
this.trackerImg.src="/clicktracking/best-of.php?comment_id="+comment_id+"&entry_id="+entry_id;
}
,deprecated_flagComment:function(comment_id,entry_id){
this.trackerImg=new Image();
this.trackerImg.src="/huff-send-comment.cgi?id="+comment_id+"&entry_id="+entry_id;
D.addClass('flag_'+comment_id,'flagged');
$('flag_'+comment_id).innerHTML='Flagged';
}
,flagComment:function(comment_id,entry_id,blog_id){
this.trackerImg=new Image();
this.trackerImg.src="/include/flagComment.php?type=abuse&blog_id="+blog_id+"&cmt_id="+comment_id+"&entry_id="+entry_id;
D.addClass('flag_'+comment_id,'flagged');
$('flag_'+comment_id).innerHTML='Flagged';
}
,favComment:function(comment_id,entry_id,blog_id){
this.trackerImg=new Image();
this.trackerImg.src="/include/flagComment.php?type=best&blog_id="+blog_id+"&cmt_id="+comment_id+"&entry_id="+entry_id;
D.addClass('best_'+comment_id,'flagged');
$('best_'+comment_id).innerHTML='Marked as favorite';
}
,initRelatedTracker:function(){
lists=D.getElementsByClassName("relatedposts","ul");
for(var i=0;i<lists.length;i++){
	D.batch(lists[i].getElementsByTagName("a"),function(o){
		o.href='http://www.huffingtonpost.com/include/lib/RelatedTracker.php?type=related&ref='+document.URL+'&dest='+o.href;
	}
	);
}
lists=D.getElementsByClassName("topposts","ul");
for(var i=0;i<lists.length;i++){
	D.batch(lists[i].getElementsByTagName("a"),function(o){
		o.href='http://www.huffingtonpost.com/include/lib/RelatedTracker.php?type=top&ref='+document.URL+'&dest='+o.href;
	}
	);
}
}
,init:function(){
if(!document.getElementsByTagName)return;
E.addListener(document.getElementsByTagName("a"),'mousedown',ClickTracker.trackMe);
}
};
Modal.buildMask=function(){
if(!this.mask){
this.mask=document.createElement("DIV");
this.mask.id="wrapper_mask";
this.mask.className="mask";
this.mask.innerHTML="&nbsp;";
var firstChild=document.body.firstChild;
if(firstChild){
	document.body.insertBefore(this.mask,document.body.firstChild);
}
else{
	document.body.appendChild(this.mask);
}
}
};
Modal.hideMask=function(){
if(Modal.mask){
this.mask=Modal.mask;
YAHOO.util.Dom.setStyle('huff_modal','visibility','hidden');
Modal.mask.style.display="none";
YAHOO.util.Dom.removeClass(document.body,"masked");
}
if($('qr_ad')){
$('qr_ad').innerHTML='';
}
if($('qr_frame')){
$('qr_frame').src='';
}
};
Modal.showMask=function(){
if(!this.mask){
Modal.buildMask();
}
if(this.mask){
YAHOO.util.Dom.addClass(document.body,"masked");
this.sizeMask();
YAHOO.util.Event.addListener("wrapper_mask",'click',Modal.hideMask);
this.mask.style.display="block";
YAHOO.util.Dom.setStyle(this.mask,'opacity','.7');
Modal.movePanel();
YAHOO.util.Dom.setStyle('huff_modal','visibility','visible');
}
};
Modal.sizeMask=function(){
if(Modal.mask){
Modal.mask.style.height=YAHOO.util.Dom.getDocumentHeight()+"px";
Modal.mask.style.width=YAHOO.util.Dom.getViewportWidth()+"px";
}
};
Modal.movePanel=function(){
currentHeight=(document.body&&document.body.scrollTop)?document.body.scrollTop:document.documentElement.scrollTop;
YAHOO.util.Dom.setStyle('huff_modal','top',(currentHeight+40)+"px");
setTimeout('Modal.movePanel()',1000);
};
E.onDOMReady(function(){
	if($('huff_modal')&&document.body.id&&document.body.id!='popup'){
		Modal.movePanel();
		E.addListener(window,"resize",Modal.sizeMask);
		setTimeout('Modal.movePanel()',1000);
	}
	var lottery=(Math.round(Math.random()*(ClickTracker.sample-1))==1);
	ClickTracker.trackClicks=(D.hasClass(document.body,'frontpage')&&(lottery||ClickTracker.debug));
	if(ClickTracker.trackClicks)
	ClickTracker.init();
	D.batch(document.getElementsByTagName('UL'),function(el){
		if(el&&el.getElementsByTagName){
			lis=el.getElementsByTagName('LI');
			if(lis[0]){
				D.addClass(lis[0],'first');
				D.addClass(lis[lis.length-1],'last');
			}
		}
	}
	);
	lists=D.getElementsByClassName("widget_children","div");
	for(var i=0;i<lists.length;i++){
		els=lists[i].getElementsByTagName("div");
		wi_els=new Array();
		for(var j=0;j<els.length;j++){
			o=els[j];
			if(D.hasClass(o,'widget_item')){
				wi_els.push(o);
			}
		}
		for(var k=0;k<wi_els.length;k++){
			o=wi_els[k];
			if(k==0)
			D.addClass(o,'first_child');
			if(k==wi_els.length-1)
			D.addClass(o,'last_child');
		}
	}
}
);
var CommentManager={
	loadPage:function(region){
		el=$('comment_page_select_'+region);
		dest=el.options[el.selectedIndex].value;
		if(dest)location.href=dest;
	}
};
