var xmlhttpCal;
var publicationOnly = false;
var calPage = false;

function loadXMLCal(url)
{
xmlhttpCal=null
// code for Mozilla, etc.
if (window.XMLHttpRequest)
  {
  xmlhttpCal=new XMLHttpRequest()
  }
// code for IE
else if (window.ActiveXObject)
  {
  xmlhttpCal=new ActiveXObject("Microsoft.XMLHTTP")
  }
  
if (xmlhttpCal!=null)
  {
  
   xmlhttpCal.onreadystatechange=state_ChangeCal;
   try{xmlhttpCal.open("POST",url,true);}
   catch(err)
   {
	return;
   }
   xmlhttpCal.setRequestHeader("Content-length", 0);
   xmlhttpCal.send("");
  }
else
  {
   alert("Your browser does not support XMLHTTP.")
  }
}
function state_ChangeCal()
{
// if xmlhttp shows "loaded"
if (xmlhttpCal.readyState==4)
  {
  if (xmlhttpCal.status==200)
    {
        FillCalendars();
        return true;
    }
  else
    {
        return false;
    }
  }
}
function FillCalendars()
{
    var response = xmlhttpCal.responseXML.documentElement;
    var MonthName = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    var curDate = new Date();
    
    //Populate the Court Hearing Calendars
    var calDocs=response.getElementsByTagName("calhearings");
    var curJudge = "";
    var JudgeList = "";
    for(x=0; x<calDocs.length; x++)
    {
        var fileName = calDocs[x].getElementsByTagName("filename")[0].text;
        if(fileName == undefined)
            fileName = calDocs[x].getElementsByTagName("filename")[0].textContent;
        var fileDate = calDocs[x].getElementsByTagName("filedate")[0].text;
        if(fileDate == undefined)
            fileDate = calDocs[x].getElementsByTagName("filedate")[0].textContent;
               
        var hrgDate = new Date(curDate.getFullYear().toString().substring(0,2) + fileName.substring(6,8), parseInt(fileName.substring(2,4), 10)-1, fileName.substring(4,6));
        
        calJudge = fileName.substring(0, 2).toLowerCase();
        if(calJudge != curJudge)
        {
            switch (calJudge)
            {
            case "jw":
               JudgeList = "menu1sub1";
               break;
            case "hb":
               JudgeList = "menu1sub2";
               break;
            case "dd":
               JudgeList = "menu1sub3";
               break;
            }
            curJudge = calJudge;
        }
        SelOffice = "";
        switch (parseInt(fileName.substring(9,11), 10))
        {
            case 3:
                SelOffice = "Columbia";
                break;
            case 2:
                SelOffice = "Charleston";
                break;
            case 7:
                SelOffice = "Spartanburg";
                break;
	        case 9:
                SelOffice = "Beaufort";
                break;
        }
        
        var listItemHrg = document.createElement("li")
        listItemHrg.style.listStyle = "circle";
        listItemHrg.innerHTML = "<a href='calendars/calhearings/"+fileName+"'>" + MonthName[hrgDate.getMonth()] + " " + hrgDate.getDate() + ", " + hrgDate.getFullYear() + " - " + SelOffice + "</a>";
        document.getElementById(JudgeList).appendChild(listItemHrg);
    }
	if(calPage)
		SetBlankLists();


    //Populate the 341 Calendars
    calDocs=response.getElementsByTagName("cal341");
    for(x=0; x<calDocs.length; x++)
    {
        var fileName = calDocs[x].getElementsByTagName("filename")[0].text;
        if(fileName == undefined)
            fileName = calDocs[x].getElementsByTagName("filename")[0].textContent;
        var fileDate = calDocs[x].getElementsByTagName("filedate")[0].text;
        if(fileDate == undefined)
            fileDate = calDocs[x].getElementsByTagName("filedate")[0].textContent;

        //alert(fileName.substring(4,8)+":"+ fileName.substring(0,2)+":"+ fileName.substring(2,4));
        var date341 = new Date("20"+fileName.substring(4,6), parseInt(fileName.substring(0,2), 10)-1, fileName.substring(2,4));
        //alert(date341);
        calChapter = parseInt(fileName.substring(7, fileName.length-4), 10);
        SelOffice = "";
        switch (fileName.substring(6,7))
        {
            case "3":
                SelOffice = "Columbia";
                break;
            case "2":
                SelOffice = "Charleston";
                break;
            case "7":
                SelOffice = "Spartanburg";
                break;
            case "9":
                SelOffice = "Beaufort";
                break;
        }
        
        var listItem341 = document.createElement("li")
        listItem341.innerHTML = "<a href='calendars/cal341/"+fileName+"'>" + MonthName[date341.getMonth()] + " " + date341.getDate() + ", " + date341.getFullYear() + ", Ch. " + calChapter + " - " + SelOffice + "</a>";
        document.getElementById("cal341List").appendChild(listItem341);
    }
    
    //Populate the 362 Calendars
    calDocs=response.getElementsByTagName("cal362");
    var grpMonthFrame = "";
    var titlePos = 0;
    for(x=0; x<calDocs.length; x++)
    {
        
        var fileName = calDocs[x].getElementsByTagName("filename")[0].text;
        if(fileName == undefined)
            fileName = calDocs[x].getElementsByTagName("filename")[0].textContent;
        var fileDate = calDocs[x].getElementsByTagName("filedate")[0].text;
        if(fileDate == undefined)
            fileDate = calDocs[x].getElementsByTagName("filedate")[0].textContent;
        
        var month = 0;
        while(MonthName[month].substring(0,3) != fileName.substring(3,6))
            month++;
        var MonthFrame = MonthName[month] + " " + curDate.getFullYear().toString().substring(0,2) + fileName.substring(6,8) + " - ";
        
        month = 0;
        while(MonthName[month].substring(0,3) != fileName.substring(8,11))
            month++;
        MonthFrame = MonthFrame + MonthName[month] + " " + curDate.getFullYear().toString().substring(0,2) + fileName.substring(11,13);
        
        if(MonthFrame != grpMonthFrame)
        {
            grpMonthFrame = MonthFrame;
            var grpTitle = document.createElement("strong");
            grpTitle.innerHTML = grpMonthFrame;
            titlePos = document.getElementById("cal362List").childNodes.length;
            document.getElementById("cal362List").appendChild(grpTitle);
        }
        
        SelOffice = "";
        switch (fileName.substring(14,17))
        {
            case "col":
                SelOffice = "Columbia";
                break;
            case "cha":
                SelOffice = "Charleston";
                break;
            case "spa":
                SelOffice = "Spartanburg";
                break;
        }

        var listItem362 = document.createElement("li")
        listItem362.innerHTML = "<a href='calendars/cal362/"+fileName+"'>" + SelOffice + "</a>";
        if(SelOffice=="Columbia" && document.getElementById("cal362List").childNodes.length > 0)
            document.getElementById("cal362List").insertBefore(listItem362, document.getElementById("cal362List").childNodes[titlePos+1]);
        else
            document.getElementById("cal362List").appendChild(listItem362);
    }
    
    //Populate the Passive Calendars
    calDocs=response.getElementsByTagName("calpassive");
    grpMonthFrame = "";
    titlePos = 0;
    for(x=0; x<calDocs.length; x++)
    {
        
        var fileName = calDocs[x].getElementsByTagName("filename")[0].text;
        if(fileName == undefined)
            fileName = calDocs[x].getElementsByTagName("filename")[0].textContent;
        var fileDate = calDocs[x].getElementsByTagName("filedate")[0].text;
        if(fileDate == undefined)
            fileDate = calDocs[x].getElementsByTagName("filedate")[0].textContent;
        
        var month = 0;
        while(MonthName[month].substring(0,3) != fileName.substring(3,6))
            month++;
        var MonthFrame = MonthName[month] + " " + curDate.getFullYear().toString().substring(0,2) + fileName.substring(6,8) + " - ";
        
        month = 0;
        while(MonthName[month].substring(0,3) != fileName.substring(8,11))
            month++;
        MonthFrame = MonthFrame + MonthName[month] + " " + curDate.getFullYear().toString().substring(0,2) + fileName.substring(11,13);
        
        if(MonthFrame != grpMonthFrame)
        {
            grpMonthFrame = MonthFrame;
            var grpTitle = document.createElement("strong");
            grpTitle.innerHTML = grpMonthFrame;
            titlePos = document.getElementById("calPassiveList").childNodes.length;
            document.getElementById("calPassiveList").appendChild(grpTitle);
        }
        
        
        SelOffice = "";
        
        switch (fileName.substring(14,17))
        {
            case "col":
                SelOffice = "Columbia";
                break;
            case "cha":
                SelOffice = "Charleston";
                break;
            case "spa":
                SelOffice = "Spartanburg";
                break;
        }

        var listItemPsv = document.createElement("li")
        listItemPsv.innerHTML = "<a href='calendars/calpassive/"+fileName+"'>" + SelOffice + "</a>";
        if(SelOffice=="Columbia" && document.getElementById("calPassiveList").childNodes.length > 0)
            document.getElementById("calPassiveList").insertBefore(listItemPsv, document.getElementById("calPassiveList").childNodes[titlePos+1]);
        else
            document.getElementById("calPassiveList").appendChild(listItemPsv);
        
    }
    
	//Populate the Case Filings Reports
	calDocs = response.getElementsByTagName("rptfilings");
	for(x=0; x<calDocs.length; x++)
	{
		var fileName = calDocs[x].getElementsByTagName("filename")[0].text;
        if(fileName == undefined)
            fileName = calDocs[x].getElementsByTagName("filename")[0].textContent;
        var fileDate = calDocs[x].getElementsByTagName("filedate")[0].text;
        if(fileDate == undefined)
            fileDate = calDocs[x].getElementsByTagName("filedate")[0].textContent;
			
		var monthData = fileName.split("_");
		
		if(monthData[0].toLowerCase() == "ytd")
		{
	        var listItem = document.createElement("li")
	        listItem.style.listStyle = "circle";
    	    listItem.innerHTML = "<a href='pdf/reports/rptfilings/"+fileName+"'>" + monthData[1].split(".")[0] + "</a>";
        	document.getElementById("ytdlist").appendChild(listItem);

		}
		else
		{
			//alert(monthData[0].toLowerCase());
			var monthLI = document.getElementById(monthData[0].toLowerCase());
			monthLI.innerHTML = "<a href=\"pdf/reports/rptfilings/" + fileName + "\">" + monthLI.innerHTML + "</a>";
		}
		


	}
}

function LoadCalendars()
{
	calPage = true;
    loadXMLCal(WebServicePath + "LoadCalendars.aspx?doctype=1");
}

function SetBlankLists()
{
	var listItemNone = document.createElement("li")
    listItemNone.style.listStyle = "none";
    listItemNone.innerHTML = "There are no current calendars available.";
	
	if(document.getElementById("menu1sub1").childNodes.length == 0)
		document.getElementById("menu1sub1").appendChild(listItemNone.cloneNode(true));
	if(document.getElementById("menu1sub2").childNodes.length == 0)
		document.getElementById("menu1sub2").appendChild(listItemNone.cloneNode(true));
	if(document.getElementById("menu1sub3").childNodes.length == 0)
		document.getElementById("menu1sub3").appendChild(listItemNone.cloneNode(true));
}
function LoadCaseFilings()
{
	loadXMLCal(WebServicePath + "LoadCalendars.aspx?doctype=7");
	var curDate = new Date();
	if(curDate.getMonth() == 0)
		curDate.setFullYear(curDate.getFullYear() - 1);
	document.getElementById("curyear").innerHTML = curDate.getFullYear();
}