/******* BUTINE.NET -> Main.js
******** Routines communes à toutes les pages HTML
********
******** Doit forcément être inclu dans le <head> de chaque page du site
********/

//****** Constantes

// Paramètres d'affichage des fenêtres
WIN_PARA   = "screenX=0,screenY=0,width=800,height=600,toolbar=no,scrollbars=yes,resizable=yes"
POPUP_PARA = "screenX=0,screenY=0,width=800,height=600,toolbar=no,scrollbars=yes,resizable=yes"

//****** variables globales

var GPopUpS;                // Référence la fenêtre des PopUp (utilisé par la fonction PopUp)
var GForumS;                // Référence la fenêtre des Forums (utilisé par la fonction Forum)
var GSurligne='';           // Message surligné dans un forum (utilisé par la fonction Surligne)

//****** Routines générales

/* fonction retournant la valeur contenu dans '25pt' ou '40px' */
function GetVal(Txt) {
  return Number(Txt.substr(0, Txt.length-2));
}

/* Dans le cas où les valeurs sont en %, les transforme en px
Données absolues:
  pt pour point (= 1/72 pouce)
  pc pour Pica (= 12 points)
  in pour pouce (= 2,54 cm)
  mm pour millimètre
  cm pour centimètre
Données relatives:
  em pour "en relation avec la taille de police propre à l'élément"
  ex pour "en relation avec la hauteur de la lettre x propre è l´élément"
  px pour pixel (donnée relative du point de vue des différentes résolutions d'écran chez les utilisateurs)
  % pour pourcentage par rapport à la norme de l'élément
*/
function TransfoTaille(Couche) {
  var Largeur = Couche.style.width;
  var Hauteur = Couche.style.height;

  if (Largeur.substr(Largeur.length-1, 1)=='%') {
    Couche.style.width = window.innerWidth * (Number(Largeur.substr(0, Largeur.length-1))/100);
  }
  if (Hauteur.substr(Hauteur.length-1, 1)=='%') {
    Couche.style.height = window.innerHeight * (Number(Hauteur.substr(0, Hauteur.length-1))/100);
  }
}

// Fonction retournant le répertoire absolu d'un chemin complet
function GetDir(Path)
{
  var Valeur = "/";
  
  var tabLstVal = Path.split("/");
  for (i=0; i<(tabLstVal.length-1); i++)
    if (tabLstVal[i]!="")
      Valeur += tabLstVal[i]+"/";
    
  return Valeur;
}

function Surligne(Id)
{
  if (GSurligne=='') {
    GSurligne = Id;
    document.getElementById(Id).bgColor="yellow";
  } else {
    document.getElementById(GSurligne).bgColor="";
    GSurligne = Id;
    document.getElementById(Id).bgColor="yellow";
  }
}

function NvFenetre(URL)
{
  window.open(URL, '', WIN_PARA);
}

// PopUp
function PopUp(tCible, Id)
{
  if ((GPopUpS != null) && (typeof(GPopUpS) == window)) { // La fenêtre est ouverte
    GPopUpS.frames[1].src = phpREP_BASE_SRC_JS+"/vrPopUpC.php?Id="+Id;
    GPopUpS.focus();
  } else { // La fenêtre n'a jamais existée, ou a été refermée
    GPopUpS=open('', '', POPUP_PARA);
    GPopUpS.document.write("<TITLE>VieRurale.com</TITLE>");
    GPopUpS.document.write("<frameset rows='10%,90%'>");
    GPopUpS.document.write("  <frame src='"+phpREP_BASE_SRC_JS+"/vrPopUpE.php' name='EntetePopUp'>");
    GPopUpS.document.write("  <frame src='"+phpREP_BASE_SRC_JS+"/vrPopUpC.php?urlCible="+tCible+"&urlId="+Id+"'>");
    GPopUpS.document.write("</frameset>");
    GPopUpS.document.write("<body>");
    GPopUpS.document.write("Désolé, mais votre navigateur ne reconnaît pas les frames");
    GPopUpS.document.write("</body>");
  }
}

// Forum
function Forum(IdForum, IdMsg, Type)
{
  if ((GPopUpS != null) && (typeof(GPopUpS) == window)) { // La fenêtre est ouverte
    GPopUpS.frames[1].src = phpREP_BASE_SRC_JS+"/PopUpC.php?Id="+Id;
    GPopUpS.focus();
  } else { // La fenêtre n'a jamais existée, ou a été refermée
    GPopUpS=open('', '', POPUP_PARA);
    GPopUpS.document.write("<TITLE>VieRurale.com</TITLE>");
    GPopUpS.document.write("<frameset rows='35,25%,75%'>");
    GPopUpS.document.write("  <frame src='"+phpREP_BASE_SRC_JS+"/vrForumE.php'>");
    GPopUpS.document.write("  <frame src='"+phpREP_BASE_SRC_JS+"/vrForumC.php?urlIdForum="+IdForum+"&urlIdMsg="+IdMsg+"&urlTypeForum="+Type+"'>");
    GPopUpS.document.write("  <frame src='"+phpREP_BASE_SRC_JS+"/vrForumP.php?urlIdForum="+IdForum+"&urlIdMsg="+IdMsg+"&urlTypeForum="+Type+"' name='Pied'>");
    GPopUpS.document.write("</frameset>");
    GPopUpS.document.write("<body>");
    GPopUpS.document.write("Désolé, mais votre navigateur ne reconnaît pas les frames");
    GPopUpS.document.write("</body>");
  }
}

function Imprime(tCible, Id) {
  w=open('','','');
  w.document.write("<TITLE>VieRurale.com</TITLE>");
  w.document.write("<frameset rows='90%,10%'>");
  w.document.write("  <frame src='"+phpREP_BASE_SRC_JS+"/ImprimeC.php?tCible="+tCible+"&Id="+Id+"'>");
  w.document.write("  <frame src='"+phpREP_BASE_SRC_JS+"/ImprimeP.php'>");
  w.document.write("</frameset>");
}

// Donne le titre de celui qui l'appelle (normalement, le Corps) à la Source
function IniTitre()
{
  parent.document.title = document.title;
}

// Affiche ou cache une couche
function BasculeMenu(NomDiv) {
  if(document.all) { // Version IE 6.0 (ne supporte que DOM 1)
    if (document.getElementById(NomDiv).style.getAttribute("display", "false"))
      document.getElementById(NomDiv).style.removeAttribute("display", "false");
    else
      document.getElementById(NomDiv).style.setAttribute("display", "none", "false");
  } else { // Version DOM 2
    if (document.getElementById(NomDiv).style.display)
      document.getElementById(NomDiv).removeAttribute("style");
    else
      document.getElementById(NomDiv).setAttribute("style", "display:none;");
  }
}

//****** IniVR()
//******
//****** Est lancé par le OnLoad de la fiche
//****** => Permet d'activer les fonctions JS nécessaires aux modules

function IniVR() {
  // MàJ du titre
  IniTitre();
  // Activation des CR
  if (typeof(IniDepCouches) != 'undefined') {
    IniDepCouches('Entete', 2);
  }
}

