/****** =>  Config  <= ******/
var global = {};
global.ajaxDebug = false;

function ct(text) {
	return document.createTextNode(text);
}

function ce(el) {
	return document.createElement(el);
}

function $(id) {
	return document.getElementById(id);
}

function ajax_call(url, method, args, func) {
	var xmlHttp;
	 try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp = new ActiveXObject("Msxml2.xmlHttp");
		}
		catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.xmlHttp");
			}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4 && func) {
			if(global.ajaxDebug == true) {
				// Create debugger
				//document.body.appendChild(ct(xmlHttp.responseText));
				alert(xmlHttp.responseText); // FIK LINEBREAK
			}

			var data = eval('('+xmlHttp.responseText+')');
			func(data);
		}
	}

	xmlHttp.open(method,'ajax/'+url+'.php?json='+args.toJSONString(),true);
	
	if(method == 'POST') {
		xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xmlHttp.setRequestHeader("Content-length", args.length);
		xmlHttp.setRequestHeader("Connection", "close");
		xmlHttp.send(args);
	} else {
		xmlHttp.send(null);
	}
}

function linebreaks(str) {
	var string = str.split('<br />');
	var ret_span = ce('span');
	for(var i=0;i<string.length;i++) {
		if(i != 0) { ret_span.appendChild(ce('br')); }
		var span = ce('span');
		span.appendChild(ct(string[i]))
		ret_span.appendChild(span);
	}
	return ret_span;
}