﻿function PreloaderTextLoader(url, rootElement){
    // create downloader
    this.control = rootElement.getHost();
    this.downloader = this.control.createObject("downloader");
    
    this.PreloaderTextData = new Array();
    // attach event handlers
    this.downloader.addEventListener("downloadFailed", Silverlight.createDelegate(this, this.OnPreloaderTextDownloadFailed));
    this.downloader.addEventListener("completed", Silverlight.createDelegate(this, this.OnPreloaderTextDownloadComplete));
    this.url = url;  
   // download
    this.downloader.open("GET", url);
    this.downloader.send();
 
}
PreloaderTextLoader.prototype.OnPreloaderTextDownloadComplete = function(sender, args)
{ 
    var xml = sender.responseText;
    var doc;
    // create appropiate XML document
    if (window.ActiveXObject) {
        // IE 6 (and 7)
        doc = new ActiveXObject("Microsoft.XMLDOM");
        doc.async="false";
        doc.loadXML(xml);
        if (!doc.loadXML(xml)){
            // handle parse error
            throw doc.parseError.reason;
        }
    }
    else {
        // Firefox and others
        var parser = new DOMParser();
        doc = parser.parseFromString(xml, "text/xml");
    }

    var xmlNodes = doc.getElementsByTagName("entry");
     for(i=0;i<xmlNodes.length;i++){
        this.PreloaderTextData.push(xmlNodes[i].childNodes[0].nodeValue);
        
    }
}
PreloaderTextLoader.prototype.getValues = function()
{
    return this.PreloaderTextData;
}
PreloaderTextLoader.prototype.OnPreloaderTextDownloadFailed = function(sender, args)
{
    alert("download failed: "+ this.url);
}
 



		