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");

        //Change the anchor for a question
        var cur_question = location.href.match(/(\d+)question(\d+)/);
        if(cur_question) {
            var cur_que = ((cur_question && (cur_question.length == 3)) ? cur_question[2] : '');
            location.href = '#' + "S" + cur_tab + 'Q' + cur_que;
        }
	},
	
	
	
	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_Click(){
		var div = YAHOO.util.Dom.getNextSibling(this);
		if(YAHOO.util.Dom.hasClass(div, "faqSelections-Collaspe")){
			YAHOO.util.Dom.removeClass(this, "faqGroupNameOut");
			YAHOO.util.Dom.removeClass(this, "faqGroupNameOver");
			YAHOO.util.Dom.addClass(this, "faqGroupNameSelected");
			
			
			YAHOO.util.Dom.removeClass(div, "faqSelections-Collaspe");
			YAHOO.util.Dom.addClass(div, "faqSelections-Expand");
		}
		else {
			YAHOO.util.Dom.removeClass(this, "faqGroupNameSelected");
			YAHOO.util.Dom.addClass(this, "faqGroupNameOver");
			
			
			YAHOO.util.Dom.removeClass(div, "faqSelections-Expand");
			YAHOO.util.Dom.addClass(div, "faqSelections-Collaspe");
		}
	}
	
	
	
	
	
	
	
	
	
	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");
			
		}
	
	}
	
	
	
