﻿// JScript File
function AddEvent (obj, type, handler, capture)
{
     if (obj.addEventListener)
     {
          obj.addEventListener (type, handler, capture);
          //alert ("addEventListener");
          return true;
     }
     else if (obj.attachEvent)
     {
          //alert ("attachEvent");
          return obj.attachEvent ("on" + type, handler);
     }
     else
     {
          //alert ("old");
          obj ["on" + type] = handler;
          return true;
     }
}


function ReadCookie(name) 
{
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) 
    {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
var t;
var interval;
function DoLoad ()
{
     var qs = queryString("activeview");
     var dockettype = queryString("docketType");
     var docketid = queryString("docketid");
     var attrid   = queryString("attrID");
     //alert ("DoLoad (): Acitve View = " + qs );
     
     if( qs.toUpperCase() == "DOCKETVIEW" )
     {
        var nacookie = ReadCookie("NavigatedAway");
        //alert( "nacookie: " + nacookie );
        if( nacookie == "true" )
        {
            CreateCookie("NavigatedAway", "false", 1);
            var docketNumber = ReadCookie("DocketNumber");
            var attributeID = ReadCookie("AttributeID");
            if( dockettype == "Single" )
            {
                docketNumber = docketid;
                CreateCookie("DestinationPanel", "ctl00_ctl00_MainContent_NavTreeSubContent_docketView_ctl06"+"_ContentPanel", 1 );
                CreateCookie("InSingles", "true");
                document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_accordionDocket_AccordionExtender_ClientState').value = "0";
            }
            else
            {
                var wasinsingle = ReadCookie("InSingles");
                if( wasinsingle == "true" )
                {
                    document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_accordionDocket_AccordionExtender_ClientState').value = "-1";
                    EraseCookie("InSingles");
                }
                else
                {
                    var accordionIndex = ReadCookie("AccordionSelectedIndex");
                    EraseCookie("AccordionSelectedIndex");
                    document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_accordionDocket_AccordionExtender_ClientState').value = accordionIndex;
                }
            }
            document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_hiddendocketid').value = docketNumber;
            document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_hiddenattributeid').value = attributeID;
            document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_btnUpdate').click();
            document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_beginclickcycle').value = "start";
            if( dockettype != "Single" )
                t = setTimeout('checkEndRequestStatus()', 500 );
            else
                t = setTimeout('checkEndRequestStatus()', 700 );
         }
         else
         {
            if( dockettype == "Single" )
            {
                //alert( "Single" );
                var docketNumber = docketid;
                CreateCookie("DocketNumber", docketNumber, 1 );
                CreateCookie("DestinationPanel", "ctl00_ctl00_MainContent_NavTreeSubContent_docketView_ctl06"+"_ContentPanel", 1 );
                document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_accordionDocket_AccordionExtender_ClientState').value = "0";
                document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_hiddendocketid').value = docketNumber;
                document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_btnUpdate').click();
                t = setTimeout('checkEndRequestStatus()', 1000 );
            }
         }
     }
     else if( qs.toUpperCase() == "SUMMARYVIEW" ||
              qs.toUpperCase() == "SUMMARYVIEWIROG" ||
              qs.toUpperCase() == "SUMMARYVIEWPROCSCH" ||
              qs.toUpperCase() == "SUMMARYVIEWSRVCLIST" ||
              qs.toUpperCase() == "SUMMARYVIEWDESIGNATION" ||
              qs.toUpperCase() == "DETAILVIEWWITNESS" 
              )
     {
        CreateCookie("NavigatedAway", "true", 1);
     }
     FormInit (document.forms [0]);
     //alert (document.forms [0].b_modified);
}

AddEvent (window, "load", DoLoad, false);
AddEvent (window, "unload", DoUnload, false);

function getShowContent(panelID)
{
    //alert("getShowContent");
    EraseCookie("DestinationPanel");
    CreateCookie("DestinationPanel", panelID );
    EraseCookie("DocketNumber");
    CreateCookie("DocketNumber", document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_hiddendocketid').value );
    CreateCookie("AttributeID", document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_hiddenattributeid').value );
    document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_btnUpdate').click();
    //interval = setInterval("checkForEndofProcessing();", 100);
}

function EndRequestHandler(sender,args)
{
    var destinationPanel = ReadCookie("DestinationPanel");
    //alert("EndRequest -- " + destinationPanel );
    document.getElementById(destinationPanel).innerHTML = document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_UpdatePanel').innerHTML;
    document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_UpdatePanel').innerHTML = "";
}
    
function checkForEndofProcessing()
{
    if( document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_UpdatePanel').innerHTML != "" )
    {
        var panelName = ReadCookie("DestinationPanel");
        document.getElementById(panelName).innerHTML = document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_UpdatePanel').innerHTML;
        document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_UpdatePanel').innerHTML = "";
        clearInterval( interval );
     }
     
}
//AddEvent (window, "endRequest", EndRequestHandler, false );

function checkEndRequestStatus()
{
    var expandedNodesString = ReadCookie("ExpandedTreeNodes");
    EraseCookie("ExpandedTreeNodes");
    //alert( expandedNodesString );
    if( expandedNodesString != null )
    {
        //alert( expandedNodesString ); 
        var expandedNodesArray = new Array();
        
        if(expandedNodesString.indexOf('|') > 0)
        {
            expandedNodesArray = expandedNodesString.split('|');
        }
        else if(expandedNodesString.length > 0)
        {
            expandedNodesArray[0] = expandedNodesString;
        }
        for (index = 0; index < expandedNodesArray.length; index++)
        {
            // alert( "Expanded Node: " + expandedNodesArray[index] );
            var parent = document.getElementById( expandedNodesArray[index] );
            if( parent != null )
                ExpandCollapse__AspNetTreeView(parent.getElementsByTagName('span')[0]);
        }   
    }
    //alert("ClearTimeOut -- " + t );
    clearTimeout(t);
}

function queryString(ji) 
{
    var hu = window.location.search.substring(1);
    var gy = hu.split("&");
    for( i=0; i< gy.length; i++) 
    {
        ft = gy[i].split("=");
        if (ft[0] == ji) 
        {
            return ft[1];
        }
    }
}

function DoUnload ()
{
     //alert ("DoUnload ()");
     //var frm = document.forms [0];
     //var inclick = document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_endrequestdone').value;
     //if( inclick == "false" )
     //{
         // navigating away
     var qs = queryString("activeview");
     //alert ("DoUnLoad (): Acitve View = " + qs );
     if( qs.toUpperCase() == "DOCKETVIEW" )
     {
         CreateCookie("AccordionSelectedIndex",  document.getElementById('ctl00_ctl00_MainContent_NavTreeSubContent_docketView_accordionDocket_AccordionExtender_ClientState').value, 1);
      }
      //CreateCookie("NavigatedAway", "false");
         //WriteHidden("NavigatedAway", "true");
    // }
}

function CreateCookie(name,value,days) 
{
    if (days) 
    {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function EraseCookie(name) 
{
    CreateCookie(name,"",-1);
}

function FormInit (frm)
{
     frm.b_modified = false;
     AddEvent (frm, "submit", FormSubmit, false);

     for (var i = 0; i < frm.elements.length; i++)
      AddEvent (frm.elements [i], "change", FormModified, false);
}

function FormModified ()
{
     //alert ("FormModified ()");
     document.forms [0].b_modified = true;
     //alert (document.forms [0].b_modified);
}

function FormSubmit ()
{
     //alert ("FormSubmit ()  b_modified = " + document.forms [0].b_modified);
     document.forms [0].b_modified = false;
     return true;
}

function getParent( element, parent )
{
    if( typeof element=="string" )
    {
        element=document.getElementById(element);
    }
    if(!element)
    {
        return null;
    }
    var elements=[];
    if(typeof parent!="string")/*no parent: gets all parents till #document*/
    {
	    while(element.parentNode)
	    {
	        element=element.parentNode;
	        elements.unshift(element);
		        if(element==parent){return elements;};
	    }
    }
    else /*string, presumes you want to locate the first parent node that is such TAG*/
    {
        parent=parent.toUpperCase();
	    while(element.parentNode)
	    {
	        element=element.parentNode;
	        elements.unshift(element);
		        if(element.nodeName && element.nodeName.toUpperCase()==parent){return elements;};
	    }
    };
    return elements;
}
