function tForm()
{

}

function tForm_init(frm)
{
	frm.onsubmit = function()
	{
		web.frm.init(this.id);
		return false;
	}
	
	var els = gET("div",frm);
	for(i=0;i< els.length;i++)
	{
		if(els[i].className=="frm") var dForm = els[i];break;
	}
	var he = parseInt(dForm.offsetHeight);
	frm.style.height = he+"px";
}

tForm.prototype.init = function(id)
{
	this.dat="";
	this.id = id;
	this.frm = gEL(id);
	this.url = this.frm.getAttribute("url")+"."+web.suffix;
	this.msgDone = this.frm.getAttribute("msgDone");
	
	var els = gET("div",this.frm);
	for(i=0;i< els.length;i++)
	{
		if(els[i].className=="frm") this.dForm = els[i];
		if(els[i].className=="frmStatus") this.dStatus = els[i];
	}

	this.dStatus.innerHTML = "<img src='images/status.gif'> " + this.frm.getAttribute("msgSend");
	
	this.err="";
	//this.check();
	//if(this.err)
	//{
	//	alert("Bitte füllen Sie folgende Felder aus:\n"+this.err);
	//	return;
	//}

	this.get("input");
	this.get("textarea");
	var dat = this.dat.substr(1);
	
	setVisible(this.dForm,false);
	setVisible(this.dStatus,true);

	xmlhttp(this.url,dat,this.doneSubmit,"",this) 	
}

tForm.prototype.get = function(typ)
{
	var els = gET(typ,this.frm);
	for(i=0;i< els.length;i++)
	{
		var add=true;
		var ctl = els[i];
		var valu = ctl.value;
		switch(ctl.type)
		{
			case "submit":
				add=false;
				break;
			case "radio":
				if(ctl.checked) 
				{
					valu = ctl.value;
				}else{
					add=false;
				}
				break;
		}
		if(add)
		{
			this.dat+="&"+ctl.name+"="+valu;
		}
	}
}

tForm.prototype.check = function(typ)
{
	this.checkTyp("input");
	this.checkTyp("textarea");		
}

tForm.prototype.checkTyp = function(typ)
{
	var els = gET(typ,this.frm);
	for(i=0;i< els.length;i++)
	{
		var valu = escape(els[i].value);
		if(valu=="" && !els[i].changed)
		{
			this.err+=els[i].name+"\n";
		}
	}
}

tForm.prototype.reset = function()
{
	setVisible(this.dForm,true);
	setVisible(this.dStatus,false);

	this.resetCTL("input");
	this.resetCTL("textarea");
}

tForm.prototype.resetCTL = function(typ)
{
	var els = gET(typ,this.frm);
	for(i=0;i< els.length;i++)
	{
		switch(els[i].type)
		{
			case "text":
			els[i].value="";
			break;	
		}	
	}
}

tForm.prototype.doneSubmit = function(ret)
{
	this.dStatus.innerHTML = this.msgDone;
	web.frm = this;
	window.setTimeout('resetForm(web.frm)', 3 * 1000);
}

resetForm = function(obj)
{
	obj.reset();
}