/*
  Método que realiza o DataBind do filtro "Preço".
*/
function ddlTipo_SelectedIndexChanged() {
  // Obtém o clientID do controlo
  var _client = document.getElementById("__control").value;

  // Adiciona o texto "Preco:"
  var _preco = document.getElementById(_client+"ddlPreco");
  var _option = _preco.options[0];
  _preco.options.length = 0;
  _preco.options.add(_option);
    
  // Verifica qual é a finalidade seleccionada
  with(_preco.options) {
    switch(document.getElementById(_client+"ddlFinalidade").value) {
	  case "241":
	  case "1516":
	    // Arrendamento, Arrendamento para férias
		add(new Option(_char[0].replace("{0}","350"), "|350"));
		add(new Option(_char[1].replace("{0}","350").replace("{1}","500"), "350|500"));
		add(new Option(_char[1].replace("{0}","500").replace("{1}","1000"), "500|1000"));
		add(new Option(_char[1].replace("{0}","1000").replace("{1}","2000"), "1000|2000"));
		add(new Option(_char[2].replace("{0}","2000"), "2000|"));
		break;
	  case "":
		break;
	  default:
        add(new Option(_char[0].replace("{0}","50.000"), "|50000"));
        add(new Option(_char[1].replace("{0}","50.000").replace("{1}","75.000"), "50000|75000"));
        add(new Option(_char[1].replace("{0}","75.000").replace("{1}","100.000"), "75000|100000"));
		add(new Option(_char[1].replace("{0}","100.000").replace("{1}","150.000"), "100000|150000"));
		add(new Option(_char[1].replace("{0}","150.000").replace("{1}","200.000"), "150000|200000"));
		add(new Option(_char[2].replace("{0}","200.000"), "200000|"));
		break;
	}
  }
}
/*
  Método que configura o texto a apresentar no filtro "Referência".
*/
function txtReferencia_Focus(_event) {
  // Obtém o clientID do controlo
  var _client = document.getElementById("__control").value;
  var _value;
  var _text;
	
  switch(_event) {
    case "onFocus":
      _value = "";
      _text = document.getElementById(_client+"__txtReferencia").value;
      break;
    case "onBlur":
      _value = document.getElementById(_client+"__txtReferencia").value;
      _text = "";
      break;
  }
  // Verifica se a referência do imóvel ainda não se encontra introduzida
  if(trim(document.getElementById(_client+"txtReferencia").value) == _text) {
    document.getElementById(_client+"txtReferencia").value = _value;
  }
}



function trim(string) {
  var re= /^\s*|\s*$/g;
  return string.replace(re,"");
}

/*
  Método que acrescenta um campo obrigatório à mensagem de validação do formulário.
*/
function pesqSimples_cfgMessage(_dropdown, _text, _return) {
  if(_dropdown.type == "select-one" && _dropdown.value == "") {
	if(!_dropdown.enabled) _dropdown.enabled = true;
	if(_return) return String.fromCharCode(187)+" "+_text+"\n";
  }
}
/*
  Método que obtém a endereço da página de resultado da pesquisa de imóveis.
*/
function pesqSimples_getURL() {
 // Obtém o clientID do controlo
  var _client = document.getElementById("__control").value;
  // Cria o endereço da página do Resultado da Pesquisa
  var _url="/Default.aspx?tabid="+document.getElementById(_client+"__tabid").value;

  // Verifica o tipo de pesquisa
  if(trim(document.getElementById(_client+"txtReferencia").value) == document.getElementById(_client+"__txtReferencia").value) {
    // Finalidade
    _url += pesqSimples_add_value("ddlFinalidade", "tNeg");
    // Tipo Imóvel
    _url += pesqSimples_add_value("ddlTipo", "gImo");
    // Localização (Distrito, Concelho, Freguesia)
    _url += pesqSimples_add_value("ddlDistrito", "lDis");
    _url += pesqSimples_add_value("ddlConcelho", "lCon");
    _url += pesqSimples_add_value("ddlFreguesia", "lFre");
    // Tipologia
    _url += pesqSimples_add_value("ddlTipologia", "tMin");
    _url += pesqSimples_add_value("ddlTipologia", "tMax");
	// Preço
	var _preco = document.getElementById(_client+"ddlPreco").value;
	if(_preco.length > 0) {
	  var _pos = _preco.indexOf("|");
	  // Gama de Preços 'Até'
	  if(_pos == 0) {
	    _url += "&pMax="+_preco.substring(_pos+1);
	  // Gama de Preços 'Mais de'
	  } else if (_preco.length == _pos+1) {
	    _url += "&pMin="+_preco.substring(0,_pos);
	  // Gama de Preços 'De Até'
	  } else {
	    _url += "&pMin="+_preco.substring(0,_pos);
	    _url += "&pMax="+_preco.substring(_pos+1);  
	  }
	}
    // Fotos
    _url += pesqSimples_add_flag(_client, "chkFotos", "bImg");
  } else {
    _url += pesqSimples_add_value("txtReferencia", "iRef");
  }
  _url += "&language=" + document.getElementById(_client + "__idioma").value;

  return _url;
}
/*
  Método que adiciona um valor à QueryString.
*/
function pesqSimples_add_value(_name, _query){
  // Obtém o clientID do controlo
  var _client=document.getElementById("__control").value;
  var _value=document.getElementById(_client+_name).value;
  if(_value.length > 0) {
    return "&"+_query+"="+_value;
  }
  return "";
}
/*
  Metódo que permite adicionar uma característica CheckBox.
*/
function pesqSimples_add_flag(_client, _name, _query) {
  if(document.getElementById(_client+_name).checked) {
    return "&"+_query+"=1";
  }
  return "";
}