/*  
	Author : elmalma | marka iletişim hizmetleri
	Author URL: http://www.elmalma.com/
	Description: elmalmaSlider JS File
	Tags: elmalma

	Copyright: (c) 2009-2011 Elmalma.
*/




jQuery.fn.elmalmaSlider = function() {
    var args = arguments[0] || {};
    var slidesContainer = args.slidesContainer;
    var navsContainer = args.navsContainer;
    var slides = args.slides;
    var autoPlay = args.autoPlay;
    var autoPlayTime = args.autoPlayTime;
    var duration = args.duration;
    var hover = args.hover;
    var mySelector = $(this);
    var direction;
    var slideNumber;    
    var totalSlides = $(slidesContainer +" > "+ slides, mySelector).length
    
    /*Thumbs append*/
    for (i=1;i<=totalSlides;i++)
	{
		if (i<10)
		{
			jQuery(navsContainer +" > .thumbs", mySelector).append('<span class="thumb"><a>0'+i+'</a></span>');
		}
		else
		{
			jQuery(navsContainer +" > .thumbs", mySelector).append('<span class="thumb"><a rel="">'+i+'</a></span>');
		}
	}
	jQuery(navsContainer +" > .thumbs", mySelector).append('<div class="clear"></div>');
	/*Thumbs append end*/
	
	/*Grab title from image*/
	jQuery(slidesContainer +" > "+ slides, mySelector).each(function(){
		var slidesInfoTxt = $("img",this).attr("title");
		jQuery("img",this).attr("title","");
		jQuery("a",this).after('<div class="slide-info"><span>'+slidesInfoTxt+'</span></div>');
	});
	jQuery(".slide-info").each(function(){
		jQuery(this).css({
			"display":"block",
			"opacity":0,
			"bottom":30
		});
	});
	jQuery(".slide-info:first").animate({
		"bottom":165,
		"opacity":1
	},1200,"easeInOut");
	/*Grab title from image End*/
	
	/*Ready to activate first slide*/
	jQuery(slidesContainer +" > "+ slides, mySelector).removeClass("activeSlide");
	jQuery(slidesContainer +" > "+ slides+":nth-child(1)", mySelector).addClass("activeSlide").fadeOut(0).fadeIn(duration);
	jQuery(navsContainer +" > .thumbs > .thumb:first", mySelector).addClass("activeSlide");
	jQuery("#currentSlide",mySelector).html("01");
	/*Ready to activate first slide end*/
	
	/*SliderLogos Position Fix*/
	jQuery(".sliderLogo", mySelector).each(function(){
		jQuery(this).css({
			"margin-top":(($(this).height())/2)*(-1),
			"margin-left":(($(this).width())/2)*(-1)
			//"display":"none"
		})
	});
	/*SliderLogos Position Fix End*/
	
	/*Activate First SliderLogo*/
	jQuery(".sliderLogo:first", mySelector).addClass("activeSlide").fadeOut(0).fadeIn(duration);
	/*Activate First SliderLogo End*/
	
	
	/*Direction navs*/
	jQuery(navsContainer+"> .homeSliderNavs > span",mySelector).click(function(){
		var goTo;
		var direction = jQuery('> a',this).attr("rel");
		var activeSlide = jQuery(slidesContainer +" > .activeSlide",mySelector).index()+1;
		
		if (direction == "nextSlide")
		{
			if (activeSlide+1 < 10)
			{
				goTo = "0"+(activeSlide+1);
			}
			else
			{
				goTo = (activeSlide+1);
			}
			if (goTo > totalSlides) {goTo = 1};
			jQuery(navsContainer +" > .thumbs > .activeSlide",mySelector).removeClass("activeSlide");
			jQuery(navsContainer +" > .thumbs > .thumb:nth-child("+goTo+")",mySelector).addClass("activeSlide");
		}
		else if (direction == "prevSlide")
		{
			if (activeSlide-1 < 10)
			{
				goTo = "0"+(activeSlide-1);
			}
			else
			{
				goTo = (activeSlide-1);
			}
			if (goTo <= 0) { goTo = totalSlides};
			jQuery(navsContainer +" > .thumbs > .activeSlide",mySelector).removeClass("activeSlide");
			jQuery(navsContainer +" > .thumbs > .thumb:nth-child("+goTo+")",mySelector).addClass("activeSlide");
		}
		
		goToSlide(goTo);
		
	});
	/*Direction navs end*/
	
	/*Thumb navs*/
	jQuery(navsContainer +" > .thumbs > .thumb",mySelector).click(function(){
		var activeSlide = $(slidesContainer +" > .activeSlide",mySelector).index()+1;
		var thumbSlide = $(this).text();
		if (activeSlide != thumbSlide)
		{
			jQuery(navsContainer +" > .thumbs > .activeSlide",mySelector).removeClass("activeSlide");
			jQuery(this).addClass("activeSlide");
			goToSlide(thumbSlide);
		}
	});
	/*Thumb navs end*/
	
	
	//auto play
	if (autoPlay)
	{
		var nextSlide = function() {
			jQuery(navsContainer+"> .homeSliderNavs > span:nth-child(2)",mySelector).trigger("click");
		}
		myInterval = setInterval(nextSlide,autoPlayTime);
	}
	//autoplay end
	
	if (autoPlay && hover)
	{
		jQuery(mySelector).hover(function(){
			clearInterval (myInterval);
		},function(){
			myInterval = setInterval(nextSlide,autoPlayTime);
		});
	}
	
	
	
	function goToSlide(slideNumber)
	{
		jQuery(slidesContainer +" > "+ slides+".activeSlide > .slide-info", mySelector).animate({
			"bottom":30,
			"opacity":0
		},1000,"easeInOut");
		
		jQuery(slidesContainer +" > "+ slides).stop(true,true);
		jQuery(slidesContainer +" > "+ slides+".activeSlide", mySelector).removeClass("activeSlide").fadeIn(1).fadeOut(duration); //Aktif slide fadeout edilir
		jQuery(slidesContainer +" > "+ slides+":nth-child("+slideNumber+")", mySelector).addClass("activeSlide").fadeOut(0).fadeIn(duration); //Target slide fadein edilir
		jQuery("#currentSlide",mySelector).html(slideNumber);
		
		jQuery(slidesContainer +" > "+ slides+".activeSlide > .slide-info", mySelector).animate({
			"bottom":150,
			"opacity":1
		},1500,"easeInOut",function(){
			jQuery(this).css({
				"bottom":150,
				"opacity":1
			});
		});
		
		//if ($(".sliderLogo.activeSlide", mySelector).index())
		if (jQuery(".sliderLogo.activeSlide", mySelector).index()+1 == jQuery(".sliderLogo", mySelector).length)
		{
			jQuery(".sliderLogo.activeSlide", mySelector).removeClass("activeSlide").fadeIn(1).fadeOut(duration);
			jQuery(".sliderLogo:first", mySelector).addClass("activeSlide").fadeOut(0).fadeIn(duration);
		}
		else
		{
			jQuery(".sliderLogo.activeSlide", mySelector).removeClass("activeSlide").fadeIn(1).fadeOut(duration).next(".sliderLogo").addClass("activeSlide").fadeOut(0).fadeIn(duration);
		}
		
		//$(slidesContainer +" > "+ slides+".activeSlide > .slide-info > span", mySelector).jTypeWriter({duration:1});
		alert(autoPlayTime);
	}
};
