$.fn.slide = function(options) {	
	var defaults = {
		slideType: 'fade',
		slideSpeed: 800,
		pause: 5000,
		effectType: '',
		thisSelector: this.selector
	};	
	var opts = $.extend(defaults, options);

	function slideInit(){
		switch (opts.slideType) {
			case 'slide':
				var slideLength = $("#header-image ul li").length;
				var tab = 1;
				var timeout;
				$("#header-image ul li").css({
					'position': 'relative',
					'float': 'left'
				});
				$("#header-image ul").width((slideLength * 920) + 920);
				$("#header-image ul li:eq(0)").clone().appendTo("#header-image ul");
				timeout = setInterval(function(){
					var margin = "-" + 920 * tab + "px";
					if (tab == slideLength) {
						$("#header-image ul").animate({
							marginLeft: margin,
							duration: opts.slideSpeed
						}, function(){
							$("ul", this).css("marginLeft", "0");
						});
						tab = 1;
					}
					else {
						$("#header-image ul").animate({
							marginLeft: margin,
							duration: opts.slideSpeed
						});
						tab++;
					}
				}, opts.pause);
				break;
				
			case 'effect':
				if (opts.effectType == "fade") {
					var len = $('#header-image ul li').size();
					var intNum = Math.floor(Math.random() * len);
					$('#header-image li:eq(' + intNum + ')').addClass('active');
					var timeout = setInterval(function(){
						var $active = $('#header-image li.active');
						if ($active.length == 0) {
							$active = $('#home-image li:last')
						};
						var $next = $active.next().length ? $active.next() : $('#header-image li:first');
						var $sibs = $active.siblings();
						var rndNum = Math.floor(Math.random() * $sibs.length);
						var $next = $($sibs[rndNum]);
						$active.addClass('last-active').css("display", "block");
						$next.css({
							opacity: 0.0
						}).addClass('active').animate({
							opacity: 1.0
						}, 1000, function(){
							$active.removeClass('active last-active');
						});
					}, opts.pause);
				}
				else {
					if (jQuery.browser.msie && Math.floor(parseInt(jQuery.browser.version)) == 6) {
						opts.slideType = "slide";
						slideInit();
					}
					else {
						$(opts.thisSelector).jqFancyTransitions({
							width: 930,
							height: 300,
							delay: opts.pause,
							effect: opts.effectType
						});
					}
				}
				break;
		}
	}
	slideInit();
};
