document.writeln("<div id=sUbmitterdiv style='position:absolute; visibility:hidden; background: white; z-index:1; left:250px; top:100px;'></div>");
function submitterSubmit()
{
	var tmpStr="<form name=sUbmitterfrm id=sUbmitterfrm>";

	var paras=this.paras;

/* 	
	for(var x in this.paras) {
		tmpStr += "<input name="+ this.paras[x] +" type=hidden>";
	}
*/

	for (var sub_i=0,sub_j=this.paras.length; sub_i<sub_j; sub_i++) {
		tmpStr += "<input name="+ this.paras[sub_i] +" type=hidden>";
	}
	
	tmpStr+="</form>";
 

	var smDiv=document.getElementById("sUbmitterdiv");
	smDiv.innerHTML=tmpStr;

	var frm=document.getElementById("sUbmitterfrm");

	var es=frm.elements;
	var vs=this.values;

	var t=vs.length;
	for (var e=0; e< t; e++)
		es[e].value=vs[e];

	frm.action=this.actionPath;
	frm.method=this.method;

	if (this.targetName != null)
	{
		frm.target = this.targetName;
	}

	frm.submit();
}


//expected arguments: parameter,  value, parameter, value....
function submitterAddPara()
{
	var ma=arguments.length;
 
	for(var a=0; a<ma; a+=2)
	{
		this.paras.push(arguments[a]);
		this.values.push(arguments[a+1]);
	}
 
}

function submitterAddParaEncode()
{
	var ma=arguments.length;

	for(var a=0; a<ma; a+=2)
	{
		this.paras.push(arguments[a]);
		this.values.push(encodeURIComponent(arguments[a+1]));
	}
}

function submitterHasPara()
{
	return (this.paras.length > 0);
}

function submitterSetTarget()
{
	this.targetName = arguments[0];
}

function submitter(a, method)
{
	this.method=method;
	this.actionPath=a;
	this.targetName=null;
	this.paras=new Array();
	this.values=new Array();
	this.submit=submitterSubmit;
	this.para=submitterAddPara;
	this.paraEncode=submitterAddParaEncode;
	this.hasPara=submitterHasPara;
	this.setTarget=submitterSetTarget;
}