String.prototype.trim = function() {
    return this.replace(/(^[\s\xA0]+|[\s\xA0]+$)/g, '');
}

var _oRI, cRI;
var doOnLoadList = new Array();
var doTheEndList = new Array();
window.onerror = function() {
    return true;
}

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

cRI = function() {
	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);
}

cRI.prototype = {
    isOpera: function() { return this._bOp; },
    isGecko: function() { return this._bGe; },
    isOldNetscape: function() { return this._bN4; },
    isMac: function() { return this._bMc; },
    isLinux: function() { return (this._bUa.indexOf("linux")!=-1) },
    isKhtml: function() { return this._bKh; },
    isIE: function() { return (this._bIe == 1 || this._bIe4 == 1) ? 1 : 0; },
    setHTML: function(id, txt) { document.getElementById(id).innerHTML=txt; },
    write: function(txt) { document.write(txt); },
	$: function(id) {
		return document.getElementById(id);
	},
	$$: function() {
        var aK = [], a = arguments;
        var wezel = a[1]||document, tag = a[2]||"*", k = a[0]+":"+wezel+":"+tag;        
        var aEl = wezel.getElementsByTagName(tag);
        for (var i = 0, ln = aEl.length; i < ln; i++) {
            if (this.czyCssClass(aEl[i], a[0])) {
                aK[aK.length] = aEl[i];
            }
        }
        return aK;
    },
    isCssClass: function(oid, cssClass) {
        oid = oid||RI("$", oid);
        
        return oid && oid.className.match(new RegExp('(^|\\s)'+cssClass+'(\\s|$)'));
    },
    getCssClass: function(oid) {
        oid = oid||RI("$", oid);
        return (oid ? oid.className : null);
    },
    setCssClass: function(oid, cssClass) {
        oid = oid||RI("$", oid);
        return (oid ? oid.className = cssClass : null);
    },
    addCssClass: function(oid, cssClass) {
        oid = oid||RI("$", oid);
        if (!this.isCssClass(oid, cssClass)) {
            oid.className = oid.className.trim() != "" ? oid.className+" "+cssClass : cssClass;
        }
        return oid.className;
    },
    deleteCssClass: function(oid, cssClass, nowa) {
        nowa = nowa||""; oid = oid||RI("$", oid);
        if (this.isCssClass(oid, cssClass)) {
            oid.className = oid.className.replace(new RegExp(cssClass+'(\\s|$)'), nowa);
        }
        if ("" == oid.className.trim()) {
            oid.removeAttribute("class");
        }
        return oid.className;
    },
	externalLink: function() {
	    try {
	        var i=0;
	        var l = document.getElementsByTagName("a");
	        for (i=0; i < l.length; i++) {
	            if (l[i].rel.indexOf('external') == 0) {
	                l[i].target = '_blank';
	            }
	        }
	    }
	    catch (oError) { }
	},
	addToDoOnLoad: function(f) {
        if(RI("isIE")) {
            window.onload = readDoOnLoad;
            doOnLoadList[doOnLoadList.length] = f;
        }
        else if(window.onload){
            if (window.onload != readDoOnLoad) {
                doOnLoadList[0] = window.onload;
                window.onload = readDoOnLoad;
            }
            doOnLoadList[doOnLoadList.length]=f;
        }
        else {
            window.onload = f;
        }
    },
    addToDoTheEnd: function(f) {
        doTheEndList[doTheEndList.length] = f;
    },
    getScriptFile: function(f, set) {
        var d = document; set = set||"H";
        if (set == "H") {
            var s = d.createElement("script");
            s.setAttribute("type", "text/javascript");
            s.setAttribute("src", f);
            d.getElementsByTagName("head")[0].appendChild(s);
        }
        else if(set == "F") {
            d.write(unescape('%3Cscript%20type%3D%22text/javascript%22%20src%3D%22'+f+'%22%3E%3C/script%3E'));
        }
    },
    getCssFile: function(f) {
        var css = document.createElement("link");
        css.setAttribute("type", "text/css");
        css.setAttribute("rel", "stylesheet");
        css.setAttribute("href", f);
        document.getElementsByTagName("head")[0].appendChild(css);
    },
    setDefCss: function(oid, regula) {
        var element = typeof oid == 'object' ? oid : RI("$", oid);
        if (RI("czyIE")) {
            element.style.setAttribute("cssText",regula);
        }
        else {
            element.style.cssText = regula;
        }
    },
    createElementIn: function(refOid, newTag, attr) {
        var refObj = typeof refOid == 'object' ? refOid : RI("$", refOid)||document.body;
        var obj = document.createElement(newTag);
        for (k in attr) {
            if (k == "style") {
                RI("setDefCss", obj, attr[k]);
            }
            else {
                obj.setAttribute(k, attr[k]);
            }
        }
	    refObj.appendChild(obj);

	    return obj;
    },
    showHidden: function(oId, aS, reg) {
        reg = reg||"block";
        aS = aS||[];
        for (k in oId) {
            var ob = typeof oId[k] == 'object' ? oId[k]: this.$(oId[k]);
            if (ob == null) continue;
            if (typeof aS[k] == "undefined") {
                aS[k] = ob.style.display == "none" ? 1 : 0;
            }
            switch (aS[k]) {
                case 1:
                    ob.style.display = reg;
                    break;
                default:
                    ob.style.display = "none";
                    break;
            }
        }
        return false;
    },
    getPosition: function(oid) {
        oid = (typeof oid == "object") ? oid : RI("$", oid);
        var T = 0, L = 0;
        while(oid.tagName != 'HTML') {
            T += oid.offsetTop||0;
            L += oid.offsetLeft||0;
            if (oid.offsetParent) oid = oid.offsetParent;
            else break;
	    }
        T += oid.offsetTop||0;
        L += oid.offsetLeft||0;
        return {x:L, y:T};
    },
    getScrollPosition: function() {
        var dd = document.documentElement, db = document.body;
        if (self.pageYOffset) { return [self.pageXOffset, self.pageYOffset]; }
        if (dd && dd.scrollTop) { return [dd.scrollLeft, dd.scrollTop]; }
        if (db) { return [db.scrollLeft, db.scrollTop]; }
        return [0, 0];
    },

    getSize: function() {
        var iWX, iWY, iPX, iPY, iSX, iSY;
        var dd = document.documentElement, db = document.body, w = window;

        if (window.innerHeight && window.scrollMaxY) { iSX = db.scrollWidth; iSY = w.innerHeight + w.scrollMaxY; }
        else if (db.scrollHeight > db.offsetHeight){ iSX = db.scrollWidth; iSY = db.scrollHeight; }
        else { iSX = db.offsetWidth; iSY = db.offsetHeight; }

        if (self.innerHeight) { iWX = self.innerWidth; iWY = self.innerHeight; }
        else if (dd && dd.clientHeight) { iWX = dd.clientWidth; iWY = dd.clientHeight; }
        else if (db) { iWX = db.clientWidth; iWY = db.clientHeight; }

        iPX = (iSX < iWX) ? iWX : iSX;
        iPY = (iSY < iWY) ? iWY : iSY;

        return [iPX,iPY,iWX,iWY,screen.width,screen.height];
    }
}

function readDoOnLoad() {
    try {
        for (var i = 0; i < doOnLoadList.length; i++) {
            doOnLoadList[i]();
        }
    }
    catch (oError) {}
}
function readDoTheEnd() {
    for (var i = 0; i < doTheEndList.length; i++) {
        doTheEndList[i]();
    }
}

addToDoOnLoad = cRI.prototype.addToDoOnLoad;

RI("addToDoOnLoad", new Function("RI('externalLink')"));


wstawSWF = function(plik, id, szerokosc, wysokosc, jakosc) {
    var _jakosc = jakosc ? jakosc : 'high';

    this.parametry = new Array();
    this.atrybuty = new Array();

    this.tekstZastepczy = "";

    this.ustawAtrybut('type', 'application/x-shockwave-flash');
    this.ustawAtrybut('data', plik);

	if(id) { this.ustawAtrybut('id', id); }
	if(szerokosc) { this.ustawAtrybut('width', szerokosc); }
	if(wysokosc) { this.ustawAtrybut('height', wysokosc); }

    this.ustawParametr('movie', plik);

	this.ustawParametr('quality', _jakosc);
	this.ustawParametr('wmode', 'transparent');
    this.ustawParametr('pluginspage', 'http://www.macromedia.com/go/getflashplayer');
}

wstawSWF.prototype = {
    ustawAtrybut: function(nazwa, wartosc) {
        this.atrybuty[nazwa] = wartosc;
    },
    pobierzAtrybuty: function() {
        return this.atrybuty;
    },
    ustawParametr: function(nazwa, wartosc) {
        this.parametry[nazwa] = wartosc
    },
    pobierzParametry: function() {
        return this.parametry;
    },
    ustawTekstZastepczy: function(tekst) {
        this.tekstZastepczy = tekst;
    },
    generujSWFHTML: function() {
        var parametry = this.pobierzParametry(), atrybuty = this.pobierzAtrybuty(), swf = "";

        swf += '<object ';
        for(var nazwa in atrybuty) {
            swf += nazwa+'="'+atrybuty[nazwa]+'" ';
        }
        swf += '>';

		for(var nazwa in parametry) {
            swf += '<param name="'+ nazwa +'" value="'+ parametry[nazwa] +'" />';
        }
        if (this.tekstZastepczy != "") {
            swf += "<p>"+this.tekstZastepczy+"</p>";
        }
		swf += "</object>";

		return swf;
    },
    wstaw: function(elementId) {
        if (typeof elementId == 'string') {
            RI("setHTML",elementId, this.generujSWFHTML());
        }
		else {
		    RI("write",this.generujSWFHTML());
		}
    }
}

oAjax = function(){
    this.czySync = false;
};
with({$:oAjax.prototype}){
$.czyObsluguje = function(){
    return !!this.polaczenie();
};
    $.zdarzenia = ["start", "open", "send", "load", "end"];
    $.filtr = function(url) {
        var utf16 = ['%u0104','%u0106','%u0118','%u0141','%u0143','%u015A','%u017B','%u0179','%u0105','%u0107','%u0119','%u0142','%u0144','%u015B','%u017C','%u017A'];
        var utf8 = ['%A1','%C6','%CA','%A3','%D1','%A6','%AF','%AC','%B1','%E6','%EA','%B3','%F1','%B6','%BF','%BC'];
        url = escape(url);
        var matches = url.match(/%u[a-z0-9]{4}/gi);
        if (matches != null) {
            for (var i = 0; i < matches.length; i++) {
                var utf8code = "";
                for(var j=0; j<utf16.length; j++){
                    if (utf16[j] == matches[i]) {
                        utf8code = utf8[j];
                        break;
                    }
                }
                url = url.replace(matches[i], utf8code);
            }
        }
        return url;
    };
    $.polaczenie = function(){
        var s = ["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
        try {
            return new XMLHttpRequest();
        }
        catch (oBlad) {
            for (var i = 0; i < s.length; i++) {
                try {
                    return new ActiveXObject(s[i]);
                    break;
                }
                catch (oBlad){}
            }
        }
    };
    $.formatujParametry = function(parametry){
        var r = [];
        for(var i in parametry) {
            r[r.length] = i + "=" + (this.filtr ? this.filtr(parametry[i]) : parametry[i]);
        }
        return r.join("&");
    };
    $.get = function(url, parametry, fn){
        return this.request("GET", url + (url.indexOf("?") + 1 ? "&" : "") +
            this.formatujParametry(parametry), null, fn, null);
    };
    $.post = function(url, parametry, fn){
        return this.request("POST", url, parametry = this.formatujParametry(parametry), fn, {
            "Connection": "close",
            "Content-Length": parametry.length,
            "Method": "POST " + url + " HTTP/1.1",
            "Content-Type": "application/x-www-form-urlencoded; charset=iso-8859-2"
        });
    };
    $.request = function(metoda, url, parametry, fn, naglowki){
        var o = this.polaczenie(), f = fn instanceof Function, self = this;
        try{
            o.open(metoda, url, !this.czySync);
            this.czySync || (o.onreadystatechange = function() {
                var s = $.zdarzenia[o.readyState];
                f && s == "end" ? fn(o) : s in fn && fn[s](o);
            });
            o.setRequestHeader("HTTP_USER_AGENT", "XMLHttpRequest");
            try {
                for(var k in naglowki) {
                    o.setRequestHeader(k, naglowki[k]);
                }
                o.overrideMimeType('text/html; charset=ISO-8859-2');
            }
            catch(oBlad) {}
            o.send(parametry);
            this.czySync && (f ? fn(o) : fn["end"] && fn["end"](o));
            return true;
        }
        catch(oBlad){
            return false;
        }
    };
}

var $ = cRI.prototype.$;

function RI_SendFile(ob) {
    var kontener = $('file-upload');    
    var wK = kontener.offsetWidth, 
        hK = kontener.offsetHeight;
    var warstwa = RI("createElementIn", 
            kontener, 
            'div', 
            {"style":"position: absolute; top: 0; left: 0; width: 798px; height: 245px; background: #c00; color: #fff;"});
    
    warstwa.innerHTML = "<p>Trwa wysyłanie danych na serwer.<br />Proszę czekać.</p>";
}

function RI_Zakladki(id, aktywna) {
    aktywna = aktywna||0
    var ob = $(id),
        tagA = ob.getElementsByTagName("a");   
    
    var fn = function() {
        RI("deleteCssClass", oG.zakladkaAAct, "aktywna"); 
        RI("deleteCssClass", oG.zakladkaDivAct, "pokaz", "ukryj");
        RI("addCssClass", this, "aktywna");
        RI("deleteCssClass", this.obDiv, "ukryj", "pokaz");
        oG.zakladkaAAct = this;
        oG.zakladkaDivAct = this.obDiv;  
    }
    
    for (var i = 0, ln = tagA.length, id; i < ln; i++) {
        
        tagA[i].obDiv = $(tagA[i].rel);
        
        if ("undefined" === typeof oG.zakladkaDivAct) {
            oG.zakladkaDivAct = tagA[i].obDiv;
            oG.zakladkaAAct = tagA[i];
            RI("deleteCssClass", oG.zakladkaDivAct, "ukryj", "pokaz");
            RI("addCssClass", tagA[i], "aktywna");
        }
        
        tagA[i].onclick = fn;
    }
}