
function ELIB_przelicz_kurs_waluty(ile,wsrc,wdst)
{
	if (wdst == wsrc) return ile;
	var k1,k2;
	if (!(k1=ELIB_kursy_walut[wsrc])) return null;
	if (!(k2=ELIB_kursy_walut[wdst])) return null;
	return ile*k1/k2;
}

function ELIB_parse_walstring(str)
{
	var a=str.match(/([0-9,.]+).*([A-Z]{3})/);
	if (!a) return null;
	if (a.length<3) return null;
	var d=a[1];
	if (d.search(/\.\d{0,2}$/)>=0) d=d.replace(/,/g,'');
	else if (d.search(/,\d{0,2}?$/)>=0) d=d.replace(/\./g,'').replace(/,/,'.');
	else d=d.replace(/[,.]/g,'');
	d=parseFloat(d);
	if (isNaN(d)) return null;
	return [d,a[2]];
}

function ELIB_format_curr(ile,fchr)
{
	var fc1,fc2,i1,i2;
	if (!fchr) {
		fc1=',';
		fc2=null;
	}
	else {
		fc1=fchr.charAt(0);
		fc2=fchr.charAt(1);
	}
	if (!fc2) {
		i1=Math.round(ile)+'';
	}
	else {
		ile=ile+'0';
		if ((n=ile.indexOf('.'))>=0) {
			i1=ile.substr(0,n);
			i2=Math.round(ile.substr(n)*100);
			if (i2<10) i2='0'+i2;else if (i2>99) {
				i2='00';
				i1=(parseInt(i1)+1)+'';
			}
		}
		else {
			i1=ile;
			i2=0;
		}
	}
	var s='';
	while (i1.length>3) {
		s=fc1+i1.substr(i1.length-3)+s;
		i1=i1.substr(0,i1.length-3);
	}
	s=i1+s;
	if (fc2) s+=fc2+i2;
	return s;
}

function ELIB_create_walstring(str,fchr)
{
	var i,d,s='',p;
	if (!(d=ELIB_parse_walstring(str))) return null;
	for (i=2;i<arguments.length;i++) {
		if (!arguments[i]) continue;
		if (arguments[i]==d[1]) continue;
		if (p=ELIB_przelicz_kurs_waluty(d[0],d[1],arguments[i])) {
			s+=' ('+ELIB_format_curr(p,fchr)+'\xA0'+arguments[i]+')';
		}
	}
	if (s=='') return null;
	return s;
	
}

function ELIB_getInnerText(node,str)
{
	if (node.nodeType == 3) {
		return str+node.nodeValue;
	}
	for (node=node.firstChild;node;node=node.nextSibling) {
		str=ELIB_getInnerText(node,str);
	}
	return str;
}

function ELIB_innerText(node)
{
	var str=ELIB_getInnerText(node,'');
	return str.replace(/^\s+/g,'').replace(/\s+$/g,'').replace(/\s+/,' ');
	
}

function ELIB_getNamedElements(lista,nod,obname)
{
	if (nod.nodeType != 1) return;
	if (nod.className==obname) lista[lista.length]=nod;
	for (nod=nod.firstChild;nod;nod=nod.nextSibling) ELIB_getNamedElements(lista,nod,obname);
}

function ELIB_replace_prices(obname,fstr,waluta1,waluta2)
{
	var el=[];
	ELIB_getNamedElements(el,document.body,obname);
	var i;
	for (i=0;i<el.length;i++) {
		var str=ELIB_innerText(el[i]);
		str=ELIB_create_walstring(str,fstr,waluta1,waluta2);
		if (str) el[i].appendChild(document.createTextNode(str));
	}
		
}
