//почтовый гаджет, структуру аккаунтов, папок и писем держим во внутренней структуре
function __CurrencyRateSimple(id)
{
	this.stepTimer = 1000;
	this.lang = Locale.Gadgets.CurrencyRateSimple;
	this.Core = new __StdModuleCore(this, id, 'kalrndar', this.lang.title, this.lang.desc);
	
	this.Core.RemoveControl('options');
	this.currentClassName = 'CurrencyRateSimple';
	this.currencyList = {};	

	Update.request(this.currentClassName, 'module', 'get_rates', { id: this.id });	
	this.Core.AddUpdater('getSimpleRatesTimer'+this.id, this.periodicalRefresh.bind(this), this.stepTimer);	
}

//-------------------------------------------------------------------------------
__CurrencyRateSimple.prototype.periodicalRefresh = function(){	
	var options = {};
	Update.request(this.currentClassName, 'module', 'get_rates', {id: this.id}, options, true);
}


//-------------------------------------------------------------------------------
//удаляем таймеры при уделении гаджета
__CurrencyRateSimple.prototype.onDelete = function(){	
	
	if(this.Core.Timers && this.Core.Timers['getSimpleRatesTimer'+this.id]) {
		delete this.Core.DeleteUpdater('getSimpleRatesTimer'+this.id);
	}	
}

//-------------------------------------------------------------------------------
__CurrencyRateSimple.prototype.CB_getRates = function(data) {	
	var self = this;
	
	if(sizeof(data.errors) > 0) {
		alert(data.errors[0].message);
		return false;
	}
	
	if(!data || !data.variables || !data.variables.currency_list) return false;
	var vars = data.variables;
	
	this.currencyList = data.variables.currency_list;
	this.metalList = data.variables.met_list;
	
	this.prepareWorkSpace();
	this.redrawCurrencyList();
	this.redrawMetallListList();	
}

//-------------------------------------------------------------------------------
//создает два div  в Content, один для валют, другой для металлов
__CurrencyRateSimple.prototype.prepareWorkSpace = function(data) {	
	
	var tmp_str = '<div class=std_link>'+ this.lang['CBRFCur'] +'</div><div id=currency'+this.id+
		'></div><div class=std_link><br>'+ this.lang['CBRFPrecMet'] +'</div><div id=metall'+this.id+'></div>';	
	this.Content.innerHTML = tmp_str;
	
	this.currencyContext = $('currency'+this.id);
	this.metallContext = $('metall'+this.id);	
}

//-------------------------------------------------------------------------------
__CurrencyRateSimple.prototype.redrawCurrencyList = function(data) {	
	
	var tmp_str = '<table width=100% border=0 class=currencyList>';
	
	
	tmp_str+= '<tr><td width=100%></td><td></td><td style="text-align: right"><b>'+ this.lang.contr['value'] +'</b></td><td style="text-align: right"><b>'+ this.lang.contr['change'] +'</b></td></tr>';
	
	for(var currencyID in this.currencyList) {
		var currency = this.currencyList[currencyID];
	
		var date_array = currency.date.split(/\-/);
		
		var change_color = 'black';
		if(currency.change > 0) change_color = 'green';
			else if(currency.change < 0) change_color = 'red';
						
		tmp_str+='<tr><td class=currencyTitle>'+currency.title+'</td>';
		tmp_str+='<td>'+date_array[2]+'/'+date_array[1]+'</td>';
		tmp_str+='<td>'+currency.rate+'</td>';
		tmp_str+='<td nowrap style="text-align: right; color:'+change_color+'">'+currency.change+'</td></tr>';
	}	
	
	tmp_str+= '</table>';
		
	this.currencyContext.innerHTML = tmp_str;
		
}



//-------------------------------------------------------------------------------
__CurrencyRateSimple.prototype.redrawMetallListList = function(data) {	
	
	var tmp_str = '<table width=100% border=0 class=currencyList>';
	
	
	tmp_str+= '<tr><td width=100%></td><td></td><td style="text-align: right"><b>'+ this.lang.contr['value'] +'</b></td><td style="text-align: right"><b>'+ this.lang.contr['change'] +'</b></td></tr>';
	
	for(var metallID in this.metalList) {
		var metal = this.metalList[metallID];
	
		var date_array = metal.date.split(/\-/);
		
		var change_color = 'black';
		if(metal.sell_change > 0) change_color = 'green';
			else if(metal.sell_change < 0) change_color = 'red';
						
		tmp_str+='<tr><td class=currencyTitle>'+metal.title+'</td>';
		tmp_str+='<td>'+date_array[2]+'/'+date_array[1]+'</td>';
		tmp_str+='<td>'+metal.sell+'</td>';
		tmp_str+='<td nowrap style="text-align: right; color:'+change_color+'">'+
						metal.sell_change+'</td></tr>';
	}
	
	tmp_str+= '</table>';
		
	this.metallContext.innerHTML = tmp_str;
		
}



//-------------------------------------------------------------------------------
__CurrencyRateSimple.prototype.Relay = function(data, part) {
		
	switch(data.event.action)
	{
		case 'get_rates':	
			this.CB_getRates(data);
			break;
				

		default:
			//this.parent.ctrlCallback(dataObj, section);
			return false;
			break;
	}
	
	 if (!part) this.Core.HideLoadingIcon();
	
}