function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}
function sortNumber(intMin,intMax) {
	intRange = intMax - intMin + 1;
	intSort = Math.round((Math.random()*intRange)) + intMin;
		if (intSort==(intMax+1)) intSort=intMin;
	return(intSort);
}
function validauniv(formname){
  var tudo = null;
  var erro = '';
  var conta_vazio = 0;
  varTotal = document[formname].elements.length-1;
  for(i=0;i<=varTotal;i++){ 
  tudo = (document[formname].elements[i].name.substring(0,4).toLowerCase());
	if (tudo == "rge0"){ // RG, sem caracteres especiais;

		if (document[formname].elements[i].value.length == 0) { 
			erro += 'O campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '" não pode ser vazio.\n';
		}
		else
		{
		specChar = 0
		var caracper = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
		for (var j=0;j<document[formname].elements[i].value.length;j++){
			if (caracper.indexOf(document[formname].elements[i].value.charAt(j)) == -1){
				specChar = 1;
			}
		}
		if (specChar == 1) erro += 'O campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '" só aceita letras e números.\n';
	  }
	}
	if (tudo == "dta0"){ // campo data, formato dd/mm/aaaa
		var dia = parseInt(document[formname].elements[i].value.substring(0,2),10);
		var mes = parseInt(document[formname].elements[i].value.substring(3,5),10);
		var ano = parseInt(document[formname].elements[i].value.substring(6,10),10);
		var barra1 = document[formname].elements[i].value.substring(2,3);
		var barra2 = document[formname].elements[i].value.substring(5,6);		
		
		if ((document[formname].elements[i].value.length) < 10){
			erro += 'O campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '" deve ter ao menos 10 caracteres.     \n';
		} else {
			if (barra1+barra2 != "//" ){
				erro += 'Por favor, preencha corretamente o campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '"\n';
			} else if (isNaN(dia) || isNaN(mes) || isNaN(ano)){
				erro += 'Por favor, preencha corretamente o campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '"\n';
			} else if (dia > 31 || dia < 1 || isNaN(dia) || dia.length == 0) {
				erro += 'Erro no campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '": dia inválido.\n';			
			} else if (mes > 12 || mes < 1 || isNaN(mes) || mes.length == 0) {
				erro += 'Erro no campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '": mês inválido.\n';			
			} else if (ano.length == 0 || ano < 1904 || isNaN(ano)) {
				erro += 'Erro no campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '": ano inválido.\n';			
			} else if ((mes == 4 || mes == 6 || mes == 9 || mes == 11) && dia == 31) {
				erro += 'Erro no campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '": o mês escolhido só tem 30 dias.\n';			
			} else if (mes == 2 && dia > 29 && dia < 32) {
				erro += 'Erro no campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '": fevereiro tem no máximo 29 dias.\n';			
			} else if (mes == 2 && dia == 29 ) {
				var isleap = (ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0));
				if (dia >=29 && !isleap) { if (dia >= 29) {erro += 'Erro no campo "' + document[formname].elements[i].name.substring(5,(document[formname].elements[i].name.length)) + '": fevereiro de ' + ano + ' só teve 28 dias.         \n'; }}				
		  }
	    }
	  }	  
    }
  if (conta_vazio > 0) erro += 'Não deixe nenhuma das opções sem escolha.\n';  
  if (erro == ''){ 
  return true;
  } 
  else 
  {
  if (formname.substring(0,4) == 'noid'){
  	alert('Por favor, preencha todos os campos.');
  }	
  else
  {
  	alert('Por favor, corrija os seguintes erros:       \n\n' + erro);
  }
  return false
  }
}

