﻿$(function() {
	//地区菜单
	$('[cm_id]').click(function() {
		$('#cid').val($(this).attr('cm_id'));
		$("#CityName").val($(this).attr('cm_name'));
		$('#cityMenu').hide();
	}).mouseover(function() {
		$("[cm_id]").removeClass("selected");
		$(this).addClass("selected");
	});
	$("#CityName").keyup(function(e) {
		if (!e) var e = window.event;
		var n = e.which || w.keyCode;
		var v = $(this).val().toLowerCase();
		if (n == 40 || n == 48 || n == 13) return;
		$("[cm_id]").removeClass("selected").hide();
		$(v == '' ? '[cm_id]': '[cm_en^="' + v + '"],[cm_name^="' + v + '"]').show().filter(':first').addClass("selected");
		$('#cityMenu').show();
	}).keydown(function(e) {
		if (!e) var e = window.event;
		var n = e.which || w.keyCode;
		switch (n) {
		case 40:
			var s = -1,
			h = $('[cm_id]:visible');
			if (h.length < 2) return;
			for (var i = 0; i < h.length; i++) if ($(h[i]).hasClass('selected')) {
				s = i;
				break;
			}
			s = s == -1 || h.length == s + 1 ? 0: s + 1;
			$("[cm_id]").removeClass("selected");
			$(h[s]).addClass('selected');
			break;
		case 38:
			var s = 0,
			h = $('[cm_id]:visible');
			if (h.length < 2) return;
			for (var i = 0; i < h.length; i++) if ($(h[i]).hasClass('selected')) {
				s = i;
				break;
			}
			s = s == 0 ? h.length - 1: s - 1;
			$("[cm_id]").removeClass("selected");
			$(h[s]).addClass('selected');
			break;
		case 13:
			$('#cid').val($('.selected').attr('cm_id'));
			$(this).val($('.selected').attr('cm_name'));
			$('#cityMenu').hide();
			break;
		default:
			break;
		}
	}).focus(function() {
		$(this).val('');
		$('#cid').val(0);
		var offset = $(this).offset(),
		v = $(this).val().toLowerCase();
		$('#cityMenu').show().css({
			'left': offset.left,
			'top': offset.top + 20
		});
		$("[cm_id]").removeClass('selected');
		if (v != '') {
			$('[cm_id]').hide();
			$('[cm_en^="' + v + '"],[cm_name^="' + v + '"]').show();
		}
		$("[cm_id]:visible:first").addClass('selected');
	}).blur(function() {
		setTimeout(function() {
			var v = $("#CityName").val();
			var h = $('[cm_en^="' + v + '"],[cm_name^="' + v + '"]');
			if (h.length == 1) {
				$("#CityName").val($(h).attr('cm_name'));
				$('#cid').val($(h).attr('cm_id'));
			} else {
				if ($("#CityName").val() == ''&&$("#CityName").attr('default')==1){
					var def=$('#cityMenu').find('[cm_id]:first');
					$("#CityName").val(def.attr('cm_name'));
					$("#cid").val(def.attr('cm_id'));
				}else{
					$("#CityName").val('中文/拼音').css('color', '#333');
					$('#cid').val(0);
				}
			}
			$('#cityMenu').hide()
		},
		500);
	}).blur();
});
