/**
 * MODES:
 * 1 = define theme
 * 2 = define media
 * 3 = generate output, let user select output
 * 4 = do something with selected output (store in list or send)
 */
	var persclubQuickSearch = Class.create(persclubSearch, {
		
		initialize : function(container){
			this.container = container;
			this.mode = 3;
			this.page = 0;
			this.maxPages = 10;
		},
		
		draw : function(searchStr){
			var func = (function(req){this.handlePageUpdate(req, searchStr)}).bind(this)
			new Ajax.Updater(
					this.container, 
					'/index.php', 
					{
						parameters: { 
							'page':'zoeken/',
							'action' : 'persclubSearch',
							'rpc':'1',
							'xmlReq':'<command><call><method>getUI</method></call></command>'
						},
						evalScripts : true,
						onLoading : this.waiter.bind(this),
						onSuccess : this.unWaiter.bind(this),
						onComplete : func
					}
			);
		},
		
		handlePageUpdate : function(req, searchStr){
			// assign events:
			this.hideAll();
			$('search' + this.mode).show();
			this.basket = new basketController($('_basketEdit'));
			this.basket.fromSearch = true;
			basketController.basketID = 0;
			
//			$('themeSubmit').observe('click', this.goToNext.bind(this));
//			$('mediumSubmit').observe('click', this.doSearch.bind(this));
			$('basketSave').observe('click', this.createNewBasket.bindAsEventListener(this));
			this.doSearch(searchStr);
		},
		
		doSearch : function(){
			// gather values:
			this.hideAll();
			$('search3').show();
			this._doSearch();

		},
		
		_doSearch : function(callBack){
			var searchStr = $('quickSearch').getValue();
			if (callBack){
				var func = callBack;
			}else{
				var func = this.handleSearchResults.bind(this);
			}			
			var RPCObj = new rpc;
//			RPCObj.debug = true;
			RPCObj.createCall('persclubSearch', '', this);
			RPCObj.setMethod('quickSearch');
			RPCObj.addArgument('searchStr', searchStr);
			RPCObj.addArgument('amount', $('resultsCount').getValue());
			RPCObj.addArgument('page', this.page);
			RPCObj.addArgument('order', $('resultsSort').getValue());
			RPCObj.addArgument('orderBy', $('resultsSortBy').getValue());
			RPCObj.attachWaiter(this.waiter, this);
			RPCObj.attachUnWaiter(this.unWaiter, this);
			RPCObj.setCallback(func);
			RPCObj.call();						
		}
				
	})
	

