function userTypeClick() {
  if ($('user_type_2').checked) {
		$('user_login').setStyle('display', 'block');
		$('user_account').setStyle('display', 'none');
		$('customer_type').setStyle('display', 'none');
		$('billing_address').setStyle('display', 'none');
		$('shipping_address').setStyle('display', 'none');
		$$('.buttons')[0].setStyle('display', 'block');
		$$('.buttons')[1].setStyle('display', 'none');
  } else {
		$('user_login').setStyle('display', 'none');
		$('user_account').setStyle('display', 'block');
		$('customer_type').setStyle('display', 'block');
		$('billing_address').setStyle('display', 'block');
		$('shipping_address').setStyle('display', 'block');
		$$('.buttons')[0].setStyle('display', 'none');
		$$('.buttons')[1].setStyle('display', 'block');
  }
}

function customerTypeClick() {
  if ($('customer_type_2').checked) {
		$('company').setStyle('display', 'block');
		$('nif').setStyle('display', 'block');
  } else {
		$('company').setStyle('display', 'none');
		$('nif').setStyle('display', 'none');
  }
}

function sameAddressClick() {
  if ($('same_address').checked) {
		$('shipping_data').setStyle('display', 'none');
  } else {
		$('shipping_data').setStyle('display', 'block');
  }
}

function markError(el) {
	el.getParent().addClass("error");
	el.onfocus = cleanError;
}

function cleanError() {
	this.getParent().removeClass('error');
}

function checkEmail(data) {
	var re = /^\w+([\.-]?\w*)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|cat))$/i
	return re.test(data);
}

function checkPhone(data) {
	var re = /^[\d\s\+\-\(\)]+$/
	return re.test(data);
}


function checkPass(pass1, pass2) {
	return pass1 == pass2;
}

function checkPolicy() {
	return $('privacy').checked || ($('user_type_2') && $('user_type_2').checked);
}

function checkCP(el, ctry) {
	var cps = {
		ES:'^[0-9]{5}$',
		FR:'^[0-9]{5}$',
		BE:'^[0-9]{4}$',
		NL:'^[0-9]{4}[A-Z]{2}$',
		DE:'^[0-9]{5}$',
		IT:'^[0-9]{5}$',
		GB:'^(GIR 0AA|[A-PR-UWYZ]([0-9]{1,2}|([A-HK-Y][0-9]|[A-HK-Y][0-9]([0-9]|[ABEHMNPRV-Y]))|[0-9][A-HJKS-UW]) [0-9][ABD-HJLNP-UW-Z]{2})$',
		IE:'^.*$',
		DK:'^[0-9]{4}$',
		GR:'^[0-9]{5}$',
		PT:'^[0-9]{4}(-[0-9]{3})?(\\s.*)?$',
		LU:'^[0-9]{4}$',
		SE:'^[0-9]{3}\\s?[0-9]{2}$',
		MC:'^[0-9]{5}$',
		AT:'^[0-9]{4}$'
	}
	var er = new RegExp(cps[ctry], 'gi');
	return (er.test(el.getValue()));
}

function displayErrorMessage(errorMessage, form) {
	var div = $('js_errors');
	if (!div) {
		var div = new Element('div', {
	    'id': 'js_errors',
	    'class': 'errors'
		});
		if (form == undefined) {
			form = $('address_form');
		}
		div.injectTop(form);
	}
	div.setText(errorMessage);
	window.location.href="#js_errors";
}
