/**
 * whax - ajax functions 
 * all rights reserved (c) lojtra.net
 * updated and rewrited for Zejn
 * author : matija 
 * example: makeRequest('var=value', 'divid', 'send.php', 'post', 'innerHTML', 'replace');
 */

var image_path 		= '/img/indicator.gif';
var element_id 		= '';
var request_el 		= 'innerHTML';
var default_text	= 'Nalagam';
var error_text 		= 'Napaka pri zahtevi XML podatkov';
var position_el		= 'replace'; // before, after, remove, replace, none - only in innerHTML

function makeRequest(gets, elm_id, uri_file, req_type, req_el, put_el,close) {
	if (req_type == "get") {
		var url = uri_file + '?' + encodeURI(gets);
	} else {
		var url = uri_file;
	}
	element_id = elm_id;
	request_el = req_el;
	if (req_el == "innerHTML") {
		position_el = put_el;
	}
	if (request_el == 'innerHTML') {
		if (position_el == 'replace' || position_el == 'remove') {
			//getEl('' + element_id + '').innerHTML = '<img src="' + image_path + '" alt="' + default_text + '" border="0" />  ' + default_text;
		}
	} else if (request_el == 'value') {
		getEl('' + element_id + '').value = default_text;
	}
	var callback = processAjaxResponse;
	
	//TIBOR
	document.getElementById(elm_id).style.display = "block";
	document.getElementById(close).style.display = "none";
	
	var param = '';
	if (req_type == "post")	param = gets;
	executeXhr(req_type, callback, url, param);	
}

function executeXhr(type, callback, url, param) {
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = callback;
		if (type == "post"){
			req.open("POST", url, true);
			req.setRequestHeader('content-type','application/x-www-form-urlencoded; charset=UTF-8');
			req.send(param);
		} else {
			req.open("GET", url, true);
			req.send(null);
		}
	} 
	else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = callback;
			if (type == "post"){
				req.open("POST", url, true);
				req.setRequestHeader('content-type','application/x-www-form-urlencoded; charset=UTF-8');
    			req.send(param);
			} else {
				req.open("GET", url, true);
				req.send(null);
			}
		}
	}
}

function processAjaxResponse() {
	if (req.readyState == 4) {
		if (req.status == 200) {
			if (request_el == 'innerHTML') {
				if (position_el == 'replace') {
					getEl('' + element_id + '').innerHTML = req.responseText;
				} else if (position_el == 'before') {
					getEl('' + element_id + '').innerHTML = req.responseText + getEl('' + element_id + '').innerHTML;
				} else if (position_el == 'after') {
					getEl('' + element_id + '').innerHTML = getEl('' + element_id + '').innerHTML + req.responseText;
				} else if (position_el == 'remove') {
					getEl('' + element_id + '').style.visibility = 'hidden';
					getEl('' + element_id + '').style.display = 'none';	
				}
			} else if (request_el == 'value') {
				getEl('' + element_id + '').value = req.responseText;
			}
		} else {
			alert(error_text + ":\n" + req.statusText);
		}
	}
}

function getEl(id) {
	return(document.getElementById(id));
}
