var NS4 = false;
var IE4 = false;
var NS6 = false;

if(document.layers){
	NS4 = true;
}else if(document.all){
	IE4 = true;
}else if(document.getElementById){
	NS6 = true;
}

function makeArray() {
  this[0] = makeArray.arguments.length;
  for (i = 0; i<makeArray.arguments.length; i++)
    this[i+1] = makeArray.arguments[i];
}

var daysofmonth   = new makeArray(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var daysofmonthLY = new makeArray(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var monthsofyear  = new makeArray(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
var today = new Date();
var year = today.getYear();
var month = today.getMonth()+1;
var day = today.getDate();

//Verifica se o ano é bissexto

function bissexto(year) {
  if ((year/4)   != Math.floor(year/4))
    return false;
  if ((year/100) != Math.floor(year/100))
    return true;
  if ((year/400) != Math.floor(year/400))
    return false;
  return true;
}

function ValidDate(day,month,year) {
  if ((bissexto(year) && (day>daysofmonthLY[month])) || (!bissexto(year) && (day>daysofmonth[month]))) {
    return false;
  }
  else{
    return true;
  }
}

function ValidaDataPed (source,arguments) {

  var check = true;
	hoje = new Date();
	hoje = hoje.getFullYear() + "-" + ((hoje.getMonth()+1) < 10 ? ("0" + (hoje.getMonth()+1)) : "" + (hoje.getMonth()+1)) + "-" + (hoje.getDate() < 10 ? "0" + hoje.getDate() : hoje.getDate());   
	
	myData = document.forms[0].txtData1.value;

  datum = myData.split("-");
  ano = datum[0];
  mes = datum[1];
  dia = datum[2];

  if ((myData.length<10)) 
      check=false;
  
  if (check){
  if (ano.length!=4)
    arguments.IsValid=false;
  if ((isNaN(ano)) || (isNaN(mes)) || (isNaN(dia)) || (dia.length!=2))
    arguments.IsValid=false;
  if ((mes.length!=2)&&(mes.length!=1)){
       arguments.IsValid=false;
   }
  if ((mes>12)||(mes<1))
    arguments.IsValid=false;
  else{ 
    if (!ValidDate(dia-0,mes-0,ano))
      arguments.IsValid=false;
	else{
	  if(myData < hoje)
		arguments.IsValid=true;
			else
		 arguments.IsValid=false;	
	}
  }
  }else{
      arguments.IsValid=false;
  }

}

function ValidaDataPed2(source,arguments)
{
	//var re= new RegExp(/^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$/);
	//var re = new RegExp(/^(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])(\/|-)(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))$|^(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])(\/|-)(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))$|^(?:(?:[13579][26]00|0[48]00)|[2468][048]00)|(?:0[1-9]|[1-9]\d)?(?:0[48]|[2468][048]|[13579][26])(\/|-)(?:0?2(\/|-)29)$/);
	var re = /^(\?:[0-9]\d\d\d|\d[0-9]\d\d|\d\d[0-9]\d|\d\d\d[0-9])(\/|-)$/;//(\?:(\?:(\?:0\?[13578]|1[02])(\/|-)31)|(\?:(\?:0\?[1,3-9]|1[0-2])(\/|-)(\?:29|30)))$|^(\?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])(\/|-)(\?:(\?:0\?[1-9]|1[0-2])(\/|-)(\?:0\?[1-9]|1\d|2[0-8]))$|^(\?:(\?:[13579][26]00|0[48]00)|[2468][048]00)|(\?:0[1-9]|[1-9]\d)\?(\?:0[48]|[2468][048]|[13579][26])(\/|-)(\?:0\?2(\/|-)29)$/;
	hoje = new Date();
	hoje = hoje.getFullYear() + "-" + ((hoje.getMonth()+1) < 10 ? ("0" + (hoje.getMonth()+1)) : "" + (hoje.getMonth()+1)) + "-" + (hoje.getDate() < 10 ? "0" + hoje.getDate() : hoje.getDate());   
	
	escolha = document.forms[0].txtData1.value;
	//alert(escolha);
	
	//dataEscolha = new Date(escolha);
	//hoje=new Date(hoje);
	//alert(hoje);
	if ((escolha.search(re) == -1) )
		
		   arguments.IsValid=false;
		
		else if ((escolha.search(re) != -1))
		{
			if(escolha < hoje)
				arguments.IsValid=true;
				
			else
			   arguments.IsValid=false;	
			 	
		}
	
}

function keyPressTexto(ev)
{
	/*if (ev.keyCode < 32 || (ev.keyCode > 32 && ev.keyCode < 39) || 
							(ev.keyCode > 39 && ev.keyCode < 46) || 
							(ev.keyCode > 46 && ev.keyCode < 48) || 
							(ev.keyCode > 57 && ev.keyCode < 65) || 
							(ev.keyCode > 90 && ev.keyCode < 97) || 
							(ev.keyCode > 122 && ev.keyCode < 192) || 
							(ev.keyCode > 196 && ev.keyCode < 200) || 
							(ev.keyCode > 202 && ev.keyCode < 204) || 
							(ev.keyCode > 206 && ev.keyCode < 210) || 
							(ev.keyCode > 213 && ev.keyCode < 217) || 
							(ev.keyCode > 219 && ev.keyCode < 224) || 
							(ev.keyCode > 227 && ev.keyCode < 232) || 
							(ev.keyCode > 234 && ev.keyCode < 236) || 
							(ev.keyCode > 238 && ev.keyCode < 243) || 
							(ev.keyCode > 245 && ev.keyCode < 249) || ev.keyCode > 251)*/
	
	if (ev.keyCode < 32 || (ev.keyCode > 32 && ev.keyCode < 35) ||
							(ev.keyCode > 41 && ev.keyCode < 44) || 
							(ev.keyCode > 44 && ev.keyCode < 46) || 
							(ev.keyCode > 46 && ev.keyCode < 48) ||
							(ev.keyCode > 57 && ev.keyCode < 65) || 
							(ev.keyCode > 90 && ev.keyCode < 95) ||
							(ev.keyCode > 95 && ev.keyCode < 97) ||
							(ev.keyCode > 122))
		ev.returnValue = false;
	else
		ev.returnValue = true;
}


function keyPressNumero(ev)
{
	if (ev.keyCode < 48 || ev.keyCode > 57)
		ev.returnValue = false;
	else
		ev.returnValue = true;
}


function ValidaData(source,arguments) 
{
	//Verificar se a data é a que vem do servidor ou a que vem do cliente
	hoje = new Date();
	hoje = hoje.getFullYear() + "-" + ((hoje.getMonth()+1) < 10 ? ("0" + (hoje.getMonth()+1)) : "" + (hoje.getMonth()+1)) + "-" + (hoje.getDate() < 10 ? "0" + hoje.getDate() : hoje.getDate()); 

	escolha = document.forms[0].txtData1.value;
	
	if (escolha < hoje)
		arguments.IsValid = false;
	else
		arguments.IsValid = true;
}

//verifica se o nº contribuinte e correcto
function vContribuintePed(source,arguments){
  var reg=/[0-9]+/;
  nContrib=document.campos.nContrib.value;	
  if (nContrib.length<9 || !reg.test(nContrib) || nContrib=="000000000" || nContrib=="123456789") // validar número.
     arguments.IsValid = false;
     
  produto=0;
  j=8;
  for (i=1; i<10; i++){
    produto+=nContrib.substring(j,j+1)*i;
    j--;	
  }  
  resto=produto%11;
  if(resto==0 || (resto==1 && nContrib.substring(8,9)==0))
    arguments.IsValid = true;
  else 
    arguments.IsValid = false;
 
}


//funcao para nº's e o +
function keyPressNumeroMais(ev)
{
	if (ev.keyCode < 43 || (ev.keyCode > 43 && ev.keyCode < 48) || ev.keyCode > 57)
		ev.returnValue = false;
	else
		ev.returnValue = true;
}

function keyPressNumeroVirgula(ev)
{
	if (ev.keyCode < 43 || (ev.keyCode > 45 && ev.keyCode < 48) || ev.keyCode > 57)
		ev.returnValue = false;
	else
		ev.returnValue = true;
}

// Selecção dos Links 
function selectTemplate(url)
{
	if(document.parent.template == 1)
		// Template mista
		parent.location.href = url;
	else if (document.parent.template == 2)
		location.href = url;
	else	 
		location.href = url;
}

var img=new Image();
img.src='/img/Two.gif';

function CngBG(obj,nc){
 obj.nc=obj.className;
 obj.className=nc;
 obj.onmouseout=function(){ this.className=this.nc; }
}