  var clearOptions = function(select){
  	if(select == null) return;
    var listcnt = select.length;
    for(var i = listcnt - 1; i >= 0; i--){
      select.options[i] = null;
    }
  };

  var searchSpot = function(areaId){
    function areaAjax_searchSpot(res){
      var select = $i('spot');
      clearOptions(select);
      var i = 0;      
      res.map(function(v){
        select.options[i] = new Option(v.label,v.value);
        i++;
      });
    };
    
	 Kumu.Ajax.executeTeedaAjax(areaAjax_searchSpot, {'areaId' : areaId});
  };
  
  var searchRoute = function(areaId){
    function areaAjax_searchRoute(res){
      var select = $i('route');
      clearOptions(select);
      var i = 0;      
      res.map(function(v){
        select.options[i] = new Option(v.label,v.value);
        i++;
      });
    };
    
    Kumu.Ajax.executeTeedaAjax(areaAjax_searchRoute, {'areaId' : areaId});
  };

  var searchBusinessKind = function(areaId){
    function areaAjax_searchBusinessKind(res){
      var select = $i('busConditions');
      clearOptions(select);
      var i = 0;      
      res.map(function(v){
        select.options[i] = new Option(v.label,v.value);
        i++;
      });
    };
    
	 Kumu.Ajax.executeTeedaAjax(areaAjax_searchBusinessKind, {'areaId' : areaId});
  };
  
  var searchBusinessKindCheckBox = function(areaId){
    function areaAjax_searchBusinessKind(res){
      var items = [];
      items = $n('main:form:busConditions');
      var i = 0;      
      res.map(function(v){
      	var obj = items[i];
      	var parent = obj.parentNode.lastChild;
      	if (parent != undefined) {
      		IE='\v'=='v'
			if(IE){
        		parent.nodeValue = v.label;
      		} else {
        		parent.textContent = v.label;
      		}
      	}
        i++;
      });
    };
    
	 Kumu.Ajax.executeTeedaAjax(areaAjax_searchBusinessKind, {'areaId' : areaId});
  };
  
  function searchSpotOrRoute(areaId, searchType) {
	cl(areaId);
  	if (searchType == '0') {
  		searchSpot(areaId);
  	} else {
	  	searchRoute(areaId);
	  	clearOptions($i('station'));
  	}
  	searchBusinessKindCheckBox(areaId);  	
	$i('areaId').value = areaId;
  }
  
  function recoverRoute(areaId) {
	cl(areaId);
  }

  function recoverSearchSpotOrRoute() {
  	if($i('areaId') != null && checkIsNumber($i('areaId').value)) {
		if($i('searchSpot').value == 'true') {
	  		searchSpotOrRoute($i('areaId').value, '0');
	  	} else {
	  		recoverRoute($i('areaId').value);
	  	}
  	} else {
  		fn_reload();
  	}
  }
  
  function topSearchSpot(areaId) {
   		cl(areaId);
  		searchSpot(areaId);
  		searchBusinessKind(areaId);
  		$i('areaId').value = areaId;
  }
  
  function recoverTopSearchSpot() {
  	if($i('areaId') != null && checkIsNumber($i('areaId').value))
  		topSearchSpot($i('areaId').value);
  	else
  		fn_reload();
  }
  
  function checkIsNumber(value){
    return (value.match(/[0-9]+/g) == value);
  }
  