$(document).ready(function(){
 	
 	// AJAX CONTROL
 	var $menu = $('#main-menu li'),
 		$main = $('#main'),
 		klassA = 'selected',
 		activeI = $menu.index($menu.filter('.'+klassA)),
 		$wraper = null,
 		screenSize = $(document).width(),
 		$print = $('#footer .print'),
 		speed = 1000;
 		
 		
 	if(activeI !=-1){
     	$menu.each(function(i){
     		var $this = $(this),
     			index = i,
     			href = $('a', $this).attr('href'),
    			isSelected = $this.is('.'+klassA),
     			$fragment = $('<div class="main-fragment"></div>').width(screenSize),
                $qmain = $main;
     			$qmain.append($fragment);
     			
     			if(isSelected){
     				$fragment.append($qmain.find('>:first-child'));
     				// volání obecných JS
     				loadJS($fragment)
     				$qmain.height($fragment.height());
     				$print.attr('href', $('a', this).attr('href'));
     			}
     			else{
     				$.ajax({
     					url: href,
     					data: 'ajax',
     					dataType: 'html',
     					success: function(html){
     						$this.data('load', true);
     						$fragment.html($(html).html());
     						
     						// volání obecných JS
     						loadJS($fragment)
     					}
     				});	
     			}
    
     		$this.click(function(){
    
     			if(!$(this).is('.'+klassA)){
     				$menu.filter('.'+klassA).removeClass(klassA).end().eq(index).addClass(klassA);
    				$main.stop().animate({scrollLeft:index*screenSize}, speed, function(){
    				    
                        setTimeout(function(){$main.animate({'height':$fragment.height()}, 500, function(){
                            var w = $('#container').width();
                            screenSize = w;
        				    $('.main-fragment').width(w);
                            $main.width(w).attr({scrollLeft:index*w});
                        })}, 100);
                    });
    				//alert($print[0].tagName)
    				$print.attr('href', $('a', this).attr('href'));
    				controlNext(i);
                    controlPrev(i);
     			}
     			return false;
     		});
     		
     	});
 	
 	    $main.wrapInner('<div class="main-wraper"></div>')
        $wraper = $main.find('>:first-child').width($menu.size()*screenSize+1000);
        $main.css({'overflow':'hidden', 'position':'relative', 'width': screenSize}).attr({scrollLeft:activeI*screenSize});
 	}
 	
    //  JS MIMO MAIN FRAGMENTY
 	// Odkaz na zacatek stranky
    $('a.backToTop').click(function(){
        $('html, body').animate({scrollTop: '0px'}, 800);
        return false;
   });
   
   if(activeI !=-1){
       // prepinani pomoci sipek
       $('#main-menu, #footer').each(function(){
            var $next = $('<a href="#" class="nav next" title="Následující strana"><span>Následující</span></a>'),
                $prev = $('<a href="#" class="nav prev" title="Předchozí strana"><span>Předchozí</span></a>');
            $(this).append($prev).append($next);           
       });
       
       var $oNext = $('#main-menu .next, #footer .next');
       var $oPrev = $('#main-menu .prev, #footer .prev');
       
       
        function controlNext(i){
            if(i == $menu.size()-1){
                $oNext.unbind('click', clickNext).hide();
            } 
            if(i != 0){
                $oPrev.not(':visible').show().bind('click', clickPrev); 
            }
        };
       
        function controlPrev(i){
            if(i == 0){
                $oPrev.unbind('click', clickPrev).hide();
            }
            if(i != $menu.size()-1){
                $oNext.not(':visible').show().bind('click', clickNext);
            }
        };
       
        function clickNext(){
            $menu.eq($menu.index($menu.filter('.'+klassA))+1).trigger('click');
            return false;
        };  
        function clickPrev(){
            $menu.eq($menu.index($menu.filter('.'+klassA))-1).trigger('click');  
            return false;
        };
        $oNext.bind('click', clickNext);
        $oPrev.bind('click', clickPrev);
        controlNext(activeI);
        controlPrev(activeI);
    }
    
    $print.click(function(){
        var printMsg = window.open(this.href+'?print', 'Tisk', 'toolbar=no, menubar=no, location=no, directories=no, scrollbars=yes, resizable=no, status=no, width=600, height=400, top=200, left=100')
        return false;
    });
    
    
    function widthControl(){
        var w = $('#container').width();
        var index = $menu.index($menu.filter('.'+klassA));
        screenSize = w;
	    $('.main-fragment').width(w);
        $main.width(w).attr({scrollLeft:index*w});
    }

	// NAČÍTÁNÍ JS V MAIN FRAGMENTECH - bindují se postupně na načte fragmenty
 	function loadJS(pElement)
 	{
 	    var element = pElement;
 	    // ID záložky + rekalkulace výšky
        element
            .find(".tabs-nav")
            .idTabs()
            .find('li:has(ul)')
                .addClass('more')
                .end()
            .find('a').click(function(){
                 $('.tabs-nav li.more').removeClass('selected');
                 $(this).parents('li.more').addClass('selected');
                 setTimeout(function(){ $main.animate({'height':element.height()}, 500, function(){
                    widthControl();  
             })}, 100);
        });
        
        element
            .find('#about li:eq(0) a').click(function(){
                $menu.eq(1).trigger('click');
                return false;
            })
            .end()
            .find('#about li:eq(1) a').click(function(){
                $menu.eq(2).trigger('click');
                return false;
            });
        
        // Hover pro input odesilacich tlacitek - pro IE6
    	element.find(".submit :submit").hover(
            function () {
                $(this).addClass("hover");
            },
            function () {
                $(this).removeClass("hover");
            }
    	);
    	
    	// FAQ
    	element.find('#faq li').each(function(){
            var $box = $('.in', this);
            var height = $box.height();
                $box.hide();
            
            $('h3', this).toggle(function(){
                $main.animate({'height':'+='+height}, 200);
                $box.slideDown(200, function(){
                    widthControl();
                });  
            },function(){
                $main.animate({'height':'-='+height}, 200);
                $box.slideUp(200, function(){
                    widthControl();
                });
            });
        });

	    // Zapnuti FAQ
	    $('#faq').addClass('js');
    	
    	// Odkaz do noveho okna
    	element
            .find("a[rel='external']").attr('target', '_blank')
            .end()
        // thickbox    
            .find('.thickbox').fancybox(); 
    
    	// Odkaz, ktery zascrolluje na element - animace kotvy 
    	element.find('a.scrollToElement').click(function(){
    		 var $this = $(this);
    		 $('html, body').animate({scrollTop: $($this.attr('href')).offset().top+'px'}, 800);
    	   return false;
    	}); 
    }

 });

