function debug(t) {
	try {
		console.debug(t);
	} catch(e) {}
}

var http_request = false;
var locked = false;
var reqTarget='';
function getReqTarget() {
	if(reqTarget=='') {
		return '/index.php';
	} else {
		return reqTarget;
	}
}
function bodyLock( bLock ) {
	if(bLock==true) {
		document.body.parentNode.style.cursor='wait';
		locked=true;
	} else {
		document.body.parentNode.style.cursor='default';
		locked=false;
	}
}

function makeRequest(url, data) {
	if(locked==true) return false;
	var rn = Math.random()*5;
	url+='&_rn='+rn;
	http_request = false;
	bodyLock(true);
	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/plain');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		return false;
	}

	http_request.onreadystatechange = function() { alertContents(http_request); };
	http_request.open('POST', url, true);
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http_request.send(data);
}

function alertContents(http_request) {
	if (http_request.readyState == 4) {

		if(	submitButtons && submitButtons.length ) {
			var f=0;
			for(f=0; f<submitButtons.length; f++) {
				if(submitButtons[f].oldValue) {
					submitButtons[f].value=submitButtons[f].oldValue;
					submitButtons[f].disabled=false;
				}
			}
		}
		bodyLock(false);
		if (http_request.status == 200) {
			//try {
			eval(http_request.responseText);
			//} catch(e) {
			//	alert(http_request.responseText);
			//	eval(http_request.responseText);
			//}
		} else {
			;
		}
	}
}
var submitButtons;
function aSend( oForm, sAction, extras, silent ) {
	if(!extras) extras='';
	var a;
	clearMessages( oForm );
	clearMessages( oForm );
	inputs = oForm.getElementsByTagName('input');
	selects = oForm.getElementsByTagName('select');
	texts = oForm.getElementsByTagName('textarea');
	postData='';
	submitButtons = new Array();
	for(a=0; a<inputs.length; a++) {
		if(inputs[a].type=='file' && inputs[a].getAttributeNode('options') && inputs[a].getAttributeNode('target') && inputs[a].value!='' && inputs[a].disabled==false ) {
			upload(oForm, inputs[a].id, inputs[a].getAttributeNode('options').value, inputs[a].getAttributeNode('target').value);
			return;
		}

		if(inputs[a].disabled==true) continue;
		if(inputs[a].type=='text' || inputs[a].type=='hidden' || inputs[a].type=='password') {
			postData+=inputs[a].name+'='+encodeURIComponent(inputs[a].value)+'&';
		}

		if(inputs[a].type=='submit' && inputs[a].send==true) {
			inputs[a].send=false;
			postData+=inputs[a].name+'='+encodeURIComponent(inputs[a].value)+'&';
		}

		if(inputs[a].type=='radio' || inputs[a].type=='checkbox') {
			if(inputs[a].checked==true) {
				postData+=inputs[a].name+'='+encodeURIComponent(inputs[a].value)+'&';
			}
		}
		if(inputs[a].type=='submit' && silent!=true) {
			oSubmitBtn=inputs[a];
			oSubmitBtn.oldValue=oSubmitBtn.value;
			oSubmitBtn.disabled=true;
			oSubmitBtn.value='czekaj...';
			submitButtons.push(oSubmitBtn);
		}
	}

	for(a=0; a<texts.length; a++) {
		postData+=texts[a].name+'='+encodeURIComponent(texts[a].value)+'&';
	}
	for(a=0; a<selects.length; a++) {
		if(selects[a].multiple==true){
			;
		} else {
			if(selects[a].selectedIndex>-1) {
				postData+=selects[a].name+'='+encodeURIComponent(selects[a].options[selects[a].selectedIndex].value)+'&';
			}
		}
	}
	makeRequest(getReqTarget()+'?runEngine=1&act='+sAction, postData+extras);
	return false;
}

function hrefSend( oHref ) {
	data = oHref.href.split('?');
	makeRequest(getReqTarget()+'?runEngine=1&'+data[1], null);
	return false;
}
