   // AJAX 部分應改由 file system 方式
   function loadStatesHTMLOptions(val, default_state_id, default_city_id, default_division_id) {

    $("#state_id").html('<option value="-1">--- 請選擇 ---</option>');
	$("#city_id").html('<option value="-1">--- 請選擇 ---</option>');
	$("#division_id").html('<option value="-1">--- 請選擇---</option>');

	if(is_null(val)) return;
    if(is_null(default_state_id)) default_state_id = "";

    var url = APP_NAME + "state/region/" + val + "/json";
    var result = "";

    $.getJSON(url,
      	function(data){
  			$.each(data, function(i, item) {
  				if(default_state_id == item.id) {
  					$("#state_id").append("<option value='"+item.id+"' selected='selected'>"+item.name+"</option>");
  				} else {
  				    $("#state_id").append("<option value='"+item.id+"'>"+item.name+"</option>");
  			    }
  		   });

 	 	   loadCitiesHTMLOptions($("#state_id").val(), default_city_id, default_division_id);
    	});

  }

  // TODO: [ 重構 ] 與 loadCitiesHTMLOptions 整合
  function loadExpertCitiesHTMLOptions(val, default_city_id, default_division_id) {

	$("#expert_city_id").html('<option value="-1">選擇縣市</option>');
	$("#expert_division_id").html('<option value="-1">選擇區域</option>');

	if(is_null(val)) return;
    if(is_null(default_city_id)) default_city_id = "";

    var url = APP_NAME + "city/state/" + val + "/json";
    var result = "";

    $.getJSON(url,
      function(data){
        $.each(data, function(i, item) {
		  if(default_city_id == item.id){
		    $("#expert_city_id").append("<option value='"+item.id+"' selected='selected'>"+item.name+"</option>");
		  }else{
		    $("#expert_city_id").append("<option value='"+item.id+"'>"+item.name+"</option>");
		  }
	   });

	   loadExpertDivisionsHTMLOptions($("#expert_city_id").val(), default_division_id);
    });
  }

  function loadExpertDivisionsHTMLOptions(val, default_division_id) {
    if(is_null(val)) return;
    if(is_null(default_division_id)) default_division_id = "";

    var url = APP_NAME + "division/city/" + val + "/json";
    var result = "";

    $.getJSON(url,
      function(data){
  		$.each(data, function(i, item) {
  			if(default_division_id == item.id){
    			$("#expert_division_id").append("<option value='"+item.id+"' selected='selected'>"+item.name+"</option>");
  			} else {
  				$("#expert_division_id").append("<option value='"+item.id+"'>"+item.name+"</option>");
  			}
		});
    });
  }

  function loadTeamDivisionsHTMLOptions(val, default_division_id) {
	    if(is_null(val)) return;
	    if(is_null(default_division_id)) default_division_id = "";

	    var url = APP_NAME + "division/city/" + val + "/json";
	    var result = "";

	    $.getJSON(url,
	      function(data){
	  		$.each(data, function(i, item) {
	  			if(default_division_id == item.id){
	    			$("#t_division_id").append("<option value='"+item.id+"' selected='selected'>"+item.name+"</option>");
	  			} else {
	  				$("#t_division_id").append("<option value='"+item.id+"'>"+item.name+"</option>");
	  			}
			});
	    });
  }

  function loadCitiesHTMLOptions(val, default_city_id, default_division_id) {
	$("#city_id").html('<option value="-1">--- 請選擇 ---</option>');
	$("#division_id").html('<option value="-1">--- 請選擇 ---</option>');

	if(is_null(val)) return;
    if(is_null(default_city_id)) default_city_id = "";

    var url = APP_NAME + "city/state/" + val + "/json";
    var result = "";

    $.getJSON(url,
      function(data){
        $.each(data, function(i, item) {
		  if(default_city_id == item.id){
		    $("#city_id").append("<option value='"+item.id+"' selected='selected'>"+item.name+"</option>");
		  }else{
		    $("#city_id").append("<option value='"+item.id+"'>"+item.name+"</option>");
		  }
	   });
	   loadDivisionsHTMLOptions($("#city_id").val(), default_division_id);
    });
  }

  function loadDivisionsHTMLOptions(val, default_division_id) {
	$("#division_id").html('<option value="-1">--- 請選擇 ---</option>');

    if(is_null(val)) return;
    if(is_null(default_division_id)) default_division_id = "";


    var url = APP_NAME + "division/city/" + val + "/json";
    var result = "";

    $.getJSON(url,
      function(data){
  		$.each(data, function(i, item) {
  			if(default_division_id == item.id){
    			$("#division_id").append("<option value='"+item.id+"' selected='selected'>"+item.name+"</option>");
  			} else {
  				$("#division_id").append("<option value='"+item.id+"'>"+item.name+"</option>");
  			}
		});
    });

  }

  function loadRealtyTypeOptions(val) {
	$("#realty_type_id").html('');

	if(is_null(val)) return;

    var url = APP_NAME + "realty_type/realty_cat/" + val + "/json";
    var result = "";

    $.getJSON(url,
      function(data){
	    $.each(data, function(i, item) {
		  $("#realty_type_id").append("<option value='"+item.id+"'>"+item.name+"</option>");
	    });
    });
  }

  // html options with null ----
  function loadStatesHTMLOptionsNull(val, default_state_id, default_city_id, default_division_id) {

    $("#state_id").html('<option value="">不限</option>');
	$("#city_id").html('<option value="">不限</option>');
	$("#division_id").html('<option value="">不限</option>');

	if(is_null(val)) return;
    if(is_null(default_state_id)) default_state_id = "";

    var url = APP_NAME + "state/region/" + val + "/json";
    var result = "";

    $.getJSON(url,
      	function(data){
  			$.each(data, function(i, item) {
  				if(default_state_id == item.id) {
  					$("#state_id").append("<option value='"+item.id+"' selected='selected'>"+item.name+"</option>");
  				} else {
  				    $("#state_id").append("<option value='"+item.id+"'>"+item.name+"</option>");
  			    }
  		   });

 	 	   loadCitiesHTMLOptions($("#state_id").val(), default_city_id, default_division_id);
    	});
  }

  function loadCitiesHTMLOptionsNull(val, default_city_id, default_division_id) {
	$("#city_id").html('<option value="">不限</option>');
	$("#division_id").html('<option value="">不限</option>');

	if(is_null(val)) return;
    if(is_null(default_city_id)) default_city_id = "";

    var url = APP_NAME + "city/state/" + val + "/json";
    var result = "";

    $.getJSON(url,
      function(data){
        $.each(data, function(i, item) {
		  if(default_city_id == item.id){
		    $("#city_id").append("<option value='"+item.id+"' selected='selected'>"+item.name+"</option>");
		  }else{
		    $("#city_id").append("<option value='"+item.id+"'>"+item.name+"</option>");
		  }
	   });

	   loadDivisionsHTMLOptions($("#city_id").val(), default_division_id);
    });

  }

  function loadDivisionsHTMLOptionsNull(val, default_division_id) {
	$("#division_id").html('<option value="">不限</option>');

    if(is_null(val)) return;
    if(is_null(default_division_id)) default_division_id = "";


    var url = APP_NAME + "division/city/" + val + "/json";
    var result = "";

    $.getJSON(url,
      function(data){
  		$.each(data, function(i, item) {
  			if(default_division_id == item.id){
    			$("#division_id").append("<option value='"+item.id+"' selected='selected'>"+item.name+"</option>");
  			} else {
  				$("#division_id").append("<option value='"+item.id+"'>"+item.name+"</option>");
  			}
		});
    });

  }

  function loadRealtyTypeOptionsNull(val) {
	$("#realty_type_id").html('<option value="">分類</option>');

	loadRealtyTypeOptions(val, "realty_type_id");
  }

  function loadRealtyTypeOptions(val, selector_id) {
	if(is_null(val)) return;
	if(is_null(selector_id)) selector_id = "realty_type_id";

    var url = APP_NAME + "realty_type/realty_cat/" + val + "/json";
    var result = "";

	$("#"+selector_id).html("");

    $.getJSON(url,
      function(data){
	    $.each(data, function(i, item) {
		  $("#"+selector_id).append("<option value='"+item.id+"'>"+item.name+"</option>");
	    });
    });
  }
  // end - with null options

  function removeActionMessage() {
  	$("#FlashNoticeContainer").html("");
  }

  function showActionMessage(message, message_type) {

	if(typeof message_type == "undefined") message_type = "success";

	if (message.indexOf("<p>") > 1) {
		var m = "<div class='message " + message_type + "'>" + message + "</div>";
	} else {
		var m = "<div class='message " + message_type + "'><p>" + message + "</p></div>";
	}

	if(document.getElementById("FlashNotice")) {	// already has message
		$("#FlashNoticeContent table tr td").append(m);
	} else {
		var t = "<div id='FlashNotice' align='center'><div class='clear'/><div id='FlashNoticeContent'><table><tr><td>"
				+ m
				+ "</td></tr></table></div></div>";

	   $("#FlashNoticeContainer").html(t);
	}
  }

function show_tab(obj) {

    var tab_id = obj.id;
	var content_id = $("#"+tab_id).attr("content_id");

	$("#"+tab_id).parents("ul").children("li").each(function(){

		$(this).removeClass('select').addClass("clean_tab1");

		$(this).find("div > a").each(function(){
			var content_id = $(this).attr("content_id");
			$("#"+content_id).hide();
		});
	});

	$("#"+tab_id).parents("li:first").addClass('select');
	$("#"+tab_id).parents("li:first").prev().find("div:nth-child(3)").removeClass("btn_r").addClass("btn_r_n");
	$("#"+tab_id).parents("li:first").prev().prev().find("div:nth-child(3)").removeClass("btn_r_n").addClass("btn_r");
	$("#"+tab_id).parents("li:first").find("div:nth-child(3)").removeClass("btn_r_n").addClass("btn_r");

	// 讀取 url
	var content_url = $("#"+tab_id).attr("content_url");
	if(content_url != "") {
		if($("#"+content_id).html() == "") {
			$("#"+content_id).html("<img src='/public/images/indicator.gif'>");

			$.get(content_url, { t: new Date().getTime() }, function(data){
				$("#"+content_id).html(data);
			});
		}
	}

	$("#"+content_id).show();
}

/**
 * 不動產搜尋關鍵字自動完成
 */
function search_realty_autocomplete() {
	var	formo = document.getElementById('search_realty_form');

	$(formo['keyword']).autocomplete(APP_NAME + "index.php?c=search_realty&m=autocomplete&t="+new Date().getTime(), {
		matchContains: true,
		max: 10,
		highlightItem: true
	});

	$(formo['keyword']).result(function(event, data, formatted) {
		$(this).val(data[0]);
	});
}
