jQuery
(
	function()
	{
		jQuery('#cformsform input[type=text]').focus
		(
			function()
			{
				var inputs = jQuery('#cformsform input[type=text]');
				for(var i = 0; i < inputs.length; i++)
				{
					bg = jQuery(inputs[i]).css('background-image');
					jQuery(inputs[i]).css('background-image', bg.split('_on').join('_off'));
				}
				bg = jQuery(this).css('background-image');
				jQuery(this).css('background-image', bg.split('_off').join('_on'));
			}
		);
		
		jQuery('#cformsform input[type=text]').blur
		(
			function()
			{
				bg = jQuery(this).css('background-image');
				jQuery(this).css('background-image', bg.split('_on').join('_off'));
			}
		);
		
		jQuery('#cformsform #li--2items label').click
		(
			function()
			{
				var radios = jQuery(this).parent().find('input');
				var labels = jQuery(this).parent().find('label');
				var id = jQuery(this).attr('for');
				for(var i = 0; i < labels.length; i++)
				{
					jQuery(radios[i]).removeAttr('checked');
					bg = jQuery(labels[i]).css('background-image');
					jQuery(labels[i]).css('background-image', bg.split('_on').join('_off'));
				}
				bg = jQuery(this).css('background-image');
				jQuery('#' + id).attr('checked', 'checked');				
				jQuery(this).css('background-image', bg.split('_off').join('_on'));
			}
		);
		
		
		
		
		jQuery('.cf-fs1 legend').remove();
		jQuery('.cf-fs1').prepend('<div id="the_legend"></div>');
		
		jQuery('div#usermessagea').html('Les champs marqués d’une * sont obligatoires');
		
		
		set_select_boxes();
		
		
		select_box();
		date_box();
		
		
		set_quiz();
		
		var rtext = jQuery('div#extra_text_form').html();
		jQuery('div#extra_text_form').remove();
		jQuery('fieldset.cf-fs1').append('<div id="extra_text_form">' + rtext + '</div>');
		
		
		jQuery('input#sendbutton').remove();
		jQuery('p.cf-sb').html('<input id="sendbutton" class="sendbutton" type="image" src="/wp-content/themes/scooter/img/vali.png" onclick="return cforms_validate(\'\', false)" />');
		
		jQuery('#sendbutton').click
		(
			function()
			{
				timer = setInterval ( "check_resp()", 100 );
			}
		);
		
		var version = jQuery.browser.version.split('.');
		if(jQuery.browser.msie)
		{
			jQuery('body.slug-dates-inscriptions input').css('padding-top', '10px');
			jQuery('input#cf_field_10').css('padding-top', '10px');
			jQuery('input#cf_field_10').css('padding-top', '10px');
			jQuery('input#cf_field_10').css('padding-top', '10px');
			xini_jj = jQuery('input#cf_field_10').val();
			xini_mm = jQuery('input#cf_field_11').val();
			xini_aa = jQuery('input#cf_field_12').val();
			jQuery('input#cf_field_10').val('');
			jQuery('input#cf_field_11').val('');
			jQuery('input#cf_field_12').val('');
			jQuery('input#cf_field_10').val(xini_jj);
			jQuery('input#cf_field_11').val(xini_mm);
			jQuery('input#cf_field_12').val(xini_aa);
			
		}
		if(jQuery.browser.mozilla && version[1] == '9' && parseInt(version[2]) < 2  )
		{
			jQuery('body.slug-dates-inscriptions input').css('padding-top', '10px');
			jQuery('input#cf_field_10').css('padding-top', '10px');
			jQuery('input#cf_field_10').css('padding-top', '10px');
			jQuery('input#cf_field_10').css('padding-top', '10px');
			xini_jj = jQuery('input#cf_field_10').val();
			xini_mm = jQuery('input#cf_field_11').val();
			xini_aa = jQuery('input#cf_field_12').val();
			jQuery('input#cf_field_10').val('');
			jQuery('input#cf_field_11').val('');
			jQuery('input#cf_field_12').val('');
			jQuery('input#cf_field_10').val(xini_jj);
			jQuery('input#cf_field_11').val(xini_mm);
			jQuery('input#cf_field_12').val(xini_aa);
			
		}
		//alert(jQuery.browser.version);
		
		jQuery('a.fancybox').click
		(
			function()
			{
				current_pic = jQuery(this).attr('href');
				interval_box = setInterval('checkBox()', 200);
			}
		);
		
		var share = jQuery('div#social ul li');
		for(var i = 0; i < share.length; i++)
		{
			if(i > 1)
			{
				jQuery(share[i]).remove();
			}
		}
		jQuery(share[0]).click
		(
			function()
			{
				window.location = 'http://www.facebook.com/sharer.php?u=' + current_page + '&t=Scooter Tour.be';
			}
		);
		jQuery(share[1]).click
		(
			function()
			{
				window.location = 'http://twitter.com/home?status=Currently reading ' + current_page;
			}
		);
		
		
		
	}
);

var interval_box;
var current_pic = '';

function checkBox()
{
	var pic_box = jQuery('#fancybox-outer');
	if(pic_box.length > 0)
	{
		clearInterval(interval_box);
		jQuery('#fancybox-wrap').append('<a id="the_facebook_btn" style="bottom:29px; background-image:url(http://wiki.developers.facebook.com/images/b/b1/Share_button.png); height:24px; width:64px; text-indent:-9999px; position:absolute; left:50%;" target="_blank" href="http://www.facebook.com/sharer.php?u=' + current_pic + '&t=Scooter Tour.be">Facebook</a>');
		
		jQuery('#fancybox-close').click
		(
			function()
			{
				clearInterval(interval_box);
			}
		);
		
		set_left_right_share();
	}
}
function set_left_right_share()
{
	jQuery('a#fancybox-right').click
	(
		function()
		{
			interval_box = setInterval('newLink()', 100);
			set_left_right_share();
		}
	);
	jQuery('a#fancybox-left').click
	(
		function()
		{
			interval_box = setInterval('newLink()', 100);
			set_left_right_share();
		}
	);
}
function newLink()
{
	var link = jQuery('img#fancybox-img').attr('src');
	if(link != current_pic)
	{
		current_pic = link;
		jQuery('a#the_facebook_btn').attr('href', 'http://www.facebook.com/sharer.php?u=' + link + '&t=Scooter Tour.be');
		clearInterval(interval_box);
	}
}




function set_select_boxes()
{
	var opt1 = jQuery('#li--13 select option');
		var opt1_ = '';
		var ini_opt1 = '';
		for(var i = 0; i < opt1.length; i++)
		{
			if(i == 0)
			{
				ini_opt1 = jQuery(opt1[i]).html();
			}
			opt1_ += '<li title="' + jQuery(opt1[i]).val() + '">' + jQuery(opt1[i]).html() + '</li>';
		}
		jQuery('#li--13').append
		(
			'<div class="form_select" style="z-index:605;"><span>' + ini_opt1 + '</span><div class="options"><ul>' + opt1_ + '</ul></div></div>'
		);
	
	var opt2 = jQuery('#li--14 select option');
		var opt2_ = '';
		var ini_opt2 = '';
		for(var i = 0; i < opt2.length; i++)
		{
			if(i == 0)
			{
				ini_opt2 = jQuery(opt2[i]).html();
			}
			opt2_ += '<li title="' + jQuery(opt2[i]).val() + '">' + jQuery(opt2[i]).html() + '</li>';
		}
		jQuery('#li--14').append
		(
			'<div class="form_select" style="z-index:600;"><span>' + ini_opt2 + '</span><div class="options"><ul>' + opt2_ + '</ul></div></div>'
		);
		
}

var timer;

function check_resp()
{
	var str = jQuery('div#usermessagea').html();
	if(str.substr(0, 4) == 'Nous')
	{
		clearInterval(timer);
		
		var txt = jQuery('div#xresponse').html();
		jQuery('div#xresponse').remove();
		jQuery('div#extra_text_form').html(txt);
		
		jQuery('div.form_select').remove();
		
		set_select_boxes();
		
		
		select_box();
		date_box();
		
		var lab = jQuery('#cformsform #li--2items label');
		for(var i = 0; i < lab.length; i++)
		{
			bg = jQuery(lab[i]).css('background-image');
			jQuery(lab[i]).css('background-image', bg.split('_on').join('_off'));
		}
		
	}
}

function submit_inscription()
{
	//
}

var ini_jj = '';
var ini_mm = '';
var ini_aa = '';

function date_box()
{
	jQuery('input#cf_field_10').attr('maxlength', '2');
	jQuery('input#cf_field_11').attr('maxlength', '2');
	jQuery('input#cf_field_12').attr('maxlength', '4');
	ini_jj = jQuery('input#cf_field_10').val();
	ini_mm = jQuery('input#cf_field_11').val();
	ini_aa = jQuery('input#cf_field_12').val();
	jQuery('input#cf_field_10').focus
	(
		function()
		{
			if(jQuery(this).val() == ini_jj)
			{
				jQuery(this).val('');
			}
		}
	);
	
	jQuery('input#cf_field_10').blur
	(
		function()
		{
			if(jQuery(this).val() == ini_jj || jQuery(this).val() == '')
			{
				jQuery(this).val(ini_jj);
			}
		}
	);
	
	jQuery('input#cf_field_11').focus
	(
		function()
		{
			if(jQuery(this).val() == ini_mm)
			{
				jQuery(this).val('');
			}
		}
	);
	
	jQuery('input#cf_field_11').blur
	(
		function()
		{
			if(jQuery(this).val() == ini_mm || jQuery(this).val() == '')
			{
				jQuery(this).val(ini_mm);
			}
		}
	);
	
	
	jQuery('input#cf_field_12').focus
	(
		function()
		{
			if(jQuery(this).val() == ini_aa)
			{
				jQuery(this).val('');
			}
		}
	);
	
	jQuery('input#cf_field_12').blur
	(
		function()
		{
			if(jQuery(this).val() == ini_aa || jQuery(this).val() == '')
			{
				jQuery(this).val(ini_aa);
			}
		}
	);
	
	
	
	
    
    jQuery("#cf_field_8__").keydown
	(
		function(event) 
		{
	        
	        if ( event.keyCode == 46 || event.keyCode == 8 ) {
	                
	        }
	        else {
	                
	                if (event.keyCode < 48 || event.keyCode > 57 ) 
	                {
	                        event.preventDefault(); 
	                }       
	        }
	    }
    );
    
    jQuery("#cf_field_10__").keydown
	(
		function(event) 
		{
	        
	        if ( event.keyCode == 46 || event.keyCode == 8 )
	        {
	        	       
	        }
	        else {
	                
	                if (event.keyCode < 48 || event.keyCode > 57 ) 
	                {
	                        event.preventDefault(); 
	                }       
	        }
	    }
    );
    
    jQuery("#cf_field_11__").keydown
	(
		function(event) 
		{
	        
	        if ( event.keyCode == 46 || event.keyCode == 8 ) 
	        {
	         	       
	        }
	        else {
	                
	                if (event.keyCode < 48 || event.keyCode > 57 ) 
	                {
	                        event.preventDefault(); 
	                }       
	        }
	    }
    );
    
    jQuery("#cf_field_12__").keydown
	(
		function(event) 
		{
	        
	        if ( event.keyCode == 46 || event.keyCode == 8 ) 
	        {
	        	        
	        }
	        else {
	                
	                if (event.keyCode < 48 || event.keyCode > 57 ) 
	                {
	                        event.preventDefault(); 
	                }       
	        }
	    }
    );
    
    
    jQuery("#cf_field_8").keyup
    (
    	function(event)
    	{
    		if(isNaN(jQuery(this).val() + 1))
    		{
    			jQuery(this).val('');
    		}
    	}
    );
    
    
    jQuery("#cf_field_10").keyup
    (
    	function(event)
    	{
    		if(typeof(jQuery(this).val() * 1) == 'number')
    		{
    			if(jQuery(this).val() > 31)
	        	{
	        		jQuery(this).val('');
	        	}
        	}
        	else
        	{
        		jQuery(this).val('');
        	}
    	}
    );
    
    jQuery("#cf_field_11").keyup
    (
    	function(event)
    	{
    		if(typeof(jQuery(this).val() * 1) == 'number')
    		{
    			if(jQuery(this).val() > 12)
	        	{
	        		jQuery(this).val('');
	        	}
        	}
        	else
        	{
        		jQuery(this).val('');
        	}
    	}
    );
    
    jQuery("#cf_field_12").keyup
    (
    	function(event)
    	{
    		if(typeof(jQuery(this).val() * 1) == 'number')
    		{
    			if(jQuery(this).val() > 2010)
	        	{
	        		jQuery(this).val('');
	        	}
        	}
        	else
        	{
        		jQuery(this).val('');
        	}
    	}
    );
	
	
}


function select_box()
{
	jQuery('div.form_select').click
	(
		function()
		{
			jQuery(this).find('> div.options').stop(true, true).slideDown(100);
		}
	);
		
	jQuery('div.form_select').hover
	(
		function()
		{
			//jQuery(this).find('> div.options').slideDown(100);
		},
		function()
		{
			jQuery(this).find('> div.options').stop(true, true).slideUp(100);
		}
	);
	
	jQuery('div.form_select .options ul li').click
	(
		function(event)
		{
  			event.stopPropagation();
  			jQuery(this).parent().parent().parent().find('> span').html(jQuery(this).html());
			var opts = jQuery(this).parent().parent().parent().parent().find('select option');
			for(var i = 0; i < opts.length; i++)
			{
				jQuery(opts[i]).removeAttr('selected');
				if(jQuery(opts[i]).html() == jQuery(this).html())
				{
					jQuery(opts[i]).attr('selected', 'selected');
				}
			}
			//alert(jQuery(this).parent().parent().parent().parent().find('select').val());
			//jQuery(this).parent().parent().parent().parent().find('> select').val(jQuery(this).val());
			jQuery(this).parent().parent().parent().find('> div.options').stop(true, true).slideUp(100);
			
			//alert(jQuery(this).parent().parent().parent().parent().find('select').val());
		}
	);
}

var current_question = 0;
var quiz_questions = 0;
var quiz_points = 0;

function set_quiz()
{
	quiz_questions = jQuery('form ul.questions > li');
	jQuery('div#quiz_count span').html((current_question + 1) + '/' + quiz_questions.length);
	jQuery('div#quiz_score span').html(quiz_points + '/' + (current_question));
	
	jQuery('form ul.questions > li').css('display', 'none');
	jQuery('form ul.questions > li').eq(0).css('display', 'block');
	
	jQuery('form a.next_question').click
	(
		function()
		{
			var radios = jQuery('form ul.questions > li').eq(current_question).find('fieldset input');
			var fset = jQuery('form ul.questions > li').eq(current_question).find('fieldset');
			var is_selected = false;
			var is_ok_a = 0;
			var is_ok_q = jQuery(fset[0]).attr('lang');
			for(var i = 0; i < radios.length; i++)
			{
				if(jQuery(radios[i]).attr('checked'))
				{
					is_selected = true;
					is_ok_a = jQuery(radios[i]).val();
				}
			}
			if(is_selected)
			{
				for(var i = 0; i < radios.length; i++)
				{
					
					jQuery(radios[i]).parent().parent().parent().parent().append('<div class="the_resp"><h2></h2><span></span></div>');
					jQuery(radios[i]).parent().parent().parent().remove();
					jQuery('div.the_resp h2').html('Chargement.....');
					jQuery('div.the_resp span').html('');
				}
				
				
				jQuery('ul.questions li').eq(current_question).find('a.next_question').fadeOut(200);
				check_answer(is_ok_q, is_ok_a);
				
			}
			else
			{
				//alert();
			}
		}
	);
	
	
	
	
}





function check_answer(q, a)
{
	var msg = new XMLRPCMessage('quiz_master.quiz_get_response');
	msg.addParameter(q);
	msg.addParameter(a);
	jQuery.ajax
	(
		{
			type: 'POST',
			url: '/xmlrpc.php',
			dataType: 'xml',
			data: msg.xml(),
			success: function(data)
			{
				var resp =  jQuery(data).find('string');
				var rp = decodeURIComponent(jQuery(resp[0]).text().replace(/\+/g,  " "));
				var d = rp.split(':::');
				if(d[0] == 'Y')
				{
					//alert('Good Resp');
					jQuery('div.the_resp h2').html('Bien');
					jQuery('div.the_resp span').html('');
					//quiz_points++;
					quiz_points += 2;
				}
				else
				{
					//alert('Bad Resp');
					jQuery('div.the_resp h2').html('Faux');
					jQuery('div.the_resp span').html(d[3]);
				}
				
				
				//quiz_points += parseInt(d[1]);
				
				
				if(current_question < (quiz_questions.length - 1))
				{
					setTimeout('next_question()', 5000);
				}
				else
				{
					setTimeout('show_results()', 5000);
					
				}
				
				
			}
		}
	);
	//return false;
}


function next_question()
{
	jQuery('form ul.questions > li').eq(current_question).slideUp
	(
		300,
		function()
		{
			current_question++;
			jQuery('form ul.questions > li').eq(current_question).slideDown(200);
			jQuery('div.the_resp').remove();
			jQuery('div#quiz_score span').html(quiz_points + '/' + (current_question * 2));
			jQuery('div#quiz_count span').html((current_question + 1) + '/' + quiz_questions.length);
		}
	);
}

function show_results()
{
	
	jQuery('ul.questions li').eq(current_question).find(' div.quiz_cont').fadeOut
	(
		200,
		function()
		{
			var msg_ = '';
			if(quiz_points < 12)
			{
				msg_ = 'Pas top tout ça ! Tu as obtenu';
			}
			else if(quiz_points >= 12 && quiz_points < 14)
			{	
				msg_ = 'Peux mieux faire ! Tu as obtenu';
			}
			else if(quiz_points >= 15 && quiz_points < 17)
			{
				msg_ = 'Bien ! Tu as obtenu';
			}
			else if(quiz_points >= 18)
			{
				msg_ = 'Excellent ! Tu as obtenu';
			}
			
			
			var share_msg = 'Je viens de faire mon test pour le permis théorique de Scooter. J’ai eu ' + quiz_points + '/20. A toi de jouer sur www.scootertour.be';
			
			var share_query = 't=' + encodeURIComponent(share_msg) + '&u=' + encodeURIComponent('http://www.scootertour.be/teste-tes-connaissances/');
			
			var share_url = 'http://www.facebook.com/sharer.php?' + share_query;
			
			var info = 'Le test théorique est la première étape pour devenir un usagé de la route vraiment responsable. Prépare ce test avec beaucoup d’attention et de rigueur car sans le théorique pas de pratique… et donc pas de permis ;-) Bon courage.';
			
			jQuery('ul.questions li').eq(current_question).find('a.next_question').fadeOut(200);
			jQuery('ul.questions li').eq(current_question).find(' div.quiz_cont').html('');
			jQuery('ul.questions li').eq(current_question).find(' div.quiz_cont').html('<div id="last_results"><span><h2>' + msg_ + ' <b>' + quiz_points + '/' + ((current_question + 1) * 2) + '</b></h2></span><span>' + info + '<a target="_blank" href="' + share_url + '"><img src="/img/facebook.jpg" style="width:289px; height:47px;" /></a></span></div>');
			jQuery('ul.questions li').eq(current_question).find(' div.quiz_cont').fadeIn(100);
			
			current_question++;
			jQuery('div#quiz_score span').html(quiz_points + '/' + (current_question * 2));
		}
	);
}





function XMLRPCMessage(methodname){
  this.method = methodname||"system.listMethods";
  this.params = [];
  return this;
}

XMLRPCMessage.prototype.setMethod = function(methodName){
  if (!methodName) return;
  this.method = methodName;
}

XMLRPCMessage.prototype.addParameter = function(data){
  if (arguments.length==0) return;
  this.params[this.params.length] = data;
}

XMLRPCMessage.prototype.xml = function(){

  var method = this.method;
  
  var xml = "";
  
  xml += "<?xml version=\"1.0\"?>\n";
  xml += "<methodCall>\n";
  xml += "<methodName>" + method+ "</methodName>\n";
  xml += "<params>\n";
  
  for (var i = 0; i < this.params.length; i++){
    var data = this.params[i];
    xml += "<param>\n";

    xml += "<value>" + XMLRPCMessage.getParamXML(XMLRPCMessage.dataTypeOf(data),data) + "</value>\n";
    
    xml += "</param>\n";
  }
  
  xml += "</params>\n";
  xml += "</methodCall>";
  
  return xml; 
}

XMLRPCMessage.dataTypeOf = function (o){
  
  var type = typeof(o);
  type = type.toLowerCase();
  switch(type){
    case "number":
      if (Math.round(o) == o) type = "i4";
      else type = "double";
      break;
    case "object":
      var con = o.constructor;
      if (con == Date) type = "date";
      else if (con == Array) type = "array";
      else type = "struct";
      break;
  }
  return type;
}

XMLRPCMessage.doValueXML = function(type,data){
  var xml = "<" + type + ">" + data + "</" + type + ">";
  return xml;
}

XMLRPCMessage.doBooleanXML = function(data){
  var value = (data==true)?1:0;
  var xml = "<boolean>" + value + "</boolean>";
  return xml;
}

XMLRPCMessage.doDateXML = function(data){
  var xml = "<dateTime.iso8601>";
  xml += dateToISO8601(data);
  xml += "</dateTime.iso8601>";
  return xml;
}

XMLRPCMessage.doArrayXML = function(data){
  var xml = "<array><data>\n";
  for (var i = 0; i < data.length; i++){
    xml += "<value>" + XMLRPCMessage.getParamXML(XMLRPCMessage.dataTypeOf(data[i]),data[i]) + "</value>\n";
  }
  xml += "</data></array>\n";
  return xml;
}

XMLRPCMessage.doStructXML = function(data){
  var xml = "<struct>\n";
  for (var i in data){
    xml += "<member>\n";
    xml += "<name>" + i + "</name>\n";
    xml += "<value>" + XMLRPCMessage.getParamXML(XMLRPCMessage.dataTypeOf(data[i]),data[i]) + "</value>\n";
    xml += "</member>\n";
  }
  xml += "</struct>\n";
  return xml;
}

XMLRPCMessage.getParamXML = function(type,data){
  var xml;
  switch (type){
    case "date":
      xml = XMLRPCMessage.doDateXML(data);
      break;
    case "array":
      xml = XMLRPCMessage.doArrayXML(data);
      break;
    case "struct":
      xml = XMLRPCMessage.doStructXML(data);
      break;
	  case "boolean":
      xml = XMLRPCMessage.doBooleanXML(data);
      break;
    default:
      xml = XMLRPCMessage.doValueXML(type,data);
      break;
  }
  return xml;
}

function dateToISO8601(date){
  
  var year = new String(date.getYear());
  var month = leadingZero(new String(date.getMonth()));
  var day = leadingZero(new String(date.getDate()));
  var time = leadingZero(new String(date.getHours())) + ":" + leadingZero(new String(date.getMinutes())) + ":" + leadingZero(new String(date.getSeconds()));

  var converted = year+month+day+"T"+time;
  return converted;
} 
  
function leadingZero(n){
  
  if (n.length==1) n = "0" + n;
  return n;
}































































