function roundOff(value)
{
    var input = String(value);
    if (input.indexOf(".") == -1)
    {
        input += ".00";
    }
    else
    {
        input += "00";
    }

    var pattern = /\d*.\d\d/;
    var preresult = String( pattern.exec (input) );
    var result = preresult.replace(/\./,',');

    if (result != null)
    {
        return result;
    }
    else
    {
        return '0.00'
    }
}

var CurrencyFrom = 'RUR'; // валюта из
var CurrencyTo = 'RUR'; // валюта в
var RateFromSell = 0; // процент продажа исходной валюты
var RateFromBuy = 0; // процент покупка исходной валюты
var RateToSell = 0; // процент продажа конечной валюты
var RateToBuy = 0; // процент покупка конечной валюты

function calcIt()
{
    calcForm = document.calc;
    var SourceSumm = parseFloat(calcForm.SourceSumm.value);
    if (isNaN(SourceSumm))
    {
        SourceSumm = 0;
    }
//        disableSameOptions(calcForm.CurrencyFrom, calcForm.CurrencyTo);
    OfficeIn = calcForm.SelectOffice.options[calcForm.SelectOffice.options.selectedIndex].value;

    CurrencyFrom = calcForm.CurrencyFrom.options[calcForm.CurrencyFrom.options.selectedIndex].value;
    UnitsFrom = calcData[OfficeIn][CurrencyFrom].units;
    CurrencyTo = calcForm.CurrencyTo.options[calcForm.CurrencyTo.options.selectedIndex].value;
    UnitsTo = calcData[OfficeIn][CurrencyTo].units;

    if (CurrencyFrom == CurrencyTo)
    {
        RateFromSell = RateFromBuy = RateToSell = RateToBuy = 1;
    }
    else
    {
        RateFromSell = calcData[OfficeIn][CurrencyFrom].buy;
        RateFromBuy = calcData[OfficeIn][CurrencyFrom].sell;
        RateToSell = calcData[OfficeIn][CurrencyTo].buy;
        RateToBuy = calcData[OfficeIn][CurrencyTo].sell;
    }

    document.getElementById('SourceSummBuy').innerHTML = SourceSumm;
    document.getElementById('SourceSummSell').innerHTML = SourceSumm;
    document.getElementById('SourceCurrencyBuy').innerHTML = calcData[OfficeIn][CurrencyFrom].swift;
    document.getElementById('SourceCurrencySell').innerHTML = calcData[OfficeIn][CurrencyFrom].swift;
    document.getElementById('FinalCurrencyBuy').innerHTML = calcData[OfficeIn][CurrencyTo].swift;
    document.getElementById('FinalCurrencySell').innerHTML = calcData[OfficeIn][CurrencyTo].swift;
    var FinalSummBuy = (SourceSumm * (RateFromSell)) / (RateToBuy);
    var FinalSummSell = (SourceSumm * (RateFromBuy)) / (RateToSell);
    document.getElementById('FinalSummBuy').innerHTML = roundOff(FinalSummBuy);
    document.getElementById('FinalSummSell').innerHTML = roundOff(FinalSummSell);
    return false;
}

var currencyArr = new Array()

function disableSameOptions(firstSelect, secondSelect)
{
    var firstValue = firstSelect.options[firstSelect.selectedIndex].value;
    var secondValue = secondSelect.options[secondSelect.selectedIndex].value;
    if (document.createTextNode && !document.all)
    {
        for (var i = 0; i < firstSelect.options.length; i++)
        {
            if (firstSelect.options[i].value == secondValue)
            {
                firstSelect.options[i].disabled = true;
            }
            else
            {
                firstSelect.options[i].disabled = false;
            }
        }

        for (var i = 0; i < secondSelect.options.length; i++)
        {
            if (secondSelect.options[i].value == firstValue)
            {
                secondSelect.options[i].disabled = true;
            }
            else
            {
                secondSelect.options[i].disabled = false;
            }
        }
    }
    else
    {
        if (currencyArr.length < 1)
        {
            for (var i = 0; i < firstSelect.options.length; i++)
            {
                currencyArr[i] = firstSelect.options[i];
            }
        }
        firstSelect.length = 0;
        secondSelect.length = 0;
        for (var i = 0; i < currencyArr.length; i++)
        {
            if (currencyArr[i].value != secondValue)
            {
                firstSelect.options[firstSelect.options.length] = new Option(currencyArr[i].text, currencyArr[i].value);
                if (currencyArr[i].value == firstValue)
                {
                    firstSelect.selectedIndex = firstSelect.options.length - 1;
                }
            }
            if (currencyArr[i].value != firstValue)
            {
                secondSelect.options[secondSelect.options.length] = new Option(currencyArr[i].text, currencyArr[i].value);
                if (currencyArr[i].value == secondValue)
                {
                    secondSelect.selectedIndex = secondSelect.options.length - 1;
                }
            }
        }
    }
}

function clearOptions(fname, selid)
{
    if(document.getElementByID)
    {
        var oChapterList = document.getElementByID(selid);
    }
    else
    {
        var oChapterList = document.forms[fname].elements[selid];
    }

    oChapterList.length = 0;
    return true;
}

function createOption(fname, selid, head, value, def_sel)
{
    if(document.getElementByID)
    {
        var oChapterList = document.getElementByID(selid);
    }
    else
    {
        var oChapterList = document.forms[fname].elements[selid];
    }

    var def_sel = def_sel ? true : false;

    if (document.createElement)
    {
        var newChapterListOption = document.createElement("OPTION");
        newChapterListOption.text = head;
        newChapterListOption.value = value;
        newChapterListOption.selected = def_sel;
        (oChapterList.options.add) ? oChapterList.options.add(newChapterListOption) : oChapterList.add(newChapterListOption, null);
    }
    else
    {
        oChapterList.options[i] = new Option(head, value, def_sel, def_sel);
    }
    return true;
}

function selectOptionByValue(fname, selid, val)
{
    if(document.getElementByID)
    {
        var oChapterList = document.getElementByID(selid);
    }
    else
    {
        var oChapterList = document.forms[fname].elements[selid];
    }

    var cnt = oChapterList.length;
    for(i = 0; i < cnt; i++)
    {
        if(oChapterList[i].value == val)
        {
            oChapterList[i].selected = true;
        }
        else
        {
            oChapterList[i].selected = false;
        }
    }
}

function selectOptionByNum(fname, selid, num)
{
    if(!num) num = 1;
    if(document.getElementByID)
    {
        var oChapterList = document.getElementByID(selid);
    }
    else
    {
        var oChapterList = document.forms[fname].elements[selid];
    }

    var cnt = oChapterList.length;
    if (cnt < num || num < 1) return false;
    oChapterList[num - 1].selected = true;
    return oChapterList[num - 1].value;
}

function calcRecord(units, buy, sell, units, swift)
{
    this.units = units;
    this.buy = buy;
    this.sell = sell;
    this.units = units;
    this.swift = swift;
    return this;
}

function selectOffice(oid, oflist)
{
    if (!oflist[oid]) return false;
    var cur_list = oflist[oid];

    if(!document.getElementById) return false;

    var calcForm = document.calc;
    var CurrencyFrom = calcForm.CurrencyFrom.options[calcForm.CurrencyFrom.options.selectedIndex].value;
    var CurrencyTo = calcForm.CurrencyTo.options[calcForm.CurrencyTo.options.selectedIndex].value;

    clearOptions("calc","curFrom");
    clearOptions("calc","curTo");

    var iter = cur_list.length;
    for(name in cur_list)
    {
        from_sel = false;
        to_sel = false;
        if (CurrencyFrom == name) from_sel = true;
        if (CurrencyTo == name) to_sel = true;

        createOption("calc","curFrom", curNames[name], name, from_sel);
        createOption("calc","curTo", curNames[name], name, to_sel);
    }
}

function defSelect()
{
    var calcForm = document.calc;
    var OfficeIn = calcForm.SelectOffice.options[calcForm.SelectOffice.options.selectedIndex].value;
    selectOffice(OfficeIn, calcData);
}
