﻿	var bledy = 0;

	function serializujRadio(div)
	{
		var labels = div.getElementsByTagName('label');
		for(var i=0;i<labels.length;i++)
		{
			var pole = $(labels[i].htmlFor);
			if(pole && pole.getAttribute('type')=='radio' && pole.checked)
			{
				return labels[i].innerHTML.stripTags();
			}
		}
		return '';
	}
	function serializujPole(label)
	{
		var dane_pole = new Object();
		dane_pole.tytul = label.innerHTML.stripTags();
		dane_pole.typ = 'pole';
		var pole = $(label.htmlFor);
		if(!pole)
		{
			return false;
		}
		var tag = pole.tagName.toLowerCase();
		switch(tag)
		{
			case 'input':
				if(pole.getAttribute('type')=='radio')
				{
					return false;
				}
			case 'select':
			case 'textarea':
				dane_pole.wartosc = $F(label.htmlFor);
				return dane_pole;
				break;
			case 'div':
				dane_pole.wartosc = serializujRadio(pole);
				return dane_pole;
				break;
		} 
	}
	function serializujSekcja(sekcja)
	{
		var dane_sekcja = new Object();
		if(sekcja.getElementsByTagName('h3').length>0)
		{
			dane_sekcja.tytul = sekcja.getElementsByTagName('h3')[0].innerHTML.stripTags();
		}
		else if(sekcja.getElementsByTagName('h4').length>0)
		{
			dane_sekcja.tytul = sekcja.getElementsByTagName('h4')[0].innerHTML.stripTags();
		}
			
		dane_sekcja.typ = 'sekcja';
		var podsekcja = sekcja.getElementsByClassName('podsekcja');
		if(podsekcja.length>0)
		{
			dane_sekcja.podsekcje = new Array();
			for(var i=0;i<podsekcja.length;i++)
			{
				dane_sekcja.podsekcje[i] = serializujSekcja(podsekcja[i]);
			}
		}
		else
		{
			dane_sekcja.pola = new Array();
			var j = 0;
			var labels = sekcja.getElementsByTagName('label');
			for(var i=0;i<labels.length;i++)
			{
				var dane_pola = serializujPole(labels[i]);
				if(dane_pola)
				{
					var pole = $(labels[i].htmlFor);
					pole.removeClassName('blad');
					if(!dane_pola.wartosc && $(labels[i]).hasClassName('wymagane'))
					{
						bledy++;
						pole.addClassName('blad');
					}
					dane_sekcja.pola[j++] = dane_pola;
				}
			}
		}
		return dane_sekcja;
	}
	function przeslanyFormularz(transport)
	{
		if(transport.responseText=='Zgłoszenie wysłane prawidłowo. <br />Dziękujemy.')
		{
			$('formularz').parentNode.innerHTML = '<p>'+transport.responseText+'</p>';
		}
		else
		{
			alert(transport.responseText);
		}
	}
	function serializujFormularz(event)
	{
		event.stop();
		bledy = 0;
		var dane_sekcje = new Array();
		var j = 0;
		
		var sekcje = $$(".sekcja");
		for(var i=0;i<sekcje.length;i++)
		{
			if(sekcje[i].visible())
			{
				dane_sekcje[j++] = serializujSekcja(sekcje[i]);
			} 
		}
		if(!bledy)
		{
			new Ajax.Request('formularz.php',{method: 'post', parameters: 'obrazek='+$F('obrazek')+'&wartosci='+dane_sekcje.toJSON(), onSuccess: przeslanyFormularz});
		}
		else
		{
			alert('Musisz wypełnić wymagane pola!');
		}
	}
	function changeBlock(event)
	{
		var element = event.findElement();
		if(element.checked)
		{
			$(element.id+'_div').show();
		}
		else
		{
			$(element.id+'_div').hide();
		}
	}
	if($("formularz"))
	{
		var inputy = $$("#wybor_zapytania input");
		for(var i=0;i<inputy.length;i++)
		{
			inputy[i].observe('click',changeBlock);
		}
		$("formularz").observe('submit',serializujFormularz);	function serializujRadio(div)
		{
			var labels = div.getElementsByTagName('label');
			for(var i=0;i<labels.length;i++)
			{
				var pole = $(labels[i].htmlFor);
				if(pole && pole.getAttribute('type')=='radio' && pole.checked)
				{
					return labels[i].innerHTML.stripTags();
				}
			}
			return '';
		}
	}
