/*--------------------------------------------------------------------------*/
/* 
/* Funciones javascript necesarias para validacion de formularios por javascript
/*
/*--------------------------------------------------------------------------*/

function check_form(form_id)
{
	
	var required_fields = $(form_id).select(".required");
	
	if (checkrequired(required_fields))
	{
		// comprobar resto de campos
		var email_fields = $(form_id).select(".email");
		return checkemailarray(email_fields)
	}
	return false;

}	

// Devuelve true si estan rellenos todos los campos marcados como required en el 
// array de campos de formulario dado como parametro
function checkrequired(fields_array)
{		
		var ok = true;
		fields_array.each( function (field) 
								{
									if (field.value.blank()) 
									{
										alert("El campo '" + field.title + "' es obligatorio");
										field.focus();
										ok = false;		
										throw $break;																								
									}
								}										
							);		
		return ok;
}

// Devuelve true si son validos todos los campos dados en el array como email

function checkemailarray(fields_array)
{		
		var ok = true;
		fields_array.each( function (field) 
								{
									if (!checkemail(field.value))
									{
										alert("El campo '" + field.title + "' no tiene un formato de email válido");
										field.select();
										field.focus();
										ok = false;		
										throw $break;																								
									}
								}										
							);		
		return ok;
}


function checknumber(str)
{
	
	var expreg = new RegExp(/^[0-9]+$/);	
	return expreg.test(str);
		
}

function checkemail(str)
{
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
 	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
  	return (!reg1.test(str) && reg2.test(str));
}

function is_date(day, month, year)
{
	
	var TheDate=new Date();
	TheDate.setFullYear(year, month-1, day);
	
	return (TheDate.getDate()==day) && (TheDate.getMonth()==month-1) &&	(TheDate.getFullYear()==year);
}


