var resf;

function fsubmit(ob,rf) {

	req=false;
	try { 
		req=new ActiveXObject('Msxml2.XMLHTTP');
	} catch (e) {
		try {
			req=new ActiveXObject('Microsoft.XMLHTTP'); 
		}
		catch (e) {
		    try {
				if(window.XMLHttpRequest){
					req=new XMLHttpRequest();
				}
			}
			 catch (e) {
			 	alert("Request Error "+ req.status+":\n" + req.statusText); 
			}
		}
	}
	if (req){
		inf = '?';
		for(i = 0; i < ob.elements.length; i++) {
			inf += ob.elements[i].getAttribute('name')+'='+ob.elements[i].value;
			if(i+1 < ob.elements.length) inf += '&';
	 	}
		req.onreadystatechange = readystate; 
		resf = rf;
		var murl = '';
		req.open("GET","addons/index.php"+inf, true);
		req.send(null);
	} else {
		alert("Request Error "+ req.status+":\n" + req.statusText);
	}
}
		
function readystate() {
    if (req.readyState == 4){
		if (req.status == 200) { 
			//document.getElementById('formresult').innerHTML ='<pre>'+req.responseText+'</pre>';
			resf(req);
		} else {
			//alert("Request Error "+ req.status+":\n" + req.statusText);
		}
	}
}
			
function checkForm(obj, elems) {
	var element, pattern;
	for (var i = 0; i < obj.elements.length; i++) {
		element = obj.elements[i];
		if (elems != undefined)
		if (elems.join().indexOf(element.type) < 0) continue;
		
		if (!element.getAttribute("check_message")) continue;
		if (pattern = element.getAttribute("check_pattern")) { 
			pattern = new RegExp(pattern, "g");
			if (!pattern.test(element.value)) {
				alert(element.getAttribute("check_message"));
				element.focus();
				return false;
			}
		} else if(/^\s*$/.test(element.value)) { 
			alert(element.getAttribute("check_message"));
			element.focus();
			return false;
		}
	}
	return true;
}

var last_elem;
var btn;

function submitt(ob,cob) {
	var elem = document.getElementById(ob);
	var chk = checkForm(elem);
	if(elem) {	
		elem.style.cursor = 'wait';
		last_elem = elem;
	}
	var cnt = document.getElementById('content');
	if(cnt) cnt.style.cursor = 'wait';
	cob.style.cursor = 'wait';
	btn = cob;
	if(chk) fsubmit(elem,submitt_res);
}

function submitt_res(req) {
	var res = req.responseText;
	res = res.substring(3,res.length);
	var elem = document.getElementById('content');
	elem.innerHTML = res;
	if(last_elem)	last_elem.style.cursor = 'auto';
	if(btn)	btn.style.cursor = 'auto';
	elem.style.cursor = 'auto';
}
