function switchOption(source, cible, tri)
{

    var ObjectSource = document.getElementById(source);
    var ObjectCible = document.getElementById(cible);
    var index = null;
    var option = null;
    while (ObjectSource.selectedIndex > -1)
    {
        index = ObjectSource.selectedIndex;
        option = ObjectSource.options[index];
        if (option.value != '')
        {
            ObjectCible.options[ObjectCible.options.length] = new Option(option.text, option.value);
            ObjectSource.options[index] = null;
        }
        else {
            ObjectSource.options[index].selected = false;
        }
    }

    if (tri)
    {
        triSelect(source);
        triSelect(cible);
    }
}

/**
 * 
 * Cette fonction va permettre de gérer l'affichage dans le 3 ème affichage de la recherche article 
 * avec pour nom 'Accèder Rayon' 
 * Soit une gestion dynamique pour la fermeture et l'ouverture sur rayons de l'article
 * 
 * @return VOID 
 */
function myId(id, champId, textFermer, textOuvert)
{
    var vl = document.getElementById(id);
    var ariane = champId.lastChild; 
    var title  = champId.firstChild;

    
    document.getElementById(title.id).innerHTML= textFermer;

    if(vl.hasAttribute('name')== false)
    {
        document.getElementById(title.id).innerHTML= textFermer;
        document.getElementById(ariane.id).removeAttribute('style');
        document.getElementById(ariane.id).style.display = 'visible'
        document.getElementById(ariane.id).style.color ='#7f8c8d';

        vl.setAttribute('name', '0');
    }
    else
    {
        vl.removeAttribute('name');
        document.getElementById(title.id).innerHTML= textOuvert;
        document.getElementById(ariane.id).style.display = 'none'; 
    }

}


function SelectAllNone(source, form, mode) {
    var ObjectSource = document.getElementById(source);
    if (ObjectSource) {
        for (var icpt = 0;
                icpt < ObjectSource.options.length;
                icpt++) {
			//ObjectSource.options[icpt].selected = mode;	
			var input = document.createElement("input");
			input.setAttribute("type", "hidden");
			input.setAttribute("name", source+icpt);
			input.setAttribute("value", ObjectSource.options[icpt].value);
			document.getElementById(form).appendChild(input);
        }
        return true;
    }
}
function triSelect(source) {
    var select = document.getElementById(source);
    var tmp = new Array();
    for (var i = 0;
            i < select.options.length;
            i++) {
        tmp[i] = new Array(String(select.options[i].text).toUpperCase(), select.options[i].value);
    }
    tmp.sort();
    document.getElementById(source).options.length = 0;
    for (i = 0;
            i < tmp.length;
            i++) {
        var option = new Option(tmp[i][0], tmp[i][1]);
        document.getElementById(source).options[document.getElementById(source).options.length] = option;
    }
}
function putFilterOnList(chaine, source, tmp, action, bouton_filtrer, bouton_annuler) {
    var source = document.getElementById(source);
    var tmp = document.getElementById(tmp);
    if (action == 'filtrer') {
        var array_filtr = new Array();
        document.getElementById(tmp).innerHTML = '';
        for (var i = 0;
                i < source.options.length;
                i++) {
            if (String(source.options[i].text).indexOf(chaine) > 0) {
                array_filtr[i] = new Array(String(select.options[i].text), select.options[i].value);
            }
            var option = new Option(select.options[i].text, select.options[i].value);
            tmp.options[tmp.options.length] = option;
        }
        document.getElementById(source).innerHTML = '';
        for (var i = 0;
                i < array_filtr.length;
                i++) {
            var option = new Option(array_filtr[i][0], array_filtr[i][1]);
            source.options[source.options.length] = option;
        }
        document.getElementById(bouton_filtrer).style.display = 'none';
        document.getElementById(bouton_annuler).style.display = '';
    }
    else if (action == 'annuler') {
        document.getElementById(bouton_filtrer).style.display = '';
        document.getElementById(bouton_annuler).style.display = 'none';
    }
}
function collapseExpandMenu(id_menu, id_bouton, reduire_img, title_reduire, develop_img, title_develop) {
    jQuery('#' + id_menu).toggle();
    jQuery('#' + id_bouton).toggleClass(reduire_img).toggleClass(develop_img);
    jQuery('#' + id_bouton).prop('title', jQuery('#' + id_bouton).hasClass(reduire_img) ? title_reduire : title_develop);
}

function collapseExpandMenuOuvrir(id_menu, id_bouton, reduire_img, title_reduire, develop_img, title_develop, stateOpen, stateClose) {
    jQuery(document.getElementById(id_menu)).toggle();
    jQuery(document.getElementById(id_bouton)).text(jQuery('#' + id_bouton).text().trim() === stateOpen ? stateClose : stateOpen);
}

function collapseExpandMenuVisualisation(idMenu, idIFrameVisu, urlVisu, libOuvrir, libFermer) {
	document.getElementById(idIFrameVisu).src = urlVisu;
	jQuery(document.getElementById(idIFrameVisu)).toggle();
	jQuery(document.getElementById(idMenu)).text(jQuery('#' + idMenu).text().trim() === libOuvrir ? libFermer : libOuvrir);
}

function collapseExpandMenuAndSetAction(id_menu, id_bouton, reduire_img, title_reduire, develop_img, title_develop, action_afficher, action_masquer, idIFrameVisu) {
    if (!document.getElementById(id_menu).statut) {
        document.getElementById(id_menu).statut = "first";
    }

    var blocDocumentId = jQuery(document.getElementById(id_menu)).parents('.blocDocument').first();

    var btn = blocDocumentId.find('.openligne button').first();
    if (document.getElementById(id_menu).statut == "masque" || document.getElementById(id_menu).statut == "first") {
        document.getElementById(id_menu).style.display = '';
        btn.text(title_reduire);
        if (document.getElementById(id_menu).statut == "first")
            eval(action_afficher);
        document.getElementById(id_menu).statut = "visible";
    } else {
        document.getElementById(id_menu).style.display = 'none';
        btn.text(title_develop);
        document.getElementById(id_menu).statut = "masque";
    }	
    blocDocumentId.find('.liste_cs').first().toggle();
    blocDocumentId.find('.opencs').first().toggle(200);
    if (blocDocumentId.find('.openTooltipCntOff').length > 1) {
        openTooltipRoue();
        boutonOpenCS();
    }
}

function openTooltipRoue()
{
    jQuery('.openTooltipCntOff').parent('.openTooltip').off('click').click(function() {

        var elm = this;
        jQuery(elm).off('click');
        jQuery('.openTooltipCntOff').hide(200);
        jQuery(elm).find('.openTooltipCntOff:first').show(200);
        
        jQuery(elm).off('mouseleave').mouseleave(function() {

            var to = setTimeout(function() {
                jQuery(elm).find('.openTooltipCntOff:first').hide(200);
                jQuery(elm).off('mouseleave');
                openTooltipRoue();
            }, 1000);
            
            jQuery(elm).off('mouseover').mouseover(function() { clearTimeout(to); } );
        });
    });
}

function boutonOpenCS()
{
    jQuery('.opencs').off('click').click(function() {
        var parent = jQuery(this).parents('.blocDocument').first();

        jQuery(this).toggleClass('toggle');
        parent.find('.cl_browse:first > .cs_ligne_document').toggle();
    });
}

function changeSizeListe(id_liste, id_bouton, reduire_img, title_reduire, develop_img, title_develop, size_min, size_max) {
    if (document.getElementById(id_liste).size == size_min) {
        document.getElementById(id_liste).size = size_max;
        document.getElementById(id_bouton).src = reduire_img;
        document.getElementById(id_bouton).title = title_reduire;
    }
    else {
        document.getElementById(id_liste).size = size_min;
        document.getElementById(id_bouton).src = develop_img;
        document.getElementById(id_bouton).title = title_develop;
    }
}
function supprimeDoubleOnSelect(id_select) {
    var array = new Array();
    var source = document.getElementById(id_select);
    var compteur = 0;
    for (var i = 0;
            i < source.options.length;
            i++) {
        var item_id = source.options[i].value;
        compteur = 0;
        for (var j = 0;
                j < source.options.length;
                j++) {
            if (source.options[j].value == item_id) {
                compteur++;
                if (compteur >= 2) {
                    source.options[i] = null;
                    i = 0;
                }
            }
        }
    }
    triSelect(id_select);
}
function init2SelectAvecDifferenciel(id_source, id_cible) {
    var source = document.getElementById(id_source);
    var cible = document.getElementById(id_cible);
    for (var i = 0;
            i < source.options.length;
            i++) {
        var item_id = source.options[i].value;
        for (var j = 0;
                j < cible.options.length;
                j++) {
            if (cible.options[j].value == item_id) {
                source.options[i] = null;
                i = 0;
                j = 0;
                break;
            }
        }
    }
    triSelect(id_source);
}
function countNbOptionInSelect(id_select) {
    return document.getElementById(id_select).options.length;
}
function switchOptionWithDifferentiel(id_reference, id_processing, id_source, id_cible, action) {
    if (document.getElementById(id_processing).selectedIndex > -1) {
        var source = document.getElementById(id_source);
        var cible = document.getElementById(id_cible);
        var processing = document.getElementById(id_processing);
        var option = processing.options[processing.selectedIndex];
        var reference = document.getElementById(id_reference);
        var trouve = false;
        for (var i = 0;
                i < reference.options.length;
                i++) {
            if (reference.options[i].value == option.value) {
                trouve = true;
                break;
            }
        }
        if ((action == 'ajout' && !trouve) || (action == 'retrait' && trouve)) {
            cible.options[cible.options.length] = new Option(processing.options[processing.selectedIndex].text, processing.options[processing.selectedIndex].value);
        }
        for (var i = 0;
                i < source.options.length;
                i++) {
            if (source.options[i].value == option.value) {
                source.options[i] = null;
                break;
            }
        }
    }
}
function switchCheckBox(array, enableIfTrue, isActif) {
    
    for (var i = 1;
            i < array.length;
            i++) {
        if (document.getElementById(array[i])) {
            if (enableIfTrue) {
                if (document.getElementById(array[0]).checked == true) {
                    document.getElementById(array[i]).disabled = false;
                    if (document.getElementById(array[i]).type == "checkbox" || document.getElementById(array[i]).type == "radio") {
                        document.getElementById(array[i]).checked = true;
                    }
                    else {
                        if (document.getElementById(array[i]).type == "text") {
                            document.getElementById(array[i]).value = '';
                            //document.getElementById(array[i]).className = '';
                        }
                    }
                    if (isActif==null) 
                    	document.getElementById(array[i]).disabled = false;
                    else
                    	document.getElementById(array[i]).disabled = ! isActif;
                }
                else {
                    document.getElementById(array[i]).disabled = false;
                    if (document.getElementById(array[i]).type == "checkbox" || document.getElementById(array[i]).type == "radio") {
                        document.getElementById(array[i]).checked = false;
                    }
                    else {
                        if (document.getElementById(array[i]).type == "text") {
                            document.getElementById(array[i]).value = '';
                            //document.getElementById(array[i]).className = 'champDesactive';
                        }
                    }
                    if (isActif==null) 
                    	document.getElementById(array[i]).disabled = true;
                    else
                    	document.getElementById(array[i]).disabled = ! isActif;
                }
            }
            else {
                if (document.getElementById(array[0]).checked == true) {
                    document.getElementById(array[i]).disabled = false;
                    if (document.getElementById(array[i]).type == "checkbox" || document.getElementById(array[i]).type == "radio") {
                        document.getElementById(array[i]).checked = false;
                    }
                    else {
                        if (document.getElementById(array[i]).type == "text") {
                            document.getElementById(array[i]).value = '';
                            //document.getElementById(array[i]).className = 'champDesactive';
                        }
                    }
                    if (isActif==null) 
                    	document.getElementById(array[i]).disabled = true;
                    else
                    	document.getElementById(array[i]).disabled = ! isActif;
                }
                else {
                    if (document.getElementById(array[i]).type == "checkbox" || document.getElementById(array[i]).type == "radio") {
                        document.getElementById(array[i]).checked = false;
                    }
                    else {
                        if (document.getElementById(array[i]).type == "text") {
                            document.getElementById(array[i]).value = '';
                            //document.getElementById(array[i]).className = '';
                        }
                    }
                    if (isActif==null) 
                    	document.getElementById(array[i]).disabled = false;
                    else
                    	document.getElementById(array[i]).disabled = ! isActif;
                }
            }
        }
    }
    return true;
}
function switchDisplayZoom(id_check, zone_value, zone_zoom, zone_libelle) {
    if (document.getElementById(id_check) && document.getElementById(zone_value)) {
        if (!document.getElementById(id_check).checked) {
            if (document.getElementById(zone_libelle)) {
                document.getElementById(zone_libelle).innerHTML = '';
            }
            if (document.getElementById(zone_zoom)) {
                document.getElementById(zone_zoom).style.display = 'none';
            }
            if (document.getElementById(zone_value)) {
                //document.getElementById(zone_value).className = 'champDesactive';
            }
        }
        else {
            if (document.getElementById(zone_zoom)) {
                document.getElementById(zone_zoom).style.display = '';
            }
            if (document.getElementById(zone_value)) {
                //document.getElementById(zone_value).className = 'champActif';
            }
        }
    }
}
function changeDisplay(id, visible) {
    if (document.getElementById(id)) {
        if (visible) {
            document.getElementById(id).style.display = '';
        }
        else {
            document.getElementById(id).style.display = 'none';
        }
    }
    /*		else if (Oxa_getDevice().document.getElementById(id)) {
     if (visible) {
     Oxa_getDevice().document.getElementById(id).style.display = '';
     }
     else {
     Oxa_getDevice().document.getElementById(id).style.display = 'none';
     }		
     }*/
}
function changeVisibility(id, visible) {
    if (document.getElementById(id)) {
        if (visible) {
            document.getElementById(id).style.display = '';
        }
        else {
            document.getElementById(id).style.display = 'none';
        }
    }
}
function switchDisplay(id) {
    if (document.getElementById(id)) {
        if (document.getElementById(id).style.display == 'none') {
            document.getElementById(id).style.display = '';
        }
        else {
            document.getElementById(id).style.display = 'none';
        }
    }
}
function displayElementHideOthers(id, array_id_to_hide) {
    if (document.getElementById(id)) {
        if (document.getElementById(id).style.display == 'none') {
            document.getElementById(id).style.display = '';
        }
        else {
            document.getElementById(id).style.display = 'none';
        }
    }
    for (var i = 0;
            i < array_id_to_hide.length;
            i++) {
        if (document.getElementById(array_id_to_hide[i]) && array_id_to_hide[i] != id) {
            document.getElementById(array_id_to_hide[i]).style.display = 'none';
        }
    }
}
function setValueForElement(id, value) {
    if (document.getElementById(id)) {
        document.getElementById(id).value = value;
        return true;
    }
}
function supprimerElemRecherche()
{
    document.getElementById('texte_recherche').value = ''; 
}
function controlLengthText(id, limite, message) {
    if (document.getElementById(id)) {
        var champ = document.getElementById(id);
        if (champ.value.length > limite) {
            champ.value = champ.value.substring(0, limite);
            alert(message);
        }
    }
}

function IsDisplay(id, object) {
    if (document.getElementById(id)) {
        if (document.getElementById(id).style.display != "none") {
            return true;
        }
        else {
            if (object) {
                var objParent = object.parentNode;
                var objScan = objParent.firstChild;
                while (objScan) {
                    // IsDisplay
                    var listeClass = objScan.className.split(" ");
                    var sClass = '';
                    for (var i = 0; i < listeClass.length; i++)
                        if (listeClass[i] != 'select')
                            sClass += (sClass == '' ? '' : ' ') + listeClass[i];

                    objScan.className = sClass + (object == objScan ? (sClass == '' ? '' : ' ') + 'select' : '');

                    objScan = objScan.nextSibling;
                }
            }
            return false;
        }
    }
}

function SetInnerHTML(id, html) {
    if (document.getElementById(id)) {
        document.getElementById(id).innerHTML = html;
    }
}
function createMyCalendar(id) {
    var mon_calendrier = new GnooCalendar('calendrier_' + id, 10, 0);
    'calendrier_' + id.init('calend', document.getElementById(id));
    'calendrier_' + id.isDragable(false);
    return mon_calendrier;
}
function setCasseFieldTxt(object, casse) {
    if (object && "text" == object.type) {
        if ("lower" == casse) {
            object.value = object.value.toLowerCase();
        }
        else {
            object.value = object.value.toUpperCase();
        }
    }
}
function searchValueInSelect(monform, maValeur) {
    if (monform) {
        for (var i = 0;
                i < monform.elements.length;
                i++) {
            if ("select-one" == monform.elements[i].type && maValeur == monform.elements[i].value) {
                return true;
            }
        }
        return false;
    }
    return false;
}
function suitchColorBackgroundOnMouse(id, type_event, class_onmouseover, class_onmouseout, class_onclick) {
    if (document.getElementById(id)) {
        var objet = document.getElementById(id);
        if ("onclick" == type_event) {
            objet.className = class_onclick;
        }
        else if ("onmouseover" == type_event) {
            if (objet.className != class_onclick) {
                objet.className = class_onmouseover;
            }
        }
        else if ("onmouseout" == type_event) {
            if (objet.className != class_onclick) {
                objet.className = class_onmouseout;
            }
        }
    }
}
function TrapKey(evt, codeEvent, action) {
    evt = (evt) ? evt : (window.event) ? event : null;
    if (evt) {
        var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode : ((evt.which) ? evt.which : 0));
        if (charCode == codeEvent) {
            eval(action);
        }
    }
}
function countCheckBox(form, name, checked) {
    compteur = 0;
    if (document.forms[form]) {
        for (var i = 0;
                i < document.forms[form].elements.length;
                i++) {
            if (String(document.forms[form].elements[i].name).search(name) != -1 && document.forms[form].elements[i].type == "checkbox" && document.forms[form].elements[i].checked == checked) {
                compteur++;
            }
        }
    }
    return compteur;
}
function switchCheckBoxBySearchName(form, name, checked, name_except)
{
    if (document.forms[form])
    {
        for (var i = 0; i < document.forms[form].elements.length; i++)
        {
            if (document.forms[form].elements[i].type == "checkbox" && document.forms[form].elements[i].disabled == '')
            {
                if (document.forms[form].elements[i].name != '' && String(document.forms[form].elements[i].name).search(name) != -1 && document.forms[form].elements[i].name != name)
                {
                    document.forms[form].elements[i].checked = checked;
                }

                if (document.forms[form].elements[i].name == name_except)
                {
                    document.forms[form].elements[i].checked = !checked;
                }
            }
        }

        return true;
    }

    return false;
}
function getValueElementById(id) {
    if (document.getElementById(id)) {
        return document.getElementById(id).value;
    }
}
function updatePositionDiv(id, bottom, right) {
    if (document.getElementById(id)) {
        var div = document.getElementById(id);
        div.style.borderBottom = bottom;
        div.style.borderRight = right;
    }
}

function isNumPageValide(variable) {
    var exp = new RegExp("^[0-9]+$", "g");
    return exp.test(variable);
}
function hideDivFlashMessage() {
    new Effect.SlideUp('div_message_flash', {
        duration: 2
    }
    );
}
function slideDivLeft(id, duree) {
    Effect.SlideUp(id, {
        duration: duree, scaleX: true, scaleY: false
    }
    );
}
function slideDivRight(id, duree) {
    Effect.SlideDown(id, {
        duration: duree, scaleX: true, scaleY: false
    }
    );
}
function slideDivUp(id, duree) {
    Effect.SlideUp(id, {
        duration: duree
    }
    );
}
function slideDivDown(id, duree) {
    Effect.SlideDown(id, {
        duration: duree
    }
    );
}
function enregistrerConfigMenu(id_ul_menu) {
    var elementMenu = new String();
    racine_menu = document.getElementById(id_ul_menu);
    for (var i = 0;
            i < racine_menu.childNodes.length;
            i++) {
        if (racine_menu.childNodes[i].nodeName == "LI") {
            elementMenu += "|" + racine_menu.childNodes[i].getAttribute("id");
        }
    }
    CallUrl('session_user.php?action=setConfigMenuIpad&menu=' + elementMenu)
}
var orderMenu = null;
function orderMainMenu(id_ul_menu) {
    //var orderMenu=GetCookie("configMenuIpad");
    CallUrl('session_user.php?action=getConfigMenuIpad');
    if (null != orderMenu) {
        var array_menu = orderMenu.split(new RegExp("[|]+", "g"));
        var racine_menu = document.getElementById(id_ul_menu);
        var new_menu = new Array();
        for (var i = 0;
                i < array_menu.length;
                i++) {
            if (document.getElementById(array_menu[i])) {
                new_menu.push(document.getElementById(array_menu[i]));
                racine_menu.removeChild(document.getElementById(array_menu[i]));
            }
        }
        for (var i = 0;
                i < racine_menu.childNodes.length;
                i++) {
            if (racine_menu.childNodes[i].nodeName == "LI") {
                new_menu.push(racine_menu.childNodes[i]);
                racine_menu.removeChild(racine_menu.childNodes[i]);
            }
        }
        for (var i = 0;
                i < new_menu.length;
                i++) {
            racine_menu.appendChild(new_menu[i]);
        }
    }
}
function setCookie(name, value) {
    var aujourdhui = new Date();
    var expdate = new Date();

    expdate.setTime(aujourdhui.getTime() + (365 * 24 * 60 * 60 * 1000));

    document.cookie = name + "=" + value + ";expires = " + expdate.toGMTString();
}
function GetCookie(name) {
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    while (i < clen) {
        var j = i + alen;
        if (document.cookie.substring(i, j) == arg)
            return getCookieVal(j);
        i = document.cookie.indexOf(" ", i) + 1;
        if (i == 0)
            break;
    }
    return null;
}
function getCookieVal(offset) {
    var endstr = document.cookie.indexOf(";", offset);
    if (endstr == -1)
        endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}
function setFloatOnList(elementRacine, type_float) {
    for (var i = 0;
            i < elementRacine.childNodes.length;
            i++) {
        if (elementRacine.childNodes[i].nodeName == "LI") {
            elementRacine.childNodes[i].style.diplay = 'inline';
            elementRacine.childNodes[i].style.width = '200px';
            elementRacine.childNodes[i].style.float = type_float;
        }
    }
}
function countTypeElementInContainer(container, type_element) {
    if (document.getElementById(container)) {
        racine = document.getElementById(container);
        var nb = 0;
        for (var i = 0;
                i < racine.childNodes.length;
                i++) {
            if (racine.childNodes[i].nodeName.toUpperCase() == type_element.toUpperCase()) {
                nb++;
            }
        }
        return nb;
    }
}
function saveConfigPanelRecherche() {
    var chaine_config_panel = "";
    if (document.getElementById('div_panel_rech_1')) {
        chaine_config_panel = "div_panel_rech_1=";
        var racine_panel = document.getElementById('div_panel_rech_1');
        for (var i = 0;
                i < racine_panel.childNodes.length;
                i++) {
            if (racine_panel.childNodes[i].nodeName.toUpperCase() == "DIV") {
                chaine_config_panel += ", " + racine_panel.childNodes[i].getAttribute("id");
            }
        }
        chaine_config_panel += "|";
    }
    if (document.getElementById('div_panel_rech_3')) {
        chaine_config_panel += "div_panel_rech_3=";
        var racine_panel = document.getElementById('div_panel_rech_3');
        for (var i = 0;
                i < racine_panel.childNodes.length;
                i++) {
            if (racine_panel.childNodes[i].nodeName.toUpperCase() == "DIV") {
                chaine_config_panel += ", " + racine_panel.childNodes[i].getAttribute("id");
            }
        }
        chaine_config_panel += "|";
    }
    if (document.getElementById('div_panel_rech_2_3')) {
        chaine_config_panel += "div_panel_rech_2_3=";
        var racine_panel = document.getElementById('div_panel_rech_2_3');
        for (var i = 0;
                i < racine_panel.childNodes.length;
                i++) {
            if (racine_panel.childNodes[i].nodeName.toUpperCase() == "DIV") {
                chaine_config_panel += ", " + racine_panel.childNodes[i].getAttribute("id");
            }
        }
        chaine_config_panel += "|";
    }
    if (document.getElementById('ul_panel_rech_2')) {
        chaine_config_panel += "ul_panel_rech_2=";
        var racine_panel = document.getElementById('ul_panel_rech_2');
        for (var i = 0;
                i < racine_panel.childNodes.length;
                i++) {
            if (racine_panel.childNodes[i].nodeName.toUpperCase() == "LI") {
                chaine_config_panel += ", " + racine_panel.childNodes[i].getAttribute("id");
            }
        }
    }
    CallUrl('session_user.php?action=setConfigPanelRechIpad&menu=' + chaine_config_panel);
    var configRech = null;
    function orderConfigPanelRechArt() {
        CallUrl('session_user.php?action=getConfigPanelRechIpad');
        if (null != configRech) {
            configRech = configRech.split(new RegExp("[\|]+", "g"));
            for (var i = 0;
                    i < configRech.length;
                    i++) {
                var configPanel = configRech[i].split(new RegExp("[=]+", "g"));
                var id_panel = configPanel[0];
                if (configPanel[1] != null) {
                    var configPanel = configPanel[1].split(new RegExp("[,]+", "g"));
                    var new_panel = new Array();
                    if (configPanel instanceof Array) {
                        if (document.getElementById(id_panel)) {
                            var panel = document.getElementById(id_panel);
                            for (var j = 0;
                                    j < configPanel.length;
                                    j++) {
                                if (document.getElementById(configPanel[j])) {
                                    new_panel.push(document.getElementById(configPanel[j]));
                                    var panel_source = document.getElementById(configPanel[j]).parentNode;
                                    panel_source.removeChild(document.getElementById(configPanel[j]));
                                }
                            }
                            if ("div_panel_rech_1" == id_panel || "div_panel_rech_3" == id_panel) {
                                type_element = "DIV";
                            }
                            else if ("div_panel_rech_2_3" == id_panel) {
                                type_element = "LI";
                            }
                            for (var k = 0;
                                    k < panel.childNodes.length;
                                    k++) {
                                if (panel.childNodes[k].nodeName.toUpperCase() == type_element) {
                                    new_panel.push(panel.childNodes[k]);
                                    panel.removeChild(panel.childNodes[k]);
                                }
                            }
                            for (var n = 0;
                                    n < new_panel.length;
                                    n++) {
                                panel.appendChild(new_panel[n]);
                            }
                        }
                    }
                }
            }
        }
        changeDisplay("td_panel_rech_1", countTypeElementInContainer("div_panel_rech_1", "DIV") != 0);
        changeDisplay("div_panel_rech_3", countTypeElementInContainer("div_panel_rech_3", "DIV") != 0);
    }
}

// à supprimer
function disableCheckBoxForSign(champ) {
    var form = champ.form;
    if (champ.checked) {
		// Si la case est cochée, on déasctive toutes les case qui n'ont pas le même type (DA, CDE, ou BAP)
        for (var i = 0; i < form.elements.length; i++) {
            if (champ.value != form.elements[i].value) {
                form.elements[i].disabled = true;
            } else {
                form.elements[i].disabled = false;
            }
        }
    } else {
		// Si la case est décochée :
		//     on compte le nombre de cases de même type qui sont cochées
        var doc_checked = 0;
        for (var i = 0; i < form.elements.length; i++) {
            if (champ.value == form.elements[i].value && form.elements[i].checked) {
                doc_checked++;
            }
		}
		//     s'il n'y en a pas, on réactive toutes les cases à cocher
        if (0 == doc_checked) {
            for (var i = 0; i < form.elements.length; i++) {
                form.elements[i].disabled = false;
            }
        }
    }
}


function getEventIdElement(evt)
{
    var srcElement = evt.srcElement ? evt.srcElement : evt.target;
    return srcElement.id;
}



function isElementContainsString(id, string_search)
{
    if (document.getElementById(id))
    {
        var content = document.getElementById(id).innerHTML;
        return (null != content.match(string_search));
    }
    else
    {
        return false;
    }
}





/**
 *  Fonction permettant de gérer l'affichage des rayons et des sous rayons associés.
 *  @param id_rayon : Identifiant du rayon sur lequel l'utilisateur clique
 *  @param couleur  : Couleur associée au rayon 
 **/
var timeoutID = null;
function cleartTimeoutRayon() {
    window.clearTimeout(timeoutID);
}

function gestionAffichageRayon(object, id_rayon, couleur) {
	if (object.className=='rayonSansEvenement')
		object.style.color='inherit';
	else
	   object.style.color=couleur;

	if (document.getElementById(object.id).className === 'rayonAvecEvenement') {
		cleartTimeoutRayon();
		timeoutID = window.setTimeout("gestionAffichageRayonDesc('" + object.id + "','" + id_rayon + "','" + couleur + "')", 300);
	}
}

function effaceSousRayon(evt, object) {
    var srcElement = evt.srcElement ? evt.srcElement : evt.target;

    while (srcElement) {
        if (srcElement == document.getElementById(object))
            return;
        srcElement = srcElement.parentNode;
    }

    cleartTimeoutRayon();
    var objectCible = document.getElementById('id_detail_rayon');

    if (objectCible)
        objectCible.style.display = "none";
}
function gestionAffichageRayonDesc(id_base, id_rayon, couleur)
{
    var objectBase = document.getElementById(id_base);
    if (objectBase) {
        var objectCible = document.getElementById('id_detail_rayon');
        if (objectCible) {
            objectCible.style.display = "block";
            var marge = objectBase.parentNode.parentNode.parentNode.firstChild.offsetWidth;
            if (objectBase.parentNode.offsetWidth / 2 > objectBase.offsetLeft) {
                objectCible.style.left = objectBase.offsetLeft + 'px';
                objectCible.style.right = null;

                if (objectCible.offsetLeft + objectCible.offsetWidth + marge > objectBase.parentNode.offsetWidth) {
                    var newLeft = objectBase.parentNode.offsetWidth - objectCible.offsetWidth;
                    if (newLeft < marge)
                        newLeft = marge;
                    objectCible.style.left = newLeft + 'px';
                    //console.log(objectCible.offsetLeft + objectCible.offsetWidth);
                }
            }
            else {
                var right = (objectBase.parentNode.offsetWidth - objectBase.offsetLeft - objectBase.offsetWidth) + marge * 2;
                objectCible.style.right = right + 'px';
                objectCible.style.left = null;

                if (right + objectCible.offsetWidth + marge > objectBase.parentNode.offsetWidth) {
                    var newRight = objectBase.parentNode.offsetWidth - objectCible.offsetWidth;
                    if (newRight < marge)
                        newRight = marge;
                    objectCible.style.right = newRight + 'px';
                }
            }
        }
    }
    CallUrlAsync('recherche_article.php?action=panelSousRayon', 'code_rayon=' + id_rayon + '&largeurTotale=' + document.getElementById('id_detail_rayon').offsetWidth);
}


function setValueSelectElement(id, valueToSelect)
{
    if (document.getElementById(id))
    {
        var elementSelect = document.getElementById(id);
        for (var i = 0; i < elementSelect.options.length; i++)
        {
            if (valueToSelect == elementSelect.options[i].value)
            {
                elementSelect.selectedIndex = i;
                break;
            }
        }
    }
}




function setAttribut(id, attribut, value)
{
    if (document.getElementById(id))
    {
        document.getElementById(id).setAttribute(attribut, value);
        return true;
    }
    else
    {
        return false;
    }
}



function desactiverFiltrePanel()
{
    var formulaireRech = document.forms.frm_saisie_panier;
    for (var i = 0; i < formulaireRech.elements.length; i++)
    {
        if ("panel_" == formulaireRech.elements[i].name.substring(0, 6))
        {
            formulaireRech.elements[i].checked = false;
        }
    }
}



function relanceRechSansFiltre()
{
    desactiverFiltrePanel();
    document.getElementById('btn_rechercher').click();
}



var divActif = "";
var timeDivActif = null;
function setVsible(id, mode) {
    var object = getObj(id);
    if (object) {
        if (mode) {
            try {
                if (divActif == id) {
                    window.clearTimeout(timeDivActif);
                    divActif = "";
                }
            }
            catch (e) {
            }

            object.style.visibility = 'visible';
        }
        else {
            divActif = id;
            timeDivActif = setTimeout("setHiddenZone('" + id + "');", 2);
        }
    }
}

function setHiddenZone(id) {
    var object = getObj(id);
    if (object.style.visibility != 'hidden') {

        object.style.visibility = 'hidden';
    }
}

function ValidationRecherche(evt) {
    var obj = (window.event ? evt.srcElement : evt.target);
    if (obj.tagName == 'INPUT') {
        if (obj.name.indexOf('qte_') == 0) {
            ValideQte(evt);
        }
        else
        if (obj.name.indexOf('texte_recherche') == 0) {
            document.getElementById('btn_rechercher').click();
        }
    }
}

var messageAsync;
function alertAsync(message) {
    messageAsync = message;
    window.setTimeout("AfficheAlerte();", 2);
}
function AfficheAlerte() {
    alert(messageAsync);
}

function controleAffiche(id_img, id_table, flgOpen) {
    try {
        var forecOpen = false;
        if (flgOpen) {
            forecOpen = true;
        }


        var objImage = getObj(id_img);
        if (objImage) {
            var srcActif = objImage.getAttribute('src');
            var srcOpen = objImage.getAttribute('_srcopen');
            var srcClose = objImage.getAttribute('_srcclose');
            var objTable = getObj(id_table);
            if (objTable) {
                if ((flgOpen) || objTable.style.display == 'none') {
                    objImage.src = srcActif.replace(srcOpen, srcClose);
                    objTable.style.display = 'inline-table';
                }
                else {
                    objImage.src = srcActif.replace(srcClose, srcOpen);
                    objTable.style.display = 'none';
                }
            }
        }
    }
    catch (e) {
    }
}

function prepareOnglets(clHead, clContent)
{
    clHead = '#' + clHead;
    clContent = '#' + clContent;
    jQuery(clContent + ' > div').css('display', '');

	jQuery(clHead + ' .onglet').click(function() {		
        if (jQuery(this).children('.select').length > 0)
            return;

	    // on supprime le select et on le déplace sur l'onglet selectionné
        var listOng = jQuery(clHead + ' .onglet');
		var nbOnglet = listOng.length;
		// On prends le premier onglet sélectionné
        var sel = jQuery(clHead).find('.select').parent();
		// On lui enlève la sélection
		sel.children('.select').removeClass('select');
		
		// On sélectionne le premier descendant de l'objet courant et on le sélectionne
        jQuery(this).children().first().addClass('select');

		// On prend l'indice de l'entête
        var newselid = listOng.index(this);
		
		// On recherche le contenu correspondant à cet indice
        var divsel = jQuery(clContent + ' > div:eq(' + newselid + ')');

        // si le premier children est masqué, on l'affiche
        if (divsel.children().first().css('display') === 'none')
            divsel.children().first().css('display', '');

        // on bouge l'affichage des contenus
		for (var i=0 ; i < nbOnglet ; i++) {
			jQuery(clContent + ' > div:eq(' + i + ')').css('display', 'none');
		}
		
        divsel.css('display', 'block');
    });
}

function prepareRadioAffichage()
{

    jQuery('.panelAffichage > span').click(function() {

        var icns = jQuery('.panelAffichage > span');
        icns.removeClass('select');
        jQuery(this).addClass('select');

    });
}

function gestionTriHeader(prefix, colonne, callback)
{
    var orderByField = jQuery('input[name=orderByField]').val();
    var orderByValue = jQuery('input[name=orderByValue]').val();
    var nextImg = colonne + prefix, oldImg = orderByField + prefix + orderByValue.toUpperCase();
    var order;

    if (orderByField == colonne)
    {
        order = (orderByValue.toLowerCase() == 'asc') ? 'DESC' : 'ASC';

    }
    else
    {
        order = 'ASC';
    }

    nextImg += order;

    jQuery('#' + oldImg).fadeOut(200);
    jQuery('#' + nextImg).fadeIn(220, callback);

    jQuery('#' + oldImg).parents('tr').first().find('.select').removeClass('select');
    jQuery('#' + nextImg).parents('th').first().addClass('select');

    var orderByField = jQuery('input[name=orderByField]').val(colonne);
    var orderByValue = jQuery('input[name=orderByValue]').val(order.toLowerCase());
}



function openPanierAlt(numero, name, backSupp, backCharg, callbackPanier, prix, devise, nbrArticle)
{
    var numPanierActuel = jQuery('#info_panier').data('panier');

    if (jQuery('#info_panier').data('locked'))
    {
        jQuery('#info_panier').data('locked', false);
        return;
    }

    if (numPanierActuel != numero && numero > 0)
    {
        jQuery('#info_panier').css('display', 'none');
        jQuery('#info_panier').data('panier', numero);
        jQuery('.panier_alt_name').off('click').click(callbackPanier);
        jQuery('.panier_alt_charger').off('click').click(backCharg);
        jQuery('.panier_alt_delete').off('click').click(backSupp);
        jQuery('.panier_alt_switch').off('click').click(function() {document.getElementById('info_panier').style.display  = 'none';CallUrl("barre_menu.php?action=ChangeBarreeProc_PEC&id_panier=0");});
        jQuery('.panier_alt_name').text(name);
        jQuery('.panier_alt_nb_lignes').prop('id', 'panier_txt_' + numero);
        jQuery('.panier_alt_montant').prop('id', 'id_sp_panier_mnt_' + numero);
        jQuery('.panier_alt_devise').prop('id', 'id_sp_panier_dev_' + numero);
        jQuery('#id_sp_panier_mnt_' + numero).text(prix);
        jQuery('#id_sp_panier_dev_' + numero).text(devise);
        jQuery('#panier_txt_' + numero).text(nbrArticle);
        

        setTimeout(function() {
            jQuery('#info_panier').fadeIn(200)
        }, 100);

    }
    else if (numero == 0)
    {
        jQuery('#info_panier').fadeOut(200);
        jQuery('#info_panier').data('panier', '');
    }
    
}

function gereTreeView(obj, e){
	var ev = e.target || e.srcElement;
				        	
    	while (ev){
    		var infTree = ev.getAttribute('_opentr');
    		if (infTree != null){
    			if (e.offsetX < 8){
    				// Ouvrir / Fermer
    				ev.setAttribute('_opentr',infTree=='true' ? 'false' : infTree=='false' ? 'true' : 'none');
    			}
    			else{
    				// Envoi sur le serveur de l'information concespondant au clic 
    				var phpCall = obj.getAttribute('_pageCall');
    				if (phpCall != null){
    					CallUrl(phpCall,'select='+ev.getAttribute('id')+'&objSess='+obj.getAttribute('id')+'&action='+obj.getAttribute('_actionsrv'));
    				}
    			}	
    			break; 
    		}
    		
    		if (obj==ev) break;
    		ev = ev.parentNode;
    	}
}

/*
 * Présentation dynamique par onglets
 */

function pres_dyn_ToutPlierDeplier( prefix_id, plier ) {
	// Fonction qui permet de tout plier / déplier
	var listOfElements = jQuery('[id^="' + prefix_id + '"]');
	var count = listOfElements.length;
	
	for (var idx = 0 ; idx < count ; idx ++ ) {
		var iconeToSwitchId = listOfElements[idx].id;
		// Dans tous les élément qui débutent par 'onglet_', on élimine ceux se terminant par '_content',
		// ils concernent le contenu de l'onglet.
		if (-1 == iconeToSwitchId.search('_content')) {
			var iconeToSwitch = listOfElements[idx];
			var panelToSwitch = document.getElementById(iconeToSwitchId + '_content');
			if (plier) {
				if (panelToSwitch.style.display != 'none') {
					panelToSwitch.style.display = 'none'
					iconeToSwitch.className     = 'dib img16 img_develop_16x16';
				}
			} else {
				if (panelToSwitch.style.display == 'none') {
					panelToSwitch.style.display = ''
					iconeToSwitch.className     = 'dib img16 img_reduire_16x16';
				}
			}
		}
	}
}

function pres_dyn_SwitchDisplayOnglet(id_onglet/*, url_rafraichissement*/) {
	// Dans la présentation sur une page seule, on affiche ou masque l'onglet sélectionné
	var iconeToSwitch = document.getElementById(id_onglet);
	var panelToSwitch = document.getElementById(id_onglet + '_content');
	if (panelToSwitch) {
		if (panelToSwitch.style.display == '') {
			panelToSwitch.style.display = 'none';
			iconeToSwitch.className     = 'dib img16 img_develop_16x16';
		} else {
			panelToSwitch.style.display = '';
			iconeToSwitch.className     = 'dib img16 img_reduire_16x16';;
//			if ('' !== url_rafraichissement)
//				CallUrl(url_rafraichissement);
		}
	}
}

function pres_dyn_SwitchOnglet(prefix_id, id_onglet, url_rafraichissement, $code_unique) {
	// Dans la présentation avec par onglets, on change l'onglet courant
	var listOfElements = jQuery('[id^="' + prefix_id + '"]');
	var count          = listOfElements.length;
	
	for (var idx = 0 ; idx < count ; idx ++ ) {
		var ongletToSwitch = listOfElements[idx];
		var ongletToSwitchId = ongletToSwitch.id;
		if (-1 == ongletToSwitchId.search('_content')) { // Si nous ne sommes pas dans l'onglet de contenu
			var divContenu = document.getElementById(ongletToSwitchId + '_content');
			if (ongletToSwitchId == id_onglet) {
				// On affiche l'onglet sélectionné
				//pres_dyn_ChangeModeLecture(id_onglet, 'L', url_rafraichissement);
				CallUrl(url_rafraichissement);
				ongletToSwitch.className = 'w100 select';
				divContenu.style.display = '';
				document.getElementById("tabInProgress").value = id_onglet;
				
			} else {
				// Si l'onglet courant à le même préfix et le même code unique, on le masque
				if (ongletToSwitchId.startsWith(prefix_id) && ongletToSwitchId.endsWith($code_unique) ) {
					ongletToSwitch.className = 'w100';
					divContenu.style.display = 'none';
				}
			}
		}
	}
}

// Recup appli edp pour oxalys pour permette d'avoir une zone de recheche sur des listes scrollé
rechercheListe = function (obj_rech,name_id){

	  var id_rech = getObj(name_id);  

	  id_rech = id_rech.firstChild;  // TABLE
	  if (id_rech!= null){
		  id_rech = id_rech.firstChild;  // TBODY
		  while (id_rech.tagName!='TBODY') id_rech = id_rech.nextSibling;

	      if (id_rech!= null){
	        // Analyse de tous les TR compris dedant      
	        id_rech = id_rech.firstChild;


	        while (id_rech != null){
	          if (obj_rech.value.trim() == "" || id_rech.innerHTML.toLowerCase().indexOf(obj_rech.value.toLowerCase()) >=0)
	            id_rech.style.display = "";
	          else
	            id_rech.style.display = "none";
	                   
	          id_rech = id_rech.nextSibling;
	        }        
	    }
	  }
	};

	
// Utilisé par les composants XSL du nouveau framework 2016

function NF16CopieLibelleValeur(ev, obj) {
	if (obj.value != obj.oldValue) {
		if ('' != obj.id ) {
			if (obj.form) {
				var twin = obj.form[obj.id.substring(0, obj.id.length -4)];
				if (twin) {
					twin.value=obj.value;
				}
			}
		}
	}
}

function NF16VerifieLibelleValeur(ev, obj) {
	if ('' != obj.id ) {
		if (obj.form) {
			var twin = obj.form[obj.id.substring(0, obj.id.length -4)];
			if (twin) {
				if (obj.value != obj.getAttribute("old_value")) {
					if (twin.onblur)
						twin.onblur();
				}
			}
		}
	}
}

function NF16ExpandDate(ev, obj) {
	if (6 == obj.value.length)
		obj.value = obj.value.substr(0, 2) + '/' + obj.value.substr(2, 2) + '/20'  + obj.value.substr(4, 2);
}


function NF16SwitchDisabled(form, id, toDisable) {
	var isDisabled;
	var formObj;
	var obj;
	
	if ('' != form) {
		formObj = document.forms[form];
		if (formObj)
			obj = formObj.elements[id];
	}
	
	if (!obj)
		document.getElementById(id);
	
	if (obj) {
		if ('undefined' != typeof(toDisable)) {
			if ('true' == toDisable || true == toDisable) {
				isDisabled = false;
			} 
		} else
			isDisabled = obj.disabled;
		
		if (isDisabled)
			obj.removeAttribute('disabled')
		else
			obj.setAttribute('disabled', 'disabled');
			
		if (obj.parentElement)
			if (obj.parentElement.parentElement)
				if (obj.parentElement.parentElement.parentElement)
					if (obj.parentElement.parentElement.parentElement.parentElement) {
						if (isDisabled)
							obj.parentElement.parentElement.parentElement.parentElement.removeAttribute('disabled')
						else
							obj.parentElement.parentElement.parentElement.parentElement.setAttribute('disabled', 'disabled');
					}
	}
}
