var _menu = null;
var _tab = null;

function hideMenu(e) {
	if(! e)
		var e = window.event;

	if(e == null || e.relatedTarget.nodeName != "A") {
		if(_tab) _tab.className = "tab";
		if(_menu) _menu.className = "navigation";

		_tab = null;
		_menu = null;
	}
}

function showMenu(e, t, id) {
	if(! e)
		var e = window.event;

	var l = document.getElementById(id);

	if(! l)
		return;

	if(l.className == "navigation_active")
		return;

	hideMenu(null);

	l.className = "navigation_menu";
	l.style.left = (t.offsetLeft + 1) + "px";

	t.className = "tab tab_hover";

	_menu = l;
	_tab = t;
}

function showSection(id) {
	var e = document.getElementById(id);
	
	if(e)
		e.className = "section_toggleable visible";

	var b = document.getElementById(id + "_show");
	
	if(b)
		b.style.display = 'none';
}

function hideSection(id) {
	var e = document.getElementById(id);
	
	if(e)
		e.className = "section_toggleable hidden";

	var b = document.getElementById(id + "_show");
	
	if(b)
		b.style.display = '';
}


function _getFormElements(e, n) {
	if(! n.childNodes)
		return;
	
	for(var i = 0; i < n.childNodes.length; i++) {
		var l = n.childNodes[i];

		if(l.nodeName.toLowerCase() == "textarea" || (l.nodeName.toLowerCase() == "input" && (l.type != "button" && l.type != "submit")))
			e.push(l);

		if(l.childNodes)
			_getFormElements(e, l);
	}
}

function clearForm(form) {
	var fe = new Array();

	_getFormElements(fe, form);

	for(var i = 0; i < fe.length; i++)
		fe[i].value = '';
}

function ajaxSubmitForm(form, resultHTMLID) {
	var fe = new Array();

	_getFormElements(fe, form);

        try {
                xmlRequest = new XMLHttpRequest();
        } catch (e) {
                try {
                        xmlRequest = new ActiveXObject("Msxml2.XMLHTTP");
                } catch (e) {
                        xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
                }
        }

        xmlRequest.open("POST", document.location.href, false);
        xmlRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

	var postFields = "ajax=true&form=" + ((form.id) ? form.id : form.name);
	for(var i = 0; i < fe.length; i++)
		postFields += "&" + fe[i].name + "=" + escape(fe[i].value);

	xmlRequest.send(postFields);

	if(xmlRequest.status == "200" && xmlRequest.responseText.indexOf("ERROR") < 0) {
		var e = document.getElementById(resultHTMLID);

		if(e)
			e.innerHTML = xmlRequest.responseText;


		try {
			hideSection(form.id);
		} catch(e) {}

		clearForm(form);
	} else
		alert(xmlRequest.responseText.substring(xmlRequest.responseText.indexOf("ERROR") + 6));

	return;
}

function showTab(id, tab) {
	var e = document.getElementById(id);

	if(! e || ! tab)
		return;

	for(z = 0; z < tab.parentNode.childNodes.length; z++) {
		var e2 = tab.parentNode.childNodes[z];

		if(e2.nodeName.toLowerCase() != "div" || e2.className.substring(0, 3).toLowerCase() != "tab")
			continue;

		e2.className = "tab";
	}

	tab.className = 'tab_selected';

	for(var i = 0; i < e.parentNode.childNodes.length; i++) {
		var e2 = e.parentNode.childNodes[i];

		if(e2.nodeName.toLowerCase() != "div" || e2.className.indexOf("tab_content") < 0)
			continue;

		if(e2.id == id)
			e2.className = "tab_content";
		else
			e2.className = "tab_content hidden";
	}
}

