﻿    // JScript File
  var req;
  //var XMLProxyURL = 'http://localhost/xmlproxy/xmlproxy.aspx?url=';

  function loadXMLDoc(url, divTag, domain) {
     var XMLProxyURL = '/xmlproxy/xmlproxy.aspx?url=';
     var myDivTag;
     req = false;
     myDivTag = document.getElementById(divTag); 

    // alert(url);
    // alert("Entered loadXMLDoc");
    // alert("window.XMLHttpRequest = " + window.XMLHttpRequest);
     if(window.XMLHttpRequest) {
        try {
               req = new XMLHttpRequest();
          } catch(e) {
           req = false;
          }
      // branch for IE/Windows ActiveX version
      } else if(window.ActiveXObject) {
           try {
                  req = new ActiveXObject("MSXML2.XMLHTTP.3.0");
           } catch(e) {
            // alert("MSXML2.XMLHTTP.3.0 Failed: " + e.description);
           try {
                // alert("Backup ActiveXObject ");
                req = new ActiveXObject("Microsoft.XMLHTTP");
           } catch(e) {
            // alert("Microsoft.XMLHTTP Failed: " + e.description);
            req = false;
          }
        }
      }
      if(req) {
        req.onreadystatechange = ProcessReqChange(myDivTag);
        //myDivTag.innerHTML += 'http://' + domain + XMLProxyURL + url;
        req.open("GET", 'http://' + domain + XMLProxyURL + url, true);
        req.send(null);
      }
  }

  function ProcessReqChange(myDivTag) {
      var doc; 
      // only if req shows "loaded"
      if (req.readyState == 4) {
          // only if "OK"
          if (req.status == 200) {
             doc = req.responseXML; 
             var content='';
             content=determineFeedType(doc); 
             myDivTag.innerHTML += content; 
          } else {
             //alert("There was a problem retrieving the XML data:\n" + req.statusText);
             myDivTag.innerHTML += 'There was an error retrieving the data';
          }
      }
  }
  
  // Load Google Reader Feed
  function loadGoogleReaderFeed(url, divTag, domain) {
  
      var XMLProxyURL = '/xmlproxy/xmlproxy.aspx?url='
      var completeURL = 'http://' + domain + XMLProxyURL + url;
  
      $.get(completeURL,function(data){
        var myDivTag = document.getElementById(divTag); 
        //myDivTag.innerHTML +=completeURL;
        content=LoadGoogleReaderList(data); 
        myDivTag.innerHTML += content; 
       });    
  }

  function LoadGoogleReaderList(xmlDoc) {
    var newContent = '';
    // get a reference to the root-element "rss"
    var root = xmlDoc.getElementsByTagName("feed")[0];   
    // get reference to "channel" element
    var entries = root.getElementsByTagName("entry");
    
    newContent += '<ul>';
    for (var itemCounter = 0; itemCounter < entries.length; itemCounter++) {
        var titles = entries[itemCounter].getElementsByTagName("title");
        var links = entries[itemCounter].getElementsByTagName("link");

        newContent += WriteFormatList(links[0].getAttribute("href"), titles[0].firstChild.nodeValue);
        
    }
    newContent += '</ul>';
    return newContent
  }
  
  // Feedburner Feed
  function loadFeedBurnerFeed(url, divTag, domain) {
  
      var XMLProxyURL = '/xmlproxy/xmlproxy.aspx?url='
      var completeURL = 'http://' + domain + XMLProxyURL + url;
  
      $.get(completeURL,function(data){
        var myDivTag = document.getElementById(divTag); 
        //myDivTag.innerHTML +=completeURL;
        content=LoadFeedBurnerList(data); 
        myDivTag.innerHTML += content; 
       });    
  }
 
  function LoadFeedBurnerList(xmlDoc) {
    var newContent = '';
    // get a reference to the root-element "rss"
    var root = xmlDoc.getElementsByTagName("rss")[0];   
    // get reference to "channel" element
    var entries = root.getElementsByTagName("item");
    // now get all "item" tags in the channel
    newContent += '<ul>';
    for (var itemCounter = 0; itemCounter < entries.length; itemCounter++) {
        var titles = entries[itemCounter].getElementsByTagName("title");
        var links = entries[itemCounter].getElementsByTagName("link");

        newContent += WriteFormatList(links[0].firstChild.nodeValue, titles[0].firstChild.nodeValue);
        
    }
    newContent += '</ul>';
    return newContent  
  }

  // DIGG FEED
  function loadDiggFeed(url, divTag, domain) {
  
      var XMLProxyURL = '/xmlproxy/xmlproxy.aspx?url='
      var completeURL = 'http://' + domain + XMLProxyURL + url;
      var myDivTag = document.getElementById(divTag); 
      //myDivTag.innerHTML +=completeURL;
  
      $.get(completeURL,function(data){
        content=LoadDiggList(data); 
        myDivTag.innerHTML += content; 
       });    
  }
 
  function LoadDiggList(xmlDoc) {
    var newContent = '';
    var root = xmlDoc.getElementsByTagName("stories")[0]; 
    var titles = root.getElementsByTagName("title");
    var stories = root.getElementsByTagName("story");
    
    newContent += '<ul>';
    for (var itemCounter = 0; itemCounter < stories.length; itemCounter++) {
        newContent += WriteFormatDiggList(stories[itemCounter].getAttribute("href"), titles[itemCounter].firstChild.nodeValue);
    }  
    newContent += '</ul>';
    return newContent
  }
  
  function WriteFormatDiggList(link, title) {
    var content = "";
    
    content += '<li>';
    if (link == null) {
        content += '<span style="">' + title + '</span>';
    } else {
        content += WriteLink(link, title);
    }
    content += '</li>';
    
    return content;
  }  
  
  // OPML FEED
  function loadOPMLFeed(url, divTag, domain, local) {
    var XMLProxyURL;
    var completeURL;
    if (local == true) {
      completeURL = url
    } else {
      XMLProxyURL = '/xmlproxy/xmlproxy.aspx?url='
      completeURL = 'http://' + domain + XMLProxyURL + url;
    }
      $.get(completeURL,function(data){
        var myDivTag = document.getElementById(divTag); 
        //myDivTag.innerHTML +=completeURL;
        content=LoadOPMLList(data); 
        myDivTag.innerHTML += content; 
       });    
  }
 
  function LoadOPMLList(xmlDoc) {
    var newContent = '';
    var root = xmlDoc.getElementsByTagName("opml")[0]; 
    var head = root.getElementsByTagName("head")[0];
    var body = root.getElementsByTagName("body")[0];
    var outline = body.getElementsByTagName("outline");
    
    newContent += '<ul>';
    for (var itemCounter = 0; itemCounter < outline.length; itemCounter++) {
        var noShow = false;
        if (outline[itemCounter].getAttribute("htmlUrl") == null) {
            if (outline[itemCounter].getAttribute("title") == 'Private') {
                noShow = true;
            } else {
                noShow = false;
                newContent += WriteFormatOPMLList(null, outline[itemCounter].getAttribute("title"));
            }
        } else {
            if (noShow == false) {
                newContent += WriteFormatOPMLList(outline[itemCounter].getAttribute("htmlUrl"), outline[itemCounter].getAttribute("title"));
            }
        }
    }  
    newContent += '</ul>';
    return newContent
  }

  function WriteFormatOPMLList(link, title) {
    var content = "";
    
    content += '<li>';
    if (link == null) {
        content += '<span style="">' + title + '</span>';
    } else {
        content += WriteLink(link, title);
    }
    content += '</li>';
    
    return content;
  }  
  
   function determineFeedType(xmlDoc) {
      var root = xmlDoc.getElementsByTagName("feed")[0]; 
      var content = '';
      if (root != null) {
        content = LoadAtomList(xmlDoc);
      } else {
        content = LoadRSSList(xmlDoc);
      }
      return content;
   }

  function LoadRSSList(xmlDoc) {
    var newContent = '';
    // get a reference to the root-element "rss"
    var root = xmlDoc.getElementsByTagName("rss")[0];   
    // get reference to "channel" element
    var entries = root.getElementsByTagName("item");
    // now get all "item" tags in the channel
    newContent += '<ul>';
    for (var itemCounter = 0; itemCounter < entries.length; itemCounter++) {
        var titles = entries[itemCounter].getElementsByTagName("title");
        var links = entries[itemCounter].getElementsByTagName("link");

        newContent += WriteFormatList(links[0].firstChild.nodeValue, titles[0].firstChild.nodeValue);
        
    }
    newContent += '</ul>';
    return newContent  }

  function LoadAtomList(xmlDoc) {
    var newContent = '';
    // get a reference to the root-element "rss"
    var root = xmlDoc.getElementsByTagName("feed")[0];   
    // get reference to "channel" element
    var entries = root.getElementsByTagName("entry");
    
    newContent += '<ul>';
    for (var itemCounter = 0; itemCounter < entries.length; itemCounter++) {
        var titles = entries[itemCounter].getElementsByTagName("title");
        var links = entries[itemCounter].getElementsByTagName("link");

        newContent += WriteFormatList(links[0].getAttribute("href"), titles[0].firstChild.nodeValue);
        
    }
    newContent += '</ul>';
    return newContent
  }
  
  function WriteLink(link, title) {
    var content = "";
    content += '<a href=' + link + '>';
    content += title;
    content += '</a>';
    return content;
  }
  
  function WriteFormatList(link, title) {
    var content = "";
    
    content += '<li>';
    if (link == null) {
        content += '<span style="">' + title + '</span>';
    } else {
        content += WriteLink(link, title);
    }
    content += '</li>';
    
    return content;
  } 
   
  function StripString(searchString, orgString) {
    var returnValue = '';
    
    var index = orgString.indexOf(searchString, 0);
    returnValue = orgString.substring(index + 1, orgString.length);
    return returnValue;
  }
  


      

//P5745745794982103678990751644510041
//loadXMLDoc("http://rss.netflix.com/TrackingRSS?id=P1717377806231345691973776688273586");

