var D=document;
var botaoSelecionado;

var STATUS=":: SISMATICOS ::";
var urlBase="http://www.atwaternewfies.com/rp/";/* http://www.atwaternewfies.pt/ */
var Xpagina=new String('inicio.htm');
var XautoStart=true;
var X;
var XdivMaster = "Xmain";
var Xdiv = XdivMaster;
var XcacheLigado=true;
var XCACHE = new Cache(20,false);
var XURL = '';

/* --------- SISTEMA DE CACHE ------------ */
function Cache(tMax,autox){this.tMax=tMax?tMax:0;this.bytesMax=100000;this.autox=Boolean(autox);this.length=Number();return this;}
Cache.prototype.contaSoltas=function(){var c=new Number(0);for(var i in this){if(this[i][0]==Number){c++}}return(c)}
Cache.prototype.bytesTotal=function(){var bytes=Number();for(var i in this){if(this[i][0]>0||this[i][0]===0){bytes+=(i.length+this[i][1].length)}}return(bytes)}
Cache.prototype.bytesItem=function(id){return(Number(this[id][1].length)+Number(id.length))}
Cache.prototype.guardar=function(id,val,fixar){this.length+=(String(typeof(this[id]))!='undefined'?0:1);this[id]=([(fixar?'':(this.length-1)),val]);this.callback();return this.length;}
Cache.prototype.indice=function(id){return this[id][0]}
Cache.prototype.ler=function(id){return(this[id]?this[id][1]:false)}
Cache.prototype.shift=function(){var r;for(var i in this){if(this[i][0]===0){r=this[i][1];delete this[i];this.length--;continue;}else{this[i][0]--;}}this.callback();return r;}
Cache.prototype.toWindow=function(id){
	var dados = this.ler(id);
	var txt=dados;
	txt = txt.replace(/\&/g,"&amp;");
	txt = txt.replace(/\</g,"<b>&lt;");
	txt = txt.replace(/\>/g,"&gt;</b>");
	
	txt = txt.replace(/"/g,"\"</span>");
	txt = txt.replace(/\="<\/span>/g,"<span style=\"color:darkblue;\">=\"");
	
	txt = txt.replace(/&lt;\!--/g,"<span style=\"color:#999999;\">&lt;\!--");
	txt = txt.replace(/--&gt;/g,"--&gt;</span>");
	
	txt = txt.replace(/\&lt;/g,"<b>&lt;");
	txt = txt.replace(/\&gt;/g,"&gt;</b>");
	
	while(txt.indexOf("\n")!=-1)txt = txt.replace("\n","<br>");
	var XCW=window.open();
	XCW.document.write("<span style=\"font-family:monospace; font-size:12px\">");
		XCW.document.write("<b>"+this.indice(id)+" : "+id+" : "+this.bytesItem(id)+" Bytes</b>");
		XCW.document.write("<hr>");
		XCW.document.write(txt);
	XCW.document.write("</span>");
		XCW.document.write("<hr>");
		XCW.document.write(dados);
	return false;
}
Cache.prototype.exportar=function(){
	var txt = new String('<b>CACHE</b>');
	for (var i in this){
		if((this[i][0]>0||this[i][0]===0)){
			txt+='<div>'+this[i][0]+':<a href="" onclick="return XCACHE.toWindow(\''+i+'\');">'+i+'</a> -> '+this.bytesItem(i)+' bytes</div>';
		}
	}
	txt+='<div>'+this.length+' itens: '+Math.round(this.bytesTotal()/1024)+'KB</div>';
	txt+='<a href="#" onclick="return XCACHE.flush();">reset</a>';
	return txt;
}
Cache.prototype.callback=function(){while ((this.tMax!=0&&this.length>this.tMax)||(this.length>1&&this.bytesTotal()>this.bytesMax))this.shift();if(this.autox){document.getElementById('teste').style.visibility="visible";document.getElementById('teste').innerHTML=this.exportar();}}
Cache.prototype.flush=function(){for(var i in this){if(this[i][0]>0||this[i][0]===0){delete this[i]}}this.length=0;this.callback();return false;}


/*--------XMLHttpRequest - Abrir pagina ----------*/
function getXMLHTTP(){var A=null; try{ A=new ActiveXObject("Msxml2.XMLHTTP")}catch(e){try{ A=new ActiveXObject("Microsoft.XMLHTTP")} catch(oc){A=null}} if(!A && typeof XMLHttpRequest != "undefined") A=new XMLHttpRequest(); return A;}

function Xabrir(p,request,tempDestino){
	if(!tempDestino){
		XdivReset();
	}else{
		Xdiv = tempDestino;
	}
	p+= XcacheLigado ? '' : ('?rand='+Math.random());
	Xpagina = p;
	terminarFX();
	Xabortar();
	D.getElementById(Xdiv).loaded=false;
	
	var vCache=XCACHE.ler(p);
	if(XcacheLigado&&vCache){
		Xmonta(vCache);
	}else{
		X=getXMLHTTP();
		X.open("POST",XURL+p,true);
		X.onreadystatechange=Xestado;
		if (request!=null) 
			X.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		X.send(request);
	}
	return false;
}
function XdivReset(){
	Xdiv = XdivMaster;
}
function Xabortar(){if(X&&X.readyState!=0)X.abort();}
function Xestado(){
	if(X.readyState!=4)return;
	if(X.status!=200)return;
	var RT=X.responseText;
	if (XcacheLigado)
	XCACHE.guardar(Xpagina,RT);
	Xmonta(RT);
}

/*----Função que junta o javascript externo ao ficheiro html-----*/
function Xmonta(RT){
	var htmlpart=RT.replace(/<javascript>(.*|\r|\n)*<\/javascript>/ig,'');
	var scripts=RT.match(/<javascript>(.*|\r|\n)*<\/javascript>/ig);
	
	D.getElementById(Xdiv).innerHTML=htmlpart;
	D.getElementById(Xdiv).loaded=true;
	
	if (scripts!=null)
	for(var i=0;i<scripts.length;i++){
		eval(scripts[i].replace(/<(\/)?javascript>/ig,''));
	}
	XdivReset();
}

/*---------------Funções dos botoes---------------*/
function overBt(){
	//estilo do botao com quando o rato passa por cima
	this.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=1,opacity=60,finishOpacity=100,startX=0,finishX=0,startY=0,finishY=100)";
	this.style.color="red";
	
}
function outBt(){
	
	if (this==botaoSelecionado)
		return;
	//estilo do botao com o rato fora
	this.style.filter="";
	this.style.color="";
}
function clickBt(){
	// desligar bt anterior e atribui o novo
	try{
		botaoSelecionado.style.filter="";
		botaoSelecionado.style.color="";
	}catch(e){}

	if (botaoSelecionado == this){
		botaoSelecionado ='';
		Xabrir('inicio.htm');
	}else{
		botaoSelecionado = this;
		Xabrir(this.href);
	}
	
	//estilo do botao
	this.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=1,opacity=60,finishOpacity=100,startX=0,finishX=0,startY=0,finishY=100)";
	this.style.color="red";
	return false;
}
function clickBtDiv(){
	Xabrir(this.href);
	return false;
}
/*-----Botoes internos---*/
function converterLinks(id){
		var btInterno = D.getElementById(id);
		var bts = btInterno.getElementsByTagName('td');
		for( i in bts ){
			var bt=bts[i];
			bt.href=bt.firstChild;
				if (bt.href != undefined){
						bt.onclick=clickBtDiv;
					}
		}
}
function converterLinksVoltar(id){
	var btInterno = D.getElementById(id);
		var bts = btInterno.getElementsByTagName('td');
			for( i in bts ){
				var bt=bts[i];
				bt.href=bt.firstChild;
					if (bt.href != undefined){
							bt.onclick=clickBtDiv;	
						}
		}
}
/*------- botao redondo ------*/
function converterLinksRedondo(id){
	var b = D.getElementById(id);
	b.href = b.firstChild.href;
	b.innerHTML = b.firstChild.innerHTML;
	b.onclick=clickBtDiv;
}
/*-------Form Contactos - Funçoes -------*/
function limpar(id){
	var f = D.getElementById(id);
	var inputs=f.getElementsByTagName('input');
		for( i in inputs){
			if (i=='length') continue;
			switch(i){
				case 'n': 
					inputs[i].value=""
					inputs[i].focus();
					break;
				case 't': 
					inputs[i].value=""
					break;
				case 'e':
					inputs[i].value=""
					break;
				case 'accao':
					inputs[i].value=""
					break;
			}
		}
		
	var txt=f.getElementsByTagName('textarea');
		for (i in txt){
			if (i=='length') continue;
			
			switch(i){
			
			case 'm': 
					txt[i].innerHTML=" "; 
				break;		
			}
		}
}
function validar(id){
	var f = D.getElementById(id);
	var inputs=f.getElementsByTagName('input');
	var request = Array();

	
	for( i in inputs){
		if (i=='length') continue;
		switch(i){
			
			case 'n': 
				if (inputs[i].value=="" || inputs[i].value==" " ){
					  inputs[i].focus();
					  return alert("Por favor escreva o seu nome.");
				}
				break;
				
				
		    case 't': 
				if (inputs[i].value=="" || inputs[i].value==" "){
					inputs[i].focus();
					return alert("Por favor escreva o seu n.º de telefone.");
				}
				break;
				
				
			case 'e':
				if (inputs[i].value=="" || inputs[i].value==" " || inputs[i].value.match(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/)==null){
					inputs[i].focus();
					return alert("Por favor escreva um endereço de e-mail correcto.");
				}
				break;
			case 'accao':
					inputs[i].value='mensagem';
				break;

		} 
		
		/* */
		request[request.length] = i+'='+inputs[i].value;
		
	}
	
	var txt=f.getElementsByTagName('textarea');
		for (i in txt){
			if (i=='length') continue;
			
			switch(i){
			
			case 'm': 
				if (txt[i].innerHTML=="" || txt[i].innerHTML==" " ){
					txt[i].focus();
					return alert("Por favor escreva a sua mensagem.");
				}
				break;		
			}
			request[request.length] = i+'='+txt[i].value;
		}
	request = request.join('&');
	Xabrir('contactos.php',request);
}
/*-------Resultados eventos- Funçoes -------*/

function selectChange(a,b,c){
	Xabrir('resultados/resultadosevento.php?ficheiro='+this.value,'','xmlDiv');
}

/*------fazer fadeIn-----------*/
var intervalo;
var imgPos=0;
var imgs;
function fadeIn(){
	var img=imgs[imgPos];
	
	img.alfa+=20;
	img.style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+img.alfa+")";
	
	if (img.alfa>=100) imgPos++;
		
	if (imgPos>=imgs.length) clearInterval(intervalo);
}
function preparaFadeIn(id){
	imgPos=0;
	imgs=D.getElementById(id).getElementsByTagName('img');
	imgs2=Array();
	
	while (imgs2.length<imgs.length)
		imgs2[imgs2.length] = imgs2.length;
	imgs2.sort(aleatorio_ab);
	for(i=0;i<imgs2.length;i++)
		imgs2[i] = imgs[imgs2[i]];
	imgs = imgs2;
	
	for (i=0;i<imgs.length;i++){
		imgs[i].alfa=0;
		imgs[i].style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity=0)";
	}
	intervalo = setInterval(fadeIn,40);
}
function aleatorio(numero){
	return Math.floor(Math.random()*numero);
}
function aleatorio_ab(a,b){
	return Math.floor(Math.random()*3)-1;
}
function terminarFX(){
	clearInterval(intervalo);
}

/*------Aplicar eventos ao menu-----------*/
function aplica_eventos_menu(){
		var menu = D.getElementById('menu');
		var bts = menu.getElementsByTagName('td');
		
		for( i in bts ){
			var bt=bts[i];
			if (bt.className == 'botao'){
					
					bt.href=bt.firstChild.href;
					bt.innerHTML=bt.firstChild.innerHTML;
					
					bt.onmouseover=overBt;
					bt.onmouseout=outBt;
					bt.onclick=clickBt;
					bt.style.cursor="pointer";
			}
		}
}
function inicio(){
	aplica_eventos_menu();
	if (XautoStart){
		Xabrir(Xpagina);
	}
	document.body.style.display="";
}

window.onload=inicio;
window.status= STATUS;