
// Función que elimina los espacios en blanco
function trim(str){
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

// Función que valida la selección de una caja de opciones
function validate_check(field) {
	with(field) {		
		if(checked) {
			return true;
		} else {
			return false;
		}
	}
}

// Función que valida que se proporcionen contenidos en un determinado campo
function validate_mandatory(field) {
with (field) {	
	if ( (value == null) || (trim(value) == "")){			
		return false;
    }
	else {
		return true;
	}
  }
}

// Función que valida que la dirección de e-mail dada sea válida
function validateEmail(field) {
with (field) {
  arrobaIndex = value.indexOf("@");
  dotIndex = value.lastIndexOf(".");
  if ((arrobaIndex < 1) || ((dotIndex-arrobaIndex) < 2) ) {	
	  return false;
	} else {
		return true;
	 }
  }
}

// Función que valida todo el formulario de envío
function validatePost(theForm){
	if(theForm.readTerms != null) {
		var errorAccept = "Debe aceptar las normas del sitio para enviar una imagen y / o comentario";
		if(!(validate_check(theForm.readTerms))) {
			theForm.readTerms.focus();
			alert(errorAccept);
			return false;
		}
	}

	var errorMsg = "Por favor, publique una imagen y / o un comentario";  
	if ( (!validate_mandatory(theForm.comentario)) && (!validate_mandatory(theForm.archivoImagen)) ) {
		theForm.comentario.focus();
		alert(errorMsg);
		return false;
	}			
	
	showSendingIcon();	
	disableSendButton();
	return true;
}

// Función que deshabilita el botón de enviar
function disableSendButton() {
	var theButton = document.getElementById('theSubmitButton');	
	theButton.disabled = true;
}

// Función que hace visible el icono de enviando en progreso
function showSendingIcon() {
	var theSendingDiv = document.getElementById('sendingIconDiv');
	theSendingDiv.style.display = 'inline';
}


// Función que valida todo el formulario de envío exigiendo obligatoriamente una imagen
function validateNewThread(theForm, allowsBlank){
	if(allowsBlank == null) {
		allowsBlank = false;
	}
	
	if(theForm.readTerms != null) {
		var errorAccept = "Debe aceptar las normas del sitio para enviar una imagen y / o comentario";
		if(!(validate_check(theForm.readTerms))) {
			theForm.readTerms.focus();
			alert(errorAccept);
			return false;
		}
	}

	if(!allowsBlank) {
	var errorMsg = "Es obligatorio enviar una imagen para empezar un nuevo hilo en tatachan.com. Puede incluir tambien un comentario.";  
	if ((!validate_mandatory(theForm.archivoImagen))) {
		theForm.comentario.focus();
		alert(errorMsg);
		return false;
	}			
	}
	
	showSendingIcon();	
	disableSendButton();
	return true;
}


// Función que valida el formulario de contacto
function validateContact(theForm){		
	if ((!validate_mandatory(theForm.autor))) {
		theForm.autor.focus();
		alert("Por favor, especifique su nombre");
		return false;
	}
	
	if ((!validate_mandatory(theForm.comentario))) {
		theForm.comentario.focus();
		alert("Por favor, rellene el mensaje");
		return false;
	}
	
	if ((!validateEmail(theForm.email))) {
		theForm.email.focus();
		alert("Por favor, proporcione un e-mail valido");
		return false;
	}
	
	return true;
}
