function desativaEdit(obj){
	obj.readOnly = true;
	document.all.login.style.backgroundColor = '#e8e8e8';
}

function ativaEdit(obj){
	obj.readOnly = false;
	document.all.login.style.backgroundColor = 'white';
}

//Variaveis para controle do objeto selecionado
var currentObjColor    = '';
var originalObjColor   = '';
var selectColorDefault = '#FFC488';

var corSim = '#E0E0E0';
var corNao = '#F0F0F0';

// Funcao que troca de cor de qualquer objeto para a cor definida na variavel  selectColorDefault
function TrocaCorObjeto(obj){
	try{
		if (currentObjColor != '')
			currentObjColor.style.backgroundColor = originalObjColor;
		originalObjColor          = obj.style.backgroundColor;
		obj.style.backgroundColor = selectColorDefault;
		currentObjColor           = obj;
	}
	catch (APPLICATION){
		alert("An error occurred while was trying to select the object");
	};
}

function escondeObjColorSelected(){
	currentObjColor.style.display = 'none';	
}

//Funcao para abrir janelas details
function winDetail(theURL, hgt, wth, name){
	return window.open(theURL,name,"height="+hgt+",width="+wth+",status=0,scrollbars=1,resizable=1,screenX=0,screenY=0,left=0,top=0")
}

// funcao para achar o Left de um objeto qualquer
function objLeft(obj){
	var pos = obj.offsetLeft;
	try {
		var com = 'offsetParent.offsetLeft';
		for (x=1; x<1000; x++){
			eval('pos += obj.' + com)
			com = 'offsetParent.' + com
		}
	}
	catch (APPLICATION){
		return pos;
	};
}

//funcao para achar o Top de um objeto qualquer
function objTop(obj){
	var pos = obj.offsetTop;
	try {
		var com = 'offsetParent.offsetTop';
		for (x=1; x<1000; x++){
			eval('pos += obj.' + com)
			com = 'offsetParent.' + com
		}
	}
	catch (APPLICATION){
		return pos;
	};
}

var bufferSelect = '';
function findID(obj, ds){
	var iniAux  = 0;
	var finAux  = obj.options.length;
	var target  = 0;
	var flAchou = false;
	var opText  = '';
	var cont    = 0;
	while (!flAchou){
		target = ((finAux - iniAux) / 2) + iniAux;
		opText = obj.options[parseInt(target)].text;
		if (opText.substring(0, ds.length).toUpperCase()==ds){
			while (obj.options[parseInt(target)-1].text.substring(0, ds.length).toUpperCase()==ds){
				target = parseInt(target) - 1;
			}
			flAchou=true;
			return obj.options[parseInt(target)].value;
		}
		else{
			if(opText.substring(0, ds.length).toUpperCase()>ds){
				finAux=parseInt(target);
			}
			else{
				iniAux=parseInt(target)+1;
			}
		}
		cont++;
		if(cont>(obj.length/2)+1)
			return -1;
	}
}
function testaKey(obj, ev){
	var valueAtual = obj.value;
	var charCode   = ev.keyCode;
	var bufferAux  = '';
	if (charCode == 27){ // ESC
		bufferSelect = '';
		obj.value    = obj.options[0].value;
		return;
	}
	if (charCode == 13 || (charCode>=33 && charCode <=40)){
		return;
	}
	if (charCode == 8){// BackSpace
		bufferSelect  = bufferSelect.substring(0, bufferSelect.length-1);
		return;
	}
	if (charCode>=96 && charCode<=105)
		charCode = charCode - 48;

	if (charCode==194)
		bufferAux = '.';
	else
		bufferAux += String.fromCharCode(charCode).toUpperCase();
	bufferSelect = bufferSelect + bufferAux;
	var regId = findID(obj, bufferSelect);
	if(regId!=-1)
		obj.value = regId;
	else
		obj.value = valueAtual;
}
function limpaBuffSelect(ev){
	if(ev.keyCode==37)
		bufferSelect = bufferSelect.substring(0, bufferSelect.length-1);
}
	

var monthNames = new Array('Janeiro','Fevereiro','Marco','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');
var nDias = new Array(31,28,31,30,31,30,31,31,30,31,30,31);	

function validaDataEdit(obj){
	if(obj.value=='')
		return;
	if(obj.value.length!=mascaraData.length){
		alert("Data Inválida!!("+mascaraData+")");
		return;
	}
	var iniDia = mascaraData.indexOf('d',0);
	var diaUsuario = obj.value.toString().substring(iniDia,iniDia+2);
	var iniMes = mascaraData.indexOf('m',0);
	var mesUsuario = obj.value.toString().substring(iniMes,iniMes+2);
	var iniAno = mascaraData.indexOf('y',0);
	var anoUsuario = obj.value.toString().substring(iniAno,iniAno+4);
	
	if(anoUsuario<1){
		alert("Ano Inválido!!("+mascaraData+")");
		return;
	}
	if (((anoUsuario % 4 == 0) && (anoUsuario % 100 != 0)) || (anoUsuario % 400 == 0))
		nDias[1] = 29;
	else
		nDias[1] = 28;
	if(mesUsuario>12 || mesUsuario<1){
		alert("Mês Inválido!!("+mascaraData+")");
		return;
	}
	if(diaUsuario<1 || diaUsuario>nDias[mesUsuario-1]){
		alert("Dia Inválido!!("+mascaraData+")");
		return false;
	}
	var formatAux = mascaraDataUsuario;
	formatAux = formatAux.replace("dd",   diaUsuario);
	formatAux = formatAux.replace("mm",   mesUsuario);
	formatAux = formatAux.replace("yyyy", anoUsuario);
	obj.value = formatAux;
}

function onFocusData(obj){
	if(obj.value=='')
		return;
	if(obj.value.length!=mascaraDataUsuario.length){
		obj.value = '';
		return;
	}
	var iniDia     = mascaraDataUsuario.indexOf('d',0);
	var diaUsuario = obj.value.toString().substring(iniDia,iniDia+2);
	var iniMes     = mascaraDataUsuario.indexOf('m',0);
	var mesUsuario = obj.value.toString().substring(iniMes,iniMes+2);
	var iniAno     = mascaraDataUsuario.indexOf('y',0);
	var anoUsuario = obj.value.toString().substring(iniAno,iniAno+4);
	
	if(anoUsuario<1){
		obj.value = '';
		return;
	}
	if (((anoUsuario % 4 == 0) && (anoUsuario % 100 != 0)) || (anoUsuario % 400 == 0))
		nDias[1] = 29;
	else
		nDias[1] = 28;
	
	if(mesUsuario>12 || mesUsuario<1){
		obj.value = '';
		return;
	}
	if(diaUsuario<1 || diaUsuario>nDias[mesUsuario-1]){
		obj.value = '';
		return false;
	}
	var formatAux = mascaraData;
	formatAux = formatAux.replace("dd",   diaUsuario);
	formatAux = formatAux.replace("mm",   mesUsuario);
	formatAux = formatAux.replace("yyyy", anoUsuario);
	obj.value = formatAux;
	obj.select();
}


function moveGrupoFormulario(dsGrupo){
	var trGrupo  = document.getElementById(dsGrupo);
	var imgGrupo = document.getElementById('img'+dsGrupo);
	if(trGrupo.style.display=='none'){
		trGrupo.style.display = 'block';
		imgGrupo.src = menosIMG.src;
	}
	else{
		trGrupo.style.display = 'none';
		imgGrupo.src = maisIMG.src;
	}
}

function fechaGrupoFormulario(dsGrupo){
	var trGrupo  = document.getElementById(dsGrupo);
	var imgGrupo = document.getElementById('img'+dsGrupo);
	trGrupo.style.display = 'none';
	imgGrupo.src = maisIMG.src;
}

function abreGrupoFormulario(dsGrupo){
	var trGrupo  = document.getElementById(dsGrupo);
	var imgGrupo = document.getElementById('img'+dsGrupo);
	trGrupo.style.display = 'none';
	imgGrupo.src = maisIMG.src;
}

var tableOBJItens    = null;
var tableOBJAuxItens = null;
var rowIndexTarget   = null;

function inserirItemGridTable(obj, dstableOBJItens, dstableOBJAuxItens, idRow, rowIndexTarget){
	tableOBJItens    = document.getElementById(dstableOBJItens);
	tableOBJAuxItens = document.getElementById(dstableOBJAuxItens);
	var rowNum = tableOBJItens.rows.length;
	if( (parseInt(idRow)+2!=parseInt(rowNum)) ||  (obj.tagName=='SELECT' && obj.value=='-1') || (obj.value==''))
		return;
	
	var newRow = tableOBJItens.insertRow(rowNum);
	
	if(tableOBJItens.rows[rowNum-1].className=='corSimTR')
		newRow.className = 'corNaoTR';
	else
		newRow.className = 'corSimTR';
	
	for(auxID=0;auxID<tableOBJAuxItens.rows[rowIndexTarget].cells.length;auxID++){
		var cellAux = newRow.insertCell(auxID);
		auxHTMLCel  = tableOBJAuxItens.rows[rowIndexTarget].cells[auxID].innerHTML;
		while(auxHTMLCel.indexOf('XXXX')!=-1){
			auxHTMLCel = auxHTMLCel.replace('XXXX', parseInt(rowNum-rowIndexTarget-1));
		}
		cellAux.className = tableOBJAuxItens.rows[rowIndexTarget].cells[auxID].className;
		cellAux.innerHTML = auxHTMLCel;
	}
}

function setClasse(obj,cla){
	obj.className = cla;
}

function abreMapaImovel(cidade,endereco){
	var theURL = 'http://www.hagah.com.br/jsp/mapas.jsp?uf=1&local=1&regionId=1&type=1&buscar=true&toll=1&transportmode=2&uf1=RS&cidade1='+cidade+'&endereco1='+endereco;
	winMapa = window.open(theURL,'mapaDoImovel',"height=500,width=600,status=0,scrollbars=1,resizable=1,screenX=0,screenY=0,left=0,top=0")
	winMapa.focus();
}

function abreMapaInfra(cidade,endereco){
	var theURL = 'http://www.hagah.com.br/jsp/mapas.jsp?uf=1&local=1&regionId=1&type=1&buscar=true&toll=1&transportmode=2&uf1=RS&cidade1='+cidade+'&endereco1='+endereco;
	winMapa = window.open(theURL,'mapaDoImovel',"height=500,width=600,status=0,scrollbars=1,resizable=1,screenX=0,screenY=0,left=0,top=0")
	winMapa.focus();
}



// Funcao que aredonda um numero e coloca .00
function formatRound(number,X){
	var ret;
	X = (!X ? 2 : X);
	ret = Math.round(number*Math.pow(10,X))/Math.pow(10,X)+'';
	if (ret.indexOf('.')==-1)
		ret = ret + '.00';
	return ret.replace('.',',');
}

function decimalToFloat(vl){
	var aux = vl.replace(',','.');
	return parseFloat(aux);
}

function validaDecimal(vl){
	if(vl.indexOf('.') > -1)
		return false;
	var aux = vl.replace(',','.');
	if(aux!=parseFloat(aux))
		return false;
	else
		return true;
}

function ajustaFormatoHora(obj){
	if(obj.value=='')
		return;
	
	if(obj.value.length<4){
		alert('Por favor, informe um horário válido!! (HH:MM ou HHMM)');
	}
	else if(obj.value.length==4){
		obj.value = obj.value.substring(0,2)+':'+obj.value.substring(2,4);
	}
	else if(obj.value.length>5 && obj.value.length<16){
		alert('Atenção, se você não informar apenas o horário neste campo, deve informar a data completa!(DD/MM/AAAA HH:MM)');
	}
	
	if(obj.value.length==5){
		if(parseInt(obj.value.substring(0,2))>23 || obj.value.substring(0,2)<0){
			alert('Atenção, hora inválida!!');
		}
		if(parseInt(obj.value.substring(3,5))>59 || obj.value.substring(3,5)<0){
			alert('Atenção, minutos inválidos!!');
		}
		if(parseInt(obj.value.substring(2,1))!=':'){
			obj.value = obj.value.substring(0,2)+':'+obj.value.substring(3,5);
		}
	}
}

function limpaHoraFocus(obj){
	obj.value = obj.value.replace(':','');
	obj.select();
}
