function getElementsByName_iefix(tag, name) {

    var elem = document.getElementsByTagName(tag);
    var arr = new Array();

    for (i = 0, iarr = 0; i < elem.length; i++) {

        att = elem[i].getAttribute("name");

        if (att == name) {
            arr[iarr] = elem[i];
        iarr++;

    }

}
return arr;
}

// show and hide rappel columns
function showHideColums(idColumn,context){

    if($('.n-1-'+ idColumn +'-hidden:hidden').length == $('.n-1-'+ idColumn +'-hidden').length){
        $(context).text("Masquer n-1");
        $('.n-1-'+ idColumn +'-hidden').show();
    }else{
        $(context).text("Afficher n-1");
        $('.n-1-'+ idColumn +'-hidden').hide();
    }
    return false;
}

// rest of CA
function restCA(context,idCalc){
    CATot = parseInt(document.getElementById('totCA_' + idCalc).getAttribute('data-attr'));
    CANow = parseInt(document.getElementById('totCA_' + idCalc).textContent);

    if((CATot - CANow) >= 0){
        var msg = "Reste "+(CATot - CANow)+" K€ par rapport au déclaré page précédente";
    } else {
        var msg = "Dépasse de "+(CANow - CATot)+" K€ par rapport au déclaré page précédente";
    }
    if( $("#"+context).hasClass('tooltipstered')){
        $("#"+context).tooltipster('content',msg).tooltipster('show');
    } else {
        // init tooltip
        $("#"+context).tooltipster({
            content: msg,
            trigger: 'custom',
            contentAsHTML: true,
            position: 'top',
            timer: 4000
        }).tooltipster('show');

    }

}

// maj total
function majTot(idCalc) {

    // flag Internet Explorer
    var ie = true;

    // CALCULATE SUM CA FOR THE CURRENT YEAR (N)

    // init vars and array for current year (N)
    /*@cc_on    ie = true;    @*/
    var elementsCAInter = new Array();
    var elementsCAInterS = new Array();
    var somCAInter = 0;
    var somCAInterS = 0;

    // get the current input
    if (ie) {
        elementsCAInter = getElementsByName_iefix('input', 'CA_' + idCalc);
    } else {
        elementsCAInter = document.getElementsByName('CA_' + idCalc);
    }

    for (var i in elementsCAInter) {
        if (!isNaN(parseFloat(elementsCAInter[i].value))) {
            somCAInter = parseFloat(somCAInter) + parseFloat(elementsCAInter[i].value);
        }
    }

    if (ie) {
        elementsCAInterS = getElementsByName_iefix('input', 'CAs_' + idCalc);
    } else {
        elementsCAInterS = document.getElementsByName('CAs_' + idCalc);
    }

    for (var i in elementsCAInterS) {

        if (!isNaN(parseFloat(elementsCAInterS[i].value))) {
            somCAInterS = parseFloat(somCAInterS) + parseFloat(elementsCAInterS[i].value);
        }

    }

    // write value for totals N
    document.getElementById('totCAp_' + idCalc).innerHTML = somCAInter.toFixed(2);
    document.getElementById('totCAs_' + idCalc).innerHTML = somCAInterS.toFixed(2);
    document.getElementById('totCA_' + idCalc).innerHTML = (parseFloat(somCAInter) + parseFloat(somCAInterS)).toFixed(2);

    var ca = parseInt(document.getElementById('totCA_' + idCalc).getAttribute('data-attr'));
    var ca_now = parseFloat(somCAInter) + parseFloat(somCAInterS)
    var ca_sup = ca + (ca * 0.1);
    var ca_inf = ca - (ca * 0.1);
    if(ca_now > ca_inf && ca_now < ca_sup){
        document.getElementById('totCA_' + idCalc).style.color = "black";
        document.getElementById('totCA_' + idCalc).className = "";
    } else {
        document.getElementById('totCA_' + idCalc).style.color = "red";
        document.getElementById('totCA_' + idCalc).className = "delta-ca";
    }
    var anterelementsCAInter = new Array();
    var anterelementsCAInterS = new Array();
    var antersomCAInter = 0;
    var antersomCAInterS = 0;

    if (ie) {
        anterelementsCAInter = getElementsByName_iefix('input', 'anterCA_' + idCalc);
    } else {
        anterelementsCAInter = document.getElementsByName('anterCA_' + idCalc);
    }
    for (var i in anterelementsCAInter) {
        if (!isNaN(parseFloat(anterelementsCAInter[i].value))) {
            antersomCAInter = parseFloat(antersomCAInter) + parseFloat(anterelementsCAInter[i].value);
        }
    }

    if (ie) {
        anterelementsCAInterS = getElementsByName_iefix('input', 'anterCAs_' + idCalc);
    } else {
        anterelementsCAInterS = document.getElementsByName('anterCAs_' + idCalc);
    }
    for (var i in anterelementsCAInterS) {
        if (!isNaN(parseFloat(anterelementsCAInterS[i].value))) {
            antersomCAInterS = parseFloat(antersomCAInterS) + parseFloat(anterelementsCAInterS[i].value);
        }
    }

    // write value for totals N-1
    document.getElementById('antertotCAp_' + idCalc).innerHTML = antersomCAInter.toFixed(2);
    document.getElementById('antertotCAs_' + idCalc).innerHTML = antersomCAInterS.toFixed(2);
    document.getElementById('antertotCA_' + idCalc).innerHTML = (parseFloat(antersomCAInter) + parseFloat(antersomCAInterS)).toFixed(2);



}

function ctrlSaisie(event, acceptNegative) {
    event = event ? event : window.event;
    pressKey = event.keyCode ? event.keyCode : event.charCode;
    if ((pressKey < 48 || pressKey > 57) && pressKey != 46 && pressKey != 8 && pressKey != 9) {
      // #DLC Accept minus sign first character
      if (acceptNegative && (String.fromCharCode(pressKey) === "-")) {
        // /^[-+]?(\d*)$/.test(event.target.value)
        if (String(event.target.value).length === 0) {
          return; // Accept
        }
      }
      event.preventDefault ? event.preventDefault() : event.returnValue = false;
    }
}
