/*
'---
'--- JSFonctions.js - Page de fonction en Javascript
'---
'--- Par Sacha Vincent
'---     CIBLE Solutions d'affaires
'---
'--- RÉVISION
'--- 2005/08/11, SJV	Création et programmation
'--- 2005/09/26, SJV	Ajout de la fonction OuvrirCircuit()
'--- 2005/12/18, Fcl-	Ajout des fonctions DoOuvrirFiche(), DoOuvrirNouvelle() et DoOuvrirForfait()
'--- 2005/12/19, Fcl-	Ajout de DoOuvrirImage()
'--- 2006/02/21, Fcl-	Traductions
*/


//-------------------------------------------------------------------------------------
//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", resizable="yes");
	fenetre.focus()
}

//---------------------------------------------------------------------
//Ouvrir un circuit touristique dans une fenêtre
//---------------------------------------------------------------------
function OuvrirCircuit(iNomPage, iTitre, iWidth, iHeight)
{
	fenetre = window.open(iNomPage, iTitre, "top=0, left=0, width=" + iWidth + ", height=" + iHeight + ", toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no");
	fenetre.focus()
}

//---------------------------------------------------------------------
// DoLegende() - Ouvre la légende dans une fenêtre
//---------------------------------------------------------------------
function DoLegende(iLangue)
{
	OuvrirFenetre("legende.php?L=" + iLangue, "Legende", 450, 555);
}


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

//---------------------------------------------------------------------
//Change l'état de certaines cases à cocher (switch)
//---------------------------------------------------------------------
function ToggleCheck(CheckItem)
{
	
	if(CheckItem.substring(0,6)=="Seules")
	    var CheckItem2="Toutes" + CheckItem.substring(6);
	else
	    var CheckItem2="Seules" + CheckItem.substring(6);
	    

	var Check1=GetReference(CheckItem);
	var Check2=GetReference(CheckItem2);


	if(Check1.checked)
	{
        if(Check2.checked)
        {
			Check1.checked=true;
			Check2.checked=false;
		}
	}
	else
	{
        if(Check1.checked)
        {
			Check2.checked=true;
			Check1.checked=false;
		}
	}
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* 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);
       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", 630, 600);
   PRINTFORM.submit();
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* OuvrirPrintMap() - Ouvre la page pour l'impression
*/
function OuvrirPrintMap()
{
   OuvrirFenetre("", "PRINTWINDOW", 483, 525);
   FormPrint.submit();   
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DoOuvrirFiche() - Ouvre un pop-up présentant une fiche
 *
 * Paramètres:
 *    iTypeFiche   - Le type de la fiche (voir constantes ci-bas)
 *    iFicheID     - Le ID de la fiche à ouvrir (type: Integer)
 *    iLangue      - La langue à utiliser ('fr' ou 'en')
 */

// NOTE: Utilisez ici les mêmes valeurs que dans la base de données
var TYPEFICHE_HEBERGEMENTS = 10;
var TYPEFICHE_RESTAURANTS = 11;
var TYPEFICHE_ATTRAITS = 12;
var TYPEFICHE_EVENEMENTS = 13;
var TYPEFICHE_VILLESVILLAGES = 14;
var TYPEFICHE_SERVICES = 15;

function DoOuvrirFiche(iTypeFiche, iFicheID, iLangue)
{
    // On commence par former l'URL en fonction du type de fiche
    var Url = "";
    
    switch (iTypeFiche)
    {
        case TYPEFICHE_HEBERGEMENTS:
            Url = "/fiche_hebergement.php"
            break;
            
        case TYPEFICHE_RESTAURANTS:
            Url = "/fiche_restaurant.php"
            break;

        case TYPEFICHE_ATTRAITS:
            Url = "/fiche_attrait.php"
            break;

        case TYPEFICHE_EVENEMENTS:
            Url = "/fiche_evenement.php"
            break;

        case TYPEFICHE_VILLESVILLAGES:
            Url = "/fiche_villevillage.php"
            break;

        case TYPEFICHE_SERVICES:
            Url = "/fiche_partenaire.php"
            break;
    }
    
    // On ajoute la langue et le ID de la fiche à l'URL
    Url += "?L=" + iLangue + "&FicheID=" + iFicheID;

    // 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 "Fiches"
    var FichesWin = window.open(Url, "Fiches", 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 (!FichesWin)
    {
        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
    {
        FichesWin.focus();
    }
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 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();
    }
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DoOuvrirForfait() - Ouvre un pop-up présentant un forfait
 *
 * Paramètres:
 *    iForfaitID  - Le ID du forfait à ouvrir (type: Integer)
 *    iLangue     - La langue à utiliser ('fr' ou 'en')
 */
function DoOuvrirForfait(iForfaitID, iLangue)
{
    // On commence par former l'URL
    var Url = "/fiche_forfait.php"
        + "?L=" + iLangue
        + "&FicheID=" + iForfaitID;

    // 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 "Forfaits"
    var ForfaitsWin = window.open(Url, "Forfaits", 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 (!ForfaitsWin)
    {
        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
    {
        ForfaitsWin.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();
    }
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DoInsertCoordonnes() - Insert les coordonnées dans les zones textes appropriées
 *
 * Paramètres:
 *    iImageID    - Le ID de l'image à ouvrir (type: Integer)
 *    iLangue     - La langue à utiliser ('fr' ou 'en')
 */
function DoInsertCoordonnes(iLong, iLat)
{
    // On trouve la référence des objets dans la page
	ObjLongitude = GetReference("Longitude");
	ObjLatitude = GetReference("Latitude");
    
    // On leurs donnent la valeur du membre sélectionné
	ObjLongitude.value = iLong;
	ObjLatitude.value = iLat;
}

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DoGetInformations() - Insert les informations dans les zones textes appropriées
 *
 * Paramètres:
 *
 */
function DoGetInformations(iImportationManuelle)
{
    ObjCodePostal = GetReference("CodePostal"); 
    ObjAdresse = GetReference("Adresse");
    ObjNom_Fr = GetReference("Nom_Fr");
    ObjVille = GetReference("MunicipaliteID");
    
    ObjIM = GetReference("IM");
         
    if(iImportationManuelle == 1)
        ObjIM.value = iImportationManuelle;
   else
        ObjIM.value = "";
        
    if(ObjCodePostal.value != "" && (ObjAdresse.value != "" || ObjVille.value != "")) 
    {    
        ObjGeo_codepostal = GetReference("geo_codepostal"); 
        ObjGeo_adresse = GetReference("geo_adresse");
        ObjGeo_nom = GetReference("geo_nom");
        ObjGeo_ville = GetReference("geo_ville");
        
        ObjGeo_codepostal.value = ObjCodePostal.value;
        ObjGeo_adresse.value = ObjAdresse.value;
        ObjGeo_nom.value = ObjNom_Fr.value;
        ObjGeo_ville.value = ObjVille.options[ObjVille.selectedIndex].text;
        
        FormLocalisationInteractive.submit();  
    }
}

