function autoSaveAfrekenenFormulier() {
  var data = new Array();
   
  jQuery('form#afrekenen input.field').each(function(index, obj) {
  	 var id  = jQuery(obj).attr('id');
  	 var val = jQuery(obj).val();
  	 var str = id + ':' + val;
  	 data.push(str);
  });
  
  jQuery('form#afrekenen input.radio,form#afrekenen input.check').each(function(index, obj) {
  	 var id  = jQuery(obj).attr('id');
  	 var val = jQuery(obj).val();
  	 var str = id + ':' + val;
  	 if (jQuery(obj).attr('checked') == 'checked')
  	   str = id + ':+' + val;
  	 data.push(str);
  });

  jQuery('form#afrekenen .select').each(function(index, obj) {
  	 var id  = jQuery(obj).attr('id');
  	 var val = jQuery(obj).val();
  	 var str = id + ':' + val;
  	 data.push(str);
  });
    
  jQuery('form#afrekenen textarea').each(function(index, obj) {
	 var id = jQuery(obj).attr('id');
  	 var val = jQuery(obj).val();
  	 var str = id + ':' + val;
  	 data.push(str);
   });
  data = data.join(", ");
  jQuery.cookie('form_afrekenen',data); 
}

function restoreAutoSaveAfrekenenFormulier() {
	if (jQuery.cookie('form_afrekenen')) {
  	data = jQuery.cookie('form_afrekenen');
  	data = data.split(', ');
  	
  	for (var index in data) {
  	  var item = data[index];
  	  var info = item.split(':');
  	  var id   = info[0];
  	  var val  = info[1];
  	  
  	  if (val == null) continue;
  	  
  	  if (val[0] == '+') {
  	  	val = val.substr(1);
  	  	jQuery('#' + id).attr('checked', 'checked');
  	  	
  	  } else {
  	    jQuery('#' + id).val(val);
  	  }
  	}
  }
  
  if (jQuery('#afleverCheck').attr('checked') == 'checked') {
 	handleSpecialAdres();
  }

}

function resetAutoSaveAfrekenenFormulier() {
  jQuery.cookie('form_afrekenen', null);	
}


jQuery(document).ready(function(){
	var container = $('div.validateErrors');
	jQuery('form#afrekenen input, form#afrekenen select').each(function(index, obj) {
		jQuery(obj).change(function() {
		  autoSaveAfrekenenFormulier();
		});
	});
	
	jQuery('form#afrekenen').validate({
		errorContainer: container,
		errorLabelContainer: $("ul", container),
		wrapper: 'li',
		meta: "validate",
		submitHandler: function(form) {
			
		if (jQuery('#afleverCheck').attr('checked') == 'checked') {
			var postcode = jQuery('#aflever_postcode').val();
			if (validate_postalcode(postcode) == false) {
			    jQuery('div.validateErrors').css('display', 'block');
			    jQuery('div.validateErrors ul').css('display', 'block');  
			    jQuery('div.validateErrors .afpostcode').css('display', 'block');
			    jQuery('div.validateErrors .afpostcode label').css('display', 'block');
				document.location.href='#validerrors';
				return false;
			}
		} else {
			var postcode = jQuery('#gegevens_postcode').val();
			if (validate_postalcode(postcode) == false) {
			    jQuery('div.validateErrors').css('display', 'block');
			    jQuery('div.validateErrors ul').css('display', 'block');  
			    jQuery('div.validateErrors .gegpostcode').css('display', 'block');
			    jQuery('div.validateErrors .gegpostcode label').css('display', 'block');
				document.location.href='#validerrors';
				return false;
			}
		}
		
		if (jQuery('#telefoon').val() == '' && jQuery('#mobiel').val() =='' ) {
		   jQuery('div.validateErrors').css('display', 'block');
		   jQuery('div.validateErrors ul').css('display', 'block');  
		   jQuery('div.validateErrors .tel').css('display', 'block');
		   jQuery('div.validateErrors .tel label').css('display', 'block');
		   document.location.href='#validerrors';
		   return false;
		} else {
		   
		   jQuery('div.validateErrors .tel').css('display', 'none');
		   jQuery('div.validateErrors .tel label').css('display', 'none');
		}
		autoSaveAfrekenenFormulier();
		form.submit();
	   }
	});
	

	var container = $('div.validateErrors');
	jQuery('form#mijngegevens').validate({
		errorContainer: container,
		errorLabelContainer: $("ul", container),
		wrapper: 'li',
		meta: "validate",
		submitHandler: function(form) { 
			
			var postcode = jQuery('#postcode').val();
			if (validate_postalcode(postcode) == false) {
			    jQuery('div.validateErrors').css('display', 'block');
			    jQuery('div.validateErrors ul').css('display', 'block');  
			    jQuery('div.validateErrors .errPostcode').css('display', 'block');
			    jQuery('div.validateErrors .errPostcode label').css('display', 'block');
				document.location.href='#validerrors';
				return false;
			}
			
			if (jQuery('#telefoon').val() == '' && jQuery('#mobiel').val() =='' ) {
			   jQuery('div.validateErrors').css('display', 'block');
			   jQuery('div.validateErrors ul').css('display', 'block');  
			   jQuery('div.validateErrors .tel').css('display', 'block');
			   jQuery('div.validateErrors .tel label').css('display', 'block');
			   document.location.href='#validerrors';
			   return false;
			} else {
			   
			   jQuery('div.validateErrors .tel').css('display', 'none');
			   jQuery('div.validateErrors .tel label').css('display', 'none');
			}

			form.submit();		
		}
	});
	
	var container = $('div.validateErrors');
	jQuery('form#contactForm').validate({
		errorContainer: container,
		errorLabelContainer: $("ul", container),
		wrapper: 'li',
		meta: "validate"
	});	
	
	
	var container = $('div.validateErrors');
	jQuery('form#register').validate({
		errorContainer: container,
		errorLabelContainer: $("ul", container),
		wrapper: 'li',
		meta: "validate",
		rules: {
            password_herhaal: {
	              required: true,
	              equalTo: '#password'
            }
      	},
        messages: {
            password_herhaal: {
	              required: 'Bevestig a.u.b. uw wachtwoord',
	              equalTo: 'De ingevoerde wachtwoorden komen niet overeen'
            }
      	}
	});


	$("#username").blur(function()
	{
		invoerveld 		= $(this);
		submitbutton 	= $(this).parents('form').find('input[type="submit"]'); 
		//remove all the class add the messagebox classes and start fading
		$("#msgbox").removeClass().addClass('messagebox').text('Gebruikersnaam controleren...').fadeIn("slow");
		if ($(this).val().length < 8) {

//			$("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
	//		{ 
			  //add message and change the class of the box and start fading
		//	  $(this).html('Uw gebruikersnaam dient minimaal uit 8 tekens te bestaan').addClass('messageboxerror').fadeTo(900,1);
	//		});	
		//	$(invoerveld).addClass('error');
		//	$(submitbutton).addClass('disabled');
		//	$(submitbutton).attr('disabled', 'disabled');
			
		} else
		$.post("ajax/user_availability.php",{ user_name:$(this).val() } ,function(data) //check the username exists or not from ajax
        {
		  if(data=='no') //if username not avaiable
		  {
		  	$("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
			{ 
			  //add message and change the class of the box and start fading
			  $(this).html('Deze gebruikersnaam is al in gebruik').addClass('messageboxerror').fadeTo(900,1);
			});	
			$(invoerveld).addClass('error');
			$(submitbutton).addClass('disabled');
			$(submitbutton).attr('disabled', 'disabled');
          }
		  else
		  {
		  	$("#msgbox").fadeTo(200,0.1,function()  //start fading the messagebox
			{ 
			  //add message and change the class of the box and start fading
			  $(this).html('Uw gebruikersnaam is nog vrij').addClass('messageboxok').fadeTo(900,1);	
			});
			$(invoerveld).removeClass('error');
			$(submitbutton).removeClass('disabled');
			$(submitbutton).removeAttr('disabled');
		  }
				
        });
 
	});
});
