
var winId = null;
var win = null;
var winOpen = false;
var enabled = false;
var openWindow = false;
var regainWindow = false;
var currencyCode = "";
var applicationName = "";
var amount = 0;
var WINDOW_NAME = "CurrencyConverter";
function setupCurrencyConverter(currency, winAlreadyOpen, appName)
{
openWindow= winAlreadyOpen;
applicationName = appName;
currencyCode = currency;
enabled = true;
}
function openCurrencyConverter(newAmount)
{
setAmount(newAmount);
if (enabled)
{
if(winId==null || winId.closed )
{
var url = urlrewrite("currencyconverter",null,"?fromCurrency=" + currencyCode + "&amount="+amount+"&appname="+applicationName);
winId = window.open(url ,WINDOW_NAME,'width=620, height=430, toolbar=no, location=no, resizable=yes, scrollbars=no');
winOpen = true;
}
winId.focus();
}
}
function closingCurrencyConverter()
{
winOpen = false;
regainWindow = false;
}
function setRegainWindow()
{
regainWindow = true;
}
function reopenWindow()
{
winId = window.open('', WINDOW_NAME);
if (winId.location=='about:blank')
{
winId.close();
winOpen = false;
}
else
{
winOpen = true;
}
}
function isNumber(ch)
{
return ch>='0' && ch<='9';
}
function removeFormatting(str)
{
var result="";
var started=false;
for(var i=0; i<str.length; i++)
{
var ch = str.charAt(i);
if (isNumber(ch) || ch=='.')
{
started = true;
result = result + ch;
}
else if (started && ch!=' ' && ch!=',')
{
break;
}
}
return started?result:"0";
}
function setAmount(newAmount)
{
amount = removeFormatting(newAmount);
}
function getAmount()
{
return amount;
}
function updateCurrencyConverter(newAmount)
{
setAmount(newAmount);
if (enabled)
{
if(regainWindow)
{
regainWindow = false;
if (!winOpen) reopenWindow();
}
if(winOpen)
{
if(winId!=null && !winId.closed )
{
if (winId.doConversion)
{
winId.doConversion(currencyCode, amount);
winId.focus();
}
}
else
{
winOpen = false;
}
}
else
{
if (openWindow)
{
openCurrencyConverter(amount);
openWindow = false;
}
}
}
}

