//---------------------------------------------------------------
// New Horizon Software (c) 2000
//
// GetTitle - Extracts the information into from the XML database
//            and displays it on the screen.
//
//---------------------------------------------------------------

function convert(form,xmldocument,pulldown)
{
//window.alert("Enter convert: pulldown="+pulldown);
   var fname = form.fname.value,
       output = form.output,
       title1 = form.title1.value,
       title2 = form.title2.value,
       urlName = form.urlName;

   if (pulldown==1) title=title1;
   else title=title2;

//window.alert("fname = "+fname+"|output="+output+"|title="+title+"|xmldocument="+xmldocument);
//window.alert("title1="+title1+"|title2="+title2);
   output.value = "";

   var document = parse(fname,xmldocument),
       topLevel = document.documentElement;
   walkNode(topLevel,output,title);
}

function parse(uri,xmldocument)
{
//window.alert("Enter parse:"+uri+xmldocument);
   xmldocument.async = false;
   xmldocument.load(uri);
   
   if(xmldocument.parseError.errorCode != 0)
      alert(xmldocument.parseError.reason);

   return xmldocument;
}


function walkNode(node,output,title)
{
   if(node.nodeType == 1)
   {
      if(node.nodeName == "Movie")
	     walkMovie(node,output,title);
      else
	  {
         var children,
             i;
         children = node.childNodes;
         for(i = 0;i < children.length;i++)
            walkNode(children.item(i),output,title);
      }
   }
}

function walkMovie(node,output,title)
{
   if(node.nodeType == 1 && node.nodeName == "Movie") {     
      var movieTitle,
          ranking,
          rating,
          isvideo,
          myURL,
          description,
          children,
          i;

      children = node.childNodes;
      for(i = 0;i < children.length;i++) {
         var child = children.item(i);
	 if(child.nodeType == 1) {
            if(child.nodeName == "Title")
	       movieTitle = getText(child);
            else if(child.nodeName == "Ranking")
	       ranking = "Kathy's Rating (1-5 stars): "+getText(child);
            else if(child.nodeName == "Rating")
	       rating = "Rated: "+getText(child);
            else if(child.nodeName == "Video") {
	       isvideo = "Video Status: ";
             myURL=getText(child);
//window.alert("myURL="+myURL+" Length="+myURL.length);
             if (myURL.length < 8) isvideo = isvideo+myURL;
             else isvideo=isvideo+"Video Available";
            }
            else if(child.nodeName == "Description") 
               description = getText(child);
	 }
      }
      if (movieTitle == title) 
         output.value += movieTitle + "\r" + 
            ranking + "\r" +
            rating + "\r" +
            isvideo+ "\r\r" +
            description + "\r";
   }
}


function getText(node)
{
   return node.firstChild.data;
}