/*
* This file reads the links.xml file and displays its contents.
* author:V.Sendling-Ortiz, vivortiz@yahoo.com
*/
////////////////////////
//Declarations
////////////////////////
var isFireFox = (!document.layers) && (navigator.userAgent.indexOf('Firefox')!=-1)?true:false;
var xmlFile = "xml/links.xml";
var xmlLinksDoc;

//Is IE or Firefox?
if (isFireFox){	
	//Create an instance of the XML parser in Mozilla browsers
	//namespace, root, file
	xmlLinksDoc=document.implementation.createDocument("","",null);
	xmlLinksDoc.load(xmlFile);
}else{
	xmlLinksDoc = new ActiveXObject("Microsoft.XMLDOM");
}

////////////////////////
//Functions
////////////////////////

//Loads XML file
function loadLinksXML(xmlFile, inRetText)
{  
  if (isFireFox){	
	xmlLinksDoc.async="false";
	xmlLinksDoc.onreadystatechange=verify;	
	xmlLinksObj=xmlLinksDoc.documentElement; //root element 
  }else{
	xmlLinksDoc.async="false";
	xmlLinksDoc.onreadystatechange=verify;
	xmlLinksDoc.load(xmlFile);
	xmlLinksObj=xmlLinksDoc.documentElement; //root element 
  }
  try{ 	  
		if (inRetText){			
		}else{
			displayLinksXML();
		}
  }
  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 (xmlLinksDoc.readyState != 4)
  {
		return false;
  }else{
		//alert(xmlLinksDoc.readyState);
  }
}

//Displays XML file contents
function displayLinksXML(){ 
	if (isFireFox){
		var linksCount = xmlLinksObj.childNodes.length - 9;	
	}else{
		var linksCount = xmlLinksObj.childNodes.length;	
	}
    
	//alert(linksCount);
	//will loop thru from top top bottom XML file.
	for (i=0;i<linksCount;i++)
	{			
		
		//get link url
		var x=xmlLinksDoc.getElementsByTagName('linkurl');		
		document.write("<li>");
		var strLinksNode = x[i].childNodes[0].nodeValue;		
		document.write("<a href='"+strLinksNode+"'>");
		
		//get link names
		var x=xmlLinksDoc.getElementsByTagName('linkname');
		var strLinksNode = x[i].childNodes[0].nodeValue;				
		document.write(strLinksNode + "</a>");
		
		document.write("</li>");
	
	}	
}


//Displays XML file contents in boxes
function displayLinksBoxes(){ 
	if (isFireFox){
		var linksCount = xmlLinksObj.childNodes.length - 9;	
	}else{
		var linksCount = xmlLinksObj.childNodes.length;	
	}
        
	setFileNodeCount(linksCount);	
	
	document.write("<table id='tblBooks' name='tblBooks' border=1>");
	document.write("<tr style='color:white; font-weight:bold;'>");	
	document.write("<td>Link Name</td>");	
	document.write("<td>Link Url Address</td>");
	document.write("<td>Delete</td>");
	document.write("</tr>");	
	
	//alert(linksCount);
	//will loop thru from top top bottom XML file.
	for (i=0;i<linksCount;i++)
	{			
		document.write("<tr>");
		//get link name
		var x=xmlLinksDoc.getElementsByTagName('linkname');				
		var strLinksNode = x[i].childNodes[0].nodeValue;		
		document.write("<td><input id='boxName' name='boxName' type=text value='"+trimAll(strLinksNode)+"' size=40></td>");
		
		//get link url
		var x=xmlLinksDoc.getElementsByTagName('linkurl');
		var strLinksNode = x[i].childNodes[0].nodeValue;						
		document.write("<td><input id='boxUrl' name='boxUrl' type=text value='"+trimAll(strLinksNode)+"' size=100></td>")
		document.write("<td><input  id='chkDelete' name='chkDelete' type='checkbox' onclick='highlight(this);' value='"+i+"'/></td>");
	
		document.write("</tr>");
	}	
	document.write("</table>");
}

//Only return text without formating
function returnText(){ 
    var aboutCount = xmlLinksObj.childNodes.length;	
	var arrCounter;
	var outString = "";
	
	//will loop thru from top top bottom XML file.
	for (i=0;i<aboutCount;i++)
	{	
		//get link names
		var  linkNames=xmlLinksDoc.getElementsByTagName('linkname');
		var strLinksName = linkNames[i].childNodes[0].nodeValue;	
		
		//get url text
		var x=xmlLinksDoc.getElementsByTagName('linkurl');
		var strLinksNodeValue = x[i].childNodes[0].nodeValue;		
			
		//out string
		if (outString == ""){
			outString = strLinksName + ", " + strLinksNodeValue + ";";
		}else{
			outString = outString + strLinksName + ", " + strLinksNodeValue + ";";
		}
	}	
	//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;
}