/*
 * 	Easy Slider - jQuery plugin
 *	written by Alen Grakalic	
 *	http://cssglobe.com/post/3783/jquery-plugin-easy-image-or-content-slider
 *
 *	Copyright (c) 2009 Alen Grakalic (http://cssglobe.com)
 *	Dual licensed under the MIT (MIT-LICENSE.txt)
 *	and GPL (GPL-LICENSE.txt) licenses.
 *
 *	Built for jQuery library
 *	http://jquery.com
 *
 */
 
/*
 *	markup example for $("#images").easySlider();
 *	
 * 	<div id="images">
 *		<ul>
 *			<li><img src="images/01.jpg" alt="" /></li>
 *			<li><img src="images/02.jpg" alt="" /></li>
 *			<li><img src="images/03.jpg" alt="" /></li>
 *			<li><img src="images/04.jpg" alt="" /></li>
 *			<li><img src="images/05.jpg" alt="" /></li>
 *		</ul>
 *	</div>
 *
 */

(function($) {

	$.fn.easySlider = function(options){
	  
		// default configuration properties
		var defaults = {
			prevId: 		'prevBtn',
			prevText: 		'<img src="/images/article-pref.gif" />',
			nextId: 		'nextBtn',	
			nextText: 		'<img src="/images/article-next.gif" />',
			orientation:	'', //  'vertical' is optional;
			speed: 			800			
		}; 
		
		var options = $.extend(defaults, options);  
		
		return this.each(function() {  
			obj = $(this); 				
			var s = $("li", obj).length;
			var w = obj.width(); 
			var h = obj.height(); 
			var ts = s-1; //pocet stranek
			var t = 0;
			
			//$("#slider").css("height",""+(67*(Math.ceil(8/(ts+1))))+"px");
			//$("#slider ul li").css("height",""+(67*(Math.ceil(8/(ts+1))))+"px");
			
			s = $("li", obj).length;
			w = obj.width();
			h = obj.height();
			ts = s-1; //pocet stranek
			t = 0;
			
			//zjisteni pozice aktivniho odkazu
			pocetli = 0;

		      $("#slider ul li a").each(function (i) {
		    	if ($(this).hasClass("active")) {
		    		pozicea = pocetli;
		    	}			    	
		    	pocetli++;
		    	
		    });
                    


			
			var vertical = (options.orientation == 'vertical');
			$("ul", obj).css('width',s*w);			
			if(!vertical) $("li", obj).css('float','left');
			$(obj).after('<div class="strankovani"><span id="'+ options.prevId +'"><a href=\"javascript:void(0);\"><img src=\"/images/archive-prev.gif\" /></a></span> <span id="actual_page"> '+(t+1)+'/'+(ts+1)+' </span> <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\"><img src=\"/images/archive-next.gif\" /></a></span></div>');		
			$("a","#"+options.prevId).hide();
			$("a","#"+options.nextId).hide();

			//if (((ts+1)==1) && ((t+1)==1))) alert('a');//$("#actual_page").hide();
			
			//if (((ts+1)==1) && ((t+1)==1)) $("#actual_page").hide();
			
			$("a","#"+options.nextId).click(function(){		
				animate("next");
				if (t>=ts) $(this).fadeOut();
				$("a","#"+options.prevId).fadeIn();
				$("#actual_page").text(""+(t+1)+"/"+(ts+1)+"");
				prvninacteni = false;
			});
			$("a","#"+options.prevId).click(function(){		

				animate("prev");
				if (t<=0) $(this).fadeOut();
				$("a","#"+options.nextId).fadeIn();
				$("#actual_page").text(""+(t+1)+"/"+(ts+1)+"");		
				prvninacteni = false;
			});	
			
			if (pozicea != 0) {
				//automaticke strankovani
				//alert('pozice'+pozicea+' pocet stran'+(ts+1));
                            pocetnastrance = 9;
			    //nastranku = Math.floor((pozicea+1)/(ts+1));
			    nastranku = Math.ceil((pozicea)/(pocetnastrance));
                            realposunuti = nastranku;
                       
                       
			    //alert(pozicea);
			    //realposunuti = nastranku - 3;
			    //alert('realposunuti '+realposunuti);
			    if (realposunuti <= -1) realposunuti = -1;
                            if (nastranku!=1) animateToPage(realposunuti);
                          
				prvninacteni = false;
				t = nastranku;
				$("a","#"+options.nextId).show();

				if (realposunuti>=(ts+1)) { prvninacteni=true; $("a","#"+options.nextId).fadeOut(); t = nastranku - 1; }
				if (realposunuti <= 0)
					$("a","#"+options.prevId).fadeOut();
				else 
					$("a","#"+options.prevId).fadeIn();
				
				if (realposunuti <=0 )
					topage = 1;
				else
					topage = nastranku+1;
				if (topage>(ts+1)) topage = (ts+1);

                                if (nastranku==1) {
                                    topage = 1;
                                    $("a","#"+options.prevId).fadeOut();
                                }

				$("#actual_page").text(""+(topage)+"/"+(ts+1)+"");	
				t = topage - 1;
				//alert('nastranku'+nastranku+'t '+t);
			
			} else prvninacteni = false;			
			
			function animate(dir){
		
				if(dir == "next"){
					t = (t>=ts) ? ts : t+1;	
				} else {
					t = (t<=0) ? 0 : t-1;
				};								
				if(!vertical) {
					p = (t*w*-1);
					$("ul",obj).animate(
						{ marginLeft: p }, 
						options.speed
					);				
				} else {
					p = (t*h*-1);
                                        $("#test_page").text("");
					$("ul",obj).animate(
						{ marginTop: p }, 
						options.speed
					);					
				}
			
			};
			function animateToPage(t){
				
			
					t = (t>=ts) ? ts : t+1;	
					
				if(!vertical) {
					p = (t*w*-1);
					$("ul",obj).animate(
						{ marginLeft: p }, 
						options.speed
					);				
				} else {
					p = (t*h*-1);
					$("ul",obj).animate(
						{ marginTop: p }, 
						10
					);					
				}
			};			
			
			if(s>1 && !prvninacteni) $("a","#"+options.nextId).fadeIn();	
		});
	  
	};

})(jQuery);
