var $slideshow = function(fx_var, timeout_var, slideSpeed_var, tabSpeed_var, bgYes_var, key) {

		if(bgYes_var=="false") var bgYes = false;
		if(bgYes_var=="true") var bgYes = true;
		var timeout = timeout_var;      // time before next slide appears (in ms)
		var slideSpeed = slideSpeed_var;   // time it takes to slide in each slide (in ms)
		var tabSpeed = tabSpeed_var;      // time it takes to slide in each slide (in ms) when clicking through tabs
		var fx = fx_var;   // the slide effect to use
       
	   // set the context to help speed up selectors/improve performance
        var context = $('#slideshow-'+key);
        
        // set tabs to current hard coded navigation items
        var tabs = $('ul.slides-nav-'+key+' li', context);
        
        // remove hard coded navigation items from DOM 
        // because they aren't hooked up to jQuery cycle
        tabs.remove();
        
        // prepare slideshow and jQuery cycle tabs
        prepareSlideshow();

    
    function prepareSlideshow() {
        // initialise the jquery cycle plugin -
        // for information on the options set below go to: 
        // http://malsup.com/jquery/cycle/options.html
        $('div.slides > ul', context).cycle({
            fx: fx,
            timeout: timeout,
            speed: slideSpeed,
            fastOnEvent: tabSpeed,
			prev: '#cycle_prev-'+key,
			next: '#cycle_next-'+key,
            pager: $('ul.slides-nav-'+key, context),
            pagerAnchorBuilder: prepareTabs,
            before: activateTab,
			cleartypeNoBg:  bgYes,
            pauseOnPagerHover: true,
            pause: true
			
        }); 

		//pause and esumebuttons
		$('#cycle_resume').click(function() { 
			$('div.slides > ul', context).cycle('resume');
			$("#cycle_resume-"+key).addClass("resume");
			$("#cycle_pause-"+key).removeClass("pause");
		});
	
		$('#cycle_pause').click(function() { 
			$('div.slides > ul', context).cycle('pause');
			$("#cycle_pause-"+key).addClass("pause");
			$("#cycle_resume-"+key).removeClass("resume");
		});
	
		
    }
    
    function prepareTabs(i, slide) {
        // return markup from hardcoded tabs for use as jQuery cycle tabs
        // (attaches necessary jQuery cycle events to tabs)
        return tabs.eq(i);
    }

    function activateTab(currentSlide, nextSlide) {
        
        // get the active tab
        var activeTab = $('a[href="#' + nextSlide.id + '"]', context);
        
        // if there is an active tab
        if(activeTab.length) {
            // remove active styling from all other tabs
            tabs.removeClass('on');
            
            // add active styling to active button
            activeTab.parent().addClass('on');
        }            
    }

    jQuery("ul.slides-nav-"+key).click(function(event) {event.preventDefault();})
	
};
