function reportError(field, context) {
	var label = context.getElement('label[for='+field.get('id')+']');
	
	label.addClass('error');
};

function removeError(field, context) {
	var label = context.getElement('label[for='+field.get('id')+']');
	
	if(label.hasClass('error'))
		label.removeClass('error');
};

window.addEvent('domready', function(){
	$('sharefname').addEvent('keyup', function(){
		$('rep-your-name').empty();
		
		if(this.get('value').length > 0)
			$('rep-your-name').set('text', this.get('value'));
	});
	
	$('sharefriendname').addEvent('keyup', function(){
		$('rep-friend-name').empty();
		
		if(this.get('value').length > 0)
			$('rep-friend-name').set('text', this.get('value'));
	});
	
	
	// Form validation
	var shareform = $('shareloveform');
	
	var fname = $('sharefname');
	var lname = $('sharelname');
	var email = $('shareemail');
	var friendname = $('sharefriendname');
	var friendemail = $('sharefemail');
	
	var emailRegex = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	shareform.addEvent('submit', function(){
		var errors = 0;
		
		// Test firstname
		if (fname.get('value').length < 1) {
			errors++;
			reportError(fname, shareform);
		} else 
			removeError(fname, shareform);
		
		
		// Test lastname
		if(lname.get('value').length < 1) {
			errors++;
			reportError(lname, shareform);
		} else 
			removeError(lname, shareform);
		
		
		// Test email
		if(email.get('value').length < 1 || !email.get('value').test(emailRegex)) {
			errors++;
			reportError(email, shareform);
		} else 
			removeError(email, shareform);
		
		// Test friend name
		if(friendname.get('value').length < 1) {
			errors++;
			reportError(friendname, shareform);
		} else
			removeError(friendname, shareform);
		
		
		// Test friend email
		if(friendemail.get('value').length < 1  || !friendemail.get('value').test(emailRegex)) {
			errors++;
			reportError(friendemail, shareform);
		} else 
			removeError(friendemail, shareform);
		
		
		if(errors > 0)
			return false;		
	});
});