var mturboloader = {
		
	url: '',
    blocks: '',
    complete: false,
    cartLink: false,
    blocksContents: {},
    
    addBlockRequest: function(blockIdentifier) {
    	if (mturboloader.blocks=='') {
    		mturboloader.blocks = 'identifier[]='  + blockIdentifier;
    	} else {
    		mturboloader.blocks = mturboloader.blocks + '&identifier[]=' + blockIdentifier;
    	}
    },
    
    getBlock: function (blockIdentifier) {
		return mturboloader.blocksContents[blockIdentifier].replace(/&amp;MTURBO!/g, "&");
    },
    
    loadBlocks: function(url, referer) {
    	url = url+'?'+this.blocks+'&referer='+referer;
    	new Ajax.Request(url, {
    		method: "get",
    		onSuccess: 
    			function(transport) {

      				if (window.DOMParser) {
      					parser=new DOMParser();
      					xmlDoc=parser.parseFromString(transport.responseText, "text/xml");
      				}
      				else // Internet Explorer
      				{
      					xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
      					xmlDoc.async="false";
      					xmlDoc.loadXML(transport.responseText);
      				}
  					
      				var i;
      				var blocks = xmlDoc.childNodes[0].childNodes;
      				for (i=0; i<blocks.length; i++) {
      				
      					var name = blocks[i].getAttribute('name');
      					var txt = '';
      					if (name!='') {
      						 try {
      							
      						    // Gecko-based browsers, Safari, Opera.
      							txt = (new XMLSerializer()).serializeToString(blocks[i]);
      						  }
      						  catch (e) {
      						    try {
      						      // Internet Explorer
      						      txt = blocks[i].xml;
      						    }
      						    catch (e)
      						    {}
      						  }
      						txt = txt.replace('</block>', '').replace('<block name="'+ name +'">', '');
      						mturboloader.blocksContents[name] = txt;
      					}
      				}
     
      				mturboloader.complete = true;
      				setTimeout('updateMTurboBlocks()', 100);
      			}
    	});
    }
    
}

function updateMTurboBlocks() {
	for (var i in mturboloader.blocksContents) {
		$('layout_' + i).innerHTML = mturboloader.getBlock(i);
	}
}

