function novoid(campo)
{
	if (campo.value=="")
	{
		campo.value=campo.defaultValue;
	}
}
function envoid(campo)
{
	if (campo.value==campo.defaultValue || campo.value==campo.defaultValue.substring(0, campo.maxLength))
	{
		campo.value="";
	}
}

function validate(formulario, campos)
{
	fstring="window.document.forms['"+formulario+"']";
	f=eval(fstring);
	while (campos.indexOf(", ")>0){
		campos=campos.replace(", ", "','");
	}
	campos="'"+campos+"'";
	c=eval("new Array("+campos+")");
	msg="";
	cont=0;
	for (i=0; i<c.length; i++)
	{
		c[i]=eval("new Array("+fstring+"."+c[i].replace("|",",'")+"')");
		if (c[i][0].type!="hidden" && c[i][0].disabled!=true){
		label=document.getElementById("lbl"+c[i][0].id).innerHTML.toLowerCase().replace("<acronym title=\"required field\">*</acronym>:", "");
		if (c[i][1]=="novoid")
		{
			j=false;
		}else{
			j=true;
		}
		switch (c[i][0].className)
		{
		case "inputemail":
		if (c[i][0].value=="" || (j && c[i][0].value==c[i][0].defaultValue))
		{
			cont++;
			msg=msg+"\n"+cont+"- "+label+"es un campo obligatorio";
			document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
		}else{
			if (c[i][0].value.indexOf(" ")>0 || c[i][0].value.indexOf(".")<1 || c[i][0].value.indexOf("@")<1){
			cont++;
			msg=msg+"\n"+cont+"- Debes introducir una dirección de e-mail válida en el campo "+label;
			document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
			}else{
			document.getElementById("lbl"+c[i][0].id).style.color="";
			}
		}
		break;
		case "inputweb":
		if (c[i][0].value=="" || (j && c[i][0].value==c[i][0].defaultValue))
		{
			cont++;
			msg=msg+"\n"+cont+"- "+label+"es un campo obligatorio";
			document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
		}else{
			if (c[i][0].value.indexOf(" ")>0 || c[i][0].value.indexOf(".")<1){
			cont++;
			msg=msg+"\n"+cont+"- Debes introducir una dirección web válida en el campo "+label;
			document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
			}else{
			document.getElementById("lbl"+c[i][0].id).style.color="";
			}
		}
		break;
		case "inputnum":
		if (c[i][0].value=="" || (j && c[i][0].value==c[i][0].defaultValue))
		{
			cont++;
			msg=msg+"\n"+cont+"- "+label+"es un campo obligatorio";
			document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
		}else{
			if (isNaN(c[i][0].value)){
			cont++;
			msg=msg+"\n"+cont+"- El campo "+label+" sólo acepta valores de tipo numérico";
			document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
			}else{
			document.getElementById("lbl"+c[i][0].id).style.color="";
			}
		}
		break;
		case "inputchar":
		if (c[i][0].value=="" || (j && c[i][0].value==c[i][0].defaultValue))
		{
			cont++;
			msg=msg+"\n"+cont+"- "+label+"es un campo obligatorio";
			document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
		}else{
			perm="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_";
			for (j=0; j<c[i][0].value.length; j++)
			{
				if (perm.indexOf(c[i][0].value.charAt(j))==-1){
					cont++;
					msg=msg+"\n"+cont+"- El campo "+label+" sólo admite carácteres sin puntuación, números, puntos ('.') y guiones ('-' y '_')";
					document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
					break;
				}else{
					document.getElementById("lbl"+c[i][0].id).style.color="";
				}
				break;
			}
		}
		break;
		case "inputdate":
		if (c[i][0].value=="" || (j && c[i][0].value==c[i][0].defaultValue))
		{
			cont++;
			msg=msg+"\n"+cont+"- "+label+"es un campo obligatorio";
			document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
		}else{
			if (c[i][0].value.length<10 || (c[i][0].value.indexOf("/")<1 && c[i][0].value.indexOf("-")))
			{
				cont++;
				msg=msg+"\n"+cont+"- En el campo "+label+" se debe introducir una fecha en formato 'DD/MM/AAAA' o 'DD-MM-AAAA'";
			}else{
				perm="0123456789-/";
				for (j=0; j<c[i][0].value.length; j++)
				{
					if (perm.indexOf(c[i][0].value.charAt(j))==-1){
						cont++;
						msg=msg+"\n"+cont+"- En el campo "+label+" se debe introducir una fecha en formato 'DD/MM/AAAA' o 'DD-MM-AAAA'";
						document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
						break;
					}else{
						dia=c[i][0].value.substring(0,2);
						mes=c[i][0].value.substring(3,5);
						anio=c[i][0].value.substring(6,10);
						if (isNaN(dia) || dia>31 || isNaN(mes) || mes>12 || isNaN(anio))
						{
							cont++;
							msg=msg+"\n"+cont+"- Alguno de los valores introducidos en el campo "+label+" es incorrecto";
							document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
						}else{						
							document.getElementById("lbl"+c[i][0].id).style.color="";
						}
					}
					break;
				}
			}
		}
		break;
		default:
		if (c[i][0].value=="" || (j && c[i][0].value==c[i][0].defaultValue))
		{
			cont++;
			msg=msg+"\n"+cont+"- "+label+"es un campo obligatorio";
			document.getElementById("lbl"+c[i][0].id).style.color="#FF0000";
		}else{
			document.getElementById("lbl"+c[i][0].id).style.color="";
			}
		break;
		}
	}
	}
	if (cont>0)
	{
		if (cont==1)
		{
			window.alert("Se produjo el siguiente error:"+msg);
		}else{
		window.alert("Se produjeron "+cont+" errores:"+msg);
		}
		return false;
	}else{
		return true;
	}
}

function confirmar(tmsg){
	switch(tmsg){
		case "logout":
			m=confirm("¿Está seguro de que desea salir del sistema?\n Si lo hace, perderá el acceso al area privada hasta que vuelva a identificarse.");
			break;
		case "solicitar cambios":
			m=confirm("¿Desea enviar los cambios a Codipauto para su procesamiento?");
			break;
		default:
			m=confirm("¿"+tmsg+"?");
			break;
	}
	if (m) {
		return true;
	}else{
		return false;
	}
}

function popupwindow(p, w, h, a){
	window.open(p, "popup", "width="+w+", height="+h+", "+a);
}
