/* product.js */

Event.observe(window, 'load', prepareProduct);

function optionChanged(seq_no)
{
	//check index option
	var field=$('field'+seq_no);
	var sel=field.getElementsBySelector('select');
	
	//have we made a selection
	if (sel[0].selectedIndex>0)
	{
		var next_id=seq_no;
			
		//keep searching for a checkbox to show
		while (true)
		{
			
			next_id++;
			field=$('field'+next_id);
			if (field)
			{
				var show=true;
				
				
				sel=field.getElementsBySelector('select');
				if (sel.length)
				{
					sel[0].options[0].selected=true;
					
					//is this a conditional field?
					var condstr=sel[0].getAttribute('condition');
					if (condstr)
					{
						//parse the condition
						var condition=condstr.toQueryParams();
						var codename;
						for (codename in condition)
						{
						    var required=condition[codename];
						    
						    sel=$(codename);
						    var cursel=sel.options[sel.selectedIndex].value;
						    
						    if (required==cursel)
						    {
						    	//show=true;
							}
							else
							{
								show=false;
								field.hide();
							}    	
						}
						
					}
				}
				
				if (show)
				{
					field.show();
					break;
				}
				else
				{
					//we'll keep looping until we find a field		
				}
				
			}
			else
			{
				//no more fields
				break;
			}
		
		}
	}
	else
	{
		//user reset selection, hide all subsequent
		next_id=seq_no;
	}
	
	//hide subsequent
	var completed=true;
	while (true)
	{
		next_id++;	
		field=$('field'+next_id);
		if (field)
		{
			field.hide();
			completed=false;
		}
		else
		{
			break;
		}
	}
	
	if (completed)
	{
		//no more fields, enable submit button	
		$('add').enable();
	}
	else
	{
		//disable submit button
		$('add').disable();
	}
}

function prepareProduct()
{
	var fields=$$('div.pfield');	
	var i;
	for (i=0; i<fields.length; i++)
	{
		//select field? we need to watch it
		var sel=fields[i].getElementsBySelector('select');
		if (sel)
		{
			Event.observe(sel, 'change', function(){ alert("hey"); } );	
		}
		
		//always show first option
		if (i>0)
		{
			fields[i].hide();
		}
		
		
	}
	
	
	
}


