// 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.') || (e.value.trim()=='')){
            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';
  					}
  				}
  			} 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(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();
  }
}


/* 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_newsl(lg,txtn,txte) {
  var nome = document.getElementById('N1');
  var email = document.getElementById('N2');
  var erro = false;
  
  if((nome.value.trim()=='') || (nome.value==txtn)) {
    nome.style.border = '1px solid #D20000';
	  nome.style.color  = '#D20000';
    if(erro == false) erro = true;
  } else {
    nome.style.border = '1px solid #D3D3D3';
    nome.style.color  = '#8D8D8D';
  }
  
  if ((email.value.trim()=='') || (email.value==txte)) {
    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 #D3D3D3';
      email.style.color  = '#8D8D8D';
    }
  }
  if(erro == true){
		return false;
	} else {
		return true;
	}
}

function RenderTTF()
{
  DATAFUNCS.RenderFonts('tit_h1',{
   fontSize         : '18.75',
   backgroundColor  : 'FFFFFF',
   color            : 'DD4814',
   fontFile         : 'fonts/ARLRDBD.TTF',
   transparent      : '1'
  });
  
  DATAFUNCS.RenderFonts('tit_h2',{
   fontSize         : '11.25',
   backgroundColor  : 'FFFFFF',
   color            : '717171',
   fontFile         : 'fonts/ARLRDBD.TTF',
   transparent      : '1'
  });
  
  DATAFUNCS.RenderFonts('pageOP_center',{
   fontSize         : '11.25',
   backgroundColor  : 'FFFFFF',
   color            : 'CCCCCC',
   fontFile         : 'fonts/ARLRDBD.TTF',
   transparent      : '1'
  });
  
  DATAFUNCS.RenderFonts('tit_h2_prod',{
   fontSize         : '11.25',
   backgroundColor  : 'FFFFFF',
   color            : '717171',
   fontFile         : 'fonts/ARLRDBD.TTF',
   transparent      : '1'
  });
  
  DATAFUNCS.RenderFonts('tit_h2_prod3',{
   fontSize         : '11.25',
   backgroundColor  : 'FFFFFF',
   color            : 'DD4814',
   fontFile         : 'fonts/ARLRDBD.TTF',
   transparent      : '1'
  });
  
  DATAFUNCS.RenderFonts('tit_h2_prod2',{
   fontSize         : '9.25',
   backgroundColor  : 'FFFFFF',
   color            : '717171',
   fontFile         : 'fonts/ARLRDBD.TTF',
   transparent      : '1'
  });
  
  DATAFUNCS.RenderFonts('tit2_h2',{
   fontSize         : '11.25',
   backgroundColor  : 'DBDBDB',
   color            : 'DD4814',
   fontFile         : 'fonts/ARLRDBD.TTF',
   transparent      : '1'
  });
}


function openSubmenu(submenu){
  var Submenu = document.getElementById(submenu);  
  Submenu.style.display = "block";  
}

function openSubmenu2(submenu){
  var el=document.getElementsByTagName("div");
  for(i=0;i<el.length;i++){
    if(el[i].getAttribute('submenu')==1){
      el[i].style.display="none";
    }
  }
  var Submenu = document.getElementById(submenu);  
  Submenu.style.display = "block";  
}

function closeSubmenu2(){
  var el=document.getElementsByTagName("div");
  for(i=0;i<el.length;i++){
    if(el[i].getAttribute('submenu')==1){
      el[i].style.display="none";
    }
  }
}

function hideSubmenu(submenu){
  var Submenu = document.getElementById(submenu);  
  Submenu.style.display = "none";  
}




// SELECT

function trocaclass(menu){
  var menu = document.getElementById(menu);  
  menu.className = "familia2_sel";
}

function showFamilia(x,y,z,a){
  var me = document.getElementById(x);
  if(document.getElementById(y).style.display=='block'){ 
      document.getElementById(y).style.display='none';
      document.getElementById(x).style.backgroundColor='#e9e9e9';
      document.getElementById(x).style.color='#a7a7a7';
    } else {
      document.getElementById(y).style.display='block'; 
      document.getElementById(x).style.backgroundColor='#cacaca'; 
      document.getElementById(x).style.color='#000000';
     // document.getElementById(z).style.display='none';
     // document.getElementById(a).style.backgroundColor='#e9e9e9';
     // document.getElementById(a).style.color='#a7a7a7';
    }
}

function showOption(y, a, option){
  var z = document.getElementById(y);
  var x = document.getElementById(a);
  x.style.display = "none";
  z.innerHTML = option;
  z.className = "familia2 ban";
}

// Trocar Tab2
function ChangeTabProd(id,img3,img4,img5,idimg,imgh){
  var tabSel = document.getElementById(id);
  var table = document.getElementsByTagName("table");
  document.getElementById('img_exp_3').src = img3;
  document.getElementById('img_exp_4').src = img4;
  if(document.getElementById('img_exp_5')) {
    document.getElementById('img_exp_5').src = img5;
  }
  
  for (var i=0; i<table.length; i++) {
    if (table[i].className == "pageOPSel"){
      table[i].className = "pageOP";
    }
  }
  tabSel.className = "pageOPSel";
  document.getElementById(idimg).src = imgh;
}

// Trocar Tab
function ChangeTab(id,img109,img110,img111,idimg,imgh){
  var tabSel = document.getElementById(id);      
  var table = document.getElementsByTagName("table");
  
  document.getElementById('img_exp_109').src = img109;
  document.getElementById('img_exp_110').src = img110;
  document.getElementById('img_exp_111').src = img111;
  
  for (var i=0; i<table.length; i++) {
    if (table[i].className == "esopSel"){
      table[i].className = "esop";
    }
  }
  tabSel.className = "esopSel";
  document.getElementById(idimg).src = imgh;
}

// Trocar conteudo tab
function trocarConteudo(id){
  var tabSel = document.getElementById(id);      
  var table = document.getElementsByTagName("div");
  
    for (var i=0; i<table.length; i++) {
      if (table[i].className == "conteudosS"){
        table[i].className = "conteudosN";
      }
    }
    tabSel.className = "conteudosS";
}

function TooGle (obj,cls1,cls2,obj2,cls3,cls4,obj3,cls5,cls6){
   var obj = document.getElementById(obj);
   var obj2 = document.getElementById(obj2);
   var obj3 = document.getElementById(obj3)
  obj.className = (obj.className == cls1) ? cls2 : cls1;
  obj2.className = (obj2.className == cls3) ? cls4 : cls3;
  obj3.className = (obj3.className == cls5) ? cls6 : cls5;
}

function changeDest(id,tot) {
  //alert(id + ' - ' + tot)
  for (i=1;i<=tot;i++) {
    document.getElementById('blc'+i).style.display = 'none';
  }
  document.getElementById('blc'+id).style.display = 'block';
}

function changeDest2(id,tot) {
  //alert(id + ' - ' + tot)
  for (i=1;i<=tot;i++) {
    document.getElementById('blcc'+i).style.display = 'none';
  }
  document.getElementById('blcc'+id).style.display = 'block';
}

function changeDest3(id,tot) {
  //alert(id + ' - ' + tot)
  for (i=1;i<=tot;i++) {
    document.getElementById('blccc'+i).style.display = 'none';
  }
  document.getElementById('blccc'+id).style.display = 'block';
}


function changeDest_1(tot) {
  var show  = 1;
  for (i=1;i<=tot;i++) {
    if(document.getElementById('blc'+i).style.display=='block'){
      show = i+1;
    }
    document.getElementById('blc'+i).style.display = 'none';
  }
  if (show>tot){
    document.getElementById('blc1').style.display = 'block';
  } else {
    document.getElementById('blc'+show).style.display = 'block';
  }
}

function changeDest_2(tot) {
  var show  = 1;
  for (i=1;i<=tot;i++) {
    if(document.getElementById('blcc'+i).style.display=='block'){
      show = i+1;
    }
    document.getElementById('blcc'+i).style.display = 'none';
  }
  if (show>tot){
    document.getElementById('blcc1').style.display = 'block';
  } else {
    document.getElementById('blcc'+show).style.display = 'block';
  }
}

function changeDest_3(tot) {
  var show  = 1;
  for (i=1;i<=tot;i++) {
    if(document.getElementById('blccc'+i).style.display=='block'){
      show = i+1;
    }
    document.getElementById('blccc'+i).style.display = 'none';
  }
  if (show>tot){
    document.getElementById('blccc1').style.display = 'block';
  } else {
    document.getElementById('blccc'+show).style.display = 'block';
  }
}

//IMAGE TO GRAY
function prepareMouseOverImage(image, originalURL, button)
{  
	button.mouseOverImage=originalURL;
	image.onload=function(){        
    return true;    
  };
	button.normalImage=grayscale(image, false);
	
	button.onmouseover=function()
	{
	//alert("a");	  
		image.src=this.mouseOverImage;	
    this.className='img_alfa_hover';			
	}
	
	button.onmouseout=function()
	{
//	alert(this.normalImage.src);
		image.src=this.normalImage;	
    this.className='img_alfa';	
	}
	image.src=button.normalImage;	
}


function grayscale(image, bPlaceImage)
{
  var myCanvas=document.createElement("canvas");
  var myCanvasContext=myCanvas.getContext("2d");

  var imgWidth=image.width;
  var imgHeight=image.height;
  // You'll get some string error if you fail to specify the dimensions
  myCanvas.width= imgWidth;
  myCanvas.height=imgHeight;
//  alert(imgWidth);
  myCanvasContext.drawImage(image,0,0);
  // this function cannot be called if the image is not rom the same domain.  You'll get security error
  var imageData=myCanvasContext.getImageData(0,0, imgWidth, imgHeight);
  for (i=0; i<imageData.height; i++)
  {
    for (j=0; j<imageData.width; j++)
    {
	  var index=(i*4)*imageData.width+(j*4);
	  var red=imageData.data[index];	  
	  var green=imageData.data[index+1];
	  var blue=imageData.data[index+2];	  
	  var alpha=imageData.data[index+3];	 
	  var average=(red+green+blue)/3; 	  
   	  imageData.data[index]=average;	  
   	  imageData.data[index+1]=average;
   	  imageData.data[index+2]=average;
   	  imageData.data[index+3]=alpha;	  	  
	}
  }
  myCanvasContext.putImageData(imageData,0,0,0,0, imageData.width, imageData.height);
 // myCanvasContext.drawIMage(imageData,0,0);//,0,0, imageData.width, imageData.height);  
  
  if (bPlaceImage)
  {  
	  var myDiv=document.createElement("div");  
	  myDiv.appendChild(myCanvas);
	  image.parentNode.appendChild(myCanvas);//, image);
  }
  return myCanvas.toDataURL();
}

function imagetoGray (elemento){
  elemento.style.filter = "alpha(opacity=60) gray()";
  //elemento.style.filter = "alpha(opacity=080)";
  elemento.className='img_alfa';
}

function imagetoNormal (elemento){
  elemento.style.filter = "none";
  elemento.className='img_alfa_hover';
}

function ChangeTabDown(id,cont,idimg){
  var tabSel = document.getElementById(id);
  var table = document.getElementsByTagName("table");
  for(var i=0;i<=cont;i++){
    document.getElementById('imgH_'+i).style.display = "none";
    document.getElementById('img_'+i).style.display = "block";
  }
  
  for (var i=0; i<table.length; i++) {
    if (table[i].className == "pageOPSel"){
      table[i].className = "pageOP";
    }
  }
  tabSel.className = "pageOPSel";
  document.getElementById('imgH_'+idimg).style.display = "block";
  document.getElementById('img_'+idimg).style.display = "none";
}

function over(n,h,sub){
   var _n = document.getElementById(n);
   var _h = document.getElementById(h);
   var _sub = document.getElementById(sub);
   _n.style.display='none';
   _h.style.display='block';
   _sub.style.display='block';
}

function over2(n,h){
   var _n = document.getElementById(n);
   var _h = document.getElementById(h);
   _n.style.display='none';
   _h.style.display='block';
}


function over1(sub){
   var _sub = document.getElementById(sub);
   _sub.style.display='block';
}
function out1(sub){
   var _sub = document.getElementById(sub);
   _sub.style.display='none';
}

function out(n,h,sub){
   var _n = document.getElementById(n);
   var _h = document.getElementById(h);
   var _sub = document.getElementById(sub);
   _n.style.display='block';
   _h.style.display='none';
   _sub.style.display='none';
}

function out2(n,h){
   var _n = document.getElementById(n);
   var _h = document.getElementById(h);
   _n.style.display='block';
   _h.style.display='none';
}
