/*
 * ddunlop - 2008.02.05
 */ 
(function($){$.ui=$.ui||{};$.fn.sideScroller=function(options){return this.each(function(){new $.ui.sideScroller(this,jQuery.extend({initialScroll:10,displayed:3,leftArrow:'http://realclearpolitics.com/images/leftTallArrow.gif',rightArrow:'http://realclearpolitics.com/images/rightTallArrow.gif',speed:'fast',lazyload:false,lazyloadPreload:3,callback:function(){}},options));});};$.ui.sideScroller=function(el,options){this.source=el;this.content=$(el).children(".scrollingContent");this.options=options;this.scrollify();};$.extend($.ui.sideScroller.prototype,{scrollify:function(){this.pos=0;if(this.options.lazyload)this.lazyload(this.options.displayed+this.options.lazyloadPreload);this.setWidth();this.addArrows();},setWidth:function(){var totalWidth=0;this.size=this.content.children().each(function(){totalWidth+=$(this).outerWidth({margin:true});}).size();this.content.width(totalWidth+30).css('left',this.options.initialScroll);this.left=this.content.position().left;},addArrows:function(){$("<div class='leftArrow'><img src='"+this.options.leftArrow+"'></div>").click(this.handleClick("left")).prependTo(this.source).hide();$("<div class='rightArrow'><img src='"+this.options.rightArrow+"'></div>").click(this.handleClick("right")).appendTo(this.source);},lazyload:function(upto){if(upto<this.lazyloaded||upto>this.size)return;this.content.find("img:lt("+upto+")[lazysrc]").attr('src',function(){return $(this).attr('lazysrc');}).removeAttr('lazysrc');this.lazyloaded=upto;},handleClick:function(direction){var t=this;return function(e){if(direction=='right'){if(t.pos<t.size-t.options.displayed)t.pos++;else return;}else{if(t.pos>0)t.pos--;else return;}
if(t.pos==1)$(':first',t.source).fadeIn();if(t.pos==t.size-t.options.displayed-1)$(':last',t.source).fadeIn();var left=-1*(t.content.children(":eq("+t.pos+")").position().left-t.left);var at=t.pos;t.content.animate({left:left},{duration:t.options.speed,queue:true,complete:function(e){if(at==0)$(':first',t.source).fadeOut();if(at==t.size-t.options.displayed)$(':last',t.source).fadeOut();t.options.callback(e,{position:at})}});if(t.options.lazyload)t.lazyload(t.pos+t.options.displayed+t.options.lazyloadPreload);}}});})(jQuery);


(function($){$.ui=$.ui||{};$.fn.sideScroller2=function(options){return this.each(function(){new $.ui.sideScroller2(this,jQuery.extend({initialScroll:10,displayed:1,leftArrow:'http://realclearpolitics.com/images/leftTallArrow.gif',rightArrow:'http://realclearpolitics.com/images/rightTallArrow.gif',speed:'fast',lazyload:false,lazyloadPreload:3,callback:function(){}},options));});};$.ui.sideScroller2=function(el,options){this.source=el;this.content=$(el).children(".scrollingContent");this.options=options;this.scrollify();};$.extend($.ui.sideScroller2.prototype,{scrollify:function(){this.pos=0;if(this.options.lazyload)this.lazyload(this.options.displayed+this.options.lazyloadPreload);this.setWidth();this.addArrows();},setWidth:function(){var totalWidth=0;this.size=this.content.children().each(function(){totalWidth+=$(this).outerWidth({margin:true});}).size();this.content.width(totalWidth+30).css('left',this.options.initialScroll);this.left=this.content.position().left;},addArrows:function(){$("<div class='leftArrow'><img src='"+this.options.leftArrow+"'></div>").click(this.handleClick("left")).prependTo(this.source).hide();$("<div class='rightArrow'><img src='"+this.options.rightArrow+"'></div>").click(this.handleClick("right")).appendTo(this.source);},lazyload:function(upto){if(upto<this.lazyloaded||upto>this.size)return;this.content.find("img:lt("+upto+")[lazysrc]").attr('src',function(){return $(this).attr('lazysrc');}).removeAttr('lazysrc');this.lazyloaded=upto;},handleClick:function(direction){var t=this;return function(e){if(direction=='right'){if(t.pos<t.size-t.options.displayed)t.pos++;else return;}else{if(t.pos>0)t.pos--;else return;}
if(t.pos==1)$(':first',t.source).fadeIn();if(t.pos==t.size-t.options.displayed-1)$(':last',t.source).fadeIn();var left=-1*(t.content.children(":eq("+t.pos+")").position().left-t.left);var at=t.pos;t.content.animate({left:left},{duration:t.options.speed,queue:true,complete:function(e){if(at==0)$(':first',t.source).fadeOut();if(at==t.size-t.options.displayed)$(':last',t.source).fadeOut();t.options.callback(e,{position:at})}});if(t.options.lazyload)t.lazyload(t.pos+t.options.displayed+t.options.lazyloadPreload);}}});})(jQuery);


(function($){$.ui=$.ui||{};$.fn.sideScroller2column=function(options){return this.each(function(){new $.ui.sideScroller2column(this,jQuery.extend({initialScroll:10,displayed:7,leftArrow:'http://realclearpolitics.com/images/leftTallArrow.gif',rightArrow:'http://realclearpolitics.com/images/rightTallArrow.gif',speed:'fast',lazyload:false,lazyloadPreload:3,callback:function(){}},options));});};$.ui.sideScroller2column=function(el,options){this.source=el;this.content=$(el).children(".scrollingContent");this.options=options;this.scrollify();};$.extend($.ui.sideScroller2column.prototype,{scrollify:function(){this.pos=0;if(this.options.lazyload)this.lazyload(this.options.displayed+this.options.lazyloadPreload);this.setWidth();this.addArrows();},setWidth:function(){var totalWidth=0;this.size=this.content.children().each(function(){totalWidth+=$(this).outerWidth({margin:true});}).size();this.content.width(totalWidth+30).css('left',this.options.initialScroll);this.left=this.content.position().left;},addArrows:function(){$("<div class='leftArrow'><img src='"+this.options.leftArrow+"'></div>").click(this.handleClick("left")).prependTo(this.source).hide();$("<div class='rightArrow'><img src='"+this.options.rightArrow+"'></div>").click(this.handleClick("right")).appendTo(this.source);},lazyload:function(upto){if(upto<this.lazyloaded||upto>this.size)return;this.content.find("img:lt("+upto+")[lazysrc]").attr('src',function(){return $(this).attr('lazysrc');}).removeAttr('lazysrc');this.lazyloaded=upto;},handleClick:function(direction){var t=this;return function(e){if(direction=='right'){if(t.pos<t.size-t.options.displayed)t.pos++;else return;}else{if(t.pos>0)t.pos--;else return;}
if(t.pos==1)$(':first',t.source).fadeIn();if(t.pos==t.size-t.options.displayed-1)$(':last',t.source).fadeIn();var left=-1*(t.content.children(":eq("+t.pos+")").position().left-t.left);var at=t.pos;t.content.animate({left:left},{duration:t.options.speed,queue:true,complete:function(e){if(at==0)$(':first',t.source).fadeOut();if(at==t.size-t.options.displayed)$(':last',t.source).fadeOut();t.options.callback(e,{position:at})}});if(t.options.lazyload)t.lazyload(t.pos+t.options.displayed+t.options.lazyloadPreload);}}});})(jQuery);



/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-12-20 08:43:48 -0600 (Thu, 20 Dec 2007) $
 * $Rev: 4257 $
 *
 * Version: 1.2
 *
 * Requires: jQuery 1.2+
 */
(function($){$.dimensions={version:'1.2'};$.each(['Height','Width'],function(i,name){$.fn['inner'+name]=function(){if(!this[0])return;var torl=name=='Height'?'Top':'Left',borr=name=='Height'?'Bottom':'Right';return this.is(':visible')?this[0]['client'+name]:num(this,name.toLowerCase())+num(this,'padding'+torl)+num(this,'padding'+borr);};$.fn['outer'+name]=function(options){if(!this[0])return;var torl=name=='Height'?'Top':'Left',borr=name=='Height'?'Bottom':'Right';options=$.extend({margin:false},options||{});var val=this.is(':visible')?this[0]['offset'+name]:num(this,name.toLowerCase())+num(this,'border'+torl+'Width')+num(this,'border'+borr+'Width')+num(this,'padding'+torl)+num(this,'padding'+borr);return val+(options.margin?(num(this,'margin'+torl)+num(this,'margin'+borr)):0);};});$.each(['Left','Top'],function(i,name){$.fn['scroll'+name]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(name=='Left'?val:$(window)['scrollLeft'](),name=='Top'?val:$(window)['scrollTop']()):this['scroll'+name]=val;}):this[0]==window||this[0]==document?self[(name=='Left'?'pageXOffset':'pageYOffset')]||$.boxModel&&document.documentElement['scroll'+name]||document.body['scroll'+name]:this[0]['scroll'+name];};});$.fn.extend({position:function(){var left=0,top=0,elem=this[0],offset,parentOffset,offsetParent,results;if(elem){offsetParent=this.offsetParent();offset=this.offset();parentOffset=offsetParent.offset();offset.top-=num(elem,'marginTop');offset.left-=num(elem,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&$.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return $(offsetParent);}});function num(el,prop){return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;};})(jQuery);


$(document).ready(function() {

$('div#listScroller').sideScroller({lazyload:true}); //displays 3
$('div#listScroller2').sideScroller2({lazyload:true}); //displays 1
$('div#listScroller2column').sideScroller2column({lazyload:true}); //displays 7
$('div#listScroller2column2').sideScroller2column({lazyload:true}); //displays 7
$('div#listScroller3').sideScroller2({lazyload:true}); //displays 1



function handleOverflowScroll(e) {
	var d = e.data.d;
	var divHeight = e.data.divHeight;
	if(e.data.dir == 'down') {
		var c = d.children(':first').outerHeight({margin:true});
		if(d.scrollTop()+divHeight<c) {
			var newTop = d.scrollTop()+divHeight;
			if(newTop+divHeight>c) newTop = c-divHeight;
			d.animate({scrollTop:newTop},'fast');
		}
	} else {
		if(d.scrollTop()>0) d.animate({scrollTop:d.scrollTop()-divHeight},'fast');
		else d.animate({scrollTop:0});
	}
}

});