var imageViewer = {

    // navtypes: 'none' 'basic' 'advanced'
    options: {autoplay:true,interval:5000,pauseOnClick:true,autopause:true,speed:2000,keyboard:false,size:1,navType:'basic',steps:1,fadeOpacity:.8,fadeSpeed:200},
    
    api: null,
    
    init: function(selector, options) {

		if(options) {
            $.extend(imageViewer.options,options);
        }
        
        imageViewer.api = $(selector).scrollable({
                                size:imageViewer.options.size,
                                speed:imageViewer.options.speed,
                                keyboard:imageViewer.options.keyboard,
                                swing:'swing',
                                onBeforeSeek:function(){$(selector).parent().fadeTo(imageViewer.options.fadeSpeed,imageViewer.options.fadeOpacity);},
                                onSeek:function(){$(selector).parent().fadeTo('slow',1);}
                                }).circular().autoscroll({
                                                        autoplay:imageViewer.options.autoplay,
                                                        interval:imageViewer.options.interval,
                                                        autopause:imageViewer.options.autopause,
                                                        api:true,steps:imageViewer.options.steps});
        if(imageViewer.options.navType!='none') {
            imageViewer.setNav(selector);
        }

    },
    
    setNav: function(selector) {
        if(imageViewer.options.navType=='basic') {
            var nav = '';
            nav += '<a class="ivPrev">&nbsp;</a>';
            nav += '<a class="ivNext">&nbsp;</a>';
            $(selector).parent().append(nav);

            // calculate top for next and prev:
            var navTop = (($(selector).innerHeight()/2) - ($('.ivPrev').outerHeight()/2)) + 'px';
            $('.ivPrev, .ivNext').css('top',navTop);
            
            // addClass on hover
            $('.ivPrev, .ivNext').bind('mouseover',function(){$(this).addClass('active');}).bind('mouseout',function(){$(this).removeClass('active');});
            
            // add nav functionality:
            $('.ivPrev').bind('click',function(){imageViewer.api.prevPage();imageViewer.api.pause();});
            $('.ivNext').bind('click',function(){imageViewer.api.nextPage();imageViewer.api.pause();});
        }else if(imageViewer.options.navType=='advanced') {
            // nav with play, pause, forward, and next
            var nav = '';
            nav += '<div class="ivNav">';
            nav += '<a class="ivPrev"></a>';
            nav += '<a class="ivPausePlay"></a>';
            nav += '<a class="ivNext"></a>';
            nav += '</div>';
            $(selector).parent().append(nav);
            
            
        }

    },
    
    lastProp: null

};