//controle of alles geladen is
var RegisteredCalls= new Array();

function RegisterObj(ObjNaam){
        this.name = ObjNaam;
        this.http = getXMLHTTPRequest();
        this.saveinprogress = false;
}

function RegisterHttpxCalls(ObjName){

        var NewCall=true;
        var CallInt = -1;

        NrCalls=RegisteredCalls.length;
        for(x=0;x < NrCalls;x++){
                if(RegisteredCalls[x].name==ObjName){
                        NewCall = false;
                        CallInt = x;
                }
        }

        if(NewCall){
                RegisteredCalls[NrCalls]=new RegisterObj(ObjName);
                CallInt = NrCalls;
        }

        return(CallInt);
}


function HttpxCallAktief(CallId){
        IsActief=false;

        if(CallId > -1){
                if(RegisteredCalls[CallId].http.readyState > 0 && RegisteredCalls[CallId].http.readyState < 4){
                        IsActief=true;
                }
        }

        if(IsActief) alert('Even geduld aub er worden momenteel gegevens opgeslagen');

        return(IsActief);

}

function HttpxAktief(){

        IsActief=false;

        NrCalls=RegisteredCalls.length;
        for(x=0;x < NrCalls;x++){
                if(RegisteredCalls[x].http.readyState > 0 && RegisteredCalls[x].http.readyState < 4){
                        IsActief=true;
                }
        }
        
        return(IsActief);
}

function getXMLHTTPRequest(){

        try {
                req = new XMLHttpRequest();

        } catch(err1) {

                try {
                        req = new ActiveXObject('Msxml2.XMLHTTP');

                } catch (err2) {
                        try {
                                req = new ActiveXObject('Microsoft.XMLHTTP');

                        } catch (err3) {
                                req = false;
                        }
                } 
        }

        return req;
}


function GetRss(DeUrl){

        if(HttpxAktief()){
                //alert('Even geduld aub er worden momenteel gegevens verwerkt');

        } else {
                CallId = RegisterHttpxCalls('MyGetRss');

                if(!HttpxCallAktief(CallId)){
                        RegisteredCalls[CallId].http.open('GET',DeUrl,true);
                        RegisteredCalls[CallId].http.onreadystatechange = httpGetRss;
                        RegisteredCalls[CallId].http.send(null);
                }
        }

}


function LeesNodeContent(TmpItemObj,CurObjName)
{
  var DeContent = '';

  var ParaObj=TmpItemObj.getElementsByTagName(CurObjName);
  if(ParaObj.length>0)
  {
    for(t=0;t<ParaObj[0].childNodes.length;t++)
      DeContent+=ParaObj[0].childNodes[t].nodeValue;

  }

  return DeContent;
}


function httpGetRss(){

        CallId = RegisterHttpxCalls('MyGetRss');

        if(RegisteredCalls[CallId].http.readyState == 4){

                if(RegisteredCalls[CallId].http.status == 200){//de resultaten inlezen

      var RssHolderId='rssholder';
      var RssHolderContent='';
      var maxItems=3;
      var itemCount=0;

                        var resultaat = RegisteredCalls[CallId].http.responseXML.getElementsByTagName('rss')[0];
                        if(resultaat != null){

                                for(c=0;c<resultaat.childNodes.length && itemCount<maxItems;c++)
        {
          if(resultaat.childNodes[c].nodeName=='channel')
          {

                                    for(i=0;i < resultaat.childNodes[c].childNodes.length && itemCount<maxItems;i++)
                                    {
              if(resultaat.childNodes[c].childNodes[i].nodeName=='item')
              {
                var TmpItemObj=resultaat.childNodes[c].childNodes[i];

                var rsstitel       = LeesNodeContent(TmpItemObj,'title');
                var rsslink        = LeesNodeContent(TmpItemObj,'link');
                var rssdatum       = LeesNodeContent(TmpItemObj,'pubDate');
                var rssauteur      = LeesNodeContent(TmpItemObj,'dc:creator');
                var rssomschrijving= LeesNodeContent(TmpItemObj,'description');

                var RssPubDate=new Date(rssdatum);

                var RssMaand = RssPubDate.getMonth()+1;
                var RssDag   = RssPubDate.getDate();
                rssdatum='';
                if(RssMaand<10)
                  rssdatum+='0'+RssMaand+'/';
                else
                  rssdatum+=RssMaand+'/';

                if(RssDag<10)
                  rssdatum+='0'+RssDag;
                else
                  rssdatum+=RssDag;

                var ExtraClass='';
                if(itemCount==0) ExtraClass='class="eerste"';

                RssHolderContent+='<div class="blog"><a '+ExtraClass+' href="'+rsslink+'">';
                  RssHolderContent+='<span class="datum24">' + rssdatum + '&nbsp;</span>\n';
                  RssHolderContent+='<span class="titel14zwart">' + rsstitel + '</span>\n';
                  RssHolderContent+='<div class="description">' + rssomschrijving + '</div>\n';
                  RssHolderContent+='<div class="leesmeer">By: <span>' + rssauteur + '</span></div>\n';
                RssHolderContent+='</a></div>\n';

                itemCount++;

                                                  }
                                                }

                                        }
                                }

        if(RssHolderContent!=''){
         // alert(RssHolderContent);

          document.getElementById(RssHolderId).innerHTML='';
          document.getElementById(RssHolderId).innerHTML=RssHolderContent;
        }

                        }
                }
        }
}

