function validar(formulario){
	if( ! validarNumero(
			formulario.telefono,  
			'Por favor corrija el teléfono o déjelo en blanco. Este campo sólo admite números', 
			9, 13, true
		)
	){
		return false;
	}


	if( ! validarEmail(
			formulario.correo,
			'Por favor, corrija el e-mail o déjelo en blanco.',
			true
		)
	) {
		return false;
	}

	if( (formulario.telefono.value.length == 0) && (formulario.correo.value.length == 0 ) ){
		alert("Por favor, introduzca un teléfono de contacto o dirección de correo electrónico");
		return false;
	} 

	if( ! validarCadena(
			formulario.descripcion,
			'Por favor, introduzca la descripción de artículos',
			1, 500
		)
	) {
		return false;
	}

	if( ! validarNumero(
			formulario.precio,
			'Por favor corrija el precio o déjelo en blanco. Este campo sólo admite números',
			1, 6, true
		)
	){
		return false;
	}

	if( ! (formulario.categoria[0].checked || formulario.categoria[1].checked ) ){
		alert('Indique si desea vender o comprar');
		return false;
	}	
		
}


function validarNumero(field, msg, min, max, optional) {
	if (!field.value && optional) {
		return true;
	}

	if (!min) { min = 0 }
	if (!max) { max = 255 }

	if ( (parseInt(field.value) != field.value) || field.value.length < min || field.value.length > max) {
		alert(msg);
		field.focus();
		field.select();
		return false;
	}

	return true;
}

function validarCadena(field, msg, min, max) {
	if (!min) { min = 1 }
	if (!max) { max = 65535 }

	if (!field.value || field.value.length < min || field.value.max > max) {
		alert(msg);
		field.focus();
		field.select();
		return false;
	}
	return true;
}

function validarEmail(email, msg, optional) {
	if (!email.value && optional) {
		return true;
	}

	var re_mail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/;
	if (!re_mail.test(email.value)) {
		alert(msg);
		email.focus();
		email.select();
		return false;
	}	
	return true;
}


