(function(C){C.tinysort={id:"TinySort",version:"1.0.1",defaults:{order:"asc",attr:"",place:"start",returns:false}};C.fn.extend({tinysort:function(I,J){if(I&&typeof(I)!="string"){J=I;I=null}var F=C.extend({},C.tinysort.defaults,J);var P={};this.each(function(T){var V=(!I||I=="")?C(this):C(this).find(I);var U=F.order=="rand"?""+Math.random():(F.attr==""?V.text():V.attr(F.attr));var S=C(this).parent();if(!P[S]){P[S]={s:[],n:[]}}if(V.length>0){P[S].s.push({s:U,e:C(this),n:T})}else{P[S].n.push({e:C(this),n:T})}});for(var H in P){var E=P[H];E.s.sort(function K(U,T){var S=U.s.toLowerCase?U.s.toLowerCase():U.s;var V=T.s.toLowerCase?T.s.toLowerCase():T.s;if(D(U.s)&&D(T.s)){S=parseFloat(U.s);V=parseFloat(T.s)}return(F.order=="asc"?1:-1)*(S<V?-1:(S>V?1:0))})}var M=[];for(var H in P){var E=P[H];var N=[];var G=C(this).length;switch(F.place){case"first":C.each(E.s,function(S,T){G=Math.min(G,T.n)});break;case"org":C.each(E.s,function(S,T){N.push(T.n)});break;case"end":G=E.n.length;break;default:G=0}var Q=[0,0];for(var L=0;L<C(this).length;L++){var O=L>=G&&L<G+E.s.length;if(A(N,L)){O=true}var R=(O?E.s:E.n)[Q[O?0:1]].e;R.parent().append(R);if(O||!F.returns){M.push(R.get(0))}Q[O?0:1]++}}return this.setArray(M)}});function D(E){return(parseFloat(E)+"")==E}function A(F,G){var E=false;C.each(F,function(I,H){if(!E){E=H==G}});return E}function B(E){if(window.console&&window.console.log){if(typeof(E)=="string"){window.console.log(E)}else{for(var F in E){window.console.log(F+": "+E[F])}}}}C.fn.TinySort=C.fn.Tinysort=C.fn.tsort=C.fn.tinysort})(jQuery);(function(jQuery){jQuery.each(['backgroundColor','borderBottomColor','borderLeftColor','borderRightColor','borderTopColor','color','outlineColor'],function(i,attr){jQuery.fx.step[attr]=function(fx){if(fx.state==0){fx.start=getColor(fx.elem,attr);fx.end=getRGB(fx.end);}fx.elem.style[attr]="rgb("+[Math.max(Math.min(parseInt((fx.pos*(fx.end[0]-fx.start[0]))+fx.start[0]),255),0),Math.max(Math.min(parseInt((fx.pos*(fx.end[1]-fx.start[1]))+fx.start[1]),255),0),Math.max(Math.min(parseInt((fx.pos*(fx.end[2]-fx.start[2]))+fx.start[2]),255),0)].join(",")+")";}});function getRGB(color){var result;if(color&&color.constructor==Array&&color.length==3)return color;if(result=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))return[parseInt(result[1]),parseInt(result[2]),parseInt(result[3])];if(result=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))return[parseFloat(result[1])*2.55,parseFloat(result[2])*2.55,parseFloat(result[3])*2.55];if(result=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))return[parseInt(result[1],16),parseInt(result[2],16),parseInt(result[3],16)];if(result=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))return[parseInt(result[1]+result[1],16),parseInt(result[2]+result[2],16),parseInt(result[3]+result[3],16)];return colors[jQuery.trim(color).toLowerCase()];}function getColor(elem,attr){var color;do{color=jQuery.curCSS(elem,attr);if(color!=''&&color!='transparent'||jQuery.nodeName(elem,"body"))break;attr="backgroundColor";}while(elem=elem.parentNode);return getRGB(color);};var colors={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]};})(jQuery);jQuery(document).ready(function(){jQuery('a.more-link').each(function(){var pos=this.href.indexOf('#');var newLink=this.href.substr(0,pos);this.href=newLink;});var order=readCookie('liveblog_sorting');var hashvars=getHashVars();if(order=='asc'||order=='desc'){change_sorting(order);}else if(hashvars['sort']=='asc'||hashvars['sort']=='desc'){change_sorting(hashvars['sort']);}var refreshUrl=jQuery('#refreshurl').text();if(refreshUrl!=''){var grabbedRate=jQuery('#ajaxrefresh').text();var refresh=grabbedRate*1000;if(refresh>0)setTimeout("updateContent('"+refreshUrl+"')",refresh);if(grabbedRate=='-1')updateRefreshNote(grabbedRate);else updateRefreshNote(refresh);displayNewUpdates();}});function change_sorting(ord){createCookie('liveblog_sorting',ord,'7');jQuery('#main .updates>p.update').tsort({order:ord,attr:"id"});if(ord=='asc'){jQuery('.updates-order a.asc').addClass('selected');jQuery('.updates-order a.desc').removeClass('selected');}else{jQuery('.updates-order a.asc').removeClass('selected');jQuery('.updates-order a.desc').addClass('selected');}}function createCookie(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires=";expires="+date.toGMTString();}else var expires="";document.cookie=name+"="+value+expires+";path=/";}function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);}return null;}function eraseCookie(name){createCookie(name,"",-1);}function getHashVars(){var vars=[],hash;var hashes=window.location.href.slice(window.location.href.indexOf('#')+1).split('&');for(var i=0;i<hashes.length;i++){hash=hashes[i].split('=');vars.push(hash[0]);vars[hash[0]]=hash[1];}return vars;}var mostRecent=0;function displayNewUpdates(){var firstRun;if(mostRecent==0)firstRun=true;else firstRun=false;var highest=0;jQuery('#main .updates p.update').each(function(i){var id=this.id;var date=id.substr(0,10);if(highest<date)highest=date;if(mostRecent<date){if(!firstRun){jQuery('#'+id).hide().slideDown('slow').css({'background-color':'#dceebf'}).animate({backgroundColor:'#fff'},1500);}}else{jQuery('#'+id).css({'background-color':'#fff'});}});mostRecent=highest;}var mostRecentLink=0;function displayNewLinks(){var firstRun;if(mostRecentLink==0)firstRun=true;else firstRun=false;var highest=0;jQuery('#links li').each(function(i){var id=this.id;var date=id.substr(11,21);if(highest<date)highest=date;if(mostRecentLink<date){if(!firstRun){jQuery('#'+id).hide().slideDown('slow').css({'background-color':'#dceebf'}).animate({backgroundColor:'#fff'},1500);}}});mostRecentLink=highest;}var numberOfUpdates=0;function updateContent(url){var foo=new Date;var unixtime_ms=foo.getTime();var unixtime=parseInt(unixtime_ms/1000);jQuery.get(url,{random: unixtime},function(updates){if(updates.indexOf('<span id="done"></span>')>-1){jQuery('#main .updates-staging').html(updates);if(jQuery('#postid').text()==jQuery('#originalid').text()){var currentNumberOfUpdates=jQuery('#main .updates-staging p.update').size();if(currentNumberOfUpdates>0){if((currentNumberOfUpdates>=numberOfUpdates)||(currentNumberOfUpdates<numberOfUpdates&&(currentNumberOfUpdates/numberOfUpdates)>=0.5)){numberOfUpdates=currentNumberOfUpdates;var grabbedRate=jQuery('#main .updates-staging #ajaxrefresh').text();var refresh=grabbedRate*1000;var grabbedLinks=jQuery('#main .updates-staging #links').html();jQuery('#aside #links ul').html(grabbedLinks);if(grabbedLinks.length>0){if(jQuery('#aside #links').css('display')=='none')jQuery('#aside #links').slideDown('slow').css({'background-color':'#dceebf'}).animate({backgroundColor:'#fff'},1500);}else{jQuery('#aside #links').hide();}determineNewUpdates();jQuery('#main .updates-staging #links').remove();jQuery('#main .updates-staging #postid').remove();jQuery('#main .updates-staging #ajaxrefresh').remove();jQuery('#main .updates-staging #done').remove();jQuery('#main .updates').prepend(jQuery('#main .updates-staging').html());jQuery('#main .updates-staging').html('');var order=readCookie('liveblog_sorting');var hashvars=getHashVars();if(order=='asc'||order=='desc'){change_sorting(order);}else if(hashvars['sort']=='asc'||hashvars['sort']=='desc'){change_sorting(hashvars['sort']);}displayNewUpdates();displayNewLinks();}}}}var analyticsDate=convertUnixtime(mostRecent);pageTracker_gdgtlive._trackEvent('General','page_forward',analyticsDate);if(grabbedRate==''||grabbedRate==undefined)refresh=30000;if(refresh>0){setTimeout("updateContent('"+url+"')",refresh);}if(grabbedRate=='-1')updateRefreshNote(grabbedRate);else updateRefreshNote(refresh);});}function determineNewUpdates(){var existingUpdates=[];var lastUpdate;jQuery.each(jQuery('#main .updates-staging>p.update'),function(){lastUpdate=this.id;if(jQuery('#main .updates .'+this.id).length>0){existingUpdates[this.id]='y';if(this.id.substr(11,15)!='image')jQuery('#main .updates .'+this.id).html(jQuery(this).html());jQuery('#main .updates-staging .'+this.id).remove();}});var order=readCookie('liveblog_sorting');var hashvars=getHashVars();var startDeleting=false;jQuery.each(jQuery('#main .updates>p.update'),function(){if(order=='asc'||hashvars['sort']=='asc'){if(this.id!=lastUpdate&&startDeleting==false)return;else if(this.id==lastUpdate)startDeleting=true;}else{if(this.id==lastUpdate)return false;}if(existingUpdates[this.id]==undefined)jQuery('#main .updates .'+this.id).remove();});}function updateRefreshNote(refresh){if(refresh>0)jQuery('#coverage .note').html('Automatically refreshing, no need for F5!');else if(refresh=='-1')jQuery('#coverage .note').html('Manual updating, hit F5!');else jQuery('#coverage .note').html('Manual updating, hit F5!');}function convertUnixtime(time){time=new Date(time*1000);var hours=padNumber(time.getHours());var minutes=padNumber(time.getMinutes());var seconds=padNumber(time.getSeconds());var year=time.getFullYear();var day=padNumber(time.getDate());var month=padNumber(time.getMonth()+1);var date=year+'/'+month+'/'+day+'-'+hours+':'+minutes+':'+seconds;return date;}function padNumber(number){if(number<10)number='0'+number;return number;}