/*
'---
'--- JSFonctions.js - Page de fonction en Javascript
'---
'--- Par JP Bernard
'---     CIBLE Solutions d'affaires
'---
'--- RÉVISION
'--- 2008/05/06 JPB	Création
*/

//-------------------------------------------------------------------------------------
// Message d'avertissement temporaire
//-------------------------------------------------------------------------------------
function DoPupDeveloppement()
{
    alert("IMPORTANT!!!\nCette section du site Internet est présentement en développement.\nElle sera fonctionnelle dans le plus bref délai. Merci!\n\nJean-Philip Bernard\nProgrammeur Analyste\jean-philip.bernard@ciblesolutions.com");    		
}

//-------------------------------------------------------------------------------------
//trouve la référence pour l'objet document
//-------------------------------------------------------------------------------------
function GetReference(id)
{
	if(document.layers) return document.layers[id];
	if(document.all && !document.getElementById) return document.all[id];
	if(document.all && document.getElementById) return document.getElementById(id);
	if(!document.all && document.getElementById) return document.getElementById(id);
	return false;
}


//---------------------------------------------------------------------
//Ouvrir une fenêtre
//---------------------------------------------------------------------
function OuvrirFenetre(iNomPage, iTitre, iWidth, iHeight)
{
	fenetre = window.open(iNomPage, iTitre, "top=0, left=0, width=" + iWidth + ", height=" + iHeight + ", scrollbars=yes, location=no, toolbar=no, menubar=no");
	fenetre.focus()
}


//---------------------------------------------------------------------
//Ouvrir une fenêtre pour consulter les réponses texte d'une question de sondage
//---------------------------------------------------------------------
function OuvrirFenetreQuestionsTextesSondage(iNomPage, iTitre, iWidth, iHeight)
{
    fenetre = window.open(iNomPage, iTitre, "top=0, left=0, width=" + iWidth + ", height=" + iHeight + ", scrollbars=yes, location=no, toolbar=no, menubar=no, resizable=yes");
    fenetre.focus()
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* OuvrirConfidentialite() - Ouvre la page pour les politiques de confidentialité
*/
function OuvrirConfidentialite()
{         
   OuvrirFenetre("", "CONFIDENTIALITE", 630, 580);
   FormConfidentialite.submit();
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* DoInsertCodeHTML() - Insère le code HTML créé dans l'éditeur
*/
function DoInsertCodeHTML(iControlName, iContenu)
{  
   // alert("oui");
    
   // alert(iControlName);
   // alert(iContenu);
    
	if(iControlName!='')
    {
        var ObjName=GetReference(iControlName);

		ObjName.value = iContenu;
    }
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* OuvrirEditeurHTML() - Ouvre l'éditeur HTML
*/
function OuvrirEditeurHTML(iControlName)
{
    var ObjName = GetReference(iControlName);
    var ObjTexte = GetReference("TexteContenu");
    var ObjCtrl = GetReference("Ctrl");
    
    ObjTexte.value = ObjName.value;
    ObjCtrl.value = iControlName;
    
    if(iControlName!='')
    {
	   OuvrirFenetre("", "EditeurTexte", 800, 600);
       document.EditeurHTML.submit();
    }
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * RemoveLineBreakJS() - Retourne la string sans les sauts de lignes ("\n" ou "\r\n")
 *
 *
 * Paramètres:
 *   iString - La chaine de caratère (type: String)
 *
 */
function RemoveLineBreakJS(iString)
{
    iString.replace("\r\n", "");
    iString.replace("\n", "");
    
    return iString;
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * JAVA_FormatStr() - Remplace les apostrophes (') par l'équivalent UNICODE \u0027
 *                 et les guillemets (") par l'équivalent UNICODE \u0022 pour
 *                 les fonctions JavaScript.
 */
function JAVA_FormatStr(iString)
{
    alert(iString);
    var chaine = new String(iString);

    remplace  = new RegExp("\'","g"),
    chaine = chaine.replace(remplace, "&#39;");

    remplace  = new RegExp('\"',"g"),
    chaine = chaine.replace(remplace, '&#39;');

    return chaine;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* ImprimerPage() - Lance l'impression de la fenêtre en cours
*/
function ImprimerPage(iLangue)
{       
    if (navigator.appVersion.indexOf("Mac",0)>0)
    {
        if (iLangue=="en")
            alert("This function is not available for Macintosh. Please use Apple-P.");
        else
            alert("Cette fonction n\'est pas réalisable sur Macintosh.\n\nUtilisez plutôt la combinaison de touches  « Pomme-P »");
    }
    else
    {
        window.print();
    }
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* OuvrirPrint() - Ouvre la page pour l'impression
*/
function OuvrirPrint()
{
   OuvrirFenetre("", "PRINTWINDOW", 610, 600);
   document.FormPrint.submit();
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DoOuvrirNouvelle() - Ouvre un pop-up présentant une nouvelle
 *
 * Paramètres:
 *    iNouvelleID  - Le ID de la nouvelle à ouvrir (type: Integer)
 *    iLangue      - La langue à utiliser ('fr' ou 'en')
 */
function DoOuvrirNouvelle(iNouvelleID, iLangue)
{
    // On commence par former l'URL 
    var Url = "/detail_nouvelle.php"
        + "?L=" + iLangue
        + "&NouvelleID=" + iNouvelleID;

    // On défini le format de la fenêtre
	var Format = "width=657"
		+ ",height=600"
		+ ",top=5"
		+ ",left=5"
		+ ",menubar=no"
		+ ",toolbar=no"
		+ ",addressbar=no"
		+ ",status=yes"
		+ ",resizable=yes"
		+ ",scrollbars=yes";

    // On tente d'ouvrir la fenêtre "Nouvelles"
    var NouvellesWin = window.open(Url, "Nouvelles", Format);

    // Si la création du pop-up est impossible (pop-up blocker ou autre), on
    // affiche un message d'erreur; sinon on y déplace le focus
    if (!NouvellesWin)
    {
        if (iLangue=="en")
            alert("This site uses pop-ups to display records, but your browser is blocking them. Please allow pop-ups for this site.");
        else
            alert("Ce site utilise des pop-up pour afficher les fiches mais votre navigateur semble les bloquer. Veuillez SVP autoriser l'affichage des pop-up pour ce site.");
    }
    else
    {
        NouvellesWin.focus();
    }
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DoOuvrirImage() - Ouvre un pop-up présentant une image
 *
 * Paramètres:
 *    iImageID    - Le ID de l'image à ouvrir (type: Integer)
 *    iLangue     - La langue à utiliser ('fr' ou 'en')
 */
function DoOuvrirImage(iImageID, iLangue)
{
    // On commence par former l'URL
    var Url = "/fiche_photo.php"
        + "?L=" + iLangue
        + "&PhotoID=" + iImageID;

    // On défini le format de la fenêtre
	var Format = "width=657"
		+ ",height=600"
		+ ",top=5"
		+ ",left=5"
		+ ",menubar=no"
		+ ",toolbar=no"
		+ ",addressbar=no"
		+ ",status=yes"
		+ ",resizable=yes"
		+ ",scrollbars=yes";

    // On tente d'ouvrir la fenêtre "Photos"
    var PhotosWin = window.open(Url, "Photos", Format);

    // Si la création du pop-up est impossible (pop-up blocker ou autre), on
    // affiche un message d'erreur; sinon on y déplace le focus
    if (!PhotosWin)
    {
        if (iLangue=="en")
            alert("This site uses pop-ups to display records, but your browser is blocking them. Please allow pop-ups for this site.");
        else
            alert("Ce site utilise des pop-up pour afficher les fiches mais votre navigateur semble les bloquer. Veuillez SVP autoriser l'affichage des pop-up pour ce site.");
    }
    else
    {
        PhotosWin.focus();
    }
}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Ensemble de fonctions pour transferer des selections d'une fenetre a une autre
 *
 *        DEBUT 
 *
 */

function addOption(theSel, theText, theValue)
{
  var newOpt = new Option(theText, theValue);
  var selLength = theSel.length;
  theSel.options[selLength] = newOpt;
}

function deleteOption(theSel, theIndex)
{ 
  var selLength = theSel.length;
  if(selLength>0)
  {
    theSel.options[theIndex] = null;
  }
}

function moveOptions(theSelFrom, theSelTo)
{
  
  var selLength = theSelFrom.length;
  var selectedText = new Array();
  var selectedValues = new Array();
  var selectedCount = 0;
  
  var i;
  
  // Find the selected Options in reverse order
  // and delete them from the 'from' Select.
  for(i=selLength-1; i>=0; i--)
  {
    if(theSelFrom.options[i].selected)
    {
      selectedText[selectedCount] = theSelFrom.options[i].text;
      selectedValues[selectedCount] = theSelFrom.options[i].value;
      deleteOption(theSelFrom, i);
      selectedCount++;
    }
  }
  
  // Add the selected text/values in reverse order.
  // This will add the Options to the 'to' Select
  // in the same order as they were in the 'from' Select.
  for(i=selectedCount-1; i>=0; i--)
  {
    addOption(theSelTo, selectedText[i], selectedValues[i]);
  }
}
/* 
 * Ensemble de fonctions pour transferer des selections d'une fenetre a une autre
 *
 *        FIN 
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 */

/* 
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 * Tri les valeurs d'un SELECT
 *
 */
function sortArray()
{
    Liste= new Array();
    Obj= document.getElementById('SuggTous')

    for(i=0;i<Obj.options.length;i++)
    {
    Liste[i]=new Array()
    Liste[i][0]=Obj.options[i].value
    Liste[i][1]=Obj.options[i].text
    }

    Liste=Liste.sort()

    for(i=0;i<Obj.options.length;i++)
    {
    Obj.options[i].value=Liste[i][0]
    Obj.options[i].text=Liste[i][1]
    }
}



function allumerSousMenu(iObject)
{
    if(document.getElementById(iObject))
        document.getElementById(iObject).style.display = '';
}
function eteindreSousMenu(iObject)
{
    if(document.getElementById(iObject))
        document.getElementById(iObject).style.display = 'none';
}

function changerClass(iObject, iClass)
{
    iObject.className = iClass;                                        
}

 





