// JavaScript Document
function $(obj){
	return document.getElementById(obj);
}
function __(el,w){
	return el.getElementsByTagName(w);
}
function changeTab(w){
	var main = $('menu');
	var chld = __(main,'a');
	
	for(var x=0,y=chld.length;x<y;x++){
		chld[x].className="";
	}
	for(var x=0,y=__($('menu'),'a'), z=y.length;x<z;x++){
		$(y[x].innerHTML.toLowerCase()).style.display = 'none';
	}
	var _w = $(w.firstChild.innerHTML.toLowerCase());
		_w.style.display = 'block';
	var img = __(_w,'img');
		fadeTo(img[0],0,100);
		w.firstChild.className="hi";
}

function init(w){
	changeTab(__($('menu'),'li')[w]);
}
function fadeTo(el,from,to,steps,curr){
	var to	 = to;
	var stps = steps || 5;
	var from = from  || (to/stps);
	var curr = curr  || from;
		curr = curr  + ((to-from)/stps);

	el.style.opacity = Number( curr / 100 );
	el.style.filter  = 'alpha(opacity=' + Number( curr ) + ')';
	if(Math.round(curr) != to){		
		setTimeout(function(){
				fadeTo(el,from,to,steps,curr);
			},
			100
		);
	}
}
function teste(obj){
	if(obj.error){
		$('contato-result').innerHTML = 'Preencha todos os campos do formulário.';
	}else{
		$('loader').style.display = 'none';
		$('contato-result').style.display = 'block';
		$('contato-result').style.opacity = '1';
		$('contato-result').style.filter = 'alpha(opacity=100)';
		$('contato-result').innerHTML = obj.obj.responseText;
		
	}
	setTimeout(
		function(){ fadeTo($('contato-result'),100,0)},
		3500
	);
}

function getFields(f){
	var els = f.elements;
	var v = "";
	
	for(var x=0,y=els.length;x<y;x++){
		
		if(els[x].type=='text' || els[x].type=='textarea'){
			if(x > 0) v+= '&';
			v += els[x].name+'='+els[x].value;
		}
	}
	return v;
}

/**  
 * Função para aplicar máscara em campos de texto
 * Copyright (c) 2008, Dirceu Bimonti Ivo - http://www.bimonti.net 
 * All rights reserved. 
 * @constructor  
 */ 
 
/* Version 0.27 */

/**  
  * Função Principal 
  * @param w - O elemento que será aplicado (normalmente this).
  * @param e - O evento para capturar a tecla e cancelar o backspace.
  * @param m - A máscara a ser aplicada.
  * @param r - Se a máscara deve ser aplicada da direita para a esquerda. Veja Exemplos.
  * @param a - 
  * @returns null  
  */
function maskIt(w,e,m,r,a){
	
	// Cancela se o evento for Backspace
	if (!e) var e = window.event
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
	
	// Variáveis da função
	var txt  = (!r) ? w.value.replace(/[^\d]+/gi,'') : w.value.replace(/[^\d]+/gi,'').reverse();
	var mask = (!r) ? m : m.reverse();
	var pre  = (a && a.pre) ? a.pre : "";
	var pos  = (a && a.pos) ? a.pos : "";
	var ret  = "";
	
	if(code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g,'').length) return false;
	
	// Loop na máscara para aplicar os caracteres
	for(var x=0,y=0, z=mask.length;x<z && y<txt.length;){
		if(mask.charAt(x)!='#'){
			ret += mask.charAt(x); x++;
		} else{
			ret += txt.charAt(y); y++; x++;
		}
	}
	
	// Retorno da função
	ret = (!r) ? ret : ret.reverse()	
	w.value = pre+ret+pos;
}

// Novo método para o objeto 'String'
String.prototype.reverse = function(){
	return this.split('').reverse().join('');
};
