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(html_entity_decode(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(html_entity_decode(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(html_entity_decode(nMessage));
    	elem.focus();
      elem.select();
      return false;
    }       
  }
  return false;
}

function isDate(oForm, oDia, oMes, oAnio, oMessage)
{
	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 (oMessage != "") nMessage = oMessage;
	if(!(!isNaN(dia.value) && dia.value > 0 && dia.value < 32))
	{
		alert(html_entity_decode(nMessage));
		dia.focus();
		//dia.select();
		return false;
	}
	else if(!(!isNaN(mes.value) && mes.value > 0 && mes.value < 13))
	{
		alert(html_entity_decode(nMessage));
		mes.focus();
		//mes.select();
		return false;
	}
	else if(!(!isNaN(anio.value) && anio.value > 1900 && anio.value < 2100))
	{
		alert(html_entity_decode(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, oMessage)
{
	var elem = document.forms[formulario][pwd];
	var elem2 = document.forms[formulario][pwd2];
	var nMessage = "Error... Este campo no puede estar vacio";
	if (oMessage != "") nMessage = oMessage;
	
	if(elem.value != elem2.value)
	{
		alert(html_entity_decode(nMessage));
		elem2.focus();
		elem2.select();
		return false;
	}
	return true;
}

function isEmptyOpt(formulario, campo, oMessage)
{
	var elem = document.forms[formulario][campo];
	var nMessage = "Error... Este campo no puede estar vacio";
	if (oMessage != "") nMessage = oMessage;
	if (elem.value == "")
	{		
		alert(html_entity_decode(nMessage));
		elem.focus();
		return false;
	} 
	return true;
}

function isChecked(formulario, campo, oMessage)
{
	var elem = document.forms[formulario][campo];
	var nMessage = "Error... Este campo no puede estar vacio";
	if (oMessage != "") nMessage = oMessage;
	
	if(elem.checked == false)
	{
		alert(html_entity_decode(nMessage));
		elem.focus();
		return false;
	}
	
	return true;
}

function isNumeric(formulario, campo, oMessage)	
{
	var elem = document.forms[formulario][campo];
	var nMessage = "Error... Este campo no puede estar vacio";
	if (oMessage != "") nMessage = oMessage;
	var strValidChars = "0123456789";
	var strChar;
	var blnResult = true;
	
	if (elem.value == 0)
	{
		elem.focus();
		alert(html_entity_decode(nMessage));
		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(html_entity_decode(nMessage));
		return false;
	}
	return true;
}

function isUploading(formulario, campo)
{
	var elem = document.forms[formulario]["uploading-" + campo];
	if(elem.value != 0)
	{
		alert("Debe esperar a que termine la subida del archivo");
		return false;
	}
	
	return true;
}

function turnUploading(formulario, campo)
{
	var elem = document.forms[formulario][campo];
	elem.value = 1;
}

function uploaded(formulario, campo)
{
	var elem = document.forms[formulario][campo];
	if(elem.value == "no-image.jpg")
	{
		alert("Debe de subir una imagen");
		return false;
	}
	
	return true;
}

function turnClass(obj)
{
	if(obj.className == "box") obj.className == "box";
	else if(obj.className == "valid") obj.className == "box";
	else if(obj.className == "date-pick") obj.className == "date-pick-invalid";
}



function html_entity_decode( string ) {
    var ret, tarea = document.createElement('textarea');

				string = str_replace(string, '<br />', '\r\n');
    tarea.innerHTML = string;
    ret = tarea.value;
    return ret;
}