var page_images = new Array();
var page_images_loaded = 0;
var page_images_cnt_width = 0;
var page_images_count = 0;
function init()
{
    Afa.init();
    Afa.initMenu();
    helper_images_preloader('#foto_slider',function(){Afa.initTopAnimation()});
}

var Afa = {
    init: function() {
        $('.menu-item-checked .dziobek, .menu-item-checked .dziobek-checked').each(function(){
            $(this).css({left:( ($(this).parent().width()/2)+3)+'px'}).show();
        });
        
        this.cufon('.font');
        jQuery.easing.def = "easeOutExpo";
        
        $('.h3 ~ p').hide();
        $('.h3').click(function(){
            $('.h3 ~ p').hide();
            $(this).nextUntil('.h3').fadeIn();
        });
        var pageURL = top.location.href;
        if(pageURL.indexOf('o-szkole-wykladowcy#')!=-1 || pageURL.indexOf('o-szkole-przedmioty#')!=-1) {
            var pageURL_arr = pageURL.split('#');	
            $('.'+pageURL_arr[1]).nextUntil('.h3').fadeIn(function(){
               // $(document).scrollTo('.'+pageURL_arr[1],800);
            });
        }
        /*
         * flash hovers
         */
        this.initHovers();
    },
    cufon: function(elements) {      
        if ( ($.browser.msie && parseInt($.browser.version) >8) || !$.browser.msie ) {            
            Cufon.replace(elements,{hover: true});          
            $(elements).css({opacity: 0, visibility: 'visible'}).animate({opacity: 1},1000);
        }
    },
    initHovers: function() {
        $('.transparency').css('opacity',0.5).hover(function(){
            $(this).stop(true, true).animate({opacity: 1},300,'easeInSine');
        }, function(){
            $(this).stop(true, true).animate({opacity: 0.5},300,'easeOutSine');
        });
    },

    initTopAnimation: function() {
       $('#foto_slider img').css({visibility: 'visible', opacity: '0'}).each(function(index){
           $(this).addClass('topElem'+index);
       });
       $('.topElem0').animate({opacity: 1}, 1000);
       if ($('#foto_slider img').size()>1) {
           setTimeout('Afa.topAnimation(0)', 30000);
        }
    },

    topAnimation: function(index) {
        $('.topElem'+index).animate({opacity: 0}, 1000);
        index++;
        index = index > $('#foto_slider img').size()-1 ? 0 : index;
        $('.topElem'+(index)).animate({opacity: 1}, 1000);
        setTimeout('Afa.topAnimation('+index+')', 30000);
    },

    initMenu: function() {
        $(".menu-item").hover(function(){
            if ( $(this).find(".menu-item-sub").size() )
                elem = $(this).find(".menu-item-sub");
            else
                elem = false;

            if(elem) {
                if($(this).find(".menu-item-hover-div").size()) {
                    $(this).find(".menu-item-hover-div").animate({height:23+'px',opacity:1},200,function(){
                        $(elem).stop(true,false).show().animate({height:$(elem).attr('defHeight')+'px',opacity: 1},200);
                    });
                } else {
                    $(elem).stop(true,false).show().animate({height:$(elem).attr('defHeight')+'px',opacity: 1},200);
                }
            } else {
                $(this).find(".dziobek").stop(true,false).css({top:0+'px',left:($(this).find('.menu-item-hover-div').width()/2-3)+'px'}).show(1).animate({top:23+'px'},400);
                $(this).find(".menu-item-hover-div").stop(true,false).animate({height:23+'px',opacity:1},400);
            }

       },function(){

            if ( $(this).find(".menu-item-sub").size() )
                elem = $(this).find(".menu-item-sub");
            else
                elem = false;

            if(elem) {
                $(elem).parent().find(".menu-item-hover-div").stop(true,false);
                $(elem).stop(true,false).animate({height:0+'px',opacity: 0},150 ,'easeInExpo',function(){
                    if($(this).parent().find(".menu-item-hover-div").size()) {
                        $(this).parent().find(".menu-item-hover-div").stop(true,false).animate({height:0+'px',opacity: 0},100,'easeInExpo');
                    }
                });
            } else {
                $(this).find(".dziobek").stop(true,false).animate({top:0+'px'},100,'easeInExpo', function(){
                    $(this).hide(1);
                });
                $(this).find(".menu-item-hover-div").stop(true,false).animate({height:0+'px',opacity: 0},100,'easeInExpo');
            }

       });

       $(".submenu-item").hover(function(){
            $(this).css({color:"#fff"});
            $(this).find('.sub-dziobek-2').stop(true,false).css('top',0+'px').show(1).animate({top:15+'px',opacity: 1},400);
            $(this).find(".menu-item-hover-div-2").stop(true,false).animate({height:15+'px',opacity: 1},400,function(){
                $(this).parent().find(".menu-item-sub-2").stop(true,false).animate({height:111+'px', opacity: 1},300, function(){
                    
                });
                
            });
            
       },function() {
           $(this).find('.sub-dziobek-2').stop(true,false).animate({top:0+'px',opacity: 0},200, function(){
               $(this).hide(1);
           });
            $(this).find(".menu-item-hover-div-2").stop(true,false).animate({height:0+'px',opacity: 0},200);
            $(this).parent().find(".menu-item-sub-2").stop(true,false).animate({height:0+'px',opacity:0},200);
            $(this).css({color:"#555"});
       });

       $('.sub-dziobek').css('left',($('.sub-dziobek').parent().width()/2-3)+'px');
    }
}

var afaGallery = {
   loadingTimeout: false,
   
   init: function(galleryId) {
       
       this.overlay();
       $.ajax({
           url: '/index/getgalleryimages',
           type: "GET",
           data: "id="+galleryId,
           dataType: "json",
            success: function(data){
                var html = "<div class='top' id='gallery-overlay-top'>"+
                            "<div id='gallery-overlay-title'>"+
                            "<a class='title_orange padding white "+pageType+"' style='margin: 0px;'>"+data.info.title+"</a>"+
                            "</div>"+
                            "<div id='gallery-overlay-close' class='font'>ZAMKNIJ OKNO</div>"+
                           "</div>";
                html += '<div id="galleryview-container"><div id="galleryview-wrapper">';
                $.each(data.images, function(i, val){
                    html +='<img src="/uploads/gallery/images/'+val+'" class="galleryview_item" />';
                })
                html += "</div></div>";
                $('.fint-lightbox_bg').append(html);                
                Afa.cufon('#gallery-overlay-close');
                $('#gallery-overlay-close').click(function(){
                    afaGallery.close();
                });
                
                var marginTop = ($('.fint-lightbox_bg').height()-520)/2;                
                $('#gallery-overlay-top').css('margin-top',marginTop);
                
                afaGallery.loadingInit();
                page_images_cnt_width = 0;
                
                helper_images_preloader('#galleryview-wrapper',function(){
                    var cndWidth = 0;
                    $('.galleryview_item').each(function(i,item){
                      //  cndWidth += item.width;
                        cndWidth += $(this).width();
                    });
                   // cndWidth = page_images_cnt_width;
                    if ($.browser.msie) {
                        cndWidth += 15;
                    }
                   
                     $('#galleryview-wrapper').width(cndWidth);
                   
                                    
                    
                   afaGallery.loadingClose(function(){
                       $('.galleryview_item,#gallery-overlay-top').fadeIn(500,"easeOutExpo")
                       $('#galleryview-container').jScrollPane({
                        verticalDragMinHeight: 23,
                        verticalDragMaxHeight: 23,
                        horizontalDragMinWidth: 136,
                        horizontalDragMaxWidth: 136,
                        animateScroll: false,
                        animateEase: "easeInExpo",
                        enableKeyboardNavigation: true
                        });                         
                   });
                   
                   
                });                
            }           
       });
   },

   loadingInit: function() {
        $('.fint-lightbox_bg').append('<span id="gallery-loader">ładowanie...</span>');
        $('#gallery-loader').css('opacity','0').animate({
            left: ($('#galleryview-container').width()/2-10)+'px',
            opacity: 1
        },500,'easeOutExpo', function(){
            afaGallery.loading();
        });        
   },

   loading: function() {
        $('#gallery-loader').animate({
            opacity: 0.1
        },500,'easeInOutCirc', function(){
            $('#gallery-loader').animate({
                opacity: 1
            }, 150, 'easeOutBounce', function() {
                afaGallery.loadingTimeout = setTimeout('afaGallery.loading()',50);
            });
        })
   },

   loadingClose: function(callback) {
        clearTimeout(this.loadingTimeout);        
        $('#gallery-loader').css('opacity','1').animate({
            left: $('#galleryview-container').width()+'px',
            opacity: 0
        },500,'easeInExpo', function(){
            $('#gallery-loader').remove();
            callback();
        });        
   },

   overlay: function() {
       $('<div />').addClass('fint-lightbox_bg').appendTo('body').fadeIn(400);
   },
   
   close: function() {
       $('.fint-lightbox_bg').fadeOut(400, function() {
           $(this).remove()
       });
   }
}

function helper_images_preloader(selector, callback)
{
    page_images_loaded = 0;
    page_images = new Array();
    page_images_cnt_width = 0;
    page_images_count = $(selector).find("*:not(script)").size();
    var preloader = $("<div></div>").appendTo('body');
    $(preloader).css({
			height: 	"0px",
			width:		"0px",
			overflow:	"hidden"
     });
     
    var everything = $(selector).find("*:not(script)").each(function() {
        var url = "";

        if ($(this).css("background-image") != "none") {
            url = $(this).css("background-image");
        } else if (typeof($(this).attr("src")) != "undefined" ) {
             url = $(this).attr("src");
        }

        url = url.replace("url(\"", "");
        url = url.replace("url(", "");
        url = url.replace("\")", "");
        url = url.replace(")", "");
        if ($.browser.msie) url += '?random=' + (new Date()).getTime();
        if (url.length > 0) {            
            page_images.push(url);
            var imgLoad = $("<img></img>");
            
            $(imgLoad).attr("src", url);
            $(imgLoad).unbind("load").bind("load", function() {                  
                    helper_images_preloader_stop($(this),callback);
                });
                      
            $(imgLoad).appendTo($(preloader));

        }

    });


}
/*
 * if all images are loaded show homepage
 */
function helper_images_preloader_stop(img,callback)
{
    
 //   page_images_cnt_width += img.width;  
    page_images_loaded++; 
 
    if (page_images_loaded==page_images_count) { 

        try{        
            //alert($(img).width());
            callback();
        } catch (e){}        
    }
      
}
