/**
 * Stran.
 */
function Stran() {
    var elementi;
    var i, j;
    var povezava;

    elementi = document.getElementsByTagName("img");
    for ( i=0; i<elementi.length; ++i ) {
        povezava = dobiLastnost(elementi[i], "class");
        if ( povezava.indexOf("povecajRef")==0 ) {
            povezava = "povecajRef";
        }
        switch ( povezava ) {
            case "povecaj":
            case "povecaj1":
            case "povecajRef":
                povezava = document.createElement("a");
                dolociLastnost(povezava, "href", dobiLastnost(elementi[i], "src"));
                dolociLastnost(povezava, "class", dobiLastnost(elementi[i], "class"));
                //povezava.appendChild(document.createTextNode("Povečaj"));
                elementi[i].parentNode.insertBefore(document.createElement("br"), elementi[i].nextSibling);
                //elementi[i].parentNode.insertBefore(povezava, elementi[i].nextSibling.nextSibling);
                povezava = povezava.cloneNode(false);
                elementi[i].parentNode.insertBefore(povezava, elementi[i].nextSibling);
                povezava.appendChild(elementi[i]);
                break;
        }
    }

    elementi = document.getElementsByTagName("a");
    var prejsnja = null;
    var slike = new Array();
    var reference = new Array();
    for ( i=0; i<elementi.length; ++i ) {
        povezava = dobiLastnost(elementi[i], "class");
        if ( povezava.indexOf("povecajRef")==0 ) {
            dolociLastnost(elementi[i], "jsNohtek", povezava.substr(10)*1);
            reference.push(elementi[i]);
        } else {
            switch ( povezava ) {
                case "povecaj":
                    dolociDogodek(elementi[i], "click", povecajSliko);
                case "povecajKvazi":
                    if ( prejsnja ) {
                        dolociLastnost(elementi[i], "jsPrejsnja", dobiLastnost(prejsnja, "id"));
                        dolociLastnost(prejsnja, "jsNaslednja", dobiLastnost(elementi[i], "id"));
                    }
                    prejsnja = elementi[i];
                    slike.push(elementi[i]);
                    break;
                case "povecaj1":
                    dolociDogodek(elementi[i], "click", povecajSliko);
                    break;
            }
        }
    }

    for ( i=0; i<reference.length; ++i ) {
        povezava = dobiLastnost(reference[i], "jsNohtek")*1;
        if ( povezava>0 && povezava<=slike.length ) {
            dolociLastnost(reference[i], "jsNohtek", dobiLastnost(slike[povezava-1], "id"));
            dolociDogodek(reference[i], "click", povecajNohtek);
        }
    }

    var li, p, k, tmp, pmt;
    var dolzina = 0;
    elementi = document.getElementsByTagName("ul");
    for ( i=0; i<elementi.length; ++i ) {
        povezava = dobiLastnost(elementi[i], "class");
        if ( povezava.indexOf("skrita")==0 ) {
            povezava = povezava.substr(6);
            j = povezava.indexOf("_");
            if ( j!=-1 ) {
                dolzina = povezava.substr(j+1)*1;
                povezava = povezava.substr(0, j)*1;
            } else
                povezava = povezava*1;
            li = elementi[i].childNodes;
            for ( j=0; j<li.length; ++j ) {
                dolociDogodek(li[j], "click", pokaziVsebino);
                p = li[j].childNodes;
                if ( dolzina>3 ) {
                    for ( k=0; k<p.length; ++k ) {
                        if ( dobiLastnost(p[k], "tag")=="h3" ) {
                            if ( p[k].firstChild.data.length>dolzina ) {
                                tmp = document.createElement("span");
                                dolociLastnost(tmp, "class", "jsDel1");
                                tmp.appendChild(document.createTextNode(p[k].firstChild.data.substr(0, dolzina-3)));
                                pmt = document.createElement("span");
                                dolociLastnost(pmt, "class", "jsDel2");
                                pmt.appendChild(document.createTextNode(p[k].firstChild.data.substr(dolzina-3)));
                                p[k].removeChild(p[k].firstChild);
                                p[k].appendChild(tmp);
                                p[k].appendChild(pmt);
                            }
                        }
                    }
                }
                if ( povezava!=0 && j>=povezava ) {
                    dolociLastnost(li[j], "class", "jsSkrita");
                } else
                    dolociLastnost(li[j], "class", "jsZakrita");
            }
            if ( povezava!=0 && li.length>povezava ) {
                p = document.createElement("input");
                dolociLastnost(p, "type", "button");
                dolociLastnost(p, "value", dobiPrevod("vsa_obvestila"));
                dolociLastnost(p, "jsSkritaId", dodeliID(elementi[i]));
                dolociDogodek(p, "click", pokaziVsoVsebino);
                elementi[i].parentNode.insertBefore(p, elementi[i].nextSibling);
            }
        }
    }
}

function pokaziVsebino(e) {
    dolociLastnost(this, "class", "jsOdkrita");
}

function pokaziVsoVsebino(e) {
    var j;
    var ul = document.getElementById(dobiLastnost(this, "jsSkritaId"));
    var li = ul.childNodes;
    for ( j=0; j<li.length; ++j ) {
        if ( dobiLastnost(li[j], "class")=="jsSkrita" )
            dolociLastnost(li[j], "class", "jsZakrita");
    }
    this.parentNode.removeChild(this);
}

function povecajSliko(e) {
    povecajSlikoNohtek(this);
    this.blur();
    return prepreciPrivzeto(e);
}

function povecajNohtek(e) {
    var nohtek = document.getElementById(dobiLastnost(this, "jsNohtek"));
    povecajSlikoNohtek(nohtek);
    this.blur();
    return prepreciPrivzeto(e);
}

function povecajSlikoNohtek(nohtek) {
    var povezava;
    var slika = document.getElementById("jsPovecanaSlika");
    if ( slika!=null )
        slika.parentNode.removeChild(slika);

    var steklo = document.createElement("div");
    dolociLastnost(steklo, "class", "jsPovecanaSlika");
    dolociLastnost(steklo, "id", "jsPovecanaSlika");

    if ( dobiLastnost(nohtek, "class")=="povecajKvazi" ) {
        if ( nohtek.firstChild && dobiLastnost(nohtek.firstChild, "tag")=="img" ) {
            povezava = dobiLastnost(nohtek.firstChild, "src");
            if ( povezava.indexOf("/skladisce/slike/nohtki/")!=-1 ) {
                povezava = povezava.replace("/skladisce/slike/nohtki/", "/skladisce/slike/");
            } else
                return;
        }
    } else
        povezava = dobiLastnost(nohtek, "href");

    slika = document.createElement("img");
    dolociLastnost(slika, "src", povezava);
    dolociLastnost(slika, "jsPrejsnja", dobiLastnost(nohtek, "jsPrejsnja"));
    dolociLastnost(slika, "jsNaslednja", dobiLastnost(nohtek, "jsNaslednja"));
    dolociLastnost(slika, "alt", "Slika");

    var nazaj = document.createElement("input");
    dolociLastnost(nazaj, "type", "button");
    if ( dobiLastnost(nohtek, "jsPrejsnja") ) {
        dolociLastnost(nazaj, "value", dobiPrevod("prejsnja"));
        dolociLastnost(nazaj, "jsPrejsnja", dobiLastnost(nohtek, "jsPrejsnja"));
        dolociLastnost(nazaj, "class", "jsPrejsnja");
    } else
        dolociLastnost(nazaj, "class", "jsNiPrejsnje");
    dolociDogodek(nazaj, "click", povecajSlikoPrejsnjo);

    var naprej = document.createElement("input");
    dolociLastnost(naprej, "type", "button");
    if ( dobiLastnost(nohtek, "jsNaslednja") ) {
        dolociLastnost(naprej, "value", dobiPrevod("naslednja"));
        dolociLastnost(naprej, "jsNaslednja", dobiLastnost(nohtek, "jsNaslednja"));
        dolociLastnost(naprej, "class", "jsNaslednja");
    } else
        dolociLastnost(naprej, "class", "jsNiNaslednje");
    dolociDogodek(naprej, "click", povecajSlikoNaslednjo);

    var zapri = document.createElement("input");
    dolociLastnost(zapri, "type", "button");
    dolociLastnost(zapri, "value", dobiPrevod("zapri"));
    dolociLastnost(zapri, "class", "jsZapri");
    dolociDogodek(zapri, "click", povecajSlikoZapri);

    var okvir = document.createElement("div");
    dolociLastnost(okvir, "class", "jsOkvir");
    dolociLastnost(okvir, "class", "jsNalagam");

    var slk = document.createElement("p");
    dolociLastnost(slk, "class", "jsSlika");
    slk.appendChild(slika);

    okvir.appendChild(slk);

    var avtorOpis = povecajSlikoAvtorOpis(nohtek);
    if ( avtorOpis[1] ) {
        var opis = document.createElement("p");
        dolociLastnost(opis, "class", "jsOpis");
        opis.appendChild(document.createTextNode(avtorOpis[1]));
        okvir.appendChild(opis);
    }
    if ( avtorOpis[0] ) {
        var avtor = document.createElement("p");
        dolociLastnost(avtor, "class", "jsAvtor");
        avtor.appendChild(document.createTextNode(avtorOpis[0]));
        okvir.appendChild(avtor);
    }

    steklo.appendChild(okvir);
    okvir.appendChild(nazaj);
    okvir.appendChild(naprej);
    okvir.appendChild(zapri);
    //element.parentNode.appendChild(steklo);
    document.body.appendChild(steklo);
    if ( slika.complete )
        povecajSlikoNalozeno.apply(slika);
    else
        dolociDogodek(slika, "load", povecajSlikoNalozeno);
}

function povecajSlikoAvtorOpis(nohtek) {
//    var oce;
//    if ( dobiLastnost(nohtek.parentNode, "tag")=="li" )
//        oce = nohtek.parentNode;
//    else if ( dobiLastnost(nohtek.parentNode, "tag")=="p" )
//        oce = nohtek.parentNode.parentNode;
//    else if ( dobiLastnost(nohtek.parentNode, "tag")=="div" )
//        oce = nohtek.parentNode;
//    else
//        return ["", ""];
//    var elementi = oce.childNodes;
//    var i;
//    var avtor = "";
//    var opis = "";
//    for ( i=0; i<elementi.length; ++i ) {
//        switch ( dobiLastnost(elementi[i], "class") ) {
//            case "avtor":
//                avtor = elementi[i].innerHTML;
//                break;
//            case "opis":
//                opis = elementi[i].innerHTML;
//                break;
//        }
//    }
    var opis = dobiLastnost(nohtek, "title");
    var avtor = "";
    var a = opis.indexOf(" | ");
    if ( a!=-1 ) {
        avtor = opis.substr(a+3);
        opis = opis.substr(0, a);
    }
    return [avtor, opis];
}

function povecajSlikoNalozeno(e) {
    var r = 50; //razmik do roba okna
    var A = velikostOkna();
    var a = velikostElementa(this);
    if (a[0]/a[1]>(A[0]-r)/(A[1]-r)) {
        if ( a[0]>A[0]-r ) {
            a[1] = (A[0]-r)/a[0]*a[1];
            a[0] = A[0]-r;
        } else if ( a[1]>A[1]-r ) {
            a[0] = (A[1]-r)/a[1]*a[0];
            a[1] = A[1]-r;
        }
    } else {
        if ( a[1]>A[1]-r ) {
            a[0] = (A[1]-r)/a[1]*a[0];
            a[1] = A[1]-r;
        } else if ( a[0]>A[0]-r ) {
            a[1] = (A[0]-r)/a[0]*a[1];
            a[0] = A[0]-r;
        }
    }
    a[0] = Math.round(a[0]);
    a[1] = Math.round(a[1]);
    A[0] = Math.round(A[0]);
    A[1] = Math.round(A[1]);
    if ( a[0]<0 )
        a[0]=0;
    if ( a[1]<0 )
        a[1]=0;
    dolociStil(this, "width", a[0] +"px");
    dolociStil(this, "height", a[1] +"px");
    dolociStil(this.parentNode.parentNode, "width", a[0] +"px");
    dolociStil(this.parentNode.parentNode, "height", a[1] +"px");
    dolociStil(this.parentNode.parentNode, "top", ((A[1]-a[1])/2) +"px");
    dolociStil(this.parentNode.parentNode, "left", ((A[0]-a[0])/2) +"px");
    dolociLastnost(this.parentNode.parentNode, "class", "jsNalozena");
}

function povecajSlikoZapri(e) {
    var slika = document.getElementById("jsPovecanaSlika");
    if ( slika!=null )
        slika.parentNode.removeChild(slika);
    return prepreciPrivzeto(e);
}

function povecajSlikoNaslednjo(e) {
    var naslednja;
    naslednja = dobiLastnost(this, "jsNaslednja");
    if ( naslednja ) {
        var slika = document.getElementById(naslednja);
        if ( slika ) {
            povecajSlikoNohtek(slika);
        }
    } else
        povecajSlikoZapri(e);
    return prepreciPrivzeto(e);
}

function povecajSlikoPrejsnjo(e) {
    var naslednja;
    naslednja = dobiLastnost(this, "jsPrejsnja");
    if ( naslednja ) {
        var slika = document.getElementById(naslednja);
        if ( slika ) {
            povecajSlikoNohtek(slika);
        }
    } else
        povecajSlikoZapri(e);
    return prepreciPrivzeto(e);
}

