﻿

var HiddenPerfClientIDs;
var AccomodationDetailsItemIndex;
var SelectedNPILookupRow;
var HiddenTPI;
function LookupNPI(controlID,HiddenControlID,image) 
{    
    //Set lifetime variables    
    HiddenTPI = HiddenControlID;
   
    image.src="../Images/loading.gif";    

    var NPITextLookup = document.getElementById(controlID).value;    
 
    if(NPITextLookup.length == 10)
    {
       // var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?abcde";       
       //var noalpha = /^[a-zA-Z]*$/
       var nonums = /^[0-9]*$/;
       var firstChar=NPITextLookup.substring(1,1);
       
       var NPITextLookup9 = NPITextLookup.substring(1,NPITextLookup.length);
       //alert(NPITextLookup9);
       if(nonums.test(NPITextLookup9))
       {
            DisplayTPIs("Select the Appropriate NPI", NPITextLookup , "NPILookupControl.LookupNPI_GetData",image);
       }
       else
       {               
            overlib("Please enter a valid NPI/API." , STICKY, CAPTION, "Invalid NPI/API", RIGHT, ABOVE, SHADOW, CLOSECLICK, OFFSETY, 20);             
            image.src="../Images/lookup.gif";
            document.getElementById(controlID).focus();
       }
    }
    else
    {
        overlib("Please enter a valid NPI/API." , STICKY, CAPTION, "Invalid NPI/API", RIGHT, ABOVE, SHADOW, CLOSECLICK, OFFSETY, 20);             
        image.src="../Images/lookup.gif";
        document.getElementById(controlID).focus();
    }
}
function DisplayTPIs(caption, NPI, lookupFunction,image) 
{
      // Yes, this is a function in a function. This allows
      // us to use variables that were passed in to the parent
      // function inside the child callback function. This child
      // function does need to be declared at before it is called
      // so that it is available.
      callback = function(response) 
      {
            if (response.error) 
            {
                  //alert("There was an error while trying to lookup your NPI.  Please try again.");
                  overlib("We could not find that NPI/API.  Please try another." , STICKY, CAPTION, caption, RIGHT, ABOVE, SHADOW, CLOSECLICK, OFFSETY, 20);
                  image.src="../Images/lookup.gif";
            }
            else 
            {
                //alert(response.value);
                  if (response.value) 
                  {
                    //alert(response.value);
                    //document.getElementById(bindToControlID).value=response.value.substr(0,30);
                    overlib(response.value, STICKY,CAPTION,caption, RIGHT, ABOVE, CLOSECLICK, OFFSETY, 10,BGCOLOR, 'transparent');

                    image.src="../Images/lookup.gif";
                  }
                  else 
                  {
                        overlib('No related NPI\' found for: ' + NPI, STICKY, CAPTION, caption, RIGHT, ABOVE, SHADOW, CLOSECLICK, OFFSETY, 20);
                  }
            }
      }
      //var val = NPI+"-"+HiddenPerfValue;
      //UC_ClaimsMain.LookupNPI_GetData(val,callback);
      eval(lookupFunction + "('" + NPI +"',"+ callback + ")");      
      return false;
}

function SelectTPI(selectedTPI,Taxonomy,StreetAddress,ZipCode) 
{
    //alert(AccomodationDetailsItemIndex);
    //alert(HiddenPerfClientIDs);
    SelectedNPILookupRow = selectedTPI;
   rowOnSelect(SelectedNPILookupRow)    
   
 var txtTPI =document.getElementById(HiddenTPI);

    txtTPI.value= selectedTPI;    
    cClick(); 
   // DisplayLookupValues("Select the Appropriate NPI",selectedTPI , "UC_ClaimsMain.LookupNPI_SelectTPI", hiddenFields); 

}

function DisplayLookupValues(caption, selectedTPI, lookupFunction, hiddenFields) 
{
      // Yes, this is a function in a function. This allows
      // us to use variables that were passed in to the parent
      // function inside the child callback function. This child
      // function does need to be declared at before it is called
      // so that it is available.

      callback = function(response) 
      {
      //alert(response);
            if (response.error) 
            {
                  alert(response.error);
            }
            else 
            {
                  if (response.value) 
                  {
                    //alert(response.value);
                    controlValuesArray = new Array();        
                    document.getElementById(bindToControlID).value=response.value.substr(0,30);
                    //overlib(code + ' = ' + response.value, STICKY, CAPTION, caption, CENTER, ABOVE, SHADOW, CLOSECLICK, OFFSETY, 20);
                  }
                  else 
                  {
                    document.getElementById(bindToControlID).value="";
                    overlib('No description found for ' + code, STICKY, CAPTION, caption, CENTER, ABOVE, SHADOW, CLOSECLICK, OFFSETY, 20);
                  }
            }
      }     

        eval(lookupFunction + '(' + selectedTPI +','+ callback + ')');
      return false;
}

var rowMouseOverColor = '#F1F6FD';
var rowMouseOutColor  = '#FFFFFF';
var rowSelectedColor = '#DBE8FA';
function rowOnSelect(TPI){

    var allrows = document.getElementsByTagName("TR");
    
    
    for (r=0;r < allrows.length;r++) {
        if(allrows[r].className == "NPIGridViewRows"){ 
            for (c=0;c < allrows[r].cells.length;c++) {
                if (allrows[r].cells[5].innerHTML == SelectedNPILookupRow){
                    allrows[r].cells[c].style.backgroundColor = rowSelectedColor;
                } else {
                    allrows[r].cells[c].style.backgroundColor = rowMouseOutColor; 
                }      
            }
                                
        }
    }
    
}
function rowOnMouseOver(TPI){

    var allrows = document.getElementsByTagName("TR");
    
    
    for (r=0;r < allrows.length;r++) {
        if(allrows[r].className == "NPIGridViewRows"){ 
            for (c=0;c < allrows[r].cells.length;c++) {
                if (SelectedNPILookupRow != TPI && allrows[r].cells[5].innerHTML == TPI && allrows[r].cells[c].style.backgroundColor != rowSelectedColor){
                    allrows[r].cells[c].style.backgroundColor = rowMouseOverColor;
                } else {
                    //allrows[r].cells[c].style.backgroundColor = rowMouseOutColor; 
                }      
            }
                                
        }
    }
    
}

function rowOnMouseOut(TPI){

    var allrows = document.getElementsByTagName("TR");
    
        
    for (r=0;r < allrows.length;r++) {
        if(allrows[r].className == "NPIGridViewRows"){ 
            for (c=0;c < allrows[r].cells.length;c++) {
                
                if (allrows[r].cells[5].innerHTML != SelectedNPILookupRow && allrows[r].cells[c].style.backgroundColor!=rowSelectedColor){
                    allrows[r].cells[c].style.backgroundColor = rowMouseOutColor;
                }   
            }
                                
        }
    }
    
}

function ShowModalPopup(noteCodes) 
{
    DisplayNoteCodes(noteCodes,"FeeScheduleSearchResults.PopulateNoteCodes");
}

function DisplayNoteCodes(notecodes, lookupFunction) 
{
      // Yes, this is a function in a function. This allows
      // us to use variables that were passed in to the parent
      // function inside the child callback function. This child
      // function does need to be declared at before it is called
      // so that it is available.
      callback = function(response) 
      {
            if (response.error) 
            {
                overlib("We could not find that Note Codes Description." , STICKY, CAPTION, "Note Codes", LEFT, ABOVE, SHADOW, CLOSECLICK, OFFSETY, 20);
            }
            else 
            {
                //alert(response.value);
                  if (response.value) 
                  {
                        overlib(response.value , STICKY, CAPTION, "Note Codes", LEFT, ABOVE, SHADOW, CLOSECLICK, OFFSETX, 100, OFFSETY,100);             
                  }
                  else 
                  {
                    overlib('No related Note codes\' found for: ' + notecodes, STICKY, CAPTION, "Note Codes", LEFT, ABOVE, SHADOW, CLOSECLICK, OFFSETY, 20);
                  }
            }
      }
      eval(lookupFunction + "('" + notecodes + "',"+ callback + ")");      
      return false;
}
