// 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,lg){
  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 _safe = e.getAttribute('safe');
  			var _tele = e.getAttribute('tele');
  			var _cp = e.getAttribute('cp');
  			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 passwords 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 #D3D3D3';
      					e.style.color  = '#8D8D8D';
      					
      					document.getElementById('rpass').style.border = '1px solid #D3D3D3';
      					document.getElementById('rpass').style.color  = '#8D8D8D';
      					
              }
  				  } 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 #D3D3D3';
      					e.style.color  = '#8D8D8D';
      					
      					document.getElementById('remail').style.border = '1px solid #D3D3D3';
      					document.getElementById('remail').style.color  = '#8D8D8D';
      					
              }
            } else {
    				  var _varid = e.getAttribute('id');
    				  e.style.border = '1px solid #D3D3D3';
    					e.style.color  = '#8D8D8D';
    				}
  				}
  				
  				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 #D3D3D3';
    					e.style.color  = '#8D8D8D';
  					}
  				}
  				if(_safe == 1){
  					if(e.value.length <6 ){
              e.style.border = '1px solid #D20000';
    					e.style.color  = '#D20000';
  						
  						if(errors == false) errors = true;
  						
  					} else {
      				e.style.border = '1px solid #D3D3D3';
    					e.style.color  = '#8D8D8D';
  					}
  				}
  				if(_tele == 1){
  					if(e.value.length <9 ){
              e.style.border = '1px solid #D20000';
    					e.style.color  = '#D20000';
  						
  						if(errors == false) errors = true;
  						
  					} else {
      				e.style.border = '1px solid #D3D3D3';
    					e.style.color  = '#8D8D8D';
  					}
  				}
  				if(_cp == 1){
  					if(e.value.length <3 ){
              e.style.border = '1px solid #D20000';
    					e.style.color  = '#D20000';
  						
  						if(errors == false) errors = true;
  						
  					} else {
      				e.style.border = '1px solid #D3D3D3';
    					e.style.color  = '#8D8D8D';
  					}
  				}
          
  				
  				
  			} 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 #D3D3D3';
  					e.style.color  = '#8D8D8D';
  				}
  			} 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 #D3D3D3';
  					e.style.color  = '#8D8D8D';
          }
  			} 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(lg=="pt"){
    alert("Atenção aos campos de preenchimento obrigatório, existem campos com quantidade de caracteres obrigatório");
   }
   if(lg=="gb"){
    alert("Attention to mandatory fields, there are fields with minimum characters required");
   }
   if(lg=="fr"){
    alert("Attention aux champs obligatoires, il ya des champs avec de nombreux personnages requis");
   }
   
   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){
  if (isNaN(field.value)) 
  {
    alert("Só pode introduzir caracteres numéricos.");
    field.value='';
    field.focus();
  }
}


function verify_number_carr(field,txterr){
  if (isNaN(field.value)) 
  {
    alert(txterr);
    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 */

