/**
*	@name NetSups Fader Gallery
*	@type jQuery
*	@author Kaveh Ahmadi (kavehahmadi.com) for NetSups CO. (netsups.com)
*	@version 1.0
*	@copyright 2009 NetSups CO.
*	Licensed under GNU General Public and the MIT license
**/
jQuery.fn.NS_FaderGallery = function(settings)  {
	return this.each(function() {
		settings = jQuery.extend({
			timeout: 10000,
			imgPlace: '.imageContainer',
			previous: '.previous',
			next: '.next'
		}, settings);

		var parent = $(this);
		var imageObj = new Array;
		var imageLink = new Array;
		var curImage = 0;

		//get images
		var i = 0;
		$('li a', parent).each(function(i) {
			imageObj[i] = new Image();
			imageObj[i].src = $(this).attr('rel');
			imageLink[i] = $(this).attr('href');
			i++
		});

		//first image load
		loadImage();

		function loadImage() {
			$('div', settings.imgPlace).fadeOut('slow', function(){
					$('div', settings.imgPlace)
						.html(imageObj[curImage])
						.fadeIn('slow')
					;
					$('#SlideNavigation li').css("background-image","url(./images/circlewhite.png)");
					$('#SlideNavigation li').eq(curImage).css("background-image","url(./images/circleorange.png)");
					
					if(imageLink[curImage] != '0' & imageLink[curImage] != undefined) {
						$('div', settings.imgPlace)
							.click(function() {
								window.location = imageLink[curImage];
							})
							.css({
								 'cursor': 'pointer'
							})
						;
					}
			});
		};

		function goNext() {
			if(curImage < imageObj.length-1) {
				curImage++;
			} else {
				curImage = 0
			}
			loadImage();
		}
		
		function goPrv() {
			if(curImage > 0) {
				curImage--;
			} else {
				curImage = imageObj.length-1
			}
			loadImage();
		}

		//Events
		$(settings.previous, parent).click(function(e) {
			clearInterval(FaderGalleryR);
			goPrv();
			FaderGalleryR = setInterval(goPrv, settings.timeout);
		});

		$(settings.next, parent).click(function(e) {
			clearInterval(FaderGalleryR);
			goNext();
			FaderGalleryR = setInterval(goNext, settings.timeout);
		});

		$("li", parent).click(function(e) {
			e.preventDefault();
			curImage = $('li', this.parentNode).index(this);
			$('li', this.parentNode).css("background-image","url(./images/circlewhite.png)");
			$('li', this.parentNode).eq(curImage).css("background-image","url(./images/circleorange.png)");
			clearInterval(FaderGalleryR);
			loadImage();
			FaderGalleryR = setInterval(goNext, settings.timeout);			
		});

		FaderGalleryR = setInterval(goNext, settings.timeout);
	});
};
