/**
 * Metody wywołań zdalnch oparta na obiekcie pływającej ramki (AJAX ALTERNATIVE)
 *
 * (c) Agencja interaktywna Scripting
**/

var content = '';
var contentTargetBlockName = '';
var contentTargetFunctionName = '';
var requestWindowElem;

function createRequestWindow()
{
	if(requestWindowElem)
	return;
	
	requestWindowElem = document.createElement('iframe');
	requestWindowElem.id = 'requestWindow';
	requestWindowElem.src = 'about:blank';
	requestWindowElem.style.display = 'none';

	document.body.appendChild(requestWindowElem);

	if(requestWindowElem.addEventListener)
	requestWindowElem.addEventListener('load', function(){ readRequestAnswer(); }, false); 
	else
	if(requestWindowElem.attachEvent)
	requestWindowElem.attachEvent('onload', function(){ readRequestAnswer(); });
}

function readRequestAnswer()
{
	content = requestWindowElem.contentWindow.document.body.innerHTML;
	
	if(contentTargetBlockName)
	{
		contentTargetBlockElem = document.getElementById(contentTargetBlockName);
	
		if(!contentTargetBlockElem)
		return;
	
		contentTargetBlockElem.innerHTML = content;
	}
	else
	if(contentTargetFunctionName)
	setTimeout(contentTargetFunctionName, 0);
}

function loadContent(url)
{
	if(!url)
	return;
	
	createRequestWindow();
	
	requestWindowElem = document.getElementById('requestWindow');
	requestWindowElem.src = url;
}

function loadContentTo(url, targetBlockName)
{
	contentTargetFunctionName = '';
	
	loadContent(url);
	
	if(!targetBlockName)
	return;

	contentTargetBlockName = targetBlockName;
}

function loadContentCall(url, functionName)
{
	contentTargetBlockName = '';
	
	loadContent(url);
	
	if(!functionName)
	return;
	
	contentTargetFunctionName = functionName;
}


