/*
* This file reads the evps.xml file and displays its contents.
* author:V.Sendling-Ortiz, vivortiz@yahoo.com
* If user has IE, then they can use the player, otherwise, they must download them!
*
* March 13, 2008 Added ability to download sound with IE.
*/
////////////////////////
//Declarations
////////////////////////
var isFireFox = (!document.layers) && (navigator.userAgent.indexOf('Firefox')!=-1)?true:false;
var xmlFile = "xml/evps.xml";
var xmlevpsDoc;
var bookCount;

//Is IE or Firefox?
if (isFireFox){	
	//Create an instance of the XML parser in Mozilla browsers
	//namespace, root, file
	xmlevpsDoc=document.implementation.createDocument("","",null);
	xmlevpsDoc.load(xmlFile);
}else{
	xmlevpsDoc = new ActiveXObject("Microsoft.XMLDOM");
}

////////////////////////
//Functions
////////////////////////

//Loads XML file
function loadevpsXML(xmlFile, inRetText)
{  
  if (isFireFox){	
	xmlevpsDoc.async="false";
	xmlevpsDoc.onreadystatechange=verify;	
	xmlevpsObj=xmlevpsDoc.documentElement; //root element 
  }else{
	xmlevpsDoc.async="false";
	xmlevpsDoc.onreadystatechange=verify;
	xmlevpsDoc.load(xmlFile);
	xmlevpsObj=xmlevpsDoc.documentElement; //root element 
  }
  try{ 	  
		if (inRetText){			
		}else{
			displayevpsXML();
		}
  }
  catch(e){
	//document.write("<a href='schedule.htm' style='color:white'><u>Click here</u></a> to see full schedule.");
    //document.write ("<BR><font color=red>Problem displaying XML file (check font non-friendly symbols): " + e.message + "</font><BR><HR>")
  }
}

//Verifies
function verify()
{
  // 0 Object is not initialized
  // 1 Loading object is loading data
  // 2 Loaded object has loaded data
  // 3 Data from object can be worked with
  // 4 Object completely initialized
  if (xmlevpsDoc.readyState != 4)
  {
		return false;
  }else{
		//alert(xmlevpsDoc.readyState);
  }
}

//Displays XML file contents
function displayevpsXML(){ 
	if (isFireFox){
		var evpsCount = xmlevpsObj.childNodes.length - 9;	
	}else{
		var evpsCount = xmlevpsObj.childNodes.length;	
	}
    
	//alert(evpsCount);
	//will loop thru from top top bottom XML file.
	for (i=0;i<evpsCount;i++)
	{			
		
		//get evp url
		var x=xmlevpsDoc.getElementsByTagName('evpurl');				
		var strevpsNode = x[i].childNodes[0].nodeValue;	
		var strEvpPath = "evps/"+strevpsNode;
			
		document.write ("<object classid='clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95' >");
		document.write ("<param name='FileName' value='"+strEvpPath+"' >");
		document.write ("<param name='AutoStart' value='False'>");
		document.write ("</object>");
		
		//get evp names
		var x=xmlevpsDoc.getElementsByTagName('evpname');
		var strevpsNode = x[i].childNodes[0].nodeValue;				
		document.write("<center><b><a href='"+strEvpPath+"' style='color:white; font-weight:normal;' title='Download'>"+ strevpsNode + "</a></b></center><br>");
	
	}	
}


//Displays XML file contents in boxes
function displayevpsBoxes(){ 
	if (isFireFox){
		var evpsCount = xmlevpsObj.childNodes.length - 9;	
	}else{
		var evpsCount = xmlevpsObj.childNodes.length;	
	}
        
	setFileNodeCount(evpsCount);	
	
	document.write("<table id='tblBooks' name='tblBooks' border=1>");
	document.write("<tr style='color:white; font-weight:bold;'>");	
	document.write("<td>EVP Description</td>");	
	document.write("<td>EVP File Name (This is the name of the file that you uploaded. Click Show Evps button below, if you don't remember.)</td>");
	document.write("<td>Delete</td>");
	document.write("</tr>");	
	
	//alert(evpsCount);
	//will loop thru from top top bottom XML file.
	for (i=0;i<evpsCount;i++)
	{			
		document.write("<tr>");
		//get evp name
		var x=xmlevpsDoc.getElementsByTagName('evpname');				
		var strevpsNode = x[i].childNodes[0].nodeValue;		
		document.write("<td><input id='boxName' name='boxName' type=text value='"+trimAll(strevpsNode)+"' size=40></td>");
		
		//get evp url
		var x=xmlevpsDoc.getElementsByTagName('evpurl');
		var strevpsNode = x[i].childNodes[0].nodeValue;						
		document.write("<td>");		
		document.write("<input id='boxUrl' name='boxUrl' type=text value='"+trimAll(strevpsNode)+"' size=100></td>");
		//document.write("<select>");
		//document.write("<option value='"+trimAll(strevpsNode)+"' >"+trimAll(strevpsNode)+"</option>");
		//document.write("</select>");
		document.write("</td>");
		document.write("<td><input  id='chkDelete' name='chkDelete' type='checkbox' onclick='highlight(this);' value='"+i+"'/></td>");
	
		document.write("</tr>");
	}	
	document.write("</table>");
}

function writeList()
{
  document.write(xmlDoc.getElementsByTagName("evpurl")[0].childNodes[0].nodeValue);  
}

//Displays XML file contents as links to NON IE Users
function displayevpsLinks(){ 
	var xmlDoc;
	var xmlObj;
	var evpsCount;	
	var listCounter;
	var strNodeName;
	var strNodeUrl;
	
	if (document.implementation && document.implementation.createDocument){
		xmlevpsDoc.async="false";
		xmlevpsDoc.onreadystatechange=verify;	
		xmlevpsObj=xmlevpsDoc.documentElement;
		//xmlDoc = document.implementation.createDocument("", "", null);
		//xmlDoc.load(xmlFile);
		evpsCount = xmlevpsObj.childNodes.length;
				
		for (i=0;i<evpsCount;i++)
		{	
			listCounter = i + 1;
			//get evp names
			var x=xmlevpsDoc.getElementsByTagName('evpname');				
			var strNodeName = x[i].childNodes[0].nodeValue;		
			
			//get evp url
			var x=xmlevpsDoc.getElementsByTagName('evpurl');
			var strNodeUrl = "evps/" + x[i].childNodes[0].nodeValue;				
			document.write("(" + listCounter + ") <a href='" + strNodeUrl+ "' style='color:white; font-weight:normal;'> "+strNodeName+"</a><br/>");	
			
		}
		
	}else{
		document.write("To view EVPs, please use Internet Explorer.");
	}
	
	bookCount = evpsCount;
	
	xmlDoc = "";
	xmlevpsObj = "";
}

//Only return text without formating
function returnText(){ 
    var aboutCount = xmlevpsObj.childNodes.length;	
	var arrCounter;
	var outString = "";
	
	//will loop thru from top top bottom XML file.
	for (i=0;i<aboutCount;i++)
	{	
		//get evp names
		var  evpNames=xmlevpsDoc.getElementsByTagName('evpname');
		var strevpsName = evpNames[i].childNodes[0].nodeValue;	
		
		//get url text
		var x=xmlevpsDoc.getElementsByTagName('evpurl');
		var strevpsNodeValue = x[i].childNodes[0].nodeValue;		
			
		//out string
		if (outString == ""){
			outString = strevpsName + ", " + strevpsNodeValue + ";";
		}else{
			outString = outString + strevpsName + ", " + strevpsNodeValue + ";";
		}
	}	
	//outString = outString.replace("\n", "")
	return outString;
}

//trims all white spaces
//The allTrim() JavaScript function combines both leftTrim() and rightTrim() functions:
function trimAll(sString)
{
	while (sString.substring(0,1) == ' ')
	{
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' ')
	{
		sString = sString.substring(0,sString.length-1);
	}
return sString;
}

function setFileNodeCount(inbookCount){
	bookCount = inbookCount;
}
function getFileNodeCount(){
	return bookCount;
}
