function init() {
	return true;
}

function getObj(id) {
	return document.getElementById(id);
}

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if (browser == "Microsoft Internet Explorer") {
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();
var keyhistory = new Array();

function sndReq(action) {
	// BASED ON WAL (webdicksign ajax language) v0.1
	var vrandomizer = new Date();
    http.open('get', '/walajax/'+action+'.ajax?randomizer='+vrandomizer.getTime());
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function postReq(action,post) {
	// BASED ON WAL (webdicksign ajax language) v0.1
	var vrandomizer = new Date();
	post = post.split('&').join('#AND#');
	post = post.split('|AND|').join('&');
	http.open("POST", '/walajax/'+action+'.ajax?randomizer='+vrandomizer.getTime());
	http.onreadystatechange = handleResponse;
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", post.length);
	http.setRequestHeader("Connection", "close");
	http.send(post);
}

function handleResponse() {
    if(http.readyState == 4){
		eval(http.responseText);
	}
}

function insertText(id,lTag,rTag) {
	var obj,start,ende,text,position;
	obj = getObj(id);
	position = obj.scrollTop;
	start = obj.selectionStart;
	ende = obj.selectionEnd;
	if (start < ende) {
		text = obj.value.substr(start,ende-start);
	} else {
		text = "";
	}
	obj.value = obj.value.substr(0,start) + lTag + text + rTag + obj.value.substr(ende);
	obj.selectionStart = start + lTag.length;
	obj.selectionEnd = start + lTag.length + text.length;
	obj.focus();
	obj.scrollTop = position;
}

function goHistoryBack(id) {
	if (keyhistory.length) {
		getObj(id).value = keyhistory.pop();
	}
}

function checkHistory(id) {
	if (keyhistory.length) {
		if (keyhistory[keyhistory.length -1] != getObj(id).value) {
			keyhistory.push(getObj(id).value);
		}
	} else {
		keyhistory.push(getObj(id).value);
	}
}

function keyHandle(e,idArray) {
	if (e.keyCode == 9 && !e.ctrlKey) {
		insertText(idArray[9],"\t","");
		if(e.preventDefault) {
			e.preventDefault();
		} else {
			e.returnValue = false;
		}
	}
	if (e.keyCode == 9 && e.shiftKey) {
		document.getElementById(idArray[0]).focus();
		if(e.preventDefault) {
			e.preventDefault();
		} else {
			e.returnValue = false;
		}
	}
	if (e.keyCode == 83 && e.ctrlKey) {
		document.getElementById(idArray[83]).submit();
		if(e.preventDefault) {
			e.preventDefault();
		} else {
			e.returnValue = false;
		}
	}
	if (e.keyCode == 13 && !e.shiftKey) {
		insertText(idArray[13],"<br />","");
	}
	if (e.keyCode == 76 && e.ctrlKey) {
		liveview = !liveview;
		eval(idArray[76]);
		if(e.preventDefault) {
			e.preventDefault();
		} else {
			e.returnValue = false;
		}
	}
}