function isEmpty(oForm, oField, oMessage)
{
	var nMessage = "Error... Este campo no puede estar vacio";
	if (oMessage != "") nMessage = oMessage;
	
	var elem = document.forms[oForm][oField];	
	if(elem.value.length > 0)
		return true;
	else
	{
		alert(nMessage);
		elem.focus();
		elem.select();
		return false;
	}
}

function isFileEmpty(oForm, oField)
{
	var nMessage = "Error... Debe ingresar un archivo";
	
	var elem = document.forms[oForm][oField];	
	if(!elem.value.length > 0)
	{	
		alert(nMessage);
		elem.select();
		return false;
	}
	return true;
}

function isMail(oForm, oField, oMessage)
{
	var nMessage = "Error... Debe de ingresar un mail válido";
	if (oMessage != "") nMessage = oMessage;
	
	var Template = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
	var elem = document.forms[oForm][oField];
	if(elem.value!= "")
	{
		if (Template.test(elem.value))
    {
      return true;
		}
    else
    {
		  alert(nMessage);
    	elem.focus();
      elem.select();
      return false;
    }       
  }
  return false;
}

function isDate(oForm, oDia, oMes, oAnio)
{
	var dia = document.forms[oForm][oDia];
	var mes = document.forms[oForm][oMes];
	var anio = document.forms[oForm][oAnio];
	var nMessage = "Error... la fecha ingresada es invalida";
	if(!(!isNaN(dia.value) && dia.value > 0 && dia.value < 32))
	{
		alert(nMessage);
		dia.focus();
		dia.select();
		return false;
	}
	else if(!(!isNaN(mes.value) && mes.value > 0 && mes.value < 13))
	{
		alert(nMessage);
		mes.focus();
		mes.select();
		return false;
	}
	else if(!(!isNaN(anio.value) && anio.value > 1900 && anio.value < 2100))
	{
		alert(nMessage);
		anio.focus();
		anio.select();
		return false;
	}
	
	return true;
}

function isFile(oForm, oField, arrExtensions)
{
	var elem = document.forms[oForm][oField];
	var strName = elem.value.toLowerCase();
	var strExt = strName.substring(strName.length-3);	
	
	if(strName != "")
	{
		if(in_array(strExt, arrExtensions))
			return true;
		else
		{
			alert("Error... formato de archivo incorrecto");
			elem.focus();
			elem.select();
			return false;
		}
	}
	
	return true;
}

function isFileID(oField, arrExtensions)
{
	var elem = document.getElementById(oField);
	var strName = elem.value.toLowerCase();
	var strExt = strName.substring(strName.length-3);	
	
	if(strName != "")
	{
		if(in_array(strExt, arrExtensions))
			return true;
		else
		{
			alert("Error... formato de archivo incorrecto");
			elem.focus();
			elem.select();
			return false;
		}
	}
	
	return true;
}

function in_array(str, arr)
{
	for(i=0; i < arr.length; i++)
	{
		var arr_pos = arr[i];
		if(str == arr_pos)
		{
			return true;
		}
	}
	return false;
}

function passOK(formulario, pwd, pwd2)
{
	var elem = document.forms[formulario][pwd];
	var elem2 = document.forms[formulario][pwd2];
	
	if(elem.value != elem2.value)
	{
		alert("Error... La contraseña es incorrecta");
		elem.focus();
		elem.select();
		return false;
	}
	return true;
}

function isEmptyOpt(formulario, campo, oMessage)
{
	var elem = document.forms[formulario][campo];
	if (elem.value == "")
	{
		elem.focus();
		alert('Error... Debe seleccionar una opcion');
		return false;
	} 
	return true;
}

function isNumeric(formulario, campo)	
{
	var elem = document.forms[formulario][campo];
	var strValidChars = "0123456789";
	var strChar;
	var blnResult = true;
	
	if (elem.value == 0)
	{
		elem.focus();
		alert('Error... Debe ingresar sólo numeros');
		return false;
	}
	
	for (i = 0; i < elem.value.length && blnResult == true; i++)
	{
		strChar = elem.value.charAt(i);
		if(strValidChars.indexOf(strChar) == -1)
		{
			blnResult = false;
		}
	}
	
	if(blnResult == false)
	{
		elem.focus();
		alert('Error... Debe ingresar sólo numeros');
		return false;
	}
	return true;
}
