var switchTab = function(oBj){
	if(!$(oBj).hasClass('active')){
		switch(oBj){
			case "rTabL":
				$('rTabR').removeClass('active');
				$$('.reactie').removeClass('hidden');
				$$('.plaatsreactie').addClass('hidden');
			break;
			case "rTabR":
				$('rTabL').removeClass('active');
				$$('.reactie').addClass('hidden');
				$$('.plaatsreactie').removeClass('hidden');
			break;
		}
		$(oBj).addClass('active');
	}
};

var reactiefunctions = function(){
	if($('rTabL')){
		$('rTabL').addEvent('click',function(){
			switchTab(this.get('id'));
		});
		$('rTabR').addEvent('click',function(){
			switchTab(this.get('id'));
		});
	}
};

window.addEvent('domready', function(){
	reactiefunctions();
	
	$$('.articleButton').addEvent('click',function(){
	
		var bTp = this.get('class').replace('articleButton ','');
		
		switch(bTp){
			case "nOvz":
				history.go(-1);
			break;
			case "rGstr":
				window.location.href = "/register/";
			break;
			case "iNpt":
				window.document.reaction_form.submit();
			break;
		
		}
		
	});
	
	$$('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-([\d]+)$/, '$1');
			
			// get text
			var s_reaction = $('reaction-' + i_reaction_id).getElement('p.reactietext').get('text');
			
			// set empty text
			$('reaction-' + i_reaction_id).getElement('p.reactietext').set('html', '');
			
			// create textarea
			var o_textarea = new Element('textarea', {
				'text':s_reaction
			}).injectInside($('reaction-' + i_reaction_id).getElement('p.reactietext'));
			
			var o_save_button = new Element('div',{
				'class':'articleButton wIzg'
			});
			
			o_save_button.innerHTML = '<div class="cL"></div><div class="bcontent"><a href="#">wijziging opslaan</a></div><div class="cR"></div>';
			o_save_button.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.reactietext').set('html', s_new_reaction_text);
					}
				}).send();

			}).injectInside($('reaction-' + i_reaction_id).getElement('p.reactietext'));
			
			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-([\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){
						
					}
				}).send();
			}
		});
	});
	
});
