<?php


class Affichage
{

    public function __construct()
    {}

    /**
     * Section réservée à la partie manipulation affichage via javascript
     */
    
    /**
     * Fonction actualisant une liste d'options dans un select
     * 
     * @param $id :
     *            id de la balise select à laquelle on ajoute les options
     * @param $array :
     *            tableau de données sur lequel on itère
     * @param $text :
     *            Nom du champ présent dans array qui va initialiser l'attribut texte de l'option
     * @param $value :
     *            Nom du champ présent dans array qui va initialiser l'attribut value de l'option
     * @param $complementaire :
     *            donnée complémentaire qui sera affichée entre paranthèse dans le texte de l'option
     */
    public static function loadSelectJS($id, $array, $text, $value, $complementaire = '', $mode_ajax = true)
    {
        if (! $mode_ajax)
            echo '<script type="text/javascript">';
        
        if (is_array($array))
            foreach ($array as &$ligne) {
                $ligne[$text] = cnv_to_javascript($ligne[$text]);
                $ligne[$value] = cnv_to_javascript(urlencode($ligne[$value]));
                
                if ($complementaire == '')
                    echo 'var option = new Option(String("', $ligne[$text], '").toUpperCase(),"', $ligne[$value], '");';
                else
                    echo 'var option = new Option(String("', cnv_to_javascript($ligne[$complementaire]), ' -- ', $ligne[$text], '").toUpperCase(),"', $ligne[$value], '");';
                
                echo "document.getElementById('", $id, "').options[document.getElementById('", $id, "').options.length] = option ;";
            }
        
        if (! $mode_ajax)
            echo '</script>';
    }

    /**
     * Fonction triant dans l'ordre croissant les options d'un select
     *
     * @param string $source
     *            : id de l'élement select
     */
    public static function triSelect($source)
    {
        echo "triSelect('", $source, '\');';
    }

    /**
     * Fonction permettant de réinitialiser un select en ajoutant une option par défaut
     * 
     * @param $id :
     *            id de la balise select à laquelle on ajoute les options
     * @param $message :
     *            message affiché pour l'option par défaut
     */
    public static function reinitSelect($id, $message = '')
    {
        echo "if(document.getElementById('$id')){document.getElementById('$id').innerHTML = '' ;";
        
        if ('' != $message) {
            echo 'var option = new Option("', cnv_to_javascript(trad($message)), '","");';
            echo "document.getElementById('", $id, "').options[document.getElementById('", $id, "').options.length] = option;";
        }
        
        echo '}';
    }

    /**
     * Fonction permettant de faire disparaitre un élément à partir de son id
     * 
     * @param $id :
     *            id de l'élement
     * @param $visible :
     *            booleen Element visible ou non
     */
    public static function displayElement($id, $visible, $prefix = '', $displayBlock = false)
    {
        $valeur = ($visible) ? '' : 'none';
        
        if($valeur === '' && $displayBlock)
            $valeur = 'block';
        
        echo "if(Oxa_getDevice().{$prefix}document.getElementById('", $id, "')){
                Oxa_getDevice().{$prefix}document.getElementById('", $id, "').style.display = '", $valeur, "';
             } else if({$prefix}document.getElementById('", $id, "')){
                {$prefix}document.getElementById('", $id, "').style.display = '", $valeur, "';
             }";
    }

    /**
     * Fonction permettant de mettre en griser un element
     * 
     * @param $id :
     *            id de l'élement
     */
    public static function greyElement($id)
    {
        echo "if(document.getElementById('", $id, "')){document.getElementById('", $id, "').className +=' dlight';}";
    }
    
    public static function displayAo($id = null)
    {
        echo "document.getElementById('#id_tag_1').className = 'ongletSelected';document.getElementById('#id_tag_0').className = '';"; 
        echo 'document.getElementById("id_tag_0").style = "display:none;";document.getElementById("id_tag_1").style = "display:block;"';
        //echo "document.getElementById('". $id. "')"; 
    }

    public static function displayFourn()
    {
        echo "document.getElementById('#id_tag_2').className = 'ongletSelected';document.getElementById('#id_tag_0').className = '';"; 
        echo 'document.getElementById("id_tag_0").style = "display:none;";document.getElementById("id_tag_2").style = "display:block;"';
        //echo "document.getElementById('". $id. "')"; 
    }
    
    public static function displayPJ()
    {
        echo "document.getElementById('#id_tag_4').className = 'ongletSelected';document.getElementById('#id_tag_0').className = '';";
        echo 'document.getElementById("id_tag_0").style = "display:none;";document.getElementById("id_tag_4").style = "display:block;"';
        //echo "document.getElementById('". $id. "')";
    }
    
    public static function displayDoc()
    {
        echo "document.getElementById('#id_tag_5').className = 'ongletSelected';document.getElementById('#id_tag_0').className = '';";
        echo 'document.getElementById("id_tag_0").style = "display:none;";document.getElementById("id_tag_5").style = "display:block;"';
        //echo "document.getElementById('". $id. "')";
    }
    
    public static function displayClause()
    {
        echo "document.getElementById('#id_tag_3').className = 'ongletSelected';document.getElementById('#id_tag_0').className = '';";
        echo 'document.getElementById("id_tag_0").style = "display:none;";document.getElementById("id_tag_3").style = "display:block;"';
        //echo "document.getElementById('". $id. "')";
    }

    /**
     * Fonction permettant d'enlever le mode griser un element
     * 
     * @param $id :
     *            id de l'élement
     */
    public static function greyRemoveElement($id)
    {
        echo "if(document.getElementById('", $id, "')){document.getElementById('", $id, "').className = document.getElementById('", $id, "').className.replace( /(?:^|\s)dlight(?!\S)/g , '' );}";
    }

    /**
     * Fonction permettant de faire disparaitre un élément à partir de son id
     * 
     * @param $id :
     *            id de l'élement
     * @param $visible :
     *            booleen Element visible ou non
     */
    public static function displayFirstChildElement($id, $visible)
    {
        $valeur = ($visible) ? '' : 'none';
        echo "if (document.getElementById('", $id, "')) {
					if (document.getElementById('", $id, "').firstChild) {
						document.getElementById('", $id, "').firstChild.style.display = '", $valeur, "';
					}
				}";
    }

    /**
     * Fonction permettant de faire disparaitre un élément à partir de son id
     * 
     * @param $id :
     *            id de l'élement
     * @param $visible :
     *            booleen Element visible ou non
     */
    public static function enableElement($id, $enabled)
    {
        $valeur = ($enabled) ? '' : 'disabled';
        echo "if(document.getElementById('", $id, "')){document.getElementById('", $id, "').disabled = '", $valeur, "';}";
    }

    /**
     * Fonction permettant de rendre invisible ou inversement un élément à partir de son id
     * 
     * @param $id :
     *            id de l'élement
     * @param $visible :
     *            booleen Element visible ou non
     */
    public static function vueElement($id, $visible)
    {
        $valeur = ($visible) ? 'visible' : 'hidden';
        echo "if(document.getElementById('", $id, "')){document.getElementById('", $id, "').style.visibility = '", $valeur, "';}";
    }

    /**
     * Fonction vidant le contenu d'un élément HTML
     *
     * @param string $id
     *            : id de l'élément que l'on doit réinitialiser
     */
    public static function reinitElement($id)
    {
        echo 'try{';
        echo "if(Oxa_getDevice().document.getElementById('", $id, "')){Oxa_getDevice().document.getElementById('", $id, "').innerHTML = '';}";
        echo '}catch(e){};';
    }

    /**
     * Fonction permettant d'injecter du code HTML dans une balise identifiée par son id
     *
     * @param string $id
     *            : id de l'élement
     * @param string $html
     *            : code HTML à injecter
     */
    public static function innerHTML($id, $html, $mode_ajax = true, $mode_parent = false, $divOpen = true)
    {
        if ($mode_parent)
            if ($divOpen)
                $parent = 'me().opener.';
            else
                $parent = 'parent.';
        else
            $parent = '';
        
        if (! $mode_ajax)
            echo "<script type='text/javascript'>";
        
        echo 'if(', $parent, "document.getElementById('", $id, "')){{$parent}document.getElementById('", $id, "').innerHTML = \"", cnv_to_javascript(str_ireplace('&lt;/tr&gt;', '</tr>', str_ireplace('&lt;tr&gt;', '<tr>', $html))), '";}';
        
        if (! $mode_ajax)
            echo '</script>';
    }

    public static function innerHTMLPointeur($id, & $htmlPointeur, $mode_ajax = true, $mode_parent = false, $divOpen = true)
    {
        if ($mode_parent)
            if ($divOpen)
                $parent = 'me().opener.';
            else
                $parent = 'parent.';
        else
            $parent = '';

        if (! $mode_ajax)
            echo "<script type='text/javascript'>";
        
        $htmlContent = cnv_to_javascript(str_ireplace('&lt;/tr&gt;', '</tr>', str_ireplace('&lt;tr&gt;', '<tr>', $htmlPointeur)));
        
        echo "if(", $parent, "document.getElementById('", $id, "')){", $parent, "document.getElementById('", $id, "').innerHTML = \"", $htmlContent, "\";}";
        if (! $mode_ajax)
            echo '</script>';
    }

    public static function innerHTMLwithoutHTMLTr($id, $html, $opener = false)
    {
        if ($opener)
            echo "if(me().opener.document.getElementById('", $id, "')){me().opener.document.getElementById('", $id, "').innerHTML = \"", $html, '";}';
        else
            echo "if(document.getElementById('", $id, "')){document.getElementById('", $id, "').innerHTML = \"", $html, '";}';
    }

    public static function innerHTMLwithoutHTMLTrPointeur($id, & $html, $opener = false)
    {
        if ($opener)
            echo "if(me().opener.document.getElementById('", $id, "')){me().opener.document.getElementById('", $id, "').innerHTML = \"", $html, '";}';
        else
            echo "if(document.getElementById('", $id, "')){document.getElementById('", $id, "').innerHTML = \"", $html, '";}';
    }

    /**
     * Fonction affichant un message dans une fenetre javascript alert en appelant la fonction de traduction
     * 
     * @param
     *            string : $msg
     */
    public static function messageJS($msg, $mode_html = false, $passerelleV1V2 = false)
    {
        if ($passerelleV1V2) {
            return $msg;
        }
        
        if ($mode_html)
            echo "<script type='text/javascript' charset='utf-8'>alert('", cnv_to_javascript($msg), "');</script>";
        else
            echo 'alert(\'', cnv_to_javascript($msg), '\');';
        
        return false;
    }

       /**
     * Fonction affichant un message dans une fenetre avec un choix d'action sur la validation ou non de la boite de dialogue
     * 
     * @param
     *            string : $msg
     */
    public static function messageConfirmJS($msg, $mode_html = false, $passerelleV1V2 = false)
    {
        if ($passerelleV1V2) {
            return $msg;
        }
        
        if ($mode_html)
            echo "<script type='text/javascript' charset='utf-8'>if(window.confirm('", cnv_to_javascript($msg), "')){closePoup();}</script>";
        else
        {
            echo 'if(window.confirm(\'', cnv_to_javascript($msg), '\')){closePopup();}';
        }
        
        return false;
    }

    public static function messageJSAsync($msg, $mode_html = false)
    {
        if ($mode_html)
            echo "<script type='text/javascript' charset='utf-8'>alertAsync('", cnv_to_javascript($msg), "');</script>";
        else
            echo "window.focus();alertAsync('", cnv_to_javascript($msg), '\');';
    }

    /**
     * Fonctione permettant d'initialiser pour un element de formulaire donné sa valeur
     * 
     * @param string $id
     *            : id de l'élement du formulaire ciblé
     * @param string $value
     *            : valeur de l'élément
     * @param boolean $opener
     *            : booleen indiquant si on maipule directement le document ou bien le document de la fenêtre parente
     */
    public static function setValue($id, $value, $mode_parent = false, $divOpen = true)
    {
        $value = cnv_to_javascript($value);
        
        $parent = '';
        
        if ($mode_parent)
            if ($divOpen)
                $parent = 'me().opener.';
            else
                $parent = 'parent.';
        
        echo "if(", $parent, "document.getElementById('", $id, "')){
						if(", $parent, "document.getElementById('", $id, "').disabled  == true){
							{$parent}document.getElementById('", $id, "').disabled = false ;
							{$parent}document.getElementById('", $id, "').value 	= \"$value\";
							{$parent}document.getElementById('", $id, "').disabled = true ;
						}else{
							{$parent}document.getElementById('", $id, "').value 	= \"$value\";
						}
					}";
    }

    public static function setValueForm($nomForm, $nomZone, $value, $auto_select = true)
    {
        echo 'if (document.', $nomForm, '.' . $nomZone, ') document.', $nomForm, '.' . $nomZone, '.value = \'' . cnv_to_javascript($value) . '\';';
        if ($auto_select) {
            echo 'document.', $nomForm, '.', $nomZone, '.select();';
            Affichage::setFocusForm($nomForm, $nomZone);
        }
    }

    public static function setFocusForm($nomForm, $nomZone)
    {
        echo 'try{';
        echo 'document.', $nomForm, '.', $nomZone, '.focus();';
        echo '}catch(e){}';
    }

    /**
     * Fonction permettant de mettre à jour la valeur d'un attribut d'un élement HTML
     *
     * @param string $id
     * @param string $attribut
     * @param mixed $value
     */
    public static function setAttribut($id, $attribut, $value)
    {
        if (is_bool($value)) {
            echo "if(Oxa_getDevice().document.getElementById('", $id, "')){Oxa_getDevice().document.getElementById('", $id, "').setAttribute('".$attribut."', '".($value ? 'true' : 'false')."');}
                  else if(document.getElementById('", $id, "')){document.getElementById('", $id, "').setAttribute('".$attribut."', '".($value ? 'true' : 'false')."');}";  
        }
        else {
            echo "if(Oxa_getDevice().document.getElementById('", $id, "')){Oxa_getDevice().document.getElementById('", $id, "').setAttribute('".$attribut."', '".cnv_to_javascript($value)."');}".
                 "else if(document.getElementById('", $id, "')){document.getElementById('", $id, "').setAttribute('".$attribut."', '".cnv_to_javascript($value)."');}";            
        }
            
        /*if (is_bool($value))
            echo "if(Oxa_getDevice().document.getElementById('", $id, "')){Oxa_getDevice().document.getElementById('", $id, "').$attribut = ", ($value ? 'true' : 'false'), ";}
                  else if(document.getElementById('", $id, "')){document.getElementById('", $id, "').$attribut = ", ($value ? 'true' : 'false'), ";}
            ";
        else
            echo "if(Oxa_getDevice().document.getElementById('", $id, "')){Oxa_getDevice().document.getElementById('", $id, "').$attribut = \"", cnv_to_javascript($value), '";}'.
            "else if(document.getElementById('", $id, "')){document.getElementById('", $id, "').$attribut = \"", cnv_to_javascript($value), '";}
            ';*/
    }

    /**
     * Fonction permettant de mettre à jour la valeur d'un attribut d'un élement HTML
     *
     * @param string $id
     * @param string $attribut
     * @param mixed $value
     * @param boolean $mode_popup
     *            : Indique si l'on est dans le cadre d'un popup ou non. Si oui un préfix sera utilisé
     */
    public static function getActionToSetAttribut($id, $attribut, $value, $mode_popup = true, $cgActif = false)
    {
        $value = cnv_to_javascript($value);
        if($cgActif)
        {
            $url = "browse_popup.php?data=all&itemSelected=cg&valueSelected='+societe+'&SI=$value&form_parent=form_suivi&conteur=oui&champ=CG&prg_appel=" . NomFile(__FILE__);
            $cgActif = "
            if(me().opener.document.getElementById('Societe'))
            {
                var societe = me().opener.document.getElementById('Societe').value;
            }else
            {
                var societe = '';
            }
            CallUrl('".$url."');";
        }
        if ($mode_popup)
        {
            return " if(me().opener && me().opener.document.getElementById('$id')){me().opener.document.getElementById('$id').$attribut = \"$value\";try{me().opener.document.getElementById('$id').onblur();}catch(e){}}".$cgActif;
            //return " if(me().opener && me().opener.document.getElementById('$id')){ waiting( Oxa_getDevice().document.getElementById('messagePatientez').value);me().opener.document.getElementById('$id').$attribut = \"$value\";try{me().opener.document.getElementById('$id').onblur();}catch(e){}} ".$cgActif;
        }
        else
        {
            return "if(document.getElementById('$id')){document.getElementById('$id').$attribut = \"$value\";}";
        }
    }

    /**
     * Fonction permettant de mettre à jour la valeur d'un attribut d'un élement HTML
     *
     * @param string $id
     * @param string $attribut
     * @param mixed $value
     * @param boolean $mode_popup
     *            : Indique si l'on est dans le cadre d'un popup ou non. Si oui un préfix sera utilisé
     */
    public static function getActionToSetInnerHTML($id, $value, $mode_popup = true)
    {
        $value = cnv_to_javascript($value);
        
        if ($mode_popup)
            return "try{ if(me().opener && me().opener.document.getElementById('$id')){me().opener.document.getElementById('$id').innerHTML = \"$value\";} } catch (e){}";
        else
            return "if(document.getElementById('$id')){document.getElementById('$id').innerHTML = \"$value\";}";
    }

    /**
     * Fonction permettant de définir la valeur d'une propriété d'un champ de formulaire
     *
     * @param string $form
     *            : Nom du formulaire
     * @param string $fieldName
     *            : Nom du champ du formulaire
     * @param string $attribut
     *            : Nom de l'attribut du champ à mettre à jour
     * @param string $value
     *            : Nouvelle valeur du champ
     */
    public static function setAttributForFieldForm($idForm, $fieldName, $attribut, $value)
    {
        if ($value === false || $value === true)
            echo "if(document.forms['", $idForm, "'] && document.forms['", $idForm, "'].", $fieldName, "){document.forms['", $idForm, "'].", $fieldName, ".", $attribut, " = ", ($value ? 'true' : 'false'), ";}";
        else
            echo "if(document.forms['", $idForm, "'] && document.forms['", $idForm, "'].", $fieldName, "){document.forms['", $idForm, "'].", $fieldName, ".", $attribut, " = '", cnv_to_javascript($value), "';}";
    }

    public static function getAttributForFieldForm($idForm, $fieldName, $attribut, $value, $parent = false, $onBlur = false)
    {
        if ($parent)
            $chaine = "var objFrm = me().opener.document.{$idForm};";
        else
            $chaine = "var objFrm = document.{$idForm};";
        
        $chaine .= "if(objFrm && objFrm." . $fieldName . "){objFrm." . $fieldName . "." . $attribut . " = '" . cnv_to_javascript($value) . "';";
        
        if($onBlur)
        {
            $chaine .= "objFrm.$fieldName.onblur()";
        }
        
        $chaine .= "}";
        
        return $chaine;
    }

    /**
     * Fonction appelant la fonction javascript supprimeDoubleOnSelect qui supprime tous les doublons contenus dans un select
     *
     * @param string $id_select
     *            : id du select
     */
    public static function supprimeDoubleOnSelect($id_select)
    {
        echo 'supprimeDoubleOnSelect("', $id_select, '");';
    }

    /**
     * Fonction appelant la fonction javascript supprimeDoubleOnSelect qui supprime tous les doublons contenus dans un select
     *
     * @param string $id_select
     *            : id du select
     */
    public static function init2SelectAvecDifferenciel($id_source, $id_cible)
    {
        echo 'init2SelectAvecDifferenciel("', $id_source, '","', $id_cible, '");';
    }

    /**
     * Fonction permettant d'afficher un élément et d'en cacher un autre
     * 
     * @param string $visible
     *            : champ qui apparait
     * @param string $cache
     *            : champ qui devient caché
     */
    public static function switchDisplayFor2Element($visible, $cache)
    {
        echo 'document.getElementById("', $visible, '").style.display = "";', 'document.getElementById("', $cache, '").style.display = "none";';
    }

    /**
     * Fonction permettant de placer le focus sur un élément
     * 
     * @param string $id
     *            : $id de l'élément sur lequel on souhaite placer le focus
     */
    public static function setFocusOnElement($id)
    {
        echo 'if(document.getElementById("', $id, '")){ document.getElementById("', $id, '").focus; }';
    }

    /**
     * Fonction permettant de positionner une option d'un select
     *
     * @param string $id
     * @param string $value
     */
    public static function selectDefaultOption($id, $value)
    {
        if (! is_null($id)) {
            echo 'try{';
            echo " if(document.getElementById('", $id, "')){
	                        var select = document.getElementById('", $id, "');
	                        for(var i=0 ; i < select.length ; i++){
	                                if(select.options[i].value =='$value'){
	                                        select.options[i].selected = 'selected';
	                                        break;
	                                }
	                        }
			}";
            echo '} catch (e) {}';
        }
    }

    /**
     * Fonction permettant de réaliser l'insertion de code HTML dans le premier élément body trouvé sur la page
     *
     * @param string $html
     */
    public static function insertIntoBody($html)
    {
        echo "if(window.document.getElementsByTagName('BODY')[0]){window.document.getElementsByTagName('BODY')[0].innerHTML = \"", cnv_to_javascript($html), "\";}";
    }

    /**
     * Fonction permettant de mettre à jour l'ensemble des propriétés d'un champ d'imputation
     *
     * @param string $form
     *            : Nom du formulaire
     * @param string $nameField
     *            : Nom du champ
     * @param string $code_value
     *            : Valeur de l'attribut code
     * @param string $value_value
     *            : Valeur de l'attribut value
     * @param string $libelle_value
     *            : Valeur de l'attribut libelle
     * @param string $title_value
     *            : Valeur de l'attribut title
     *            
     */
    public static function setFieldImputationAttributs($idForm, $nameField, $code_value, $value_value, $libelle_value, $title_value)
    {
        echo " if(document.forms[$idForm] && document.forms[$idForm].{$nameField}){
                                    var champ      = document.forms[$idForm].{$nameField}		;
                                    champ.code     = '" . cnv_to_javascript($code_value) . "'		;
                                    champ.value    = '" . cnv_to_javascript($value_value) . "'		;
                                    champ.libelle  = '" . cnv_to_javascript($libelle_value) . "'	;
                                    champ.title    = '" . cnv_to_javascript($title_value) . "'		;
                                  }";
    }

    /**
     * Fonction dédiée à la gestion des effets survenant lors de l'affichage de la page d'accueil
     *
     * @param boolean $mode_ajax
     * @return string Code javascript (scriptaculo.us)
     */
    public static function effectPageAccueil($mode_ajax)
    {
        if (! $mode_ajax)
            echo "<script type='text/javascript'>";
        
        if (Param::isAnimationActivated())
            echo "  if(document.getElementById('menu_haut')){new Effect.SlideDown	('menu_haut'       , {duration: 0.4,  queue: {position: 'end'  , scope: 'deplace'}});}
                                if(document.getElementById('div_favoris')){new Effect.Appear		('div_favoris'     , {duration: 0.4,  queue: {position: 'end'  , scope: 'deplace'}});}
                                //if(document.getElementById('div_actu')){new Effect.Appear		('div_actu' 	   , {duration: 0.4,  queue: {position: 'end'  , scope: 'deplace'}});}
                                if(document.getElementById('div_actu'))changeDisplay('div_actu'  	,true);
                                if(document.getElementById('div_ident')){new Effect.Appear		('div_ident' 	   , {duration: 0.4,  queue: {position: 'end'  , scope: 'deplace'}});}
                                if(document.getElementById('div_footer')){new Effect.SlideDown	('div_footer'      , {duration: 0.4,  queue: {position: 'end'  , scope: 'deplace'}});}";
        else
            echo " changeDisplay('menu_haut' 	,true);
                                changeDisplay('div_favoris' ,true);
                                changeDisplay('div_actu'  	,true);
                                changeDisplay('div_ident'   ,true);
                                changeDisplay('div_footer'	,true); ";
        
        if (! $mode_ajax)
            echo '</script>';
    }

    /**
     * Fonction permettant de jouer un fichier audio
     *
     * @param boolean $mode_ajax
     * @return string Code javascript (scriptaculo.us)
     */
    public static function playTrack($track, $mode_ajax)
    {
        if (! $mode_ajax)
            echo "<script type='text/javascript'>";
        
        echo " Sound.play('$track');";
        
        if (! $mode_ajax)
            echo '</script>';
    }

    /**
     * Fonction permettant d'initialiser le skin à utiliser
     */
    public static function initSkin()
    {
        $_SESSION['SESSION_SKIN_CODE'] = utilisateur::ChargeSkin();
    }

    public static function scrollTo($top = 0, $left = 0)
    {
        echo 'window.scrollTo(', $top, ',', $left, ');';
    }

    public static function scroolPage($scrollPage)
    {
        if ($scrollPage) {
            Affichage::displayElement('div_ecr_interne', true);
            Affichage::displayElement('men_gene', false);
            Affichage::setAttribut('global', 'style.position', 'absolute');
            Affichage::setAttribut('superglobal', 'style.overflow', 'hidden');
            Affichage::setAttribut('superglobal', 'style.height', '100%');
            
            /**
             * Correction en fonction de la taille du bandeau et le fait qu'il soit ou non affiché
             */
            $top = 56 + 2;
            if (Param::isBandeauHeader())
                $top += Param::getHeightHeader();
            
            Affichage::setAttribut('div_ecr_interne', 'style.top', $top . 'px');
        } else {
            Affichage::reinitElement('div_ecr_interne');
            Affichage::displayElement('div_ecr_interne', false);
            Affichage::displayElement('men_gene', true);
            Affichage::setAttribut('global', 'style.position', 'relative');
            Affichage::setAttribut('superglobal', 'style.height', 'auto'); // NE PAS METTRE INITIAL CAR ne fonctionne pas sous IE par contre auto sur tous les navigateurs
        }
    }

    /*
     * Méthodes liées au nouveau framework 2016
     */
    static function NF16UpdateInput($form, $id, $valeurModifiee, $libelleValeur)
    {
        if ('' != $valeurModifiee) {
            Affichage::setValueForm($form, $id, $valeurModifiee, false);
            Affichage::setAttributForFieldForm($form, $id . '_lib', 'title', $valeurModifiee);
        }
        if ('' != $libelleValeur) {
            Affichage::setValueForm($form, $id . '_lib', $libelleValeur, false);
            echo 'var form = document.forms[\'', $form, '\']; if (form) { var elt = form[\'', $id, '_lib\']; if (elt) { if (elt.hasAttribute) elt.setAttribute(\'old_value\', \'' . cnv_to_javascript($libelleValeur) . '\') } }';
        }
    }
}