var _oGR, cGR;
var rekMiejsca = adMiejsca = adMiejsce = onloadLista = new Array();
var wykonajNaKoncuLista = new Array();

function GR(){
    var r="", a=arguments, l=a.length, f, c, i;
    if(!_oGR) {
        _oGR = new cGR();
    }
    if(l) {
        f = a[0] + "#" + l;
        if(!_oGR[f] && _oGR[a[0]]){
            c = "return this." + a[0] + "(";
            for (i=1; i<l; i++) {                
                c += (i!=1?",":"") + "a["+i+"]";
            }
            c += ")";
            _oGR[f] = new Function("a",c);
        }
        if(_oGR[f]) {
            r = _oGR[f](a);
        }
    }
    else {
        r = 0;
    }
    return r;
}

cGR = function() {
    this.wersja="0.0.1";
    this.nazwaKlasy = "cGR";
    this._bUa = navigator.userAgent.toLowerCase();
    this._bOp = (this._bUa.indexOf("opera") != -1 ? 1 : 0);
    this._bIe = (this._bUa.indexOf("msie") != -1 && !this._bOp ? 1 : 0);
    this._bIe4 = (this._bIe && (this._bUa.indexOf("msie 2.") != -1 || 
    this._bUa.indexOf("msie 3.") != -1 || this._bUa.indexOf("msie 4.") != -1) && !this._bOp ? 1 : 0);
    this._bKh = (this._bUa.indexOf("khtml") != -1 ? 1 : 0);
    this._bGe = (this._bUa.indexOf("gecko") != -1 && !this._bKh ? 1 : 0);
    this._bN4 = (document.layers ? 1 : 0);
    this._bMc = (this._bUa.indexOf("mac") != -1 ? 1 : 0);
    this._Ss="%3Cscript%20type%3D%22text%2Fjavascript%22%3E%0D%0A%3C%21--%20%3C%21%5BCDATA%5B%0D%0A";
    this._Se="%0D%0A%2F%2F%20%5D%5D%3E%20--%3E%0D%0A%3C%2Fscript%3E";
    this._tytuly = ["Reklama", "Nasi partnerzy"];
}

cGR.prototype = {
    $: function(id) {
        try { return document.getElementById(id); }
        catch (oError) { alert("error"+id)}
    },
    pobierzCssClass: function(id) {
        var element = document.getElementById(id);
        return element.className;
    },
    ustawCssClass: function(id, cssClass) {
        document.getElementById(id).className = cssClass;
    },
    czyOpera: function() { return this._bOp; },
    czyGecko: function() { return this._bGe; },
    czyStaryNetscape: function() { return this._bN4; },
    czyMac: function() { return this._bMc; },
    czyLinux: function() { return (this._bUa.indexOf("linux")!=-1) },
    czyKhtml: function() { return this._bKh; },
    czyIE: function() { return (this._bIe == 1 || this._bIe4 == 1) ? 1 : 0; },
    wstawHTML: function(id, tresc) { document.getElementById(id).innerHTML=tresc; },
    wpisz: function(tresc) { document.write(tresc); },        
    linkiZewnetrzne: function() {
        try {
            var i, linki = document.getElementsByTagName("a");
            for (i = 0; i < links.length; i++) {           
                if (linki[i].rel.indexOf('external') == 0) {  
                    linki[i].target = '_blank';           
                }        
            }    
        }    
        catch (oError) { 
            return false;    
        }
    },
    mapujMiejsca: function() {
        var k,c,s;
        if (!adMiejsce) {
            return false;
        }
        for(k in adMiejsce) {
            c = "if(typeof "+unescape(adMiejsce[k])+"=='function')"+unescape(adMiejsce[k])+"();";
            try { 
                s = eval(adMiejsce[k]+".toString()");
                adMiejsca[k] = unescape(this._Ss)+c+unescape(this._Se);                
            } 
            catch(e){
                s = "";
                adMiejsca[k] = 0;               
            }           
        }
    },
    pobierzReklame: function(n) {
        return (adMiejsca && adMiejsca[n] ? adMiejsca[n] : null);
    },
    ustawReklame: function(n,c) {
        adMiejsca[n] = c;
    },
    czyReklama: function(n) {
        return (adMiejsca && adMiejsca[n] ? 1 : 0);
    }, 
    wstawReklame: function(n, cssClass, cssStyle, tytul) {
        var d=document;  
        tytul = typeof tytul == "string" ? tytul : this._tytuly[tytul]||"";
        
        if(GR("czyReklama",n)){
            d.write('<div id="ad-'+n+'"'+(cssStyle ? ' class="'+cssClass+'"' : "")+(cssStyle ? ' style="'+cssStyle+'"' : "")+'>'); 
            if (tytul) d.write('<span class="adTytul">'+tytul+'</'+'span>');          
            d.write(adMiejsca[n]);
            d.write('</'+'div>');
        }
    },
    wstawReklameButtony: function(tytul, pola) {
        var d = document, i = 0;
        
        tytul = typeof tytul == "string" ? tytul : this._tytuly[tytul];
        
        for (k in pola) {
            if (GR("czyReklama",pola[k])) {
                if (i == 0) {
                    d.write('<div class="adBoks"><span>'+tytul+'</'+'span>');
                    i++;
                }
                GR("wstawReklame",pola[k]);                
            }            
        } 
        if (i == 1) {
            d.write('</div>');
        }             
    },
    wstawReklameTextBox: function(typ, pola) {
        var d = document, i = 0, box = [],box_szerokosc=0;
        var typy = ["adTekstPion","adTekstPoziom"];
        
        typ = typeof typ == "string" ? typ : typy[typ];
        szerokosc = typeof szerokosc == "undefined" ? 747 : parseInt(szerokosc);
        
        for (k in pola) {
            if (GR("czyReklama",pola[k])) {
                if (i == 0) {
                    d.write('<div class="'+typ+'"'+(szerokosc != 747 ? ' style="width: '+szerokosc+'px;"' : '')+'>');                    
                }
                box[i] = "ad-"+pola[k];                
                GR("wstawReklame",pola[k]);
                i++;             
            }
        }
        if (i > 0) {
            d.write('<span class="tytulik">Reklama</'+'span>');
            d.write('</div>');
        }
        
        if (i < 4 && i != 0) {
            var box_ilosc = box.length;
            box_szerokosc = box_ilosc < 3 ? Math.floor(szerokosc/2) : Math.floor(szerokosc/box_ilosc);
            box_margines = box.length < 2 ? Math.floor((szerokosc-(box_szerokosc*box_ilosc))/2) : 0;
            for (k in box) {
                var b = this.$(box[k]);
                b.style.width=box_szerokosc+"px";  
                if (box_margines) {
                    b.style.marginLeft=(!GR("czyIE")?box_margines:Math.floor(box_margines/2))+"px";
                    b.getElementsByTagName("a")[0].style.textAlign="center";
                }              
            }            
        }
        return szerokosc = "undefined";
    },
    wstawSkyscraper: function(id, top) {
        var d=document,pola=["skyscraper-lewy","skyscraper-prawy"],w=0,style="";
        
        for(k in pola) {
            if(GR("czyReklama", pola[k])){
                GR("wstawReklame",pola[k],style);
                if (!w) {
                    w = 1;
                    GR("dodajOnload", new Function("GR('ustawSkyscraper','"+id+"', "+(parseInt(top) || 0)+")"));
                }
            }
        }
    },
    ustawSkyscraper: function(id, top) {
        var w=window,f,skyL=this.$("ad-skyscraper-lewy"),skyP=this.$("ad-skyscraper-prawy");
        if (skyL||skyP) {
            if(GR("czyIE")) {
                top = parseInt(top)+70;
            }
            GR("pokazSkyscraper",id,top);
            f = new Function("GR('pokazSkyscraper','"+id+"', "+top+")");
            if(w.addEventListener) {
                w.addEventListener("resize", f, false);
            }
            else {
                w.attachEvent("onresize", f);
            }
        }
    },
    rozmiarSkyscraper: function(sky) {
        var i, link, szerokosc = 0, wysokosc = 0;
        var znaczniki = ["a","object","iframe"];
               
        for (k in znaczniki) {
            var znacznik = sky.getElementsByTagName(znaczniki[k]);
            if (znacznik.length > 0) {
                if (k == 0) {
                    img = new Image();
                    
                    if (znacznik[0].childNodes[0].width == 0) {                    
                        img.src = znacznik[0].childNodes[0].src;
                        szerokosc = parseInt(img.width);
                        wysokosc = parseInt(img.height);
                    }
                    else {
                        szerokosc = parseInt(znacznik[0].childNodes[0].width);
                        wysokosc = parseInt(znacznik[0].childNodes[0].height);
                    }
                }
                else {
                    szerokosc = parseInt(znacznik[0].width);
                    wysokosc = parseInt(znacznik[0].height);
                }
                break;
            }
        }
        return szerokosc+"x"+wysokosc;
    },
    pokazSkyscraper: function(id, top) {
        var d=document, linki, obiekty, skyLrozmiar=[0,0], skyProzmiar=[0,0], punkt=this.$(id), skyL=this.$("ad-skyscraper-lewy"), skyP=this.$("ad-skyscraper-prawy"), sky=this.$("ad-skyscraper"), bW=document.body.clientWidth, wi = 0;
        if(bW && (skyL || skyP)) {
            var tagBody = d.getElementsByTagName("body")[0], divTagi = tagBody.getElementsByTagName("div");             
            
            if (skyL) {
                skyLrozmiar = GR("rozmiarSkyscraper", skyL).split("x");
            }            
            if (skyP) {                
                skyProzmiar = GR("rozmiarSkyscraper", skyP).split("x");
            }
            
            var szerokosc = (parseInt(skyLrozmiar[0])+parseInt(skyProzmiar[0])); 
          
            wi = parseInt(punkt.width || punkt.offsetWidth);
            top = parseInt(top) || 0;
            if((bW-wi)/2 > szerokosc) {                
                if(skyP){
                    sky.style.top=punkt.offsetTop+top+"px";
                    sky.style.left=Math.floor((bW-wi)/2)+wi+10+"px";
                    sky.style.display="block";
                }
            }
            else{
                if(skyL)sky.style.display="none";
                if(skyP)sky.style.display="none";
            }            
        }
    },
    dodajOnload: function(f) {
        if(GR("czyIE")) {
            window.onload = czytajOnload;
            onloadLista[onloadLista.length] = f;
        }
        else if(window.onload){
            if (window.onload != czytajOnload) {
                onloadLista[0] = window.onload;
                window.onload = czytajOnload;
            }
            onloadLista[onloadLista.length]=f;
        }
        else {
            window.onload = f;
        }
    },
    dodajWykonajNaKoncu: function(f) {
        wykonajNaKoncuLista[wykonajNaKoncuLista.length] = f;
    },
    pokazUkryj: function(pola, wlacz, blokTyp) {
        wlacz = wlacz || [];
        blokTyp = blokTyp || "block";

        for (k in pola) {
            var el = GR("$",pola[k]);

            if (el == null) break; 
            if (wlacz[k]!=undefined && wlacz[k]==1) {
                el.style.display=blokTyp;
            }
            else if (wlacz[k]==undefined && el.style.display && el.style.display=="none") {
                el.style.display=blokTyp;
            }
            else {
                el.style.display="none";
            }
        }  
    }
}

function czytajOnload() {
    for (var i = 0; i < onloadLista.length; i++) {
       onloadLista[i]();
    }
}
function wykonajNaKoncu() {
    for (var i = 0; i < wykonajNaKoncuLista.length; i++) {
        wykonajNaKoncuLista[i]();
    }
}

var dodajOnload = cGR.prototype.dodajOnload;
var wstawReklame = cGR.prototype.wstawReklame;
var gr$ = cGR.prototype.$;

dodajOnload(cGR.prototype.linkiZewnetrzne);

