/* search.js */

var Search = {

	run: function(){
		
		// hide fieldset
		$$('a.hide_fieldset').each(function(item) {
			Event.observe(item, 'click', Search.hideFieldset.bindAsEventListener(item));
		});
		
		// display fieldset
		$$('a.display_fieldset').each(function(item){
			Event.observe(item, 'click', Search.displayFieldset.bindAsEventListener(item));
		});
		
		// set now
		$$('form td a').each(function(item) {
			Event.observe(item, 'click', Search.setTime.bindAsEventListener(item));
		});	
	},

	hideFieldset: function(e) {
		Search.doHide(this.rel);
		e.stop();
	},
	
	doHide: function(fieldset) {
		Effect.Fade('search_' + fieldset, {duration: 0.75});
		Search.saveForm(fieldset, 0);
		$('display_' + fieldset).removeClassName('active');
	},
	
	displayFieldset: function(e) {
		var id = this.href.substring(this.href.indexOf('#') + 1);
		if (!this.hasClassName('active')) {
			Effect.Appear('search_' + id, {duration: 0.75});
			Search.saveForm(id, 1);
			this.addClassName('active');			
		} else {
			Search.doHide(id);
		}
		e.stop();
	},
		
	setTime: function(e) {
		var d = new Date();
		var hour = d.getHours();
		var min = Math.round(d.getMinutes() / 5) * 5;
		if (min == 60) min = 0;
		if (this.hasClassName('range')) {
		    var d = new Date(d.getYear(),d.getMonth(),d.getDate(),d.getHours(),d.getMinutes() + 30,d.getSeconds());
   			$('search_' + this.id + '_zac_u').value = hour;
			$('search_' + this.id + '_zac_m').value = min;		
   			$('search_' + this.id + '_kon_u').value = d.getHours();
			var min_end = Math.round(d.getMinutes() / 5) * 5;			
			if (min_end == 60) min_end = 0;
			$('search_' + this.id + '_kon_m').value = min_end;	
			
			// custom selects
			if ($('select' + this.id + '_zac_u')) {
	   			$('select' + this.id + '_zac_u').childNodes[0].nodeValue = Search.formatTime(hour);
				$('select' + this.id + '_zac_m').childNodes[0].nodeValue = Search.formatTime(min);		
	   			$('select' + this.id + '_kon_u').childNodes[0].nodeValue = Search.formatTime(d.getHours());
	   			$('select' + this.id + '_kon_m').childNodes[0].nodeValue = Search.formatTime(min_end);
			}					
		} else {
			$('search_' + this.id + '_u').value = hour;
			$('search_' + this.id + '_m').value = min;
			
			// custom selects
			if ($('select' + this.id + '_u')) {
				$('select' + this.id + '_u').childNodes[0].nodeValue = Search.formatTime(hour);	
				$('select' + this.id + '_m').childNodes[0].nodeValue = Search.formatTime(min);
			}			
		}
		//$('search_' + this.rel).checked = true;
		e.stop();
	},
	
	formatTime: function(time) {
		if (time < 10) {
			time = '0' + time;
		}
		return time;
	},
	
	saveForm: function(fieldset, display) {
		new Ajax.Request(Utils.getUrl(), {   
			method: 'get',
			parameters: {
				plugin		: 'search',
				mode		: 'saveForm',
				fieldset	: fieldset,
				display		: display
			},
			onSuccess: function(transport) {
				//alert(transport.responseText);
			}			
		});
	}
	
}

new StartUp(Search);