jQuery.fn.slideShows = function(options){
  var slides = $(this);
  /* default variables */
  var defaults = {
    delaytime : 5000,
    animation : true
  };
  /* assign options */
  var options = $.extend(defaults, options);	
  /* assign variables */
  var delaytime = options.delaytime;
  var animation = options.animation;
  /* class indexing */
  $('.slide-content',this).each(function(index){
    $(this).addClass('slide-'+index);
    $(this).hover(function(){
    clearTimeout(timeoutslide);
    },function(){
    if(animation==true){timeoutslide = setTimeout(simpleslide,delaytime);};
    });
  });
  /* how many slide contents? */
  var totalslides = $('.slide-content',this).length;
  /* Begin The Show */
  var i=0; //Index of slide
  /* slide animation */
  var simpleslide = function simpleslide() {	        
    clearTimeout(timeoutslide);
    /* end of slides */
    if(i==totalslides-1){
    i = 0;
    } else {
    i = ++i;
    }
    /* animate and assign classes */
    $('.slide-nav li a', slides).removeClass('selected').eq(i).addClass('selected');
    if($.browser.msie){
      $('.slide-content', slides).hide().addClass('hidden').filter('.slide-'+i).show().removeClass('hidden');
      }else {
      $('.slide-content', slides).hide().addClass('hidden').filter('.slide-'+i).fadeIn().removeClass('hidden');
    }
    timeoutslide = setTimeout(simpleslide,delaytime);
  };
  /* animate or not? */
  if(animation==true){
    timeoutslide = setTimeout(simpleslide,delaytime);
  };
  /* Navigation */
  $('.slide-nav li a', this).each(function(index){
    $(this).addClass('slide-'+index);
    $(this).hover(function(){ 
      clearTimeout(timeoutslide);
      $(this).addClass('selected').parent().siblings().children().removeClass('selected');
      if($.browser.msie){ // Damn you, IE6
        $('.slide-content', slides).hide().addClass('hidden').filter('.slide-'+index).show().removeClass('hidden');
      }else {
        $('.slide-content', slides).hide().addClass('hidden').filter('.slide-'+index).fadeIn().removeClass('hidden');
      }
    },function(){
      if(animation==true){timeoutslide = setTimeout(simpleslide,delaytime);};
    });
  }); // end of navigation
};
/* Gallery Slide */
jQuery.fn.gallerySlide = function(options){
  var slides = $(this);
  /* default variables */
  var defaults = {
    delaytime : 3000,
    animation : true
  };
  /* assign options */
  var options = $.extend(defaults, options);	
  /* assign variables */
  var delaytime = options.delaytime;
  var animation = options.animation;
  
  /* class indexing */
  $('.slide-content',this).each(function(index){
    $(this).addClass('slide-'+(index+1));
  });
  /* how many slide contents? */
  var totalslides = $('.slide-content',this).length;
  /* Begin The Show */
  var i=1; //Index of slide
  /* slide animation */
  var simpleslide = function simpleslide() {
    clearTimeout(thetimeout);
    /* end of slides */
    if(i==totalslides){
      i = 1;
    } else {
      i = ++i;
    }
    /* animate and assign classes */
    $('.slide-nav li a', slides).removeClass('selected').eq(i).addClass('selected');
    $('.slide-content', slides).hide().addClass('hidden').filter('.slide-'+i).fadeIn().removeClass('hidden');
    thetimeout = setTimeout(simpleslide,delaytime);
  };
  /* animate or not? */
  if(animation==true){
    thetimeout = setTimeout(simpleslide,delaytime);
  }
  /* Navigation */
  $('.slide-nav li a', this).each(function(index){
    /* exclude previous and next button from content index */
    if($(this).hasClass('prev') || $(this).hasClass('next')) {
      /* in case it is previous or next: */
      switch($(this).attr('class')){
        case 'prev':
          $(this).click(function(){
            /* cancel out the show */
            clearTimeout(thetimeout);
            /* find which content is active, grab their index*/
            var theclass = $('.slide-content:not(.hidden)', slides).attr('class').split(' ');
            var y = parseInt(theclass[1].slice('6'));
            if(y==1){
              $('.slide-content', slides).hide().addClass('hidden').filter('.slide-'+totalslides).fadeIn().removeClass('hidden');
              $('.slide-nav li a', slides).removeClass('selected').eq(totalslides).addClass('selected');
            } else {
              $('.slide-content', slides).hide().addClass('hidden').filter('.slide-'+(y-1)).fadeIn().removeClass('hidden');
              $('.slide-nav li a', slides).removeClass('selected').eq(y-1).addClass('selected');
            }
            return false;
          });
        break;
        case 'next':
          $(this).click(function(){
            /* cancel out the show */
            clearTimeout(thetimeout);
            /* find which content is active, grab their index*/
            var theclass = $('.slide-content:not(.hidden)', slides).attr('class').split(' ');
            var x = parseInt(theclass[1].slice('6'));
            if(x==totalslides){
              $('.slide-content', slides).hide().addClass('hidden').filter('.slide-'+1).fadeIn().removeClass('hidden');
              $('.slide-nav li a', slides).removeClass('selected').eq(1).addClass('selected');
            } else {
              $('.slide-content', slides).hide().addClass('hidden').filter('.slide-'+(x+1)).fadeIn().removeClass('hidden');
              $('.slide-nav li a', slides).removeClass('selected').eq(x+1).addClass('selected');
            }
            return false;
          });
        break;
      }; // end of cases
    
    } else { // if it is slide index, do the following:
      $(this).addClass('slide-'+index);
      $(this).click(function(){
        clearTimeout(thetimeout);
        $(this).addClass('selected').parent().siblings().children().removeClass('selected');
        $('.slide-content', slides).hide().addClass('hidden').filter('.slide-'+index).fadeIn().removeClass('hidden');
        return false;
      });
    };
  }); // end of navigation
};
/* Tabbed Menu */
jQuery.fn.tabbedMenu = function(){
  
  var defaults = {  
    divWrapper: '.tabs li', 
    divContent: '.tab_content' 
  };
  var options = $.extend(defaults, options);	
  
  var div = $(options.divWrapper, this);
  var content = $(options.divContent, this);
  
  /* Clicking */
  div.each(function(index){
    content.hide().eq(0).show();
    $('a', div).removeClass('selected').eq(0).addClass('selected');
    $(this).click(function(){
      $('a', div).removeClass('selected').eq(index).addClass('selected');
      content.hide().addClass('hidden').eq(index).removeClass('hidden').fadeIn();
      return false;
    });
  });  
};
/* Accordion */
jQuery.fn.accordionized = function() {
  
  var defaults = {  
    trigger: '.accordion_head', 
    content: '.pallet' 
  };
  
  var options = $.extend(defaults, options);
  var content = $(options.content, this);
  var trigger = $(options.trigger, this);
  
  content.hide().eq(0).show();
  trigger.removeClass('selected').eq(0).addClass('selected');
  trigger.each(function(index){
    $(this).click(function(){
      trigger.removeClass('selected').eq(index).addClass('selected');
      content.slideUp().eq(index).slideDown();
    });
  });
}
// Initiation
jQuery(document).ready(function($){
  $('#highlight').slideShows();
  $('.galleryslide, .galleryhighlight').gallerySlide();
  $('.review_widget').tabbedMenu();
  $('.accordion').accordionized();
  // !Banner Bottom Ads
  if($('#bottomads').size()>0){
    $('#footer').css({'margin-bottom':'65px'});
    $('#bottomads .close').click(function(e){
      $('#footer').css({'margin-bottom':'15px'});
      $('#bottomads').remove();
      e.preventDefault();
    });
    if($.browser.msie && ($.browser.version < 8)) {
      function recalculate(event) {
        var footer = $("#bottomads");
        var theWindow = $(window);
        var elementHeight = footer.height();
        var windowHeight = theWindow.height();
        var scrollTop = theWindow.scrollTop();
        footer.css("position", 'absolute');
        footer.css("top", windowHeight - elementHeight + scrollTop);
      }
      $(window).bind("resize scroll", recalculate);
      recalculate();
    }
  }
});
