var lang_code = location.pathname.split("/", 2);
var language = (lang_code[1] == "en") ? "en" : "fr";

$.getScript('../js/localization/messages_'+language+'.js');

$(document).ready(function()
{
	$('body').addClass(language);

	setMenuMargin();

	if($('#home_slideshow').length > 0) createSlideshow();

	if($('#beauty_slideshow').length > 0) createBeautySlideshow();

	if($('#resize-text').length > 0) setFontSize();

	if($('#questionnaire').length > 0) createQuestionnary();

	if($('#advices-list').length > 0) advices_tabs.init('advices');
        
 	if($('#beauty-list').length > 0) advices_tabs.init('beauty');
    
	$("input").placeholder();
    $("a[rel^='prettyPhoto']").prettyPhoto({theme: 'facebook'});
    
    
    if($('#home_popup').length)
    {
    	//$("a[rel^='prettyPhoto']").prettyPhoto();
    }
    
    if($('#footer_masante').length)
    {
		// KRUDGE ALERT! Quick fix for sticky footer on pages where
		// content is loaded dynamically (followup page)
		setTimeout(function() {
			if($('body').height() < $(window).height() - 50)
			{
				$('#footer_masante')
					.css('position', 'absolute')
					.css('bottom', '0');
			}
			
		}, 500);
    	
    	// if($('#condition_popup').length)
	    // {
	    	// $("a[rel^='prettyPhoto']").prettyPhoto();
	    // }
    }
    
    if( $( '.masante-video-link' ).length )
    	$( '.masante-video-link' ).unbind('click').click(changeVideo);
    	
	$(".gallery:first a[rel^='prettyPhoto']").prettyPhoto({animationSpeed:'slow',theme:'light_square',slideshow:2000, autoplay_slideshow: false});
	$(".gallery:gt(0) a[rel^='prettyPhoto']").prettyPhoto({animationSpeed:'fast',slideshow:10000});

	$("#custom_content a[rel^='prettyPhoto']:first").prettyPhoto({
		custom_markup: '<div id="map_canvas" style="width:260px; height:265px"></div>',
		changepicturecallback: function(){ initialize(); }
	});

	$("#custom_content a[rel^='prettyPhoto']:last").prettyPhoto({
		custom_markup: '<div id="bsap_1237859" class="bsarocks bsap_d49a0984d0f377271ccbf01a33f2b6d6" style="height:260px"></div><div id="bsap_1251710" class="bsarocks bsap_d49a0984d0f377271ccbf01a33f2b6d6"></div>',
		changepicturecallback: function(){ _bsap.exec(); }
	});

	if($("input#textfield-header").length)
	{
		$.ajaxSetup( { type: "POST" } );
		$("input#textfield-header").autocomplete({
			source : "/search/ajaxSearch/"+language+".html",
			minLength: 3
		});
	}

	if($("input#dico_medi_search").length)
	{
		$.ajaxSetup( { type: "POST" } );
		$("input#dico_medi_search").autocomplete({
			source : "/brunet_dico/ajaxMediSearch/"+language+".html",
			minLength: 3
		});
	}
	if($("input#dico_disease_search").length)
	{
		$.ajaxSetup( { type: "POST" } );
		$("input#dico_disease_search").autocomplete({
			source : "/brunet_disease/ajaxDiseaseSearch/"+language+".html",
			minLength: 3
		});
	}
	if($("input#dico_natural_products_search").length)
	{
		$.ajaxSetup( { type: "POST" } );
		$("input#dico_natural_products_search").autocomplete({
			source : "/brunet_natural_products/ajaxNaturalProductsSearch/"+language+".html",
			minLength: 3
		});
	}
	if($("input#dico_vitamin_search").length)
	{
		$.ajaxSetup( { type: "POST" } );
		$("input#dico_vitamin_search").autocomplete({
			source : "/brunet_vitamin/ajaxVitaminSearch/"+language+".html",
			minLength: 3
		});
	}
});



var advices_tabs = (function()
{
	var t = {};

	function changeTab(menu, next)
	{
		menu.parent().children('div').hide();
		menu.parent().find('.'+next).show();
		menu.find('li').removeClass('active');
		menu.find('a[href='+next+']').parent().addClass('active');
	}

	t.init = function(listName)
	{
		$('.tabs').parent().find('div:not(:first)').hide();
		$('#'+listName+'-list .tabs a').click(function()
		{
			changeTab($(this).parent().parent(), $(this).attr('href'));
			return false;
		});
	};

	return t;
})();

// Set menu button margin to fit in 960px
function setMenuMargin()
{
	var totalWidth = parseInt($("div.centered-content").css("width"));
	var menuWidth = parseInt($("#menu").width());
	var maSanteWidth = parseInt($("#health-button").width());
	var picsWidth = parseInt($("#pics-button").width());
	var spacerNumber = 2;

	var margin = (totalWidth - (menuWidth + maSanteWidth + picsWidth)) / spacerNumber;

	// TEMPORARY FIX
	if(margin < 0)
		margin = 4;

	$("#health-button").css("margin-right", margin);
}

function clearInputText(input)
{
	if (!input._haschanged)
	{
		input.value = "";
	}

	input._haschanged = true;
}

function getRadioValue(radio)
{
	for(var i = 0; i < radio.length; i++)
		if (radio[i].checked)
			return radio[i].value;
	return 0;
}

/////////////////////////////////////////
//S O C I A L S   U R L   E N C O D E //
/////////////////////////////////////////
function fbs_click()
{
	var u = location.href;
	var t = document.title;

	window.open('http://www.facebook.com/sharer.php?u=' + encodeURIComponent(u) + '&t=' + encodeURIComponent(t), 'sharer', 'toolbar=0,status=0,width=626,height=436');

	return false;
}

function tw_click()
{
	var u = location.href;
	var t = document.title;

	window.open('http://twitter.com/home?status=' + encodeURIComponent(t) + ' ' + encodeURIComponent(u), 'sharer', 'toolbar=0,status=0,width=800,height=400');

	return false;
}

///////////////////////////////
// F O N T   R E S I Z E R  //
//////////////////////////////
function setFontSize()
{
	var originalFontSize = $('body').css('font-size');

	// Reset Font Size
	$(".resetFont").click(function()
	{
		$('body').css('font-size', originalFontSize);

		return false;
	});

	// Increase Font Size
	$(".increaseFont").click(function()
	{
		var currentFontSize = $('body').css('font-size');
		var currentFontSizeNum = parseFloat(currentFontSize, 10);
		var newFontSize = currentFontSizeNum * 1.2;

		$('body').css('font-size', newFontSize);

		return false;
	});

	// Decrease Font Size
	$(".decreaseFont").click(function()
	{
		var currentFontSize = $('body').css('font-size');
		var currentFontSizeNum = parseFloat(currentFontSize, 10);
		var newFontSize = currentFontSizeNum * 0.8;

		$('body').css('font-size', newFontSize);

		return false;
	});
}

////////////////////////
// S L I D E S H O W //
///////////////////////
var isTweening = false;
var timer;

function createSlideshow()
{
	var settings =
	{
		thumbListId : "thumbs",
		imgViewerId : "viewer",
		activeClass : "active",
		lastButtonClass : "last-slide-button",
		hiddenButtonClass : "hidden-slide-button",
		activeTitle : "",
		loaderTitle : "",
		loaderImage : "../images/loader.gif"
	};

	var thumbLinks = $("#" + settings.thumbListId).find("a");
	var thumbListItems = $("#" + settings.thumbListId).find("li");
	var numberOfThumb = thumbLinks.length;
	var positionActiveElement = 0;

	var hightlight = function(elt)
	{
		liElement = elt.parent();
		positionActiveElement = liElement.parent().children().index(liElement.get(0));

		/*thumbLinks.animate({
		    width: Math.round(370/numberOfThumb)+'px'
		  }, 400);*/
		thumbLinks.removeClass(settings.activeClass).removeAttr("title");

		elt.addClass(settings.activeClass).attr("title", settings.activeTitle);

		if(positionActiveElement>3)
		{
			thumbListItems.eq(positionActiveElement-4).removeClass().addClass(settings.hiddenButtonClass);
			thumbListItems.eq(positionActiveElement-1).removeClass();
			thumbListItems.eq(positionActiveElement).removeClass().addClass(settings.lastButtonClass);
		}
		else
		{
			thumbListItems.each(function(index){
				if(index>3)
					thumbListItems.eq(index).removeClass().addClass(settings.hiddenButtonClass);
			})

			thumbListItems.eq(0).removeClass();
			thumbListItems.eq(1).removeClass();
			thumbListItems.eq(2).removeClass();
			thumbListItems.eq(3).removeClass().addClass(settings.lastButtonClass);
		}

		/*elt.animate({
		    width: 170+'px'
		  }, 500);*/
	};

	var loader = $(document.createElement("img")).attr(
	{
		alt : settings.loaderTitle,
		title : settings.loaderTitle,
		src : settings.loaderImage
	});

	hightlight(thumbLinks.eq(0));

	// Create a p element before the thumbs (button) list
	// add an id:viewer and create an img tag in p element
	// add the src link to img tag.
	$("#" + settings.thumbListId).before(
		$(document.createElement("p"))
			.attr("id", settings.imgViewerId)
			.append($(document.createElement("a")).attr(
				{
					href : hrefs[0]
				})
				.append($(document.createElement("img")).attr(
					{
						alt : alts[0],
						src : thumbLinks.eq(0).attr("href")
					})
				)
			)
		);

	var imgAnchor = $("#" + settings.imgViewerId).children("a");
	var bigPic = imgAnchor.children("img");

	var displayImage = function(id)
	{
		isTweening = true;
		imgAnchor.html(loader);

		bigPic.load(function()
		{
			imgAnchor.attr("href", hrefs[id]);
			imgAnchor.html($(this).fadeIn(400, function()
				{
					isTweening = false;
				}
			));
		})
		.attr(
		{
			"src" : thumbLinks.eq(id).attr("href"),
			"alt" : alts[id]
		});
	}


	// Autoplay
	var currentImage = 0;
	function nextImage()
	{
		if(currentImage == thumbLinks.length - 1)
			currentImage = 0;
		else
			currentImage++;

		hightlight(thumbLinks.eq(currentImage));
		displayImage(currentImage);

		timer = setTimeout(nextImage, 4000);
	}

	timer = setTimeout(nextImage, 4000);

	thumbLinks.click(function(e)
	{
		clearTimeout(timer);

		// Prevent Browser from following the img link
		e.preventDefault();

		var $this = $(this);
		var id = thumbLinks.index($this);

		if (bigPic.attr("src") == thumbLinks.eq(id).attr("href"))
			return;

		if (isTweening)
			return;

		hightlight($this);
		displayImage(id);
	});

	$('.slide-description').truncatable({limit: 34});
}

function createBeautySlideshow()
{
	var settings =
	{
		thumbListId : "thumbs",
		imgViewerId : "viewer",
		activeClass : "active",
		lastButtonClass : "last-slide-button",
		hiddenButtonClass : "hidden-slide-button",
		activeTitle : "",
		loaderTitle : "",
		loaderImage : "../images/loader.gif"
	};

	var thumbLinks = $("#" + settings.thumbListId).find("a");
	var thumbListItems = $("#" + settings.thumbListId).find("li");
	var numberOfThumb = thumbLinks.length;
	var thumbLinkWidth = (960 - ((numberOfThumb-1) + numberOfThumb * 25)) / numberOfThumb;
	var positionActiveElement = 0;

	thumbLinks.css('width', Math.floor(thumbLinkWidth) + 'px');
	thumbLinks.last().css('width', Math.ceil(thumbLinkWidth) + 'px');

	var hightlight = function(elt)
	{
		liElement = elt.parent();
		positionActiveElement = liElement.parent().children().index(liElement.get(0));

		thumbLinks.removeClass(settings.activeClass).removeAttr("title");

		elt.addClass(settings.activeClass).attr("title", settings.activeTitle);
	};

	var loader = $(document.createElement("img")).attr(
		{
			alt : settings.loaderTitle,
			title : settings.loaderTitle,
			src : settings.loaderImage
		});

	hightlight(thumbLinks.eq(0));

	// Create a p element before the thumbs (button) list
	// add an id:viewer and create an img tag in p element
	// add the src link to img tag.
	$("#" + settings.thumbListId).before(
		$(document.createElement("p"))
			.attr("id", settings.imgViewerId)
			.append($(document.createElement("a")).attr(
			{
				href : hrefs[0]
			})
			.append($(document.createElement("img")).attr(
			{
				alt : alts[0],
				src : thumbLinks.eq(0).attr("href")
			})
		)
		)
	);

	var imgAnchor = $("#" + settings.imgViewerId).children("a");
	var bigPic = imgAnchor.children("img");

	var displayImage = function(id)
	{
		isTweening = true;
		imgAnchor.html(loader);

		bigPic.load(function()
		{
			imgAnchor.attr("href", hrefs[id]);
			imgAnchor.html($(this).fadeIn(400, function()
				{
					isTweening = false;
				}
			));
		})
			.attr(
			{
				"src" : thumbLinks.eq(id).attr("href"),
				"alt" : alts[id]
			});
	}


	// Autoplay
	var currentImage = 0;
	function nextImage()
	{
		if(currentImage == thumbLinks.length - 1)
			currentImage = 0;
		else
			currentImage++;

		hightlight(thumbLinks.eq(currentImage));
		displayImage(currentImage);

		if(numberOfThumb > 1)
			timer = setTimeout(nextImage, 4000);
	}

	if(numberOfThumb > 1) {
		timer = setTimeout(nextImage, 4000);
	} else {
		timer = null;
	}

	thumbLinks.click(function(e)
	{
		if(timer !== null) {
			clearTimeout(timer);
		}

		// Prevent Browser from following the img link
		e.preventDefault();

		var $this = $(this);
		var id = thumbLinks.index($this);

		if (bigPic.attr("src") == thumbLinks.eq(id).attr("href"))
			return;

		if (isTweening)
			return;

		hightlight($this);
		displayImage(id);
	});

	var charsLimits = 34 * (7-numberOfThumb); 
	
	$('.slide-description').truncatable({limit: charsLimits});
}

//////////////////////////////
//Q U E S T I O N N A R Y //
/////////////////////////////
function createQuestionnary()
{
	initQuestionnaire();
	$("#question-total").html(getQuestionNumber());

	for (i = 0; i < getQuestionNumber(); ++i)
	{
		$("p.question-nav").append("<span id=" + i + ">&#8226;</span> ");
	}

	var height = 0;
	$("#questions").find("li").each(function(index)
	{
		if($(this).height() > height)
			height = $(this).height();
	});

	$("#questions li").css("height", height);
	$("#questionnaire-result").css("height", $("#questions li").css("height"));
	changeQuestionId(1);
	$('#questions').jCarouselLite({btnNext: "#quest-next-button", btnPrev: "#quest-prev-button", btnGo: ["#quest-restart"], visible: 1, circular: false});

	$("#quest-submit").click(function()
	{
		if($('input[name="question'+ getQuestionNumber() + '"]').attr('type') == "radio" && getAnswerValue(getQuestionNumber()) == undefined)
		{
			displayAlert();
			return false;
		}

		$("#questions").hide();
		$("#quest-submit").hide();
		$("#quest-prev-button").hide();
		$("#quest-restart").show();
		$("#questionnaire-result").show();

		if($("#diabete-form").length > 0)
			getDiabeteResult();
		else if($("#heart-form").length > 0)
			getHeartResult();
		else if($("#imc-form").length > 0)
			getIMCResult();
		return false;
	});
}

function getDiabeteResult()
{
	var poid 			= document.diabete.question1[0].checked ? document.diabete.question1[0].value : document.diabete.question1[1].value;
	var exercise		= document.diabete.question2[0].checked ? document.diabete.question2[0].value : document.diabete.question2[1].value;
	var moyenAge		= document.diabete.question3[0].checked ? document.diabete.question3[0].value : document.diabete.question3[1].value;
	var age				= document.diabete.question4[0].checked ? document.diabete.question4[0].value : document.diabete.question4[1].value;
	var accouchement	= document.diabete.question5[0].checked ? document.diabete.question5[0].value : document.diabete.question5[1].value;
	var freresoeur		= document.diabete.question6[0].checked ? document.diabete.question6[0].value : document.diabete.question6[1].value;
	var parente			= document.diabete.question7[0].checked ? document.diabete.question7[0].value : document.diabete.question7[1].value;

	var indice = ((poid/1) + (exercise/1) + (moyenAge/1) + (age/1) + (accouchement/1) + (freresoeur/1) + (parente/1));

	switch(getIndiceDiabete(indice))
	{
		case 1:
			$("#result1").show();
			$("#questionnaire-result").css("height", $("#result1").height());
			break;

		case 2:
			$("#result2").show();
			$("#questionnaire-result").css("height", $("#result2").height());
			break;

		default:
			$("#result3").show();
			$("#questionnaire-result").css("height", $("#result3").height());
	}
}

function getHeartResult()
{
	var tailleHanche = document.heart.question5.value;
	tailleHanche = tailleHanche.replace(/, /g, ".");

	var message = "";
	if(isTailleHancheValid(tailleHanche))
		message = "Le ratio taille/hanche doit être un chiffre positif";

	var indice = getIndiceCoeur(getRadioValue(document.heart.question2), getRadioValue(document.heart.question3), getRadioValue(document.heart.question6), getRadioValue(document.heart.question7), getRadioValue(document.heart.question4), getValeurTailleHanche(tailleHanche, document.heart.question1.value));

	var resultat = language == "en" ? "Your indice is" : "Votre indice est";

	if (message == "")
		$('p.heart-indice').html(resultat + " " + indice);
	else
		alert(message);
}

function getIMCResult()
{
	var poid = document.imc.poid.value;
	var taille = document.imc.taille.value;
	poid = poid.replace(/,/g,".");
	taille = taille.replace(/,/g,".");
	var nombreValide = /^[0-9.]+$/;

	var message = "";
	if(!nombreValide.test(poid))
		message = language == "en" ? "Your weight must be a positive number" : "Le poid doit être un chiffre positif.";

	if(!nombreValide.test(taille))
	{
		if (message != "")
			message += "\n";
		message += (language == "en" ? "Your height must be a positive number" : "La taille doit être un chiffre positif.");
	}

	if(taille == 0)
	{
		if (message != "")
			message += "\n";
		message += (language == "en" ? "Your height must be superior to 0" : "La taille doit être plus grande que 0.");
	}

	if(poid == 0)
	{
		if (message != "")
			message += "\n";
		message += (language == "en" ? "Your weight must be superior to 0" : "Le poid doit être plus grand que 0.");
	}

	if(message == "")
	{
		if(document.imc.systemPoid.value == 2)
			poid = poid / 2.205;
		if(document.imc.systemTaille.value == 1)
			taille = taille / 39.37;

		poid *= 100;
		indice = Math.round(poid / (taille * taille) /10)/10;
		messageIndice = language == "en" ? "Your index is " + indice : "Votre indice est " + indice;

		var poidEntre = "";

		if(language == "en")
			poidEntre = "Your weight is between __MIN__ kg and __MAX__ kg (__MIN_LB__ and __MAX_LB__ lb).";
		else
			poidEntre = "Votre poids santé se situe entre __MIN__ kg et __MAX__ kg (__MIN_LB__ et __MAX_LB__ lb).";
		var poidSanteMin = Math.round(19 * taille * taille);
		var poidSanteMax = Math.round(25 * taille * taille);

		message = poidEntre.replace(/__MIN__/,poidSanteMin).replace(/__MAX__/,poidSanteMax).replace(/__MIN_LB__/, Math.round(poidSanteMin*2.205)).replace(/__MAX_LB__/, Math.round(poidSanteMax*2.205));
		$('p.imc-indice').html(messageIndice);
		$('span.imc-message').html(message);

		switch(getIndicePoid(indice))
		{
			case 1:
				$("#result1").show();
				$("#questionnaire-result").css("height", $("#result1").height());
				break;
			case 2:
				$("#result2").show();
				$("#questionnaire-result").css("height", $("#result2").height());
				break;
			default:
				$("#result3").show();
				$("#questionnaire-result").css("height", $("#result3").height());
		}
	}
	else
	{
		alert(message);
	}
}

function changeQuestionId(id)
{
	$("#question-id").html(id);

	if (id == 1)
		$("#quest-prev-button").hide();
	else
		$("#quest-prev-button").show();

	if (id == getQuestionNumber())
	{
		$("#quest-next-button").hide();
		$("#quest-submit").show();
	}
	else
	{
		$("#quest-next-button").show();
		$("#quest-submit").hide();
	}

	$("p.question-nav").find("span").each(function(index)
	{
		if ($(this).attr("id") == id - 1)
			$(this).addClass("blue");
		else
			$(this).removeClass("blue");
	});
}

function getQuestionNumber()
{
	var questionNumber = 0;

	$("#questions").find("fieldset").each(function(index)
	{
		++questionNumber;
	});

	return questionNumber;
}

function getAnswerValue(id)
{
	return $('input:radio[name=question' + id + ']:checked').val();
}

function displayAlert()
{
	return language == "en" ? alert("Please check an answer !") : alert("Veuillez r\u00E9pondre \u00E0 la question.");
}

function initQuestionnaire()
{
	$("#questions").show();
	$("#quest-next-button").show();
	$("#quest-restart").hide();
	$("#questionnaire-result").hide();
	$("#result1").hide();
	$("#result2").hide();
	$("#result3").hide();
}

function getIndiceDiabete(indice)
{
	if (indice > 9)
		return 1;
	else if (indice >= 3 &&  indice <= 9)
		return 2;

	return 3;
}

function getIndiceCoeur(fumeur, secondaire, exercise, gras, stress, tailleHanche)
{
	return ((fumeur / 1) + (secondaire / 1) + (exercise / 1) + (gras / 1) + (stress / 1) + (tailleHanche / 1));
}

function isTailleHancheValid(tailleHanche)
{
	var nombreValide = /^[0-9.]+$/;
	return tailleHanche != "" && !nombreValide.test(tailleHanche);
}

function getValeurTailleHanche(tailleHanche, sexe)
{
	var borneTailleHanche = sexe == 0 ? 0.7 : 1.0;
	return tailleHanche <= borneTailleHanche ? 0 : 2;
}

function getIndicePoid(indice)
{
	if(indice > 25)
		return 1;
	else if (indice < 19)
		return 2;

	return 3;
}


//////////////////////
// T R U N C A T E //
/////////////////////
(function($)
{
	$.fn.truncatable = function(options)
	{
		var defaults =
		{
			limit : 100,
			more : "..."
		};

		var options = $.extend(defaults, options);

		return this.each(function(num)
		{
			var stringLength = $(this).html().length;

			if (stringLength > defaults.limit)
			{
				var splitText = $(this).html().substr(defaults.limit);
				var splitPoint = splitText.substr(0, 1);
				var whiteSpace = new RegExp(/^\s+$/);

				for(var newLimit = defaults.limit; newLimit < stringLength; newLimit++)
				{
					var newSplitText = $(this).html().substr(0, newLimit);
					var newHiddenText = $(this).html().substr(newLimit);
					var newSplitPoint = newSplitText.slice(-1);

					if (whiteSpace.test(newSplitPoint))
					{
						var hiddenText = '<span class="hiddenText_' + num + '" style="display:none">' + newHiddenText + '</span>';
						var setNewLimit = (newLimit - 1);

						$(this).html($(this).html().substr(0, setNewLimit)).append(defaults.more + hiddenText);

						newLimit = stringLength;
					}
				}
			}
		});
	};
})(jQuery);

///////////////////////////////////
//j C A R O U S S E L   L I T E //
///////////////////////////////////
(function($) {
	$.fn.jCarouselLite = function(o) {
		o = $.extend( {
			btnPrev : null,
			btnNext : null,
			btnGo : null,
			mouseWheel : false,
			auto : null,
			speed : 200,
			easing : null,
			vertical : false,
			circular : true,
			visible : 3,
			start : 0,
			scroll : 1,
			beforeStart : null,
			afterEnd : null
		}, o || {});
		return this
				.each(function() {
					var b = false, animCss = o.vertical ? "top" : "left", sizeCss = o.vertical ? "height"
							: "width";
					var c = $(this), ul = $("ul", c), tLi = $("li", ul), tl = tLi
							.size(), v = o.visible;
					if (o.circular) {
						ul.prepend(tLi.slice(tl - v - 1 + 1).clone()).append(
								tLi.slice(0, v).clone());
						o.start += v;
					}
					var f = $("li", ul), itemLength = f.size(), curr = o.start;
					c.css("visibility", "visible");
					f.css( {
						overflow : "hidden",
						float : o.vertical ? "none" : "left"
					});
					ul.css( {
						margin : "0",
						padding : "0",
						position : "relative",
						"list-style-type" : "none",
						"z-index" : "1"
					});
					c.css( {
						overflow : "hidden",
						position : "relative",
						"z-index" : "2",
						left : "0px"
					});
					var g = o.vertical ? height(f) : width(f);
					var h = g * itemLength;
					var j = g * v;
					f.css( {
						width : f.width(),
						height : f.height()
					});
					ul.css(sizeCss, h + "px").css(animCss, -(curr * g));
					c.css(sizeCss, j + "px");
					if (o.btnPrev)
						$(o.btnPrev).click(function() {
							return go(curr - o.scroll);
						});
					if (o.btnNext)
						$(o.btnNext).click(function() {
							// CUSTOM BRUNET
							if ($('input[name="question'+ (curr + o.scroll) + '"]').attr('type') == "radio" && getAnswerValue(curr + o.scroll) == undefined)
								displayAlert();
							else
								return go(curr + o.scroll);

						});
					if (o.btnGo)
						$.each(o.btnGo, function(i, a) {
							$(a).click(function() {
								//CUSTOM BRUNET
								initQuestionnaire();
								return go(o.circular ? o.visible + i : i)
							});
						});
					if (o.mouseWheel && c.mousewheel)
						c.mousewheel(function(e, d) {
							return d > 0 ? go(curr - o.scroll) : go(curr
									+ o.scroll);
						});
					if (o.auto)
						setInterval(function() {
							go(curr + o.scroll);
						}, o.auto + o.speed);
					function vis() {
						return f.slice(curr).slice(0, v);
					}
					;
					function go(a) {
						if (!b) {
							if (o.beforeStart)
								o.beforeStart.call(this, vis());
							if (o.circular) {
								if (a <= o.start - v - 1) {
									ul.css(animCss,
											-((itemLength - (v * 2)) * g)
													+ "px");
									curr = a == o.start - v - 1 ? itemLength
											- (v * 2) - 1 : itemLength
											- (v * 2) - o.scroll;
								} else if (a >= itemLength - v + 1) {
									ul.css(animCss, -((v) * g) + "px");
									curr = a == itemLength - v + 1 ? v + 1 : v
											+ o.scroll;
								} else
									curr = a;
							} else {
								if (a < 0 || a > itemLength - v)
									return;
								else
									curr = a;
							}
							b = true;
							ul.animate(animCss == "left" ? {
								left : -(curr * g)
							} : {
								top : -(curr * g)
							}, o.speed, o.easing, function() {
								if (o.afterEnd)
									o.afterEnd.call(this, vis());
								// CUSTOM BRUNET
								changeQuestionId(a + 1);
								b = false;
							});
							if (!o.circular) {
								$(o.btnPrev + "," + o.btnNext).removeClass(
										"disabled");
								$(
										(curr - o.scroll < 0 && o.btnPrev)
												|| (curr + o.scroll > itemLength
														- v && o.btnNext) || [])
										.addClass("disabled")
							}
						}

						return false;
					}
				});
	};
	function css(a, b) {
		return parseInt($.css(a[0], b)) || 0;
	}
	;
	function width(a) {
		return a[0].offsetWidth + css(a, 'marginLeft') + css(a, 'marginRight');
	}
	;
	function height(a) {
		return a[0].offsetHeight + css(a, 'marginTop') + css(a, 'marginBottom');
	}
})(jQuery);

