/**
 * @author siglea
 * @param  hightlight  记录高亮节点的位置
 * @param  timeout 查询延时时间
 * @param  wordHeight=15  word 输入框的高度 一定要跟css定义的一样
 * @param  wordWidth=160  word 输入框的宽度 一定要跟css定义的一样
 */

 var hightlight = -1 ;
 var timeout;
 var wordHeight=15;   //修改css的时候要修改这里
 var wordWidth=160;
 var process_ids = ['postAreas','cityName'];

$(document).ready( function(){
	//初始化word 的位置
	var offset = $("#email").offset();

	$("#auto").css("left",offset.left);   //1 输入框的宽度
	$("#auto").css("top",offset.top+20);    //20 输入框的高度

	var offset = $("#email").offset();
	$("#email").blur(function () {
		var usu_emails = ["@qq.com","@163.com","@sina.com","@hotmail.com","@yahoo.com.cn","@yahoo.com","@126.com","@jiehun.com.cn","@tom.com","@eyou.com"];
		var flag = false;
		for(var y = 0 ; y<usu_emails.length;y++){
				if($("#email").val().indexOf(usu_emails[y])>0){
					flag = true ;
					break;
			}
		}
		if(!flag){
			if($("#auto").children("div").eq(hightlight) && $("#auto").children("div").eq(hightlight).text() && $("#auto").children("div").eq(hightlight).text().length>0){
				$("#email").val($("#auto").children("div").eq(hightlight).text());
			}
		}
		$("#auto").hide(10,showX(process_ids));
	} );
	$("#email").keyup(function(event){
		//处理文本框的事件
		var myEvent = event || window.event;
		var keycode = myEvent.keyCode;   //获取键盘键值

		if ((keycode >= 65 && keycode <= 90) || keycode==8 || keycode == 46|| keycode==190 || keycode == 110||(keycode >= 48 && keycode <= 57)||(keycode >= 96 && keycode <= 105)) {

			var word = $("#email").val(); //取得文本框的内容
			if (word != "") {
				clearTimeout(timeout);
				timeout = setTimeout(function(){
					$("#auto").show(10,hideX(process_ids));
					addword();
				},100);
			}else {
				$("#auto").hide(10,showX(process_ids));
				hightlight = -1
			}
		}else if(keycode==38||keycode==40){  //如果输入的是向上向下

			if(keycode==38){
			//向上
			  var autoNodes = $("#auto").children("div");

			   if (hightlight != -1 ){
			   	//把高亮节点恢复
			   	autoNodes.eq(hightlight).css("background-color","white");
				hightlight--;
			   }else{
			   	hightlight = autoNodes.length - 1
			   }

			   if(hightlight == -1){
			   	//如果到顶 把高亮移动到最后
			   	hightlight = autoNodes.length - 1;
			   };
			   autoNodes.eq(hightlight).css("background-color","#9DD8FF");
			}
			if(keycode==40){
			//向下
			   var autoNodes = $("#auto").children("div");
			   if (hightlight != -1 ){
			   	//把高亮节点恢复
			   	autoNodes.eq(hightlight).css("background-color","white");
			   }
			   hightlight++;
			   if(hightlight == autoNodes.length){
			   	//如果到顶 把高亮移动到最后
			   	hightlight = 0;
			   }
			   autoNodes.eq(hightlight).css("background-color","#9DD8FF");
			}
		}else if (keycode==13){		//如果输入的是回车

			if(hightlight!=-1){
				//取出节点的内容
				var context = $("#auto").hide(10,showX(process_ids)).children("div").eq(hightlight).text();
				hightlight = -1;
				if(context && context.length>0){
					$("#email").val(context);
				}
			}else{
				 $("#auto").hide(10,showX(process_ids));
				 //文本框失去焦点
				 $("#email").get(0).blur();
			}

		}

	});
});
function addword(){
	//添加返回的数据
	var node = $("#auto");
	node.html("");
	var usu_emails = ["@qq.com","@163.com","@sina.com","@hotmail.com","@yahoo.com.cn","@yahoo.com","@126.com","@jiehun.com.cn","@tom.com","@eyou.com"];
	var a_idx = $("#email").val().indexOf('@') ;
	var befE = $("#email").val().substring(0,a_idx);
	var afE = $("#email").val().substr(a_idx);
	if($("#email").val() && $("#email").val().indexOf('@')>0){
		var xusu_emails = new Array();
		for (var x=0; x < usu_emails.length; x++) {
			if(usu_emails[x].indexOf(afE)==0&&usu_emails[x]!=afE){
				xusu_emails.push(usu_emails[x]);
			}
		}
		usu_emails = xusu_emails;
	}
	if(usu_emails.length<=0){
		$("#auto").hide(10,showX(process_ids));
		return ;
	}
	for (var i=0; i < usu_emails.length; i++) {
		var node1 = $("<div>");
		if($("#email").val() && $("#email").val().indexOf('@')>0){
			node1.html(befE+usu_emails[i]).appendTo(node);
		}else{
			node1.html($("#email").val()+usu_emails[i]).appendTo(node);
		}
		node1.attr("id",i);
		//if(i==(usu_emails.length/2)){
		//	hightlight = node1.attr("id");
		//	node1.css("background-color","#9DD8FF");
		//}
		node1.mousemove(function(){
		if(hightlight != -1){    //取消原来的高亮
			$("#auto").children("div").eq(hightlight).css("background-color","white");
		}
		hightlight = $(this).attr("id");	//添加现在的高亮
	    $(this).css("background-color","#9DD8FF");
	    $(this).css("cursor","pointer");
		});
		//增加click事件
		node1.click(function(){
		//node1.mouseover(function(){
			var context = $(this).text();
			$("#email").focus();
			hightlight = -1;
			//setTimeout(function(){
				$("#email").val(context);
				$("#auto").hide(10,showX(process_ids));
			//},500);
		});
	}
}
 function showX(ids){
	if(ids && ids.length>0){
		for(var y=0; y<ids.length;y++){
			$("#"+ids[y]).show();
		}
	}
 }
 function hideX(ids){
	if(ids && ids.length>0){
		for(var y=0; y<ids.length;y++){
			$("#"+ids[y]).hide();
		}
	}
 }

