/*default privince*/
cities = new Object();

cities["北京市"] = new Array("朝阳区", "东城区", "丰台区", "城八区", "大兴区", "宣武区", "密云县", "崇文区", "平谷区", "延庆县", "怀柔区", "房山区", "昌平区", "海淀区", "石景山区", "西城区", "通州区", "门头沟区", "顺义区");
cities["上海市"] = new Array("虹口区", "卢湾区", "闵行区", "黄浦区", "金山区", "青浦区", "宝山区", "南汇区", "奉贤区", "嘉定区", "长宁区", "徐汇区", "普陀区", "闸北区", "静安区", "浦东新区", "杨浦区", "崇明县", "古美街道", "南市区", "松江区");
cities["天津市"] = new Array("东丽区", "北辰区", "南开区", "和平区", "塘沽区", "大港区", "宝坻区", "武清区", "汉沽区", "河东区", "河北区", "河西区", "津南区", "红桥区", "西青区");
cities["重庆市"] = new Array("万州区", "万盛区", "九龙坡区", "北碚区", "南岸区", "南川区", "双桥区", "合川区", "大渡口区", "巴南区", "永川市", "江北区", "江津区", "沙坪坝区", "涪陵区", "渝中区", "渝北区", "长寿区", "黔江区", "高新区");
cities["台湾"] = new Array("台北市","台南市","高雄市","基隆市","台中市","新竹市","嘉义市","板桥市","宜兰市","桃园市","竹北市","苗栗市","丰原市","彰化市","南投市","斗六市","太保市","新营市","凤山市","屏东市","马东市","台东市","花莲市");
cities["香港特别行政区"] = new Array("中西区", "九龙城区", "元朗区", "北区", "南区", "大埔区", "屯门区", "东区", "沙田区", "油尖旺区", "深水埗区", "湾仔区", "荃湾区", "葵青区", "西贡区", "观塘区", "都会区", "离岛区", "黄大仙区");
cities["澳门特别行政区"] = new Array("大堂区", "望德堂区", "圣安多尼堂区", "花地玛堂区", "风顺堂区");
cities["河北省"] = new Array("石家庄", "张家口市", "承德市", "秦皇岛市", "唐山市", "廊坊市", "保定市", "沧州市", "衡水市", "邢台市", "邯郸市");
cities["山西省"] = new Array("太原市", "大同市", "朔州市", "阳泉市", "长治市", "晋城市", "忻州市", "吕梁市", "晋中市", "临汾市", "运城市");
cities["辽宁省"] = new Array("沈阳市", "朝阳市", "阜新市", "铁岭市", "抚顺市", "本溪市", "辽阳市", "鞍山市", "丹东市", "大连市", "营口市", "盘锦市", "锦州市", "葫芦岛市");
cities["吉林省"] = new Array("长春市", "白城市", "松原市", "吉林市", "四平市", "辽源市", "通化市", "白山市", "延边朝鲜族自治州");
cities["黑龙江省"] = new Array("哈尔滨市", "齐齐哈尔市", "牡丹江市","佳木斯市", "大庆市", "鸡西市", "双鸭山市", "伊春市", "七台河市", "鹤岗市", "黑河市","绥化市", "大兴安岭行署");
cities["江苏省"] = new Array("南京市", "徐州市", "连云港", "宿迁市", "淮安市", "盐城市", "扬州市", "泰州市", "南通市", "镇江市", "常州市", "无锡市", "苏州市", "东台市");
cities["浙江省"] = new Array("杭州市", "湖州市", "嘉兴市", "舟山市", "宁波市", "绍兴市", "金华市", "台州市", "温州市", "丽水市", "上虞市", "温岭市", "义乌市", "临海市", "临安市", "东阳市", "永康市", "慈溪市", "余姚市", "平湖市", "奉化市", "瑞安市");
cities["安徽省"] = new Array("合肥市", "宿州市", "淮北市", "阜阳市", "蚌埠市", "淮南市", "滁州市", "马鞍山市", "芜湖市", "铜陵市", "安庆市", "黄山市", "六安市", "巢湖市", "池州市", "宣城市");
cities["福建省"] = new Array("福州市", "南平市", "三明市", "莆田市", "泉州市", "厦门市", "漳州市", "龙岩市", "宁德市");
cities["江西省"] = new Array("南昌市", "九江市", "景德镇市", "鹰潭市", "新余市", "萍乡市", "赣州市", "上饶市", "抚州市", "宜春市", "吉安市", "樟树市");
cities["山东省"] = new Array("济南市", "聊城市", "德州市", "东营市", "淄博市", "潍坊市", "烟台市", "威海市", "青岛市", "日照市", "临沂市", "枣庄市", "济宁市", "泰安市", "莱芜市", "滨州市", "菏泽市");
cities["河南省"] = new Array("郑州市", "三门峡市", "洛阳市", "焦作市", "新乡市", "鹤壁市", "安阳市", "濮阳市", "开封市", "商丘市", "许昌市", "漯河市", "平顶山市", "南阳市", "信阳市", "魏都区", "周口市", "驻马店市");
cities["湖北省"] = new Array("武汉市", "十堰市", "襄阳市", "荆门市", "孝感市", "黄冈市", "鄂州市", "黄石市", "咸宁市", "荆州市", "宜昌市", "省直辖行政单位", "恩施土家族苗族自治州", "襄樊市");
cities["湖南省"] = new Array("长沙市", "张家界市", "常德市", "益阳市", "岳阳市", "株洲市", "湘潭市", "衡阳市", "郴州市", "永州市", "邵阳市", "怀化市", "娄底市", "湘西土家族苗族自治州");
cities["广东省"] = new Array("广州市", "中山市", "清远市", "韶关市", "揭阳市", "肇庆市", "河源市", "梅州市", "潮州市", "汕头市", "揭阳市", "汕尾市", "惠州市", "东莞市", "深圳市", "珠海市", "江门市", "佛山市", "肇庆市", "云浮市", "阳江市", "茂名市", "湛江市");
cities["海南省"] = new Array("海口市", "三亚市", "东方市", "儋州市", "琼海市", "通什市", "文昌市", "万宁市");
cities["四川省"] = new Array("成都市", "广元市", "绵阳市", "德阳市", "南充市", "广安市", "遂宁市", "内江市", "乐山市", "自贡市", "泸州市", "宜宾市", "攀枝花市", "巴中市", "达川市", "资阳市", "眉山市", "雅安市", "阿坝藏族羌族自治州", "甘孜藏族自治州", "凉山彝族自治州");
cities["贵州省"] = new Array("贵阳市", "六盘水市", "遵义市", "毕节市", "铜仁市", "安顺市", "黔东南苗族侗族自治区", "黔南布依族苗族自治区", "黔西南布依族苗族自治州");
cities["云南省"] = new Array("昆明市", "曲靖市", "玉溪市", "丽江市", "昭通市", "普洱市", "临沧市", "保山市", "德宏傣族景颇族自治州", "怒江僳僳族自治州", "迪庆藏族自治州", "大理白族自治州", "楚雄彝族自治州", "红河哈尼族自治州", "文山壮族自治州", "西双版纳傣族自治州");
cities["陕西省"] = new Array("西安市", "延安市", "铜川市", "渭南市", "咸阳市", "宝鸡市", "汉中市", "榆林市", "商洛市", "安康市");
cities["甘肃省"] = new Array("兰州市", "嘉峪关市", "金昌市", "白银市", "天水市", "酒泉市", "张掖市", "武威市", "庆阳市", "平凉市", "定西市", "陇南市", "临夏回族自治州", "甘南藏族自治州");
cities["青海省"] = new Array("西宁市", "海东市", "西宁市", "海北藏族自治州", "海南藏族自治州", "黄南藏族自治州", "果洛藏族自治州", "玉树藏族自治州", "海西蒙古族自治州");
cities["内蒙古自治区"] = new Array("呼和浩特", "包头市", "乌海市", "赤峰市", "呼伦贝尔盟", "兴安盟", "哲里木盟", "锡林郭勒盟", "乌兰察布盟", "伊克昭盟", "巴彦淖尔盟", "阿拉善盟");
cities["广西壮族自治区"] = new Array("南宁市", "桂林市", "柳州市", "梧州市", "贵港市", "玉林市", "钦州市", "北海市", "防城港市", "南宁市", "百色市", "河池市", "柳州市", "贺州市");
cities["西藏自治区"] = new Array("拉萨市", "那曲市", "昌都地区", "林芝地区", "山南地区", "日喀则市", "阿里地区");
cities["宁夏回族自治区"] = new Array("银川市", "石嘴山市", "吴忠市", "固原市");
cities["新疆维吾尔自治区"] = new Array("乌鲁木齐市", "克拉玛依市", "石河子市", "喀什地区", "阿克苏地区", "和田地区", "吐鲁番地区", "哈密地区", "克孜勒苏柯尔克孜", "博尔塔拉蒙古自治州", "昌吉回族自治州", "巴音郭楞蒙古自治州", "伊犁哈萨克自治州", "伊犁市", "塔城地区", "阿勒泰地区");

var clicking = false;

function get_states() {
    var s = '<ul style="list-style-type:none;">';
    for (var state in cities) {
        s += '<li><a href="" onclick="return set_state(this);">' + state + "</a></li>";
    }
    s += "</ul>";
    return s;
}

function get_cities(state) {
    var s = '<ul style="list-style-type:none;">';
    if (typeof(cities[state]) != 'undefined') {
        for (var city in cities[state]) {
            s += '<li><a href="javascript:;" onclick="return set_city(this);">' + cities[state][city] + "</a></li>";
        }
    } else {
			s += '<li><a href="javascript:;" onclick="return false;">请先选择省份</a></li>';
		}
    s += "</ul>";
    return s;
}

// search.js

var g_street = '街道/地名/热点名';

function set_state(obj) {
    $("#edit-field-state-0-value").val($(obj).text());
    $("#id_more_city").html(get_cities($(obj).text()));
    $("#edit-field-city-0-value").val($("#id_more_city > ul > li > a:first").text());
    $("#id_more_state").hide("fast");
		$('#edit-field-state-0-value').css("color", "#000");
		$('#edit-field-city-0-value').css("color", "#000");
		return false;
}

function set_city(obj) {
    $("#edit-field-city-0-value").val($(obj).text());
    $("#id_more_city").hide("fast");
		$('#edit-field-city-0-value').css("color", "#000");
		return false;
}

function go_search(form) {
    var street = $('#id_street');
    if (g_street == street.val()) street.val('');

    var url = form.action;
    url += "/";
    url += $("#edit-field-state-0-value").val();
    url += "/";
    url += $("#edit-field-city-0-value").val();
    url += "/";
    url += street.val();
    document.location = url;
    return false;
}

/*

highlight v3

Highlights arbitrary terms.

<http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html>

MIT license.

Johann Burkard
<http://johannburkard.de>
<mailto:jb@eaio.com>

*/

jQuery.fn.highlight = function(pat) {
 function innerHighlight(node, pat) {
  var skip = 0;
  if (node.nodeType == 3) {
   var pos = node.data.toUpperCase().indexOf(pat);
   if (pos >= 0) {
    var spannode = document.createElement('span');
    spannode.className = 'highlight';
    var middlebit = node.splitText(pos);
    var endbit = middlebit.splitText(pat.length);
    var middleclone = middlebit.cloneNode(true);
    spannode.appendChild(middleclone);
    middlebit.parentNode.replaceChild(spannode, middlebit);
    skip = 1;
   }
  }
  else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
   for (var i = 0; i < node.childNodes.length; ++i) {
    i += innerHighlight(node.childNodes[i], pat);
   }
  }
  return skip;
 }
 return this.each(function() {
  innerHighlight(this, pat.toUpperCase());
 });
};

jQuery.fn.removeHighlight = function() {
 return this.find("span.highlight").each(function() {
  this.parentNode.firstChild.nodeName;
  with (this.parentNode) {
   replaceChild(this.firstChild, this);
   normalize();
  }
 }).end();
};

Drupal.behaviors.locationSelector = function () {
	var street = $('#id_street');
	var state = $("#edit-field-state-0-value");
	var city = $("#edit-field-city-0-value");
	
	if (street.val()) 
		street.css("color", "#222");
	else
		street.val(g_street);
	if (state.val() != '省份') state.css("color", "#222");
	if (city.val() != '城市') city.css("color", "#222");
	
	street.focus(function() { if (g_street == $(this).val()) { $(this).val(''); $(this).css("color", "#222"); } });
	street.blur(function() { if ('' == $(this).val()) { $(this).val(g_street); $(this).css("color", "#999"); } });

	$("#id_more_state").html(get_states());
	$("#id_more_city").html(get_cities(state.val()));

	$(document.body).click(function() {
		if ($("#id_more_state").css('display') == 'block') {
			$("#id_more_state").hide("fast");
		} 
		if ($("#id_more_city").css('display') == 'block') {
			$("#id_more_city").hide("fast");
		}
	});
	state.click(function() { 
		var so = state.position();
		$("#id_more_state").css('left', so.left).css('top', so.top+22);
		$("#id_more_state").show("fast"); 
		$("#id_more_city").hide("fast");
		return false;}
	);
	city.click(function() { 
		var co = city.position();
		$("#id_more_city").css('left', co.left).css('top', co.top+22);
		$("#id_more_city").show("fast"); 
		$("#id_more_state").hide("fast");
		return false;}
	);
	//highlight
	$('.hotspots').highlight(street.val());
}

