var myAjax = {
url: '/index.php?url=default',
method: 'POST',
resultIn: 'myResult',
domElement: null,
tempImg: 'http://'+ window.location.host + '/images/ajax-loader.gif',
parameters: {},
pause: 1000,
n: '',
loader: 0,
userSuccessFunction: null,
userErrorFunction: null,
// Method "request" send asynchronous request to server
request:function(){
req = new Ajax.Request(
	myAjax.url,
	{
		method: myAjax.method,
		parameters: myAjax.parameters,
		onLoaded: function(){
		if(myAjax.loader == 1)
		{
			document.getElementById(myAjax.resultIn).innerHTML = '<img style="position:relative;z-index:100;top:50%;left:50%;margin-left:-16px;" src='+myAjax.tempImg+' />';
		}
		else
		{
			document.getElementById(myAjax.resultIn).innerHTML = '<img style="position:absolute;z-index:100;top:50%;left:50%;" src='+myAjax.tempImg+' />';
		}
		},
		onComplete: function()
		{
			if ($(myAjax.resultIn))
			{
				if (typeof myAjax.resultIn == "string")
				{
					setTimeout('jQuery("#" + myAjax.resultIn).html(req.transport.responseText)',myAjax.pause);				
				} else
				{
					setTimeout('jQuery(myAjax.resultIn).html(req.transport.responseText)',myAjax.pause);				
				}
			}
		}
	});
},
// Method "requestJS" expect to get script to execution
requestJS:function(){
req = new Ajax.Request(
	myAjax.url,
	{
		method: myAjax.method,
		parameters: myAjax.parameters,
		onLoaded: function(){
		document.getElementById(myAjax.resultIn).innerHTML = '<img src='+myAjax.tempImg+' />';
		},
		onComplete: function(){
			var executable = 'reJson = '+ req.transport.responseText; 
			eval(executable);
			if (reJson.success) setTimeout('myAjax.userSuccessFunction(reJson)',myAjax.pause);
			if (reJson.error) setTimeout('myAjax.userErrorFunction(reJson)',myAjax.pause);
		}
	});
},
// Method "addParam" add one parameter to JSON-object for send self on server;
addParam:function(name,value){
	var execString = "myAjax.parameters." + name + "='" + value + "'";
	eval(execString); 
},
loadScriptFiles:function(domElement)
{
	var scripts = domElement.getElementsByTagName('script');
	var tagHead = document.getElementsByTagName('head');
	for (i=0; i<scripts.length; i++)
	{
		var code = document.createElement('script');
		code.type = 'text/javascript';
		code.src = scripts[i].src;
		tagHead[0].appendChild(code);
	}
},
loadScriptFiles:function(domElement)
{
	var scripts = domElement.getElementsByTagName('script');
	var tagHead = document.getElementsByTagName('head');
	for (i=0; i<scripts.length; i++)
	{
		var code = document.createElement('script');
		code.type = 'text/javascript';
		code.src = scripts[i].src;
		tagHead[0].appendChild(code);
	}
},
// Object "Form" includes properties and methods for send forms to server;
Form: {
id: 'formId',
object: null,
url: 'http://www.r-name.ru',
method: 'POST',
target: 'aimIframe',
iframe: null,
reqResponse: null,
iframeStatus: false,
eventStatus: false,
request:function(){
	myAjax.Form.object.action = myAjax.Form.url;
	myAjax.Form.object.method = myAjax.Form.method;
	myAjax.Form.object.target = myAjax.Form.target;
	myAjax.Form.getIframe();
	myAjax.Form.object.submit();
	myAjax.Form.onLoading();
},
isOneIframe:function(){
	var number_frames = frames.length;
	if (number_frames == 1) return true;
	return false;
},
isOneIframe:function(){
	var number_frames = frames.length;
	if (number_frames == 1) return true;
	return false;
},
getIframe:function(){
	//myAjax.Form.iframe = document.createElement("iframe");
	if (myAjax.Form.isOneIframe() ) 
	{
		//alert(1);
		myAjax.Form.iframe = frames[0];

		myAjax.Form.iframe.name = myAjax.Form.target;

		myAjax.Form.iframe.id = myAjax.Form.target;

	} else 
	{
		
		myAjax.Form.iframe = frames[myAjax.Form.target];
	}	
	//document.body.appendChild(myAjax.Form.iframe);
},
onLoading:function(){
	document.getElementById(myAjax.resultIn).innerHTML = '<img src='+myAjax.tempImg+' />';
},
response:function(){
	//alert(1);
	if (myAjax.Form.iframeStatus && myAjax.Form.eventStatus)
	{
		if (myAjax.Form.isOneIframe() ) 
		{
			//alert(1);
			//setTimeout('$(myAjax.resultIn).innerHTML = frames[0].document.body.innerHTML',myAjax.pause);
			setTimeout('jQuery("#" + myAjax.resultIn).html(frames[0].document.body.innerHTML)',myAjax.pause);
			//alert(frames[0].document.body.innerHTML)
		} else 
		{
			//alert(2);
			setTimeout('$(myAjax.resultIn).innerHTML = frames[myAjax.Form.target].document.body.innerHTML',myAjax.pause);
			//setTimeout('jQuery("#" + myAjax.resultIn).html(frames[myAjax.Form.target].document.body.innerHTML)',myAjax.pause);
		}	
		myAjax.Form.eventStatus = false;
		if (myAjax.userSuccessFunction) {
		//alert(1);
		myAjax.userSuccessFunction();
		}
	}
	myAjax.Form.iframeStatus = true;
}

},
clearDomElement:function(){
	var domElement = document.getElementById(myAjax.resultIn); 
	if (domElement){
		domElement.innerHTML = '';
	}
}
}