/*	__________________________________________________________________________
	form checkinga
*/

addDOMLoadEvent=(function(){var e=[],t,s,n,i,o,d=document,w=window,r='readyState',c='onreadystatechange',x=function(){n=1;clearInterval(t);while(i=e.shift())i();if(s)s[c]=''};return function(f){if(n)return f();if(!e[0]){d.addEventListener&&d.addEventListener("DOMContentLoaded",x,false);/*@cc_on@*//*@if(@_win32||@_win64)d.write("<script id=__ie_onload defer src=//0><\/scr"+"ipt>");s=d.getElementById("__ie_onload");s[c]=function(){s[r]=="complete"&&x()};/*@end@*/if(/WebKit/i.test(navigator.userAgent))t=setInterval(function(){/loaded|complete/.test(d[r])&&x()},10);o=w.onload;w.onload=function(){x();o&&o()}}e.push(f)}})();

var frmchk =
{
	imgPath		: '/images/',
	imgOk		: 'form_ok.png',
	imgError	: 'form_error.png',
	id			: 'chkfrm',
	minlen		: 6,
	stat		: {},
	checks		: 0,
	
	main		: function()
	{
		var frm = document.getElementById(frmchk.id);		
		if(!frm) return;
		var a, inputs = frm.getElementsByTagName('input'), n = inputs.length;

		while(n--)
		{
			a = inputs[n];
			
			if(a.id.indexOf('chk') == -1) continue;
			
			a.onkeyup = frmchk.key;
			document.getElementById(a.id + "_sta").style.display = "none";
			frmchk.checks++;
			
			if(frmchk.trim(a.value) != "") a.onkeyup();
		}
		
		 inputs = frm.getElementsByTagName('textarea')[0];
		 inputs.onkeyup = frmchk.key;
		 document.getElementById(inputs.id + "_sta").style.display = "none";
		 if(frmchk.trim(inputs.value) != "") inputs.onkeyup();
		 frmchk.checks++;
		
		 inputs = frm.getElementsByTagName("BUTTON")[0];
		 
		 inputs.onmouseover = function(){this.style.backgroundPosition = "left bottom";}
		 inputs.onmouseout = function(){this.style.backgroundPosition = "left top";}
		 frm.onsubmit = frmchk.allOk;
	},
	
	key			: function(e)
	{
		switch(this.id)
		{
			case	"chk_name":
				frmchk.status(this.id,this.value.length >= frmchk.minlen);
				break;
				
			case	"chk_email":
				frmchk.status(this.id,frmchk.mailchk(this.value));
				break;
				
			case	"chk_emailok":
				frmchk.status(this.id,this.value == document.getElementById("chk_email").value);
				break;
			
			case	"chk_message":
				frmchk.status(this.id,this.value.length >= frmchk.minlen);
				break;
		}
	},
	
	status		: function(id,s)
	{
		var img = document.getElementById(id + "_sta");
		
		frmchk.stat[id] = s;
		
		if(!img) return;
		
		img.style.display = "inline";
		img.src = frmchk.imgPath + (s ? frmchk.imgOk : frmchk.imgError);
		img.pngSet = false; /* ie6 pngfix */
	},
	
	allOk		: function()
	{
		var n, c = 0;
		for(n in frmchk.stat)
			c += frmchk.stat[n];
		
		if(c != frmchk.checks)
		{
			alert(document.getElementById("text_error").innerHTML);
			return false;
		}
		
		return true;
	},
	
	trim		: function(s){return s.replace(/^\s*|\s*$/g,"");},
	mailchk		: function(e){return /^([a-zA-Z0-9_\.\-\ ])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{1,4})+/.test(e);}

};

addDOMLoadEvent(frmchk.main);

