/*
 * 	WellenGallery - jQuery plugin
 *	written by Jiri Dedic
 *
 *	Copyright (c) 2011 Jiri Dedic (jirded@gmail.com)
 *
 *	Built for jQuery library
 *	http://jquery.com
 *
 */
 
/*
 *	example: $("#images").WellenGallery();
 *	
 * 	<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($) {

	$.WellenGallery = {
            
            // default configuration properties
            defaults: {
                cnt:   0,
                pages: 0,
                act:   0,
                items: {}
            },
            
            buildGallery: function(options) {
                return this.each(function() {
                    this.options = {};
                    $.extend (this.options, $.WellenGallery.defaults, options);
                    var plugin=this;
                    
                    plugin.options = {
                        cnt: $('.strana a:not(.hidden)', plugin).length,
                        items: $(plugin).find('.strana a:not(.hidden)'),
                        act: 1
                    };
                    
                    plugin.options.pages = Math.ceil(plugin.options.cnt/20);

                    if (plugin.options.pages > 1) {

                        // pole tecek
                        var pole_tecek = document.createElement('div');
                        var container = document.createElement('div');
                        var pole_tecek_left = document.createElement('img');
                        var pole_tecek_right = document.createElement('img');

                        $(pole_tecek)
                            .addClass('pole_tecek');
                        $(container)
                            .addClass('container')
                            .css({width: (17*plugin.options.pages)+18});

                        $(pole_tecek_left)
                            .attr('src', './images/pole_tecek_left.png')
                            .attr('alt', '')
                            .attr('width', '9')
                            .attr('height', '25')
                            .css('float', 'left');
                        $(pole_tecek_right)
                            .attr('src', './images/pole_tecek_right.png')
                            .attr('alt', '')
                            .attr('width', '9')
                            .attr('height', '25')
                            .css('float', 'left');

                        $(container).append(pole_tecek_left);
                        for (i=1; i<=plugin.options.pages; i++) {
                            var link = document.createElement('a');
                            $(link)
                                .attr('href', '#'+i)
                                .attr('title', '')
                                .click(function() {
                                    changePages($(this).attr('href').replace('#', ''));
                                    return false;
                                });
                            if (i==1) $(link).addClass('hovered');
                            $(container).append(link);
                        }
                        $(container).append(pole_tecek_right);
                        $(pole_tecek).append(container);

                        // ovladaci sipecky
                        var controls = document.createElement('div');
                        var arrow_left = document.createElement('a');
                        var arrow_right = document.createElement('a');
                        $(controls).addClass('controls');
                        $(controls).append(arrow_right).append(arrow_left);
                        $(pole_tecek).append(controls);

                        $(arrow_left).addClass('left').attr('href', '#');
                        $(arrow_right).addClass('right').attr('href', '#');

                        $(plugin).append(pole_tecek);

                        $(arrow_left).click(function() {
                            var newact = plugin.options.act - 1;
                            if (newact < 1) newact = plugin.options.pages;
                            changePages(newact);
                            return false;
                        });

                        $(arrow_right).click(function() {
                            var newact = plugin.options.act + 1;
                            if (newact > plugin.options.pages) newact = 1;
                            changePages(newact);
                            return false;
                        });
                    }
                    
                    function changePages(p) {
                        plugin.options.act = p;
                        $(plugin).find('.pole_tecek a.hovered').removeClass('hovered');
                        $(plugin).find('.pole_tecek a[href="#'+p+'"]').addClass('hovered');
                        $(plugin).find('div.strana:visible').hide();
                        $(plugin).find('div.strana_'+p).fadeIn();
                    }
                  
                })
            }
	  
	};
        
        $.fn.WellenGallery = $.WellenGallery.buildGallery;
        
})(jQuery);
