/********************************************************************
********************************************************************
********************************************************************

Skrypt          :   q_galeria

Autor           :   Łukasz Kukawski
Strona/Kontakt  :   www.LukaszKukawski.pl

********************************************************************
********************************************************************
********************************************************************/
function galeria(){
    galerie =   $A(document.getElementsByClassName('q_galeria'))
    galerie.each(function(galeria){
        var i=1
        elementy = $A(galeria.getElementsByClassName('ele'))
        elementy.each(function(element){
                zdjecie =   element.getElementsByTagName('img')[0]
                zdjecie.observe('click', function() {
                  //  new q_galeria(this)
                });
                if(i>6){
                    element.style.display="none"
                }
                i++;
            })
            //ustawiam paginacje
            iloscPodtrona = iloscPodstronF(elementy.length)
            generujPaginacja(iloscPodtrona,1,galeria);

    })
}
function iloscPodstronF(iloscEl){
    return Math.ceil(iloscEl/6)
}
function generujPaginacja(iloscPodstron,strona,galeria){
    
            var iloscNumerowStron = 6
            var przod       = '';
            var tyl         = '';
            var odZmienna   = 1
            var doZmienna   = 1
            if(iloscPodstron<=iloscNumerowStron){
                odZmienna =   1
                doZmienna =   iloscPodstron
                // < 1 2 3 4 ...  iloscPodstron >
            }else if(strona <= iloscNumerowStron){
                odZmienna =   1
                doZmienna =   iloscNumerowStron
                // < 1 2 3 4 ... iloscNumerowStron >
            }else if(strona>iloscPodstron-iloscNumerowStron){
                odZmienna =   iloscPodstron-iloscNumerowStron;
                doZmienna =   iloscPodstron;
                przod       =   "<span class='raczka' onClick='paginacja(this,1)'> 1 </span>...";
                // < 1 ... 4 5 6 7  iloscPodstron >
            }else{
                odZmienna =   strona-(Math.ceil(iloscNumerowStron/2));
                doZmienna =   strona+(Math.ceil(iloscNumerowStron/2));
                przod       =   "<span class='raczka' onClick='paginacja(this,1)'> 1 </span>...";
                tyl         =   "...<span class='raczka' onClick='paginacja(this,"+iloscPodstron+")'> "+iloscPodstron+" </span>...";
                // < 1 ... 6 7 8 9 10 11 ... iloscPodstron >
            }

            poprz = ((strona-1)==0)?1:strona-1;
            naste = ((strona+1)>iloscPodstron)?iloscPodstron:strona+1;
            paginacja="<img src='/q_img/lewaMalaStrz.png' onClick='generujStrone(this,"+poprz+")' class='raczka'/>"+przod
            for(var i=odZmienna; i<=doZmienna;i++){
                if(i==strona){
                    paginacja+="<span class='raczka' onClick='generujStrone(this,"+i+")'><b style='text-decoration: underline;'> "+i+" </b></span> ";
                }else{
                    paginacja+="<span class='raczka' onClick='generujStrone(this,"+i+")'> "+i+" </span> ";
                }
            }
            paginacja+=tyl+"<img src='/q_img/prawaStrMala.png' onClick='generujStrone(this,"+naste+")' class='raczka'/>"
            
            $A(galeria.getElementsByClassName('paginacja')).each(function(pag){
                pag.innerHTML = paginacja
            })
            
}
function generujStrone(element,strona){
    iloscNaStronie  =   6
    elementy        =   $A(element.parentNode.parentNode.getElementsByClassName('ele'))
    var odE         =   (strona*iloscNaStronie)-iloscNaStronie
    var doE         =   odE+iloscNaStronie
    var i           =   1;
    var iloscPodstron   =   iloscPodstronF(elementy.length)
    var paginacja   =   generujPaginacja(iloscPodstron,strona,element.parentNode.parentNode);
    
    elementy.each(function(element){
        element.style.display='none'
        if(i>=odE && i<=doE){
            element.style.display='block'
        }
        i++
    })
}
function q_galeria(zdjecie){
    
    //zamknij_q_galerie();
    this.zdjecie            =   zdjecie
    this.aktualneZdjecie    =   ''
    this.zdjeciaGalerii     =   $A(this.zdjecie.parentNode.parentNode.parentNode.getElementsByClassName('ele'))
    
    this.generujGalerie()
//    slider = new q_slider({
//        'idDivaContent':'divZdjecieDoWyboruLista',
//        'iloscNaStronie':15,
//        'przeskakujStronami':false,
//        'szerokoscDivaZElementem':50
//    })
}

q_galeria.prototype.generujGalerie = function(){
    var _this= this
    
    var divOkno         =   new Element('div',{'class':'q_oknoGalerii','id':'q_oknoGalerii'}).insert("<div class='zamknijOkno' onClick='zamknij_q_galerie()'><img src='/q_img/zamknijPreze.png'/></div>")
    var divOknoCiemne   =   new Element('div',{'class':'q_uploader_img','id':'q_okno_tlo'}).insert("<div style='display: table-cell; vertical-align: middle;' id='q_zawartosc_okna'></div>")

    document.body.appendChild(divOknoCiemne)
    $('q_zawartosc_okna').appendChild(divOkno)

    var divNawLew   =   new Element('div',{'class':'q_galNawLew'}).insert("<img src='/q_img/strzLewaDuza.png' />");//lewa nawigacja
    var divNawPra   =   new Element('div',{'class':'q_galNawPra'}).insert("<img src='/q_img/strzPrawaDuza.png' />");//prawa  nawigacja
    var divSrodek   =   new Element('div',{'class':'q_galSro'});//srodek, div miedzy nawigacjami tutaj caly konent
    var divDol      =   new Element('div',{'class':'q_galNawigacja'});//

    divNawLew.observe('click',function(){
        _this.zdjeciePoprzednie()
    })
    divNawPra.observe('click',function(){
        _this.zdjecieNastepne()
    })
    var divZdjecieGlowne    =   new Element('div',{'class':'kontenerZdjeciaGlownego'})//div ze zdjeciem glownym i opisem
    var imgZjecieGlowne     =   new Element('img',{'src':this.zdjecie.src,'id':'imgZjecieGlowne'})//zdjecie glownej
    divZdjecieGlowne.appendChild(imgZjecieGlowne) //wrzucam zdjecie glowne do diva glownego
    
    
    
    var divZdjecieDoWyboru          =   new Element('div',{'id':'divZdjecieDoWyboru'})//Czesc widoczna
    var divZdjecieDoWyboruLista     =   new Element('div',{'id':'divZdjecieDoWyboruLista','class':'slider_elementy'})//lista wszystkich zdjec
    var divSliderLewa               =   new Element('div',{'class':'nawigacjaSlider'}).insert("<img src='/q_img/strzalkaLewoPreze.png' />")
    var divSliderPrawa              =   new Element('div',{'class':'nawigacjaSlider'}).insert("<img src='/q_img/strzalkaPrawoPreze.png' />")
    
    divSliderLewa.observe('click',function(){
        sliderPrzesunWlewo(this)
    })
    divSliderPrawa.observe('click',function(){
        sliderPrzesunWprawo(this)
    })
    
    divZdjecieDoWyboru.appendChild(divZdjecieDoWyboruLista)
    divSrodek.appendChild(divNawLew)//wstawiam srodek, do diva ogolnego
    divSrodek.appendChild(divZdjecieGlowne);//wrzucam glowne zdjecie i liste do diva srodkowego
    divSrodek.appendChild(divNawPra)//wstawiam nawigacje prawa, do diva ogolnego
    
    divDol.appendChild(divSliderLewa);
    divDol.appendChild(divZdjecieDoWyboru);//wrzucam glowne zdjecie i liste do diva srodkowego
    divDol.appendChild(divSliderPrawa);
    
    $('q_oknoGalerii').appendChild(divSrodek);//wstawiam nawigacje lewa, do diva ogolnego
    $('q_oknoGalerii').appendChild(divDol);//wstawiam nawigacje dolna
    this.generujListeZdjec()    
}

q_galeria.prototype.zdjecieNastepne = function(){
    if(this.aktualneZdjecie==''){
        this.znajdzAktualneZdjecie()
    }
    nast = this.aktualneZdjecie.parentNode.nextSibling
    if(nast){
        nastepne    =   nast.getElementsByTagName('img')[0]
        $('imgZjecieGlowne').src = nastepne.src
        this.aktualneZdjecie=nastepne
    }
}

q_galeria.prototype.zdjeciePoprzednie = function(){
    if(this.aktualneZdjecie==''){
        this.znajdzAktualneZdjecie()
    }
    poprz = this.aktualneZdjecie.parentNode.previousSibling
    if(poprz){
        poprzedni   =   poprz.getElementsByTagName('img')[0]
        $('imgZjecieGlowne').src = poprzedni.src
        this.aktualneZdjecie=poprzedni
    }
}

q_galeria.prototype.znajdzAktualneZdjecie = function(){
    var _this   =   this
    urlGl   =   $('imgZjecieGlowne').src
    this.zdjeciaGalerii.each(function(wiersz){
        zdjecie = wiersz.getElementsByTagName('img')[0]
        if(zdjecie.src==urlGl){
            _this.aktualneZdjecie = wiersz
            throw $break;
        }
    })
}

q_galeria.prototype.generujListeZdjec = function(){
    this.zdjeciaGalerii.each(function(wiersz){
        zdjecie = wiersz.getElementsByTagName('img')[0]
        var zdjecieImg =   new Element('img',{'src':zdjecie.src,'class':'ele'})
        zdjecieImg.observe('click',function(){
                $('imgZjecieGlowne').src=zdjecie.src
        })
       $('divZdjecieDoWyboruLista').appendChild(zdjecieImg)
    })
}

function zamknij_q_galerie(){
    $('q_oknoGalerii').remove()
    $('q_okno_tlo').remove()
}
