﻿
function NifCif_OnLoad() {
    var tc = document.getElementsByName('IDTipoCliente');

    if (tc.length) {
        for (var i = 0; i < tc.length; i++) {
            if (tc[i].checked) {
                NifCif(tc[i]);
                break;
            }
        }
    } else if (tc.value) {
        NifCif(tc);
    }
}

function frmClick_Overrides(event) {
    var target = event.target || event.srcElement;

    NifCif(target);
}

function NifCif(oElem) {
    var tcID = '.' + oElem.value + '.';
    var idTcEmpresa = '.' + tcEmpresa.join('.') + '.';
    var idTcParticular = '.' + tcParticular.join('.') + '.';

    if (oElem.name == 'IDTipoCliente') {
        if (StringInStrOk(idTcEmpresa, tcID)) {
            ShowHideParticular(false);
            ShowHideEmpresa(true);

        } else if (StringInStrOk(idTcParticular, tcID)) {
            ShowHideEmpresa(false);
            ShowHideParticular(true);
        }
    }
}

function ShowHideEmpresa(blnVisible) {
    for (var i in tcCamposEmpresa) {
        ShowHideField(i, tcCamposEmpresa[i], blnVisible);
    }
}

function ShowHideParticular(blnVisible) {
    for (var i in tcCamposParticular) {
        ShowHideField(i, tcCamposParticular[i], blnVisible);
    }
}

function ShowHideField(strField, strLabel, blnVisible) {
    var obj = $('#' + strField);
    var root = obj.parent();
    var label;
    var span;

    if (blnVisible) {
        obj.prop('class', 'texto');
        obj.prop('readOnly', false);
        obj.prop('disabled', false);
        root.css('display', '');

        if (strLabel !== '') {
            label = $("label:first", root);
            span = $("span:first", label);

            if (span.length > 0) {
                // Recrea la etiquera span para los campos obligatorios
                label.text(strLabel);

                var spanClass = span.attr('class');
                label.append('<span class="' + spanClass + '">' + span.html() + '</span>');
            } else {
                label.text(strLabel);
            }
        }
    } else {
        obj.prop('class', 'readonly');
        obj.prop('readOnly', true);
        obj.prop('disabled', true);
        root.css('display', 'none');
    }
}

function StringInStrOk(str1, str2) {
    if (str1.search(str2) >= 0) {
        return true;
    } else {
        return false;
    }
}
