(function($){  
	$.fn.sliderVertical = function( options ) {
		
		var x = window.location.href;
		x = x.replace(/#regdlg/g, "");
		$("div#slider-vertical div.sliderContainer div#c1 ul.navigation li a").each(function(index){
			var y = index+1; y = "#"+y;
			$(this).attr("href",x + y);
		});
		
		
		$("div.panel a").each(function(){
				var aurl = $(this).attr("href");
				if ((aurl.search("http") == -1) && (aurl.search("www") == -1) && (aurl.search("#") != -1)) {
					$(this).attr("href",x + aurl);
				}
				
		});
		
		
		return this.each(function() { 
			
			var $mydiv = $('#slider-vertical').length;
			if ($mydiv) {
			
				$("#slider-vertical .next-slide").hover(
					function () { $(this).addClass("next-rollover"); }, 
					function () { $(this).removeClass("next-rollover");}
				);
				$("#slider-vertical .prev-slide").hover(
					function () { $(this).addClass("prev-rollover"); }, 
					function () { $(this).removeClass("prev-rollover");}
				);

				var $panels = $('#slider-vertical .scrollContainer > div');
				var $container = $('#slider-vertical .scrollContainer');

				// if false, we'll float all the panels left and fix the width 
				// of the container
				var horizontal = true;

				// float the panels left if we're going horizontal
				if (horizontal) {
						$panels.css({
								'float' : 'left',
								'position' : 'relative' // IE fix to ensure overflow is hidden
						});

						// calculate a new width for the container (so it holds all panels)
						$container.css('width', $panels[0].offsetWidth * $panels.length);
				}
				
				// collect the scroll object, at the same time apply the hidden overflow
				// to remove the default scrollbars that will appear
				var $scroll = $('#slider-vertical .scroll').css('overflow', 'hidden');
				
				// apply our left + right buttons
				//$scroll
				//    .before('<img class="scrollButtons left" src="scroll_left.png" />')
				//    .after('<img class="scrollButtons right" src="scroll_right.png" />');

				// handle nav selection
				function selectNav() {
						$(this)
								.parents('ul:first')
										.find('a')
												.removeClass('selected')
										.end()
								.end()
								.addClass('selected');
				}

				$('#slider-vertical ul.navigation').find('a').click(selectNav);

				// go find the navigation link that has this target and select the nav
				function trigger(data) {
						var el = $('#slider-vertical ul.navigation').find('a[href$="' + data.id + '"]').get(0);
						selectNav.call(el);
				}

				if (window.location.hash) {
						trigger({ id : window.location.hash.substr(1) });
				} else {
						$('#slider-vertical ul.navigation a:first').click();
				}

				// offset is used to move to *exactly* the right place, since I'm using
				// padding on my example, I need to subtract the amount of padding to
				// the offset.  Try removing this to get a good idea of the effect
				var offset = parseInt((horizontal ? 
						$container.css('paddingTop') : 
						$container.css('paddingLeft')) 
						|| 0) * -1;


				var scrollOptions = {
						target: $scroll, // the element that has the overflow

						// can be a selector which will be relative to the target
						items: $panels,

						navigation: '#slider-vertical ul.navigation a',

						// selectors are NOT relative to document, i.e. make sure they're unique
						prev: '.prev-slide', 
						next: '.next-slide',

						// allow the scroll effect to run both directions
						axis: 'xy',

						onAfter: trigger, // our final callback

						offset: offset,

						// duration of the sliding effect
						duration: 750,
						
						// easing - can be used with the easing plugin: 
						// http://gsgd.co.uk/sandbox/jquery/easing/
						easing: 'easeInOutExpo'
				};

				// apply serialScroll to the slider - we chose this plugin because it 
				// supports// the indexed next and previous scroll along with hooking 
				// in to our navigation.
				$('#slider-vertical').serialScroll(scrollOptions);

				// now apply localScroll to hook any other arbitrary links to trigger 
				// the effect
				$('#slider-vertical').localScroll(scrollOptions);

				// finally, if the URL has a hash, move the slider in to position, 
				// setting the duration to 1 because I don't want it to scroll in the
				// very first page load.  We don't always need this, but it ensures
				// the positioning is absolutely spot on when the pages loads.
				scrollOptions.duration = 750;
				$.localScroll.hash(scrollOptions);
				
			
			}
			
		});
	};  
})(jQuery);  
