/*
  Método que permite pré-visualizar uma imagem da galeria de Thumbnails
*/
function viewThumb(_obj, _src, _alt, _item)
{
  // obtém o objecto da imagem principal
  with(document.getElementById(_obj)) {
	if(document.all && !window.opera) {
	  style.filter = "blendTrans(duration=2)";
	  style.filter = "blendTrans(duration=crossFadeDuration)";
	  filters.blendTrans.Apply();
    }
	// atribui as propriedades da imagem
	var _param = _arrayThumb[0][_item+_nav].split(","); 
	src = _param[0];	
	style.width = _param[1];
	style.height = _param[2];
	alt = _alt;
	// aplica a transformação da imagem
	if(document.all && !window.opera) {
	  filters.blendTrans.Play();
    }

	// pára o slideshow, e actualiza o index
	stop_slideT();
	_index = _item + _nav;
  }
}

/*
  Método que permite inserir um objecto Embed na página
*/
function setEmbed(objContent,innerHTML)
{
  document.getElementById(objContent).innerHTML = innerHTML;
}

/*
  Método que permite aceder à página anterior.
*/
function previous()
{
  history.back();
}



/*
  Método que permite visualizar um Tab específico do menu da página de detalhe do imóvel.
*/
function tab_Visible(_active, _uc)
{ 
  var _tabs = new Array();
  _tabs[0] = _uc + "divDescricao";
  _tabs[1] = _uc + "divFotos";
  _tabs[2] = _uc + "divMapa";
  _tabs[3] = _uc + "divFotos360";
  _tabs[4] = _uc + "divVideos";
  _tabs[5] = _uc + "divContactos";

  // esconde todos os separadores
  for(var _row=0; _row<_tabs.length; _row++) {
    document.getElementById(_tabs[_row]).style.visibility = "hidden";
    document.getElementById(_tabs[_row]).style.display = "none";
  }
  // apresenta o separador pretendido
  document.getElementById(_uc+_active).style.visibility = "visible";
  document.getElementById(_uc+_active).style.display = "block";

  // actualiza o endereço do mapa
  if(_active == "divMapa") document.getElementById("ifGMaps").src = document.getElementById(_uc+"__mapa").value;
  
  // actualiza o estado do slideshow
  if(_active == "divFotos") {
	init_slideT();
  } else {
	stop_slideT();
  }
  // configura o formulário de conctactos
  if(_active == "divContactos" || document.getElementById(_uc+"divInformacoes").style.visibility == "hidden") form_Visible(_uc, "divInformacoes", "divRecomendar")
}

/*
  Configura os estilos de um Tab do menu da página de detalhe do imóvel.
*/
function tab_Over(_tab, _uc)
{
  var _obj = document.getElementById(_uc+_tab);
  _obj.style.cursor = "pointer";
}

/*
  Método que apresenta o formulário "Recomendar Imóvel".
*/
function form_Visible(_uc, _show, _hidden)
{
  var _show = document.getElementById(_uc+_show)
  _show.style.visibility = "visible";
  _show.style.display = "block";
  var _hidden = document.getElementById(_uc+_hidden)
  _hidden.style.visibility = "hidden";
  _hidden.style.display = "none";
}














// Propriedades do Slideshow das fotos apresentadas na página "Detalhe do Imóvel"
var _speed = 2500;
var _index = 1;
var _play = false;
var _time;
var _nav = 0;

/*
  Método que inicializa o Slideshow das fotografias de um imóvel.
*/
function init_slideT()
{
  if(_arrayThumb[0].length > 1) {
    if(!_play) {
      _play = true;
	  _time = setTimeout('play_slideT()', _speed);
      document.getElementById("imgStop").className = "btn on";
	  document.getElementById("imgPlay").className = "btn off";
    } else {
	  stop_slideT();
    }
  } else {
    document.getElementById("imgStop").className = "btn off";
	document.getElementById("imgPlay").className = "btn on";
  }
}
/*
  Método que permite parar o Slideshow de fotografias.
*/
function stop_slideT()
{
  if(_play) {
    _play = false;
    document.getElementById("imgStop").className = "btn off";
    document.getElementById("imgPlay").className = "btn on";
    clearTimeout(_time);
  }
}
/*
  Método que permite actualizar a informação de uma determinada imagem do Slideshow.
*/
function play_slideT()
{
  var _uc = document.getElementById("__uc").value;
  var _image = document.getElementById(_uc+"_imgFotoP");
  var _param = _arrayThumb[0][_index].split(",");

  if(document.all && !window.opera) {
  	_image.style.filter = "blendTrans(duration=2)";
	_image.style.filter = "blendTrans(duration=crossFadeDuration)";
	_image.filters.blendTrans.Apply();
  }
  // Thumbnail
  _image.src = _param[0];
  _image.style.width = _param[1];
  _image.style.height = _param[2];
  
  // ToolTip
  _image.title = _arrayThumb[1][_index];
  // Aplica a transformação da imagem
  if(document.all && !window.opera) {
    _image.filters.blendTrans.Play();
  }

  _index++;
  if(_index > (_arrayThumb[0].length - 1)) _index=0;
  _time = setTimeout('play_slideT()', _speed);
}
/*
  Método que permite navegar na lista de imagens do Slideshow de fotografias.
*/
function nav_slideT(_img)
{
  var _count = _arrayThumb[0].length;
  // verifica se é possível navegar na lista de imagens
  if(_count > 4) {
    switch(_img.id) {
      case "imgPrev":
  		if(_nav > 0) {
		  _nav--;
		  change_slideT();
		}
	    break;
      case "imgNext":
		if(_nav+4 < _count) {
		  _nav++;
		  change_slideT();
		}
	    break;
    }
  }
}
/*
  Método que actualiza a lista de imagens do Slideshow.
*/
function change_slideT()
{
  var _uc = document.getElementById("__uc").value;
  var _image;
  var _pos;
  var _name;
  var _param;
  
  for(_row=0; _row<4; _row++) {
    _image = document.getElementById(_uc+"_dlstFotos_ctl0"+_row+"_imgThumbF");
	_pos = _image.src.lastIndexOf("/");	
	// obtém as propriedades da imagem
	_param = _arrayThumb[0][_row+_nav].split(","); 
	_name = _param[0];
	// obtém o nome da imagem (formato Thumbnail)
	with(_image) {
	  src = _name.substring(0, _pos+1) + "i" + _name.substring(_pos+1);
	  style.width = _param[1] / 5;
	  style.height = _param[2] / 5;
	  title = _arrayThumb[1][_row+_nav];
	}
  }  
}





function trim(string) {
  var re= /^\s*|\s*$/g;
  return string.replace(re,"");
}
/*
  Método que valida um endereço de e-mail.
*/
function email_Validate(e) {
  if(e != "") {
    var objRegExp = /^.+@.+\..{2,3}$/;
    return objRegExp.test(e);
  } else {
    return true;
  }
}
/*
  Método que valida a introdução de valores numéricos.
*/
function numeric_Validate(e, obj)
{
  var evt = e ? e : window.event;
  var keycode;
  if(document.all)
    keycode = evt.keyCode;
  else
    keycode = evt.which;
  if(keycode>=48 && keycode<=57 || (keycode==0 || keycode==8))
    return true;
  else
	return false;
}

/*
  Método que valida os campos de preenchimento obrigatório do formulário "Pedido de Informações".
*/
function informacoes_Mandatory()
{
  var _fields = new Array("tbNome", "tbTelefone", "tbEmail", "tbMensagemPI");
  // obtém o ID do controlo
  var _uc = document.getElementById("__uc").value + "_";
  for(var _index=0; _index<_fields.length; _index++) {
    if(trim(document.getElementById(_uc+_fields[_index]).value) == 0) {
	  return false;
	  break;
	}
  }
  return true;
}
/*
  Método que valida os campos de preenchimento obrigatório do formulário "Recomendar Imóvel".
*/
function recomendar_Mandatory()
{
  var _fields = new Array("tbDeNome", "tbDeEmail", "tbParaNome", "tbParaEmail", "tbMensagemRI");
  // obtém o ID do controlo
  var _uc = document.getElementById("__uc").value + "_";
  for(var _index=0; _index<_fields.length; _index++) {
    if(trim(document.getElementById(_uc+_fields[_index]).value) == 0) {
	  return false;
	  break;
	}
  }
  return true;
}
