/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////// Padrões /////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////

function validaCampos(form, retorno){
	
	elementos = document.getElementById(form).elements;
	
	for (i=0; i<elementos.length; i++) {
		
		// preenchimento ...
		if (elementos[i].hasAttribute("obr")) { 		
			typ = elementos[i].getAttribute("type");
			if ((typ == "text")&&(elementos[i].value == "")) {
				document.getElementById(retorno).innerHTML = elementos[i].getAttribute("obr")+" não preenchido!";
				elementos[i].focus(); return false;
			}
			if ((typ == "textarea")&&(elementos[i].value == "")) {
				document.getElementById(retorno).innerHTML = elementos[i].getAttribute("obr")+" não preenchido!";
				elementos[i].focus(); return false;
			}	
			if ((typ == "file")&&(elementos[i].value == "")) {
				document.getElementById(retorno).innerHTML = elementos[i].getAttribute("obr")+" não preenchido!";
				elementos[i].focus(); return false;
			}			
			if (typ == "radio") {
				obj = document.getElementsByName(elementos[i].name);
				flag =false; for(j=0; j < obj.length; j++) if (obj[j].checked) flag = true;
				if (flag == false){	
					document.getElementById(retorno).innerHTML = elementos[i].getAttribute("obr")+" não preenchido!";			
					return false;
				}				
			}
			if (typ == "checkbox") {
				obj = document.getElementsByName(elementos[i].name);
				flag =false; for(j=0; j < obj.length; j++) if (obj[j].checked) flag = true;
				if (flag == false){	
					document.getElementById(retorno).innerHTML = elementos[i].getAttribute("obr")+" não preenchido!";				
					return false;
				}				
			}	
			if ((typ == "select")&&(elementos[i].value == "")){	
				document.getElementById(retorno).innerHTML = elementos[i].getAttribute("obr")+" não preenchido!";				
				elementos[i].focus(); return false;				
			}			
		}
		
		// validação ...
		if (elementos[i].hasAttribute("val")) {			
			val = elementos[i].getAttribute("val");				
			if ((val == "mail")&&(elementos[i].value != "")) {
				if (!valida_email(elementos[i])) {
					document.getElementById(retorno).innerHTML = "E-mail Invalido!";	
					elementos[i].focus(); return false;	
				}				
			}			
			if ((val == "data")&&(elementos[i].value != "")) {
				if (!valida_data(elementos[i])) {					
					document.getElementById(retorno).innerHTML = "Data Invalida!";	
					elementos[i].focus(); return false;					
				}				
			}		
		}		
	}
	
	//document.getElementById(form).submit();
	
	return true;
}

function validaCamposIe(form, retorno){
	
	elementos = document.getElementById(form).elements;
	
	for (i=0; i<elementos.length; i++) {
		
		// preenchimento ...
		if (elementos[i].obr) { 		
			typ = elementos[i].type;
			if ((typ == "text")&&(elementos[i].value == "")) {
				document.getElementById(retorno).innerHTML = elementos[i].obr+" não preenchido!";
				elementos[i].focus(); return false;
			}
			if ((typ == "textarea")&&(elementos[i].value == "")) {
				document.getElementById(retorno).innerHTML = elementos[i].obr+" não preenchido!";
				elementos[i].focus(); return false;
			}	
			if ((typ == "file")&&(elementos[i].value == "")) {
				document.getElementById(retorno).innerHTML = elementos[i].obr+" não preenchido!";
				elementos[i].focus(); return false;
			}			
			if (typ == "radio") {
				obj = document.getElementsByName(elementos[i].name);
				flag =false; for(j=0; j < obj.length; j++) if (obj[j].checked) flag = true;
				if (flag == false){	
					document.getElementById(retorno).innerHTML = elementos[i].obr+" não preenchido!";			
					return false;
				}				
			}
			if (typ == "checkbox") {
				obj = document.getElementsByName(elementos[i].name);
				flag =false; for(j=0; j < obj.length; j++) if (obj[j].checked) flag = true;
				if (flag == false){	
					document.getElementById(retorno).innerHTML = elementos[i].obr+" não preenchido!";				
					return false;
				}				
			}	
			if ((typ == "select")&&(elementos[i].value == "")){	
				document.getElementById(retorno).innerHTML = elementos[i].obr+" não preenchido!";				
				elementos[i].focus(); return false;				
			}			
		}
		
		// validação ...
		if (elementos[i].val) {			
			val = elementos[i].val;				
			if ((val == "mail")&&(elementos[i].value != "")) {
				if (!valida_email(elementos[i])) {
					document.getElementById(retorno).innerHTML = "E-mail Invalido!";	
					elementos[i].focus(); return false;		
				}				
			}			
			if ((val == "data")&&(elementos[i].value != "")) {
				if (!valida_data(elementos[i])) {					
					document.getElementById(retorno).innerHTML = "Data Invalida!";	
					elementos[i].focus(); return false;					
				}				
			}		
		}		
	}
	
	//document.getElementById(form).submit();
	
	return true;
		
}

function valida_email(campo) {
	email = campo.value; pos = email.indexOf("@",1);
	if ((email.length > 8) && (pos > 0) && (email.indexOf(".",pos) > 0)) return true; else return false;
}

function valida_data(pObj) {
  var expReg = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/(19|20)?\d{2}$/;
  var aRet = true;
  if ((pObj) && (pObj.value.match(expReg)) && (pObj.value != '')) {
    var dia = pObj.value.substring(0,2);
    var mes = pObj.value.substring(3,5);
    var ano = pObj.value.substring(6,10);
    if ((mes == 4 || mes == 6 || mes == 9 || mes == 11 ) && dia > 30)
      aRet = false;
    else
      if ((ano % 4) != 0 && mes == 2 && dia > 28)
        aRet = false;
      else
        if ((ano%4) == 0 && mes == 2 && dia > 29)
          aRet = false;
  }  else
    aRet = false;  
  return aRet;
}

function KeyPressEnter(event){
	if ( !event ) var event = window.event; 	
	if ((event.keyCode == 13)||(event.which == 13)) return true; else return false; 	
}
