$(document).ready(function () {

    // Masquer les formulaires
    $('#fsSource .sublistTxt').hide();

    // Afficher le 1er formulaire
    // $('.sources-tree:first').toggleClass('sources-tree-replie').toggleClass('sources-tree-deplie').next().show('fast');

    // Afficher l'element coche  formulaire
    //alert(document.getElementById('sourcejs').value);
    $('input[id=' + document.getElementById('sourcejs').value + ']').next().toggleClass('sources-tree-replie').toggleClass('sources-tree-deplie').next().show('fast');

    // Cocher le radio correspondant
    checkRadiosArbre();

    // Au clic, afficher/masquer le formulaire
    $('#fsSource input.choix-source:radio').click(function () {
        replierDeplier(this);
    });

    // Griser les champs dans référence publication
    //    $('#rRevue').click(function () {
    //        $('#source-actus :input:not(.radio)').attr('disabled', true);      
    //        $('#source-revues :input:not(.radio)').attr('disabled', false);
    //        disabledDateField("sublistTxtDoc");
    //    });
    //    $('#rActualites').click(function () {
    //        $('#source-actus :input:not(.radio)').attr('disabled', false);      
    //        $('#source-revues :input:not(.radio)').attr('disabled', true);
    //    });

    // Griser les champs legislation
    $('#code').click(function () {
        $('#source-tnc :input:not(.radio)').attr('disabled', true);
        $('#source-code :input:not(.radio)').attr('disabled', false);
    });
    $('#tnc').click(function () {
        $('#source-tnc :input:not(.radio)').attr('disabled', false);
        $('#source-code :input:not(.radio)').attr('disabled', true);
        disabledDateField("sublistTxtLegis");
    });

    $('#fsSource input, #fsSource select').focus(function () {
        valideSurEntree('btValidSearch');
    });

    $('#resetJuris').click(function () {
        $('#sublistTxtJuris select :first-child').each(function () {
            $(this).attr('selected', true);
        });
        disabledDateField("sublistTxtJuris");
        $('#sublistTxtJuris input:text').each(function () {
            $(this).val('');
        });
        $('#sublistTxtJuris input:checkbox').removeAttr("checked");
        //$('#sublistTxtJuris input:checkbox').attr("checked", false);
        JurisChangeClick();
    });
    $('#resetLeg').click(function () {
        $('#sublistTxtLegis select :first-child').each(function () {
            $(this).attr('selected', true);
        });
        disabledDateField("sublistTxtLegis");
        $('#sublistTxtLegis input:text').each(function () {
            $(this).val('');
        });
        $('#code').click();
    });
    $('#resetDoc').click(function () {
        //$('#sublistTxtDoc select option:selected').each(function () {
        $('#sublistTxtDoc select.optiongroup :first-child[value=""]').each(function () {
            $(this).attr('selected', true);
            $(document.getElementById("d$nTexte2")).change();
        });
        $('#sublistTxtDoc select.operator :first-child').each(function () {
            $(this).attr('selected', true);
            //$('#sublistTxtDoc select.operator').change();
        });
        disabledDateField("sublistTxtDoc");
        $('#sublistTxtDoc input:text').each(function () {
            $(this).val('');
        });
        //$('#sublistTxtDoc > input:radio').removeAttr("checked");
    });

    // limiter les champ de saisie input a 100
    $('#fsSource input:text').not('.input-date').each(function () {
        $(this).attr('maxlength', '100');
    });

    // griser les champs dates non utilisés   
    $('#sublistTxtJuris select.operator').change(function () {
        disabledDateField("sublistTxtJuris");
    });
    $('#sublistTxtLegis select.operator').change(function () {
        disabledDateField("sublistTxtLegis");
    });
    $('#sublistTxtDoc select.operator').change(function () {
        disabledDateField("sublistTxtDoc");
    });
    DisableUnusedField(OpenUlAftervalidation($('#sourcejs').val()));
    $('#sourcejs').val('');
    JurisChangeClick();

    $(document.getElementById("d$nTexte2")).change(function () {
        ActiveReference($(document.getElementById("d$nTexte2")).val(), "REVUES")
    });
    ActiveReference($(document.getElementById("d$nTexte2")).val(), "REVUES")
});

function ActiveReference(myString, prefix) {
    // Remove any white space at the left of the string.
    //myString = myString.trimStart();

    // Set to lower case.
    //myString = myString.toLowerCase();

    // Determine if the string starts with the specified prefix.
    var hasPrefix = myString.startsWith(prefix.toString());
    if (hasPrefix === true) {
        $('#ref-pub input:text').attr('disabled', false);
        $('#ref-pub #source-revues').show();
    }
    else {
        $('#ref-pub input:text').attr('disabled', true);
        $('#ref-pub #source-revues').hide();
    }
}

function OpenUlAftervalidation(openul) {
    
    if (openul == 'j$chkSoJur') return 'sublistTxtJuris';
    if (openul == 'l$chkSoLeg') return 'sublistTxtLegis';
    if (openul == 'd$chkSoDoc') return 'sublistTxtDoc';
    return;
}

// griser les zones non accessibles (radio button)
function DisableUnusedField(sublistText) {
    //alert(sublistText);
    if (sublistText == 'sublistTxtLegis' && $('#sublistTxtLegis input:radio:checked').length == 0) {
        $('#sublistTxtLegis input:radio').first().attr('checked', true);
    }
    if (sublistText == 'sublistTxtDoc' /*&& $('#sublistTxtDoc input:radio:checked').length == 0*/) {
        DisableOptionalFieldset();
    }
    //alert(sublistText + " : " +$('#' + sublistText + ' input:radio:checked').length);
    $('#' + sublistText + ' input:radio:checked').each(function () {        
        $(this).click();
    });
    disabledDateField(sublistText);
}

function DisableOptionalFieldset() {
    //$('#source-actus :input:not(.radio)').attr('disabled', true);
    //$('.datepicker').datepicker("disable");     
    //$('#source-revues :input:not(.radio)').attr('disabled', true);
    ActiveReference($(document.getElementById("d$nTexte2")).val(), "REVUES")
}

function replierDeplier(noeud) {
   
    // Déplier un formulaire
    if ($(noeud).next().hasClass('sources-tree-replie')) {
        // Masquer les autres
        $('.sources-tree').addClass('sources-tree-replie').removeClass('sources-tree-deplie').next().hide('fast');
        $('.sources-tree').next().each(function () {            
            $('#' + $(this).attr('id') + ' input, #' + $(this).attr('id') + ' select').each(function () {
                $(this).attr('disabled', true); 
            });
        });
        // Afficher le formulaire
        $(noeud).next().toggleClass('sources-tree-replie').toggleClass('sources-tree-deplie').next().show('fast');
        //reactiver les champs cochés précédemment
        $('#' + $(noeud).next().next().attr('id') + ' input, #' + $(noeud).next().next().attr('id') + ' select').each(function () {
            $(this).attr('disabled', false);
        });        
        DisableUnusedField($(noeud).next().next().attr('id'));
          
    }
    // Replier
    else {
        $(noeud).next().toggleClass('sources-tree-replie').toggleClass('sources-tree-deplie').next().hide('fast');
        $(noeud).attr('checked', false);
        // desactiver tous les champs de saisie en meme temps
        $('#' + $(noeud).next().next().attr('id') + ' input, #' + $(noeud).next().next().attr('id') + ' select').each(function () {
            $(this).attr('disabled', true);
        });       
    }
    checkRadiosArbre();

}
/* Vérifier l'etat de l'arbre et reporter sur les radios */
function checkRadiosArbre() {

    $('#fsSource input.choix-source:radio').each(function () {	
			if($(this).next().hasClass('sources-tree-deplie'))
				$(this).attr('checked', true);
			else
				$(this).attr('checked', false);
		});
}

function disabledDateField(sublistText) {

    if (sublistText == 'sublistTxtJuris' && $('#sublistTxtJuris select.operator').val() != "entre") {
        document.getElementById('j$t18').disabled = true;
        document.getElementById('j$t19').disabled = true;
        document.getElementById('j$t20').disabled = true;
      } else if (sublistText == 'sublistTxtJuris') {
        document.getElementById('j$t18').disabled = false;
        document.getElementById('j$t19').disabled = false;
        document.getElementById('j$t20').disabled = false;
    }
    if (sublistText == 'sublistTxtLegis' && $('#sublistTxtLegis select.operator').val() != "entre") {
        document.getElementById('l$t8').disabled = true;
        document.getElementById('l$t9').disabled = true;
        document.getElementById('l$t10').disabled = true;
    } else if (sublistText == 'sublistTxtLegis') {
        document.getElementById('l$t8').disabled = false;
        document.getElementById('l$t9').disabled = false;
        document.getElementById('l$t10').disabled = false;
    }
    if (sublistText == 'sublistTxtDoc' && $('#sublistTxtDoc select.operator').val() != "entre") {       
        document.getElementById('d$auDatejj').disabled = true;
        document.getElementById('d$auDatemm').disabled = true;
        document.getElementById('d$auDateaa').disabled = true;
        //$(document.getElementById('d$auDateAa')).datepicker("disable");
    } else if (sublistText == 'sublistTxtDoc') {
//        if ($('#rRevue').attr('checked') == true) {
            document.getElementById('d$auDatejj').disabled = false;
            document.getElementById('d$auDatemm').disabled = false;
            document.getElementById('d$auDateaa').disabled = false;
            //$(document.getElementById('d$auDateAa')).datepicker("enable");
//        }
    }
}
                             
function JurisChangeClickSimuler(id) {                                    
    try {//pour ie
        document.getElementById(id).click();
    } catch (e) {//pour ff
        var evt = document.createEvent("MouseEvents"); // créer un évennement souris
        evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);  // intiailser l'évennement déja crée par un click
        var cb = document.getElementById(id); // pointe sur l'élement
        cb.dispatchEvent(evt);  // envoyer l'évennement vers l'élement
    }    
}



/* Fonction JOUVES
Passe automatiquement d'un champ à un nautre dans les dates
*/

function dateKeyUp(oThis, idPrev, idNext) {
    var keyCode;

    //IE
    if (window.event)
        keyCode = window.event.keyCode;
    //NS - FFOX
    //else
    //keyCode = event.which;

    //si backspace
    if (keyCode == 8) {

        if (oThis.value.length == 0 && idPrev != null) {
            document.getElementById(idPrev).focus();
            document.getElementById(idPrev).select();
        }
    }
    else {
        if (oThis.value.length == oThis.maxLength && idNext != null)
            if (!document.getElementById(idNext).disabled) {
                document.getElementById(idNext).focus();
            }
    }
}
