<?php
#=
/****************************************************************************
Copyright 2002, Daniel Deycard, Jacques Messines, Stéphanie Roussel, Jean-Marie Treins
(CATICE Académie de Bordeaux)

This file is part of Gibii.

Gibii is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

Gibii is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Gibii; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

****************************************************************************/

if (!isset($include_utiljs)) {
$include_utiljs=1;

//Fonctions utilitaires pour inclure du code JS à partir de code PHP
//==================================================================
//Du code PHP écrit, dans le flux HTML, des lignes qui appellent des fonctions javascript.
//Ces fonctions effectuent directement ce que leur nom indique.
//L'avantage est d'éviter de s'encombrer de la quincaillerie javascript,
//du genre <script language='JavaScript'> (voir fonction js) et d'être obligé
//de "sortir" d'un script PHP pour écrire des lignes de code js

//pour plusieurs lignes de JS, on pourra écrire :
//     js_begin(); js_ins($y); ...; js_ins($d); js_end;
function js_begin() {print "\n<script language=\"JavaScript\">\n";}
function js_ins($instructionJS) {print "\t$instructionJS\n";}
function js_end() {print "</script>\n";}

//pour une seule ligne on pourra simplifier avec cet appel :
function js($instructionJS) {
    js_begin();
    print "\t".$instructionJS."\n";
    js_end();
}

//==================================
//Fonctions d'importation javascript
//==================================

//comme son homologue JS
function alert($message) {
  $message=addcslashes(addslashes($message),"\n\t");
  js("alert('$message')");
}

//confirm : affiche la $question et prend la décision appropriée (l'un des 2 paramètres)
//ces 2 paramètres (éventuellement vides) doivent être des instructions JS.
//pour charger une URL mettre : "window.location.href='mon_URL.php';"
//pour "ne rien faire" (c'est à dire terminer le script js) mettre "" ou "stop();"
//Penser à séparer les instructions js par des ; et TERMINER par un ; !!!
function confirm($question,$jsYes,$jsNo) {
  $question=addslashes($question);
  js_begin();
  js_ins("if (confirm('$question')) {");
  js_ins("\t $jsYes }");
  js_ins("else {");
  js_ins("\t $jsNo } ");
  js_end();
}


function goto($url) {
  js("window.location.replace('$url');");
}

function gohistory($n) {
//$n est soit un nombre entier qconque (souvent -1 mais aussi 0),
//soit une partie d'une URL de l'historique
  js("window.history.go($n);");
}

function refresh_frame($nameframe) {
  js_begin();
  js_ins("var temp=eval(\"parent.$nameframe\");");
  js_ins("if (temp!=undefined) temp.location.reload();");;
  js_end();
}

function lien_popup($url, $idfen, $message) {
print "<a href='javascript:void(0)' ".
         "onClick=\"window.open('$url','$idfen',".
         "'width=500,height=200, ".
         "status=0, directories=0, toolbar=0, location=0, scrollbars=0, ".
         "resizable=0');\" >".$message."</a>";
}

function close_window() {
 js_begin();
 js_ins("window.close();");
 js_end();

}

//positionne la "vue" de la page à l'endroit où cette fonction est appelée
function voircetendroit() {
list($musec,) = explode(" ",microtime()); 
$id=(int) (100000*$musec);
print "<a id=\"foc$id\"></a>\n";
js_begin();
js_ins("var elt$id=document.getElementById('foc$id');");
js_ins("elt$id.focus();");
js_end();
}


} //if initial
?>