(function(){
	var events;
	var check = function(e){
		var target = $(e.target);
		var parents = target.getParents();

		events.each(function(item){
			var element = item.element;
			if (element != target && !parents.contains(element))
				item.fn.call(element, e);
		});
	};

	Element.Events.outerClick = {
		onAdd: function(fn){
			if(!events) {
				document.addEvent('click', check);
				events = [];
			}
			events.push({element: this, fn: fn});
		},
		
		onRemove: function(fn){
			events = events.filter(function(item){
				return item.element != this || item.fn != fn;
			}, this);
			
			if (!events.length) {
				document.removeEvent('click', check);
				events = null;
			}
		}
	};
})();

var SetSelect = function(sID, sValue){
	if (sValue == ''){
		return;
	}
	
	for (var i=0; i<$(sID).options.length; i++){
		if ($(sID).options[i].value == sValue){
			$(sID).selectedIndex = i;
		}
	}
};

var SetPollValue = function(){
	var i_poll_answer = this.id.replace(/^poll-option-/, '');

	$('pollanswer').value = i_poll_answer;
	
	$$('div.poll-radiobutton').each(function(oEl){
		if (oEl.id == this.id){
			if (!oEl.hasClass('rb-checked')){
				oEl.addClass('rb-checked');
			}
			
			if (oEl.hasClass('rb-unchecked')){
				oEl.removeClass('rb-unchecked');
			}
		} else {
			if (oEl.hasClass('rb-checked')){
				oEl.removeClass('rb-checked');
			}
			
			if (!oEl.hasClass('rb-unchecked')){
				oEl.addClass('rb-unchecked');
			}
		}
	}, this);
};

window.addEvent('domready', function(){
	/*
	$(document.body).addEvent('contextmenu', function(e){
		e.stop();
	});
	*/
	$$('div.poll-radiobutton').each(function(oEl){
		oEl.addEvent('click', SetPollValue);
	});
	
	
	if ($('poll-vote-button')){
		$('poll-vote-button').addEvent('click', function(){
			$('poll-action').value = 'pollvote';
			$('poll-vote').submit();
		});
	}
	
	if ($('poll-result-button')){
		$('poll-result-button').addEvent('click', function(){
			$('poll-action').value = 'pollresult';
			$('poll-vote').submit();
		});
	}
	
	// add separator div after each H1
	$$('div#content-main h1').each(function(oH1){
		var o_separator_div = new Element('div').set({
			'class':'separator'
		}).injectAfter(oH1);
	});
	
	// fix stuff all select boxes
	$$('li.select').each(function(oEl){
		oEl.addEvent('mouseover', function(){
			oEl.addClass('hover');
		});
	
		oEl.addEvent('mouseout', function(){
			oEl.removeClass('hover');
		});
		
		oEl.addEvent('click', function(){
			var s_id = oEl.getParent().id.replace(/^(.+)-ul$/, '$1');
			$(s_id + '-div').set('text', oEl.get('text'));
			$(s_id).value = oEl.get('title');
		});
	});
	
/*	$$('li.select no-height').each(function(oEl){
		oEl.addEvent('mouseover', function(){
			oEl.addClass('hover');
		});
	
		oEl.addEvent('mouseout', function(){
			oEl.removeClass('hover');
		});
		
		oEl.addEvent('click', function(){
			var s_id = oEl.getParent().id.replace(/^(.+)-ul$/, '$1');
			$(s_id + '-div').set('text', oEl.get('text'));
			$(s_id).value = oEl.get('title');
		});
	});*/
	
	// empty prefilled input fields onfocus
	$$('input.prefilled').each(function(oEl){
		oEl.addEvent('focus', function(){
			oEl.value = '';
			oEl.removeEvents();
		});
	});
	
	$$('div.input-select').each(function(oEl){
		var s_id = oEl.id.replace(/^(.+)-div$/, '$1');
		oEl.addEvent('click', function(){
			if ($(s_id + '-ul')){
				$(s_id + '-ul').toggleClass('hidden');
			}
		});

		oEl.addEvent('outerClick', function(){
			$(s_id + '-ul').addClass('hidden');
		});

		if ($(s_id).value != ''){
			$(s_id + '-ul').getChildren().each(function(oEl){
				if ($(s_id).value == oEl.get('title')){
					$(s_id + '-div').set('text', oEl.get('text'));
				}
			});
		}
		
		if ($(s_id + '-ul').getChildren().length > 11){
			$(s_id + '-ul').set('style', 'height: 200px');
		}
		
	});	
	
	if ($('flashmap')){
		var so = new SWFObject("/assets/flash/map.swf", "ammap", "100%", "450", "8", "#FFFFFF");
		so.addVariable("path", "/assets/flash/");
		so.addVariable("data_file", "/map_data.php");
		so.addVariable("settings_file", escape("/assets/flash/map_settings.xml"));
		so.addVariable("preloader_color", "#999999");
		so.write("flashmap");
	}
	
	if ($('flashmovie')){
		var so = new SWFObject("/assets/flash/player.swf", "player1", "676", "369", "9.0.115");
		so.addVariable("file", "/assets/flash/jaato.flv");
		so.addVariable("image", "/assets/flash/jaato.jpg");
		so.addVariable("autostart", "false");
		so.addVariable("bufferlength", 30);
		so.addVariable("controlbar", "over");
		
		so.addParam("allowfullscreen", "true"); 
		so.addParam("allowscriptaccess", "always");
		so.write("flashmovie");
	}
});