addLoadEvent( function() {

	function formHandler(e, frm) {
		var element_id = getURLParam('profile');

		if ( !frm.username.value )
		{
			frm.username.focus();
			alert(cNameIsEmpty);
		}
		else if ( !frm.enterprise.value && $('#type_prof').attr('checked') )
		{
			frm.enterprise.focus();
			alert(cEnterpriseIsEmpty);
		}
		else if ( !( frm.email.value || frm.phone.value ) )
		{
			alert(cEmailOrPhoneAreEmpty);
			frm.email.focus();
		}
		else if ( frm.email.value && !checkEmail( frm.email.value ) )
		{
			alert(cWrongEmailFormat);
			frm.email.focus();
			frm.email.select();
		}
		else if ( !frm.nif.value && $('#type_prof').attr('checked') )
		{
			frm.nif.focus();
			alert(cNIFIsEmpty);
		}
		else if ( !$('#type_prof').attr('checked') && !$('#type_priv').attr('checked') )
		{
			document.getElementById('type_prof').focus();
			alert(cTypeIsEmpty);
		}
		else if ( frm.nif.value && userExistsByField('fiscal_number', frm.nif.value ) )
		{
			frm.nif.focus();
			frm.nif.select();
			alert(cNIFExists);
		}
		else if ( userExistsByField('name', frm.username.value ) )
		{
			frm.username.focus();
			frm.username.select();
			alert(cNameExists);
		}
 		else
		{
			return true;
		}
		e.stopPropagation();
		return false;
	}
	var frm = document.getElementById('frmRegistro');
	if ( frm )
	{
		$(frm).bind("submit", function(event){ return formHandler(event,frm);} );
	}
	$('#desc_container').hide();
	$("input[@name='type']").bind('click',function(){
		if($(this).val() == 'priv')
		{
			$('#desc_container').show();
		}
		else
		{
			$('#desc_container').hide();
		}
	});

});

function userExistsByField( field, value ) {
	var exists = false;
	$.ajax({
		type: "GET",
		url: cHTML_ROOT + 'queries/get_user_id_by_field.php',
		data : 'field='+field+'&value='+value,
		cache: false,
		dataType: 'text',
		success: function(msg) {
			exists = msg.length > 0;
		},
		async: false
	});
	return exists;
}