/**********************************
*     Funciones de Validación     *
*     Desarrolladas por ©Soho     *
**********************************/

function validoCombo(campo)
{
	if (campo.options[campo.selectedIndex].value == -1)
		return false;
	else
		return true;
}

function validoTexto(campo)
{
	if (campo.value == "")
		return false;
	else
		return true;
}

function validoAno(campo)
{
	if (arguments[1] == null)
		anoinicial = 1900;
	else
		anoinicial = arguments[1];
	if (arguments[2] == null) {
		var fecha_hoy = new Date();
		anofinal = fecha_hoy.getFullYear();
	} else
		anofinal = arguments[2];
	var ano = parseInt(campo.value);
	if (isNaN(ano))
		return false;
	if (ano > anofinal || ano < anoinicial)
		return false;
	return true;
}

function validoEmail(campo)
{
	re = /^[^@\s]+@[^\s\.]+\.[^\s]+$/;
	return re.test(campo.value);

}

function validoRut(objRut, dv) 
{
	vari = objRut.value;
	suma = 0;
	divi = 0;
	cont = 0;
	rut = vari;
	res = 1;
	cont = 2;  

	if(objRut.value == "" || dv.value == "") return false;

	for (a = 1; a <= vari.length; a++){
		divi = (rut % 10);
		rut = rut - divi;
		rut = Math.ceil(rut / 10);
		res = divi * cont;
		suma = suma + res;
		cont++;
		if(cont == 8) {
			cont = 2;
		}
	}
	
	suma = suma % 11;
	suma = 11 - suma;
	
	if(suma == 11){
		suma = 0;
	} else if (suma == 10) {
		suma = "k";
	}
	
	if(dv.value != suma) {
		return false;
	}

	return true;
}


function validoRadio(collection)
{
	var i;
	for (i = 0; i < collection.length; i++)
		if (collection[i].checked)
			return true;
	return false;
}

function error(mensaje, objeto)
{
	alert(mensaje);
	objeto.focus();
	return false;
}

function validoPassword(campo1, campo2)
{
	if (validoTexto(campo1) && validoTexto(campo2))
		return (campo1.value == campo2.value);
	else
		return false;
}

function validoNumerico(campo, decimal)
{
	var re;
	if (decimal)
		re = /^[0-9\.,]+$/;
	else
		re = /^[0-9]+$/;
	return re.test(campo.value);
}
