﻿function setgo()
{
window.location.href='http://www.whatiss.com';
}
    
    
    
function redirect(url){
document.location=url;
return false;
}

function showornot(){
if(document.getElementById("limore").style.display=="none")
document.getElementById("limore").style.display="";
else
document.getElementById("limore").style.display="none";
}

document.form1.q.onclick=function(){
if(document.form1.q.value=="Enter question,keywords or phrase")
document.form1.q.value="";
}

document.form1.q.onselect=function(){
if(document.form1.q.value=="Enter question,keywords or phrase")
document.form1.q.value="";
}

document.getElementById("q").onfocus=function(){
if((document.form1.q.value!="Enter question,keywords or phrase")&&(document.form1.q.value!="")){
document.getElementById("suggestpanel").style.display="";//hiding try
}
}


var query;
var array2=[];
var desc2=[];
var suggest=null;
var current=-1;

var script="",wait=false,waitContent=false;
var guid;

var titleHeader;//Title header showing 

var imageid;
var mix= {

suggestions:function()
{
   
    query=document.getElementById("q").value;
    query=query.replace(/^\s+|\s+$/g, '');//Trim

    if(!query)
    {
    return;
    }
    else if(array2[query])
      {
        current=-1;
        var result=array2[query].result;
        
        
        if(result.length==0){
        /*document.getElementById("suggestions").innerHTML='&nbsp; no suggestions available';*/
        return;
        }
        
        suggest=document.createElement("div");
        suggest.className = "suggestions";
        
        var oDiv = null;
        var oSpan = null;
    
        for(var i=0;i<result.length;i++)
        {
        oDiv = document.createElement("div");
               
        //Guid
        
        oSpan = document.createElement("span");
        oSpan.className="hide";
        
        oSpan.innerHTML=result[i].guid.split('#')[1];
        
        oDiv.appendChild(oSpan);       
        
        //image
        
        oSpan = document.createElement("span");
        oSpan.className="hide";
        
        if(result[i].image!=null){
        oSpan.innerHTML=result[i].image.id;
        }
        else
         oSpan.innerHTML="";
        
        oDiv.appendChild(oSpan);
        
        //Order
        
        oSpan = document.createElement("span");
        oSpan.className="hide";
        
        oSpan.innerHTML=i;
        
        oDiv.appendChild(oSpan); 

        oDiv.appendChild(document.createTextNode(result[i].name));
        suggest.appendChild(oDiv);   
        
       oDiv.onmouseover=function(oEvent)
       {
        oEvent = oEvent || window.event;
        oTarget = oEvent.target || oEvent.srcElement;
        
        var oSuggestionNode=this;
                       
        if (oEvent.type == "mouseover") 
        {
            for (var i=0; i < suggest.childNodes.length; i++) {
           
            var oNode = suggest.childNodes[i];
            
            if (oNode == oSuggestionNode) {
            oNode.className = "current";  
            }   
            else if (oNode.className == "current") {
            oNode.className = "";
            }            
            }//End of For
          
        current=oSuggestionNode.childNodes[2].innerHTML;
          
        //Calling Description
        guid=oSuggestionNode.childNodes[0].innerHTML;
        imageid=oSuggestionNode.childNodes[1].innerHTML;
        
        titleHeader=oSuggestionNode.lastChild.nodeValue;
        mix.callDescription();

        }//End if
        
       }//End of Div onmouseover
        
    }//End For loop
        
        //Adding Suggest
        document.getElementById("suggestions").innerHTML="";
        document.getElementById("suggestions").appendChild(suggest);
        /*document.getElementById("suggestpanel").style.visibility="visible";*/
        document.getElementById("suggestpanel").style.display="";
        
      }//End of MainElse IF
      else
      {   
      mix.callSuggestions();                
      }
},



callSuggestions:function()
{
script=document.createElement('script');
script.src='http://api.freebase.com/api/service/search?query='+ query + '&type=/common/topic&limit=13' + '&callback=mix.results';

document.body.appendChild(script);

},



handleKeyDown:function(oEvent)
{
        
    switch(oEvent.keyCode) 
    {
        case 38: //up arrow-previous suggestion
             var cSuggestionNodes = suggest.childNodes;

             if (cSuggestionNodes.length > 0 && current > 0)
             {
             var oSuggestionNode= cSuggestionNodes[--current];
             
             for(i=0;i<suggest.childNodes.length;i++)
             {
              var oNode = suggest.childNodes[i];
              
              if (oNode == oSuggestionNode)
              oNode.className = "current"
              else if (oNode.className == "current")
              oNode.className = "";
            }
              
              //Calling Description
              guid=oSuggestionNode.childNodes[0].innerHTML;

              if(oSuggestionNode.childNodes[1]){
              imageid=oSuggestionNode.childNodes[1].innerHTML;
              }
              else
              imageid="";
              
              titleHeader=oSuggestionNode.lastChild.nodeValue;
              
              mix.callDescription();
              //End 
        
            }
            break;
        case 40: //down arrow -next select suggestion down
              var cSuggestionNodes = suggest.childNodes;
             
             if (cSuggestionNodes.length > 0 && current < cSuggestionNodes.length-1)
             {
             
             var oSuggestionNode = cSuggestionNodes[++current];
             
             for(i=0;i<suggest.childNodes.length;i++)
             {
              var oNode = suggest.childNodes[i];

              if (oNode == oSuggestionNode)
              oNode.className = "current";
              else if (oNode.className == "current")
              oNode.className = "";
            }
            
              //Calling Description
              guid=oSuggestionNode.childNodes[0].innerHTML;
              
              if(oSuggestionNode.childNodes[1]){
              imageid=oSuggestionNode.childNodes[1].innerHTML;
              }
              else
              imageid="";
              
              titleHeader=oSuggestionNode.lastChild.nodeValue;
              
              mix.callDescription();
              //End 
            
            }
            
            break;
        case 13: //enter
            //document.getElementById("suggestpanel").style.visibility="hidden";
            //document.getElementById("try").style.display="block";
            break;
    }
    
},



handleKeyUp:function(oEvent)
{
    //CHECK A
    
       var iKeyCode = oEvent.keyCode;
       
       if (iKeyCode == 8 || iKeyCode == 46) //backspace & delete
       mix.suggestions();
       else if (iKeyCode < 32 || (iKeyCode >= 33 && iKeyCode < 46) || (iKeyCode >= 112 && iKeyCode <= 123)){
       //ignore
       }
       else
       mix.suggestions();
       
},



results:function(data)
{
var query=document.getElementById("q").value;
array2[query]=data;
//document.body.removeChild(script);
mix.suggestions();
},



description:function(data)
{
desc2[guid]=data;
//document.body.removeChild(script);
mix.callDescription();
},


callDescription:function()
{
//Add heading to the descrition
var imagehtml="";
var imagesrc="";
var headerhtml="";

if(imageid!="")
{
imagesrc='http://www.freebase.com/api/trans/image_thumb'+ imageid + '?maxwidth=100&maxheight=100';
imagehtml='<img src="' + imagesrc + '"/>';
}
if(titleHeader!="")
{
headerhtml='<span style="color:#1170a3;white-space:nowrap;line-height:2.2em;margin-left:3px;">' + titleHeader + '</span><br/>';
}

if(desc2[guid])
{

var descr=desc2[guid].result;
if(descr!=null)
document.getElementById("desc").innerHTML=headerhtml + imagehtml + descr.body;
else
document.getElementById("desc").innerHTML="no description available";

}
else
{
script=document.createElement('script');
script.src='http://www.freebase.com/api/trans/blurb/guid/'+ guid  + '?callback=mix.description&maxlength=420';
document.body.appendChild(script);

}

},


init:function()
{

    textbox=document.getElementById("q");

    textbox.onkeyup=function(oEvent){
     
     if (!oEvent){
     oEvent = window.event;
     } 
     mix.handleKeyUp(oEvent);
     
    };
    
    
    textbox.onkeydown=function(oEvent){

    if (!oEvent){
      oEvent = window.event;
    } 
    mix.handleKeyDown(oEvent);
    
    };
    

    textbox.onblur=function(){   
    
    /*document.getElementById("suggestpanel").style.visibility="hidden";*/

    document.getElementById("suggestpanel").style.display="none";
    
    };
    
    }//End of keyup

};//End




/*SRP*/

function showAbstract(ele)
{
ele.nextSibling.className='abstract';
}

function hideAbstract(ele)
{
ele.nextSibling.className='abstract2';
}


