window.addEvent('domready', init);
function init() {
	var initrun = 0;
	//initiate calendar
	goCal();
	
	//check for zip code
	var ziplen = $('zipCode').value.length;
	var zipval = $('zipCode').value;
	if (ziplen >= 5) {
		$('zip-unset').setStyle('display','none');
		$('zip-set').setStyle('display','block');
		$('zip-set').set('html','<strong>'+zipval+'</strong> | <a id="zip-edit">edit</a>');
		//$('distanceSlider').setStyle('display','block');
	} else {
		$('zip-set').setStyle('display','none');
		$('zip-unset').setStyle('display','block');
		//$('milesinput').set('value',0);
		//$('distanceSlider').setStyle('display','none'); 
	}
	
	//ajax request data if the date field is used
	var reqFnDate = function(e,ee) {
		$('alert').set('styles', {'display':'block'});
		$('alert').set('html', '<p align="center">Loading<br /><img src="images/ajax-loader.gif" alt="+" /></p>');
		$('module-filter').set('opacity',.2);
		var req = new Request.HTML({url:ee, 
			onSuccess: function(html) {
				//Clear the text currently inside the results div.
				$('module-filter').set('html', '');
				$('alert').set('styles', {'display':'none'});
				//Inject the new HTML elements into the results div.
				$('module-filter').set('opacity',1);
				$('module-filter').adopt(html);
				//Check to make sure we still have a zip code
				init();
			},
			onFailure: function() {
				$('alert').set('styles', {'display':'none'});
				$('module-filter').set('opacity',1);
				$('module-filter').set('html', '<p>There was a problem processing your information, please try again in a few minutes.</p>');
			}
		}).post($(e));
	}
	
	//ajax request data if anything except the date field is used
	var reqFn = function(e) {
		$('alert').set('styles', {'display':'block'});
		$('alert').set('html', '<p align="center">Loading<br /><img src="images/ajax-loader.gif" alt="+" /></p>');
		
		$('module-filter').set('opacity',.2);
		var req = new Request.HTML({url:'event-search-include.php', 
			onSuccess: function(html) {
				//Clear the text currently inside the results div.
				$('module-filter').set('html', '');
				$('alert').set('styles', {'display':'none'});
				//Inject the new HTML elements into the results div.
				$('module-filter').set('opacity',1);
				$('module-filter').adopt(html);
				//Check to make sure we still have a zip code
				var n = $('zipCode').value.length;
				init();
			},
			onFailure: function() {
				$('alert').set('styles', {'display':'none'});
				$('module-filter').set('opacity',1);
				$('module-filter').set('html', '<p>There was a problem processing your information, please try again in a few minutes.</p>');
			}
		}).get(e);
	}
	
	//initiate slider
	var mySlider = new Slider('miles', 'knob', {
			steps: 30,
			wheel: true,
			snap: false,
			onChange: function(){
					var n = this.step*50;
					if (n == 0) {
							$('milestxt').set('text','Any');
							$('milesinput').set('value',n);
					} else {
							$('milestxt').set('text',n+' mi.');
							$('milesinput').set('value',n);
					}
			}
	});
	mySlider.set(getStep());
	initrun = 1;
	
	if($chk($('zip-edit'))) {
		$('zip-edit').addEvent('click', function() {
			$('zip-set').setStyle('display','none');
			$('zip-unset').setStyle('display','block');
		});
	}
	
	$$('.filter-onchange').each(function(e) {
			e.addEvent('change',function() {	
				var v = e.getProperty('value');
				reqFn(v);
			})
	});
	$$('.filter-onclick').each(function(e) {
			e.addEvent('click',function() {	
				var v = e.getProperty('href');
				reqFn(v);
				return false;
			})
	});
	$$('.filter-date').each(function(e) {
			var v = e.getProperty('title');
			var a = $(v).getProperty('action');
			e.addEvent('click',function() {												
				reqFnDate(v,a);
				return false;
			})
	});
	if($chk($('knob'))) {
		$('knob').addEvent('mousedown',function() {
			$('module-event-search').addEvent('mouseup',doReq);															
			/*var v1 = $('milesinput').getProperty('value');
			var v2 = $('mileslink').getProperty('value');
			var v = v2+v1;
			reqFn(v);*/
		});
	}
	function doReq() {
		$('module-event-search').removeEvent('mouseup',doReq);
		var v1 = $('milesinput').getProperty('value');
		var v2 = $('mileslink').getProperty('value');
		var v = v2+v1;
		reqFn(v);
	}
	if($chk($('zipCode'))) {
		$('zipCode').addEvent('keyup',function() {
			var n = $('zipCode').value.length;	
			if (n >= 5) {
				$('distanceSlider').setStyle('display','block');	
				doSlider();
			} else {
				$('distanceSlider').setStyle('display','none');
			}
		});
	}
}