

function plgnForms_check(fobj)
{
	//if(fobj.checked) return true;
	
	var data = stringifyForm(fobj);
	var href = fobj.getAttribute('plgn-forms-check-href');
	
	var r = asyncPost(href,data);
	r.form = fobj;
	r.onload = function()
	{
		//alert(this.responseText());
		plgnForms_unlock(this.form);
		
		var nrmls = this.tagTextValues("normal");
		var reqs = this.tagTextValues("require");
		var oks = this.tagTextValues("ok");
		var errs = this.tagTextValues("error");
		
		//alert(nrmls);
		
		plgnForms_mark(this.form, nrmls, "normal");
		plgnForms_mark(this.form, reqs, "require");
		plgnForms_mark(this.form, oks, "ok");
		plgnForms_mark(this.form, errs, "error");
		
		if(!errs.length)
		{
			//this.form.checked = true;
			//this.form.submit();
			ajax_form_send(null, this.form);
		}
	}
	
	plgnForms_lock(fobj);
	
	return false;
}

function plgnForms_init(fobj)
{
	if(fobj.checked) return true;
	
	var href = fobj.getAttribute('plgn-forms-check-href');
	if(!href) return false;
	
	var data = stringifyForm(fobj) + ";form-sub-act=check";
	
	var r = asyncPost(href, data);
	r.form = fobj;
	r.onload = function()
	{
		//alert(this.responseText());
		plgnForms_unlock(this.form);
		
		var rqrs = this.tagTextValues("require");
		//alert(rqrs);
		//alert(oks);
		
		plgnForms_mark(this.form,rqrs,"require");
	}
	
	return true;
}

function plgnForms_mark(fobj,flds,cname)
{
	for(var i=0;i<flds.length;i++)
	{
		el = fobj[flds[i]];
		if(el) el.className = cname;
	}
}

function plgnForms_lock(fobj)
{
	for(var i=0;i<fobj.elements.length;i++)
	{
		el = fobj.elements[i];
		el.disabled = "disabled";
	}
}

function plgnForms_unlock(fobj)
{
	for(var i=0;i<fobj.elements.length;i++)
	{
		el = fobj.elements[i];
		el.disabled = "";
	}
}

function plgnForms_load()
{
	//alert("loaded!");
	var fms = document.getElementsByTagName('form');
	for(var i=0;i<fms.length;i++)
		plgnForms_init(fms[i]);
}




try
{
	window.addEventListener("load", plgnForms_load, true);
}
catch(T){}

try
{
	window.attachEvent("onload", plgnForms_load);
}
catch(T){}
