var StartoFunkcioj = new Array();
UziStartoFunkciojn();
AldoniStartoFunkcion('preparu()');

function preparu() {
    InstaliMenuon();
    InstaliSuperBiblon('pagho');
    eksterajLigiloj('pagho');
    eksterajLigiloj('piedo');
}

/* Mastrumado de pluraj startofunkcioj */
function PlenumiStartoFunkciojn() {
    for (var x = 0; x < StartoFunkcioj.length; x++) {
        eval(StartoFunkcioj[x]);
    }
}

function UziStartoFunkciojn() {
    window.onload = PlenumiStartoFunkciojn;
}

function AldoniStartoFunkcion(f) {
    StartoFunkcioj[StartoFunkcioj.length] = f;
}

function InstaliMenuon() {
    var lioj = $('menuo').getElementsByTagName('li');
    for (var x = 0; x < lioj.length; x++) {
        lio = lioj[x];
        var sublioj = lio.getElementsByTagName('ul');
        if (sublioj.length > 0) {
            lio.className += " x";
        }
        if (document.all && document.getElementById) {
            lio.onmouseover=function() {
                this.className += " musumo";
            }
            lio.onmouseout=function() {
                this.className=this.className.replace(" musumo", "");
            }
        }
    }
}

function eksterajLigiloj(kie) {
    var ligiloj = $(kie).getElementsBySelector('a');
    for (var i=0; i < ligiloj.length; i++) {
        if (ligiloj[i].readAttribute('rel') == "ekstera") ligiloj[i].target = "_blank";
    }
}

/*
function ProtektuRetadreson(komenco, fino, teksto) {
    document.write( '<a href="mailto:' + komenco + '@' + fino + '">' );
    if (teksto == "") {
        document.write( ''+ komenco + '@' + fino + '' );
    } else {
        document.write( ''+ teksto +'' );
    }
    document.write( '</a>' );
}

*/

function ProtektuRetadreson(komenco, fino, teksto) {
    var bildo = '<img class="surlinia" src="/img/aspekto/at.png" alt="" />';
    document.write( '<a href="mailto:' + komenco + '@' + fino + '">' );
    if (teksto == "") {
        document.write( ''+ komenco + bildo + fino + '' );
    } else {
        document.write( ''+ teksto.replace('(x)', bildo) +'' );
    }
    document.write( '</a>' );
}


function InstaliSuperBiblon(kie) {
    var superbibloj = $(kie).getElementsByTagName('a')
    for (var x = 0; x < superbibloj.length; x++) {
        if (superbibloj[x].title && superbibloj[x].title != '') {
            superbibloj[x].enhavo = superbibloj[x].title;
            superbibloj[x].title = '';
            superbibloj[x].onmouseover = SuperEk;
            superbibloj[x].onmouseout = SuperFor;
        }
    }
}

function SuperEk(e) {
    var obj = this;
    var enhavo = this.enhavo;
    if (!e && window.event) e = window.event;
    var pozx = 0;
    var pozy = 0;
    if (e.pageX || e.pageY) {
        pozx = e.pageX;
        pozy = e.pageY;
    } else if (e.clientX || e.clientY) {
        pozx = e.clientX + document.documentElement.scrollLeft;
        pozy = e.clientY + document.documentElement.scrollTop;
    }
    var fenestrolargho;
    var fenestroalto;
    if (window.innerWidth) {
        fenestrolargho = window.innerWidth;
        fenestroalto = window.innerHeight;
    } else if (document.documentElement && document.documentElement.clientWidth) {
        fenestrolargho = document.documentElement.clientWidth;
        fenestroalto = document.documentElement.clientHeight;
    }
    var distancox = e.clientX;
    var distancoy = e.clientY;
    var enhavodiv;
    if (!obj.superbibl) {
        obj.superbibl = document.createElement('div');
        obj.superbibl.className = 'superbibl';
        /*
        var argoj = this.className.split(' ');
        if (argoj.length > 1) {
            for (var x = 1; x < argoj.length; x++) {
                switch(argoj[x]) {
                    case 'CENTRE':
                        obj.superbibl_centre = 1;
                        break;
                    case 'LARGHO':
                        x++;
                        obj.superbibl_largho = argoj[x];
                        break;
                }
            }
        }
        */
        enhavodiv = document.createElement('div');
        enhavodiv.className = 'superbiblenhavo';
        enhavodiv.innerHTML = enhavo;
        if (obj.titolo) {
            obj.superbibl_titolo = document.createElement('h2');
            obj.superbibl_titolo.innerHTML = obj.titolo;
            obj.superbibl.appendChild(obj.superbibl_titolo);
        }
        obj.superbibl.appendChild(enhavodiv);
        document.body.appendChild(obj.superbibl);
    }
    if (obj.superbibl) {
        obj.superbibl.style.display='block';
        if (document.all) {
            obj.superbibl.style.width = '20em';
        } else obj.superbibl.style.maxWidth = '20em';
        /*
        if (obj.superbibl_largho) {
            if (document.all) {
                obj.superbibl.style.width = obj.superbibl_largho + 'em';
            } else obj.superbibl.style.maxWidth = obj.superbibl_largho + 'em';
        } else obj.superbibl.style.width='auto';
        */
        if ((fenestroalto - distancoy) > distancoy) {
            /* Sube */
            obj.superbibl.style.top = (pozy+8) + 'px';
        } else {
            /* Supre */
            var superbiblalto;
            if (obj.superbibl.offsetHeight) superbiblalto = obj.superbibl.offsetHeight;
            else superbiblalto = parseInt(window.getComputedStyle(obj.superbibl,null).height);
            var loko = pozy-superbiblalto-10;
            if (loko < 0) loko = 0;
            obj.superbibl.style.top = loko + 'px';
        }
        if ((fenestrolargho - distancox) > distancox) {
            /* Dekstre */
            var shovo;
            if (window.pageXOffset) shovo = window.pageXOffset;
            else shovo = document.documentElement.scrollLeft;
            obj.superbibl.style.visibility = 'hidden';
            var superbibllargho;
            if (obj.superbibl.offsetWidth) superbibllargho = obj.superbibl.offsetWidth;
            else superbibllargho = parseInt(window.getComputedStyle(obj.superbibl,null).width);
            var loko = pozx;
            obj.superbibl.style.left = loko + 'px';
            /*
            if (obj.superbibl_centre) {
                obj.superbibl.style.width = superbibllargho + 'px';
                loko -= superbibllargho/2;
                if (loko - shovo < 0) {
                    obj.superbibl.style.left = shovo + 'px';
                } else {
                    obj.superbibl.style.left = loko + 'px';
                }
            }
            */
            if (Prototype.Browser.IE && navigator.appVersion.include('MSIE 6')) {
                AldoniKashoKadron(obj);
            }
            obj.superbibl.style.visibility = 'visible';
        } else {
            /* Maldekstre */
            var shovo;
            if (window.pageXOffset) shovo = window.pageXOffset;
            else shovo = document.documentElement.scrollLeft;
            obj.superbibl.style.visibility = 'hidden';
            var superbibllargho;
            if (obj.superbibl.offsetWidth) superbibllargho = obj.superbibl.offsetWidth;
            else superbibllargho = parseInt(window.getComputedStyle(obj.superbibl,null).width);
            var loko = pozx-superbibllargho;
            if (loko-shovo < 0) loko = shovo;
            obj.superbibl.style.left = loko + 'px';
            /*
            if (obj.superbibl_centre) {
                obj.superbibl.style.width = superbibllargho + 'px';
                loko += superbibllargho/2;
                if (loko + superbibllargho > fenestrolargho) {
                    obj.superbibl.style.left = '';
                    obj.superbibl.style.right = (5 - shovo) + 'px';
                } else {
                    obj.superbibl.style.left = loko + 'px';
                }
            }
            */
            //if (document.all)
            if (Prototype.Browser.IE && navigator.appVersion.include('MSIE 6')) {
                AldoniKashoKadron(obj);
            }
            obj.superbibl.style.visibility = 'visible';
        }
    }
    return false;
}

function AldoniKashoKadron(obj) {
    // Aldoni suban "iframe"-on por Esplorilo
    if (!obj.kashokadro) {
        var kashokadro = document.createElement('iframe');
        kashokadro.className = 'kashokadro';
        kashokadro.scrolling = 'no';
        kashokadro.frameborder = 0;
        obj.kashokadro = kashokadro;
        document.body.appendChild(kashokadro);
    }
    if (obj.kashokadro) {
        var width = obj.superbibl.scrollWidth;
        var height = obj.superbibl.clientHeight;
        var left = obj.superbibl.offsetLeft;
        var top = obj.superbibl.offsetTop;
        obj.kashokadro.style.width = (width) + 'px';
        obj.kashokadro.style.height = (height+2) + 'px';
        obj.kashokadro.style.left = (left) + 'px';
        obj.kashokadro.style.top = (top) + 'px';
        obj.kashokadro.style.display = 'block';
        obj.kashokadro.style.zIndex = 99999;
    }
}

function SuperFor() {
    var obj = this;
    if (obj.superbibl && obj.superbibl.style.display == 'block') {
        if (obj.kashokadro) obj.kashokadro.style.display='none';
        obj.superbibl.style.display='none';
    }
    return false;
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}
