// JavaScript Document
document.ISGECKO = /gecko/i.test(navigator.userAgent);
document.ISFF3 = /Firefox\/3/i.test(navigator.userAgent);
document.ISMSIE  = /MSIE/.test(navigator.userAgent);
document.ISMSIE7  = /MSIE 7/.test(navigator.userAgent);
document.ISMSIE6  = /MSIE 6/.test(navigator.userAgent);

// Utilizado para evitar de digitar: document.getElementById toda hora, tornando o processo mais prático
function gE(ID) {
	return document.getElementById(ID);
}

// Utilizado para evitar de digitar: document.getElementsByTagName toda hora, tornando o processo mais prático
function gEs(tag) {
	return document.getElementsByTagName(tag);
}

//Dar FOCUS em um campo
function onFocus(campo){
	if(gE(campo)) gE(campo).focus();
}

//Função para abrir Página via Ajax
function abrePagina(area){
	var ajax = new Ajax(area+".php");
	if(arguments.length>1) ajax.vars.add(new Array('id',arguments[1]));
	if(area=='mural') ajax.execInside = function(){ muralCarrega() }
	if(area=='home') ajax.execInside = function(){ slideshow(1) }
	ajax.showLoading(gE('corpo_pagina'),'carregando...')
	ajax.ajaxRetriev(gE('corpo_pagina'));
}

//Função para abrir o escuro e mostrar os destalhes do imóvel
function detalheFota(id){
	createShadow('divShadow');
	// Cria um 'container' que comportará o formulário de cadastro.
	var scr = new getAbsoluteScreenSize();
	var boxCad = document.createElement('div');
	boxCad.setAttribute('id','boxCad');
	boxCad.style.right = scr.getWidth()/2-295 + 'px';
	document.body.appendChild(boxCad);
	var ajax = new Ajax('detalheFota.php');
	ajax.vars.add(new Array('id',id));
	ajax.showLoading(gE('boxCad'),' Carregando...');
	ajax.ajaxRetriev(gE('boxCad'));
}
//Função para mudar a posição das imagens
passaImagem.pos = 0; //valor inicial
function passaImagem(val,cod){
	var url = 'intranet/source/calls/mods/cads/fota/photos/bigs/';
	qtf = parseFloat(gE('tFotos').lang);
	if(!val){
		if(--passaImagem.pos < 0) { passaImagem.pos++; alert('Você está no início'); return false };
	}
	else
		if(++passaImagem.pos >= qtf) { passaImagem.pos--; alert('Você está no final'); return false };

	passaImagem.pos = (val) ? passaImagem.pos++	: passaImagem.pos--;
	gE('img400').src = url+'g'+cod+'_'+((1+ passaImagem.pos<10) ? '0' : '')+(1+ passaImagem.pos)+'.jpg';
	gE('msgtf').innerHTML = passaImagem.pos +1 +' / '+qtf;
}
//Função para Slideshow das fotos
slideshow.pos = 1;
slideshow.act = 1;
function slideshow(v){
	this.slideshow.v = v;
	var tot = parseFloat(gE('tFota').lang);
	if(v==1 && tot>0){
		slideshow.act = slideshow.pos -1;
		(slideshow.act<1) ? slideshow.act = tot : '';
		if(slideshow.pos==1){
			var fota = gE('cFota').getAttribute('cd1');
			var coba = gE('cCob').getAttribute('cc1');
		}
		else if(slideshow.pos==2){
			var fota = gE('cFota').getAttribute('cd2');
			var coba = gE('cCob').getAttribute('cc2');
		}
		else{
			var fota = gE('cFota').getAttribute('cd3');
			var coba = gE('cCob').getAttribute('cc3');
		}
		gE('bot'+slideshow.pos).style.filter = 'alpha(opacity=100)';
		gE('bot'+slideshow.pos).style.opacity = '1';
		gE('bot'+slideshow.act).style.filter = 'alpha(opacity=60)';
		gE('bot'+slideshow.act).style.opacity = '0.6';
		var url = 'intranet/source/calls/mods/cads/fota/photos/thumbs/p';
		gE('iscr').src = url+fota+'_01.jpg';
		gE('nCob').innerHTML = coba;
		gE('tFota').setAttribute('mark',gE('cCob').getAttribute('id'+slideshow.pos));
		(slideshow.pos==tot) ? slideshow.pos = 1 : slideshow.pos++;
		sd();
	}
}
function sd(){
	setTimeout("slideshow(slideshow.v)",6000);
}

//Função para carregar a foto grande
function carregaMural(){
	createShadow('divShadow');
	// Cria um 'container' que comportará o formulário de cadastro.
	var scr = new getAbsoluteScreenSize();
	var boxCad = document.createElement('div');
	boxCad.setAttribute('id','boxCad');
	boxCad.style.width = "350px";
	boxCad.style.top = "100px";
	boxCad.style.left = scr.getWidth()/2-175 + 'px';
	document.body.appendChild(boxCad);
	var ajax = new Ajax('muralPost.php');
	ajax.execInside = function(){
		Drag.init(gE('md'),gE('boxCad'));
		gE('nome').focus();
	}
	ajax.showLoading(gE('boxCad'),' carregando...');
	ajax.ajaxRetriev(gE('boxCad'));
}
function contaPost(event){
	var m = 200;
	t = (document.ISGECKO) ? event.currentTarget : event.srcElement;
	if(t.value.length > m)
		if(event.keyCode==8 || event.keyCode==9 || event.keyCode==46 || (event.keyCode>36 && event.keyCode<41))
			return true;
		else 
			return false;
	else
		gE('carac').innerHTML = m - t.value.length;
}
function criticaRecado(){
	if(gE('nome').value==''){
		alert('Por favor, digite o seu nome.');
		gE('nome').focus();
		return false;
	}
	if(gE('email').value!=''){
		if(validaEmail(gE('email').value)==false){
			alert('Por favor, digite um e-mail válido.');
			gE('email').focus();
			return false;
		}
	}
	if(gE('recado').value==''){
		alert('Por favor, digite o seu recado.');
		gE('recado').focus();
		return false;
	}
	return true;
}
function enviaRecado(){
	var a = new Ajax('muralEnvia.php');
	a.vars.add(new Array('nome',gE('nome').value),null);
	a.vars.add(new Array('email',gE('email').value),null);
	a.vars.add(new Array('para',gE('para').value),null);
	a.vars.add(new Array('recado',gE('recado').value),null);
	a.execInside = function(){ setTimeout('removeShadow()',7000); }
	a.showLoading(gE('divRec'),'carregando...');
	a.ajaxRetriev(gE('divRec'));
}
function muralCarrega(){
	var a = new Ajax('muralCarrega.php');
	if(arguments.length>0){
		var v = parseInt(arguments[0]);
		a.vars.add(new Array('pagina',v));
		var ini = 0;
		var pro = 0;
		if(v==0){
			if(gE('ant').getAttribute('qua')=='0') pro = 0;
			else pro = 1;
		}
		else{
			ini = v-1;
			if(gE('ant').getAttribute('qua')==v) pro = v;
			else pro = v+1;
		}
		gE('ant').setAttribute('va',ini);
		gE('pro').setAttribute('va',pro);
		var va = parseInt(v) + 1;
		var v2 = 'va'+v;
		var as = 'va'+gE('ant').getAttribute('m');
		gE(as).innerHTML = parseInt(gE('ant').getAttribute('m'))+1;
		gE(v2).innerHTML = '['+va+']';
		gE('ant').setAttribute('m',v);
	}
	a.showLoading(gE('divMural'),'carregando...');
	a.ajaxRetriev(gE('divMural'));
}

//Função para dar AÇÃO a enquete
function chamaEnquete(acao,id){
	var ajax = new Ajax('enquete.php');
	chamaEnquete.sid = id;
	if(acao=='votar'){
		ajax.vars.add(new Array('radio',document.getElementById('rCkd').getAttribute('valor')),null);
		ajax.execInside = function(){ setTimeout("chamaEnquete('resultado',chamaEnquete.sid)",3000); };
	}
	ajax.vars.add(new Array('acao',acao),null);
	ajax.vars.add(new Array('id',id),null);
	ajax.showLoading(gE('dEnq'),'Carregando...');
	ajax.ajaxRetriev(gE('dEnq'));
}

//Função ajax para ENVIAR O FALE CONOSCO
function enviaFale(){
	var ajax = new Ajax('enviaForm.php');
	ajax.vars.add(new Array('formAssunto',gE('formAssunto').value));
	ajax.vars.add(new Array('formNome',gE('formNome').value));
	ajax.vars.add(new Array('formEmail',gE('formEmail').value),'');
	ajax.vars.add(new Array('formTelefone',gE('formTelefone').value));
	ajax.vars.add(new Array('formCidade',gE('formCidade').value));
	ajax.vars.add(new Array('formEstado',gE('formEstado').value));
	ajax.vars.add(new Array('formMsg',gE('formMsg').value));
	ajax.showLoading(gE('formFale'),'Carregando...');
	ajax.ajaxRetriev(gE('formFale'));
}

//Função para armezenar dados da VISITA
function regVisita(){
	var ajax = new Ajax('reg_visita.php');
	ajax.vars.add(new Array('navegador',navigator.appName),null);
	ajax.vars.add(new Array('versao',navigator.appVersion.substring(0,4)),null);
	ajax.vars.add(new Array('codificacao',navigator.appCodeName),null);
	ajax.vars.add(new Array('plataforma',navigator.platform),null);
	ajax.vars.add(new Array('historico',history.length),null);
	ajax.vars.add(new Array('java',navigator.javaEnabled()),null);
	ajax.vars.add(new Array('resolucao',screen.width+"x"+screen.height),null);
	ajax.vars.add(new Array('cor',window.screen.colorDepth+" bit"),null);
	ajax.ajaxRetriev(gE('qq'));
}

// Função que valida o e-mail informado
function validaEmail(email){
	return email.search(/(\w[\w\.\+]+)@(.+)\.(\w+)$/)==0;
}

// Função para verificar o FALE CONOSCO
function criticaFale(){
	if(gE('formNome').value==''){
		alert('Campo obrigatório [ NOME ] não preenchido.');
		gE('formNome').focus();
		return false;
	}
	if(validaEmail(gE('formEmail').value)==false){
		alert('Campo obrigatório [ E-MAIL ] não preenchido.\nVerifique se o email digitado é valido.');
		gE('formEmail').focus();
		return false;
	}
	if(gE('formMsg').value==''){
		alert('Campo obrigatório [ MENSAGEM ] não preenchido.');
		gE('formMsg').focus();
		return false;
	}
	return true;
}

//Função para CRIAR a div escura no fundo da tela
function createShadow(str){
	var selects = document.getElementsByTagName('select');
	        
	for(var i = 0; i< selects.length; i++)
		if(document.ISMSIE) selects[i].style.visibility='hidden';

	showDarkMask('_shadow',0,0.80);
    var sz = new getAbsoluteScreenSize();
}

//Função para CRIAR a div escura no fundo da tela
function showDarkMask(id){
	if(showDarkMask.arguments.length == 2){
		try{document.body.removeChild(document.getElementById(id))}catch(err){}
		return;
	}
		
	var darkmask = 	document.createElement('div'); // container box
	var scr = new getAbsoluteScreenSize();
		
	darkmask.style.position='absolute';
	darkmask.style.left='0';
	darkmask.style.top='0';
	darkmask.style.backgroundColor='#000';
	var o = (showDarkMask.arguments.length == 3) ? showDarkMask.arguments[2] : 0;
	o = document.ISGECKO ? o : (o*100); 
	document.ISGECKO ? darkmask.style.MozOpacity = o : darkmask.style.filter = 'alpha(opacity='+o+')';
    darkmask.style.width= scr.getWidth() + 'px';
    darkmask.style.zIndex = '4';
	darkmask.style.height = scr.getHeight() +200 + 'px';
	darkmask.setAttribute('id',id);

	document.body.appendChild(darkmask);
}

//Função para pegar o WIDHT e HEIGHT da página
function getAbsoluteScreenSize(){
	var lure = document.body.appendChild(document.createElement('b'));
	lure.style.position='absolute';
	lure.style.fontSize=0;
	lure.style.padding=0;
	lure.style.right=0;
	lure.style.bottom=0;
	
	this.getWidth = function getWidth(){return lure.offsetLeft};
	this.getHeight = function getHeight(){return lure.offsetTop};
}

//Função para REMOVER a div escura da página
function removeShadow(){
    var selects = document.getElementsByTagName('select');
        
    for(var i = 0; i< selects.length; i++)
		if(document.ISMSIE) selects[i].style.visibility='visible';

	document.body.removeChild(document.getElementById('_shadow'));

	var boxCad = gE('boxCad');
	if(boxCad) { // Por que ao clicar X (para deletar um registro) cria-se somente o encobridor e não o boxCad	
		boxCad.parentNode.removeChild(boxCad);
	}
}

function dfMask(e,l,s,c,f) 
{
		//110,190,188
		//------------------------------------------------------------------------------------------
		// e = evento / l = array de tamanho dos segmentos / t = tamanho da string
		//s = spacamento, c = caracter do spacamento
		// função retorna true qdo a mascara estiver completamente preenchida
	    // f = fixed tape mode, number or char (N,C)
		m = 0;  //tamanho máximo da entrada
		var t,sta,end;// target // start select // fim select
		var lim = new Array();  
		var exc = new Array(8,9,17,116) // exceções | inicialmente só backspace,tab,ctrl e f5
		if(arguments.length > 5)
			exc = new Array(8,9,17,116,110,190); // forma cachorra, melhorar depois
		c = new Array(s+1).join(c);
		t = (document.ISGECKO) ? e.currentTarget : e.srcElement;
		
		if(document.ISGECKO)
		{
			sta = end = t.selectionStart;
		}
		else
			sta = end = Math.abs(document.selection.createRange().moveStart("character", -1000000));		
		
		if(!t.value.length) // adiciona só no lenght 0, não há necessidade de repetição
		{
			try
			{
				t.removeEventListener("click",function(){t.selectionStart = t.value.length; t.selectionEnd  = t.value.length;},true);
				t.addEventListener("click",function(){t.selectionStart = t.value.length; t.selectionEnd   = t.value.length;},true);
				t.removeEventListener("select",function(){t.selectionStart = t.value.length; t.selectionEnd   = t.value.length;},true);
				t.addEventListener("select",function(){t.selectionStart = t.value.length; t.selectionEnd  = t.value.length;},true);
			}
			catch(err) //IE
			{
				t.detachEvent("onclick",function(e){var range = t.createTextRange(); range.moveStart("character", t.value.length); range.moveEnd("character", t.value.length); range.select();},true);
				t.attachEvent("onclick",function(e){var range = t.createTextRange(); range.moveStart("character", t.value.length); range.moveEnd("character", t.value.length); range.select();},true);
				t.detachEvent("onselect",function(e){var range = t.createTextRange(); range.moveStart("character", t.value.length); range.moveEnd("character", t.value.length); range.select();},true);
				t.attachEvent("onselect",function(e){var range = t.createTextRange(); range.moveStart("character", t.value.length); range.moveEnd("character", t.value.length); range.select();},true);
			}
		}
		for(var i in l){ m+= l[i]; lim[i] = (m+(s*i));}
		
		m = (m + (l.length - 1)*s);
		
        switch(f)
        {
            case 'N':
                var flag = (e.keyCode > 105 || e.keyCode < 48 || (e.keyCode > 57 && e.keyCode < 96)); 
            	break;
            case 'C':
                var flag = !(e.keyCode > 105 || e.keyCode < 48 || (e.keyCode > 57 && e.keyCode < 96)); 
        		break;
        }
        
        if(flag || t.value.length >= m) // apenas números
		{
			for(var i in exc)  // percorre o vetor de exceções
			{
				if(exc[i] == e.keyCode)
				{
					for(var j in lim)
					{
						if(sta == (lim[j]+s+1))
						{
							if(e.keyCode == 8) // inicialmente sem sentido (1 valor apenas)
							{
								t.value = t.value.substr(0,t.value.length-s);
							}
							else
								continue;
						}
					}
					return false;
				}
			}
			
			try{e.preventDefault();}catch(err){e.returnValue = false}
			
			return ((t.value.length+1) >=m) ? true : false;
		}
		else
		{
			for(var i = 0; i< l.length -1; i++) 
				if(t.value.length == lim[i])
					t.value += c;
				
			return ((t.value.length+1) >=m) ? true : false;
		}
}