/*************************************************************************************************
 * 검색 스크립트
 * 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"){
					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(37.4975836976,127.0311122137, 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("10000");
	$("input[name='month_deposit_start']").val("0");
	$("input[name='month_deposit_end']").val("5000");
	$("input[name='month_start']").val("0");
	$("input[name='month_end']").val("100");
	$("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, 10000]);
	$("#month_deposit_label").html("0"+price_unit+" - 제한없음");
	$("#month_deposit_range").val([0, 5000]);
	$("#month_label").html("0"+price_unit+" - 제한없음");
	$("#month_range").val([0, 100]);

	$('#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, #lng").val("");
	
			$('#zoom').val('8');
	
	$("#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(4);
			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(4);
		send_form();
	});
}


function init_price(){
	search_form.find(".price_range").hide();
	$("#lease_price").hide();

	var installation = "1";

	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 = "㎡"+"("+Math.floor(parseFloat($("#"+$(this).attr("data-type")+"_end").val() / 3.305785))+"평)";
					}

		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 = "㎡"+"("+Math.floor(parseFloat($("#"+$(this).attr("data-type")+"_end").val() / 3.305785))+"평)";
							}
			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 = "㎡"+"("+Math.floor(parseFloat($("#"+$(this).attr("data-type")+"_end").val() / 3.305785))+"평)";
							}
			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 = "㎡"+"("+Math.floor(parseFloat($("#"+$(this).attr("data-type")+"_end").val() / 3.305785))+"평)";
									}
				
				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(4);

	$("#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(4);

	$("#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();
	}

}