/* Class names to replace */
var strTextClassNameSmall = 'vtTextSmall',strTextClassName = 'vtText', strTextAreaClassName = 'vtTextArea',strSelectClassName = 'vtSelect', strCheckClassName = 'vtCheck';

/* AJAX setup */
var strAction = './templates/default/include/', strMethod = 'post', strTemplate = './templates/default/include/register_form.php', strContainerName = '#quote-viewport';
//var base_url = 'http://localier.net/lib/';
var base_url ='../lib/';
/* Other Form Elements */
var strContactButton = 'submitForm';

/* Array to store the temp answers */
var arrFieldValues = {'email': null,'password':null,'commune':null,'ville':null,'cp':null,'twn_id': null,'name':null,'fname':null,'civilite': null,'annee':null,'mois':null,'jour':null,'tc':null};

var	email = $( "#email" ),
			password = $( "#password" ),
			civilite= $( "#civilite" ),			
			fname = $( "#fname" ),
			name = $( "#name" ),
			commune = $( "#commune" ),
			cp = $( "#cp" ),
			ville = $( "#ville" ),			
			twn_id = $( "#twn_id" ),
			annee = $( "#annee" ),
			mois = $( "#mois" ),
			jour = $( "#jour" ),
			tc = $( "#tc");
			


function beforeCall(form, options){
	
                if (window.console) 
                    console.log("Right before the AJAX form validation call");
					$("#load_box").html('<img src="./templates/default/images/form/ajax-loader.gif"><br><b>Traitement en cours...</b>');
					$('#load_box').css("background","transparent");
                return true;
            }


//


//


function ajaxValidationCallback(status, form, json, options)
		{
		 
			
			if (window.console)
			console.log(status);
			if (status === true)
			{
			
			
			if ($( "#mois" ).val().length<2) {var moisN = '0'+ $( "#mois" ).val();} else {var moisN =  $( "#mois" ).val();}
			if ($( "#jour" ).val().length<2) {var jourN = '0'+ $( "#jour" ).val();} else {var jourN =  $( "#jour" ).val();}
			var birthdate_val=$( "#annee" ).val()+ '-' + moisN + "-" + jourN;
			var arrFormValues = { email:$('#email').val(),password:$('#password').val(),ville:$('#ville').val(),cp:$('#cp').val(),twn_id:$('#twn_id').val(),civilite:$('#civilite').val(),name :$('#name').val(),fname:$('#fname').val(),birthdate:birthdate_val,
			tc:$('input:checkbox:checked#tc').val()
			 };
		
			var url = "./templates/default/include/ajaxValidateReg.php";
			
			  var data = form.serialize();
		
			
			
			
			
			
			$.ajax({
				type: "POST",
				url: url,				
				data: data,
				error:function(res) {alert(res.statusText+'erreur');},
				
				success: function(msg){
					//print_r(data);
					var res = $(msg).find('heading').text();
					var txt = $(msg).find('body').text();
					if (res=='ok')
					{
						var val1 = $(msg).find('val1').text();
						var val2 = $(msg).find('val2').text();
						var val3 = $(msg).find('val3').text();
						var val4 = $(msg).find('val4').text();
						var valFin = val1+'<br>'+val2+'<br>'+val3+'<br>'+val4+'<br>';
						displaySuccess(valFin);
						
					}
					else
					{alert (txt);}
					
					
				}
				
			});
			
			}
			
		}




function parseXml(xml) {  
$(xml).find("note").each(function() {  
var rep = $(this).find("heading").text();
var txt = $(this).find("body").text()
alert (rep);
alert (txt);
 });  
}  





			
function ucwords(str,force){
  str=force ? str.toLowerCase() : str;  
  return str.replace(/(\b)([a-zA-Z])/g,
           function(firstLetter){
              return   firstLetter.toUpperCase();
           });
}
 function ucfirst(str,force){
          str=force ? str.toLowerCase() : str;
          return str.replace(/(\b)([a-zA-Z])/,
                   function(firstLetter){
                      return   firstLetter.toUpperCase();
                   });
     }



$(document).ready(function(){
	$(strContainerName+" > *").unbind('*');
	
	$('#recaptcha_widget').css('display', 'none');
	
	attatchEvents();
	 
	 $('#name').keyup(function()
    {
        $(this).val($(this).val().toUpperCase());
    });


$('#fname').keyup(function(evt){

      // force: true to lower case all letter except first
      var cp_value= ucwords($(this).val(),true) ;
      $(this).val(cp_value );

   });



	

});

function finishAjax(id, response) {
  $('#wait_1').hide();  
  $('#'+id).html(unescape(response));
  $('#'+id).fadeIn();
}


function attatchEvents() {
	/* displays & hides the form */	
	$("#toggle").click(function(){
		
		$('#signin-cover').fadeOut(100);
		$('#signin-viewport').css('overflow','hidden');
		$('#signin-viewport').slideUp(400).next('#connexControl').children('#togConnex').removeClass("on");
		
		if ($(this).hasClass('on')) {
			$("#load_box").html('');
			
			if($("#tc").is(':checked'))
		{
			$("#tc").removeAttr('checked');
		}
			$('#tc').displayRecaptcha();
			
                    $(".formError").fadeOut(150, function() {

                        // remove prompt once invisible
                        $(this).remove();
                    });
              reactChampsCaptcha(); 
			
			$('#quote-cover').fadeOut(100);
			
			
			$('form',strContainerName).fadeOut(50);
			$(strContainerName).slideUp(400).next('#controller').children('#toggle').removeClass("on");
			$('#toggle').attr("title","Inscription");
			$('#toggle').text("Inscription");
		}else{
			$('#quote-cover').css('height',$(document).height()+'px').fadeTo(400, 0.5);
			
			$(strContainerName).slideDown(600,function() {$('form',strContainerName).fadeIn(200)}).next('#controller').children('#toggle').addClass("on");
			if($('#toggle').text()!=="Merci !")
			{
				$('#toggle').attr("title","En cours");
				$('#toggle').text("En cours !");	
			}	
		}
		$('#civilite').css({'width': 100});
		$('#annee').css({'width': 80});
		$('#mois').css({'width': 80});
		$('#jour').css({'width': 80});
		
		$('#'+strContactButton).attr('disabled', 'disabled');

$("#commune").autocomplete({
source: base_url+"search_cp_ville.php",

minLength: 2,
open:function()
 { 
 $('#twn_id').val('');
 $('#cp').val('');
 $('#ville').val('');
jQuery('#commune').validationEngine('showPrompt', 'Sélectionner votre commune dans la liste', 'load', true);
 },
 
select: function(event, ui) { 

 $('#twn_id').val(ui.item.twn_id);
 $('#cp').val(ui.item.cp);
 $('#ville').val(ui.item.ville);
  },
 close:function()
 { 

 if  ($('#twn_id').val()==="")
	 {
jQuery('#commune').validationEngine('showPrompt', 'Sélectionner votre commune dans la liste. Merci.', 'error',true);

	 }
 }
});


$("#tc").change(function() {
$(this).displayRecaptcha();
});
return false;
		
	});
	
	


jQuery.fn.displayRecaptcha = function()

{
	if ($('#'+strContactButton).is(':disabled') )
	{
	$(this).val(1);
	$('#recaptcha_widget').css('display', 'block');
    $('#'+strContactButton).removeAttr('disabled');
	}
		else
	{
	$(this).val(0);
	$('#recaptcha_widget').css('display', 'none');
	$('#'+strContactButton).attr('disabled', 'disabled');
	}
}
	
	/* Closes the Quote div when the backdrop is clicked */
	$('#quote-cover').live('click', function() { $("#toggle").trigger('click'); });
	
	}









/* On completion will slide the box up and display a message */
function displaySuccess(text) {
	//alert(txt);
	jQuery("#formIdent").validationEngine('hide');
	$('#quoteForm').hide();

	$(strContainerName)	.css('overflow','hidden')
						.animate({ height : '130px'}, 1200);
						
						
						$('#inforeg').html('<h4>Merci !</h4><br><span>'+text+'</span>');
						
						$('#toggle').css("color","black");
						$('#toggle').css("background","yellow");
						$('#toggle').css("border", "2px solid #C30");
						$('#toggle').attr("title","Merci !");
						$('#toggle').text("Merci !");
						
						
	setInterval(function() { 	
		$('#quote-cover').fadeOut(100);
		
		$(strContainerName).slideUp(400).next('#controller').children('#toggle').removeClass("on"); }, 5000);
						
}





/* Will display any errors found by the back-end validation */
function processErrors(response){

	for ( var key in response) {
		
		if ($('#' + key).parent().hasClass('vtFormText')) {
		
			/* text box */
			arrFieldValues[key] = $('#'+key).val();
			$('#'+key).val(response[key]).parent().addClass('hasTextError'); 
		
		}else if ($('#' + key).parent().hasClass('vtFormSelect')) {
			
			/* dropdown */
			$('.'+key).html(response[key]).addClass('hasSelectError');  
			
		}		
		
	}

}









(function($){ 
     $.fn.extend({  
         limit: function(limit,element) {
			
			var interval, f;
			var self = $(this);
					
			$(this).focus(function(){
				interval = window.setInterval(substring,100);
			});
			
			$(this).blur(function(){
				clearInterval(interval);
				substring();
			});
			
			substringFunction = "function substring(){ var val = $(self).val();var length = val.length;if(length > limit){$(self).val($(self).val().substring(0,limit));}";
			if(typeof element != 'undefined')
				substringFunction += "if($(element).html() != limit-length){$(element).html((limit-length<=0)?'tous les caractères sont utilisés':(limit-length>1) ?limit-length+' caractères disponibles':limit-length+' caractère disponible');}"
				
			substringFunction += "}";
			eval(substringFunction);
			substring();
			
        } 
    }); 
})(jQuery);



function reactChampsCaptcha()
        {
            
            
			$("input#recaptcha_response_field").addClass('validate[required,ajax[ajaxCallreCaptcha]]');
			Recaptcha.reload();
           
        }

            //Modified as per comments in site to handle event unobtrusively
       
function switchAudioCaptcha()
        {
            
            
			$("input#recaptcha_response_field").addClass('validate[required,ajax[ajaxCallreCaptcha]]');
			
			Recaptcha.switch_type('audio');
           
        }

function switchImageCaptcha()
        {
            
            
			$("input#recaptcha_response_field").addClass('validate[required,ajax[ajaxCallreCaptcha]]');
			
			Recaptcha.switch_type('image');
           
        }

		
		
function print_r(theObj){
       
	   if(theObj.constructor == Array || theObj.constructor == Object){
          //document.write("<ul>")
          for(var p in theObj){
             if(theObj[p].constructor == Array || theObj[p].constructor == Object){
                var text_v = p+typeof(theObj);
				//document.write("<li>["+p+"] => "+typeof(theObj)+"</li>");
                
				//document.write("<ul>")
                print_r(theObj[p]);
                //document.write("</ul>")
             } else {
				 text_v += p+theObj[p]
                //document.write("<li>["+p+"] => "+theObj[p]+"</li>");
             }
          }
          //document.write("</ul>")
		  //alert (text_v);
		  return text_v;
       }
    }
		
		
		
	
	


