jQuery.fn.carousel=function(carouselDefaults){var carouselDefaults=jQuery.extend({show:2,speed:300,items:'.item',showControls:true,showPageControls:false,circle:false,autoplay:null},carouselDefaults);return this.each(function(){var carousel=jQuery(this);carousel.wrapInner('<div class="carousel_list"></div>');carousel.wrapInner('<div class="carousel_wrapper"></div>');var carousel_wrapper=carousel.find('.carousel_wrapper');var carousel_list=carousel.find('.carousel_list');var carousel_items=carousel_list.find(carouselDefaults.items);var offset=0;var active_page=1;var mouseover=false;var number_of_pages=Math.ceil(carousel_items.length/carouselDefaults.show);var item_width=carousel_items.outerWidth(true);var item_height=carousel_items.outerHeight(true);carousel_wrapper.height(item_height+'px');carousel_list.width(carousel_items.length*item_width);carousel_list.css({position:'absolute',left:'0px'});carousel_items.css({marginBottom:'0px'});var next_link=jQuery('<a href="#">Next</a>')
var previous_link=jQuery('<a href="#">Previous</a>')
next_link.click(next);previous_link.click(previous);next_li=jQuery('<li class="next"></li>').append(next_link);previous_li=jQuery('<li class="previous"></li>').append(previous_link);if(!carouselDefaults.circle){carousel.bind('carousel:activate_page',function(e,page){next_li.removeClass('inactive');previous_li.removeClass('inactive');if(page>=number_of_pages){next_li.addClass('inactive')};if(page<=1){previous_li.addClass('inactive')};});};if(carouselDefaults.showControls&&(carousel_items.length>carouselDefaults.show)){tabs=jQuery('<ul class="carousel_tabs"></ul>');tabs.append(previous_li);tabs.append(next_li);carousel.append(tabs);if(carouselDefaults.showPageControls){pages=jQuery('<ul></ul>');for(iter=1;iter<=number_of_pages;iter++){link=jQuery('<a href="#"></a>').text(iter);link.click(function(e){e.preventDefault();page_number=Number(jQuery(this).text());carousel.trigger('carousel:activate_page',[page_number]);});pages.append(jQuery('<li></li>').append(link));}
previous_li.after(jQuery('<li class="pages"></li>').append(pages));carousel.bind('carousel:activate_page',function(e,page){carousel.find('li.pages li').removeClass('active').each(function(){if(page==Number(jQuery(this).text())){jQuery(this).addClass('active');}});});}};carousel.bind('carousel:activate_page',goToPage)
carousel.bind('carousel:next',next)
carousel.bind('carousel:previous',previous)
carousel.trigger('carousel:activate_page',[active_page]);carousel.hover(function(){mouseover=true;},function(){mouseover=false;});if(carouselDefaults.autoplay){carouselDefaults.circle=true;setInterval(function(){if(!mouseover){carousel.trigger('carousel:next',next);}},carouselDefaults.autoplay);}
function next(e){e.preventDefault();if((active_page+1)<=number_of_pages){carousel.trigger('carousel:activate_page',[active_page+1]);}else{if(carouselDefaults.circle){carousel.trigger('carousel:activate_page',[1]);}else{carousel_list.animate({left:'-=50px'},100).animate({left:'+=50px'},200)}}}
function previous(e){e.preventDefault();if(active_page>1){carousel.trigger('carousel:activate_page',[active_page-1]);}else{if(carouselDefaults.circle){carousel.trigger('carousel:activate_page',[number_of_pages]);}else{carousel_list.animate({left:'+=50px'},100).animate({left:'-=50px'},200)}}}
function goToPage(e,page){if(page>number_of_pages){page=number_of_pages};if(page<=0){page=1};active_page=page;offset=(page*carouselDefaults.show)-carouselDefaults.show;move_to=offset*item_width;carousel_list.animate({left:-move_to+'px'},carouselDefaults.speed);}});};$(document).ready(function(){var input=$(".marketplace-search input[id=m]");var default_text="Find local businesses...";input.focus(function(){if($(this).val()==default_text){$(this).val('');}});input.blur(function(){if(!input.val()){$(this).attr("value",default_text);}});});
