function serch(userid,list,query,searchin,serchtype){
	// here is added for non_login users to login!

	// alert("serch is invokiing");
	if($("#loginuserid").length>0){
		userid=$("#loginuserid").get(0).innerHTML;
	}
	var listToString=list.join("|");
	$.post("UserSuggest",{'userid':userid,'list':list.join(),'query':query,'searchin':searchin,'searchtype':serchtype},
	function (data, textStatus){
		var successParse = true;
		var json;
		try{
			json=eval("("+data+")");
		}catch(e){
			successParse=false;
		};

		if(successParse){

		$.each(json.root,function(idx,item,list){
			$(".button").eq(idx).append("<button id=index"+idx+" class='up' name='up' title='This expert should be ranked higher.'></button><button id=index"+idx+" class='down' name='down' title='This expert should be ranked lower.'></button><button id=index"+idx+" class='error' name='error' title='I do not think this expert works in this field.'></button><button id=index"+idx+" class='restore' name='restore' title='restore'></button>");
			if(item.op!=null){
				var i=-1;
				if(item.op=="up")i=0;
				if(item.op=="down")i=1;
				if(item.op=="error")i=2;
				//if(item.op=="restore")i=3;
				if(i!=-1)
				$(".button:eq("+idx+") button:eq("+i+")").attr("class","clic"+$(".button:eq("+idx+") button:eq("+i+")").attr("class"));
			};
		});

		$("button").bind("click",function(event){
			if($("#loginuserid").length>0){
				userid=$("#loginuserid").get(0).innerHTML;
			}
			if(userid=="-1"){
				var targetid=list[$(this).attr("id").slice(5)];
				var title=$(this).attr("name")
				openLoginDialog(function(userid){
					$.post("UserSuggest",
						{'userid':userid,'list':targetid,'query':query,'searchin':searchin,'searchtype':serchtype,'op':title});
					$('#LoginDialog').dialog("close");
					var page=$("div[id='person_div'] div[id='pagebar'] span").html()
					page*=10;
					page-=10;
					UpdateDiv_page('expertfinding.do?keyword='+query+'&searchRange=0&start='+page+'&searchAlgorithm='+serchtype, 'person_div','false','1');
					//ArnetMiner_Simple_Dialog("Login Success",json.root[0].msg)
					$("body").append("<div id='loginuserid'>"+userid+"</div>");
					//window.location.reload();
					//return json.root[0].userid;
				});
				 return;
			}

		if($(this).attr("class").search("clic")==-1){
			if($(this).attr("name")=="restore")
				if($(this).siblings('.clicup,.clicdown,.clicerror').length==0)
					return;

			var targetid=list[$(this).attr("id").slice(5)];
				$.post("UserSuggest",
					{'userid':userid,'list':targetid,'query':query,'searchin':searchin,'searchtype':serchtype,'op':$(this).attr("name")},
					function(data,textStatus){
					$('#dialog').remove();
					$("body").append("<div id='dialog'   title='Success!'><p>Thank you for your suggust!</p><p style='color:red'>The ranks will be updated when user fadeback are statistics suffciently</p></div>");
					$('#dialog').dialog({
					autoOpen: false,
					width: 300
					});
					$('#dialog').dialog('open');
					window.setTimeout(function(){$('#dialog').dialog("close")},2000);

					return false;
					});
			$.each($(this).parent("span").children(),function(index, domEle){
				$(domEle).attr("class",$(domEle).attr("name"))
			;});
			$(this).attr("class","clic"+$(this).attr("name"));
		}
		});
		$("button").bind("mouseover",function(){
			if($(this).attr("class").search("clic")==-1)
				$(this).attr("class","over"+$(this).attr("class"));
		});
		$("button").bind("mouseout",function(){
			if($(this).attr("class").search("clic")==-1)
				$(this).attr("class",$(this).attr("class").slice(4));
		})
		}
	}
	,"JSON");}
