function ajs ( url, p, f, obj )
{
	var x;
	try
	{
		x = new XMLHttpRequest();
	}
	catch(e)
	{
		var xv = new Array("MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0");
		var err = 0;
		for( var i = 0; i < xv.length && !x; i++ )
		{
			try
			{
				x = new ActiveXObject(xv[i]);
			}
			catch(e)
			{
				err++;
			}
		}
		if (err == 2) alert("ActiveX error!")
	}
	if ( !x )
	{
		return false;
	}
	else
	{
		try
		{
			if ( p.length > 0 ) p = "?" + p;
			x.open("GET", url + p, true);
			x.onreadystatechange = function()
			{
				if ( x.readyState == 4 )
				{
					if ( x.status == 200 || x.status == 0 )
					{
						if ( obj ) obj.innerHTML = x.responseText;
						if ( f ) f(x);
					}
					else
					{
						alert(x.statusText);
					}
				}
			}
			x.send(null);
		}
		catch(e)
		{
			return false;
		}
	}
	return true;
}
function h2s(a)
{
	if(typeof(a)!="object" || a==null)
	{
		if(typeof(a)=="string")a='"'+encodeURI(a)+'"';
		return a;
	}
	var res='{',z='"';
	for(var k in a)
	{
		res+=z+k+'":'+h2s(a[k]);z=',"';
	}
	res = res+"}";
	return res;
}

function s2h(a){
	return eval('('+a+')');
}

function a2s(a)
{
	var res = '';
	for(var i in a)
	{
		res+=i+'='+a[i]+'&';
	}
	return res;
}

function show_loading( select_name, loading_message )
{
	var where = (navigator.appName == "Microsoft Internet Explorer")? -1 : null;
	var selObj = window.document.getElementsByName( select_name )[0];
	while(selObj.options.length)
		selObj.remove(0);
	loadObj = document.createElement("option");
	loadObj.text = loading_message;
	loadObj.value = -1;
	selObj.add(loadObj, where);
	selObj.disabled = true;
}

function hide_loading( select_name, data )
{
	var selObj = window.document.getElementsByName( select_name )[0];
	while(selObj.options.length)
		selObj.remove(0);
	for (var i = 0; i < data.length; i++)
	{
		selObj.options[i] = new Option(data[i].name, data[i].id);
	}
	selObj.disabled = false;
}

function ajax_submit(form, f, obj)
{
	var p = 'method=ajax';
	for (var i = 0; i < form.elements.length; i++)
	{
		p += '&'+form.elements[i].name+'='+encodeURIComponent(form.elements[i].value);
	}
	ajs(form.action, p, f, obj);
}

function showReverce()
{
	var reverce = document.getElementById('reverce');
	reverce.style.display = "\v"=="v"?'block':'table-row';
	for (var i = 0; i < reverce.childNodes.length; i++)
	{
		if (reverce.childNodes[i].tagName == 'TD')
		{
			for (var j = 0; j < reverce.childNodes[i].childNodes.length; j++)
			{
				if (reverce.childNodes[i].childNodes[j].tagName == 'SELECT')
				{
					reverce.childNodes[i].childNodes[j].disabled = false;
				}
			}
		}
	}
	reverce = document.getElementById('reverceShow');
	reverce.style.display = "none";
}

