var calculatorWidth=320;
var calculatorHeight=80;

controllerCenterPanel("calculator", calculatorWidth, calculatorHeight);

var objectDragApproved=0;
var objectStartX;
var objectStartY;
var objectDragID="calculator_title_bar";
var objectID="";

var calculatorLastActive = "calculator_source";

document.getElementById("calculator_close").onclick=calculatorHide;

document.getElementById("calculator_title_bar").onmousedown=controllerObjectStartDrag;
document.onmouseup=controllerObjectStopDrag;
document.onmousemove=controllerObjectDrag;


document.getElementById("calculator_source").onkeyup=calculatorConvert;
document.getElementById("calculator_destination").onkeyup=calculatorConvert;

document.getElementById("calculator_source").onkeypress=controllerCheckDigitsType;
document.getElementById("calculator_destination").onkeypress=controllerCheckDigitsType;

document.getElementById("calculator_source").onfocus=calculatorFocus;
document.getElementById("calculator_destination").onfocus=calculatorFocus;


function calculatorFocus(evt)
{
var elem;
	if(evt) // Gecko, Opera
	{
	elem=evt.target;
	}
	else // MSIE
	{
	evt=window.event;
	elem=evt.srcElement;
	}
calculatorLastActive=elem.id;
}


function calculatorHide()
{
document.getElementById("calculator_source").blur();
document.getElementById("calculator_destination").blur();
document.getElementById("calculator").style.visibility="hidden";
}


function calculatorShow(operation, currency, rate)
{
	switch(operation)
	{
	case "buy":
	document.getElementById("calculator_source_label").innerHTML=strCalculatorSale;
	document.getElementById("calculator_destination_label").innerHTML=strCalculatorGet;
	break;
	case "sale":
	document.getElementById("calculator_source_label").innerHTML=strCalculatorBuy;
	document.getElementById("calculator_destination_label").innerHTML=strCalculatorRequired;
	}
document.getElementById("calculator_rate_label").innerHTML=strCalculatorRate;
document.getElementById("calculator_currency_label").innerHTML=currency;
document.getElementById("calculator_rate").innerHTML=rate;

document.getElementById("calculator_base_currency_label").innerHTML=strBaseCurrency;

document.getElementById("calculator").style.visibility="visible";
document.getElementById("calculator_destination").value="";
document.getElementById("calculator_source").value="";
controllerSetFocus("calculator_source");
}


	function calculatorFormatNumber(num)
	{
	num = Math.round( num * 100 ) / 100;
	str = num.toString();
	if ( str.charAt(0) == '.' )
	str = '0' + str;
	return str;
	}

	function calculatorSum(inp, c)
	{
	var val = inp.value.replace( ',', '.' );
	val = parseFloat( val );
	if ( isNaN( val ) ) return '';
	return calculatorFormatNumber( val*c );
	}
    
	function calculatorConvert()
	{
	var src=document.getElementById("calculator_source");
	var dst=document.getElementById("calculator_destination");
	var rate=document.getElementById("calculator_rate").innerHTML;
		if(calculatorLastActive==src.id)
		{
		dst.value=calculatorSum(src, rate);
		}
		else
		{
		src.value=calculatorSum(dst, 1/rate);
		}
	}
