﻿///<reference path="jquery-1.2.3-intellisense.js" />
var totalpage,pagesize,cpage,count,curcount,outstr; 
//初始化 
cpage = 1; 
totalpage = 0; 
pagesize = 10; 
outstr = ""; 

var has_exact_result=0;

var QUERY;
var ReturnQurey;
var aa=0;
var page=1;
var type;
var allresults;
var res_type;
var twitter={
    setup:function(){
        
		$.ajaxSetup({cache:false});
		this.conceptLoading=$("#conceptLoading");
		this.digulistLoading=$("#digulistLoading");
		
		this.timelineBox=$("#timeline");
		this.conceptBox=$("#conceptList");
		this.topicBox=$("#topicList");
		this.queryName=$("#queryName");
		
		this.noResultDiv=$("#noResultDiv");
		this.noConceptDiv=$("#noConceptDiv");
		
		},
    
    searchResult:function(q,tp,pg,resType,fname,mname,lname,suffix){
        QUERY=q;
        page=pg;
        type=tp;
        var resultType=resType;
        res_type=resType;//全局变量
        var a=this;
        $("#alert").hide();
        $("#noResultDiv").hide();
        $("#ZeroResultSearchedName").hide();
		$("#NoSearchedNameResult").hide();
		$("#similarresults").hide();
		 $("#BeingSearchedName").hide();
        if(page==1)
        {
            cpage=1;
            $("#oldresults").hide();
            $("#newresults").hide();
        }

        $("#toTop").hide();
        $("#digulistLoading").show();
        $("#timeline").html("");
        $("#wa").html("");
     
        var searchUrl="Search.aspx?t="+new Date();
        //alert(q+tp+pg);,fn:fname,mn:mname,ln:lname,sn:suffix
		$.getJSON(searchUrl,{query:q,type:tp,page:pg,rt:resultType,fn:fname,mn:mname,ln:lname,sn:suffix},function(b){
		//alert("liu");
		    var s=0;
		    if(b.query.toLowerCase()!=QUERY.toLowerCase())
		    {//此处本是为避免频繁点击导致ajax返回结果与当前输入人名不一致而添加的。
		        //if(b.exist=="false")
		            return;
		    }
		    allresults=b.count;
			if(b.results.length==0)
			{
				//$("#noResultDiv").show();
				$("#digulistLoading").hide();
				$("#resultcount").html("0 ");
				if(aa!=0)
				{
				    $("#newresults").show();
				    $("#emailwarning").show();
                    $("#e_mail").show();
                }
                aa=1;
//				if(document.getElementById("suggestDiv").style.display=="none")
//				    $("#alert").show();
                if(b.exist=="false")
                { 
                    $("#NoSearchedNameResult").show();
                }
                else if(b.exist=="beingSearched")
                {
                    $("#BeingSearchedName").show();
                }
                else if(b.exist=="true")
                {
                    if(resultType==1||resultType==7||resultType==11||resultType==77)
                    {
                       $("#noResultDiv").show ();
                        $("#ZeroResultSearchedName").hide();
                    }
                    else
                        $("#ZeroResultSearchedName").show();
                    if(b.query_temp!="")
                    {
                        //即使用户所输入人名能匹配到其他名字，但如果没有结果，就显示NoSearchedNameResult
                        $("#ZeroResultSearchedName").hide();
                        $("#ZeroResultSearchedName").hide();
                        $("#NoSearchedNameResult").show();
  		            }
                }
                    $("#moreDiv").hide();
	              	$("#moreDiv2").hide();
	  	            $("#prevDiv").hide();
	  		        $("#prevDiv2").hide();
				return;
			}
			
		     $("#noResultDiv").hide();
		     $("#ZeroResultSearchedName").hide();
		     $("#NoSearchedNameResult").hide();
		    $("#digulistLoading").show();
				
		    $("#resultcount").html(allresults+" ");	  								
				
			a.process(b);
			if(b.results.length>9){
					$("#toTop").show();
					
					
		    }
		    if(aa!=0)
		    {
		        $("#emailwarning").show();
                $("#e_mail").show();
                if(b.query_temp=="")
                   $("#oldresults").show();
                else
                {
	  		        $("#queryName").html(b.query_temp);
	  		        $("#similarresults").show();
	  		        $("#inputname").html(QUERY);
	  		    }
            }
		    
		    aa=1;
		});
		
	},
	searchRecent:function()
	{
	    var searchUrl="Search.aspx?t="+new Date();
	    $.getJSON(searchUrl,{query:"recent",type:"Recent"},function(ret){
	         var b=ret.recent;
	  			var a=b.length-0;
	  			if(a>0){
	  				var c=[];
	  				var f="";
	  				for(var d=a-1;d>=0;d--){
	  				  var temp="<li ><a  href=\"#\" onclick=\"javascript:mySearchForName(&quot;"+b[d].name+"&quot;);\">"+b[d].name+"</a></li>";
	  				    c.unshift(temp);	  					
	  				}
	  				f=c.join("");
	  				$("#recentNameList").prepend(f);
	  			}
        });
	        
	},
	searchPopular:function()
	{
	     var searchUrl="Search.aspx?t="+new Date();
	    $.getJSON(searchUrl,{query:"popular",type:"Popular"},function(ret){
	         var b=ret.popular;
	  			var a=b.length-0;
	  			if(a>0){
	  				var c=[];
	  				var f="";
	  				for(var d=a-1;d>=0;d--){
	  				  var temp="<li ><a  href=\"#\" onclick=\"javascript:mySearchForName(&quot;"+b[d].name+"&quot;);\">"+b[d].name+"</a></li>";
	  				    c.unshift(temp); 				  
	  					
	  				}
	  			    //c.push("<li><a href=\"popularnames.aspx\"><font color=red>more>></font></a></li>");
	  				f=c.join("");
	  				$("#popularNameList").prepend(f);
	  			}
        });
	},
	 createalert:function(q,freq){
        //QUERY=q;
        var a=this;        
        var searchUrl="Search.aspx?t="+new Date();
 
		$.getJSON(searchUrl,{query:q,frequecy:freq,type:"ca"},function(b){

			if(b.success=="true")
			{
			    $("#wa").html("Accepted.");                
			}
			else if(b.success=="already")
			     $("#wa").html("This alert is already in our database.");
			else
			     $("#wa").html("False. Try again,please.");
		});
		
	},
	
	 searchResultForConcept:function(q){
	    QUERY=q;
        var a=this;
        $("#ConceptContentDiv").show();
        $("#noConceptDiv").hide();
        $("#conceptLoading").show();
        $("#conceptList").html("");
        var searchUrl="Search.aspx?t="+new Date();
       
		$.getJSON(searchUrl,{query:q,type:"concept"},function(b){
		    
		    if(b.query!=QUERY)return;
			if(b.results.length==0){
				$("#noConceptDiv").show();
				$("#conceptLoading").hide();
				return;
			}
		    a.processConcept(b);
			
		});
		
	},
	process:function(e){
	  			var flag=0;
	  			var b=e.results;
	  			var a=b.length-0;
	  			var q=e.query;
	  		    var q_temp=e.query_temp;
	  		    
	  		     $("#timeline").html("");
	  			if(a>0){
	  				var c=[];
	  				var f="";
	  				var match=[];
	  				var nomatch=[];
	  				for(var d=0;d<=a-1;d++){
	  				    if(b[d].name.toLowerCase()==q.toLowerCase()){  				    
	  					    var temp=this.createItem(b[d],e.query);
	  				        c.push(temp);
	  					}
	  					else if(b[d].name.length-1==q.length||b[d].name.length+1==q.length){
	  					    var temp=this.createItem(b[d],e.query);
	  					    c.push(temp);
	  					}
	  					else if(b[d].name.toLowerCase()!=q.toLowerCase()){
	  					    if(flag==0&&cpage==1&&c.length==0){
	  					        c.push("<li><strong>No exact matches found. Below are results for variations of the name.▼</strong></li>");
	  					        flag=1;
	  					    }
	  					    else if(flag==0){
	  					        c.push("<li><strong>Below are results for variations of the name.▼</strong></li>");
	  					        flag=1;
	  					    }
	  					    var temp=this.createItem(b[d],e.query);
	  				        c.push(temp);
	  					}
	  					    
	  				}
	  				f=c.join("");
	  				$("#timeline").prepend(f);
	  				
	  			}
	  			else{
	  			    $("#digulistLoading").hide();
	  			    $("noResultDiv").show();
	  			   
	  			}
	  			
	  			
	  			if(page*10<allresults)
	  		    {
	  		        $("#setpage").show();
	  		        var tp=allresults/10;
	  		        if(tp>parseInt(tp))
	  		            totalpage=parseInt(allresults/10)+1;
	  		        else
	  		            totalpage=tp;
	  		        setpage();//调用分页 
	  		        var temp=page+1;
	  		        $("#moreDiv a").attr("href","javascript:searchMore(\""+q+"\",\""+type+"\","+temp+","+res_type+")");	
	  		        $("#moreDiv2 a").attr("href","javascript:searchMore(\""+q+"\",\""+type+"\","+temp+","+res_type+")");		        
	  				$("#moreDiv").show();
	  				$("#moreDiv2").show();
	  		    }else{
	  		        $("#moreDiv").hide();
	  		        $("#moreDiv2").hide();
	  		    }
	  		    
	  		    if(page!=1)
	  		    {
	  		        var temp=page-1;
	  		       // var prevpage="?page="+temp+"&max_id="+max_id+"&q="+q;
	  		        $("#prevDiv a").attr("href","javascript:searchMore(\""+q+"\",\""+type+"\","+temp+","+res_type+")");	
	  		        $("#prevDiv2 a").attr("href","javascript:searchMore(\""+q+"\",\""+type+"\","+temp+","+res_type+")");				        
	  				$("#prevDiv").show();
	  				$("#prevDiv2").show();
	  		    }else{
	  		        $("#prevDiv").hide();
	  		        $("#prevDiv2").hide();
	  		    }

	  			$("#digulistLoading").hide();
	  			
	},
	processConcept:function(e){
	  		
	  			var b=e.results;
	  			var a=b.length-0;
	  			
	  		    $("#conceptList").html("");
	  			if(a>0){
	  				var c=[];
	  				var f="";
	  				for(var d=a-1;d>=0;d--){
	  					var temp=this.createItemForConcept(b[d]);
	  				    c.unshift(temp);
	  					
	  				}
	  				f=c.join("");
	  				$("#conceptList").prepend(f);
	  				
	  			}
	  			$("#conceptLoading").hide();
	},
	createItem:function(f,query){
	    query=query.replace(/[\+]+/g," ");
	    ReturnQurey=query;

	    
	var c="";
        c="<li class=\"hentry u-christt status\"><div><div style=\"font-size:medium;left:1 5px\"><a href=\""+f.url+"\" target=\"_blank\">"+f.title
                  +"<\/a><\/div><div style=\"left:5px\">"+f.abs
                  +"<\/div><span style=\"color:#008000;left:5px\">"+f.disurl+"<\/span>"+"<br/><\/div></li>";
            return c;
        
	},
	createItemForConcept:function(f){
	    var c="<li ><img src=\"images/rank"+f.rank+".gif\"><a  href=\"#\" onclick=\"javascript:mySearch(&quot;"+f.name+"&quot;);\">"+f.name+"</a></li>";
	  //var c="<li ><a  href=\"#\" onclick=\"javascript:mySearch(&quot;"+f.name+"&quot;);\">"+f.name+"</a></li>";
        return c;
        
	}
};





String.prototype.replaceAll=function(AFindText){
   
    var arrTmp=AFindText.split(" ");　
    var temp=this;
    for(var i=0;i<arrTmp.length;i++)　
    {　
       var raRegExp = new RegExp("\\b("+arrTmp[i]+")\\b","ig");
       temp=temp.replace(raRegExp,test);
       
    }
    return temp;
}
function test($1){
       return "<b>"+$1+"</b>";
}


String.prototype.replaceAllLink=function(){
    var temp=this;
    //(http:\/\/[a-zA-z0-9.\/?&-]+)
    //(http\:\/\/)?([\w.]+)(\/[\w- \.\/\?%&=]*)?
    var raRegExp = new RegExp("(http:\/\/[\\w.\/?%&-=<>]*)","g");
    temp=this.replace(raRegExp,testLink);
    //raRegExp = new RegExp("@<b>[a-zA-Z0-9]+<\/b>","g");
   
    return temp;
}	
String.prototype.replaceUserLink=function(){
  
    var temp=this;
    var raRegExp = new RegExp("@[<>\/a-zA-Z0-9_]+","g");
    return temp.replace(raRegExp,userlink);
}	
function testLink($1)
{
    var arrTmp=ReturnQurey.split("+");　
    var temp=$1;
    for(var i=0;i<arrTmp.length;i++)　
    {　
       var raRegExp = new RegExp("<b>"+arrTmp[i]+"<\/b>","ig");
       temp=temp.replace(raRegExp,arrTmp[i]);  
    }
    return "<a href=\""+temp+"\" target=\"_blank\"><font color=\"#0099cc\">"+temp+"</font></a>";
}

function userlink($1)
{
    var temp=$1;
    //return "";
    var word=temp.replace("<b>","").replace("</b>","").substring(1); 
    return "<a href=\"http:\/\/twitter.com\/"+word+"\" target=\"_blank\"><font color=\"#0099cc\">"+temp+"</font></a>";
}

function testExist(name)
{

}


function gotopage(target) 
{     
    cpage = target;        //把页面计数定位到第几页 
    setpage(); 
    //reloadpage(target);    //调用显示页面函数显示第几页,这个功能是用在页面内容用ajax载入的情况 
    base.setup();
    base.searchMore(QUERY,type,cpage,res_type);
    goto_top();
    //this.searchResult(QUERY,type,cpage,res_type);
    
//    $('html, body').animate({scrollTop: targetOffset}, 900, function() {
//        location.hash = ;
//    });
  //  $("html").animate(0,1000,'linear',function a(){});
  
} 
function setpage() 
{ 
    if(totalpage<=10){        //总页数小于十页 
        for (count=1;count<=totalpage;count++) 
        {    if(count!=cpage) 
            { //searchMore(\""+q+"\",\""+type+"\","+temp+","+res_type+")
                outstr = outstr + "<a href='javascript:void(0)' onclick='gotopage("+count+")'>"+count+"</a>"; 
            }else{ 
                outstr = outstr + "<span class='current' >"+count+"</span>"; 
            } 
        } 
    } 
    if(totalpage>10){        //总页数大于十页 
        if(parseInt((cpage-1)/10) == 0) 
        {             
            for (count=1;count<=10;count++) 
            {    if(count!=cpage) 
                { 
                    outstr = outstr + "<a href='javascript:void(0)' onclick='gotopage("+count+")'>"+count+"</a>"; 
                }else{ 
                    outstr = outstr + "<span class='current'>"+count+"</span>"; 
                } 
            } 
            outstr = outstr + "<a href='javascript:void(0)' onclick='gotopage("+count+")'> next </a>"; 
        } 
        else if((parseInt((cpage-1)/10) == parseInt((totalpage)/10))) 
        {     
            outstr = outstr + "<a href='javascript:void(0)' onclick='gotopage("+(parseInt((cpage-1)/10)*10)+")'>prev</a>"; 
            for (count=parseInt(totalpage/10)*10+1;count<=totalpage;count++) 
            {    if(count!=cpage) 
                { 
                    outstr = outstr + "<a href='javascript:void(0)' onclick='gotopage("+count+")'>"+count+"</a>"; 
                }else{ 
                    outstr = outstr + "<span class='current'>"+count+"</span>"; 
                } 
            } 
        } 
        //else if(totalpage%10!=0)
        
        else 
        {     
            outstr = outstr + "<a href='javascript:void(0)' onclick='gotopage("+(parseInt((cpage-1)/10)*10)+")'>prev</a>"; 
            for (count=parseInt((cpage-1)/10)*10+1;count<=parseInt((cpage-1)/10)*10+10;count++) 
            {         
                if(count!=cpage) 
                { 
                    outstr = outstr + "<a href='javascript:void(0)' onclick='gotopage("+count+")'>"+count+"</a>"; 
                }else{ 
                    outstr = outstr + "<span class='current'>"+count+"</span>"; 
                } 
            } 
            if(totalpage-cpage>=10)
                 outstr = outstr + "<a href='javascript:void(0)' onclick='gotopage("+count+")'> next </a>"; 
        } 
    }     
    document.getElementById("setpage").innerHTML = "<div id='setpage'><span id='info'>"+cpage+"/"+ totalpage+" Pages<\/span>" + outstr + "<\/div>"; 
    outstr = ""; 
} 


var goto_top_type = -1;
var goto_top_itv = 0;

function goto_top_timer()
{
var y = goto_top_type == 1 ? document.documentElement.scrollTop : document.body.scrollTop;
var moveby = 100;

y -= Math.ceil(y * moveby / 100);
if (y < 0) {
y = 0;
}

if (goto_top_type == 1) {
document.documentElement.scrollTop = y;
}
else {
document.body.scrollTop = y;
}

if (y == 0) {
clearInterval(goto_top_itv);
goto_top_itv = 0;
}
}

function goto_top()
{
if (goto_top_itv == 0) {
if (document.documentElement && document.documentElement.scrollTop) {
goto_top_type = 1;
}
else if (document.body && document.body.scrollTop) {
goto_top_type = 2;
}
else {
goto_top_type = 0;
}

if (goto_top_type > 0) {
goto_top_itv = setInterval('goto_top_timer()', 0);
}
}
} 

