/** 
*	Common.js
*   
*	Common javascript functions for visionlms
*
*	@author: Rades Dan (dan.rades@gmail.com)
*	@date: 09/Aug/2007
**/

function setError(field, msg) {
	msg = arguments[1] || (field + ' is a required field and cannot be blank!');
	errId = field + '_err';	
	err = document.getElementById(errId);
	err.innerHTML = msg;
}

function validEmail(email) {
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return filter.test(email);
}

function getData() {
	formData = {};
	$(':input','#registerFrm').each(function(i) {
		formData[this.name] = this.value;
	});
	return formData;
}

var isFormValid = true;
var	postVars = {};

function makeRegistration() {
	isFormValid = true;
	password = '';
	$('span.errRegistration').css('display','none').text('');

	document.getElementById('ajaxLoading').style.display = 'block';
	$(':input','#registerFrm').each(function(i) {
		if (this.value == '') {
			setError(this.name);	
			isFormValid = false;
		}
		else {
			if (i == 4) {
				password = this.value;
				if (this.value.length < 5) {
					setError(this.name, 'Password has to be at least 4 letters long!');
					isFormValid = false;
				}
				if (this.value.indexOf(' ') != -1) {
					setError(this.name, 'Password cannot contain spaces!');
					isFormValid = false;
				}
			}

			if (i == 5) {
				if (this.value != password) {
					setError(this.name, 'Passwords don\'t match!');
					isFormValid = false;
				}
			}
		}
	});	

	postVars.EmailAddress = document.getElementById('EmailAddress').value;// $("input[@name=EmailAddress]").val();	
	postVars.Username =  document.getElementById('Username').value; //$("input[@name=Username]").val();

	$.getJSON("registerValidation.php", postVars, function(data){
		if (data.email == 0) {
			if (!validEmail(postVars.EmailAddress)) {	
				setError('EmailAddress', 'Email is invalid! Please enter a valid email!');
				isFormValid = false;
			}		
		}
		else {
			setError('EmailAddress', 'Email is already in use!');
			isFormValid = false;
		}
		if (data.username != 0) {
			setError('Username', 'Username already in use!');
			isFormValid = false;	
		}

		document.getElementById('ajaxLoading').style.display = 'none';

		if (!isFormValid) {
			// document.getElementById('errMsg').style.display = 'block';
			$('span.errRegistration').css('display','inline');
		}
		else {
			// document.getElementById('errMsg').style.display = 'none';
			$('span.errRegistration').css('display','none');
			$('#ajaxMsg').text('Creating the account...');
			$('#ajaxLoading').css('display','block');
			
			$.post("register.php", getData(), function(data){
				data += '';
				if (data != '') {
					$('#content').html(data);
				}
				else {
					$('#fields_fname').val($('#FirstName').val());
					$('#fields_lname').val($('#LastName').val());
					$('#fields_email').val($('#EmailAddress').val());
					$('#ajaxImg').css('display','none');
					$('#ajaxMsg').text("Registration complete! You'll be redirected in a few moments...");
					setTimeout('document.getElementById("icontactForm").submit();',1000);
				}
			});
		}
	});

}

;