/*-----------------------------------------
 
 copyright 2011 by mmc:agentur
 
 Version: 1.0
 
 Author: David Rerych, Marion Lesch
 
 Author URI: http://www.mmc-agentur.at
 
 -------------------------------------------*/


function log(msg) {
	window.console && window.console.log(msg);
}


$(document).ready(function(){
	
	IE8 = false;
	IE7 = false;
	if (jQuery.browser.msie && (jQuery.browser.version <= 8)) {
		IE8 = true;
		if (jQuery.browser.version <= 7) {
			IE7 = true;
		}
	}
	
	
	// NL-Bestätigung Submit-Trigger
	var email = $('.js_submit input[name="formhandler\[email\]"]');
	var consumer_id = $('.js_submit input[name="formhandler\[consumer_id\]"]');
	
	if(email.length>0 && email.val() !== '' && consumer_id.length>0 && consumer_id.val() !== '') {
	    $('.js_submit #btn_anmelden').click();
	}
	
	
	
	$('#search_field').mmcFormDefaults();

	$('.mmc-teaser.swf').swfTeaser();

	$('.wussten_sie_schon').append('<div class="browsebox" />');

	$('.wussten_sie_schon .wussten_sie_contents').cycle({
		fx: 'fade',
		speed: 1000,
		timeout: 5000,
		pager: $('.wussten_sie_schon .browsebox'),
		cleartypeNoBg: true
	});



	$('.flappenbox').each(function(){
		var $this = $(this);
		var $navi = $this.find('.flappen_navi');
		if ($navi.length > 0) {
			$navi.find('a').click(function(){
				$this.find($(this).attr('href')).show().siblings('.flappenbox_content').hide();
				$(this).parent().addClass('active').siblings().removeClass('active');
				flappenboxNavigateCallback.call($this);
				return false;
			});
			$navi.find('a').first().click();
		} else {
			flappenboxNavigateCallback.call($this);
		}
	});
	
	function flappenboxNavigateCallback() {
		if ($('.magazin_carousel').is(':visible')) {
			activateMagazin();
		}
	}


	$('.product_details .infos_inner').hide();
	$('.product_details .infos_header')
		.append('<a class="toggle" href="#"><span>Infos einblenden</span></a>')
		.css('cursor','pointer')
		.toggle(
		function(){
			$(this).next().slideDown();
			$(this).find('.toggle span').html('Infos ausblenden');
		},
		function() {
			$(this).next().slideUp();
			$(this).find('.toggle span').html('Infos einblenden');
		}
	);
	
	
	

	if ($('.csc-sitemap').attr('class')){
		jquerySitemap('.csc-sitemap ul', 'closed', 'vertical');
	}
	
	
	$('#tierheim_images #image_big').css('overflow', 'hidden', 'height', '190px');
	$('#tierheim_images').append('<ul id="image_thumb" />');
	
	$('#tierheim_images #image_big').cycle({
		fx: 'fade',
		timeout: 0,
		pager: '#image_thumb',
		pagerAnchorBuilder: function(idx, slide) {
			 var src = $(slide).find('img').attr('src');
        	return '<li><a href="#"><img src="' + src + '" width="84" height="56" /></a></li>'; 
    	}
	});
	



/*
	// Whiskas hilft Menüpunkt soll bei Klick (nicht) auf die entsprechende Seite führen 
	$('#main_nav .whiskas_hilft>a').click(function(e){
		e.preventDefault();
		return false;
	}).keypress(function(e){
		if (e.keyCode == 13) {
			window.location = $(e.currentTarget).attr('href');
		}
	});	

*/	

	if (IE7) {
		var $drop_orig = $('#dropdown');
		var $drop_new = $drop_orig.clone().appendTo('#ie7');
		$drop_orig.hide();
		$drop_new.hide();
		
		$('#main_nav .whiskas_hilft').mouseenter(function(){
			$drop_orig.show();
			var off = $drop_orig.offset();
			$drop_new.css({
				top: (off.top),
				left: (off.left)
			});
			$drop_orig.hide();
			$drop_new.hide();
			
			$drop_new.show();
			
			$(this).addClass('mouseover');
		}).mouseleave(function(){
			$drop_new.hide();
			$(this).removeClass('mouseover');
		});
		
		$drop_new.mouseenter(function(){
			$('#main_nav .whiskas_hilft').mouseenter();
		}).mouseleave(function(){
			$('#main_nav .whiskas_hilft').mouseleave();
		});
	}
	
	
	
	// Whiskas Menüplaner - Link ruft entsprechende Funktion auf
	
	$('a').click(function(e){
		var href=$(this).attr('href');
		if (href.search(/\#menuplaner$/) > 0) {
			e.preventDefault();
			showIFrameLightbox('http://menuplaner.whiskas.at', {
				width: 660,
				height: 540,
				id: 'menuplaner_lightbox'
			});
			return false;
		}
	});
	
	
	
	
	// Umfragetool
	
	umfrageTool();




	// Katzenvermittlung
	/*
	$('.katzenvermittlung .ergebnis .col_right p')
		.css('height','45px')
		.after('<a href="#" class="show_more"><span class="close">mehr einblenden</span></a>');
	$('.katzenvermittlung .ergebnis .col_right .show_more span').toggle(
		function(){
			$(this).removeClass('close');
			$(this).addClass('open');
			$(this).html('ausblenden');
			//$('.katzenvermittlung .ergebnis .col_right p').css('height','auto');
			$(this).parent().prev().css('height','auto');
			var origH = $(this).parent().prev().height();
			$(this).parent().prev().css('height','45px');
			$(this).parent().prev().animate({
				'height': origH+'px'
			}, 500);
		},
		function(){
			$(this).removeClass('open');
			$(this).addClass('close');
			$(this).html('mehr einblenden');
			//$('.katzenvermittlung .ergebnis .col_right p').css('height','45px');
			//$(this).parent().prev().css('height','45px');
			$(this).parent().prev().animate({
				'height': '45px'
			}, 500);
		}
	);
	*/
	
	$('.katzenvermittlung .ergebnis .col_right').each(function(){
		var $this = $(this);
		var $paragraph = $this.find('p');
		var origH = $paragraph.height();
		var closedH = 45;
		if (origH > closedH) {
			$paragraph
				.height(closedH)
				.after('<a href="#" class="show_more">mehr einblenden</a>');
		}
		var $toggler = $this.find('.show_more');
		$toggler.toggle(
			function(e){
				e.preventDefault();
				$(this).addClass('close').html('ausblenden');
				$paragraph.animate({height: origH}, 500);
				return false;
			},
			function(e){
				e.preventDefault();
				$(this).removeClass('close').html('mehr einblenden');
				$paragraph.animate({height: closedH}, 500);
				return false;
			}
		);
		
		
	});
	
	$('.katzenvermittlung .flappenbox_content').each(function(){
             var $ul = $(this);
             var $liArr = $ul.children('div.ergebnis');
             $liArr.sort(function(a,b){
                   var temp = parseInt( Math.random()*10 );
                   var isOddOrEven = temp%2;
                   var isPosOrNeg = temp>5 ? 1 : -1;
                   return( isOddOrEven*isPosOrNeg );
             })
             .appendTo($ul);            
	});
	
	
	$('#babyset_form_list_1 li.cat_birth select').uniform();
	
	
        var htmlContent = '<div id="facebook_fanbox">';
        htmlContent += '<iframe src="http://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2FWhiskasAT&amp;width=292&amp;colorscheme=light&amp;show_faces=true&amp;border_color&amp;stream=true&amp;header=true&amp;height=590" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:292px; height:590px;" allowTransparency="true"></iframe>';
        htmlContent += '</div>';
        jQuery("#page").append(htmlContent);


});


function umfrageTool() {
	
	function buildPercentScales(){
		var biggest_percent_value = 0;
		$('.umfrage_wrap .answer_wrap').each(function(){
			var $this = $(this);
			$this.find('.tx-simplesurvey-pi1-result-answer').after('<div class="balken" />');
			var percent_value = parseFloat($this.find('.tx-simplesurvey-pi1-result-percent').text());
			$this.data('percent', percent_value);
			if (percent_value > biggest_percent_value) 
				biggest_percent_value = percent_value;
		});
		var faktor = 100 / biggest_percent_value;
		$('.umfrage_wrap .answer_wrap').each(function(){
			var $this = $(this);
			var percent = $this.data('percent');
			var width = percent * faktor / 100 * 100;
			log(width);
			$this.find('.balken').animate({'width': width}, 1000);
			resolveWinners();		
		});
	}
	
	function resolveWinners() {
		$('.umfrage_wrap .answer_outer_wrap').each(function(){
			var $thiswinner = $(this).find('.answer_wrap:first-child');
			$('.answer_wrap', this).each(function(){
				var thispercent = $(this).data('percent');
				if (($thiswinner) && (thispercent > $thiswinner.data('percent'))) {
					$thiswinner = $(this);
				}
			});
			$thiswinner.addClass('winner').prepend('<div class="winner_icon" />');
		});
	}	
	

	$('input[type="radio"], input[type="checkbox"]', '.umfrage_wrap .tx-simplesurvey-pi1-answer').change(function(e) {
		var $parent = $(this).parent();
		$parent.add($parent.siblings()).each(function() {
			if ($(this).find('input').is(':checked')) {
				$(this).addClass('active');
			}
			else {
				$(this).removeClass('active');
			}
		});
	});

	buildPercentScales();
}



function activateMagazin() {
	
	var anz = $('.magazin_carousel ul li').length;
	var scroll = 3;
	var pages = Math.ceil(anz / scroll);
	
	if (pages > 1) {

		var magazin_browsebox =  '<ul class="browsebox" id="magazin_browsebox">'
								+'    <li class="btnPrev">vorherige Beiträge</li>'
								+'    <li class="pgbro"></li>'
								+'    <li class="btnNext">weitere Beiträge</li>'
								+'</ul>';

		if ($('.flappenbox .flappen_navi a[href="#magazin"]').length > 0) {
			$('.flappenbox .flappen_navi a[href="#magazin"]').after(magazin_browsebox);
		} else if ($('.flappenbox>h2>span').length > 0) {
			$('.flappenbox>h2>span').after(magazin_browsebox);
		} else {
		}
		

		var $brbo = $('#magazin_browsebox');


		$('.magazin_carousel')
			.mmcCarousel({
				scroll: scroll,
				visible: 3,
				circular: false,
				auto: false,
				jumpToOtherEnd: true,
				speed: 1000,
				btnPrev: $('.btnPrev', $brbo).length > 0 ? $('.btnPrev', $brbo) : null,
				btnNext: $('.btnNext', $brbo).length > 0 ? $('.btnNext', $brbo) : null,
				buildPager: $('.pgbro', $brbo).length > 0 ? $('.pgbro', $brbo) : null,
				afterInit: function(){
					var brbo_width = 0;
					$brbo.find('.btnPrev, .pgbro a, .btnNext').each(function(){
						brbo_width += $(this).outerWidth(true);
					});
					
					$brbo.width(brbo_width);
				}
			});
/*
			
			.add($brbo)
			.mouseenter(function(){
				$('.flappenbox.hero .magazin_carousel').mmcCarousel('stopAuto');
			})
			.mouseleave(function(){
				$('.flappenbox.hero .magazin_carousel').mmcCarousel('startAuto');
			});

*/			
		
	}

}


function loadFlashHeader(swfUrl, flashvars, fallbackImg) {
	$(document).ready(function(){
		
		
		
		var width = "100%";
		var height = $('#header').height();
		
		var unique_id = 'header_flash';
	
		var params = {
			allowFullscreen: true,
			allowScriptAccess: 'always',
			wmode: 'opaque',
			bgcolor: '#FFFFFF'
		};
		var attributes = {
			id: unique_id,
			name: unique_id
		};
		
		var flashvars_extender = {
			img: fallbackImg
		}
		
		var flashvars_final = $.extend({}, flashvars_extender, flashvars);
		
		$('#header').prepend('<div id="'+unique_id+'" />');

		
		swfobject.embedSWF(swfUrl, unique_id, width, height, "9.0.0",false, flashvars_final, params, attributes, swfEmbedCallback);
				
		function swfEmbedCallback(e){
			if (e.success) {
				$('#header').css('background', 'none');
			} else {
				//$('#sidebar .wussten_sie_schon').show();
				//$('#header').css('background-image', old_background_image);
			}
		}
	
	});
}



function jquerySitemap(rootElement, presentation, type ) {

	if(rootElement){
				
		// assign the layout depending on the given parameter 'type'
		// by default 'vertical' is assigned
			var type = (type == null) ? "vertical" : type;
			$(rootElement).addClass(type);
		
		
		// hide/show sublevels depending on the parameter 'presentation'			
			var presentation = (presentation == null) ? "open" : presentation;
		
			if (presentation == 'closed') {
				$(rootElement + ' ul').hide();
				spanClass = 'collapsed';
			}
			else {
				spanClass = 'expanded';
			}
		
		
		// append the navigation for toggling
			$(rootElement + ' li').find('ul').each(function(){
				$(this).after('<span class="'+ spanClass +'" />');
			})
		
			
		
		// Toggle the Icons onclick
			$('.expanded').live('click', function(){
				$(this).prevAll('ul').slideToggle();
				$(this).attr('class', 'collapsed');
			})
			$('.collapsed').live('click', function(){
				$(this).prevAll('ul').slideToggle();
				$(this).attr('class', 'expanded');
			})	
			
			$('.expanded, .collapsed').hover(function(){
				$(this).css('cursor', 'pointer');
			})			
	};
	

};



function introBeforeStart() {
	$('#sidebar .wussten_sie_schon').hide();
	window.console && window.console.log('introBeforeStart aufgerufen');
}

function introReady() {
	if (!IE8) $('#sidebar .wussten_sie_schon').fadeIn();
	else $('#sidebar .wussten_sie_schon').show();
	window.console && window.console.log('introReady aufgerufen');
}





function showIFrameLightbox(iframe_url, options) {	

	var defaults = {
		width: 500,
		height: 400,
		id: 'iframe_lightbox'
	};
	
	if (options) {
		options = $.extend(defaults, options);
	}
		
	var lb_id = options.id;
	
	var lightbox_markup = '<div id="'+lb_id+'_bg" class="iframe_lightbox_bg"></div>'
	+ '<div id="'+lb_id+'" style="width: '+options.width+'px; height: '+options.height+'px;" class="iframe_lightbox">'
	+ '  <iframe width="'+options.width+'" scrolling="no" height="'+options.height+'" frameborder="no" border="0" name="'+lb_id+'" src="'+iframe_url+'">'
	+ '    <p>Ihr Browser kann leider keine eingebetteten Frames anzeigen: Sie können die eingebettete Seite über den folgenden Link aufrufen: <a href="'+iframe_url+'" target="_blank">Hier klicken</a></p>'
	+ '  </iframe>'
	+ '  <div class="close">Schließen</div>'
	+ '</div>';
	
	$('body').append(lightbox_markup);

	$lb = $('#'+lb_id);
	$lb_bg = $('#'+lb_id+'_bg');

	var top = ($(window).height()-$lb.outerHeight())/2 + $(document).scrollTop();
	var left = ($(window).width()-$lb.outerWidth())/2 + $(document).scrollLeft();
	var top = top < 25 ? 25 : top; 
	
	$lb.css({
		'position': 'absolute',
		'top': top,
		'left': left
	});
	
	function resizeLightboxBg(){
		$lb_bg.hide();
		var bgMinW = $(document).width();
		var bgW = $(window).width();
		var bgH = $(window).height();
		$lb_bg.show().css({
			'width': bgW,
			'min-width': bgMinW,
			'height': bgH,
			'position': 'fixed'
		});
	}
	$(window).resize(function(){
		resizeLightboxBg();
	});
	resizeLightboxBg();

	$('.close', $lb).click(function(){
		$lb_bg.remove();
		$lb.remove();
	});
	
	
	
	
/*
	addthis.button('#share_video',{ui_click: true, ui_offset_left: 300});
	
	
	function adjustPos(evt) {
	    var d = document.getElementById("at15s");
	    d.style.top = $('#share_video').offset().top - 190 +"px";
	    d.style.left = $('#share_video').offset().left - 50 + "px";
	}
	
	addthis.addEventListener("addthis.menu.open", adjustPos);
*/	

}







(function( $ ){

  var methods = {
    init : function( options ) {
		return this.each(function(){
		
			var $this = $(this);
			var $container = $this.find('.mmc-teaser_bg');
	
			var defaults = {
				swfUrl: $this.attr('rel'),
				clicktag: $this.attr('href')
			}
			var options = $.extend(true, options, defaults);
	
			if ($this.hasClass('no_clicktag')) { // wenn dem Flash kein Klicktag übergeben werden soll (weil es selber interaktive Schaltflächen enthält), wird die Flashvar clicktag auf null gesetzt  
				options.clicktag = null;
			}
	
			var unique_id = getUniqueId();
			$container.attr('id', unique_id);
			
			$this.width($this.width());
			$this.height($this.height());
			
	
			var width = "100%";
			var height = "100%";
	 		var flashvars = {
				clicktag: options.clicktag
			};
			var params = {
				allowFullscreen: true,
				allowScriptAccess: 'always',
				wmode: 'transparent'
			};
			var attributes = {
				id: unique_id,
				name: unique_id
			};
			
			swfobject.embedSWF(options.swfUrl, unique_id, width, height, "9.0.0",false, flashvars, params, attributes, swfEmbedCallback);
		
			function swfEmbedCallback(e){
				if (e.success) $this.removeAttr('href');
			}
		});
	}
  };

	function getUniqueId() {
		var jetzt = new Date();
		return "id_"+jetzt.getTime();
	}

  $.fn.swfTeaser = function( method ) {
    
    // Method calling logic
    if ( methods[method] ) {
      return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
    } else if ( typeof method === 'object' || ! method ) {
      return methods.init.apply( this, arguments );
    } else {
      $.error( 'Method ' +  method + ' does not exist on jQuery.tooltip' );
    }    
  
  };

})( jQuery );




(function($) {
		$.fn.mmcFormDefaults = function() {
			this.each(function() {
				if ($(this).val() == '') {
					$(this).val($(this).attr('title')).addClass('empty');
				}
				
				$(this).bind('focus', function() {
					if ($(this).val() == $(this).attr('title')) {
						$(this).val('').removeClass('empty');
					}	
				});
				
				$(this).bind('blur', function() {
					if ($(this).val() == '') {
						$(this).val($(this).attr('title')).addClass('empty');
					}
				});
			});
			
			return this;
		};
})(jQuery);










/* ======================================================================================================= */
/* MMC Carousel */
(function( $ ){

  var methods = {
	init : function( options ) {
		return $(this).each(function(){
		
		if ($(this).data('mmcCarousel') == null) {
				
				log('initializing ' + $(this).attr('id'));
				
				var $this = $(this);

				var o = $.extend({
					btnPrev: null,
					btnNext: null,
					btnGo: null,
					btnPage: null,
					buildPager: null,
					mouseWheel: false,
					auto: null,
					jumpToOtherEnd: false,
					
					speed: 200,
					easing: null,
					
					vertical: false,
					circular: true,
					visible: 3,
					start: 0,
					scroll: 1,
					
					beforeStart: null,
					afterEnd: null
				}, options);
				
				if (o.scroll > o.visible) {
					log('scroll more elements than visible is not allowed! terminating ...');
					return $this;
				}
				
				var running = false, curr = 0;
				
				var animCss = o.vertical ? "top" : "left";
				var sizeCss = o.vertical ? "height" : "width";
				var div = $this;
				var ul = $("ul", div);
				var tLi = $("li", ul), v = o.visible;
				var tl = tLi.size();
				
				var circ_offset = 0;
				
				var curr = o.start;
				var currpage = null;
				
				var pagelength = Math.ceil((tl - o.visible)/o.scroll)+1;
				
				var intervalID = null;
				
				var liSize = o.vertical ? tLi.outerHeight(true) : tLi.outerWidth(true); // Full li size(incl margin)-Used for animation
				var divSize = o.vertical ? div.outerHeight(true) : div.outerWidth(true);
				
				if (o.circular) {
					ul.prepend(tLi.slice(tl - v).clone()).append(tLi.slice(0, v).clone());
					circ_offset = v * liSize;
				}
				
				var li = $("li", ul);
				var totalLiLength = li.size();

				
				var ulSize = liSize * totalLiLength; // size of full ul(total length, not just for the visible items)
				
				//li.css({width: li.width(), height: li.height()});

				div.css("visibility", "visible");
				
				li.css({
					'overflow': 'hidden',
					'float': o.vertical ? "none" : "left"
				});
				ul.css({
					margin: "0",
					padding: "0",
					position: "relative",
					"list-style-type": "none"
				});
				div.css({
					overflow: "hidden",
					position: "relative",
					left: "0px"
				});				
				
				ul.css(sizeCss, ulSize + "px").css(animCss, -(curr*liSize + circ_offset));
				
				
				if (o.buildPager) {
					var pagerLinks = '';
					for (var i=0; i<pagelength; i++) {
						pagerLinks += '<a href="#" >'+(i+1)+'</a>';
					};
					$(o.buildPager).append(pagerLinks);
					o.btnPage = $('a', o.buildPager);
				}

				if (o.btnGo) {
					$.each(o.btnGo, function(i, val){
						$(val).click(function(){
							if (!$(this).hasClass('active')) {
								methods.go.call($this, i);
							}
							return false;
						});
					});
				}

				if (o.btnPage) {
					if (o.btnPage.length < pagelength) {
						log('Not enough btnPage Objects, please update or use $("#yourCarouselID").mmcCarousel("goPage", n).');
						o.btnPage = null;
					}
					else {
						$.each(o.btnPage, function(i, val){
							$(val).click(function(){
								if (!$(this).hasClass('active')) {
									methods.goPage.call($this, i);
								}
								return false;
							});
						});
					}
				}

				if (o.btnPrev) {
					$(o.btnPrev).click(function(){
						if (!$(this).hasClass('disabled')) {
							methods.advance.call($this, -o.scroll);
							return false;
						}
						else {
							return false;
						}
					});
				}
				
				if (o.btnNext) {
					$(o.btnNext).click(function(){
						if (!$(this).hasClass('disabled')) {
							methods.advance.call($this, o.scroll);
							return false;
						} else {
							return false;
						}
					});
				}
				

					
				if (o.mouseWheel && div.mousewheel) 
					div.mousewheel(function(e, d){
						d > 0 ? methods.advance.call($this,  -o.scroll) : methods.advance.call($this, o.scroll);
						return false;
					});
				
				var data = {
					$this: $this,
					running: running,
					curr: curr,
					o: o,
					animCss: animCss,
					sizeCss: sizeCss,
					totalLiLength: totalLiLength,
					ul: ul,
					li: li,
					liSize: liSize,
					ulSize: ulSize,
					tl: tl,
					circ_offset: circ_offset,
					currpage: currpage,
					pagelength: pagelength,
					intervalID: intervalID
				};
				
				$this.data('mmcCarousel', data);
				
				if (o.auto) {
					methods.startAuto.call($this);
					$(o.btnPrev).add(o.btnNext)
						.mouseenter(function(){
							methods.stopAuto.call($this);
						})
						.mouseleave(function(){
							methods.startAuto.call($this);
						});				
				}
				
				disEnAbleButtons(this);
				
                if(o.afterInit)
                    o.afterInit.call(this, o);
				
		   }
		});
		
		
	},
	go : function( to ) {

		return this.each(function(){
			
			// log('go to='+to + ' ');
			
			var $this = $(this);
			var data = $(this).data('mmcCarousel');
			var v = data.o.visible;
			
	        if(!data.running) {
				
	            if(data.o.circular) {            // If circular we are in first or last, then goto the other end
	                if(to<-data.o.visible) {           // If first, then goto last
	                    // If "scroll" > 1, then the "to" might not be equal to the condition; it can be lesser depending on the number of elements.
	                    data.curr = to+data.tl;
						methods.jump.call($this, data.curr+data.tl);
	                } else if(to > data.tl) { // If last, then goto first
	                    methods.jump.call($this, data.curr-data.tl);
						data.curr = to - data.tl;
	                } else data.curr = to;
	            } else {                    // If non-circular and to points to first or last, we just return.
	                if (data.o.auto || data.o.jumpToOtherEnd) {
						if (to < 0)
							data.curr = data.tl - v;
						else
							if (to > data.tl - v) {				// true if "to" is greater than the last valid element (all elements minus visible elements).
								if (data.curr == (data.tl - v))	// if we have been here before,
									data.curr = 0;				// ... go to first element
								else
									data.curr = data.tl - v;	// set "curr" to the last valid element 
							}
							else 
								data.curr = to;
					}
					else {
						if (to < 0) 
							data.curr = 0;
						else 
							if (to > data.tl - v) 
								data.curr = data.tl - v;
							else
								data.curr = to;
						if (data.curr < 0) 
							data.curr = 0;
					}
	            }                           // If neither overrides it, the curr will still be "to" and we can proceed.

				data.currpage = Math.ceil(data.curr/data.o.scroll) % data.pagelength;
				
				

				if(data.o.beforeStart)
	                data.o.beforeStart.call(this, vis(this), data.currpage);
	
				// log('curr='+data.curr+'  currpage='+data.currpage);
	
	            data.running = true;
	
				//log(data.curr*data.liSize+data.circ_offset);
	
	            data.ul.animate(

	                data.animCss == "left" ? { left: -(data.curr*data.liSize+data.circ_offset) } : { top: -(data.curr*data.liSize+data.circ_offset) } , data.o.speed, data.o.easing,
					function() {
						if(data.o.circular) {
							if(data.curr < 0) {
								data.curr += data.tl;
							} else if(data.curr >= data.tl) {
								data.curr -= data.tl;
							}
							data.currpage = Math.ceil(data.curr/data.o.scroll) % data.pagelength;
							methods.jump.call($this, data.curr);
							$(this).data('mmcCarousel', data);
						}
	                    if(data.o.afterEnd)
	                        data.o.afterEnd.call(this, vis(this), data.curr, data.currpage);
	                    data.running = false;
	                }
	            );
				
				$(this).data('mmcCarousel', data);
				
				disEnAbleButtons(this);
	        }
		});

	 },
	 advance : function (howmuch) {
	 	return this.each(function(){
			var $this = $(this);
			var data = $this.data('mmcCarousel');
			var curr = data.curr;
			if (data.o.btnPage) 
				return methods.goPage.call($this, $this.data('mmcCarousel').currpage + sgn(howmuch));
			else			
				return methods.go.call($this, (curr+howmuch));
		});
	 },
	 getRunning : function() {
	 	return $(this).data('mmcCarousel').running;
	 },
	 jump: function( to ) {
	 	return this.each(function(){
			var $this = $(this);
			var data = $this.data('mmcCarousel');
			data.ul.css(data.animCss, -(data.liSize * to + data.circ_offset));
			data.curr = to;
		});
	 },
	 goPage : function( toPg ) {
	 	return this.each(function() {
			var $this = $(this);
			var data = $this.data('mmcCarousel');
			var to = toPg * data.o.scroll;
			if (to > data.tl) {
				to = data.tl;
			} else if (to < 0) {
				to = -(data.tl % data.o.scroll);
				log (to);
			}
			return methods.go.call($this, to);
		});
	 },
	 stopAuto : function() {
	 	return this.each(function(){
			var $this = $(this);
			var data = $this.data('mmcCarousel');
			clearInterval(data.intervalID);
		});
	 },
	 startAuto : function() {
	 	return this.each(function(){
			var $this = $(this);
			var data = $this.data('mmcCarousel');
			if (!data.o.auto) data.o.auto = true;
			if (data.o.auto === true) data.o.auto = data.o.speed;
			data.intervalID = setInterval(function(){
				methods.advance.call($this, data.o.scroll);
			}, parseInt(data.o.auto + data.o.speed));
			$this.data('mmcCarousel', data);	
		});
	 }

  };


	function vis(instance) {
		var data = $(instance).data('mmcCarousel');
	    return data.li.slice(data.curr).slice(0,data.o.visible);
	};
	
	function disEnAbleButtons(instance){
		// Disable buttons when the carousel reaches the last/first, and enable when not
		var data = $(instance).data('mmcCarousel'); 
		if (!data.o.circular && !data.o.jumpToOtherEnd) {
			$(data.o.btnPrev).add(data.o.btnNext).removeClass("disabled");
			
			$((data.curr == 0 && data.o.btnPrev) ||
			(data.curr == (data.tl - data.o.visible) && data.o.btnNext) ||
			[]).addClass("disabled");
			
			if (data.tl <= data.o.visible) $(data.o.btnNext).addClass("disabled");
			
		}

		if(data.o.btnGo) {
			$(data.o.btnGo).removeClass('active');
			$(data.o.btnGo).eq(data.curr).addClass('active');
		}
		if(data.o.btnPage) {
			$(data.o.btnPage).removeClass('active');
			$(data.o.btnPage).eq(data.currpage).addClass('active');
		}		
		
	}
	
	function log() {
		if (window.console && window.console.log)
			window.console.log('[mmcCarousel] ' + Array.prototype.join.call(arguments,' '));
	};	
	
	function sgn(num) {
		if (num < 0) {
			return -1;
		}
		else if (num > 0) {
			return 1;
		}
		else {
			return 0;
		}
	}



  $.fn.mmcCarousel = function( method ) {
    
    // Method calling logic
    if ( methods[method] ) {
      return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
    } else if ( typeof method === 'object' || ! method ) {
      return methods.init.apply( this, arguments );
    } else {
      $.error( 'Method ' +  method + ' does not exist on jQuery.tooltip' );
    }    
  
  };

})( jQuery );




/*
 * jQuery Cycle Plugin (core engine)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2010 M. Alsup
 * Version: 2.88 (08-JUN-2010)
 * Dual licensed under the MIT and GPL licenses.
 * http://jquery.malsup.com/license.html
 * Requires: jQuery v1.2.6 or later
 */
(function($){var ver="2.88";if($.support==undefined){$.support={opacity:!($.browser.msie)};}function debug(s){if($.fn.cycle.debug){log(s);}}function log(){if(window.console&&window.console.log){window.console.log("[cycle] "+Array.prototype.join.call(arguments," "));}}$.fn.cycle=function(options,arg2){var o={s:this.selector,c:this.context};if(this.length===0&&options!="stop"){if(!$.isReady&&o.s){log("DOM not ready, queuing slideshow");$(function(){$(o.s,o.c).cycle(options,arg2);});return this;}log("terminating; zero elements found by selector"+($.isReady?"":" (DOM not ready)"));return this;}return this.each(function(){var opts=handleArguments(this,options,arg2);if(opts===false){return;}opts.updateActivePagerLink=opts.updateActivePagerLink||$.fn.cycle.updateActivePagerLink;if(this.cycleTimeout){clearTimeout(this.cycleTimeout);}this.cycleTimeout=this.cyclePause=0;var $cont=$(this);var $slides=opts.slideExpr?$(opts.slideExpr,this):$cont.children();var els=$slides.get();if(els.length<2){log("terminating; too few slides: "+els.length);return;}var opts2=buildOptions($cont,$slides,els,opts,o);if(opts2===false){return;}var startTime=opts2.continuous?10:getTimeout(els[opts2.currSlide],els[opts2.nextSlide],opts2,!opts2.rev);if(startTime){startTime+=(opts2.delay||0);if(startTime<10){startTime=10;}debug("first timeout: "+startTime);this.cycleTimeout=setTimeout(function(){go(els,opts2,0,(!opts2.rev&&!opts.backwards));},startTime);}});};function handleArguments(cont,options,arg2){if(cont.cycleStop==undefined){cont.cycleStop=0;}if(options===undefined||options===null){options={};}if(options.constructor==String){switch(options){case"destroy":case"stop":var opts=$(cont).data("cycle.opts");if(!opts){return false;}cont.cycleStop++;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);}cont.cycleTimeout=0;$(cont).removeData("cycle.opts");if(options=="destroy"){destroy(opts);}return false;case"toggle":cont.cyclePause=(cont.cyclePause===1)?0:1;checkInstantResume(cont.cyclePause,arg2,cont);return false;case"pause":cont.cyclePause=1;return false;case"resume":cont.cyclePause=0;checkInstantResume(false,arg2,cont);return false;case"prev":case"next":var opts=$(cont).data("cycle.opts");if(!opts){log('options not found, "prev/next" ignored');return false;}$.fn.cycle[options](opts);return false;default:options={fx:options};}return options;}else{if(options.constructor==Number){var num=options;options=$(cont).data("cycle.opts");if(!options){log("options not found, can not advance slide");return false;}if(num<0||num>=options.elements.length){log("invalid slide index: "+num);return false;}options.nextSlide=num;if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}if(typeof arg2=="string"){options.oneTimeFx=arg2;}go(options.elements,options,1,num>=options.currSlide);return false;}}return options;function checkInstantResume(isPaused,arg2,cont){if(!isPaused&&arg2===true){var options=$(cont).data("cycle.opts");if(!options){log("options not found, can not resume");return false;}if(cont.cycleTimeout){clearTimeout(cont.cycleTimeout);cont.cycleTimeout=0;}go(options.elements,options,1,(!opts.rev&&!opts.backwards));}}}function removeFilter(el,opts){if(!$.support.opacity&&opts.cleartype&&el.style.filter){try{el.style.removeAttribute("filter");}catch(smother){}}}function destroy(opts){if(opts.next){$(opts.next).unbind(opts.prevNextEvent);}if(opts.prev){$(opts.prev).unbind(opts.prevNextEvent);}if(opts.pager||opts.pagerAnchorBuilder){$.each(opts.pagerAnchors||[],function(){this.unbind().remove();});}opts.pagerAnchors=null;if(opts.destroy){opts.destroy(opts);}}function buildOptions($cont,$slides,els,options,o){var opts=$.extend({},$.fn.cycle.defaults,options||{},$.metadata?$cont.metadata():$.meta?$cont.data():{});if(opts.autostop){opts.countdown=opts.autostopCount||els.length;}var cont=$cont[0];$cont.data("cycle.opts",opts);opts.$cont=$cont;opts.stopCount=cont.cycleStop;opts.elements=els;opts.before=opts.before?[opts.before]:[];opts.after=opts.after?[opts.after]:[];opts.after.unshift(function(){opts.busy=0;});if(!$.support.opacity&&opts.cleartype){opts.after.push(function(){removeFilter(this,opts);});}if(opts.continuous){opts.after.push(function(){go(els,opts,0,(!opts.rev&&!opts.backwards));});}saveOriginalOpts(opts);if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($slides);}if($cont.css("position")=="static"){$cont.css("position","relative");}if(opts.width){$cont.width(opts.width);}if(opts.height&&opts.height!="auto"){$cont.height(opts.height);}if(opts.startingSlide){opts.startingSlide=parseInt(opts.startingSlide);}else{if(opts.backwards){opts.startingSlide=els.length-1;}}if(opts.random){opts.randomMap=[];for(var i=0;i<els.length;i++){opts.randomMap.push(i);}opts.randomMap.sort(function(a,b){return Math.random()-0.5;});opts.randomIndex=1;opts.startingSlide=opts.randomMap[1];}else{if(opts.startingSlide>=els.length){opts.startingSlide=0;}}opts.currSlide=opts.startingSlide||0;var first=opts.startingSlide;$slides.css({position:"absolute",top:0,left:0}).hide().each(function(i){var z;if(opts.backwards){z=first?i<=first?els.length+(i-first):first-i:els.length-i;}else{z=first?i>=first?els.length-(i-first):first-i:els.length-i;}$(this).css("z-index",z);});$(els[first]).css("opacity",1).show();removeFilter(els[first],opts);if(opts.fit&&opts.width){$slides.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}var reshape=opts.containerResize&&!$cont.innerHeight();if(reshape){var maxw=0,maxh=0;for(var j=0;j<els.length;j++){var $e=$(els[j]),e=$e[0],w=$e.outerWidth(),h=$e.outerHeight();if(!w){w=e.offsetWidth||e.width||$e.attr("width");}if(!h){h=e.offsetHeight||e.height||$e.attr("height");}maxw=w>maxw?w:maxw;maxh=h>maxh?h:maxh;}if(maxw>0&&maxh>0){$cont.css({width:maxw+"px",height:maxh+"px"});}}if(opts.pause){$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});}if(supportMultiTransitions(opts)===false){return false;}var requeue=false;options.requeueAttempts=options.requeueAttempts||0;$slides.each(function(){var $el=$(this);this.cycleH=(opts.fit&&opts.height)?opts.height:($el.height()||this.offsetHeight||this.height||$el.attr("height")||0);this.cycleW=(opts.fit&&opts.width)?opts.width:($el.width()||this.offsetWidth||this.width||$el.attr("width")||0);if($el.is("img")){var loadingIE=($.browser.msie&&this.cycleW==28&&this.cycleH==30&&!this.complete);var loadingFF=($.browser.mozilla&&this.cycleW==34&&this.cycleH==19&&!this.complete);var loadingOp=($.browser.opera&&((this.cycleW==42&&this.cycleH==19)||(this.cycleW==37&&this.cycleH==17))&&!this.complete);var loadingOther=(this.cycleH==0&&this.cycleW==0&&!this.complete);if(loadingIE||loadingFF||loadingOp||loadingOther){if(o.s&&opts.requeueOnImageNotLoaded&&++options.requeueAttempts<100){log(options.requeueAttempts," - img slide not loaded, requeuing slideshow: ",this.src,this.cycleW,this.cycleH);setTimeout(function(){$(o.s,o.c).cycle(options);},opts.requeueTimeout);requeue=true;return false;}else{log("could not determine size of image: "+this.src,this.cycleW,this.cycleH);}}}return true;});if(requeue){return false;}opts.cssBefore=opts.cssBefore||{};opts.animIn=opts.animIn||{};opts.animOut=opts.animOut||{};$slides.not(":eq("+first+")").css(opts.cssBefore);if(opts.cssFirst){$($slides[first]).css(opts.cssFirst);}if(opts.timeout){opts.timeout=parseInt(opts.timeout);if(opts.speed.constructor==String){opts.speed=$.fx.speeds[opts.speed]||parseInt(opts.speed);}if(!opts.sync){opts.speed=opts.speed/2;}var buffer=opts.fx=="shuffle"?500:250;while((opts.timeout-opts.speed)<buffer){opts.timeout+=opts.speed;}}if(opts.easing){opts.easeIn=opts.easeOut=opts.easing;}if(!opts.speedIn){opts.speedIn=opts.speed;}if(!opts.speedOut){opts.speedOut=opts.speed;}opts.slideCount=els.length;opts.currSlide=opts.lastSlide=first;if(opts.random){if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.backwards){opts.nextSlide=opts.startingSlide==0?(els.length-1):opts.startingSlide-1;}else{opts.nextSlide=opts.startingSlide>=(els.length-1)?0:opts.startingSlide+1;}}if(!opts.multiFx){var init=$.fn.cycle.transitions[opts.fx];if($.isFunction(init)){init($cont,$slides,opts);}else{if(opts.fx!="custom"&&!opts.multiFx){log("unknown transition: "+opts.fx,"; slideshow terminating");return false;}}}var e0=$slides[first];if(opts.before.length){opts.before[0].apply(e0,[e0,e0,opts,true]);}if(opts.after.length>1){opts.after[1].apply(e0,[e0,e0,opts,true]);}if(opts.next){$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1);});}if(opts.prev){$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1);});}if(opts.pager||opts.pagerAnchorBuilder){buildPager(els,opts);}exposeAddSlide(opts,els);return opts;}function saveOriginalOpts(opts){opts.original={before:[],after:[]};opts.original.cssBefore=$.extend({},opts.cssBefore);opts.original.cssAfter=$.extend({},opts.cssAfter);opts.original.animIn=$.extend({},opts.animIn);opts.original.animOut=$.extend({},opts.animOut);$.each(opts.before,function(){opts.original.before.push(this);});$.each(opts.after,function(){opts.original.after.push(this);});}function supportMultiTransitions(opts){var i,tx,txs=$.fn.cycle.transitions;if(opts.fx.indexOf(",")>0){opts.multiFx=true;opts.fxs=opts.fx.replace(/\s*/g,"").split(",");for(i=0;i<opts.fxs.length;i++){var fx=opts.fxs[i];tx=txs[fx];if(!tx||!txs.hasOwnProperty(fx)||!$.isFunction(tx)){log("discarding unknown transition: ",fx);opts.fxs.splice(i,1);i--;}}if(!opts.fxs.length){log("No valid transitions named; slideshow terminating.");return false;}}else{if(opts.fx=="all"){opts.multiFx=true;opts.fxs=[];for(p in txs){tx=txs[p];if(txs.hasOwnProperty(p)&&$.isFunction(tx)){opts.fxs.push(p);}}}}if(opts.multiFx&&opts.randomizeEffects){var r1=Math.floor(Math.random()*20)+30;for(i=0;i<r1;i++){var r2=Math.floor(Math.random()*opts.fxs.length);opts.fxs.push(opts.fxs.splice(r2,1)[0]);}debug("randomized fx sequence: ",opts.fxs);}return true;}function exposeAddSlide(opts,els){opts.addSlide=function(newSlide,prepend){var $s=$(newSlide),s=$s[0];if(!opts.autostopCount){opts.countdown++;}els[prepend?"unshift":"push"](s);if(opts.els){opts.els[prepend?"unshift":"push"](s);}opts.slideCount=els.length;$s.css("position","absolute");$s[prepend?"prependTo":"appendTo"](opts.$cont);if(prepend){opts.currSlide++;opts.nextSlide++;}if(!$.support.opacity&&opts.cleartype&&!opts.cleartypeNoBg){clearTypeFix($s);}if(opts.fit&&opts.width){$s.width(opts.width);}if(opts.fit&&opts.height&&opts.height!="auto"){$slides.height(opts.height);}s.cycleH=(opts.fit&&opts.height)?opts.height:$s.height();s.cycleW=(opts.fit&&opts.width)?opts.width:$s.width();$s.css(opts.cssBefore);if(opts.pager||opts.pagerAnchorBuilder){$.fn.cycle.createPagerAnchor(els.length-1,s,$(opts.pager),els,opts);}if($.isFunction(opts.onAddSlide)){opts.onAddSlide($s);}else{$s.hide();}};}$.fn.cycle.resetState=function(opts,fx){fx=fx||opts.fx;opts.before=[];opts.after=[];opts.cssBefore=$.extend({},opts.original.cssBefore);opts.cssAfter=$.extend({},opts.original.cssAfter);opts.animIn=$.extend({},opts.original.animIn);opts.animOut=$.extend({},opts.original.animOut);opts.fxFn=null;$.each(opts.original.before,function(){opts.before.push(this);});$.each(opts.original.after,function(){opts.after.push(this);});var init=$.fn.cycle.transitions[fx];if($.isFunction(init)){init(opts.$cont,$(opts.elements),opts);}};function go(els,opts,manual,fwd){if(manual&&opts.busy&&opts.manualTrump){debug("manualTrump in go(), stopping active transition");$(els).stop(true,true);opts.busy=false;}if(opts.busy){debug("transition active, ignoring new tx request");return;}var p=opts.$cont[0],curr=els[opts.currSlide],next=els[opts.nextSlide];if(p.cycleStop!=opts.stopCount||p.cycleTimeout===0&&!manual){return;}if(!manual&&!p.cyclePause&&!opts.bounce&&((opts.autostop&&(--opts.countdown<=0))||(opts.nowrap&&!opts.random&&opts.nextSlide<opts.currSlide))){if(opts.end){opts.end(opts);}return;}var changed=false;if((manual||!p.cyclePause)&&(opts.nextSlide!=opts.currSlide)){changed=true;var fx=opts.fx;curr.cycleH=curr.cycleH||$(curr).height();curr.cycleW=curr.cycleW||$(curr).width();next.cycleH=next.cycleH||$(next).height();next.cycleW=next.cycleW||$(next).width();if(opts.multiFx){if(opts.lastFx==undefined||++opts.lastFx>=opts.fxs.length){opts.lastFx=0;}fx=opts.fxs[opts.lastFx];opts.currFx=fx;}if(opts.oneTimeFx){fx=opts.oneTimeFx;opts.oneTimeFx=null;}$.fn.cycle.resetState(opts,fx);if(opts.before.length){$.each(opts.before,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});}var after=function(){$.each(opts.after,function(i,o){if(p.cycleStop!=opts.stopCount){return;}o.apply(next,[curr,next,opts,fwd]);});};debug("tx firing; currSlide: "+opts.currSlide+"; nextSlide: "+opts.nextSlide);opts.busy=1;if(opts.fxFn){opts.fxFn(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{if($.isFunction($.fn.cycle[opts.fx])){$.fn.cycle[opts.fx](curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}else{$.fn.cycle.custom(curr,next,opts,after,fwd,manual&&opts.fastOnEvent);}}}if(changed||opts.nextSlide==opts.currSlide){opts.lastSlide=opts.currSlide;if(opts.random){opts.currSlide=opts.nextSlide;if(++opts.randomIndex==els.length){opts.randomIndex=0;}opts.nextSlide=opts.randomMap[opts.randomIndex];if(opts.nextSlide==opts.currSlide){opts.nextSlide=(opts.currSlide==opts.slideCount-1)?0:opts.currSlide+1;}}else{if(opts.backwards){var roll=(opts.nextSlide-1)<0;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=1;opts.currSlide=0;}else{opts.nextSlide=roll?(els.length-1):opts.nextSlide-1;opts.currSlide=roll?0:opts.nextSlide+1;}}else{var roll=(opts.nextSlide+1)==els.length;if(roll&&opts.bounce){opts.backwards=!opts.backwards;opts.nextSlide=els.length-2;opts.currSlide=els.length-1;}else{opts.nextSlide=roll?0:opts.nextSlide+1;opts.currSlide=roll?els.length-1:opts.nextSlide-1;}}}}if(changed&&opts.pager){opts.updateActivePagerLink(opts.pager,opts.currSlide,opts.activePagerClass);}var ms=0;if(opts.timeout&&!opts.continuous){ms=getTimeout(els[opts.currSlide],els[opts.nextSlide],opts,fwd);}else{if(opts.continuous&&p.cyclePause){ms=10;}}if(ms>0){p.cycleTimeout=setTimeout(function(){go(els,opts,0,(!opts.rev&&!opts.backwards));},ms);}}$.fn.cycle.updateActivePagerLink=function(pager,currSlide,clsName){$(pager).each(function(){$(this).children().removeClass(clsName).eq(currSlide).addClass(clsName);});};function getTimeout(curr,next,opts,fwd){if(opts.timeoutFn){var t=opts.timeoutFn.call(curr,curr,next,opts,fwd);while((t-opts.speed)<250){t+=opts.speed;}debug("calculated timeout: "+t+"; speed: "+opts.speed);if(t!==false){return t;}}return opts.timeout;}$.fn.cycle.next=function(opts){advance(opts,opts.rev?-1:1);};$.fn.cycle.prev=function(opts){advance(opts,opts.rev?1:-1);};function advance(opts,val){var els=opts.elements;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}if(opts.random&&val<0){opts.randomIndex--;if(--opts.randomIndex==-2){opts.randomIndex=els.length-2;}else{if(opts.randomIndex==-1){opts.randomIndex=els.length-1;}}opts.nextSlide=opts.randomMap[opts.randomIndex];}else{if(opts.random){opts.nextSlide=opts.randomMap[opts.randomIndex];}else{opts.nextSlide=opts.currSlide+val;if(opts.nextSlide<0){if(opts.nowrap){return false;}opts.nextSlide=els.length-1;}else{if(opts.nextSlide>=els.length){if(opts.nowrap){return false;}opts.nextSlide=0;}}}}var cb=opts.onPrevNextEvent||opts.prevNextClick;if($.isFunction(cb)){cb(val>0,opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,val>=0);return false;}function buildPager(els,opts){var $p=$(opts.pager);$.each(els,function(i,o){$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);});opts.updateActivePagerLink(opts.pager,opts.startingSlide,opts.activePagerClass);}$.fn.cycle.createPagerAnchor=function(i,el,$p,els,opts){var a;if($.isFunction(opts.pagerAnchorBuilder)){a=opts.pagerAnchorBuilder(i,el);debug("pagerAnchorBuilder("+i+", el) returned: "+a);}else{a='<a href="#">'+(i+1)+"</a>";}if(!a){return;}var $a=$(a);if($a.parents("body").length===0){var arr=[];if($p.length>1){$p.each(function(){var $clone=$a.clone(true);$(this).append($clone);arr.push($clone[0]);});$a=$(arr);}else{$a.appendTo($p);}}opts.pagerAnchors=opts.pagerAnchors||[];opts.pagerAnchors.push($a);$a.bind(opts.pagerEvent,function(e){e.preventDefault();opts.nextSlide=i;var p=opts.$cont[0],timeout=p.cycleTimeout;if(timeout){clearTimeout(timeout);p.cycleTimeout=0;}var cb=opts.onPagerEvent||opts.pagerClick;if($.isFunction(cb)){cb(opts.nextSlide,els[opts.nextSlide]);}go(els,opts,1,opts.currSlide<i);});if(!/^click/.test(opts.pagerEvent)&&!opts.allowPagerClickBubble){$a.bind("click.cycle",function(){return false;});}if(opts.pauseOnPagerHover){$a.hover(function(){opts.$cont[0].cyclePause++;},function(){opts.$cont[0].cyclePause--;});}};$.fn.cycle.hopsFromLast=function(opts,fwd){var hops,l=opts.lastSlide,c=opts.currSlide;if(fwd){hops=c>l?c-l:opts.slideCount-l;}else{hops=c<l?l-c:l+opts.slideCount-c;}return hops;};function clearTypeFix($slides){debug("applying clearType background-color hack");function hex(s){s=parseInt(s).toString(16);return s.length<2?"0"+s:s;}function getBg(e){for(;e&&e.nodeName.toLowerCase()!="html";e=e.parentNode){var v=$.css(e,"background-color");if(v.indexOf("rgb")>=0){var rgb=v.match(/\d+/g);return"#"+hex(rgb[0])+hex(rgb[1])+hex(rgb[2]);}if(v&&v!="transparent"){return v;}}return"#ffffff";}$slides.each(function(){$(this).css("background-color",getBg(this));});}$.fn.cycle.commonReset=function(curr,next,opts,w,h,rev){$(opts.elements).not(curr).hide();opts.cssBefore.opacity=1;opts.cssBefore.display="block";if(w!==false&&next.cycleW>0){opts.cssBefore.width=next.cycleW;}if(h!==false&&next.cycleH>0){opts.cssBefore.height=next.cycleH;}opts.cssAfter=opts.cssAfter||{};opts.cssAfter.display="none";$(curr).css("zIndex",opts.slideCount+(rev===true?1:0));$(next).css("zIndex",opts.slideCount+(rev===true?0:1));};$.fn.cycle.custom=function(curr,next,opts,cb,fwd,speedOverride){var $l=$(curr),$n=$(next);var speedIn=opts.speedIn,speedOut=opts.speedOut,easeIn=opts.easeIn,easeOut=opts.easeOut;$n.css(opts.cssBefore);if(speedOverride){if(typeof speedOverride=="number"){speedIn=speedOut=speedOverride;}else{speedIn=speedOut=1;}easeIn=easeOut=null;}var fn=function(){$n.animate(opts.animIn,speedIn,easeIn,cb);};$l.animate(opts.animOut,speedOut,easeOut,function(){if(opts.cssAfter){$l.css(opts.cssAfter);}if(!opts.sync){fn();}});if(opts.sync){fn();}};$.fn.cycle.transitions={fade:function($cont,$slides,opts){$slides.not(":eq("+opts.currSlide+")").css("opacity",0);opts.before.push(function(curr,next,opts){$.fn.cycle.commonReset(curr,next,opts);opts.cssBefore.opacity=0;});opts.animIn={opacity:1};opts.animOut={opacity:0};opts.cssBefore={top:0,left:0};}};$.fn.cycle.ver=function(){return ver;};$.fn.cycle.defaults={fx:"fade",timeout:4000,timeoutFn:null,continuous:0,speed:1000,speedIn:null,speedOut:null,next:null,prev:null,onPrevNextEvent:null,prevNextEvent:"click.cycle",pager:null,onPagerEvent:null,pagerEvent:"click.cycle",allowPagerClickBubble:false,pagerAnchorBuilder:null,before:null,after:null,end:null,easing:null,easeIn:null,easeOut:null,shuffle:null,animIn:null,animOut:null,cssBefore:null,cssAfter:null,fxFn:null,height:"auto",startingSlide:0,sync:1,random:0,fit:0,containerResize:1,pause:0,pauseOnPagerHover:0,autostop:0,autostopCount:0,delay:0,slideExpr:null,cleartype:!$.support.opacity,cleartypeNoBg:false,nowrap:0,fastOnEvent:0,randomizeEffects:1,rev:0,manualTrump:true,requeueOnImageNotLoaded:true,requeueTimeout:250,activePagerClass:"activeSlide",updateActivePagerLink:null,backwards:false};})(jQuery);
