var registrationFolder = "servlets";
var outputDiv = "registrationDiv";
Event.observe(window, 'load', init, false);

function init(){
    
	new Ajax.Request(registrationFolder + "/registration/get/", {
		method: 'get',
		onSuccess: function(transport) {
			
			if (transport.status == 200) {

				$(outputDiv).update(transport.responseText);
			}
			else {
			
				$(outputDiv).update('<p style="color: red;">Problem communicating with the server! Please repeat the action.</p>');
			}
		}
	});
}

	
function getRegistrationForm() {
		
	new Ajax.Request(registrationFolder + "/registration/get/", {
		method: 'get',
		onSuccess: function(transport) {
			
			if (transport.status == 200) {

				$(outputDiv).update(transport.responseText);
			}
			else {
			
				$(outputDiv).update('<p style="color: red;">Problem communicating with the server! Please repeat the action.</p>');
			}
		}
	});
}
	
function validateForm(formElem) {
	
	formElem = $(formElem);
	
	var title = formElem.down('input[name=title]').getValue();
	var name = formElem.down('input[name=name]').getValue();
	var acompanyperson = formElem.down('input[name=acompanyperson]').getValue();
	var city = formElem.down('input[name=city]').getValue();
	var mobilephone = formElem.down('input[name=mobilephone]').getValue();
	var country = formElem.down('select[name=country]').getValue();
	var phone = formElem.down('input[name=phone]').getValue();
	var fax = formElem.down('input[name=fax]').getValue();
	var email = formElem.down('input[name=email]').getValue();
	var postcode = formElem.down('input[name=postcode]').getValue();
	var address = formElem.down('input[name=address]').getValue();
	var verificationCode = formElem.down('input[name=verificationCode]').getValue();
	
	var errMsg = "";
	
	if(title.empty() || name.empty() || address.empty() || city.empty() || phone.empty() || email.empty() || postcode.empty()) {
			
		errMsg += '<p>You must enter the required fields!(*)</p>\n';
	}
	
	
	if(country.empty()) {
		errMsg += '<p>Please choose a country!</p>\n';
	}
	
	
	phoneFilter = /^\+\d{1,3}\s\d{1,3}\s\d{4,7}$/;
	if(!phone.empty() && !phoneFilter.test(phone)) {
		errMsg += '<p>The phone number you entered is not valid!</p>\n';
	}
	
	if(!mobilephone.empty() && !phoneFilter.test(mobilephone)) {
		errMsg += '<p>The mobile phone number you entered is not valid!</p>\n';
	}
	
	if(!fax.empty() && !phoneFilter.test(phone)) {
		errMsg += '<p>The fax number you entered is not valid!</p>\n';
	}
	
	var emailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(!email.empty() && !emailFilter.test(email)) {
		errMsg += '<p>The email you entered is not valid!</p>\n';
	}
	
	
	if(verificationCode.empty()) {
	
		errMsg += '<p>You must enter a verification code!</p>\n';
	}
	
	return errMsg;
}

function submitRegistration(e) {
	
	formElem = Event.element(e);
	formElem.disabled = true;
	$('submit').disabled = true;

	Event.stop(e);
	
	var responseText = $('responseText');
	
	errMsg = validateForm(formElem);
	
	if(!errMsg.empty()) {
		responseText.update(errMsg);
		formElem.disabled = false;
		$('submit').disabled = false;
		return;
	}
		
	var params = formElem.serialize(true);
			
	new Ajax.Request(registrationFolder + "/registration/submit/", {
		method: 'post',
		parameters: params,
		onSuccess: function(transport) {
			
			if (transport.status == 200) {
				$(outputDiv).update(transport.responseText);
			}
			else {
				responseText.update('<p style="color: red;">Problem communicating with the server! Please repeat the action.</p>');
			}
			formElem.disabled = false;
			$('submit').disabled = false;
		}
	});
}

function alertAcompany(e) {


	$('acompanyMessage').show();
}

function checkAcompany(e) {

	acompanyInput = Event.element(e).getValue();
	
	if(acompanyInput.empty()) {
		$('acompanyMessage').hide();
	}
}

