$.fn.extend({
	homeSlideshow : function(opts) {
		$(this).each(function(){


			var count = 1;
			var time = 700;
			var txtDelay = 200;
			var timerInterval = 4000;

			var content = $(this);
			var intervals = $('<div id="intervals"></div>');
			content.append(intervals);
			for (var i in opts.images) {
				$(intervals).prepend('<a href="javascript:;" rel="'+(parseInt(i)+1)+'"></a>');
				
				//
				//var tempImg = $('<img />');
				//tempImg.attr('src',params.dir+'image'+count+'.'+params.type);
				cnt = parseInt(i) + 1;
				var tmpImg = $('<img />');
				tmpImg.attr('src',opts.dir+'image'+cnt+'.png');
			}

			var step = function(count) {
				$(intervals).find('.slct').removeClass('slct');
				var width = content.width();
				var oldImg = content.find('img');
				
				if (oldImg.length) {
					oldImg.animate({
						left: (width*-1)
					},time);
				}
				
				var img = $('<img src="'+opts.dir+'image'+count+'.png" class="img" />');
				$(content).append(img);
				var link;
				if (opts.links[count-1]) {
					link = opts.links[count-1];
					img.wrap('<a href="'+link+'" target="_blank"></a>');
				}
				$(img).css({left: width});
				$(img).animate({
					left: 0
				},time);
				$(intervals).find('a[rel="'+count+'"]').addClass('slct');
				
			}
			var timerCount = setInterval(function(){
				count++;
				if (count > opts.images.length) {
					count = 1;
				}
				step(count);
			},timerInterval);
			step(count);
		});
		return this;	
	},
	slideshow : function(opts) {
		$(this).each(function(){
			
			var beforeArrow = $('\
			<div class="arrow left" rel="-1">\
			<a href="javascript:;"><img src="images/leftarrow.png" /></a>\
			</div>');
			var afterArrow = $('\
			<div class="arrow right" rel="1">\
			<a href="javascript:;"><img src="images/rightarrow.png" /></a>\
			</div>');
			
			
			var content = $(this).find('.content');
			var params = opts;
			var count = 0;
			var time = 700;
			var txtDelay = 200;
			var newPhotoDelay = 500;
			
			for (var i in opts.images) {
				count = parseInt(i) + 1;
				var tempImg = $('<img />');
				tempImg.attr('src',params.dir+'image'+count+'.'+params.type);
			}
			var step = function(e) {
				if (e) { e.preventDefault(); }
				var dir = $(this).attr('rel');


				if (! dir) {
					dir = 1;
				}
				
				
				count += parseInt(dir);
				
				if (count == 0) {
					count = opts.images.length;
				} else if (count > opts.images.length) {
					count = 1;
				}
				
				var width = $(content).width();
				
				var oldImg = $(content).find('.img');
				var oldTxt = $(content).find('.text');

				if (dir == 1) {
					var aparams = {
						left: (width*-1)
					};
				} else {
					var aparams = {
						left: width
					};
				}
				
				if (oldImg.length) {
					oldImg.animate(aparams,time,function(){
						$(this).remove();
					});
				}
				var timer = setTimeout(function(){
				if (oldTxt.length) {
					oldTxt.animate(aparams,time,function(){
						$(this).remove();
					});
				}
				},txtDelay);
				

				
				var img = $('<img src="'+params.dir+'image'+count+'.'+params.type+'" class="img" />');
				var txt = $('<img src="'+params.dir+'image'+count+'text.'+params.type+'" class="text" />');
				content.append(img).append(txt);
				if (dir==1) {
					var wparams = {left: width};
				} else {
					var wparams = {left: (width*-1)};
				}
				$(img).css(wparams);
				$(txt).css(wparams);
				
				var timer1 = setTimeout(function(){
					
					$(img).animate({
						left: 0
					},time);
				},newPhotoDelay);
				
				var timer = setTimeout(function(){
					$(txt).animate({
						left: 0
					},time);
					
				},txtDelay+newPhotoDelay);
			}

			$(content).before(beforeArrow).after(afterArrow);
			$(beforeArrow).click(step);
			$(afterArrow).click(step);
			$(afterArrow).click();
		});
		return this;
	}
});
