function not_empty(form_name, field_name, display_name)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result = (str != '');
if (!result)
 { 
   alert('Por favor, introduzca una valor para el campo "'+display_name+'".');
   form.elements[field_name].focus(); 
 }
return result;
}

function is_empty(form_name, field_name)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result = (str == '');
return result;
}

function not_white_spaces(form_name, field_name, display_name)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result = (str.indexOf(' ') == -1);
if (!result)
 { 
   alert('Field "'+display_name+'" can not contains white spaces');
   form.elements[field_name].focus(); 
 }
return result;
}

function is_number(form_name, field_name, display_name)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result = (!isNaN(str));
if (!result)
 { 
   alert('Field "'+display_name+'" only can contains numbers.');
   form.elements[field_name].focus(); 
 }
return result;
}

function is_integer(form_name, field_name, display_name)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result = ((!isNaN(str)) && (str.indexOf('.') == -1));
if (!result)
 { 
   alert('Field "'+display_name+'" must be an integer number');
   form.elements[field_name].focus(); 
 }
return result;
}

function number_between(form_name, field_name, display_name, bottom, top)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result = ((!isNaN(str)) && (str>=bottom) && (str<=top));
if (!result)
 { 
   alert('The value of field "'+display_name+'" must be a number between '+bottom+' and '+top);
   form.elements[field_name].focus(); 
 }
return result;
}

function select_one(form_name, field_name, display_name)
{
var form = eval('document.'+form_name);
var sel = form.elements[field_name].selectedIndex;
var str = form.elements[field_name].options[sel].value; 
result = ((str != null) && (str != '') && (str != 0));
if (!result)
 { 
   alert('Select a value for Field "'+display_name+'"');
   form.elements[field_name].focus(); 
 }
return result;
}

function check_one(form_name, field_name, display_name)
{
var form = eval('document.'+form_name);
var elm = form.elements[field_name]; 
var count = elm.length;
result = false;
for (var i=0; ((i < count)&&(!result)); i++)
 result = elm[i].checked;
if (!result)
 { 
   alert('You must select one "'+display_name+'" at least');
   elm[0].focus(); 
 }
return result;
}

function radio_one(form_name, field_name, display_name)
{
var form = eval('document.'+form_name);
var radio = form.elements[field_name]; 

var result = false;
for (i = 0; ((i < radio.length) && (!result));  i++)
 result = (radio[i].checked);
if ((!result) && (display_name!=''))
 { 
   alert('Seleccione un valor para "'+display_name+'"');
   radio[0].focus(); 
 }
return result;
}

function str_greater_than(form_name, field_name, display_name, characters)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result = (str.length >= characters);
if (!result)
 { 
   alert('El campo "'+display_name+'" debe de contener al menos '+characters+' caracteres.');
   form.elements[field_name].focus(); 
 }
return result;
}

function str_smaller_than(form_name, field_name, display_name, characters)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result = (str.length <= characters);
if (!result)
 { 
   alert('El campo "'+display_name+'" no puede contener más de '+characters+' caracteres.');
   form.elements[field_name].focus(); 
 }
return result;
}

function str_equal_to(form_name, field_name, display_name, characters)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result = (str.length == characters);
if (!result)
 { 
   alert('El campo "'+display_name+'" debe de contener exactamente '+characters+' caracteres.');
   form.elements[field_name].focus(); 
 }
return result;
}

function int_smaller_than(form_name, field_name, display_name, characters)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result = (str.length <= characters);
if (!result)
 { 
   alert('Field "'+display_name+'" can not contain more than '+characters+' digits');
   form.elements[field_name].focus(); 
 }
return result;
}

function valid_email(form_name, field_name, display_name)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
result =  ((str.indexOf('@') != -1) && (str.indexOf('@') != 0) && (str.indexOf('@') != str.length -1) && (str.indexOf('.') != -1) && (str.indexOf('.') != 0) && (str.indexOf('.') != str.length -1))  
if (!result)
 { 
   alert('El campo "'+display_name+'" con contiene una dirección de e-mail válida.');
   form.elements[field_name].focus(); 
 }
return result
}

function valid_date(form_name, field_year, field_month, field_day, display_name)
{
var form = eval('document.'+form_name);
var strYear = form.elements[field_year].value; 
var strMonth = form.elements[field_month].value; 
if (!isNaN(strMonth)) strMonth--;
var strDay = form.elements[field_day].value; 
var myDate = new Date(strYear, strMonth, strDay);
result = ((myDate != NaN) && (myDate.getFullYear()==Math.abs(strYear)) && (myDate.getMonth()==Math.abs(strMonth)) && (myDate.getDate()==Math.abs(strDay)));
if (!result)
 { 
   alert('El campo "'+display_name+'" no contiene una fecha válida.');
   form.elements[field_day].focus(); 
 }
return result
}

function valid_telephone(form_name, field_name, display_name)
{
var form = eval('document.'+form_name);
var str = form.elements[field_name].value; 
//result = (!isNaN(str));
result = (!str.match(/[^\d\s-\(\)\+]/));
if (!result)
 { 
   alert('El campo "'+display_name+'" no contiene un valor correcto.');
   form.elements[field_name].focus(); 
 }
return result
}
