var SLIDEUPALL = "Fold up all";
var SLIDEDOWNALL = "Fold down all";

var showNavFAQ = function(topicId, subTopicId) {
    if (topicId != "") {
        $("#" + topicId).parents("li").addClass("currentTopic");
        $("#" + topicId).parents("li").addClass("highlighted");
        var subTopicsToShow = $("#" + topicId).next("ul");
        if (subTopicsToShow != "undefined") {
            subTopicsToShow.show();
            subTopicsToShow.addClass("ulOpened");
        }
    }
    if (subTopicId != "") {
        $("#" + subTopicId).addClass("currentSubTopic");
    }
}

var initNavFAQ = function() {
    $(".topicsList li ul.topicLevel2").hide();
    $(".topicsList li ul.topicLevel2").css("visibility", "visible");
    $(".topicsList a.topicLevel1").click(function() {
        var subTopicsToShow = $(this).next("ul.topicLevel2");
        if (subTopicsToShow != "undefined") {
            if (!subTopicsToShow.hasClass("ulOpened")) {
                $(".ulOpened").slideUp();
                $(".ulOpened").removeClass("ulOpened");
                $(".currentTopic").each(function() {
                    if (!$(this).hasClass("highlighted")) {
                        $(this).removeClass("currentTopic");
                    }
                });
                $(this).parents("li").addClass("currentTopic");
                subTopicsToShow.slideDown();
                subTopicsToShow.addClass("ulOpened");
            }
            else {
                if (!$(this).parents("li").hasClass("highlighted")) {
                    subTopicsToShow.slideUp();
                    $(".ulOpened").removeClass("ulOpened");
                    $(this).parents("li").removeClass("currentTopic");
                    var currentSubTopics = $(".highlighted").find("ul.topicLevel2").eq(0);
                    currentSubTopics.slideDown();
                    currentSubTopics.addClass("ulOpened");
                }
            }
        }
        return false;
    });
}

var nbOpenedQuestions = 2;
var initCarousel = function() {
    var directQuestion = getParam("index");
    $(".carousel dd").hide();
    $(".carousel dd").css("visibility", "visible");
    if (directQuestion > 0) {
        $(".carousel dd").eq(directQuestion - 1).show();
        $(".carousel dd").eq(directQuestion - 1).addClass("ddOpened");
        $(".carousel dt a").eq(directQuestion - 1).addClass("selectedItem");
    }
    else {
        if ($(".carousel dd").size() >= nbOpenedQuestions) {
            for (i = 0; i < nbOpenedQuestions; i++) {
                $(".carousel dd").eq(i).show();
                $(".carousel dd").eq(i).addClass("ddOpened");
                $(".carousel dt a").eq(i).addClass("selectedItem");
            }
        }
        else {
            $(".carousel dd").eq(0).show();
            $(".carousel dd").eq(0).addClass("ddOpened");
            $(".carousel dt a").eq(0).addClass("selectedItem");
        }
    }
    
    $(".carousel dt a").click(function() {
        var ddToShow = $(this).parent("dt").next("dd");
        if (ddToShow != "undefined") {
            if (!ddToShow.hasClass("ddOpened")) {
                ddToShow.slideDown();
                ddToShow.addClass("ddOpened");
                $(this).addClass("selectedItem");
            }
            else {
                ddToShow.slideUp();
                ddToShow.removeClass("ddOpened");
                $(this).removeClass("selectedItem");
            }
        }
        return false;
    });

    $(".expandAll").click(function() {
        if (!$(this).hasClass("foldUpAll")) {
            $(".ddOpened").removeClass("ddOpened");
            $(".carousel dd").slideDown();
            $(".carousel dd").addClass("ddOpened");
            $(".carousel dt a").addClass("selectedItem");
            $(this).addClass("foldUpAll");
            $(this).text(SLIDEUPALL);
        }
        else {
            $(".ddOpened").removeClass("ddOpened");
            $(".carousel dd").slideUp();
            $(".carousel dt a").removeClass("selectedItem");
            $(this).removeClass("foldUpAll");
            $(this).text(SLIDEDOWNALL);
        }
        return false;
    });
}

var initPrintFAQ = function(){
	$(".printThis").click(function() {		
		if(!$("#printArea").is("dl")){
			var divToPrint = '<div id="printArea"></div>';
			$("body").append(divToPrint);
		}
		$("#printArea").empty();
		$("#printArea").html($(this).parents("dd").prev("dt").html() + $(this).parents("dd").html());
     	$("#printArea").printArea();
		return false;
    });
  	
  	$(".printAll").click(function() {
  	    if (!$("#printAreaAll").is("div")) {
  	        var divToPrint = '<div id="printAreaAll"></div>';
  	        $("body").append(divToPrint);
  	    }
  	    $("#printAreaAll").empty();
  	    $("#printAreaAll").html($(".carouselContainer").html());
  	    $("#printAreaAll dd").show();
  	    $("#printAreaAll dl").css("text-align", "left");
  	    $("#printAreaAll dl").css("background", "#fff");
  	    $("#printAreaAll dt").css("background", "#fff");
  	    $("#printAreaAll dt").css("text-align", "left");
  	    $("#printAreaAll dd").css("text-align", "left");
  	    $("#printAreaAll").printArea();  	    
  	    return false;
  	});}

var getParam = function(name) {
    var start = location.search.indexOf("?" + name + "=");
    if (start < 0) start = location.search.indexOf("&" + name + "=");
    if (start < 0) return '';
    start += name.length + 2;
    var end = location.search.indexOf("&", start) - 1;
    if (end < 0) end = location.search.length;
    var result = '';
    for (var i = start; i <= end; i++) {
        var c = location.search.charAt(i);
        result = result + (c == '+' ? ' ' : c);
    }
    return unescape(result);
}

$(document).ready(function() {
    if ($(".carousel").is("dl")) initCarousel();
    if ($(".printThis").is("a")) initPrintFAQ();
    if ($(".topicsList").is("ul")) initNavFAQ();
});
