
/*----------------------------------------------------------------------------
 展开的查询条件，查询链接，初始化。
 district
-----------------------------------------------------------------------------*/
var district_json={};
var popularArea_json={};
var cuisine_json={};
var price_json={};

$(document).ready(function(){
	//页面底部bottom的初始化。	
	init_district($("#bottom_district > a"));
	init_popularShopArea($("#bottom_populararea > a"));
	init_smallCuisine($("#bottom_smallcuisine > a"));//small
});

function markSelectedIfMatch(obj,matchId){
	obj=$.ensure(obj);
	var str=getInputName(matchId);
	str=$.trim(str);
	var ix=str.indexOf('(');
	if(ix >= 0){
		str=str.substring(0,ix);
	}
	var name=$.trim(obj.html());
	if(name == str){
		obj.css("color","orange");
		obj.css("background-color","#dddddd");
		obj.css("font-size","16px");
	}
}

/*---------------------------------------------------------------------------
 * district
 ---------------------------------------------------------------------------*/

function init_district(arr){
	var cb=function(json){
		if(!json.success){
			alert("Fail[LA001]:"+ json.resultMsg);
			return;
		}
		district_json=json.gsonMap.treedata;
		bindDistrictAction(arr);
	};
	$.getJSON("/ajax/SearchParam.getDistrictJson",{},cb);
}

function bindDistrictAction(arr){
	for(var i=0;i<arr.length;i++){
		var obj=$(arr[i]);
		var name=$.trim(obj.html());
		if(name == "All"){
			obj.click(function(){
				_clearLocationParam();
				submitMainform(true);
			});			
			continue;
		}
		if(district_json[name] == null){
			obj.addClass("hasProblem");
			continue;
		}
		
		var id=district_json[name].id;
		obj.attr("sid",id);
		obj.attr("sname",name);
		
		markSelectedIfMatch(obj,"input_location");
		obj.click(function(){
			var x=$(this);
			//selectDistrict(x,true);
			toggleSelectLocation(x.attr("sid"),"district",true);
			submitMainform(true);
		});
	}
}

/*---------------------------------------------------------------------------
 * popular area
 ---------------------------------------------------------------------------*/
function init_popularShopArea(arr){
	var cb=function(json){
		if(!json.success){
			if(json.resultMsg != undefined){
				alert("Fail[LA002]:"+json.resultMsg);
			}
			return;
		}
		popularArea_json=json.gsonMap.treedata;
		bindPopularShopAreaAction(arr);
	};
	$.get("/ajax/SearchParam.getShopAreaJson",{},cb);
}

function bindPopularShopAreaAction(arr){
	for(var i=0;i<arr.length;i++){
		var obj=$(arr[i]);
		var name=$.trim(obj.html());
		
		if(popularArea_json[name] == null){
			obj.addClass("hasProblem");
			continue;
		}
		
		var id=popularArea_json[name];
		obj.attr("sid",id);
		obj.attr("sname",name);
		
		markSelectedIfMatch(obj,"input_location");

		obj.click(function(){
			var x=$(this);
			toggleSelectLocation(x.attr("sid"),"populararea",true);
			submitMainform(true);
		});
	}
}

/*---------------------------------------------------------------------------
 * popular cuisine
 ---------------------------------------------------------------------------*/
function init_bigCuisine(arr){
	var cb=function(json){
		if(!json.success){
			alert("Fail[LA003]:"+ json.resultMsg);
			return;
		}
		cuisine_json=json.gsonMap.treedata;
		bindBigCuisineAction(arr);
	};
	$.get("/ajax/SearchParam.getCuisineJson",{},cb);
}
function bindBigCuisineAction(arr){
	for(var i=0;i<arr.length;i++){
		var obj=$(arr[i]);
		var name=$.trim(obj.html());
		
		if(cuisine_json[name] == null){
			obj.addClass("hasProblem");
			continue;
		}
		
		var id=cuisine_json[name]["id"];
		obj.attr("sid",id);
		obj.attr("sname",name);
		
		markSelectedIfMatch(obj,"input_cuisine");

		obj.click(function(){			
			var x=$(this);
			toggleSelectCuisine(x.attr("sid"),true);
			submitMainform(true);
		});
	}
}

function init_smallCuisine(arr){	
	var cb=function(json,status,res){
		if(!json.success){//24Fail
			if(json.resultMsg != undefined){
				alert("Fail[LA004]:"+ json.resultMsg);
			}
			return;
		}
		cuisine_json=json.gsonMap.treedata;
		bindSmallCuisineAction(arr);
	};
	$.get("/ajax/SearchParam.getCuisineJson",{},cb);
}
function bindSmallCuisineAction(arr){
	for(var i=0;i<arr.length;i++){
		var obj=$(arr[i]);
		var name=$.trim(obj.html());
		
		var isInJson=false;
		var subCuisine;
		for(rootName in cuisine_json){
			subCuisine=cuisine_json[rootName]["subCuisine"];
		
			if(subCuisine[name] != null){
				isInJson=true;
				break;
			}
		}
		if(!isInJson){
			obj.addClass("hasProblem");
			continue;
		}
		
		var id=subCuisine[name];
		obj.attr("sid",id);
		obj.attr("sname",name);
		
		markSelectedIfMatch(obj,"input_cuisine");

		obj.click(function(){			
			var x=$(this);
			toggleSelectCuisine(x.attr("sid"));
			submitMainform(true);
		});
	}
}

/*---------------------------------------------------------------------------
 * popular area
 ---------------------------------------------------------------------------*/
function init_price(){	
	var cb=function(json){
		if(!json.success){
			alert("Fail[LA005]:"+json.resultMsg);
			return;
		}
		price_json=json.gsonMap.treedata;
		bindPriceAction();
	};
	$.get("/ajax/SearchParam.getPriceJson",{},cb);
}

function bindPriceAction(){
	var arr=$("div[name=block_price] > a");
	for(var i=0;i<arr.length;i++){
		var obj=$(arr[i]);
		var name=$.trim(obj.html());
		
		if(price_json[name] == null){
			obj.addClass("hasProblem");
			continue;
		}
		
		var id=price_json[name];
		obj.attr("sid",id);
		obj.attr("sname",name);
		
		markSelectedIfMatch(obj,"input_price");

		obj.click(function(){
			var x=$(this);
			toggleSelectPrice(x.attr("sid"),true);
			submitMainform(true);
		});
	}
}

function submitMainform(all){
	isAllRestSearch=all;
	$("#mainform").submit();
}

