(function($, undefined) {
	/*
	 * Bugfix for IE, which is fireing a change-event only after blur O.o 
	 */
	window.addEvent('domready', function() {
		$$('input[type=checkbox]').addEvent('click', function(e) {
			this.blur();
		});
	});
	
	/*
	 * Fade in deep-urls when clicking its link
	 */
	window.addEvent('domready', function(){
		$$('.dealer-detail-item-wrap').each(function(wrapper) {
			var getLink = wrapper.getElements('.dealer-detail-deeplink'),
				deepurlDiv = wrapper.getElements('.deepurl');
			
			deepurlDiv.setStyle('display', 'none');
			deepurlDiv.fade('hide');
			//deepurlDiv.slide('hide');
			getLink.addEvent('click', function(e) {
				e = new Event(e).stop();
				getLink.setStyle('display', 'none');
				deepurlDiv.fade('in');
				deepurlDiv.setStyle('display', '');
			});
		});
	});
	
	/*
	 * Set up the accordion and open active one (if there is any - built for deepurl)
	 */
	window.addEvent('domready', function(){
		var accordion = new Accordion('.dealer-detail-head', '.dealer-detail-slide', {
			show: 9999,
			opacity: true,
			alwaysHide: true,
			transition: 'sine:inOut',
			onActive: function(toggler, element){
				toggler.addClass('dealer-detail-open');
			},
			onBackground: function(toggler, element){
				toggler.removeClass('dealer-detail-open');
			}
		}, $('accordion'));
		
		$$('div.dealer-detail-slide').each(function(slider){
			slider.setStyle('display', 'block');
		});
		$$('.dealer-detail-head-active').fireEvent('click', {});
	});
	
	/*
	 * Submit the form on certain events
	 */
	window.addEvent('domready', function() {
		$$('.filter-wrap form select, .filter-wrap form input').each(function(selectbox){
			switch (selectbox.get('id')) {
				case 'CountryDistance':
					selectbox.addEvent('triggerClientLocate', function(e){
						if(selectbox.selectedIndex == 0){
							selectbox.getParent('form').submit();
							return;
						}
						var baseUrl = arguments[0];
						//var geoOverlay = new S2.Widgets.Overlay.Ajax(baseUrl + 'users/displayUserLocalizeForm');
						geoOverlay.setContent(baseUrl + 'users/displayUserLocalizeForm')
						geoOverlay.fade('in');
						return;
					});
					break;
				default:
					selectbox.addEvent('change', function(e){
						this.getParent('form').submit();
					});
			}
		});
	});
	
})(document.id);

/**
 * Disable the map and display an error message
 * 
 * @obsolete 
 * @param {String} errorMessage
 */
function disableMap(errorMessage) {
	var mapContainer = $('google-maps-widget'),
		mapShade = $('mapShade');
	if (!mapContainer) return;
	if (mapShade) mapShade.destroy();
	
	mapContainer.setStyle('position', 'relative');
	
	var disableWidget = new Element('div', {
		'id': 'mapShade',
		'styles': {
			'position': 'absolute',
			'top': '0',
			'left': '0',
			'opacity': '0.85'
		}
	});
	if (errorMessage) {
		disableWidget.set('html', errorMessage);
	}
	mapContainer.adopt(disableWidget, 'top');
}

/**
 * Enable the map (again)
 * @obsolete
 */
function enableMap() {
	var mapShade = $('mapShade');
	if (mapShade) $('mapShade').destroy();
}
