function getElementsByClass(name) 
{
	var alltags = document.getElementsByTagName("*");
	if (alltags) 
	{
		var j=0;
		var elemek = new Array();
		for (i=0; i < alltags.length; i++) 
		{
			if (alltags[i].className===name) elemek[j++]=alltags[i];



		}
	}
	return(elemek);
}

function ellenorzes_betolto() 
{
	var kotelezo_elemek = getElementsByClass('kotelezo');
	var kotelezo_email_elemek = getElementsByClass('kotelezoemail');
	var j=0;
	
	for (i in kotelezo_elemek) 
	{
		addEvent(kotelezo_elemek[i], 'keyup', ellenorzes);
		addEvent(kotelezo_elemek[i], 'change', ellenorzes);
		addEvent(kotelezo_elemek[i], 'click', ellenorzes);
		j++;
	}
	for (i in kotelezo_email_elemek) 
	{
		addEvent(kotelezo_email_elemek[i], 'keyup', ellenorzes);
		addEvent(kotelezo_email_elemek[i], 'change', ellenorzes);
		addEvent(kotelezo_elemek[i], 'click', ellenorzes);
		j++;
	}
	if (j!=0) ellenorzes();  
}

function ellenorzes() 
{
	var jo_szin = '#efe';
	var rossz_szin = '#fee';
	var jo = true;
	var elem;
	var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
	
	var kotelezo_elemek = getElementsByClass('kotelezo');
	var kotelezo_email_elemek = getElementsByClass('kotelezoemail');
	
	for(count=0;count<document.forms.length;count++)
    {
		for(count1=0; count1<document.forms[count].elements.length; count1++) 
		{
			if (document.forms[count].elements[count1].type=='submit' && document.forms[count].elements[count1].name=="kuld")
			{
				elem=document.forms[count].elements[count1];
			}
		}
	}

	var ellenorzottc=ellenorzottr=vancheckbox=vanradio=0;
	for (i in kotelezo_elemek) 
	{
		if (kotelezo_elemek[i].value.length==0) 
		{
			kotelezo_elemek[i].style.background = rossz_szin;
			jo = false
		} 
		else if (kotelezo_elemek[i].type=='checkbox')
		{
			if (kotelezo_elemek[i].checked===true) ellenorzottc=1
			vancheckbox=1;
		}
		else if (kotelezo_elemek[i].type=='radio')
		{
			if (kotelezo_elemek[i].checked===true) ellenorzottr=1
			vanradio=1;
		}
		else if(kotelezo_elemek[i].type!='radio' && kotelezo_elemek[i].type!='checkbox')
		{
			kotelezo_elemek[i].style.background = jo_szin;
		}
	}
	
	if ((ellenorzottr == 0 || ellenorzottc==0) && vanradio==1 && vancheckbox==1) jo = false
			
	for (i in kotelezo_email_elemek) 
	{
		if (!emailfilter.test(kotelezo_email_elemek[i].value))
		{
			kotelezo_email_elemek[i].style.background = rossz_szin;
			jo = false
		} 
		else 
		{
			kotelezo_email_elemek[i].style.background = jo_szin;
		}    
	}

	if (elem!=undefined) elem.disabled = !jo;
}

addEvent(window, 'load', ellenorzes_betolto);
