window.addEvent('domready', function() {
	var textarea = $('query'), log = $('log');
	
	// We define the highlight morph we're going to
	// use when firing an event
	var highlight = new Fx.Morph(log, {
		duration: 5500,
		link: 'cancel',
		transition: 'quad:out'
	});
	 
	// Here we start adding events to textarea.
	// Note that 'focus' and 'keyup' are native events, while 'burn'
	// is a custom one we've made
	textarea.addEvents({
		focus: function() {
			// When focusing, if the textarea contains value "Type here", we
			// simply clear it.
			if (textarea.value.contains('Type here')) textarea.value = '';
		},
		
		keyup: function() {
			// When user keyups we check if there are any of the magic words.
			// If yes, we fire our custom event burn with a different text for each one.
			if 	(textarea.value.contains('хуй')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('ђ')) textarea.fireEvent('burn', 'Смените кодировку!');
			else if (textarea.value.contains('гавно')) textarea.fireEvent('burn', 'Плохое слово!');			
			else if (textarea.value.contains('говно')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('проститут')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('порно')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('sex')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('fuck')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('сиськи')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('вагина')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('член')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('секс')) textarea.fireEvent('burn', 'На это слово нет результатов!');
			else if (textarea.value.contains('пенис')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('сука')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('срать')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('долбоёб')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('сучка')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('хер')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('заебал')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('залуп')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('лесбиян')) textarea.fireEvent('burn', 'Вы пытаетесь написать Плохое слово!');
			else if (textarea.value.contains('минет')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('мудак')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('гандон')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('презерватив')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('жопа')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('ебат')) textarea.fireEvent('burn', 'Вы пытаетесь написать Плохое слово!');
			else if (textarea.value.contains('ебал')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('сперм')) textarea.fireEvent('burn', 'Вы пытаетесь написать Плохое слово!');
			else if (textarea.value.contains('шлюх')) textarea.fireEvent('burn', 'Вы пытаетесь написать Плохое слово!');
			else if (textarea.value.contains('ебу')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('пидо')) textarea.fireEvent('burn', 'Вы пытаетесь написать Плохое слово!');
			else if (textarea.value.contains('пизд')) textarea.fireEvent('burn', 'Вы пытаетесь написать Плохое слово!');
			else if (textarea.value.contains('хуес')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('эякуляция')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('анал')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('клитор')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('говно')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('дрочит')) textarea.fireEvent('burn', 'Вы пытаетесь написать Плохое слово!');
			else if (textarea.value.contains('анан')) textarea.fireEvent('burn', 'Вы пытаетесь написать Плохое слово!');
			else if (textarea.value.contains('анус')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('педрил')) textarea.fireEvent('burn', 'Вы пытаетесь написать Плохое слово!');
			else if (textarea.value.contains('бля')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('голые')) textarea.fireEvent('burn', 'Плохое слово!');
			else if (textarea.value.contains('эротик')) textarea.fireEvent('burn', 'Плохое слово!');			
			// note that in case of 'delayed', we are firing the event 1 second late.
			else if (textarea.value.contains('delayed')) textarea.fireEvent('burn', "Плохое слово!", 1000);
		},
		burn: function(text) {
			// When the textarea contains one of the magic words
			// we reset textarea value and set the log with text
			textarea.value = ''; log.set('html', text);
			
			// then we start the highlight morphing
			highlight.start({
				backgroundColor: ['#fff36f', '#000000'],
				opacity: [1, 0]
			});
		}
	});
});