/******************************************************************
 url targets for product selection 
*******************************************************************/
questionsPaths = {
	"1a-2d-3f-4a":	"/incontinence-aids/female/poise-light-bladder-weakness",
	"1a-2d-3g-4a": 	"/incontinence-aids/female/poise-light-bladder-weakness",
	"1a-2d-3g-4b": 	"/select-product/recommendation-women-undergarments-underwear",
	"1a-2d-3f-4c": 	"/select-product/recommendation-women-undergarments-underpads",
	"1a-2d-3g-4c": 	"/select-product/recommendation-women-undergarments-underpads",
	"1a-2d-3g-4a":  "/select-product/recommendation-women-super-underwear-underwear",
	"1a-2d-3g-4b":  "/select-product/recommendation-women-undergarments-fitted-briefs",
	"1a-2d-3g-4c":  "/select-product/recommendation-women-undergarments-fitted-briefs",
	"1a-2d-3h-4a":  "/select-product/recommendation-women-super-underwear-fitted-briefs",
	"1a-2d-3h-4b":  "/select-product/recommendation-women-super-underwear-fitted-briefs",
	"1a-2d-3h-4c":  "/select-product/recommendation-women-fitted-briefs-super-underwear",
	
	"1a-2c-3d-4a":	"/incontinence-aids/female/poise-light-bladder-weakness",
	"1a-2c-3d-4b":	"/select-product/recommendation-women-undergarments-underwear",
	"1a-2c-3d-4c":  "/select-product/recommendation-women-undergarments-underpads",
	"1a-2c-3e-4a": 	"/select-product/recommendation-women-undergarments-underwear",
	"1a-2c-3e-4b": 	"/select-product/recommendation-women-undergarments-underwear",
	"1a-2c-3e-4c":	"/select-product/recommendation-women-fitted-briefs-undergarments",
	
	"1a-2a-4a":			"/incontinence-aids/female/poise-light-bladder-weakness",
	"1a-2b-3a-4a":	"/incontinence-aids/female/poise-light-bladder-weakness",
	"1a-2b-3b-4a":	"/incontinence-aids/female/poise-light-bladder-weakness",
	"1a-2a-4b":			"/select-product/recommendation-women-undergarments-underwear",
	"1a-2b-3a-4b":	"/select-product/recommendation-women-undergarments-underwear",
	"1a-2b-3b-4b":	"/select-product/recommendation-women-undergarments-underwear",
	"1a-2a-4c":			"/select-product/recommendation-women-undergarments-underpads",
	"1a-2b-3a-4c":	"/select-product/recommendation-women-undergarments-underpads",
	"1a-2b-3b-4c":	"/select-product/recommendation-women-undergarments-underpads",
	"1a-2b-3c-4a":	"/select-product/recommendation-women-super-underwear-underwear",
	"1a-2b-3c-4b":	"/select-product/recommendation-women-undergarments-fitted-briefs",
	"1a-2b-3c-4c":	"/select-product/recommendation-women-fitted-briefs-underpads",
	
	"1b-2d-3f-4a":	"/select-product/recommendation-men-guards-undergarments",
	"1b-2d-3g-4a":	"/select-product/recommendation-men-guards-undergarments",
	"1b-2d-3f-4b":	"/select-product/recommendation-men-undergarments-super-underwear",
	"1b-2d-3g-4b":	"/select-product/recommendation-men-undergarments-super-underwear",
	"1b-2d-3f-4c":	"/select-product/recommendation-men-undergarments-underpads",
	"1b-2d-3g-4c":	"/select-product/recommendation-men-undergarments-underpads",
	"1b-2d-3g-4a":	"/select-product/recommendation-men-super-underwear-fitted-briefs",
	"1b-2d-3h-4a":	"/select-product/recommendation-men-super-underwear-fitted-briefs",
	"1b-2d-3g-4b":	"/select-product/recommendation-men-fitted-briefs-undergarments",
	"1b-2d-3g-4c":	"/select-product/recommendation-men-fitted-briefs-undergarments",
	"1b-2d-3h-4b":	"/select-product/recommendation-men-fitted-briefs-undergarments",
	"1b-2d-3h-4c":	"/select-product/recommendation-men-fitted-briefs-undergarments",
	
	"1b-2c-3d-4a":	"/select-product/recommendation-men-guards-undergarments",
	"1b-2c-3d-4b":	"/select-product/recommendation-men-guards-undergarments",
	"1b-2c-3d-4c":	"/select-product/recommendation-men-undergarments-underpads",
	"1b-2c-3e-4a":	"/select-product/recommendation-men-super-underwear-undergarments",
	"1b-2c-3e-4b":	"/select-product/recommendation-men-super-underwear-undergarments",
	"1b-2c-3e-4c":	"/select-product/recommendation-men-fitted-briefs-undergarments",
	
	"1b-2a-4a": 		"/select-product/recommendation-men-guards-undergarments",
	"1b-2a-4b": 		"/select-product/recommendation-men-guards-undergarments",
	"1b-2b-3a-4a": 	"/select-product/recommendation-men-guards-undergarments",
	"1b-2b-3a-4b": 	"/select-product/recommendation-men-guards-undergarments",
	"1b-2b-3b-4a": 	"/select-product/recommendation-men-guards-undergarments",
	"1b-2b-3b-4b": 	"/select-product/recommendation-men-guards-undergarments",

	"1b-2a-4c": 		"/select-product/recommendation-men-undergarments-underpads",
	"1b-2b-3a-4c": 	"/select-product/recommendation-men-undergarments-underpads",
	"1b-2b-3b-4c": 	"/select-product/recommendation-men-undergarments-underpads",
	"1b-2b-3c-4a": 	"/select-product/recommendation-men-super-underwear-fitted-briefs",
	"1b-2b-3c-4b": 	"/select-product/recommendation-men-undergarments-fitted-briefs",
	"1b-2b-3c-4c": 	"/select-product/recommendation-men-fitted-briefs-underpads"
}





/*********************************
 product selection */
function remove_checks_from(input_elements){
	input_elements.each(function(input){ input.checked = false; });
}

/* hide question2, question3 and final question. Also reset the radio buttons. */
function hide_all_but_first_question(){
  $('q2').hide();   
	remove_checks_from($$('#q2 input'));
  $$('.q3').each( function(element){	element.hide();	}) // hide all .q3
	remove_checks_from($$('.q3 input'));
  $('q4').hide();
	remove_checks_from($$('#q4 input'));
  $('selector-result').hide();
	$('how-to-get-started').show();
}

/* hide question3 and final question. Also reset the radio buttons. */
function hide_all_but_first_and_second_question(){
  $$('.q3').each( function(element){	element.hide();	}) // hide all .q3
	remove_checks_from($$('.q3 input'));
  $('q4').hide();
	remove_checks_from($$('#q4 input'));
  $('selector-result').hide();
}

function render(question_id){
	Effect.Appear($(question_id));
}

function display_question3_answers_based_on(question2_answer){
	switch(question2_answer)
	{
	// when answering 'a' to question2
	case "2a":
	  render('q4'); // ignore question3 and display question4
	  break;
	// when answering 'b' to question2
	case "2b":
	  render('q2Ab'); // question3 answers
	  break;
	// when answering 'c' to question2
	case "2c":
	  render('q2Ac'); // question3 answers
	  break;
	// when answering 'd' to question2
	case "2d":
	  render('q2Ad'); // question3 answers
	  break;
	}
}

function hide_all(question_class){
  $$(question_class).each( function(element){	element.hide();	})
}

function store_product_suggestion(profile_url){
  $$('#selector-result p a.find-my-product').first().writeAttribute('href', profile_url);
}

/* Questions events handlers */
function respond_to_click_on_question1(){
	hide_all_but_first_question();
	render('q2');
	$('how-to-get-started').hide();
}

/* common code used onlick of any q2 answer */
function respond_to_click_on_question2(event){
	var element = Event.element(event);	
	hide_all_but_first_and_second_question();
	display_question3_answers_based_on(element.value);
}

/* common code used onlick of any q3 answer */
function respond_to_click_on_question3(event){
	var element = Event.element(event);
	remove_checks_from($$('#q4 input'));
  render('q4');
}

/* common code used onlick of any q4 answer */
function respond_to_click_on_question4(event){
	var element = Event.element(event);	
	user_profile = collect_answers();
	store_product_suggestion(questionsPaths[user_profile]);
  Effect.Appear($('selector-result'));
}

function respond_to_click_on_start_over(event){
	remove_checks_from($$('#q1 input'));
	hide_all_but_first_question();
}

/* collect the selected answers in the form and returns a concatenated string version */
function collect_answers(){
	answers = $$('#questions ul li input').findAll(function(n) { return n.checked == true; });
	return answers.collect(function(s) { return s.value }).join('-');
}
