function buildFromArray(list, list_name)
{

	for(i = list.options.length - 1 ; i >= 0 ; i--)
	{
		list.options[i] = null;
	}
	
	var optgroups = list.childNodes;
	for(i = optgroups.length - 1 ; i >= 0 ; i--)
	{
		list.removeChild(optgroups[i]);
	}
	//alert(typeof(selectOptions[3][1]));
	var k = 0;
	for(i = 0 ; i < selectOptions.length ; i++)
	{
		if(typeof(selectOptions[i][1])=='object' || (!selectOptions[i][1] && selectOptions[i][1]!=="" ))
		{
		
			var group = selectOptions[i];
			var optgroup = document.createElement('optgroup');
			optgroup.label = group[0];
			list.appendChild(optgroup);
			for(j = 1 ; j < group.length ; j++)
			{
				if(group[j])
				{
					selected=false;
					if(list_name)
					{
						//alert('aa');
						selected=getState(list_name, group[j][1]);
					}
					
					var option = new Option(group[j][0], group[j][1], false, selected);
					selected=false;
					list.options[k++] = option;
				}
			}
		}
		else
		{
			var item = selectOptions[i];
					selected=false;
					if(list_name!=='')
					{
						//alert(list_name + ' ' +item[1]);
						selected=getState(list_name, item[1]);
					}
			var option = new Option(item[0], item[1], false, selected);
			selected=false;
			//list.appendChild(document.createElement('optgroup'));
			list.options[k++] = option;
		}
	}

}

function switchList(thing, id)
{
	//alert(thing+'_'+id);
	opts=document.getElementById('rozmiar');
	//alert(opts);
	frm=document.getElementById('finder');	
	
	//document.forms.finder.removeChild(opts);
/*
	ls=document.createElement('SELECT');
	ls.name='rozmiar';
	ls.id='rozmiar';
	frm.appendChild(ls);
	*/
	eval ("selectOptions=" + thing + '_' + id);
	
	buildFromArray(opts, thing);
	//constructArray();
	//reConstructSelectBox(ls);
	
}
	
	function getState(id, value)
	{
		selected=false;
		if(id=='producent')
		{
					
			if(value == p_producer)
			{
				//alert(newProdOptions[i].value + ' ' + producer);
				selected=true;
			}
		}
		else if(id=='rozmiar')
		{
			if(value == s_sizes)
			{
				selected=true;
			}
		}
		else if(id=='kolor')
		{
			if(value == c_color)
			{
				selected=true;
			}
		}
		return selected;
	}
	
	
	
	
	
	function switcher(id, dzial)
	{
		document.getElementById('dzial').value=dzial;
		
		oldProdOptions=document.getElementById(id);
		newProdOptions=document.getElementById(id + '_' + dzial).childNodes;
		
		size=oldProdOptions.length;
		
		for(var i=0;i < size;i++)
		{
			if(oldProdOptions[i])
			{
				oldProdOptions.removeChild(oldProdOptions[i]);
			}
		}
		
		oldProdOptions.options.length = newProdOptions.length;
		
		for(var i=0;i < newProdOptions.length;i++)
		{
			if(newProdOptions[i].nodeName=='OPTGROUP')
			{
				//document.getElementById('abs').innerHTML+=newProdOptions[i].nodeName;
				//document.getElementById('abs2').innerHTML+= nodes[i].nodeName;
				var optgroup = document.createElement('optgroup');
				optgroup.label = newProdOptions[i].label;
				optgroup.style.backgroundColor='red';
				//alert(group);
				//oldProdOptions.appendChild(optgroup);
				oldProdOptions.options[i]=optgroup;
			}
			else
			{
				selected=getState(id, newProdOptions[i].value);
				oldProdOptions.options[i]=new Option(newProdOptions[i].text, newProdOptions[i].value, false, selected);
				selected=false;
			}		
		}
	}
	
	var regExp = /^(\d+\.?\d{0,2}|.{0})$/;
	function check(val, text) {

		if (!regExp.test(val)) { alert('Cena' + text + 'ma niepoprawną wartość'); return false; }
		else { return true; }
	}
	function send()
	{
		form=document.getElementById('finder');
		
		cenaod=form['cenaod'];
		cenado=form['cenado'];
		if(check(cenaod.value, " minimalna ")!==true || check(cenado.value, " maksymalna ")!==true)
		{
			//alert('Cena' + text + 'ma niepoprawną wartość');
		}
			else
		{
			form.submit();
		}
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	