


function specialEffects()
{
  if((!document.getElementsByTagName) || (!document.getElementById)) return false;

  setScannedImageSize();

  var url = document.location;

  
  
  var topmenu = document.getElementById('menu');
  var menus = [];
  if(topmenu)
  {
    var prxMode;
    var menudisplay = topmenu.style.display;	
    topmenu.style.display = "none";


    menus = topmenu.getElementsByTagName('ul');

    if(menus.length > 0)
    {
      currentURL = url.toString();
      currentURL = currentURL.substring(currentURL.indexOf("mode=") + 5);
     if(currentURL.indexOf("&") > 0) currentURL = currentURL.substring(0,currentURL.indexOf("&"));
      
      switch(currentURL)
      {
	  case "showform"       : currentURL = url.toString(); currentURL = currentURL.substring(currentURL.indexOf("mode=") + 5);
					formname=currentURL.substring(currentURL.length-20);
					if ((formname=="formname=ApptReqDept")||(formname=="formname=ApptReqProv"))
					{
						currentURL="showform&formname=ApptReqCntr";
					}
					break;
        case "labdetail"	: currentURL = "labs"; break;
        case "labchartgraph"	: currentURL = "labs"; break;
        case "displayscans"	: currentURL = "labs"; break;
        case "fshreport"	: currentURL = "fshreportlist"; break;
        case "cccsum"		: currentURL = "cclist"; break;
        case "crmsum"		: currentURL = "cclist"; break;
        case "accesscharge"     : currentURL = "accesslevel"; break;
        case "msgapptmake"	: currentURL = "apptsched"; break;
        case "tktapptmake"	: currentURL = "apptsched"; break;
        case "accountdetail"	: currentURL = "accountsummary"; break;
        case "recentpay"	: currentURL = "accountsummary"; break;
        case "hbaccountdetail"	: currentURL = "accountsummary"; break;
        case "hospaccntdetail"	: currentURL = "accountsummary"; break;
        case "hospstmntdetail"	: currentURL = "accountsummary"; break;
        case "payment" 		: currentURL = "accountsummary"; break;
        case "benefitdetail"	: currentURL = "insurance"; break;
        case "hmsched"		: currentURL = "healthmaint"; break;
        case "deptdrive"	: currentURL = "appointments"; break;
        case "editwalletcard"	: currentURL = "walletcard"; break;
        case "eligibility"	: currentURL = "coverage"; break;
        case "claims"		: currentURL = "coverage"; break;
        case "referrals"	: currentURL = "coverage"; break;
        case "benefitinfo"	: currentURL = "coverage"; break;
        case "visitsummary"	: currentURL = "recentappts"; break;
        case "copaypayment" : currentURL = "appointments"; break;
        case "medadvice"		: currentURL = "msgoptions"; break;
        case "evisit"				: currentURL = "msgoptions"; break;
        case "questionnaire" : if (url.toString().indexOf("mid") > 0)
                               {
                                 currentURL = "messages&mbox=1";
                               }
                               else if (url.toString().indexOf("evQtn") > 0)
                               {
                                 currentURL = "evisit"
                               }
                               else if (url.toString().indexOf("Qtn") > 0)
                               {
                                 currentURL = "appointments";
                               }
                               else if (url.toString().indexOf("quesid") > 0)
                               {
                                 currentURL = "questionnairelist";
                               }
                               break;
        case "apptcancel" : if (url.toString().indexOf("src=apptdetail") > 0)
                            {
                              currentURL = "appointments";
                            }
                            else
                            {
                              currentURL = "apptcancelpage";
                            }
                            break;
        case "apptdircancel" : if (url.toString().indexOf("src=apptdetail") > 0)
                               {
                                 currentURL = "appointments";
                               }
                               else
                               {
                                 currentURL = "apptcancelpage";
                               }
                               break;
        case "provsrch" : if (url.toString().indexOf("mnu=ds") > 0)
                          {
                            currentURL = "apptmake";
                          }
                          else if (url.toString().indexOf("mnu=chg") > 0)
                          {
                            currentURL = "chgpcp";
                          }
                          break;
        case "itinerary" : if (url.toString().indexOf("dat") > 0)
                           {
                             currentURL = "admissions";
                           }
                           break;
        case "histques" : if (url.toString().indexOf("mid") > 0)
                          {
                            currentURL = "messages&mbox=1";
                          }
                          else if (url.toString().indexOf("Qtn") > 0)
                          {
                            currentURL = "appointments";
                          }
                          break;
        case "messages" : if (url.toString().indexOf("mbox=2") > 0)
                          {
                            currentURL = "messages&mbox=2";
                          }
                          else
                          {
                            currentURL = "messages&mbox=1";
                          }
                          break;
        case "apptdetails" : if (url.toString().indexOf("recentvisit=yes") > 0)
                             {
                               currentURL = "recentappts";
                             }
                             else if (url.toString().indexOf("fromIP=1") > 0)
                             {
                               currentURL = "itinerary";
                             }
                             else if (url.toString().indexOf("fromHos=1") > 0)
                             {
                               currentURL = "admissions";
                             }
                             else
                             {
                               currentURL = "appointments";
                             }
                             break;
        case "stdfile" : if (url.toString().indexOf("clinics") > 0)
                         {
                           currentURL = "stdfile&option=clinics";
                         }
                         break;
        case "crr" : if (url.toString().indexOf("fromEv") > 0)
                     {
                       currentURL = "msgoptions";
                     }
                     else if (url.toString().indexOf("proccode") > 0)
                     {
                       currentURL = "labs";
                     }
                     else if (url.toString().indexOf("ndc") > 0)
                     {
                       currentURL = "medslist";
                     }
                     else if (url.toString().indexOf("icd") > 0)
                     {
                       currentURL = "hlthissues";
                     }
                     else
                     {
                       currentURL = "snapshot";
                     }
                     break;
        case "showrep" : if (url.toString().indexOf("submode=") > 0)
                         {
                           pefURL = url.toString();        				
                           pefURL = pefURL.substring(pefURL.indexOf("submode=") + 8);
                           currentURL = "showrep&submode=" + pefURL;
                           break;
                         }
        case "pefltdtl" : if (url.toString().indexOf("fltid=") > 0) 
                          {
                            pefURL = url.toString();
                            pefURL = pefURL.substring(pefURL.indexOf("fltid=") + 6);
                            if (pefURL.toString().indexOf("&") > 0)
                            {
                          	  pefURL = pefURL.substring(0,pefURL.toString().indexOf("&"))
                            }
                            currentURL = "pefltdtl&fltid=" + pefURL;
                            break;
                          }
                          else
                          {
                            currentURL = "pefltlst"; break;
                          }
        case "proxyaccess" : if (url.toString().indexOf("id=") > 0) 
                             {
                               prxURL = url.toString();
                               prxURL = prxURL.substring(prxURL.indexOf("id=") + 3);
                               if (prxURL.toString().indexOf("&") > 0)
                               {
                                 prxURL = prxURL.substring(0,prxURL.toString().indexOf("&"));
                               }
                               currentURL = "proxyaccess&action=switchcontext&src=0&id=" + prxURL;
                               
                               
                               prxMode="proxyaccess";
                               break;
                             }
        default: break;
      }

      var collapsible = (topmenu.className == "collapsible");

      for (var i = 0; i < menus.length; i++)
      {
        if (collapsible) closeMenu(menus[i]);
      
        var items = menus[i].getElementsByTagName('a');
        for (var j = 0; j < items.length; j++)
        {
          var link = items[j].getAttribute('href');
          if(link)
          {
            var mode = link.substring(link.indexOf("mode=") + 5);
            if (currentURL == mode)
            {
              if (collapsible) openMenu(menus[i]);
              if (items[j].parentNode.className != "title") items[j].parentNode.className = "selected";
              prxMode="";
            }
          }
        }
      }
      if (prxMode && prxMode.length > 0)
      {
        for (var i = 0; i < menus.length; i++)
        {
          var items = menus[i].getElementsByTagName('a');
          for (var j = 0; j < items.length; j++)
          {
            var link = items[j].getAttribute('href');
            if(link)
            {
              var mode = link.substring(link.indexOf("mode=") + 5);
              if (prxMode == mode)
              {
                if (collapsible) openMenu(menus[i]);
                if (items[j].parentNode.className != "title") items[j].parentNode.className = "selected";
                prxMode="";
                j=items.length;
                i=menus.length;
              }
            }
          }
        }
      }
    }
  topmenu.style.display = menudisplay;	
  }

  if(url.toString().indexOf("printmode") == -1)
  {
    try {
      generateTableEffects();
    }
    catch(err) { }
  }

  
  
  
  
  
  
  var forms = document.getElementsByTagName('form');
  for (var i = 0; i < forms.length; i++)
  {
    forms[i].setAttribute('autocomplete','off');
  }
  var inputs = document.getElementsByTagName('input');
  for (var i = 0; i < inputs.length; i++)
  {
    inputs[i].setAttribute('autocomplete','off');
  }


  
  
  if(url.toString().indexOf("printmode") == -1)
  {
    var focusSet = false;
    for (f = 0; f < document.forms.length; f++)
    {
      if (document.forms[f].parentNode.id != "menu" && document.forms[f].id != "proxysignup")
      {
        for (i = 0; i < document.forms[f].length; i++)
        {
          if (document.forms[f][i].type != "hidden" &&
              document.forms[f][i].className.indexOf("readonly") == -1 &&
              document.forms[f][i].className.indexOf("hidden") == -1 &&
              document.forms[f][i].className.indexOf("button") == -1 &&
              document.forms[f][i].className.indexOf("radio") == -1 &&
              document.forms[f][i].nodeName.toLowerCase() != "fieldset" &&
              document.forms[f][i].disabled != true)
          {
              document.forms[f][i].focus();
              focusSet = true;
          }
          if (focusSet) break;
        }
      }
      if (focusSet) break;
    }
    
    if(url.toString().indexOf("reply") > 0)
    {
      var tas = document.getElementsByTagName('textarea');
      if (tas.length > 0)
      {
        tas[0].focus();
      }
    }
  }

  if(!window.location.hash) {
	  setTimeout('window.scroll(0,0);',1) 
  }

  
  var printbar = document.getElementById("printbar")
  if(printbar)
  {
    printbar.style.display = "block";
  }
  if(url.toString().indexOf("printmode") > 0)
  {
    
    var mainTag;
    if(document.getElementById("main")) 
    {
      mainTag = document.getElementById("main");
    }
    else
    {
      mainTag = document.getElementById("datatile");
    }
    var links = mainTag.getElementsByTagName("a")
    for (var i = 0; i < links.length; i++)
    {
      links[i].href = "";
      links[i].onclick = "";
      links[i].removeAttribute("href");
      links[i].removeAttribute("onclick");
      links[i].removeAttribute("title");
      links[i].removeAttribute("target");
    }
    var rows = mainTag.getElementsByTagName("tr")
    for (var i = 0; i < rows.length; i++)
    {
      rows[i].onclick = "";
      rows[i].removeAttribute("onclick");
      rows[i].removeAttribute("title");
    }
    var inputs = mainTag.getElementsByTagName("input")
    for (var i = 0; i < inputs.length; i++)
    {
      inputs[i].disabled = true;
    }
    var selects = mainTag.getElementsByTagName("select")
    for (var i = 0; i < selects.length; i++)
    {
      selects[i].disabled = true;
    }
    var textareas = mainTag.getElementsByTagName("textarea")
    for (var i = 0; i < textareas.length; i++)
    {
      textareas[i].disabled = true;
    }
  }
}






function closeMenu(menu)
{
  var image;
  menu.className = "closed";
  image = menu.getElementsByTagName("img")[0];
  if(image && image.className == "arrow")
  {
    image.setAttribute("src","en-US/images/menuclosed.gif");
  }

  submenus = menu.getElementsByTagName('li');
  for (var j = 1; j < submenus.length; j++)
  {
    submenus[j].style.display = "none";
  }

  submenus[0].onclick = function()
  {
    openMenu(this.parentNode);
  };
}


function openMenu(menu)
{
  var image;
  
  var menus = menu.parentNode.parentNode.getElementsByTagName('ul');
  for (var i = 0; i < menus.length; i++)
  {
    closeMenu(menus[i]);
  }

  menu.className = "";
  image = menu.getElementsByTagName("img")[0];
  if (image && image.className == "arrow") 
  {
     image.setAttribute("src","en-US/images/menu.gif");
  }

  submenus = menu.getElementsByTagName('li');
  for (var j = 1; j < submenus.length; j++)
  {
    submenus[j].style.display = "block";
  }
  submenus[0].onclick = function()
  {
    closeMenu(this.parentNode);
  };
}



function setScannedImageSize() {
  var img, w, h;
  var maxW = 500;
  if (img = document.getElementById("scan") ) {
    w = img.width;
    if( w > maxW) {
      h = img.height * maxW / w;
      h = h - h % 1;
      w = maxW;
      img.style.height = "" + h + "px"
      img.style.width= "" + w + "px"
    }
  }
}
