﻿// JScript File
var categories = new Array();
var doc;
function WorkData(html, thumb, vid, ivideo)
{
    this.htmlText = html;
    this.thumbnail = thumb;
    this.video = vid;
    this.ivideo = ivideo
}
function CategoryData(name, works)
{
    this.name = name;
    this.works = works;
}

function loadXMLDoc(dname) 
{
    var xmlDoc;
    if (window.XMLHttpRequest)
      {
      xmlDoc=new window.XMLHttpRequest();
      xmlDoc.open("GET",dname,false);
      xmlDoc.send("");
      return xmlDoc.responseXML;
      }
    // IE 5 and IE 6
    else if (ActiveXObject("Microsoft.XMLDOM"))
      {
      xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.async=false;
      xmlDoc.load(dname);
      return xmlDoc;
      }
    alert("Error loading document");
    return null;
}

function ParseShowreel(src)
{
    for(var i=0; i< src.childNodes.length; i++)
    {
        var ch = src.childNodes[i];
        if ( ch.nodeName == "category")
        {
            categories.push(ParseCategory(ch));
        }
    }
}
function ParseCategory(src)
{
    var name = "";
    var works = new Array();
    for(var i=0; i<src.childNodes.length; i++)
    {
        var ch = src.childNodes[i];
       
        if(ch.nodeName == "name") {
            name = ch.childNodes[0].nodeValue+"";
        } else if ( ch.nodeName == "items") {
            for(var j=0; j< ch.childNodes.length; j++)
            {
                var gch = ch.childNodes[j];
                if(gch.nodeName=="item")
                {
                    works.push(ParseWork(gch));
                }
            }
        }
    }
    var cat = new CategoryData(name, works);
    return cat;
}
function ParseWork(src)
{
    var thumb = "";
    var vid = "";
    var html = "";
    var ivideo = "";
    
    for(var i=0; i<src.childNodes.length;i++)
    {
        var ch=src.childNodes[i];
        if(ch.nodeName == "thumb") {
            try{thumb = ch.childNodes[0].nodeValue;}catch(e){}
        } else if ( ch.nodeName == "qt" ) {
            try{vid = ch.childNodes[0].nodeValue;}catch(e){}
        } else if ( ch.nodeName == "iph") {
            try{ivideo = ch.childNodes[0].nodeValue;}catch(e){}
        } else if (ch.nodeName == "line") {
            if( html == "" ) {
                html += ch.childNodes[0].nodeValue+"<br />";
            } else {
                html += ch.childNodes[0].nodeValue;
            }
        } 
    }
    
    var wd = new WorkData(html, thumb, vid, ivideo);
    return wd;
}
var date = new Date();
var tick = date.getTime();
doc=loadXMLDoc("../data/SimonC.xml?tick="+tick);
ParseShowreel(doc.getElementsByTagName("showreel")[0]);

