/*  BlockAUths.js
 *
 *  Javascript for use with the Block Authorization including Ajax calls 
/*--------------------------------------------------------------------------*/

function StringBuffer() { 
   this.buffer = []; 
}

StringBuffer.prototype.append = function append(string) { 
   this.buffer.push(string); 
   return this; 
}; 

StringBuffer.prototype.toString = function toString() { 
   return this.buffer.join(""); 
};

function encodeRefer(refer) {
   return escape(refer);
}

function showprogress(blockId) {

	var html=new StringBuffer();
	html.append("<img src='/images/indicator.gif' alt='Processing...' /> Checking your authorization...");

	var OUTPUT = "blockId_" + blockId;
	$(OUTPUT).innerHTML = html.toString();
}

function processBlockAuthsXMLResponse(req)
{   
	var xmlDoc = req.responseXML;
	var blockIdTags = xmlDoc.getElementsByTagName("blockId");
	var blockId = blockIdTags[0].firstChild.nodeValue;
	var blockContentTags = xmlDoc.getElementsByTagName("blockContent");
	var blockContent = blockContentTags[0].firstChild.nodeValue;
	var OUTPUT = "blockId_" + blockId;
	
	var html=new StringBuffer();
	html.append(blockContent);

	$(OUTPUT).innerHTML = html.toString();
} 

function checkBlockAuths(pid, preview, section, blockId, nodeId, refer, siteId)
{   
	showprogress(blockId);
	var encode_refer = encodeRefer(refer);
	var encoding = "UTF-8";
	if(siteId == 10) { 
		encoding = "Shift_JIS";
	} 
	
	if (pid == null) {
	  pid = 0;
	}
	
	var parms = 'encoding=' + encoding + '&preview=' + preview + '&section=' + section + '&blockId=' + blockId + '&nodeId=' + nodeId + '&pid=' + pid + '&siteId=' + siteId + '&refer=' + encode_refer;
	var myAjax = new Ajax.Request(
		'/checkBlockAuths.jsp', 
		{
			method: 'get', 
			parameters: parms, 
			onComplete: processBlockAuthsXMLResponse
		});
}
