Number.prototype.formatMoney = function(c, d, t){
	var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
	return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}; 

Number.prototype.formatHighNumber = function(c, d, t){
	var n = this, c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
	fr = s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
	return fr.substr(0,fr.length - 3);
}; 


var objTipos = new Object([
	 {id: 2, name: "Apartamento", min:50000, max:1000000, dorm: true, vagas: true, area_util: true} 
	,{id: 5, name: "Área", min:10000, max:1000000, area_total: true}
	,{id: 6, name: "Barracao", min:50000, max:1000000, vagas: true, area_total: true}
	,{id: 7, name: "Casa", min:50000, max:1000000, dorm: true, vagas: true, area_construida: true}
	,{id: 8, name: "Chácara", min:50000, max:1000000, dorm: true, vagas: true, area_total: true}
	,{id: 11, name: "Fazenda", min:100000, max:5000000, area_total: true}
	,{id: 12, name: "Galp&atilde;o", min:50000, max:1000000, vagas: true, area_total: true}
	,{id: 14, name: "Haras", min:100000, max:5000000, area_total: true}
	,{id: 15, name: "Ponto", min:50000, max:3000000, vagas: true, area_util: true}
	,{id: 16, name: "Prédio", min:100000, max:5000000, area_construida: true}
	,{id: 17, name: "Sala", min:50000, max:1000000, vagas: true, area_util: true}
	,{id: 18, name: "Salao", min:100000, max:10000000, vagas: true, area_util: true}
	,{id: 19, name: "Sítio", min:50000, max:1000000, area_total: true}
	,{id: 20, name: "Terreno", min:5000, max:1000000, area_total: true}	
	,{id: 22, name: "Kitnet", min:20000, max:500000, dorm: true, vagas: true, area_util: true, area_total: false}	
	,{id: 23, name: "Flat", min:50000, max:3000000, dorm: true, vagas: true, area_util: true, area_total: false}	
	,{id: 24, name: "Cobertura", min:100000, max:2000000, dorm: true, vagas: true, area_util: true, area_total: false}
	,{id: 25, name: "Sobrado", min:50000, max:1000000, dorm: true, vagas: true, area_construida: true}
	,{id: 26, name: "Loja", min:50000, max:3000000, vagas: true, area_util: true}	
	,{id: 27, name: "Conjunto", min:50000, max:3000000, dorm: false, vagas: true, area_construida: true}		
]);
$(function(){
	    $("#ddlTipo").val("");
	});
$(function(){
	    $("#ddlFinalidade").val("");
	});
$(function(){
		if($("#busca-rapida-c21").length > 0){
			$("#frmBusca").submit(function(){
				if($("#cidade").val() != "")
					return(true);
				else
					return(false);
			});
			
//			$("#cidade").change(function(){
//				if($("#cidade").val() != ""){
//					$("#ddlBairro").attr("disabled",false);
//					$("#btnEnviar").attr("disabled",false);
//					$("#btnEnviar").attr("class", "enabled");
//				}
//				else{
//					$("#ddlBairro").attr("disabled",true);
//					$("#btnEnviar").attr("disabled",true);
//					$("#btnEnviar").attr("class", "disabled");
//				}
//				updateBairros("");
//			}).change();
//			
//			$("#ddlBairro").click(function(){
//				link = $("#lnkBairro").attr("href");
//				$("#lnkBairro").attr("href", link + "?idCidade=" + $("#dlcidade").val());
//				$("#lnkBairro").attr("href", link + "?idCidade=" + $("#cidade").val());
//				$("#lnkBairro").trigger("click");
//				$("#lnkBairro").attr("href", link);
//				$(this).blur();	    
//				return false;
//			})
			
			$("#dlcidade").change(function(){
				if($("#dlcidade").val() != ""){
					$("#ddlBairro").attr("disabled",false);					
					$("#btnEnviar").attr("disabled",false);
					$("#btnEnviar").attr("class", "enabled");
					$("#ddlBairro").attr("disabled",false);
                    $("#txtCampoBusca").attr("disabled",false);
                    $("#txtCampoBusca").css("opacity", "0.9");

				}
				else{
					$("#ddlBairro").attr("disabled","disabled");		
					$("#btnEnviar").attr("disabled",true);
					$("#btnEnviar").attr("class", "disabled");
					$("#txtCampoBusca").attr("disabled",true);
                     $("#txtCampoBusca").css("opacity", "0.3");
				}
				updateBairros("");
			}).change();
			
			$("#ddlBairro").click(function(){
				if($("#dlcidade").val() != ""){
					link = $("#lnkBairro").attr("href");
					//alert($("#lnkBairro").attr("href"));
					url = link.split('?');
					link = url[0];
					link += "?idCidade=" + $("#dlcidade").val() + "&Pretensao=" + $("#ddlPretensao").val() + "&Tipo=" + $("#ddlTipo").val() + "&ValorMin=" + $("#txtValorMin").val() + "&ValorMax=" + $("#txtValorMax").val();
					link += "&Dorms=" + $("#ddlDorms").val() + "&Vagas=" + $("#ddlVagas").val() + "&Area=" + $("#txtArea").val() + "&Finalidade=" + $("#ddlFinalidade").val();
					$("#lnkBairro").attr("href", link);
					$("#lnkBairro").trigger("click");
					$("#lnkBairro").attr("href", link);
				}
				$(this).blur();	    
				return false;
			})
			
			//CHANGE DAS SELECTS
			$("#ddlPretensao, #ddlTipo , #ddlFinalidade").change(function(){buscaRapida()}).change();
			
			criaSliderValor(new Array(0,0));
			criaSliderArea(new Array(0,0));
			criaSliderDorm(false);
		}
});

function getObjTipo(number){
	//number = number.substr(0,number.indexOf("|"));
	//number = number.split(",")[0];
	for(i = 0; i < objTipos.length; i++){
		if(number == objTipos[i].id)
			return(objTipos[i]);
	}
}

function zeraTudo()
{
	$("#boxEncontreImovel select").each(function(){
		if($(this).attr("disabled") == true)
			$(this).val("");
	});
}

function sliderFormat(rotulo, value1, value2, objTo, hidden1, hidden2){	

	var valorMin = ($("#ddlTipo").val() != "") ? getObjTipo($("#ddlTipo").val()).min : 0;
	var valorMax = ($("#ddlTipo").val() != "") ? getObjTipo($("#ddlTipo").val()).max : 0;
	
	//se estiver tudo zerado
	if(valorMin == 0 && valorMax == 0){
		objTo.html("Valor: <strong>indiferente</strong>");
		
	}else{
		if($("#ddlPretensao").val() == 2){
			valorMin = valorMin  * 0.002;
			valorMax = valorMax * 0.002;
		}
		value1Format = value1.formatMoney(0,',','.');
		value2Format = value2.formatMoney(0,',','.');		
		//se a barra estiver no meio
		if(parseInt(value2) < valorMax && parseInt(value1) > valorMin){
			$(hidden1).val(value1Format);
			$(hidden2).val(value2Format);				
			objTo.html(rotulo + ': de <strong>' + value1Format + '</strong> &agrave; <strong>' + value2Format + "</strong>");
		//se a barra estiver nos extremos
		}else if(parseInt(value2) >= valorMax && parseInt(value1) <= valorMin){		
				$(hidden1).val("");
				$(hidden2).val("");
				objTo.html(rotulo + ': <strong>indiferente</strong>');	
		}else{
			//se a barra estiver no canto direito
			if(parseInt(value2) >= valorMax){
				$(hidden1).val(value1Format);
				$(hidden2).val("");
				objTo.html(rotulo + ': de <strong>' + value1Format + '</strong> &agrave; <strong>indiferente</strong>');
			//se a barra estiver no canto esquerdo			
			}else{
				$(hidden1).val("");
				$(hidden2).val(value2Format);
				objTo.html(rotulo + ': <strong>indiferente</strong> &agrave; <strong>' + value2Format + "</strong>");
			}
		}
	}
	return(true);
}
function sliderFormatArea(valor){
	valor = parseInt(valor);
	if(valor > 0 && valor < 1000){
		$("#txtArea").attr("value",valor);
		valor = valor.formatMoney(0,",",".");
		
		$("#label-area").html("&Aacute;rea  m&iacute;nima: <strong>" + valor + 'm&sup2; </strong> (aprox.)');
	}else{
		$("#txtArea").attr("value","");
		$("#label-area").html("&Aacute;rea  m&iacute;nima: <strong>Indiferente</strong>");
	}
	return(true);
}

function sliderFormatDorm(valor){
	valor = parseInt(valor);
	
	if(valor > 0 && valor < 4){
		$("#ddlDorms").val(valor);
		valor = valor.formatMoney(0,",",".");
		
		$("#label-dorm").html("À partir de: <strong>" + valor + ' dormitório'+((valor > 1) ? 's' : '') +'</strong>');
	}else{
		$("#ddlDorms").attr("value","");
		$("#label-dorm").html("Dormitórios: <strong>Indiferente</strong>");
	}
	return(true);
}

function sliderFormatVagas(valor){
	valor = parseInt(valor);
	
	if(valor > 0 && valor < 4){
		$("#ddlVagas").val(valor);
		valor = valor.formatMoney(0,",",".");
		
		$("#label-vagas").html("À partir de: <strong>" + valor + ' vaga'+((valor > 1) ? 's' : '') +'</strong>');
	}else{
		$("#ddlVagas").attr("value","");
		$("#label-vagas").html("Vagas: <strong>Indiferente</strong>");
	}
	return(true);
}

function buscaRapida(){
	//Desabilita todos campos da busca...
	$("#boxEncontreImovel input, #boxEncontreImovel select").attr("disabled",true);
	
	//Menos o tipo e pretensão
	$("#ddlPretensao, #ddlTipo, #txtImb, #txtRef, #idBairros").attr("disabled",false);
	
	//Some com o valor maximo e minimo
	$("#txtValorMin, #txtValorMax, #ddlDorms, #ddlVagas").parent().parent().parent().hide();
	$("#txtValorMin, #txtValorMax, #ddlDorms, #ddlVagas").removeAttr("disabled");
	$("#txtArea").parent().parent().parent().hide();
	
	
	//se tiver algum tipo válido
	if($("#ddlTipo").val() != ""){
		var valorMinMax = new Array();
		if($("#ddlPretensao").val() == 1)
			valorMinMax = Array(getObjTipo($("#ddlTipo").val()).min, getObjTipo($("#ddlTipo").val()).max);
		else
			valorMinMax = Array((getObjTipo($("#ddlTipo").val()).min * 0.002), (getObjTipo($("#ddlTipo").val()).max * 0.002));
        $("#txtCampoBusca").val("");
		$("#cidade").attr("disabled",false);
		$("#cidade").change();
		
		//habilita tudo
		$(".passoN2, .passoN3, #busca-rapida-c21 input:type=submit").css("opacity", "1");
		//$(".passoN3 select, #busca-rapida-c21 input:type=submit").attr("disabled",true);
		
		$("#dlcidade").attr("disabled",false);
        if($("#dlEstado").val() == "")
        {
            $("#dlcidade").attr("disabled",true);
        }
        else
        { 
            $("#dlcidade").attr("disabled",false);
        }

        if($("#dlcidade").val() == "")
        { 
            $("#txtCampoBusca").attr("disabled",true);
            $("#txtCampoBusca").css("opacity", "0.3");
        }
        else
        {
            $("#txtCampoBusca").attr("disabled",false);
        }
		

		//cria slider de valor
		criaSliderValor(valorMinMax);
		
		//slider de área
		criaSliderArea(valorMinMax);
		
		//slider de dormitórios
		criaSliderDorm(getObjTipo($("#ddlTipo").val()).dorm)
		
		//slider de dormitórios
		criaSliderVagas(getObjTipo($("#ddlTipo").val()).vagas)
		
	}else{
		criaSliderValor([0,0]);
		criaSliderArea([0,0]);
		criaSliderDorm(false);
		criaSliderVagas(false);
		//alert($("#txtCampoBusca").val());
		//$("#txtCampoBusca").css("opacity", "0.1");
		$(".passoN2, .passoN3").css("opacity", "0.5");
		$(".passoN3 select").attr("disabled",true);
		$("#busca-rapida-c21 input:type=submit").attr("disabled",true);
		$("#busca-rapida-c21 input:type=submit").css("opacity", "0.5");
	}
	zeraTudo();
	updateBairros("");
}
function updateBairros(strTitulo){
	if(strTitulo == "" || !strTitulo){
		$("#ddlBairro, #idBairros").empty();
		$("#ddlBairro").append("<option value=''>Selecione o bairro</option>");
	}else{
		var txt = new String();
		txt = strTitulo;
		if(txt.length > 18)
			txt = txt.substring(0, 18) + "...";
		else
			txt = txt.substr(0, txt.lastIndexOf(","));
		$("#ddlBairro").empty();
		$("#ddlBairro").append("<option value=''>" + txt + "</option>");
	}
}

function criaSliderValor(valorMinMax){
		$("#slider-range-valor, #label_valor").remove();
		$("#txtValorMax").parent().parent().parent().after("<div id='slider-range-valor'>");
		$("#slider-range-valor").before("<div id='label_valor' class='slider-rotulo' for=''>");
		//$("#label_valor").wrap("<dt />");
		if(valorMinMax[0] == 0 && valorMinMax[1] == 0){
			$("#slider-range-valor").slider({ disabled: true, range: true, values: [0,1], min:0, max: 1});
			$("#slider-range-valor").css({"opacity":"0.5"})
		}else{
			$("#slider-range-valor").slider({
				range: true,
				animate: true,
				min: valorMinMax[0],
				max: valorMinMax[1],
				step: valorMinMax[0],
				values: [valorMinMax[0],valorMinMax[1]],
				slide: function(event, ui) {
					sliderFormat("Valor",ui.values[0],ui.values[1],$("#label_valor"),$("#txtValorMin"),$("#txtValorMax"));
				}
			});
		}
		sliderFormat("Valor",$("#slider-range-valor").slider("values", 0),$("#slider-range-valor").slider("values", 1),$("#label_valor"),$("#txtValorMin"),$("#txtValorMax"));		

}

function criaSliderArea(valorMinMax){
		$("#slider-range-area, #label-area").remove();
		$("#txtArea").parent().parent().parent().after("<div id='slider-range-area'>");
		$("#slider-range-area").before("<div id='label-area' class='slider-rotulo'>");
		$("#label-area").wrap("<dt>");
		if(valorMinMax[0] == 0 && valorMinMax[1] == 0){
			$("#slider-range-area").slider({ disabled: true});
			
		}else{	
			$("#slider-range-area").slider({
				animate: true,
				range: "min",
				min: 0,
				max: 1000,
				step: 50,
				value: 0,
				slide: function(event, ui){
					sliderFormatArea(ui.value);
				}
			});
		}
		sliderFormatArea($("#slider-range-area").slider("value"));
}
function criaSliderDorm(DormTrue){
		$("#slider-range-dorm, #label-dorm").remove();
		$("#ddlDorms").parent().parent().parent().after("<div id='slider-range-dorm'>");
		$("#slider-range-dorm").before("<div id='label-dorm' class='slider-rotulo'>");
		$("#label-dorm").wrap("<dt>");
		if(!DormTrue){
			$("#slider-range-dorm").slider({ disabled: true});
			
		}else{	
			$("#slider-range-dorm").slider({
				animate: true,
				range: "max",
				min: 0,
				max: 4,
				step: 1,
				value: 0,
				slide: function(event, ui){
					sliderFormatDorm(ui.value);
				}
			});
		}
		sliderFormatDorm($("#slider-range-dorm").slider("value"));
}

function criaSliderVagas(DormTrue){
		$("#slider-range-vagas, #label-vagas").remove();
		$("#ddlVagas").parent().parent().parent().after("<div id='slider-range-vagas'>");
		$("#slider-range-vagas").before("<div id='label-vagas' class='slider-rotulo'>");
		$("#label-vagas").wrap("<dt>");
		if(!DormTrue){
			$("#slider-range-vagas").slider({ disabled: true});
			
		}else{	
			$("#slider-range-vagas").slider({
				animate: true,
				range: "max",
				min: 0,
				max: 4,
				step: 1,
				value: 0,
				slide: function(event, ui){
					sliderFormatVagas(ui.value);
				}
			});
		}
		sliderFormatVagas($("#slider-range-vagas").slider("value"));
}

