function exchange_rate(settings){
	this.settings=settings;	
	this.target=null;
}

exchange_rate.prototype.update=function(summ, currency){
	this.loadTarget();
	summ=parseFloat(summ.replace(',','.'))
	if (!summ){
		
		this.ul.hide();
		return;
	}
	var result=this.settings.calculator(summ, currency);
		
	for (var type in this.target){
		for (var cur in this.target[type]){
			console.log(type, cur, result[type][cur],2);
			if (result[type][cur]){				
				this.target[type][cur].result.innerHTML=this.format(result[type][cur]);
				this.target[type][cur].style.display='block';
			}
			else {
				this.target[type][cur].style.display='none';
			}
		}
	}
	this.ul.show();
};

exchange_rate.prototype.format= function(d){
	return d.toFixed(2).replace('.',',');
}

exchange_rate.prototype.loadTarget= function(){
	if (this.target) return;
	this.target=[];
	
	this.ul=DOM(this.settings.resultID);
	var li=this.ul.getElementsByTagName('li');
	for (var i=0; i<li.length; i++){
		var target=li[i].id.split('_');		
		li[i].result=li[i].getElementsByTagName('span')[0];
		if (!this.target[target[0]]) this.target[target[0]]=[];
		this.target[target[0]][target[1]]=li[i];
	}
	return;
};

exchange_rate.lbl=function(lbl){
	if (lbl.className=='jsLink'){
		DOM(lbl.getAttribute('rel')).show();
		lbl.className='';
	}
	else {
		DOM(lbl.getAttribute('rel')).hide();
		lbl.className='jsLink';
	}
}
