// JavaScript Document
/* VALIDAÇÃO DE FORMULÁRIOS */
String.prototype.trim = function()
{
  return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

var DOM = YAHOO.util.Dom;
var EVT = YAHOO.util.Event;

function validate_form(_obj){
  var errors = false;

	DOM.getElementsByClassName(
		'required',
		null,
		_obj,
		function(e){
  			var _tag  = e.tagName;
  			var _type = e.getAttribute('type');
  			var _emai = e.getAttribute('email');
  			var _fich = e.getAttribute('fich');
        var _sel  = e.getAttribute('selecta');
        
        
  			if(_tag == 'TEXTAREA' || _type == 'text' || _type == 'password'){
  				if ((e.value == '') || (e.value == 'Preenchimento obrigatório.')){
            var _varid = e.getAttribute('id');
            e.style.border = '1px solid #D20000';
  					e.style.color  = '#D20000';
  					//e.value = 'Preenchimento obrigatório.';
            
  					//EVT.addListener(e, "focus", function(){ e.value = ''; });
  					
  					if(errors == false) errors = true;
  					
  				} else {
  				  var idinput =  e.getAttribute('id');
  				  if (idinput=='rconfpass') {
  				    var pass1 = document.getElementById('rpass').value;
  
  				    if (pass1 != e.value){
                alert("As palavras-chave introduzidas não são iguais.")
                
                var _varid = e.getAttribute('id');
                e.style.border = '1px solid #D20000';
      					e.style.color  = '#D20000';
      					
      					document.getElementById('rpass').style.border = '1px solid #D20000';
      					document.getElementById('rpass').style.color  = '#D20000';
                
      					if(errors == false) errors = true;
              } else {
                var _varid = e.getAttribute('id');
      				  e.style.border = '1px solid #E5E5E5';
      					e.style.color  = '#666666';
      					
      					document.getElementById('rpass').style.border = '1px solid #E5E5E5';
      					document.getElementById('rpass').style.color  = '#666666';
      					
              }
  				  } else if (idinput=='rconfemail') {
  				    var emilio1 = document.getElementById('remail').value;
  				    if (emilio1 != e.value){
                alert("Os emails introduzidos não são iguais.")
                
                var _varid = e.getAttribute('id');
                e.style.border = '1px solid #D20000';
      					e.style.color  = '#D20000';
      					
      					document.getElementById('remail').style.border = '1px solid #D20000';
      					document.getElementById('remail').style.color  = '#D20000';
                
      					if(errors == false) errors = true;
              } else {
                var _varid = e.getAttribute('id');
      				  e.style.border = '1px solid #E5E5E5';
      					e.style.color  = '#666666';
      					
      					document.getElementById('remail').style.border = '1px solid #E5E5E5';
      					document.getElementById('remail').style.color  = '#666666';
      					
              }
            } else {
    				  var _varid = e.getAttribute('id');
    				  e.style.border = '1px solid #E5E5E5';
    					e.style.color  = '#666666';
    				}
  				}
  				
  				if(_emai == 1){
  					if(verify_email(e.value) == false){
  						var _varid = e.getAttribute('id');
              e.style.border = '1px solid #D20000';
    					e.style.color  = '#D20000';
    					//e.value = 'Email inválido.';
              
  						//EVT.addListener(e, "focus", function(){ e.value = ''; });
  						
  						if(errors == false) errors = true;
  						
  					} else {
  					  var _varid = e.getAttribute('id');
      				e.style.border = '1px solid #E5E5E5';
    					e.style.color  = '#666666';
  					}
  				}
  			} else if(_fich == 1){
  			  if(e.value == ''){
            var _varid = e.getAttribute('id');
            e.style.border = '1px solid #D20000';
  					e.style.color  = '#D20000';
  					//e.value = 'Preenchimento obrigatório.';
  					//EVT.addListener(e, "focus", function(){ e.value = ''; });
  					if(errors == false) errors = true;
          } else {
  					var _varid = e.getAttribute('id');
  				  e.style.border = '1px solid #E5E5E5';
  					e.style.color  = '#666666';
  				}
  			} else if(_sel == 1) {
          if ((e.value=="") || (e.value==0) || (e.value=="Seleccione uma Opção")){
            var _varid = e.getAttribute('id');
            e.style.border = '1px solid #D20000';
  					e.style.color  = '#D20000';
						//EVT.addListener(e, "focus", function(){ e.value = ''; });
						if(errors == false) errors = true;
          } else {
            var _varid = e.getAttribute('id');
  				  e.style.border = '1px solid #E5E5E5';
  					e.style.color  = '#666666';
          }
  			} else if(_type == 'checkbox') {
  				if(e.checked == false){
  					//alert('Tem de dizer se aceita os termos e condições de funcionamento do site.');
  					if(errors == false) errors = true;
  				}
  			}
  		
		}
	);
	
	if(errors == true){
	 if(document.getElementById('txt_erro')){
	   document.getElementById('txt_erro').style.display='block';
   }
		return false;
	} else {
	 if(document.getElementById('txt_erro')){
	   document.getElementById('txt_erro').style.display='none';
   }
		return true;
	}
	
}

function verify_email(_mail){
	
  var status = false;     
	var emailRegEx = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
	
  if (_mail.search(emailRegEx) == -1) {
		status = false;
	} else {
		status = true;
	}
	return status;
}

function valida_email(email){
  var e = email.value;
  var erro = 0;
  if (e!=''){
    if (verify_email(e) == false){
      alert("Email inválido.");
      erro=1;
    }
  } else {
    alert("Tem que introduzir um email válido.");
    erro=1;
  }
  if(erro==1){  
    return false;
  } else {
    return true;
  }
}

function verify_number(field,lg){
  if (isNaN(field.value)) 
  {
    if(lg=='pt') {
      alert("Só pode introduzir caracteres numéricos.");
    } else if(lg=='gb') {
      alert("You can only enter numeric characters.");
    } else if(lg=='sp') {
      alert("Sólo se pueden introducir caracteres numéricos.");
    }
    field.value='';
    field.focus();
  }
}


/* VALIDAÇÃO DE FORMULÁRIOS */

/* Picker calendário */
function escolhe_data_entrada(type,args,obj) {
  //alert(type+' - '+args+' - '+obj)
  var dates = args[0];   
  var date = dates[0];   
  var ano = date[0], mes = date[1], dia = date[2];
  obj = obj.split(','); 
  if(dia<10)
    dia = "0"+dia;
  if(mes<10)
    mes = "0"+mes;
  
  document.getElementById(obj[0]).value=dia+'-'+mes+'-'+ano;
    
  cal2.hide();
}
/* Picker calendário */

function validate_form_cand (frm,lg,op) {
  var erro = false;
  /* FORMULÁRIO DE CANDIDATURA ESPONTÂNEA */
  /* DADOS PESSOAIS */
  var nome    = document.getElementById('ce_nome');
  var morada  = document.getElementById('ce_morada');
  var cp1     = document.getElementById('ce_cp1');
  var cp2     = document.getElementById('ce_cp2');
  var local   = document.getElementById('ce_local');
  var dist    = document.getElementById('ce_distrito');
  var nacion  = document.getElementById('ce_locn');
  //var telef   = document.getElementById('ce_telef');
  var telem   = document.getElementById('ce_telem');
  var email   = document.getElementById('ce_email');
  var nbi     = document.getElementById('ce_npass');
  var nseg    = document.getElementById('ce_nsegsoc');
  var foto    = document.getElementById('ce_foto');
  
  if(op==0) {
    /* FUNÇÃO PRETENDIDA */
  } else {
    /* FUNÇÃO PRETENDIDA */
  }
  /* HABILITAÇÕES ACADÉMICAS */
  var grau    = document.getElementById('ce_grau');
  
  if (nome.value == '') {
    nome.style.border = '1px solid #D20000';
  	nome.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  nome.style.border = '1px solid #E5E5E5';
		nome.style.color  = '#666666';
  }
  
  if (morada.value == '') {
    morada.style.border = '1px solid #D20000';
  	morada.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  morada.style.border = '1px solid #E5E5E5';
		morada.style.color  = '#666666';
  }
  
  if (cp1.value == '') {
    cp1.style.border = '1px solid #D20000';
  	cp1.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  cp1.style.border = '1px solid #E5E5E5';
		cp1.style.color  = '#666666';
  }
  
  if (cp2.value == '') {
    cp2.style.border = '1px solid #D20000';
  	cp2.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  cp2.style.border = '1px solid #E5E5E5';
		cp2.style.color  = '#666666';
  }
  
  if (local.value == '') {
    local.style.border = '1px solid #D20000';
  	local.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  local.style.border = '1px solid #E5E5E5';
		local.style.color  = '#666666';
  }
  
  if (dist.value == '') {
    dist.style.border = '1px solid #D20000';
  	dist.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  dist.style.border = '1px solid #E5E5E5';
		dist.style.color  = '#666666';
  }
  
  if (nacion.value == '') {
    nacion.style.border = '1px solid #D20000';
  	nacion.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  nacion.style.border = '1px solid #E5E5E5';
		nacion.style.color  = '#666666';
  }
  /*
  if (telef.value == '') {
    telef.style.border = '1px solid #D20000';
  	telef.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  telef.style.border = '1px solid #E5E5E5';
		telef.style.color  = '#666666';
  }
  */
  if (telem.value == '') {
    telem.style.border = '1px solid #D20000';
  	telem.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  telem.style.border = '1px solid #E5E5E5';
		telem.style.color  = '#666666';
  }
  
  if (email.value == '') {
    email.style.border = '1px solid #D20000';
  	email.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else if(verify_email(email.value) == false) {
    email.style.border = '1px solid #D20000';
  	email.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  email.style.border = '1px solid #E5E5E5';
		email.style.color  = '#666666';
  }
  
  if (nbi.value == '') {
    nbi.style.border = '1px solid #D20000';
  	nbi.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  nbi.style.border = '1px solid #E5E5E5';
		nbi.style.color  = '#666666';
  }
  
  if (nseg.value == '') {
    nseg.style.border = '1px solid #D20000';
  	nseg.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  nseg.style.border = '1px solid #E5E5E5';
		nseg.style.color  = '#666666';
  }
  
  if (foto.value == '') {
    foto.style.border = '1px solid #D20000';
  	foto.style.color  = '#D20000';
  	if(erro == false) erro = true;
  } else {
	  foto.style.border = '1px solid #E5E5E5';
		foto.style.color  = '#666666';
  }
  
  var chck = 0;
  for (var i=frm.ce_grau.length-1; i > -1; i--) {
    if (frm.ce_grau[i].checked) {
      chck++;
    }
  }
  
  if(chck==0){
    document.getElementById('txt_ce_grau').style.color='#D20000';
    if(erro == false) erro = true;
  } else {
    document.getElementById('txt_ce_grau').style.color='#7A7A7A';
  }
  
  //alert(erro);
  if(erro == true) {
    return false;
  } else {
    return true;
  }
}


// Radio Button Validation
// copyright Stephen Chapman, 15th Nov 2004,14th Sep 2005
// you may copy this function but please keep the copyright notice with it
/*var btn = valButton(form.group1);
if (btn == null) alert('No radio button selected');
else alert('Button value ' + btn + ' selected'); 

function valButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
}
*/                

