﻿//Pour sélectionner une zone dans le menu
function setMenuSgm(section) {
    $('li#menu' + section + ' a.menuNiveau1').css("color", "#E29E03");
    $("li#" + section).addClass("selected");
}




//------------Vérifier si on utilisera ces fonctions-------------//

//Pour aligner un item verticalement dans sa zone parent
function verticalAlign(item) {
    var ah = $(item).height();
    var ph = $(item).parent().height();
    var mh = (ph - ah) / 2;
    $(item).css('margin-top', mh);
}

//Pour préloader des images
//L'URL des images doit se trouver dans un array passé en argument
function preloadImages(ArrayImages) {
    var imagesCache = new Array();
    for (var i = 0; i < ArrayImages.length; i++) {
        newImage = new Image();
        newImage.src = ArrayImages[i].image;
        imagesCache.push(newImage);
    }
}

/**** Fonctions liées aux options de recherche ****/
//Pour valider et soumettre une recherche par mots cles en appuyant sur enter dans le textbox
function submitMotsClesOnEnter(target, event) {
    if (event.keyCode == '13') {

        var searchQuery = "/programmation/concerts-recherche.aspx?recherche=";
        var texteValidation = "Les mots clés ne sont pas valides";

        if (langue == "en") {
            searchQuery = "/program/concerts-search.aspx?recherche=";
            texteValidation = "The keywords are not valid";
        }

        var requete = $(target).val();
        requete = $.trim(requete);
        if (requete.length < 2 || requete == texteValidation) {
            $(target).css("color", "#ff3300");
            $(target).val(texteValidation);
            event.preventDefault();
            event.stopPropagation();
        }
        else {
            searchQuery += requete;
            //searchQuery += "&regarder=" + RadioButtonListCriteresRecherche.SelectedValue;

            if ($('#checkboxExact').is(':checked')) {
                searchQuery += "&exact=true";
            }
            window.location = searchQuery;
            event.preventDefault();
            event.stopPropagation();
        }
    }
}

//Pour valider et soumettre une recherche par mots cles sur un click de bouton
function submitMotsCles(target, event) {
    var searchQuery = "/programmation/concerts-recherche.aspx?recherche=";
    var texteValidation = "Les mots clés ne sont pas valides";
    var texteInvitation = "Trouver un spectacle...";

    if (langue == "en") {
        searchQuery = "/program/concerts-search.aspx?recherche=";
        texteValidation = "The keywords are not valid";
        texteInvitation = "Find a concert...";
    }

    var txbRecherche = $(target).parent().find(":text");
    var requete = $(txbRecherche).val();
    requete = $.trim(requete);
    if (requete.length < 2 || requete == texteValidation || requete == texteInvitation) {
        $(txbRecherche).css("color", "#ff3300");
        $(txbRecherche).val(texteValidation);
        event.preventDefault();
        event.stopPropagation();
    }
    else {
        searchQuery += requete;
        if ($('#checkboxExact').is(':checked')) {
            searchQuery += "&exact=true";
        }
        window.location = searchQuery;
    }
}


//Pour faire une reset sur un champ de recherche après validation
function resetMotsCles(target) {
    var texteValidation = "Les mots clés ne sont pas valides";
    var texteInvitation = "Trouver un spectacle...";

    if (langue == "en") {
        texteValidation = "The keywords are not valid";
        texteInvitation = "Find a concert...";
    }

    var requete = $(target).val();
    requete = $.trim(requete);
    if (requete == texteValidation || requete == texteInvitation) {
        $(target).val("");
        $(target).css("color", "#000000");
    }
}

//Pour valider et soumettre une recherche sur un click de bouton
function submitListe(target, event) {
    var liste = $(target).parent().find("select");

    if ($(liste).val() == "") {
        $(liste).css("color", "#ff3300");
        event.preventDefault();
        event.stopPropagation();
    }
    else {
        var progType = getQuerystring("progType");
        var dateselected = $(".visibleDate").val();
        var paramPrefix = "?";
        var requete = "";
        var pageSeries = "/programmation/concerts-serie.aspx?serie=";
        var pageScenes = "/programmation/concerts-scene.aspx";
        var pageGenres = "/programmation/concerts-genre.aspx";

        if (langue == "en") {
            pageSeries = "/program/concerts-serie.aspx?serie=";
            pageScenes = "/program/concerts-venue.aspx";
            pageGenres = "/program/concerts-genre.aspx";
        }

        var listeType = $(liste).attr("class");
        switch (listeType) {
            case "listeSeries":
                window.location = pageSeries + $(liste).val();
                break;
            case "listeGenres":
                requete = pageGenres;
                if (dateselected.length > 0) {
                    requete += paramPrefix + "dateselected=" + dateselected;
                    paramPrefix = "&";
                }
                if (progType.length > 0) {
                    requete += paramPrefix + "progType=" + progType;
                    paramPrefix = "&";
                }
                window.location = requete + paramPrefix + "genre=" + liste.val();
                break;
            case "listeScenes":
                requete = pageScenes;
                if (dateselected.length > 0) {
                    requete += paramPrefix + "dateselected=" + dateselected;
                    paramPrefix = "&";
                }
                if (progType.length > 0) {
                    requete += paramPrefix + "progType=" + progType;
                    paramPrefix = "&";
                }
                window.location = requete + paramPrefix + "scene=" + liste.val();
                break;
        }
    }
}

//Pour passer d'un type de programmation à l'autre (gratuit, payant, complete)
function switchProgType(target) {
    var location = window.location.href;
    if (location.indexOf("progType") > 0) {
        location = location.replace("complete", $(target).val());
        location = location.replace("payant", $(target).val());
        location = location.replace("gratuit", $(target).val());
    }
    else {
        if (location.indexOf("?") > 0) {
            location += "&progType=" + $(target).val();
        }
        else {
            location += "?progType=" + $(target).val();
        }
    }
    window.location = location;
}

//Pour soumettre une date à l'aide d'une liste de sélection
function submitAnnee(target, event) {
    var liste = $(target).parent().find("select");
    var progType = getQuerystring("progType");
    var requete = "/programmation/concerts-jour.aspx";

    if (langue == "en") {
        requete = "/program/concerts-day.aspx";
    }

    var paramPrefix = "?";

    if (progType.length > 0) {
        requete += paramPrefix + "progType=" + progType;
        paramPrefix = "&";
    }
    window.location = requete + paramPrefix + "dateselected=" + liste.val();
}

//Utilitaire pour extraire un querystring
function getQuerystring(key, default_) {
    if (default_ == null) default_ = "";
    key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
    var qs = regex.exec(window.location.href);
    if (qs == null)
        return default_;
    else
        return qs[1];
}

//Reset des listes après validation
function resetListe(target) {
    $(target).css("color", "#000000");
}

function setPageTitle(selector) {
    var texte = $(selector).text();
    document.title = texte + " - Les FrancoFolies de Montréal";
}

//Vider la boite de recherche Artiste
function resetTxbArtistes(target) {
    var texteInvitation = "Trouver un artiste ...";

    if (langue == "en") {
        texteInvitation = "Find an artist...";
    }

    var requete = $(target).val();
    requete = $.trim(requete);
    if (requete == texteInvitation) {
        $(target).val("");
    }
}
