﻿// JScript File
function resLocs_ShowDiv(divid)
{
   if (document.layers) 
   {document.layers[divid].visibility="show";}
   else 
   {document.getElementById(divid).style.visibility="visible";}
}

function resLocs_HideDiv(divid)
{
   if (document.layers) 
   {document.layers[divid].visibility="hide";}
   else 
   {document.getElementById(divid).style.visibility="hidden";}
}

function resLocs_BodyLoad()
{
    resLocs_HideDiv("resLocs_searchresults");
}

function resLocs_ClearResults()
{   
	var resultsdiv = document.getElementById("resLocs_searchresults");
	var counter = resultsdiv.childNodes.length;
	for (var i = counter -1; i >= 0; i--)
	{
		resultsdiv.removeChild(resultsdiv.childNodes[i]);
	}
}


function resLocs_LoadResults(searchterm,e)
{
	 var userkey

     if (window.event)
        userkey = window.event.keyCode;     //IE
     else
        userkey = e.which;                  //firefox
    
    if (userkey == 40)
	{
		resLocs_HideDiv("resLocs_searchresults");
		return;
	}

	
	if (searchterm.length == 0)
	{
		resLocs_ClearResults();
		resLocs_HideDiv("resLocs_searchresults");
		return;
	}
	
	// fetch results from server side
	// this is our actual ajax call
	Anthem_InvokePageMethod('Locs_RetrieveRows',[searchterm] , resLocs_LoadResultsCallback);

}


function resLocs_LoadResultsCallback(result)
{
	// the xmlhttprequest will return to this function.
	resLocs_ShowDiv("resLocs_searchresults");
	resLocs_ClearResults();
	
	// callback results from Ajax call
	// we'll assign the inbound DataTable
	// to the items variable
	var items = result.value;
	var count = items.Rows.length;
	
	var divResults = document.getElementById("resLocs_searchresults");
	var tblTable = document.createElement("table");
	tblTable.setAttribute("width", "386");

	var tablebody = document.createElement("tbody");
	var tablerow, tablecell, tablenode;
	
	// loop through each of the rows in the DataTable
    if (count == 0)
    {
	    resLocs_HideDiv("resLocs_searchresults"); 
	}
	else 
	{
	    var currCORDER = 1;
	
	    for (var i = 0; i < count; i++)
	    {

		    if (currCORDER != items.Rows[i].corder && i!=0)
		    {
		        tablerow = document.createElement("tr");
		        tablerow.setAttribute("height", "1");
		        tablecell = document.createElement("td");
		        tablecell.setAttribute("id", "reslocsep_row");
		        tablecell.setAttribute("name", "reslocsep_row");
		        tablecell.style.backgroundColor="#c4c4c4";
		        tablenode = document.createTextNode("");
		        tablecell.appendChild(tablenode);
		        tablerow.appendChild(tablecell);
		        tablebody.appendChild(tablerow);
		    }

		    var currenttext = items.Rows[i].locresult;
    		
		    tablerow = document.createElement("tr");
		    tablecell = document.createElement("td");
		    if (items.Rows[i].corder == 1)
		    {
		        tablecell.style.fontWeight="Bold";
		    }
		    tablecell.setAttribute("id", "reslocs_row");
		    tablecell.setAttribute("name", "reslocs_row");
		    tablecell.onmouseover = function(){this.className='mouseOver';};
		    tablecell.onmouseout = function(){this.className='mouseOut';};
		    tablecell.setAttribute("border", "0");
		    tablecell.onclick = function(){resLocs_ReplaceInput(this);};
		    
		    if (currenttext.length >=30)
		    {
		        
		        tablecell.setAttribute("title", currenttext);
		        currenttext = currenttext.substring(0,30) + "...";
		        tablenode = document.createTextNode(currenttext);
		    }
		    else
		    {
		        tablenode = document.createTextNode(currenttext);
		    }
		    
		    tablecell.appendChild(tablenode);
		    tablerow.appendChild(tablecell);
		    tablebody.appendChild(tablerow);
		    
		    currCORDER = items.Rows[i].corder;
	    }
	
	    tblTable.appendChild(tablebody);
	    tblTable.style.fontSize="8pt";
	    tblTable.style.backgroundImage="URL(images/hp_divgrad.gif)";
	    tblTable.style.backgroundRepeat="no-repeat";
	    tblTable.style.backgroundPosition="bottom left";
	    divResults.appendChild(tblTable);
	    resLocs_PositionDiv();
    }
}

function resLocs_ReplaceInput(tablecell)
{
	// swap Input box value with the value selected by
	// the users mouse click

	if(document.all)
	{
	    var inputbox = document.getElementById("txtreslocssearch");    // MSIE
	}
	else if (document.layers)
	{
		var inputbox = document.form1.txtreslocssearch;         //NETSCAPE
	}
	else if (document.getElementById)
	{
    	var inputbox = document.form1.txtreslocssearch;         //Mozilla
	}

	var User_Input;
	
	User_Input = inputbox.value;
	
	inputbox.value = tablecell.firstChild.nodeValue;

    Anthem_InvokePageMethod('RecordLocation',[User_Input, tablecell.firstChild.nodeValue] , resLocs_CompleteInput);
	
}

function resLocs_CompleteInput()
{
	resLocs_ClearResults();
	resLocs_HideDiv("resLocs_searchresults");
}


function resLocs_keydown(e)
{
   
   var userkey

   if(window.event)
         userkey = window.event.keyCode;     //IE
   else
         userkey = e.which;                  //firefox
    

    if (userkey == 13)
    {
        Dosearch('PERSON');
        return false;
    } 
    else 
    { 
        if (userkey == 40)
        {
        
            // *** Find Input box ***                 
        
        	if(document.all)
	        {
                var inputbox = document.getElementById("txtreslocssearch");
            }
            else if (document.layers)
            {
                var inputbox = document.form1.txtreslocssearch;
            }
            else if (document.getElementById)
            {
                var inputbox = document.form1.txtreslocssearch;
	        }


            
            // *** Find the first value in the dropdown list ***         
            
            if(document.all)
            {
                // *** Check if we have a control array or just 1 value ****
                if (isNaN(reslocs_row.length))
                {
                        var inputvalue = reslocs_row.innerText; 
                }
                else
                {
                    var inputvalue = reslocs_row[0].innerText; 
                }
            }
            else if (document.layers)
            {
                var inputvalue = document.form1.reslocs_row;
            }
            else if (document.getElementById)
            {
                var FireFoxCell;
                FireFoxCell = document.getElementById("reslocs_row");
                inputvalue = FireFoxCell.firstChild.nodeValue;
            }
            
            //inputbox.value = inputvalue;
            
	        var User_Input;
	
	        User_Input = inputbox.value;
	
	        inputbox.value = inputvalue;

            Anthem_InvokePageMethod('RecordLocation',[User_Input, inputvalue] , resLocs_CompleteRightArrowInput);

            return false;
            
            

        }
        else
        {
            return true;
        }
    }
}


function resLocs_CompleteRightArrowInput()
{
    // *** Hide the Classifications Panel *** 
    
    resLocs_HideDiv("resLocs_searchresults");
    Dosearch('PERSON');
}



function resLocs_PositionDiv()
{
    // *** Find Input box ***                 

	if(document.all)
    {
        var inputbox = document.getElementById("txtreslocssearch");
    }
    else if (document.layers)
    {
        var inputbox = document.form1.txtreslocssearch;
    }
    else if (document.getElementById)
    {
        var inputbox = document.form1.txtreslocssearch;
    }

    if (document.layers) 
    {
        document.layers["resLocs_searchresults"].top=inputbox.offsetTop+122;
        document.layers["resLocs_searchresults"].left=inputbox.offsetLeft+212;
    }
    else 
    {
        document.getElementById("resLocs_searchresults").style.top=inputbox.offsetTop+122;
        document.getElementById("resLocs_searchresults").style.left=inputbox.offsetLeft+212;
    }
}


