String.prototype.startsWith = function(str) {
	return (this.match("^"+str)==str);
}

function validaRegistroPublico(form) {

	var submit = false;	
	var existeError = false;
	var faltanDatos = false;
	var divDO = document.getElementById("error_registro_publico");
	divDO.style.display = "none";
	
	var MSG0001 = "Por favor ingrese los datos requeridos";
	var MSG0002 = "El R.U.T. ingresado no es válido.";
	var MSG0003 = "El E-Mail ingresado no es válido.";
	var MSG0004 = "El E-Mail ingresado no coincide<br>con el anterior";
	var MSG0005 = "El Fono ingresado no es válido";
	var MSG0006 = "Edad mínima requerida : 18 ańos";
	var MGS0007 = "Texto no coindice con la imagen";
	var MSG0008 = "Si deseas recibir SMS debes ingresar<br> un teléfono celular válido";
	
	var divErrorRut = document.getElementById("RP_error_rut_invalido");
	var divErrorFono1 = document.getElementById("RP_error_fono1_invalido");
	var divErrorEmail = document.getElementById("RP_error_email_invalido");
	var divErrorEmail2 = document.getElementById("RP_error_email2_invalido");
	var divErrorEdad = document.getElementById("RP_error_edad_invalido");
	
	resetErrores(form);
	if (form.nombre.value.length == 0) {
		existeError = true;
		form.nombre.style.background = "#fedfdd";
	}
	 	
	if (form.apellidopaterno.value.length == 0) {
		existeError = true;
		form.apellidopaterno.style.background = "#fedfdd";
	}
	
	if (form.apellidomaterno.value.length == 0) {
		existeError = true;
		form.apellidomaterno.style.background = "#fedfdd";
	}
	
	if (form.rut.value.length == 0) {		
		form.rut.style.background = "#fedfdd";
		existeError = true;
	}
	
	if (form.dvrut.value.length == 0) {
		form.dvrut.style.background = "#fedfdd";
		existeError = true;
	}
	
	/* Validar formato R.U.T. */
	if (!existeError) {
		if (!Valida_RUT(form.rut.value, form.dvrut.value)) {
			form.rut.style.background = "#fedfdd";
			form.dvrut.style.background = "#fedfdd";
			muestraError(MSG0002, "error_registro_publico");
			return false;
		} else {
			form.rut.style.background = "#ffffff";
			form.dvrut.style.background = "#ffffff";
		}
	}
	
	if (form.fechanacimiento.value.length == 0) {
		form.fechanacimiento.style.background = "#fedfdd";
		existeError = true;
	} else {
		if (!validaEdad(form.fechanacimiento.value)) {
			form.fechanacimiento.style.background = "#fedfdd";
			muestraError(MSG0006, "error_registro_publico");
			return false;
		}
	}
		
	var sexoChecked = false;
	for (i=0; i < form.sexo.length; i++) {
		if (form.sexo[i].checked) {
			sexoChecked = true;
			break;
		}
	}
	
	if (!sexoChecked) {		
		existeError = true;
	}	
	
	if (form.fono.value.length == 0) {
		form.fono.style.background = "#fedfdd";
		existeError = true;
	} else {
		if ((form.fono.value.length > 9) || (form.fono.value.length < 6)) {
			form.fono.style.background = "#fedfdd";
			muestraError(MSG0005, "error_registro_publico");
			return false;
		}
	}
	
	if (form.email_1.value.length == 0) {
		form.email_1.style.background = "#fedfdd";
		existeError = true;
	} else {
		if (!valida_email(form.email_1.value)) {
			muestraError(MSG0003, "error_registro_publico");
			form.email_1.style.background = "#fedfdd";
			return false;
		}
	}
	
	if (form.email_2.value.length == 0) {
		form.email_2.style.background = "#fedfdd";
		existeError = true;
	} else {
		if (!valida_email(form.email_2.value)) {
			muestraError(MSG0003, "error_registro_publico");
			form.email_2.style.background = "#fedfdd";
			return false;
		}
	}
	
	if (!existeError) {
		if (form.email_1.value != form.email_2.value) {
			muestraError(MSG0004, "error_registro_publico");
			return false;
		}
	}
	
	var flagofertasChecked = false;
	for (i=0; i < form.flagofertas.length; i++) {
		if (form.flagofertas[i].checked) {
			flagofertasChecked = true;
			break;
		}
	}
	if (!flagofertasChecked) {
		existeError = true;
	}
	
	var flagsmsChecked = false;
	for (i=0; i < form.flagsms.length; i++) {
		if (form.flagsms[i].checked) {
			flagsmsChecked = true;
			break;
		}
	}
	if (!flagsmsChecked) {
		existeError = true;
	} else {
		if (form.flagsms[0].checked && !existeError) {
			if (form.otrotelefono.value.length == 0) {
				if ((form.otrotelefono.value.length > 9) || (form.otrotelefono.value.length < 6)) {
					form.otrotelefono.style.background = "#fedfdd";
					muestraError(MSG0008, "error_registro_publico");
					return false;
				}
			}
		}
	}
	
	if (existeError) {
		muestraError(MSG0001, "error_registro_publico");
	} else {
		submit = true;
	}
	
	if (submit) {
		formElementsToUpperCase(form);
		form.submit();
	}
}

function validaEdad(fechaNacimiento) {
	var edadMinima = 18;
	var fechaArray = fechaNacimiento.split('/', 3);
	var fechaHoy = new Date();
	var anioHoy = fechaHoy.getFullYear();
	if (anioHoy <= 99) {
		anioHoy += 1900;
	}
	var mesHoy = fechaHoy.getMonth() + 1;
	if (mesHoy < 10) { mesHoy = "0" + mesHoy; }
	var diaHoy = fechaHoy.getDate();
	if (diaHoy < 10) { diaHoy = "0" + diaHoy; }
	
	var edad = (anioHoy - fechaArray[2]);
	if (edad > edadMinima) {
		return true;
	} else if (edad == edadMinima) {
		if (mesHoy > fechaArray[1]) {
			return true;
		} else if (mesHoy == fechaArray[1]) {				
			if (fechaHoy.getUTCDate() >= fechaArray[0]) {
				return true;
			} 
		} 
	}
	return false;
}

function resetErrores(form) {
	document.getElementById("error_registro_publico").style.display = "none";
	form.nombre.style.background = "#ffffff";
	form.apellidopaterno.style.background = "#ffffff";
	form.apellidomaterno.style.background = "#ffffff";
	form.rut.style.background = "#ffffff";
	form.dvrut.style.background = "#ffffff";
	form.fechanacimiento.style.background = "#ffffff";
	form.fono.style.background = "#ffffff";
	form.otrotelefono.style.background = "#ffffff";
	form.email_1.style.background = "#ffffff";
	form.email_2.style.background = "#ffffff";
//	form.captcha.style.background = "#ffffff";
}

function validaRegistroGastos(form) {

	var submit = false;	
	var existeError = false;
	var faltanDatos = false;
	var divDO = document.getElementById("error_registro_gastos");
	divDO.style.display = "none";
	
	var MSG0001 = "Por favor ingrese los datos requeridos";
	var MSG0002 = "El R.U.T. ingresado no es válido.";
	var MSG0003 = "El E-Mail ingresado no es válido.";
	var MSG0004 = "El E-Mail ingresado no coincide<br>con el anterior";
	var MSG0005 = "El Fono ingresado no es válido";
	var MSG0006 = "Edad mínima requerida : 18 ańos";
	var MGS0007 = "Texto no coindice con la imagen";
	var MSG0008 = "Si deseas recibir SMS debes ingresar<br> un teléfono celular válido";
	
	var divErrorRut = document.getElementById("RP_error_rut_invalido");
	var divErrorFono1 = document.getElementById("RP_error_fono1_invalido");
	var divErrorEmail = document.getElementById("RP_error_email_invalido");
	var divErrorEmail2 = document.getElementById("RP_error_email2_invalido");
	var divErrorEdad = document.getElementById("RP_error_edad_invalido");
	
	resetErroresG(form);
	
	
/*	if(form.tipoTarjeta.value == 0) {
		form.tipoTarjeta.style.background = "#fedfdd";
		existeError = true;
	} */
	
/*	if(form.celular.value.length == 0) {
		form.celular.style.background = "#fedfdd";
		existeError = true;
	}
	
	if(form.celular.value.length != 7) {
		form.celular.style.background = "#fedfdd";
		existeError = true;
	} */
	
/*	if (form.nombre.value.length == 0) {
		existeError = true;
		form.nombre.style.background = "#fedfdd";
	} */
	 	
/*	if (form.apellidopaterno.value.length == 0) {
		existeError = true;
		form.apellidopaterno.style.background = "#fedfdd";
	}
	
	if (form.apellidomaterno.value.length == 0) {
		existeError = true;
		form.apellidomaterno.style.background = "#fedfdd";
	}  */
	
	if(form.celular.value.length > 0) {
		if(form.celular.value.length != 7) {
			form.celular.style.background = "#fedfdd";
			existeError = true;
		}
	}
	
	if (form.rut.value.length == 0) {		
		form.rut.style.background = "#fedfdd";
		existeError = true;
	}
	
	if (form.dv.value.length == 0) {
		form.dv.style.background = "#fedfdd";
		existeError = true;
	}
	
	/* Validar formato R.U.T. */
	if (!existeError) {
		if (!Valida_RUT(form.rut.value, form.dv.value)) {
			form.rut.style.background = "#fedfdd";
			form.dv.style.background = "#fedfdd";
			muestraError(MSG0002, "error_registro_gastos");
			return false;
		} else {
			form.rut.style.background = "#ffffff";
			form.dv.style.background = "#ffffff";
		}
	}
	
	/*
	if (form.fechanacimiento.value.length == 0) {
		form.fechanacimiento.style.background = "#fedfdd";
		existeError = true;
	} else {
		if (!validaEdad(form.fechanacimiento.value)) {
			form.fechanacimiento.style.background = "#fedfdd";
			muestraError(MSG0006, "error_registro_gastos");
			return false;
		}
	}*/
		
	/*
	var sexoChecked = false;
	for (i=0; i < form.sexo.length; i++) {
		if (form.sexo[i].checked) {
			sexoChecked = true;
			break;
		}
	}
	
	if (!sexoChecked) {		
		existeError = true;
	}*/	
	
	/*if (form.fono.value.length == 0) {
		form.fono.style.background = "#fedfdd";
		existeError = true;
	} else {
		if ((form.fono.value.length > 9) || (form.fono.value.length < 6)) {
			form.fono.style.background = "#fedfdd";
			muestraError(MSG0005, "error_registro_gastos");
			return false;
		}
	}*/
	
	if (form.email_1.value.length == 0) {
		form.email_1.style.background = "#fedfdd";
		existeError = true;
	} else {
		if (!valida_email(form.email_1.value)) {
			muestraError(MSG0003, "error_registro_gastos");
			form.email_1.style.background = "#fedfdd";
			return false;
		}
	}
	
	if (form.email_2.value.length == 0) {
		form.email_2.style.background = "#fedfdd";
		existeError = true;
	} else {
		if (!valida_email(form.email_2.value)) {
			muestraError(MSG0003, "error_registro_gastos");
			form.email_2.style.background = "#fedfdd";
			return false;
		}
	}
	
	if (!existeError) {
		if (form.email_1.value.toLowerCase() != form.email_2.value.toLowerCase()) {
			muestraError(MSG0004, "error_registro_gastos");
			return false;
		}
	}
	
	/*
	var flagofertasChecked = false;
	for (i=0; i < form.flagofertas.length; i++) {
		if (form.flagofertas[i].checked) {
			flagofertasChecked = true;
			break;
		}
	}
	if (!flagofertasChecked) {
		existeError = true;
	}*/
	
	/*
	var flagsmsChecked = false;
	for (i=0; i < form.flagsms.length; i++) {
		if (form.flagsms[i].checked) {
			flagsmsChecked = true;
			break;
		}
	}
	if (!flagsmsChecked) {
		existeError = true;
	} else {
		if (form.flagsms[0].checked && !existeError) {
			if (form.otrotelefono.value.length == 0) {
				if ((form.otrotelefono.value.length > 9) || (form.otrotelefono.value.length < 6)) {
					form.otrotelefono.style.background = "#fedfdd";
					muestraError(MSG0008, "error_registro_gastos");
					return false;
				}
			}
		}
	}*/
	
/*	if (!existeError) {
		if (form.celular.value.length == 0) {
			if ((form.celular.value.length > 9) || (form.celular.value.length < 6)) {
				form.celular.style.background = "#fedfdd";
				muestraError(MSG0008, "error_registro_gastos");
				return false;
			}
		}
	}*/
	
	if (existeError) {
		muestraError(MSG0001, "error_registro_gastos");
	} else {
		submit = true;
	}
	
	if (submit) {
		formElementsToUpperCase(form);
		form.submit();
	}
}

function resetErroresG(form) {
	document.getElementById("error_registro_gastos").style.display = "none";
	form.nombre.style.background = "#ffffff";
	form.apellidopaterno.style.background = "#ffffff";
	form.apellidomaterno.style.background = "#ffffff";
	form.rut.style.background = "#ffffff";
	form.dv.style.background = "#ffffff";
	//form.tipoTarjeta.style.background = "#ffffff";
	//form.fechanacimiento.style.background = "#ffffff";
	//form.fono.style.background = "#ffffff";
	form.celular.style.background = "#ffffff";
	form.email_1.style.background = "#ffffff";
	form.email_2.style.background = "#ffffff";
//	form.captcha.style.background = "#ffffff";
}

function validaRegistroBeneficios(form) {

	var submit = false;	
	var existeError = false;
	var faltanDatos = false;
	var divDO = document.getElementById("error_registro_beneficios");
	divDO.style.display = "none";
	
	var MSG0001 = "Por favor ingrese los datos requeridos";
	var MSG0002 = "El R.U.T. ingresado no es válido.";
	var MSG0003 = "El E-Mail ingresado no es válido.";
	var MSG0004 = "El E-Mail ingresado no coincide<br>con el anterior";
	var MSG0005 = "El Fono ingresado no es válido";
	var MSG0006 = "Edad mínima requerida : 18 ańos";
	var MGS0007 = "Texto no coindice con la imagen";
	var MSG0008 = "Si deseas recibir SMS debes ingresar<br> un teléfono celular válido";
	
	var divErrorRut = document.getElementById("RB_error_rut_invalido");
	var divErrorFono1 = document.getElementById("RB_error_fono1_invalido");
	var divErrorEmail = document.getElementById("RB_error_email_invalido");
	var divErrorEmail2 = document.getElementById("RB_error_email2_invalido");
	var divErrorEdad = document.getElementById("RB_error_edad_invalido");
	

	
	
	
	resetErroresB(form);
	
	if(form.otrotelefono.value.length == 0) {
	form.otrotelefono.style.background = "#fedfdd";
	existeError = true;
	}
	
	if(form.otrotelefono.value.length != 7) {
	form.otrotelefono.style.background = "#fedfdd";
	existeError = true;
	}
	
	if (form.rut.value.length == 0) {		
		form.rut.style.background = "#fedfdd";
		existeError = true;
	}
	
	if (form.dvrut.value.length == 0) {
		form.dvrut.style.background = "#fedfdd";
		existeError = true;
	}
	
	/* Validar formato R.U.T. */
	if (!existeError) {
		if (!Valida_RUT(form.rut.value, form.dvrut.value)) {
			form.rut.style.background = "#fedfdd";
			form.dvrut.style.background = "#fedfdd";
			muestraError(MSG0002, "error_registro_beneficios");
			return false;
		} else {
			form.rut.style.background = "#ffffff";
			form.dvrut.style.background = "#ffffff";
		}
	}
	
	if (form.direccion.value.length == 0) {
		existeError = true;
		form.direccion.style.background = "#fedfdd";
	}
	
	if (form.fono.value.length == 0) {
		form.fono.style.background = "#fedfdd";
		existeError = true;
	} else {
		if ((form.fono.value.length > 9) || (form.fono.value.length < 6)) {
			form.fono.style.background = "#fedfdd";
			muestraError(MSG0005, "error_registro_beneficios");
			return false;
		}
	}
	
	if (form.email_1.value.length == 0) {
		form.email_1.style.background = "#fedfdd";
		existeError = true;
	} else {
		if (!valida_email(form.email_1.value)) {
			muestraError(MSG0003, "error_registro_beneficios");
			form.email_1.style.background = "#fedfdd";
			return false;
		}
	}
	
	if (form.email_2.value.length == 0) {
		form.email_2.style.background = "#fedfdd";
		existeError = true;
	} else {
		if (!valida_email(form.email_2.value)) {
			muestraError(MSG0003, "error_registro_beneficios");
			form.email_2.style.background = "#fedfdd";
			return false;
		}
	}
	
	if (!existeError) {
		if (form.email_1.value != form.email_2.value) {
			muestraError(MSG0004, "error_registro_beneficios");
			return false;
		}
	}
	
	if (!existeError) {
		if (form.otrotelefono.value.length == 0) {
			if ((form.otrotelefono.value.length > 9) || (form.otrotelefono.value.length < 6)) {
				form.otrotelefono.style.background = "#fedfdd";
				muestraError(MSG0008, "error_registro_beneficios");
				return false;
			} 
		}
	}
	
	if (existeError) {
		muestraError(MSG0001, "error_registro_beneficios");
	} else {
		submit = true;
	}
	
	if (submit) {
		formElementsToUpperCase(form);
		form.submit();
	}
}

function resetErroresB(form) {
	document.getElementById("error_registro_beneficios").style.display = "none";
	form.direccion.style.background = "#ffffff";
	form.rut.style.background = "#ffffff";
	form.fono.style.background = "#ffffff";
	form.dvrut.style.background = "#ffffff";
	form.otrotelefono.style.background = "#ffffff";
	form.email_1.style.background = "#ffffff";
	form.email_2.style.background = "#ffffff";
}

function validaRegistroFarmacia(form) {

	var MSG0001 = "Por favor ingrese los datos requeridos";
	var MSG0002 = "El R.U.T. ingresado no es válido.";
	var MSG0003 = "El E-Mail ingresado no es válido.";
	var MSG0004 = "El E-Mail ingresado no coincide<br>con el anterior";
	
	form.rut.style.background = "#ffffff";
	form.dv.style.background = "#ffffff";
	form.celular.style.background = "#ffffff";
	form.email_1.style.background = "#ffffff";
	form.email_1.style.background = "#ffffff";
	
	var existeError = false;

	if (form.rut.value.length == 0) {		
		form.rut.style.background = "#fedfdd";
		existeError = true;
	}
	
	if (form.dv.value.length == 0) {
		form.dv.style.background = "#fedfdd";
		existeError = true;
	}
	
	if (form.email_1.value.length == 0) {
		form.email_1.style.background = "#fedfdd";
		existeError = true;
	}
	
	if (form.email_2.value.length == 0) {
		form.email_2.style.background = "#fedfdd";
		existeError = true;
	}
	
	/* Validar formato R.U.T. */
	if (!existeError) {
		if (!Valida_RUT(form.rut.value, form.dv.value)) {
			form.rut.style.background = "#fedfdd";
			form.dv.style.background = "#fedfdd";
			existeError = true;
			muestraError(MSG0002, "error_registro_farmacia");
		}
	}
	
	if (form.celular.value.length > 0) {
		if (form.celular.value.length < 7) {
			form.celular.style.background = "#fedfdd";
			existeError = true;
		}
	} 
	
	if (!existeError) {
		if (!valida_email(form.email_1.value)) {
			muestraError(MSG0003, "error_registro_farmacia");
			form.email_1.style.background = "#fedfdd";
			existeError = true;
		}
	}
	
	if (!existeError) {
		if (!valida_email(form.email_1.value)) {
			muestraError(MSG0003, "error_registro_farmacia");
			form.email_2.style.background = "#fedfdd";
			existeError = true;
		}
	}
	
	if (!existeError) {
		if (form.email_1.value.toUpperCase() != form.email_2.value.toUpperCase()) {
			muestraError(MSG0004, "error_registro_farmacia");
			form.email_2.style.background = "#fedfdd";
			form.email_2.focus();
			existeError = true;
		}	
	}

	if (existeError) {
		muestraError(MSG0001, "error_registro_farmacia");
	}
	
	if (!existeError) {
		form.submit();
	}
}

function checkCellPhone(object) {
	if (object.value.length == 0) {
		$("#sms").fadeOut("slow");
	} else {
		$("#sms").fadeIn("slow");
	}
}
