/*************************************************************************************************
* 검색 스크립트
* category_sub_change : 매물종류에서 서브종류가 변경되었을 때 동작
* search_reset : 검색 초기화(클릭시 선택된 검색 조건이 모두 초기화된다.)
* end_price_trim : 클릭으로 가격검색을 할 때 최대값은 선택된 최소값보다 큰 선택사항만 남도록 한다.
* send_form : 검색을 실행한다. (만약 중복으로 요청이 왔을 때 처리절차도 포함되어 있다.)
* theme_display : 테마검색 토글기능
* set_theme : 테마검색시 테마선택되면 검색 실행하도록 한다. (근데 쓰이는 곳이?)
* subway_line_display : 호선별 검색 토글
* set_type : 매물유형 선택시 실행(근데 쓰이는 곳이?)
* search_tab_reset : 검색 방식을 변경할 대 초기화하는 함수
* get_sido : 시도가져오기
* get_gugun : 구군가져오기
* get_dong : 동가져오기
* get_address : 주소아이디로 가져오기
* left_loading : 좌측 로딩 보여주기
* get_subway_local : 지하철 지역 가져오기
* get_hosun : 지하철 호선 가져오기
* get_station : 지하철 역 가져오기
* get_subway : 지하철 아이디로 가져오기
* init_price : 가격 슬라이드 초기화하기
* init_search : 검색 초기화하기(처음에)
* contains : 배열에 값이 있는지 체크하는 함수
* numberWithCommas : 숫자에 콤마 붙여주기
* get_gugun_modal : 구군가져오기(modal)
* get_dong_modal : 동가져오기(modal)
* area_search : 해당 지역으로 좌표이동(modal)
* get_hosun_modal : 지하철 호선 가져오기(modal)
* get_station_modal : 지하철 역 가져오기(modal)
* subway_search : 해당 지하철역으로 좌표이동(modal)
* region_select : 사전지역으로 검색하기
* not_submit : 유저페이지 매물관리에서 ajax로 submit을 시키지 않기 위함
* trigger : 유저페이지 매물관리에서 강제로 trigger 시키기 위함
*************************************************************************************************/
var sell_unit = "<font style='font-size:11px;font-family:\"돋움\",dotum'>억원</font>";
var price_unit = "<font style='font-size:11px;font-family:\"돋움\",dotum'>만원</font>";
var address_type="front"; /** 공개매물 등록된 주소 가져오도록 **/
var search_form ;
var not_submit = false;
var trigger = false;
$(document).ready(function() {
$(window).bind("pageshow", function() {
//update hidden input field
$("#search").val("");
});
search_form = $("#search_form");
$('button').tooltip(); /* 버튼 툴팁 보여주기 */
$.support.cors = true; /* ie9 등에서 한글도메인일 경우에 넣어줘야만 ajaxform이 동작한다. */
/** 매매유형을 클릭할 때마다 바꿔주는 코드 (사용안되는거같아서 지움) **/
/*
$(".btn-group > .btn").click(function(){
$(".btn-group > .btn").removeClass("active");
$(this).addClass("active");
});
*/
/** 주소 검색 초기화 **/
get_sido("search_form",address_type);
/** 지하철 검색 초기화 **/
get_subway_local("search_form");
/** 검색 탭 처리 **/
$("ul.nav-search li").click(function(e){
search_tab_reset();
if (!$(this).hasClass("active")) {
var tabNum = $(this).index();
var nthChild = tabNum+1;
$("ul.nav-search li.active").removeClass("active");
$(this).addClass("active");
$("ul#tab li.active").removeClass("active");
$("ul#tab li:nth-child("+nthChild+")").addClass("active");
};
});
if($("#search").length > 0){
$("#search").autocomplete({
//자동완성 첫줄 자동선택 옵션 추가 : 사용시 0, 미사용시 1
selectFirst: true,
autoFill: false,
autoFocus: true,
focus: function(event,ui){
return false;
},
delay: 0,
scrollHeight:40,
minLength:2,
select: function(a,b){
$("#search_type").val(b.item.type);
$("#search_value").val(b.item.id);
$("#lat").val(b.item.lat);
$("#lng").val(b.item.lng);
//페이징 초기화
if($("#next_page").length > 0) $("#next_page").val("0");
//send_form();
$("#search_form").trigger("submit");
//지도에서는 통합검색을 완료 하고 나면 선택이 안되는 문제가 있다.
//지도에서는 지도가 움직이는 속도가 있으므로 1초 딜레이를 준 뒤 클릭시킨다
if("1"=="1"){
if(b.item.type=="address"){
setTimeout(function () {
$("#round"+b.item.id).trigger("click");
}, 1000);
}
else if(b.item.type=="subway"){
setTimeout(function () {
$("#subway_round"+b.item.id).trigger("click");
}, 1000);
}
}
a.stopPropagation();
return false;
},
source: function(request, response){
totalSearch(36.9019860351039,126.631802026614, response);
},
}).data("ui-autocomplete")._renderItem = autoCompleteRenderSearch;
}
$("#search").keypress(function(event){
if(event.which==13){
if($("#next_page").length > 0) $("#next_page").val("0");
$("#keyword_front").val($("#search").val());
if($("#keyword_front").val()){
$("#search_type").val("");
$("#search_value").val("");
$("#lat").val("");
$("#lng").val("");
$("#zoom").val("");
}
}
});
$("#go_keyword").click(function(e){
if($("#next_page").length > 0) $("#next_page").val("0");
$("#keyword_front").val($("#search").val());
if($("#keyword_front").val()){
$("#search_type").val("");
$("#search_value").val("");
$("#lat").val("");
$("#lng").val("");
$("#zoom").val("");
}
});
$("#search_form").on("submit", function(e) {
if($.isNumeric($("#search").val())){
$.ajax({
url: "/product/product_check/"+$("#search").val(),
dataType: "json",
success: function(data) {
if(data){
$("#keyword_front").val("");
location.href="/product/view/"+$("#search").val();
}
else{
msg("error" ,"매물 번호 자료가 없습니다.");
}
}
});
return false;
}
});
/* 클릭으로 가격검색 하는 기능 추가 */
var search_priceLabelObj;
search_form.find(".price-label").focus(function (event) {
end_price_trim();
search_priceLabelObj=$(this);
search_form.find(".price-range").addClass("hide");
search_form.find("#"+$(this).data("dropdownId")).removeClass("hide");
});
/* 가격선택하면 창이 닫혀버리는 것을 막는다. */
search_form.find(".band-wrapper .dropdown-menu").click(function (event) {
event.stopPropagation();
});
search_form.find(".right_search_wrap .dropdown-menu").click(function (event) {
event.stopPropagation();
});
search_form.find(".button-section .dropdown-menu").click(function (event) {
event.stopPropagation();
});
//버튼 클릭하면 버튼과 함께 있는 첫 번째 값에 포커스가 가도록 한다.
var btn;
search_form.find(".btn-price").click(function(event){
btn = $(this);
setTimeout(function(){ btn.parent().find(".price-label").first().focus();},0);
});
search_form.find(".price-range li").click(function(event){
search_priceLabelObj.val($(this).attr("data-value")); //focus되어 있는 곳에 선택된 값을 입력해 준다.
var curElmIndex=search_form.find( ".price-label" ).index( search_priceLabelObj );
end_price_trim();
if(curElmIndex % 2 == 0){
search_form.find(".price-range li").removeClass("hide");
search_form.find( ".price-label" ).eq(curElmIndex+1).focus();
}else{
btn.dropdown('toggle'); //최근 눌렸던 버튼을 토글한다.
if($(this).attr("notsubmit")==undefined){
send_form();
}
}
});
search_form.find('.price-label').keypress(function(event){
if(event.which==13){
btn.dropdown('toggle'); //최근 눌렸던 버튼을 토글한다.
//search_form.find('.price_select').removeClass('open');
if($(this).attr("notsubmit")==undefined){
send_form();
}
}
});
});
/**
* 매물 종류에서 서브 종류가 변경되었을 때 동작
*/
var category_sub_change = function(){
$("input[name='category[]']").on('ifChanged', function(){
if($(this).prop("checked")){
$(".category_sub_"+$(this).val()).slideDown("slow");
}
else{
$(".category_sub_"+$(this).val()).attr("checked",false);
$(".category_sub_"+$(this).val()).iCheck('uncheck');
$(".category_sub_"+$(this).val()).iCheck('update');
$(".category_sub_"+$(this).val()).slideUp("slow");
}
});
$("input[name='category[]']").each(function(){
if($(this).prop("checked")){
$(".category_sub_"+$(this).val()).show();
}
else{
$(".category_sub_"+$(this).val()).attr("checked",false);
$(".category_sub_"+$(this).val()).iCheck('uncheck');
$(".category_sub_"+$(this).val()).iCheck('update');
}
});
}
/**
* 검색 결과로 가져온 결과를 보여주기위한 함수. 2016년 5월 6일
* 주소와 지하철
*/
function autoCompleteRenderSearch(ul, item) {
if(item.type=="address"){
return $("<li class='search_rows'></li>").data("item.autocomplete", item).append(item.title).appendTo(ul);
} else {
return $("<li class='search_rows'></li>").data("item.autocomplete", item).append(item.title+'('+item.hosun+'호선)').appendTo(ul);
}
}
/**
* 검색 결과를 반환
*/
function totalSearch(lat,lng, response){
//숫자일 경우에는 매물검색으로 인식해서 해당 매물번호로 이동되므로 아무 것도 하지 않는다.
if($.isNumeric($("#search").val())){
return false;
} else {
$.ajax({
url: "/search/total/"+lat+"/"+lng,
type: "POST",
data: {
search: $("#search").val()
},
dataType: "json",
success: function(data) {
if(data!=""){
response( $.map( data, function( item ) {
return {
id: item.id,
title: item.title,
type: item.type,
hosun: item.hosun,
lat: item.lat,
lng: item.lng
};
}));
}
}
});
}
}
/**
* 검색을 하다가 초기화를 누르면 모든 검색 내용이 초기화된다.
*/
function search_reset(){
right_close();
loading_delay(true);
$("#search_form").find("select").not(".sorting_select").each(function() {
$(this).val("");
});
$("#search_form").find("input").each(function() {
$(this).prop("selected",false);
$(this).prop("checked",false);
});
$("input[name='category[]']").each(function(){
$(this).prop("checked",false);
});
$("input[name='sell_start']").val("0");
$("input[name='sell_end']").val("10");
$("input[name='lease_start']").val("0");
$("input[name='lease_end']").val("10");
$("input[name='full_start']").val("0");
$("input[name='full_end']").val("20000");
$("input[name='month_deposit_start']").val("0");
$("input[name='month_deposit_end']").val("1000");
$("input[name='month_start']").val("0");
$("input[name='month_end']").val("150");
$("input[name='premium_start']").val("0");
$("input[name='premium_end']").val("10000");
$("input[name='real_area_start']").val("0");
$("input[name='real_area_end']").val("10000");
$("input[name='law_area_start']").val("0");
$("input[name='law_area_end']").val("10000");
$("input[name='land_area_start']").val("0");
$("input[name='land_area_end']").val("10000");
$("input[name='bld_area_start']").val("0");
$("input[name='bld_area_end']").val("10000");
$("#sell_label").html("0"+sell_unit+" - 제한없음");
$("#sell_range").val([0, 10]);
$("#lease_label").html("0"+sell_unit+" - 제한없음");
$("#lease_range").val([0, 10]);
$("#full_label").html("0"+price_unit+" - 제한없음");
$("#full_range").val([0, 20000]);
$("#month_deposit_label").html("0"+price_unit+" - 제한없음");
$("#month_deposit_range").val([0, 1000]);
$("#month_label").html("0"+price_unit+" - 제한없음");
$("#month_range").val([0, 150]);
$('#bun_min').html("0");
$('#bun_max').html("0");
$('#meme_min').html("0");
$('#meme_max').html("0");
$('#lease_min').html("0");
$('#lease_max').html("0");
$('#junse_min').html("0");
$('#junse_max').html("0");
$('#walse1_min').html("0");
$('#walse1_max').html("0");
$('#walse2_min').html("0");
$('#walse2_max').html("0");
$('#realarea_min').html("0");
$('#realarea_max').html("0");
$('#lawarea_min').html("0");
$('#lawarea_max').html("0");
$('#landarea_min').html("0");
$('#landarea_max').html("0");
$("#bedcnt").val("");
$("#bathcnt").val("");
if($("#search_ground_use").length > 0){
$("#ground_use").html("");
$("#search_ground_use").next().find("li").each(function(){
$(this).removeClass("active");
});
}
if($("#search_ground_aim").length > 0){
$("#ground_aim").html("");
$("#search_ground_use").next().find("li").each(function(){
$(this).removeClass("active");
});
}
$("#recommend").val("");
$("#real_area_label").html("0㎡(0평) - 제한없음");
$("#real_area_range").val([0, 10000]);
$("#law_area_label").html("0㎡(0평) - 제한없음");
$("#law_area_range").val([0, 10000]);
$("#land_area_label").html("0㎡(0평) - 제한없음");
$("#land_area_range").val([0, 10000]);
$("#bld_area_label").html("0㎡(0평) - 제한없음");
$("#bld_area_range").val([0, 10000]);
$(".type_label").removeClass("active");
$(".type_label").eq(0).addClass("active");
$("#search_type, #search_value, #search, #keyword_front").val("");
$('#lat').val('36.893797334783436');
$('#lng').val('126.63486147263836');
$('#zoom').val('5');
$("#sido_val, #gugun_val, #dong_val, #danzi_val").val("");
$("#subway_local_val, #hosun_val, #station_val").val("");
$("#address_id").val("");
$('input').iCheck('uncheck');
$('input').iCheck('update');
calling = 1;
init_price();
init_area();
setTimeout(function () {
loading_delay(false);
calling = 0;
}, 400);
$("#reset").val(1);
send_form();
$("#reset").val(0);
init_position();
}
/**
* 새로운 가격검색(클릭으로 검색)에서 최소값을 선택하였을 때 최대값은 최소값보다 큰 값들을 선택하기 위한 함수
*/
function end_price_trim(){
if(search_form.find("input[name='sell_start']").val()!=""){
search_form.find("#sell-price-max li").each(function(){
if(eval(search_form.find("input[name='sell_start']").val()) >= eval($(this).attr("data-value"))){
$(this).addClass("hide");
}
});
}
if(search_form.find("input[name='lease_start']").val()!=""){
search_form.find("#lease-price-max li").each(function(){
if(eval(search_form.find("input[name='lease_start']").val()) >= eval($(this).attr("data-value"))){
$(this).addClass("hide");
}
});
}
if(search_form.find("input[name='full_start']").val()!=""){
search_form.find("#fullrent-price-max li").each(function(){
if(eval(search_form.find("input[name='full_start']").val()) >= eval($(this).attr("data-value"))){
$(this).addClass("hide");
}
});
}
if(search_form.find("input[name='month_deposit_start']").val()!=""){
search_form.find("#month_deposit-price-max li").each(function(){
if(eval(search_form.find("input[name='month_deposit_start']").val()) >= eval($(this).attr("data-value"))){
$(this).addClass("hide");
}
});
}
if(search_form.find("input[name='month_start']").val()!=""){
search_form.find("#month-price-max li").each(function(){
if(eval(search_form.find("input[name='month_start']").val()) >= eval($(this).attr("data-value"))){
$(this).hide();
}
});
}
if(search_form.find("input[name='premium_start']").val()!=""){
search_form.find("#premium-price-max li").each(function(){
if(eval(search_form.find("input[name='premium_start']").val()) >= eval($(this).attr("data-value"))){
$(this).hide();
}
});
}
if(search_form.find("input[name='real_area_start']").val()!=""){
search_form.find("#realarea-price-max li").each(function(){
if(eval(search_form.find("input[name='real_area_start']").val()) >= eval($(this).attr("data-value"))){
$(this).hide();
} else {
$(this).show();
}
$('#realarea-price-max').children(':last').show();
});
}
if(search_form.find("input[name='law_area_start']").val()!=""){
search_form.find("#lawarea-price-max li").each(function(){
if(eval(search_form.find("input[name='law_area_start']").val()) >= eval($(this).attr("data-value"))){
$(this).hide();
} else {
$(this).show();
}
$('#lawarea-price-max').children(':last').show();
});
}
if(search_form.find("input[name='land_area_start']").val()!=""){
search_form.find("#landarea-price-max li").each(function(){
if(eval(search_form.find("input[name='land_area_start']").val()) >= eval($(this).attr("data-value"))){
$(this).hide();
} else {
$(this).show();
}
$('#landarea-price-max').children(':last').show();
});
}
}
var send_form_flag=0;
function send_form(){
if(trigger){
$("#search_form").trigger("submit");
} else {
if(!not_submit && send_form_flag==0){
send_form_flag=1;
setTimeout(function () {
$("#next_page").val("0"); /*** 검색 조건이 바뀌면 다시 페이지가 0이 되면서 시작되어야 한다. more가 되면 submit이 아닌 success 된 이후에 ajax만 동작하면 된다. ***/
$("#search_form").trigger("submit");
send_form_flag=0;
}, 100);
}
}
}
function theme_display(){
var theme_show = function(){
$("#theme_fa").removeClass("fa-chevron-down").addClass("fa-chevron-up");
$(".theme_li").slideDown("slow");
}
var theme_hide = function(){
$("#theme_fa").removeClass("fa-chevron-up").addClass("fa-chevron-down");
$(".theme_li").slideUp("slow");
}
if($(".theme_li").css("display") != "none") theme_hide();
else theme_show();
}
function bed_display(){
var bed_show = function(){
$("#bed_fa").removeClass("fa-chevron-down").addClass("fa-chevron-up");
$(".bed_li").slideDown("slow");
}
var bed_hide = function(){
$("#bed_fa").removeClass("fa-chevron-up").addClass("fa-chevron-down");
$(".bed_li").slideUp("slow");
}
if($(".bed_li").css("display") != "none") bed_hide();
else bed_show();
}
function bath_display(){
var bath_show = function(){
$("#bath_fa").removeClass("fa-chevron-down").addClass("fa-chevron-up");
$(".bath_li").slideDown("slow");
}
var bath_hide = function(){
$("#bath_fa").removeClass("fa-chevron-up").addClass("fa-chevron-down");
$(".bath_li").slideUp("slow");
}
if($(".bath_li").css("display") != "none") bath_hide();
else bath_show();
}
function set_theme(id){
$("#theme").val(id);
send_form();
}
/**
* 지하철 호선별 검색영억 토글
*/
function subway_line_display(){
var subway_line_show = function(){
$("#subway_line_fa").removeClass("fa-chevron-down").addClass("fa-chevron-up");
$(".subway_line_li").slideDown("slow");
}
var subway_line_hide = function(){
$("#subway_line_fa").removeClass("fa-chevron-up").addClass("fa-chevron-down");
$(".subway_line_li").slideUp("slow");
}
if($(".subway_line_li").css("display") != "none") subway_line_hide();
else subway_line_show();
}
/**
* 검색시 매물 유형을 선택하는 기능이다.
* 하나를 선택하면 모두 동일한 값으로 세팅한다.
*/
function set_type(val){
$(".type").val(val);
$("#type").val(val);
}
/**
* 검색 방식을 변경할 때 값을 초기화하는 함수
*/
function search_tab_reset(){
$("#type1, #type2, #type3").val($("#type").val());
$("#sido, #gugun, #subway_local, #hosun, #station, #search").val("");
$("#gugun").html('<option value="">-</option>');
$("#dong").html('<option value="">-</option>');
$("#hosun").html('<option value="">-</option>');
$("#station").html('<option value="">-</option>');
}
function get_sido(form,type){
$.getJSON("/address/get_sido/"+type+"/"+Math.round(new Date().getTime()),function(data){
var str = "<option value=''>시도 선택</option>";
var selected = false;
$.each(data, function(key, val) {
var sido_label;
if(typeof val["sido_label"] !== 'undefined') {
sido_label = val["sido_label"];
} else {
sido_label = val["sido"];
}
if( $("#sido_val").val()==val["sido"] ){
str = str + "<option value='"+val["sido"]+"' selected>"+sido_label+"</option>";
selected = true;
} else {
str = str + "<option value='"+val["sido"]+"'>"+sido_label+"</option>";
}
});
$("#"+form).find("#sido").html(str);
/** 값이 있으면 change event와는 별개로 get_gugun을 호출해 준다. **/
if(selected) get_gugun(form, type, $("#sido").val());
$("#"+form).find("#sido").change(function(){
$.getJSON("/address/get_sido_one/"+encodeURI(this.value)+"/"+Math.round(new Date().getTime()),function(data){
$("#"+form).find("#search_type").val("sido_address");
$("#"+form).find("#search_value").val(data["sido"]);
$("#"+form).find("#lat").val(data["lat"]);
$("#"+form).find("#lng").val(data["lng"]);
$("#"+form).find("#sido_val").val(data["sido"]);
});
if($("#sido_submit").length > 0){
if($("#sido_submit").val()){
send_form();
}
}
get_gugun(form, type, this.value);
});
});
}
function get_gugun(form,type,sido){
$.getJSON("/address/get_gugun/"+type+"/"+encodeURI(sido)+"/",function(data){
var str = "<option value=''>구군 선택</option>";
var selected = false;
$.each(data, function(key, val) {
var gugun_label;
if(typeof val["gugun_label"] !== 'undefined') {
gugun_label = val["gugun_label"];
} else {
gugun_label = val["gugun"];
}
if( $("#gugun_val").val()==val["parent_id"] ){
str = str + "<option value='"+val["parent_id"]+"' selected>"+gugun_label+"</option>";
selected = true;
} else {
str = str + "<option value='"+val["parent_id"]+"'>"+gugun_label+"</option>";
}
});
$("#"+form).find("#gugun").html(str);
if(selected){
/*관리자에서 구군 초기화 되지 않기 위하여 추가했다.*/
$.getJSON("/address/get_parent/"+$("#"+form).find("#gugun").val()+"/"+Math.round(new Date().getTime()),function(data){
$("#"+form).find("#search_type").val("parent_address");
$("#"+form).find("#search_value").val(data["id"]);
$("#"+form).find("#lat").val(data["lat"]);
$("#"+form).find("#lng").val(data["lng"]);
});
get_dong(form, type, $("#gugun").val()); /** 초기값만 세팅하는 것이기 때문에 이것만 호출해 주면 된다. **/
}
$("#"+form).find("#gugun").change(function(){
$.getJSON("/address/get_parent/"+this.value+"/"+Math.round(new Date().getTime()),function(data){
$("#"+form).find("#search_type").val("parent_address");
$("#"+form).find("#search_value").val(data["id"]);
$("#"+form).find("#lat").val(data["lat"]);
$("#"+form).find("#lng").val(data["lng"]);
if($("#gugun_submit").length > 0){
if($("#gugun_submit").val()){
if($("#next_page").length > 0) $("#next_page").val("0");
}
}
});
get_dong(form, type, this.value);
});
//refresh_lang();
});
}
function get_dong(form,type,parent_id){
if(type=="admin") send_form();
$.getJSON("/address/get_dong/"+type+"/"+parent_id+"/"+Math.round(new Date().getTime()),function(data){
var str = "<option value=''>읍면동 선택</option>";
var selected = false;
$.each(data, function(key, val) {
var dong_label;
if(typeof val["dong_label"] !== 'undefined') {
dong_label = val["dong_label"];
} else {
dong_label = val["dong"];
}
if( $("#dong_val").val()==val["id"] ){
str = str + "<option value='"+val["id"]+"' selected>"+dong_label+"</option>";
selected = true;
} else {
str = str + "<option value='"+val["id"]+"'>"+dong_label+"</option>";
}
});
$("#"+form).find("#dong").html(str);
if(selected) get_address(form, $("#dong_val").val()); /** 초기값만 세팅하는 것이기 때문에 이것만 호출해 주면 된다. **/
if(selected) get_danzi(form, type, $("#dong_val").val());
$("#"+form).find("#dong").change(function(){
$("#next_page").val("0");
get_address(form,this.value);
get_danzi(form, type, this.value);
});
//refresh_lang();
});
}
function get_danzi(form,type, id){
if(type=="admin") send_form();
$.getJSON("/danzi/get_danzi/"+id+"/"+Math.round(new Date().getTime()),function(data){
var str = "<option value='' selected>아파트단지선택</option>";
var selected = false;
if(data!=""){
$.each(data, function(key, val) {
if( $("#danzi_val").val()==val["id"] ){
str = str + "<option value='"+val["id"]+"' selected>"+val["name"]+"("+val["category"]+")</option>";
selected = true;
} else {
str = str + "<option value='"+val["id"]+"'>"+val["name"]+"("+val["category"]+")</option>";
}
});
}
else{
str = str + "<option value=''>자료가 없습니다.</option>";
}
$("#danzi").html(str);
if(selected) get_address_danzi(form, $("#danzi_val").val());
$("#"+form).find("#danzi").change(function(){
$("#next_page").val("0");
get_address_danzi(form, this.value);
});
});
}
function get_address(form,id){
if(id){
$.getJSON("/address/get/"+id+"/"+Math.round(new Date().getTime()),function(data){
$("#"+form).find("#lat").val(data["lat"]);
$("#"+form).find("#lng").val(data["lng"]);
$("#"+form).find("#search_type").val("address");
$("#"+form).find("#search_value").val(id);
$("#"+form).find("#zoom").val(3);
send_form();
});
}
}
function get_address_danzi(form,id){
if(id){
$.getJSON("/danzi/get_json/"+id+"/"+Math.round(new Date().getTime()),function(data){
$("#"+form).find("#search_type").val("danzi");
$("#"+form).find("#search_value").val(id);
send_form();
});
}
}
function left_loading(){
calling = 1;
loading_delay(true);
setTimeout(function () {
loading_delay(false);
calling = 0;
}, 400);
init_price();
init_area();
$("#next_page").val("0");
send_form();
}
function get_subway_local(form){
$.getJSON("/subway/get_local/"+Math.round(new Date().getTime()),function(data){
var str = "<option value=''>지역 선택</option>";
var selected = false;
$.each(data, function(key, val) {
if( $("#subway_local_val").val()==val["local"] ){
str = str + "<option value='"+val["local"]+"' selected>"+val["local_text"]+"</option>";
selected = true;
} else {
str = str + "<option value='"+val["local"]+"'>"+val["local_text"]+"</option>";
}
});
$("#"+form).find("#subway_local").html(str);
if(selected) get_hosun(form, $("#subway_local_val").val()); /** 초기값만 세팅하는 것이기 때문에 이것만 호출해 주면 된다. **/
$("#"+form).find("#subway_local").change(function(){
get_hosun(form, this.value);
});
});
}
function get_hosun(form,local){
$.getJSON("/subway/get_hosun/"+local+"/"+Math.round(new Date().getTime()),function(data){
var str = "<option value=''>호선 선택</option>";
var selected = false;
$.each(data, function(key, val) {
var hosun_label;
if(typeof val["hosun_label"] !== 'undefined') {
hosun_label = val["hosun_label"];
} else {
hosun_label = val["hosun"];
}
if( $("#hosun_val").val()==val["hosun_id"] ){
str = str + "<option value='"+val["hosun_id"]+"' selected>"+hosun_label+"</option>";
selected = true;
} else {
str = str + "<option value='"+val["hosun_id"]+"'>"+hosun_label+"</option>";
}
});
$("#"+form).find("#hosun").html(str);
if(selected) get_station(form, local, $("#hosun_val").val()); /** 초기값만 세팅하는 것이기 때문에 이것만 호출해 주면 된다. **/
$("#"+form).find("#hosun").change(function(){
get_station(form,local,this.value);
});
//refresh_lang();
});
}
function get_station(form,local,hosun){
$.getJSON("/subway/get_station/"+hosun+"/"+Math.round(new Date().getTime()),function(data){
var str = "<option value=''>역 선택</option>";
var selected = false;
$.each(data, function(key, val) {
var name_label;
if(typeof val["name_label"] !== 'undefined') {
name_label = val["name_label"];
} else {
name_label = val["name"];
}
if( $("#station_val").val()==val["id"] ){
str = str + "<option value='"+val["id"]+"' selected>"+name_label+"</option>";
selected = true;
} else {
str = str + "<option value='"+val["id"]+"'>"+name_label+"</option>";
}
});
$("#"+form).find("#station").html(str);
if(selected) get_subway(form, $("#station_val").val()); /** 초기값만 세팅하는 것이기 때문에 이것만 호출해 주면 된다. **/
$("#"+form).find("#station").change(function(){
$("#next_page").val("0");
get_subway(form,this.value);
});
//refresh_lang();
});
}
function get_subway(form,id){
$.getJSON("/subway/get/"+id+"/"+Math.round(new Date().getTime()),function(data){
$("#"+form).find("#lat").val(data["lat"]);
$("#"+form).find("#lng").val(data["lng"]);
$("#"+form).find("#search_type").val("subway");
$("#"+form).find("#search_value").val(id);
$("#"+form).find("#zoom").val(3);
send_form();
});
}
function init_price(){
search_form.find(".price_range").hide();
$("#lease_price").hide();
var installation = "0";
if(search_form.find("input[name='type']:checked").val()=="installation" || installation=="2"){
$(".price_title").hide();
search_form.find(".price_sell").show();
search_form.find(".price_lease").show();
search_form.find(".installation_label").show();
search_form.find(".sell_label").hide();
$(".price_label").first().text("분양가 ");
$("#lease_price").show();
} else if(search_form.find("input[name='type']:checked").val()=="sell"){
$(".price_title").hide();
search_form.find(".price_sell").show();
search_form.find(".price_lease").hide();
search_form.find(".sell_label").show();
search_form.find(".installation_label").hide();
$(".price_label").first().text("매매가");
} else if(search_form.find("input[name='type']:checked").val()=="full_rent"){
$(".price_title").hide();
search_form.find(".price_full").show();
} else if(search_form.find("input[name='type']:checked").val()=="monthly_rent"){
$(".price_title").hide();
search_form.find(".price_rent").show();
} else {
$(".price_title").show();
}
if(search_form.find("select[name='type']").val()=="installation" || installation=="2"){
$(".price_title").hide();
search_form.find(".price_sell").css('display', 'inline-block');
search_form.find(".installation_label").css('display', 'inline-block');
search_form.find(".sell_label").hide();
$(".price_label").first().text("분양가 ");
$("#lease_price").show();
} else if(search_form.find("select[name='type']").val()=="sell"){
$(".price_title").hide();
search_form.find(".price_sell").css('display', 'inline-block');
search_form.find(".sell_label").css('display', 'inline-block');
search_form.find(".installation_label").hide();
$(".price_label").first().text("매매가");
} else if(search_form.find("select[name='type']").val()=="full_rent"){
$(".price_title").hide();
search_form.find(".price_full").css('display', 'inline-block');
} else if(search_form.find("select[name='type']").val()=="monthly_rent"){
$(".price_title").hide();
search_form.find('.price_rent').css('display', 'inline-block');
}
}
function init_search(type, category, category_sub){
if(type=="") type = "";
/** 거래 유형 초기화 **/
$(".type_label").removeClass("active");
var type_obj = $("input[name='type']").filter("[value='"+type+"']");
type_obj.prop('checked', true);
type_obj.parent().addClass("active");
init_price(); //슬라이드 영역 보여주기
$(".slider").each(function(){
/*** 슬라이드 초기화 ***/
$(this).noUiSlider({
start: [ parseInt($(this).attr("data-start")), parseInt($(this).attr("data-end")) ],
range: {'min':0,'max':parseInt($(this).attr("data-max"))},
step: parseInt($(this).attr("data-step"))
}, true);
/*** 슬라이드와 가격정보 연동 ***/
$(this).Link('lower').to($("#"+$(this).attr("data-type")+"_start"),null,wNumb({decimals: 0}));
$(this).Link('upper').to($("#"+$(this).attr("data-type")+"_end"),null,wNumb({decimals: 0}));
/*** 가격 레벨 초기갑 표시 ***/
var str = ""
var unit = price_unit; /** 금액단위 **/
if($(this).attr("data-type")=="sell") unit = sell_unit;
if($(this).attr("data-type")=="real_area" || $(this).attr("data-type")=="law_area" || $(this).attr("data-type")=="land_area" || $(this).attr("data-type")=="bld_area"){
unit = "평";
}
str += numberWithCommas($("#"+$(this).attr("data-type")+"_start").val());
str += unit;
str += " - ";
if(parseInt($("#"+$(this).attr("data-type")+"_end").val()) < $(this).attr("data-max")){
str += numberWithCommas($("#"+$(this).attr("data-type")+"_end").val());
if($(this).attr("data-type")=="real_area" || $(this).attr("data-type")=="law_area" || $(this).attr("data-type")=="land_area" || $(this).attr("data-type")=="bld_area"){
unit = "평";
}
str += unit;
} else {
str += "제한없음";
}
$("#"+$(this).attr("data-type")+"_label").html(str);
});
/*** 슬라이드 수정시 행동 ***/
$(".slider").on({
slide: function(){
var str = ""
var unit = price_unit; /** 금액단위 **/
if($(this).attr("data-type")=="real_area" || $(this).attr("data-type")=="law_area" || $(this).attr("data-type")=="land_area" || $(this).attr("data-type")=="bld_area"){
unit = "평";
}
if($(this).attr("data-type")=="sell") unit = sell_unit;
if($(this).attr("data-type")=="land_area") unit = '';
str += numberWithCommas($("#"+$(this).attr("data-type")+"_start").val());
str += unit;
str += " - ";
if(parseInt($("#"+$(this).attr("data-type")+"_end").val()) < parseInt($(this).attr("data-max"))){
str += numberWithCommas($("#"+$(this).attr("data-type")+"_end").val());
if($(this).attr("data-type")=="real_area" || $(this).attr("data-type")=="law_area" || $(this).attr("data-type")=="land_area" || $(this).attr("data-type")=="bld_area"){
unit = "평";
}
str += unit;
} else {
str += "제한없음";
}
$("#"+$(this).attr("data-type")+"_label").html(str);
},
change: function(){
if( $("#search_form").attr("action") != "/search/set_search/main" ) send_form();
}
}, true);
/** 매물유형(category) 초기화 **/
var cat = category.split(",");
$("input[name='category[]']").each(function(){
if( contains(cat, $(this).val()) ) {
$(this).prop('checked',true);
}
});
if(category_sub!=null){
var cat = category_sub.split(",");
$("input[name='category_sub[]']").each(function(){
if( contains(cat, $(this).val()) ) {
$(this).prop('checked',true);
}
});
}
$(".category_checkbox").iCheck({
checkboxClass: 'icheckbox_square-red',
radioClass: 'iradio_square-red',
increaseArea: '20%' // optional
});
}
/**
* 배열에 값이 있는지 여부를 체크하는 함수
*/
function contains(a, obj) {
for (var i = 0; i < a.length; i++) {
if (a[i] === obj) {
return true;
}
}
return false;
}
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
function get_gugun_modal(obj,sido){
$("#sido_label").addClass("active");
$("#label_text").text("구군을 선택해 주세요");
$("#sido_section > ul > li > div> button").removeClass("active");
$("#gugun_label").removeClass("active");
$("#dong_label").removeClass("active");
$(obj).addClass("active");
$("#sido").val($(obj).text());
$("#dong_section > ul > li > div").html("");
var type_check = "front";
$.getJSON("/address/get_gugun/"+type_check+"/"+encodeURI(sido)+"/",function(data){
var str = "";
$.each(data, function(key, val) {
str = str + "<button type=\"button\" class=\"btn btn-default\" onclick=\"get_dong_modal(this,"+val["parent_id"]+")\" data-id=\""+val["parent_id"]+"\">"+val["gugun"]+"</button>";
});
$("#gugun_section > ul > li > div").html(str);
});
}
function get_dong_modal(obj,parent_id){
$("#gugun_label").addClass("active");
$("#label_text").text("읍면동을 선택하세요");
$("#gugun_section > ul > li > div > button").removeClass("active");
$("#dong_label").removeClass("active");
$(obj).addClass("active");
$("#gugun").val($(obj).text());
var type_check = "front";
$.getJSON("/address/get_dong/"+type_check+"/"+parent_id+"/"+Math.round(new Date().getTime()),function(data){
var str = "";
$.each(data, function(key, val) {
str = str + "<button type=\"button\" class=\"btn btn-default\" onclick=\"area_search(this,"+val["id"]+",'"+val["lat"]+"','"+val["lng"]+"','')\">"+val["dong"]+"</button>";
});
$("#dong_section > ul > li > div").html(str);
});
}
function area_search(obj,id,lat,lng){
$("#search_type").val("address");
$("#search_value").val(id);
$("#lat").val(lat);
$("#lng").val(lng);
$("#zoom").val(3);
$("#dong_label").addClass("active");
$("#dong_section > ul > li > div > button").removeClass("active");
$(obj).addClass("active");
send_form();
$("#address_modal").modal("hide");
}
function get_hosun_modal(obj,local){
$("#local_label").addClass("active");
$("#label_text").text("호선을 선택하세요");
$("#local_section > ul > li > div > button").removeClass("active");
$("#hosun_label").removeClass("active");
$(obj).addClass("active");
$("#station_section > ul > li > div").html("");
$.getJSON("/subway/get_hosun/"+local+"/"+Math.round(new Date().getTime()),function(data){
var str = "";
$.each(data, function(key, val) {
var hosun = ($.isNumeric(val["hosun"])) ? val["hosun"]+"호선" : val["hosun"];
str = str + "<button type=\"button\" class=\"btn btn-default\" onclick=\"get_station_modal(this,"+val["hosun_id"]+")\">"+hosun+"</button>";
});
$("#hosun_section > ul > li > div").html(str);
});
}
function get_station_modal(obj,hosun_id){
$("#hosun_label").addClass("active");
$("#label_text").text("역을 선택하세요");
$("#hosun_section > ul > li > div > button").removeClass("active");
$("#station_label").removeClass("active");
$(obj).addClass("active");
$.getJSON("/subway/get_station/"+hosun_id+"/"+Math.round(new Date().getTime()),function(data){
var str = "";
$.each(data, function(key, val) {
str = str + "<button type=\"button\" class=\"btn btn-default\" onclick=\"subway_search(this,"+val["id"]+",'"+val["lat"]+"','"+val["lng"]+"','"+val["local"]+"','"+val["hosun"]+"')\">"+val["name"]+"역</button>";
});
$("#station_section > ul > li > div").html(str);
});
}
function subway_search(obj,id,lat,lng,subway_local,hosun){
$("#search_type").val("subway");
$("#search_value").val(id);
$("#lat").val(lat);
$("#lng").val(lng);
$("#subway_local_val").val(subway_local);
$("#hosun_val").val(hosun);
$("#station_val").val(id);
$("#zoom").val(3);
$("#station_label").addClass("active");
$("#station_section > ul > li > div > button").removeClass("active");
$(obj).addClass("active");
send_form();
$("#subway_modal").modal("hide");
}
function region_select(id,no_move){
if(id){
$.getJSON("/region/get_json/"+id+"/"+Math.round(new Date().getTime()),function(data){
if(data["address_id"]=="0"){
$("#search_type").val("parent_address");
$("#search_value").val(data["parent_id"]);
$("#lat").val(data["gugun_lat"]);
$("#lng").val(data["gugun_lng"]);
}
else{
$("#search_type").val("address");
$("#search_value").val(data["address_id"]);
$("#lat").val(data["dong_lat"]);
$("#lng").val(data["dong_lng"]);
}
$('#current_position').html('현재 설정위치는 <span class="label label-info" style="font-size:13px;">'+data["name"]+'</span> 입니다.');
if(no_move!=1){
send_form();
}
});
}
}
/**
* 면적검색 초기화 하기
*/
function init_area_search(part){
/** 거래 유형 초기화 **/
var type_obj = $("input[name='part']").filter("[value='"+part+"']");
type_obj.prop('checked', true);
type_obj.parent().addClass("active");
init_area(); //슬라이드 영역 보여주기
$(".slider_area").each(function(){
/*** 슬라이드 초기화 ***/
$(this).noUiSlider({
start: [ parseInt($(this).attr("data-start")), parseInt($(this).attr("data-end")) ],
range: {'min':0,'max':parseInt($(this).attr("data-max"))},
step: parseInt($(this).attr("data-step"))
}, true);
/*** 슬라이드와 가격정보 연동 ***/
$(this).Link('lower').to($("#"+$(this).attr("data-type")+"_start"),null,wNumb({decimals: 0}));
$(this).Link('upper').to($("#"+$(this).attr("data-type")+"_end"),null,wNumb({decimals: 0}));
});
}
function init_area(){
/*거래범위가 변경 될 경우 전체(건물전체)에서만 보이는 ㎡은 초기화 한다*/
$("input[name='land_area_start']").val("0");
$("input[name='land_area_end']").val("10000");
$("input[name='bld_area_start']").val("0");
$("input[name='bld_area_end']").val("10000");
$("#land_area_label").html("0㎡(0평) - 제한없음");
$("#land_area_range").val([0, 10000]);
$("#bld_area_label").html("0㎡(0평) - 제한없음");
$("#bld_area_range").val([0, 10000]);
search_form.find(".area_range").hide();
if(search_form.find("input[name='part']:checked").val()=="Y"){
$(".area_title").hide();
search_form.find(".area_part_Y").show();
} else if(search_form.find("input[name='part']:checked").val()=="N"){
$(".area_title").hide();
search_form.find(".area_part_N").show();
search_form.find(".area_part_Y").show();
} else {
$(".area_title").fadeIn();
}
/*가격 검색 한줄로 변경 되면서 추가함*/
search_form.find(".area_range").hide();
if(search_form.find("select[name='part']").val()=="Y"){
$(".area_title").hide();
search_form.find(".area_part_Y").show();
} else if(search_form.find("select[name='part']").val()=="N"){
$(".area_title").hide();
search_form.find(".area_part_N").show();
search_form.find(".area_part_Y").show();
} else {
$(".area_title").fadeIn();
}
}