function Submitter(submitterName, action, method, target){
		if ( arguments.length > 0 )
			this.init(submitterName, action, method, target);
}


Submitter.prototype.init = function(submitterName, action, method, target){
	this.submitterName = submitterName;
	this.action = action;
	this.method = method;
	this.target = target;
	this.paramNameArr = new Array();
	this.paramValueArr = new Array();
//	this.randomFormName = "submitterform" + Math.floor(Math.random()*1000);
//	document.writeln("<div style='display:block'><form id='"+this.randomFormName+"' name='"+this.randomFormName+"'></form></div>");
};


Submitter.prototype.addParam = function(name, value){
	this.paramNameArr.push(name);
	this.paramValueArr.push(value);
//	this.paramValueArr.push(encodeURIComponent(value));
};

Submitter.prototype.submit = function(){
	
	var formEle = document.getElementById(this.submitterName);
//	var formEle = document.submitterForm;
	
	formEle.innerHTML="";
	formEle.action = this.action;
	formEle.method = this.method;
	formEle.target = this.target;
	for (var i=0; i<this.paramNameArr.length; i++){
		var inputEle = document.createElement("input");
		inputEle.name = this.paramNameArr[i];
		inputEle.value = this.paramValueArr[i];
		formEle.appendChild(inputEle);
	}
	formEle.submit();
};

//preview image

document.write('<div id=previewDiv style="display:none; z-index:110; position:absolute; border:#000 1px solid; background:#fff; overflow:hidden;"></div>');

function showPreview(url, title, w, h)
{
	timer = setTimeout("openPreview('"+url+"','"+title+"',"+w+","+h+");",200);
}

function hidePreview()
{
	clearTimeout(timer);
	document.getElementById("previewDiv").style.display= "none";
	document.onmousemove = null;
}

var offsetfrommouse=[8,8]; //image x,y offsets from cursor position in pixels. Enter 0,0 for no offset
var timer=null
var _mouseoverHdlr=null

function truebody(){
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function openPreview(url, title, width, height)
{
	var docwidth  = document.all||document.getElementsByTagName('*') ? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth - offsetfrommouse[0]
	var docheight = document.all||document.getElementsByTagName('*') ? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)

	if( (navigator.userAgent.indexOf("Konqueror")==-1  || navigator.userAgent.indexOf("Firefox")!=-1 || (navigator.userAgent.indexOf("Opera")==-1 && navigator.appVersion.indexOf("MSIE")!=-1)) && (docwidth>width && docheight>height))
	{
		var dv = document.getElementById("previewDiv")
		dv.innerHTML = '<iframe id="previewIfm" name="previewIfm" scrolling="no" frameborder="0" style="width:200px;height:200px"></iframe>';
		dv.maxW = dv.style.width = width+6+"px";
		dv.maxH = dv.style.height = height+3+"px";
		document.getElementById("previewIfm").src=url;
		_mouseoverHdlr = document.onmousemove
		document.onmousemove=followmouse;
	}
}

function followmouse(e)
{
	var x = offsetfrommouse[0]
	var y = offsetfrommouse[1]
	var dv = document.getElementById("previewDiv")
	var maxW = dv.maxW
	var maxH = dv.maxH

	var docwidth=document.all||document.getElementsByTagName('*')? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
	var docheight=document.all||document.getElementsByTagName('*')? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)

	if (typeof e != "undefined")
	{
		if (docwidth - e.pageX < maxW + 2*x)
			x = e.pageX - x - maxW; // Move to the left side of the cursor
		else
			x += e.pageX;

		if (docheight - e.pageY < maxH + 2*y)
			y += e.pageY - Math.max(0,(2*y + maxH + e.pageY - docheight - truebody().scrollTop));
		else
			y += e.pageY;
	}
	else if (typeof window.event != "undefined")
	{
		if (docwidth - event.clientX < maxW + 2*x)
			x = event.clientX + truebody().scrollLeft - x - maxW; // Move to the left side of the cursor
		else
			x += truebody().scrollLeft+event.clientX
	
		if (docheight - event.clientY < (maxH + 2*y))
			y += event.clientY + truebody().scrollTop - Math.max(0,(2*y + maxH + event.clientY - docheight));
		else
			y += truebody().scrollTop + event.clientY;
			
	}

	dv.style.display = "block";
	dv.style.left=x+"px"
	dv.style.top=y+"px"
}
