﻿function BudgetDotationInputChange(sender, textBoxDotationValue, textBoxDotationPercent) {
    if (sender.checked) {
        document.getElementById(textBoxDotationValue).className = "droplist";
        document.getElementById(textBoxDotationValue).readOnly = false;
        document.getElementById(textBoxDotationValue).onkeypress = function (e) { return currencyInput(e); };
        document.getElementById(textBoxDotationPercent).style.display = "none";
        document.getElementById(textBoxDotationValue).value = document.getElementById(textBoxDotationValue).value.replace(" Kč", "").replace(/ /g, "");
    }
    else {
        document.getElementById(textBoxDotationValue).className = "RORozpocet";
        document.getElementById(textBoxDotationValue).readOnly = true;
        document.getElementById(textBoxDotationValue).onkeypress = null;
        document.getElementById(textBoxDotationPercent).style.display = "inline";
        document.getElementById(textBoxDotationValue).value = cLng(document.getElementById(textBoxDotationValue).value).formatMoney(2);
    }


    return true;
}


function countBudget(sender, lEUFunds) {
    if (lEUFunds)
    {
        parentID = 'ctl00_ContentPlaceHolder1_TabContainer1_TabPanelProjectExtended_DetailsViewBudget_';
    }
    else
    {
        parentID = 'ctl00_ContentPlaceHolder1_TabContainer1_TabPanelProjectExtended_DetailsViewBudget_';    
    }
    _grantFundsUnfitnessCost = cLng(findFieldStringValue(parentID, "grantFundsUnfitnessCost"));
    _grantFundsUnfitnessCostVAT = cLng(findFieldStringValue(parentID, "grantFundsUnfitnessCostVAT"));
    _grantFundsUnfitnessCostTotal = _grantFundsUnfitnessCost + _grantFundsUnfitnessCostVAT;
    _grantFundsFitnessCostTotal = cLng(findFieldStringValue(parentID, "grantFundsFitnessCostTotal"));
    setFieldValue(parentID, "grantFundsUnfitnessCostTotal", _grantFundsUnfitnessCostTotal);
    setFieldValue(parentID, "totalCostsVAT", _grantFundsUnfitnessCostVAT);
    _grantFundsFitnessCost = cLng(findFieldStringValue(parentID, "grantFundsFitnessCost"))
    _totalCosts = _grantFundsUnfitnessCost + _grantFundsUnfitnessCostVAT + _grantFundsFitnessCostTotal;
    setFieldValue(parentID, "totalCosts",_totalCosts);
    _grantTotalPercent = cLng(findFieldPercentValue(parentID, "grantFundsTotal"));
    _grantEUPercent = cLng(findFieldPercentValue(parentID, "grantFundsEu"));
    _grantStateBudgetPercent = cLng(findFieldPercentValue(parentID, "grantFundsGovernment"));
    if (document.getElementById(parentID + "__grantFundsTotal_CheckBox1").checked) {
        if (_grantFundsFitnessCost > 0) {
            _grantFundsTotal = cLng(findFieldStringValue(parentID, "grantFundsTotal"));
            _grantTotalPercent = (_grantFundsTotal / _grantFundsFitnessCost * 100);
        }
        else {
            _grantTotalPercent = 0;
        }
        setFieldValueExt(parentID, "grantFundsTotal", "TextBoxDotationPercent", _grantTotalPercent);
    }
    else {
        _grantFundsTotal = _grantFundsFitnessCost * _grantTotalPercent / 100;
        setFieldValue(parentID, "grantFundsTotal", _grantFundsTotal);
    }
    _privateFundsTotal = _totalCosts -  _grantFundsTotal;
    _grantFundsGovernment = _grantFundsTotal * _grantStateBudgetPercent / 100 ;
    _grantFundsEu = _grantFundsTotal * _grantEUPercent / 100;
    setFieldValue(parentID, "privateFundsTotal", _privateFundsTotal);
    setFieldValue(parentID, "grantFundsGovernment", _grantFundsGovernment);
    setFieldValue(parentID, "grantFundsEu", _grantFundsEu);
}


function countFinalBudget(sender, lEUFunds) {
    if (lEUFunds) {
        parentID = 'ctl00_ContentPlaceHolder1_TabContainer1_TabPanelProjectFinish_DetailsViewFinalBudget_';
    }
    else {
        parentID = 'ctl00_ContentPlaceHolder1_TabContainer1_TabPanelProjectFinish_DetailsViewFinalBudget_';
    }
    _grantFundsUnfitnessCost = cLng(findFieldStringValue(parentID, "finalGrantFundsUnfitnessCost"));
    _grantFundsUnfitnessCostVAT = cLng(findFieldStringValue(parentID, "finalGrantFundsUnfitnessCostVAT"));
    _grantFundsUnfitnessCostTotal = _grantFundsUnfitnessCost + _grantFundsUnfitnessCostVAT;
    _grantFundsFitnessCostTotal = cLng(findFieldStringValue(parentID, "finalGrantFundsFitnessCostTotal"));
    setFieldValue(parentID, "finalGrantFundsUnfitnessCostTotal", _grantFundsUnfitnessCostTotal);
    setFieldValue(parentID, "finalTotalCostsVAT", _grantFundsUnfitnessCostVAT);
    _grantFundsFitnessCost = cLng(findFieldStringValue(parentID, "finalGrantFundsFitnessCost"))
    _totalCosts = _grantFundsUnfitnessCost + _grantFundsUnfitnessCostVAT + _grantFundsFitnessCostTotal;
    setFieldValue(parentID, "finalTotalCosts", _totalCosts);
    _grantTotalPercent = cLng(findFieldPercentValue(parentID, "finalGrantFundsTotal"));
    _grantEUPercent = cLng(findFieldPercentValue(parentID, "finalGrantFundsEu"));
    _grantStateBudgetPercent = cLng(findFieldPercentValue(parentID, "finalGrantFundsGovernment"));

    //_grantFundsTotal = _grantFundsFitnessCost * _grantTotalPercent / 100;
    if (document.getElementById(parentID + "__finalGrantFundsTotal_CheckBox1").checked) {
        if (_grantFundsFitnessCost > 0) {
            _grantFundsTotal = cLng(findFieldStringValue(parentID, "finalGrantFundsTotal"));
            _grantTotalPercent = _grantFundsTotal / _grantFundsFitnessCost * 100;
        }
        else {
            _grantTotalPercent = 0;
        }
        setFieldValueExt(parentID, "finalGrantFundsTotal", "TextBoxDotationPercent", _grantTotalPercent);
    }
    else {
        _grantFundsTotal = _grantFundsFitnessCost * _grantTotalPercent / 100;
        setFieldValue(parentID, "finalGrantFundsTotal", _grantFundsTotal);
    }


    _privateFundsTotal = _totalCosts - _grantFundsTotal;
    _grantFundsGovernment = _grantFundsTotal * _grantStateBudgetPercent / 100;
    _grantFundsEu = _grantFundsTotal * _grantEUPercent / 100;
    //setFieldValue(parentID, "finalGrantFundsTotal", _grantFundsTotal);
    setFieldValue(parentID, "finalPrivateFundsTotal", _privateFundsTotal);
    setFieldValue(parentID, "finalGrantFundsGovernment", _grantFundsGovernment);
    setFieldValue(parentID, "finalGrantFundsEu", _grantFundsEu);
}

function countROSZIFBudget(sender, lEUFunds) {
    if (lEUFunds) {
        parentID = 'ctl00_ContentPlaceHolder1_TabContainer1_TabPanelApprovingSZIF_DetailsViewROSZIFBudget_';
    }
    else {
        parentID = 'ctl00_ContentPlaceHolder1_TabContainer1_TabPanelApprovingSZIF_DetailsViewROSZIFBudget_';
    }
    _grantFundsUnfitnessCost = cLng(findFieldStringValue(parentID, "ROSZIFGrantFundsUnfitnessCost"));
    _grantFundsUnfitnessCostVAT = cLng(findFieldStringValue(parentID, "ROSZIFGrantFundsUnfitnessCostVAT"));
    _grantFundsUnfitnessCostTotal = _grantFundsUnfitnessCost + _grantFundsUnfitnessCostVAT;
    _grantFundsFitnessCostTotal = cLng(findFieldStringValue(parentID, "ROSZIFGrantFundsFitnessCostTotal"));
    setFieldValue(parentID, "ROSZIFGrantFundsUnfitnessCostTotal", _grantFundsUnfitnessCostTotal);
    setFieldValue(parentID, "ROSZIFTotalCostsVAT", _grantFundsUnfitnessCostVAT);
    _grantFundsFitnessCost = cLng(findFieldStringValue(parentID, "ROSZIFGrantFundsFitnessCost"))
    _totalCosts = _grantFundsUnfitnessCost + _grantFundsUnfitnessCostVAT + _grantFundsFitnessCostTotal;
    setFieldValue(parentID, "ROSZIFTotalCosts", _totalCosts);
    _grantTotalPercent = cLng(findFieldPercentValue(parentID, "ROSZIFGrantFundsTotal"));
    _grantEUPercent = cLng(findFieldPercentValue(parentID, "ROSZIFGrantFundsEu"));
    _grantStateBudgetPercent = cLng(findFieldPercentValue(parentID, "ROSZIFGrantFundsGovernment"));
    if (document.getElementById(parentID + "__ROSZIFGrantFundsTotal_CheckBox1").checked) {
        if (_grantFundsFitnessCost > 0) {
            _grantFundsTotal = cLng(findFieldStringValue(parentID, "ROSZIFGrantFundsTotal"));
            _grantTotalPercent = _grantFundsTotal / _grantFundsFitnessCost * 100;
        }
        else {
            _grantTotalPercent = 0;
        }
        setFieldValueExt(parentID, "ROSZIFGrantFundsTotal", "TextBoxDotationPercent", _grantTotalPercent);
    }
    else {
        _grantFundsTotal = _grantFundsFitnessCost * _grantTotalPercent / 100;
        setFieldValue(parentID, "ROSZIFGrantFundsTotal", _grantFundsTotal);
    }
    _privateFundsTotal = _totalCosts - _grantFundsTotal;
    _grantFundsGovernment = _grantFundsTotal * _grantStateBudgetPercent / 100;
    _grantFundsEu = _grantFundsTotal * _grantEUPercent / 100;
    setFieldValue(parentID, "ROSZIFPrivateFundsTotal", _privateFundsTotal);
    setFieldValue(parentID, "ROSZIFGrantFundsGovernment", _grantFundsGovernment);
    setFieldValue(parentID, "ROSZIFGrantFundsEu", _grantFundsEu);
}

function countMasInspectionBudget(sender, lEUFunds) {
    if (lEUFunds) {
        parentID = 'ctl00_ContentPlaceHolder1_TabContainer1_TabPanelApprovingMas_DetailsViewBudgetMasInspection_';
    }
    else {
        parentID = 'ctl00_ContentPlaceHolder1_TabContainer1_TabPanelApprovingMas_DetailsViewBudgetMasInspection_';
    }
    _grantFundsUnfitnessCost = cLng(findFieldStringValue(parentID, "MasInspectionGrantFundsUnfitnessCost"));
    _grantFundsUnfitnessCostVAT = cLng(findFieldStringValue(parentID, "MasInspectionGrantFundsUnfitnessCostVAT"));
    _grantFundsUnfitnessCostTotal = _grantFundsUnfitnessCost + _grantFundsUnfitnessCostVAT;
    _grantFundsFitnessCostTotal = cLng(findFieldStringValue(parentID, "MasInspectionGrantFundsFitnessCostTotal"));
    setFieldValue(parentID, "MasInspectionGrantFundsUnfitnessCostTotal", _grantFundsUnfitnessCostTotal);
    setFieldValue(parentID, "MasInspectionTotalCostsVAT", _grantFundsUnfitnessCostVAT);
    _grantFundsFitnessCost = cLng(findFieldStringValue(parentID, "MasInspectionGrantFundsFitnessCost"))
    _totalCosts = _grantFundsUnfitnessCost + _grantFundsUnfitnessCostVAT + _grantFundsFitnessCostTotal;
    setFieldValue(parentID, "MasInspectionTotalCosts", _totalCosts);
    _grantTotalPercent = cLng(findFieldPercentValue(parentID, "MasInspectionGrantFundsTotal"));
    _grantEUPercent = cLng(findFieldPercentValue(parentID, "MasInspectionGrantFundsEu"));
    _grantStateBudgetPercent = cLng(findFieldPercentValue(parentID, "MasInspectionGrantFundsGovernment"));
    if (document.getElementById(parentID + "__MasInspectionGrantFundsTotal_CheckBox1").checked) {
        if (_grantFundsFitnessCost > 0) {
            _grantFundsTotal = cLng(findFieldStringValue(parentID, "MasInspectionGrantFundsTotal"));
            _grantTotalPercent = _grantFundsTotal / _grantFundsFitnessCost * 100;
        }
        else {
            _grantTotalPercent = 0;
        }
        setFieldValueExt(parentID, "MasInspectionGrantFundsTotal", "TextBoxDotationPercent", _grantTotalPercent);
    }
    else {
        _grantFundsTotal = _grantFundsFitnessCost * _grantTotalPercent / 100;
        setFieldValue(parentID, "MasInspectionGrantFundsTotal", _grantFundsTotal);
    }
    _privateFundsTotal = _totalCosts - _grantFundsTotal;
    _grantFundsGovernment = _grantFundsTotal * _grantStateBudgetPercent / 100;
    _grantFundsEu = _grantFundsTotal * _grantEUPercent / 100;
    setFieldValue(parentID, "MasInspectionPrivateFundsTotal", _privateFundsTotal);
    setFieldValue(parentID, "MasInspectionGrantFundsGovernment", _grantFundsGovernment);
    setFieldValue(parentID, "MasInspectionGrantFundsEu", _grantFundsEu);
}

function countApprovingMasBudget(sender, lEUFunds) {
    if (lEUFunds) {
        parentID = 'ctl00_ContentPlaceHolder1_TabContainer1_TabPanelApprovingMasEvaluation_DetailsViewApprovingMasBudget_';
    }
    else {
        parentID = 'ctl00_ContentPlaceHolder1_TabContainer1_TabPanelApprovingMasEvaluation_DetailsViewApprovingMasBudget_';
    }
    _grantFundsUnfitnessCost = cLng(findFieldStringValue(parentID, "approvingMasGrantFundsUnfitnessCost"));
    _grantFundsUnfitnessCostVAT = cLng(findFieldStringValue(parentID, "approvingMasGrantFundsUnfitnessCostVAT"));
    _grantFundsUnfitnessCostTotal = _grantFundsUnfitnessCost + _grantFundsUnfitnessCostVAT;
    _grantFundsFitnessCostTotal = cLng(findFieldStringValue(parentID, "approvingMasGrantFundsFitnessCostTotal"));
    setFieldValue(parentID, "approvingMasGrantFundsUnfitnessCostTotal", _grantFundsUnfitnessCostTotal);
    setFieldValue(parentID, "approvingMasTotalCostsVAT", _grantFundsUnfitnessCostVAT);
    _grantFundsFitnessCost = cLng(findFieldStringValue(parentID, "approvingMasGrantFundsFitnessCost"))
    _totalCosts = _grantFundsUnfitnessCost + _grantFundsUnfitnessCostVAT + _grantFundsFitnessCostTotal;
    setFieldValue(parentID, "approvingMasTotalCosts", _totalCosts);
    _grantTotalPercent = cLng(findFieldPercentValue(parentID, "approvingMasGrantFundsTotal"));
    _grantEUPercent = cLng(findFieldPercentValue(parentID, "approvingMasGrantFundsEu"));
    _grantStateBudgetPercent = cLng(findFieldPercentValue(parentID, "approvingMasGrantFundsGovernment"));
    if (document.getElementById(parentID + "__approvingMasGrantFundsTotal_CheckBox1").checked) {
        if (_grantFundsFitnessCost > 0) {
            _grantFundsTotal = cLng(findFieldStringValue(parentID, "approvingMasGrantFundsTotal"));
            _grantTotalPercent = _grantFundsTotal / _grantFundsFitnessCost * 100;
        }
        else {
            _grantTotalPercent = 0;
        }
        setFieldValueExt(parentID, "approvingMasGrantFundsTotal", "TextBoxDotationPercent", _grantTotalPercent);
    }
    else {
        _grantFundsTotal = _grantFundsFitnessCost * _grantTotalPercent / 100;
        setFieldValue(parentID, "approvingMasGrantFundsTotal", _grantFundsTotal);
    }
    _privateFundsTotal = _totalCosts - _grantFundsTotal;
    _grantFundsGovernment = _grantFundsTotal * _grantStateBudgetPercent / 100;
    _grantFundsEu = _grantFundsTotal * _grantEUPercent / 100;
    setFieldValue(parentID, "approvingMasPrivateFundsTotal", _privateFundsTotal);
    setFieldValue(parentID, "approvingMasGrantFundsGovernment", _grantFundsGovernment);
    setFieldValue(parentID, "approvingMasGrantFundsEu", _grantFundsEu);
}


function setFieldValue(parentID, fieldID, value) {
    if (isNaN(value)) { value = 0; }
    if (document.getElementById(parentID + "__" + fieldID + "_TextBox1")) {
        document.getElementById(parentID + "__" + fieldID + "_TextBox1").value = value.formatMoney(2);
    }
}
function setFieldValueExt(parentID, fieldID,subField, value) {
    if (isNaN(value)) { value = 0; }
    if (document.getElementById(parentID + "__" + fieldID + "_" + subField)) {
        document.getElementById(parentID + "__" + fieldID + "_" + subField).value = value.toString().replace(".", ",");
    }
}


function findFieldPercentValue(parentID, fieldID) {
    if (document.getElementById(parentID + "__" + fieldID + "_HiddenFieldPercent")) {
        return document.getElementById(parentID + "__" + fieldID + "_HiddenFieldPercent").value;
    }
    return "";
}

function findFieldStringValue(parentID, fieldID) {
    if (document.getElementById(parentID + "__" + fieldID + "_TextBox1")) {
        return document.getElementById(parentID + "__" + fieldID + "_TextBox1").value;
    }
    return "";
}

function cLng(string){
    var number;
    number = 0;
    string = string.replace(',','.');
    string = string.replace(' ', '');
    number = parseFloat(string);
    if (isNaN(number)) { number = 0;}
    return number;
}

function readOnlyBudgetKeyDown(e) {

    var evt = e || window.event;
    var keynum = evt.keyCode ? evt.keyCode : evt.which;
    if (e.keyCode == 9 || e.keyCode == 8 || e.keyCode == 46
    || e.keyCode == 13 || e.keyCode == 37 || e.keyCode == 39) { // tab, backspace, delete , enter, lftarr, rgharrw
        return true;
    }
    return false
}

function currencyInput(e) {

    var evt = e || window.event;
    var charCode = evt.keyCode ? evt.keyCode : evt.which;

    if (charCode == 9 || charCode == 8 || charCode == 46
    || charCode == 13 || charCode == 37 || charCode == 39) { // tab, backspace, delete , enter, lftarr, rgharrw
        return true;
    }
    if (charCode != 44 && (charCode < 48 || charCode > 57)) { return false; }
    return true;
}


function OnBudgetDotationPercentChange(object, hiddenField) {
    document.getElementById(hiddenField).value = object.value;
    
}


//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/number/fmt-money [rev. #2]

Number.prototype.formatMoney = function(c, d, t) {
    var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? " " : t, s = n < 0 ? "-" : "",
    i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t)
    + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "") + " Kč";
}



