if (typeof QMI === "undefined" || !QMI) {
    var QMI = {};
}
if (typeof QMI.widget === "undefined" || !QMI.widget) {
    QMI.widget = {};
}
if (typeof QMI.widget.faq === "undefined" || !QMI.widget.faq) {
    QMI.widget.faq = {};
}

QMI.widget.faq.faq = function(c, n) {
    this.code = c;
    this.name = n;
}

QMI.widget.faq.Availablefaq = new Array();


QMI.widget.faq.Availablefaq.getfaqByCode = function(code) {
    for (var i = 0; i < this.length; i++) {
        if (this[i].code == code) {
            return this[i];
        }
    }

    return null;
}

/****************/

// handler for the faqs page state

QMI.widget.faq.faqsHandler = {
    faqs : new Array(),




    init : function () {
        var h3s = QMI.widget.faq.faqsHandler.getfaqGroupNameNodes();

        for (var i = 0; i < h3s.length; i++) {
            YAHOO.util.Event.on(h3s[i], "mouseover", __faqGroupName_MouseOver);
            YAHOO.util.Event.on(h3s[i], "mouseout", __faqGroupName_MouseOut);
            YAHOO.util.Event.on(h3s[i], "click", __faqGroupName_Click);

        }
        
        var cur_tab = location.href.match(/(\#)sujet(\d+)/);

        cur_tab = ((cur_tab && (cur_tab.length == 3)) ? cur_tab[2] : 'S0');

        var current_tab = document.getElementById("S" + cur_tab);
        var div = YAHOO.util.Dom.getNextSibling(current_tab);

        YAHOO.util.Dom.removeClass(div, "faqSelections-Collaspe");
        YAHOO.util.Dom.addClass(div, "faqSelections-Expand");
        YAHOO.util.Dom.removeClass(current_tab, "faqGroupNameOut");

        YAHOO.util.Dom.addClass(current_tab, "faqGroupNameSelected");
    },
    initAndTracking : function () {
        var h3s = QMI.widget.faq.faqsHandler.getfaqGroupNameNodes();

        for (var i = 0; i < h3s.length; i++) {
            YAHOO.util.Event.on(h3s[i], "mouseover", __faqGroupName_MouseOver);
            YAHOO.util.Event.on(h3s[i], "mouseout", __faqGroupName_MouseOut);

            YAHOO.util.Event.on(h3s[i], "click", __faqGroupName_Click_And_Track);

        }

        var cur_tab = location.href.match(/(\#)sujet(\d+)/);

        cur_tab = ((cur_tab && (cur_tab.length == 3)) ? cur_tab[2] : 'S0');

        var current_tab = document.getElementById("S" + cur_tab);
        var div = YAHOO.util.Dom.getNextSibling(current_tab);

        YAHOO.util.Dom.removeClass(div, "faqSelections-Collaspe");
        YAHOO.util.Dom.addClass(div, "faqSelections-Expand");
        YAHOO.util.Dom.removeClass(current_tab, "faqGroupNameOut");

        YAHOO.util.Dom.addClass(current_tab, "faqGroupNameSelected");
    },



    getfaqGroupNameNodes : function() {
        var h3s = document.getElementsByTagName("h3");
        var arr = new Array();

        for (var i = 0; i < h3s.length; i++) {
            if (YAHOO.util.Dom.hasClass(h3s[i], "faqGroupName")) {
                arr.push(h3s[i]);
            }
        }

        return arr;
    }

    /****/
}


// handler for the faqs page state

QMI.widget.faq.faqsHandlerPlus = {
    faqs : new Array(),



    init : function () {


        var lis = QMI.widget.faq.faqsHandlerPlus.getfaqGroupNameNodes();

        for (var i = 0; i < lis.length; i++) {

            YAHOO.util.Event.on(lis[i], "click", __faqGroupNameLI_Click);
        }


        var listoClose = QMI.widget.faq.faqsHandlerPlus.getfaqCloseGroupNameNodes();

        for (var i = 0; i < listoClose.length; i++) {

            YAHOO.util.Event.on(listoClose[i], "click", __faqGroupNameLItoClose_Click);
        }

    },



    getfaqGroupNameNodes : function() {

        var leA = YAHOO.util.Dom.getElementsByClassName("faq-plus", "a", "bd");
        var arr = new Array();

        for (var i = 0; i < leA.length; i++) {


            arr.push(leA[i]);

        }


        return arr;
    },

    getfaqCloseGroupNameNodes : function() {

        var leA = YAHOO.util.Dom.getElementsByClassName("faq-moins", "a", "bd");
        var arr = new Array();

        for (var i = 0; i < leA.length; i++) {


            arr.push(leA[i]);

        }


        return arr;
    }

    /****/
}


function __faqGroupName_MouseOver() {
    var div = YAHOO.util.Dom.getNextSibling(this);

    if (YAHOO.util.Dom.hasClass(div, "faqSelections-Collaspe")) {
        YAHOO.util.Dom.removeClass(this, "faqGroupNameOut");
        YAHOO.util.Dom.addClass(this, "faqGroupNameOver");
    }
}

function __faqGroupName_MouseOut() {
    var div = YAHOO.util.Dom.getNextSibling(this);
    if (YAHOO.util.Dom.hasClass(div, "faqSelections-Collaspe")) {
        YAHOO.util.Dom.removeClass(this, "faqGroupNameOver");
        YAHOO.util.Dom.addClass(this, "faqGroupNameOut");

    }
}
function __faqGroupName_Switch(elt){
    var div = YAHOO.util.Dom.getNextSibling(elt);
    if (YAHOO.util.Dom.hasClass(div, "faqSelections-Collaspe")) {
        YAHOO.util.Dom.removeClass(elt, "faqGroupNameOut");
        YAHOO.util.Dom.removeClass(elt, "faqGroupNameOver");
        YAHOO.util.Dom.addClass(elt, "faqGroupNameSelected");


        YAHOO.util.Dom.removeClass(div, "faqSelections-Collaspe");
        YAHOO.util.Dom.addClass(div, "faqSelections-Expand");
    }
    else {
        YAHOO.util.Dom.removeClass(elt, "faqGroupNameSelected");
        YAHOO.util.Dom.addClass(elt, "faqGroupNameOver");


        YAHOO.util.Dom.removeClass(div, "faqSelections-Expand");
        YAHOO.util.Dom.addClass(div, "faqSelections-Collaspe");
    }
}
function __faqGroupName_Click() {
   __faqGroupName_Switch(this);
}
function __faqGroupName_Click_And_Track() {


    var isOpen= YAHOO.util.Dom.hasClass(this, 'faqGroupNameSelected');
    if (!isOpen){
        var title = this.innerHTML;
        try {
        if (pageTracker){
             pageTracker._trackEvent('Magasins', 'Consultation de la fiche', title);            
        }
        }catch(err){}

    }
    
    __faqGroupName_Switch(this);
}


function __faqGroupNameLI_Click() {
    var li = YAHOO.util.Dom.getNextSibling(this.parentNode.parentNode);
    if (YAHOO.util.Dom.hasClass(this.parentNode.parentNode, "base")) {
        YAHOO.util.Dom.removeClass(li, "hide");
        YAHOO.util.Dom.addClass(li, "show");


        YAHOO.util.Dom.removeClass(this.parentNode.parentNode, "base");
        YAHOO.util.Dom.addClass(this.parentNode.parentNode, "base-open");
    }

}

function __faqGroupNameLItoClose_Click() {
    var li = YAHOO.util.Dom.getPreviousSibling(this.parentNode.parentNode);
    if (YAHOO.util.Dom.hasClass(li, "base-open")) {
        YAHOO.util.Dom.removeClass(li, "base-open");
        YAHOO.util.Dom.addClass(li, "base");


        YAHOO.util.Dom.removeClass(this.parentNode.parentNode, "show");
        YAHOO.util.Dom.addClass(this.parentNode.parentNode, "hide");

    }

}
	
	
	
