var nbquestions = 0 ;
var questions ;

function roll_over_forms()
{
	var radios = $$('#questionnaire div.radiobutton'); 
	for( var i=0; i < radios.length; i++ )
	{
		radios[i].observe("mouseover",function() {this.addClassName("radiobutton_over")} );
		radios[i].observe("mouseout",function() {this.removeClassName("radiobutton_over")} );
		var rb = radios[i].select('input')[0];
		var lb = radios[i].select('label')[0]
		rb.hide(); 
		rb.checked ? lb.addClassName('checked') : lb.removeClassName('checked') ;
		lb.observe("click", function() {clickRadio(this)} );
	}

	var checkbox = $$('#questionnaire div.checkbox'); 
	for( var i=0; i < checkbox.length; i++ )
	{
		checkbox[i].observe("mouseover",function() {this.addClassName("checkbox_over")} );
		checkbox[i].observe("mouseout",function() {this.removeClassName("checkbox_over")} );
		var cb = checkbox[i].select('input')[0];
		var lb = checkbox[i].select('label')[0]
		cb.hide(); 
		cb.checked ? lb.addClassName('checked') : lb.removeClassName('checked') ;
		lb.observe("click", function() {clickCheckbox(this)} );
	}

	var buttons = $$('#questionnaire div.bg_suite'); 
	for( var i=0; i < buttons.length; i++ )
	{
		buttons[i].observe("mouseover",function() {this.addClassName("bg_suite_over")} );
		buttons[i].observe("mouseout",function() {this.removeClassName("bg_suite_over")} );
		buttons[i].observe("click", function() {nextQuestion(this)} );
	}

	buttons = $$('#questionnaire div.bg_retour'); 
	for( var i=0; i < buttons.length; i++ )
	{
		buttons[i].observe("mouseover",function() {this.addClassName("bg_retour_over")} );
		buttons[i].observe("mouseout",function() {this.removeClassName("bg_retour_over")} );
		buttons[i].observe("click", function() {previousQuestion(this)} );
	}

	buttons = $$('#questionnaire div.bg_abandon'); 
	for( var i=0; i < buttons.length; i++ )
	{
		buttons[i].observe("mouseover",function() {this.addClassName("bg_abandon_over")} );
		buttons[i].observe("mouseout",function() {this.removeClassName("bg_abandon_over")} );
		buttons[i].observe("click", function() {returnHome()} );
	}

	buttons = $$('#questionnaire div.bg_button'); 
	for( var i=0; i < buttons.length; i++ )
	{
		buttons[i].observe("mouseover",function() {this.addClassName("bg_button_over")} );
		buttons[i].observe("mouseout",function() {this.removeClassName("bg_button_over")} );
	}

	buttons = $$('#questionnaire div.bg_fin'); 
	for( var i=0; i < buttons.length; i++ )
	{
		buttons[i].observe("mouseover",function() {this.addClassName("bg_fin_over")} );
		buttons[i].observe("mouseout",function() {this.removeClassName("bg_fin_over")} );
		buttons[i].observe("click", function() {submitEnquete()} );
	}

	var notation = $$('#questionnaire table.notation'); 
	for( var i=0; i < notation.length; i++ )
	{
		var lines = notation[i].select('tr');
		lines.each(function (Element)
		{
			var z = Element.select('input')[0];
			var notes = Element.select('td');
			for( var j=0; j < notes.length; j++ )
			{
				if ( ( z.value != "" ) && ( z.value == j+1 ) )
				{
					notes[j].addClassName("notes_selected")
				}
				notes[j].observe("mouseover",function() {this.addClassName("notes_over")} );
				notes[j].observe("mouseout",function() {this.removeClassName("notes_over")} );
				notes[j].observe("click",  function() {clickNote(this)} )
				
			}
		});	
	}

	scrollers = $$('#scrollbar li'); 
	for( var i=0; i < scrollers.length; i++ )
	{
		scrollers[i].observe("click", function() {goToQuestion(this)} );
	}

	questions = $$('#questionnaire div.question'); 
	nbquestions = questions.length ;
	questions[0].show();
	
	$('userid').value = ((new Date()).getTime() + "" + Math.floor(Math.random() *  1000000)).substr(0, 18);
	showRegionWhenFrance();
}

function clickRadio( rb )
{
	var e = rb.up('div.radiobutton');
	var rb = e.select('input')[0];
	var lb = e.select('label')[0];
	rb.click();
	var others = $A(e.up('div.formelement').select('div.radiobutton'));
	others.each(function (Element)
	{
		if ( Element.select('input')[0].checked ) 
			Element.select('label')[0].addClassName('checked') ;
		else
			Element.select('label')[0].removeClassName('checked');
	});
	var fe = e.up('div.question') ;
	if ( fe.hasClassName('auto') )
		nextQuestion.delay(0.4,e);
	if ( fe.hasClassName('step') )
	{
		if ( rb.value == '0' )
		{
			self.location = 'later.htm';
		}
		else
		{
			highlightNext(fe);
		}
	}
	if ( fe.hasClassName('hidelater') )
	{
		$('answerlater').hide();
	}
	if ( fe.hasClassName('next') )
		highlightNext(fe);
}

function clickCheckbox( cb )
{
	var e = cb.up('div.checkbox');
	var rb = e.select('input')[0];
	var lb = e.select('label')[0];
	toggleCheckBox(lb, rb);
	var fe = e.up('div.question') ;
	if ( fe.hasClassName('next') )
		highlightNext(fe);
}

function toggleCheckBox(lb, rb)
{
	if ( rb.value == 'oui')
	{
		rb.value = 'non' ;
		lb.removeClassName('checked') ;
	}
	else
	{
		rb.value = 'oui' ;
		lb.addClassName('checked') ;
	}
}

function clickNote( s )
{
	var e = s.up('tr');
	var z = e.select('input')[0];
	var notes = e.select('td');
	for( var j=0; j < notes.length; j++ )
	{
		notes[j].removeClassName("notes_selected");
	}
	s.addClassName("notes_selected");
	z.value = s.innerHTML.strip();
}


function nextQuestion( e )
{	
	if ( tomask = e.up("div.question",0 ) )
	{
		Effect.toggle( tomask, 'blind' , { duration: 0 } );
		if (  scrollPosition = $$('#scrollbar li.selected')[0] )
		{	
			scrollPosition.removeClassName("selected");
			scrollPosition.next().addClassName("selected");
		}
		if ( toappear = tomask.next(0) )
			Effect.toggle( toappear, 'appear' , { duration: 1.2 } );		
		
	}
	$('page').removeClassName($('page').className);
	$('page').toggleClassName('page_' + ( parseInt( Math.random() * 4 )  + 1 ) );
	$('questionnaire').submit();	
}

function goToQuestion( e )
{
	var current = parseInt(e.innerHTML) - 1 ;
	for ( var i = 0; i < nbquestions; i++ ) 
	{
		questions[i].hide();
	}
	questions[current].show();
//	Effect.toggle( questions[current], 'appear' , { duration: 0 } );
	
	$('page').removeClassName($('page').className);
	$('page').toggleClassName('page_' + ( parseInt( Math.random() * 4 )  + 1 ) );
	var scrollers  = $$('#scrollbar li') 
	for( var i=0; i < scrollers.length; i++ )
	{
		if ( i != current ) scrollers[i].removeClassName("selected");
		else scrollers[i].addClassName("selected");
	}
	$('questionnaire').submit();	
}


function previousQuestion( e )
{	
	if ( tomask = e.up("div.question",0 ) )
	{
		Effect.toggle( tomask, 'blind' , { duration: 0 } );
		if (  scrollPosition = $$('#scrollbar li.selected')[0] )
		{	
			scrollPosition.removeClassName("selected");
			scrollPosition.previous().addClassName("selected");
		}
		if ( toappear = tomask.previous(0) )
			Effect.toggle( toappear, 'appear' , { duration: 1.2 } );
//			toappear.fade({ duration: 0.7, from: 0, to: 1 });
	}
}


function highlightNext(e)
{
	var nextButton = e.select('div.bg_suite')[0] ;
	nextButton.addClassName('high_suite') ;
//	$('bubble'). = nextButton.cumulativeOffset.left;
//	$('bubble'). = nextButton.cumulativeOffset.top;
//	$('bubble').show();
}

function submitEnquete()
{
	$('questionnaire').submit();
	returnHome.delay(0.9);
}

function returnHome()
{
	self.location = "/";
}

function showRegionWhenFrance()
{
	var url = '/enquete/jsp/getcountry.jsp'; 
	new Ajax.Request(url,
	{ 
		method: 'get', 
		onSuccess: function(transport)
		{ 
			if ( (transport.responseText.match(/FRANCE/))  || (transport.responseText.match(/UNKNOWN/)) )
				$('selectregion').show(); 
		} 
	}); 
}

document.observe("dom:loaded", function() { 
	roll_over_forms(); 
}); 

	

