﻿/*****************************************************************
** Common JavaScript AJAX Library
*****************************************************************/
function loadClass()
{
       /* This section will load the links from the Web Service */
       var queryString = location.search.substring(1); // Get the queryString without the ?
       var index = queryString.search("Content="); // See if there is a Content parameter defined
       var args=""; // define the args variable
       if(index>=0) // If the queryString contains 'Content='
       {
            args=queryString.substring(index + 8);
       }
       if(args !="") 
       { 
            var ajaxObject = CreateXmlHttpRequestObject();
            var linkHolder = document.getElementById("controlNav");

            ajaxObject.open("POST", "http://" + location.host + "/classNav.asmx/getClassLinks", true);
            ajaxObject.onreadystatechange = function()
            {
               if(ajaxObject.readyState == READYSTATE_COMPLETE)
               {
                    if(ajaxObject.status == HTTPSTATUS_OK)
                    {
                        var responseItem=ajaxObject.responseXML;
                        var responseString = responseItem.lastChild.childNodes[0].nodeValue;
                        linkHolder.innerHTML="Classroom Links:"; 
                        buildOutput(responseString, linkHolder);                                                   
                    }
               } 
            }                        
            ajaxObject.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
            ajaxObject.send("className=" + args);
         }
 }
// Utility Function to parse the response from getClassLinks and add it to the page
function buildOutput(strBuild, linkHolder)
{
    var items = strBuild.split(";");
    for(i=0;i<items.length; i+=2)
    {
        var listItem = document.createElement("p");
        var currentLink = document.createElement("a");
        currentLink.setAttribute("href", items[i]);
        currentLink.setAttribute("target", "_blank"); 
        currentLink.setAttribute("style","color: blue; text-decoration: underline;"); 
        var txtValue=document.createTextNode(items[i+1]);
        txtValue.innerHTML=items[i+1]; 
        currentLink.appendChild(txtValue); 
        listItem.appendChild(currentLink);
        linkHolder.appendChild(listItem);
    } 
    linkHolder.setAttribute("style","text-align: center");
}

// Utility function to obtain a valid XMLHttpRequest object.
function CreateXmlHttpRequestObject()
{
    var xmlObj;
    if (window.ActiveXObject)
    {
        try
        {
           xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e)
        {
           xmlObj = new ActiveXObject("Msxml2.XMLHTTP");
        }
    }
    else
        xmlObj = new XMLHttpRequest();
        
    return xmlObj;
}

/* Common values for the ReadyState of the XMLHttpRequest object */
var READYSTATE_UNINITIALIZED = 0;
var READYSTATE_LOADING = 1;
var READYSTATE_LOADED = 2;
var READYSTATE_INTERACTIVE = 3;
var READYSTATE_COMPLETE = 4;

/* Common values for HTTP status codes */
var HTTPSTATUS_OK = 200;


// mozXPath [http://km0ti0n.blunted.co.uk/mozxpath/] km0ti0n@gmail.com
// Code licensed under Creative Commons Attribution-ShareAlike License 
// http://creativecommons.org/licenses/by-sa/2.5/
if( document.implementation.hasFeature("XPath", "3.0") )
{
	XMLDocument.prototype.selectNodes = function(cXPathString, xNode)
	{
		if( !xNode ) { xNode = this; } 

		var oNSResolver = this.createNSResolver(this.documentElement)
		var aItems = this.evaluate(cXPathString, xNode, oNSResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null)
		var aResult = [];
		for( var i = 0; i < aItems.snapshotLength; i++)
		{
			aResult[i] =  aItems.snapshotItem(i);
		}
		
		return aResult;
	}
	XMLDocument.prototype.selectSingleNode = function(cXPathString, xNode)
	{
		if( !xNode ) { xNode = this; } 

		var xItems = this.selectNodes(cXPathString, xNode);
		if( xItems.length > 0 )
		{
			return xItems[0];
		}
		else
		{
			return null;
		}
	}

	Element.prototype.selectNodes = function(cXPathString)
	{
		if(this.ownerDocument.selectNodes)
		{
			return this.ownerDocument.selectNodes(cXPathString, this);
		}
		else{throw "For XML Elements Only";}
	}

	Element.prototype.selectSingleNode = function(cXPathString)
	{	
		if(this.ownerDocument.selectSingleNode)
		{
			return this.ownerDocument.selectSingleNode(cXPathString, this);
		}
		else{throw "For XML Elements Only";}
	}

}

function buildSchoolNav()
{
    document.write("<hr /><h1>Classrooms</h1><hr /><p><a href=\"default.aspx?Content=Cst\">Computer Lab</a></p><hr /><p><a href=\"default.aspx?Content=kA\">Kindergarten A</a></p>" +
                   "<p><a href=\"default.aspx?Content=kB\">Kindergarten B</a></p><p><a href=\"default.aspx?Content=g1A\">First Grade A</a></p><p><a href=\"default.aspx?Content=g1B\">First Grade B</a></p>" +
                   "<p><a href=\"default.aspx?Content=g2A\">Second Grade A</a></p><p><a href=\"default.aspx?Content=g2B\">Second Grade B</a></p><p><a href=\"default.aspx?Content=g3A\">Third Grade A</a></p>" +
                   "<p><a href=\"default.aspx?Content=g3B\">Third Grade B</a></p><p><a href=\"default.aspx?Content=g4A\">Fourth Grade A</a></p><p><a href=\"default.aspx?Content=g4B\">Fourth Grade B</a></p><p><a href=\"default.aspx?Content=g5A\">Fifth Grade A</a></p>" +
                   "<p><a href=\"default.aspx?Content=g5B\">Fifth Grade B</a></p><hr /><p><a href=\"default.aspx?Content=jhMath\">Junior High Math</a></p><p><a href=\"default.aspx?Content=jhSS\">Junior High Social Studies</a></p>" +
                   "<p><a href=\"default.aspx?Content=jhLit\">Junior High Literature</a></p><p><a href=\"default.aspx?Content=jhRel\">Junior High Religion</a></p><p><a href=\"default.aspx?Content=jhEng\">Junior High English</a></p>" +
                   "<p><a href=\"default.aspx?Content=jhSci\">Junior High Science</a></p><hr /><p><a href=\"default.aspx?Content=art\">Art</a></p><p><a href=\"default.aspx?Content=band\">Band</a></p>" +
                   "<p><a href=\"default.aspx?Content=choir\">Choir</a></p><p><a href=\"default.aspx?Content=spanish\">Spanish</a></p><hr /><h1>Enrichment</h1><hr /><p><a href=\"default.aspx?Content=Ek\">Kindergarten</a></p>" +
                   "<p><a href=\"default.aspx?Content=E1\">First Grade</a></p><p><a href=\"default.aspx?Content=E2\">Second Grade</a></p><p><a href=\"default.aspx?Content=E3\">Third Grade</a></p>" +
                   "<p><a href=\"default.aspx?Content=E4\">Fourth Grade</a></p><p><a href=\"default.aspx?Content=E5\">Fifth Grade</a></p><p><a href=\"default.aspx?Content=Ejh\">Junior High</a></p><hr />");
}