$.fn.imagesLoaded = function(callback){
  var elems = this.filter('img'),
      len = elems.length,
      blank = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";

  elems.bind('load',function(){
      if (--len <= 0 && this.src !== blank){callback.call(elems,this);}
  }).each(function(){
     if (this.complete || this.complete === undefined){
        var src = this.src;
        this.src = blank;
        this.src = src;
     }
  });

  return this;
};

var sliderGallery = {
    globKatalog: 'http://spheresis.com/New/Galerie/rio/',
    globZdjec: 10,
    reset: true,
    resetMax: false,
    easing: "easeOutCubic",
    duration: "652"
};


var globKatalog = 'http://spheresis.com/New/Galerie/rio/';
var globZdjec = 10;
var reset = true;
var resetMax = false;

var easing = "easeOutCubic";
var duration = "652";

function PrzesunLewo(){
    var api = $(":range").data("rangeinput");
    var n = numerObrazka();
    if(resetMax == true) resetMax = false;
    pobierzObrazki(n-2);
    if(n > 2){
        n--;
        var i = (n*900) - 900-(($(window).width() - 900)/2);
        scroll.animate({left: -i}, duration,easing,function(){            
            if(n == 1){
                scroll.animate({left: -i-(($(window).width() - 900)/2)}, "slow",function(){
                    api.setValue(i);  
                    var o = (n*900) - 900-(($(window).width() - 900)/2);
                    scroll.animate({left: -o}, "slow");
                });
            }else{
                api.setValue(i);
            }
            if(n == 2){
                $('.handle').attr('style','left: 0px');
            }
        });
    }            
}

function numerObrazka(){
    if(reset == true){
        return 2;
    }else if(resetMax == true){
        return globZdjec;
    }else{
        var api = $(":range").data("rangeinput");
        var i = api.getValue();
        var numer = Math.ceil(i/900);
        return (numer+1);                
    }
}

function PrzesunPrawo(){
    var api = $(":range").data("rangeinput");
    var n = numerObrazka();
    if(reset == true) reset = false;
    pobierzObrazki(n+2);
    if(n < globZdjec){
        n--;
        var i = (n*900)+ 900-(($(window).width() - 900)/2);
        scroll.animate({left: -i}, duration, easing, function(){
            if(n == globZdjec-2){
                resetMax = true;
                $('.handle').attr('style','left: 511px');
                /*scroll.animate({left: -i+(($(window).width() - 900)/2)}, 'slow',function(){
                    api.setValue(i);
                    var o = (n*900)+ 900-(($(window).width() - 900)/2);
                    scroll.animate({left: -o}, 'slow');
                });*/
            }else{
                api.setValue(i);
            }
        });
    }
}

function pobierzObrazki_single(i){
    if(($('#scroll div#img'+(i)+' img').attr('src')) == 'wp-content/themes/Spheresis/sliderGallery/loader.gif'){
        if($('#scroll div#img'+(i)).css('background-image') == 'none'){
            $('#scroll div#img'+(i)+' img').hide();
            $('#scroll div#img'+(i)+' img').attr('src','wp-content/themes/Spheresis/sliderGallery/none.gif');

            $('#scroll div#img'+(i)+' img').attr('src',(globKatalog+i)+'.jpg');
            $('#scroll div#img'+(i)+' img').imagesLoaded(function(){
            $(this).addClass('loaded');
            $(this).fadeIn('slow');
            });
        }
    }
}

function pobierzObrazki(num){
    num = Math.ceil(num);
    pobierzObrazki_single(num-1);
    pobierzObrazki_single(num-2);
    pobierzObrazki_single(num);
    pobierzObrazki_single(num-3);
    pobierzObrazki_single(num+1);
}

function centrujObrazki(i){
    var numer = Math.ceil(i/900);
    numer++;
    var i = (numer*900) - 900-(($(window).width() - 900)/2);
    scroll.animate({left: -i}, "slow",function(){
        if(numer == globZdjec){
            $('.handle').attr('style','left: 511px');
        }else if(numer == 2){
            $('.handle').attr('style','left: 0px');
        }else{
            var api = $(":range").data("rangeinput");
            api.setValue(i);
        }
    });  
}

function pobierzListeKategorii(){
    if($('#listaKategorii').html() == ''){
        $.post('wp-content/themes/Spheresis/sliderGallery/parseXml.php?aid=listaKategorii',
            function(data){
                $('#listaKategorii').html(data);
            }
        );
    }
}

function inicjujGalerie(){
	
}

function pobierzKategorie(name){
    $.get('wp-content/themes/Spheresis/sliderGallery/parseXml.php?aid=listaGalerii',
        {'kategoria': name},
        function(data){
            $('#listaGalerii').slideUp('fast');
            $('#listaGalerii').fadeOut('slow',
                function(){
                    $('#listaGalerii').html(data);
                    $('#listaGalerii').slideDown('fast');
                }
            );
        }
    );
}

function pobierzGalerie(name,katalog,zdjec){
    reset = true;
    $('#sliderDiv').fadeOut(function(){
        $('#scroll').attr('style','width: '+(zdjec*900)+'px');
        $(":range").remove();
        $("#rangeDiv").html('<input type="range" min="450" max="'+((zdjec-1)*900 - 300)+'" step="1" />');
        //$(':range').attr('max',((zdjec)*900));
        globKatalog = katalog;
        globZdjec = zdjec;
        $.get('wp-content/themes/Spheresis/sliderGallery/parseXml.php?aid=pobierzGalerie',
            {'katalog': katalog, 'zdjec': zdjec},
            function(data){
                $('#scroll').fadeOut(
                    function(){
                        $('#scroll').html(data);
                        $('#scroll').fadeIn();
                        pobierzObrazki_single(1);
                        pobierzObrazki_single(2);
                        pobierzObrazki_single(3);
                        $('#sliderDiv').fadeIn();
                        if($('#galerie').css("display") == 'none'){

                        }else{
                            otworzZamknijGalerieMenu();
                        }
                    }
                );
            }
        );
    });
}

function otworzZamknijGalerieMenu(){
    pobierzListeKategorii();
    if($('#galerie').css("display") == 'none'){
        $('#galerie').slideDown('fast');
        $('#menuClose').attr('style','background-image: url("wp-content/themes/Spheresis/sliderGallery/menu_close.png"');
    }else{
        $('#galerie').slideUp('fast');
        $('#menuClose').attr('style','background-image: url("wp-content/themes/Spheresis/sliderGallery/menu_closed.png"');
    }
}
