var InitReactieTabs = function(){
	$$('div.reactie-tab').each(function(oTab){
		if (oTab.hasClass('reactie-passive')){
			oTab.addEvent('mouseover', function(){
				oTab.addClass('reactie-hover');
			});
			oTab.addEvent('mouseout', function(){
				oTab.removeClass('reactie-hover');
			});
		}
	});
};

window.addEvent('domready', function(){
	InitReactieTabs();
	
	$$('img.back-button').addEvent('click', function(){
		history.go(-1);
	});
	
	$$('a.edit-reaction').each(function(oEl){
		// edit reaction
		oEl.addEvent('click', function(){
			// get reaction id
			var i_reaction_id = oEl.getParent('div').get('id').replace(/^reaction-actions-([\d]+)$/, '$1');
			// get text
			var s_reaction = $('reaction-' + i_reaction_id).getElement('p.reactie').get('text');
			// set empty text
			$('reaction-' + i_reaction_id).getElement('p.reactie').set('html', '');
			// create textarea
			var o_textarea = new Element('textarea', {
				'text':s_reaction,
				'class':'edit-reaction'
			}).injectInside($('reaction-' + i_reaction_id).getElement('p.reactie'));
			// create save button
			var o_save_button = new Element('input', {
				'type':'image',
				'src':'/assets/images/button-save-edit.jpg',
				'class':'save-edit-reaction'
			}).addEvent('click', function(){
				// save 
				new Request({
					'url': '/ajax/',
					'method': 'post',
					'data': $H({
						'resource': 'article',
						'action': 'edit-reaction',
						'articleid': $('articleid').get('text'),
						'reactionid': i_reaction_id,
	 					'reaction': o_textarea.value
					}).toQueryString(),
					onComplete: function(s_response){
						if (s_response == '.'){
							var s_new_reaction_text = o_textarea.value.replace(/(\r\n|\n\r|\r|\n)/g, '<br>\n');
						} else {
							var s_new_reaction_text = s_reaction.replace(/(\r\n|\n\r|\r|\n)/g, '<br>\n');
						}
						o_textarea.destroy();
						o_save_button.destroy();
						$('reaction-' + i_reaction_id).getElement('p.reactie').set('html', s_new_reaction_text);
					}
				}).send();

			}).injectInside($('reaction-' + i_reaction_id).getElement('p.reactie'));
			
			return false;
		});
	});
	
	$$('a.delete-reaction').each(function(oEl){
		// delete reaction
		oEl.addEvent('click', function(){
			// get reaction id
			if (confirm('We je zeker dat je deze reactie wilt verwijderen?')){
				var i_reaction_id = oEl.getParent('div').get('id').replace(/^reaction-actions-([\d]+)$/, '$1');
			
				// delete 
				new Request({
					'url': '/ajax/',
					'method': 'post',
					'data': $H({
						'resource': 'article',
						'action': 'delete-reaction',
						'articleid': $('articleid').get('text'),
						'reactionid': i_reaction_id
					}).toQueryString(),
					onComplete: function(s_response){
						if (s_response == '.'){
							// remove reaction div
							if ($('reaction-' + i_reaction_id)){
								$('reaction-' + i_reaction_id).destroy();
							}
						
							if ($('reaction-actions-' + i_reaction_id)){
								$('reaction-actions-' + i_reaction_id).destroy();
							}
						}
					}
				}).send();
			}
			return false;
		});
	});
	
	$$('a.block-user').each(function(oEl){
		// delete reaction
		oEl.addEvent('click', function(){
			if (confirm('We je zeker dat je deze gebruiker wilt blokkeren?\n\nHij/zij kan dan niet meer inloggen, reacties plaatsen of een nieuw account aanmaken met hetzelfde e-mail adres.')){
				// get reaction id
				var i_reaction_id = oEl.getParent('div').get('id').replace(/^reaction-actions-([\d]+)$/, '$1');
				
				// block 
				new Request({
					'url': '/ajax/',
					'method': 'post',
					'data': $H({
						'resource': 'article',
						'action': 'block-user',
						'articleid': $('articleid').get('text'),
						'reactionid': i_reaction_id
					}).toQueryString(),
					onComplete: function(s_response){
/*						if (s_response == '.'){
							// remove reaction div
							if ($('reaction-' + i_reaction_id)){
								$('reaction-' + i_reaction_id).destroy();
							}

							if ($('reaction-actions-' + i_reaction_id)){
								$('reaction-actions-' + i_reaction_id).destroy();
							}
						}*/
					}
				}).send();
			}
		});
	});
	
	if ($('tab-reacties')){
		$('tab-reacties').addEvent('click', function(){
			// hide reageren block
			$('block-reageren').setStyle('display','');
			$('block-reageren').addClass('hidden');
			// remove mouseover & mouseout events
			$('tab-reacties').removeEvents('mouseout');
			$('tab-reacties').removeEvents('mouseover');
			// set tab classes
			$('tab-reacties').set('class', 'reactie-tab reactie-active');
			$('tab-reageren').set('class', 'reactie-tab reactie-passive');
			// re-init tabs
			InitReactieTabs();
		});
	}
	
	if ($('tab-reageren')){
		$('tab-reageren').addEvent('click', function(){
			// show reageren block
			$('block-reageren').removeClass('hidden');
			$('block-reageren').setStyle('display','inline');
			// remove mouseover & mouseout events
			$('tab-reageren').removeEvents('mouseout');
			$('tab-reageren').removeEvents('mouseover');
			// set tab classes
			$('tab-reageren').set('class', 'reactie-tab reactie-active');
			$('tab-reacties').set('class', 'reactie-tab reactie-passive');
			// re-init tabs
			InitReactieTabs();
		});
	}
	
});