﻿var QFRequestID=1

function RunQuickFind()
{   
    var input = document.getElementById("QuickFindCriteria");
   var key = input.value    
    if(key && key.length>2)
    {
        SetQFMessage("<span class=\"InProgress\">Getting results. Please wait ...</span>")
        key =  encodeURI(key);
        QuickFindService.GetResults(++QFRequestID,key,QFServiceCompleteCallback,QFServiceErrorCallback);
    }
    else
    {
        QFClearResults();
        QFHideResults();
        SetQFMessage("<span class=\"Info\">Please enter at least 3 letters to quick find.</span>");        
    }
}

function QFShowResults(){ 
    var element;
    
    document.getElementById("PageBody").style.display="none";
    document.getElementById("PageSidebar").style.display="none";
    document.getElementById("PageContent").style.display="none";
    document.getElementById("PageInfoBar").style.display="none";
       
    document.getElementById("QFResults").style.display="";    
}

function QFHideResults(){ 
    document.getElementById("PageBody").style.display="";
    document.getElementById("PageSidebar").style.display="";
    document.getElementById("PageContent").style.display="";
    document.getElementById("PageInfoBar").style.display="";
       
    document.getElementById("QFResults").style.display="none";    
}

function QFClearResults(){ 
    var results = document.getElementById("QFResultsContent");
     results.innerHTML ="";
}

function QFSetResults(html){ 
     var results = document.getElementById("QFResultsContent");
     results.innerHTML = html
   
    QFShowResults()    
}

function QFServiceCompleteCallback(ResponseAsJSON, ResponseAsXml, ResponseAsText)
{         
    var requestID;
    var success;
    var message;
    var resultCount;
    var totalResults;
              
    if(ResponseAsJSON.length!=6) return;    
    
    requestID = ResponseAsJSON[0];
    success = (ResponseAsJSON[1]=="1");
    message = ResponseAsJSON[2];
    resultCount = new Number(ResponseAsJSON[3]);
    totalResults = new Number(ResponseAsJSON[4]);
            
    if(requestID !=(QFRequestID+"")) return;
    
    if(!success){
        SetQFMessage("<span class=\"Error\">An error has occured getting the results.<span>");
        return;
    }
    
    SetQFMessage(message);
    
    if(resultCount>0){
        QFSetResults(ResponseAsJSON[5]);
    }
    else{
         QFHideResults();
         QFClearResults();
    }
} 

function SetQFMessage(message)
{   
    var element = document.getElementById("QFComment");
    element.innerHTML=message;
}

function QFServiceErrorCallback(args)  
{  
    var er = args;     
    SetQFMessage("<span class=\"Error\">An error has occured getting the results.<span>");
} 
 


