function error(what, message) {
	$('#flogin').hide();
	what.addClass('error');
	$('#erreur ul li:contains('+message+')').remove();
	if($('#erreur ul li:contains('+message+')')) {
		$('#erreur ul').append('<li class="error">'+message+'</li>');	
	}
	$('.scrollable').jScrollPane();
}

function good(what, message) {
	what.removeClass('error');
	$('#erreur ul li:contains('+message+')').remove();	
	$('.scrollable').jScrollPane();
}

function testing(what, limit) {

	var e =false;
	var val = what.val();
	var ln = val.length;
	
	if(limit.email == true) {
			
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9\-\.])+\.([A-Za-z]{2,5})$/;				
		if(reg.test(val) == false) {
			e = true;
		}			
	}	
	
	if(typeof limit.min != 'undefined') {
		if(ln < limit.min) {
			e = true;
		}
	}
	
	if(typeof limit.size != 'undefined') {
		if(ln != limit.size) {
			e = true;
		}
	}
	
	if(typeof limit.number == true) {
		if(isNaN(val) == true) {
			e = true;
		}
	}
	
	if(typeof limit.string == true) {
		if(isNaN(val) == false) {
			e = true;
		}
	}
	
	if(typeof limit.difference != 'undefined') {
		var val2 = $(limit.difference).val();
		if(val != val2) {
			e = true;
		}
	}
	
	if(typeof limit.type == 'string' ) {
		if(what.attr('checked') == false) {
			e = true;
		}
	}
	
	if(e == true) {
			error(what, limit.message);
	}
	else {
			good(what, limit.message);
	}

}

$(document).ready(function(){

	$('#register').submit(function(e){
	
		$('#register input[type=text], #register input[type=password], #register input[name=acceptCGV]').trigger('blur');
		
		if($('#register .error').size() > 0) {
			e.preventDefault();
		}	
		
		
	});
	
	var key = $('#register input[name=k]').val();
	
	$('#register input[type=text], #register input[type=password], #register input[name=acceptCGV]').bind('blur',function(){

			var limit = {};
			var name = $(this).attr('name');
			var val = $(this).val();
			
			if(name == 'nom') {
				limit = {'min': 1, 'string': true, 'message' : 'Le nom saisi n\'est pas valide'};
			}
			else if(name == 'prenom') {
				limit = {'min': 1, 'string': true, 'message' : 'Le prénom saisi n\'est pas valide'};
			}
			else if(name == 'adresse1') {
				limit = {'min': 3, 'string': true,'message' : 'L\'adresse saisie n\'est pas valide'};
			}
			else if(name == 'email') {
				limit = {'email': true,  'message' : 'L\'adresse email saisie n\'est pas valide'};
			}
			else if(name == 'ville') {
				limit = {'min' : 1, 'string': true,  'message' : 'La ville saisie n\'est pas valide'};
			}
			else if(name == 'cp') {
				limit = {'size': 5, 'number': true,  'message' : 'Le code postal saisi n\'est pas valide'};
			}
			else if((name == 'password' && key=='') || (name == 'password' && key!='' && val.length > 0)) {
				limit = {'min' : 6, 'string': true,  'message' : 'Le mot de passe doit contenir 6 caractères minimum'};
			}
			else if((name == 'password2' && key=='') || (name == 'password2' && key!='' && val.length > 0)) {
				limit = {'difference': '#register input[name=password]', 'min' : 6, 'string': true,  'message' : 'La confirmation du mot de passe n\'est pas valide'};
			}
			else if((name == 'acceptCGV')) {
				limit = {'type': 'checkbox', 'message' : 'Vous devez accepter les CGV'};
			}
			testing($(this), limit);
	});
	
	
	$('#erreur').append('<ul>');
	
	var hover = $('.hover');	
	hover.each(function(){
	
		var _this = $(this);
		var url = _this.attr('src');
		_this.data('base', url);
	
	});
	
	hover.hover(function(){	
		var _this = $(this);
		var url = _this.attr('src');
		url = url.replace(/(.*)\.(jpg|png|gif)/g,'$1_over.$2');
		_this.attr('src', url);
	
	},function(){
		var _this = $(this);
		var url = _this.data('base');
		_this.attr('src', url);
	});
});
