/*
 *  Depends on prototype.js, scriptaculous/builder.js, rock.js, rock-debug.js, rock-util.js
 */
// define the namespace
rock.namespace("rock.ui");

/*================================================
   Class SortControl
   data = {
     sortLabel: 'Sort:',
     options: [
       {label: 'Bestselling',
        value:'salesrank'},
       {label: 'Price Low to High',
        value:'price'},
       ...      
     ]
   }   
 =================================================*/
rock.ui.SortControl = function(data, onSortTopic){
	var topicOnSort = "/rock/sortControl/onSort";	
	var sortLabel = "Sort:";
	var options = [];
	
	// create container
	var control = Builder.node('div', {className:'sortControl'});
	
	if(onSortTopic){
		topicOnSort = onSortTopic;
	}	
	
	if(data.sortLabel){
		sortLabel = data.sortLabel;
	}
	
	if(data.options){
		options = data.options;
	}
	
	// create sort label
	var sortLabelNode = Builder.node('span',{className: 'sortLabel'}, sortLabel);
	control.appendChild(sortLabelNode);
	
	// create dropdown list
	var dropdown = Builder.node('select');
	dropdown.onchange = onOptionSelected;
	control.appendChild(dropdown);
	
	// create options	
	options.each(function(option){
		var optionNode = Builder.node('option', {value: option.value}, option.label);
		dropdown.appendChild(optionNode);
	});
		
	return control;
	
	function onOptionSelected(){
		var value = this.value;	
		rock.debug.msg('selected ' + value);	
	}
}
