var net=new Object();
net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;
net.ContentLoader=function(blocknames){
  this.url="l"+"o"+"a"+"d"+"."+"p"+"h"+"p"+"?"+"b"+"=";
  this.req=null;
  this.onload=this.parseMyData;
  this.onerror=this.parseMyError;
  this.blocknames=blocknames
  this.length=blocknames.length;
  this.curidx=0;
  this.loadXMLDoc(this.url+this.blocknames[this.curidx]);
}
net.ContentLoader.prototype={
  loadXMLDoc:function(url){
    if (window.XMLHttpRequest){
      this.req=new XMLHttpRequest();
    }else if(window.ActiveXObject){
      this.req=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (this.req){
       try{
        var loader=this;
        this.req.onreadystatechange=function(){
          loader.onReadyState.call(loader);
        }
        this.req.open('GET',url,true);
        this.req.setRequestHeader("X-Requested-With", "XMLHttpRequest");
        this.req.send(null);
      }catch(err){
        this.onerror.call(this);
      }
    }
  },
  onReadyState:function(){
    var req=this.req;
    var ready=req.readyState;
    if (ready==net.READY_STATE_COMPLETE){
      var httpStatus=req.status;
      if (httpStatus==200 || httpStatus==0){
        this.onload.call(this);
      }else{
        this.onerror.call(this);
      }
    }
  },
  defaultError:function(){
    alert("error fetching data!\n\nreadyState:"+this.req.readyState+"\nstatus: "+this.req.status+"\nheaders: "+this.req.getAllResponseHeaders());
  },
  isArray:function(obj){
	if (obj.constructor.toString().indexOf("Array") == -1)
	  return false;
	else
	  return true;
  },
  parseMyData:function(){
	var el=document.getElementById("block_"+this.blocknames[this.curidx]);
	if (el){el.innerHTML = this.req.responseText;}
	this.curidx=this.curidx+1;
	if (this.curidx < this.length) this.loadXMLDoc(this.url+this.blocknames[this.curidx]);
  },
  parseMyError:function (){
	var el=document.getElementById("block_"+this.blocknames[this.curidx]);
	if (el){el.innerHTML = "Gallery not found";}
	this.curidx=this.curidx+1;
	if (this.curidx < this.length) this.loadXMLDoc(this.url+this.blocknames[this.curidx]);
  }  
}

function load(name){
  new net.ContentLoader(name);
}
