function SelecteerCode(element) {
    var text = document.getElementById(element);
    if ($.browser.msie) {
        var range = document.body.createTextRange();
        range.moveToElementText(text);
        range.select();
    } else if ($.browser.mozilla || $.browser.opera) {
        var selection = window.getSelection();
        var range = document.createRange();
        range.selectNodeContents(text);
        selection.removeAllRanges();
        selection.addRange(range);
    } else if ($.browser.safari) {
        var selection = window.getSelection();
        selection.setBaseAndExtent(text, 0, text, 1);
    }
}

function minimizeCode(element) {
	$field=document.getElementById(element);
	$('#'+element).toggle();
}

function addToInput(gebruikersnaam) {
	$('#nieuwpb #naar input').val(gebruikersnaam);
	$('#inputSearchHelp').toggle();
}
function resizeImages() {
	var maxSize = 250;
	
	$("img[class=bb_image]").each(function () {
		var height = $(this).height();
		var width = $(this).width();
		
		if(height > maxSize || width > maxSize) {
			if(height > width) {
				var a = height / maxSize;
				var newWidth = width / a;
				var newHeight = height / a;
			} else {
				var a = width / maxSize;
				var newWidth = width / a;
				var newHeight = height / a;
			}
			
			$(this).height(newHeight);
			$(this).width(newWidth);
			
			$(this).fullsize();
		}
	});
}
function editReactie() {
	$("img[name=editreactie]").click(function () {
		// reactie_id ophalen
		var reactie_id = $(this).attr("reactie_id");
		// div met de message selecteren
		var message = $(this).parent().parent().parent().prev().children("div.message");
		
		// message vervangen door een textarea en button
		$(message).html("<textarea cols='58' rows='6' name='bericht_editreactie' id='bericht'>Even geduld...</textarea><br /><input type='submit' name='editreactie' value='Opslaan' />");
		
		// via een post de reactie laden
		$.post("editreactie.php", {reactie_id:reactie_id, action:"editreactie"}, function (response) {
			$('textarea[name=bericht_editreactie]').val(response.replace(/\uFFFD/g,'e')); //replace é by e
		});
		
		// click event aan de button hangen
		$('input[name=editreactie]').click(function () {
			var berichtje = $('textarea[name=bericht_editreactie]').val();
			var bericht = berichtje.replace(/\u20ac/g, 'euro');
			$.post("editreactie.php", {reactie_id:reactie_id, action:"savereactie", bericht:bericht}, function (response) {
				$(message).html(response);
			});
			return false;
		});
		return false;	
	});
}
function plaatsReactie() {
	$(':input[name=submit2]').click(function () {
		var topic_id = $(this).attr("topic_id");
		var textarea = $(this).parent().parent().prev().children().children("textarea#bericht")
		var berichtje = textarea.val();
		var bericht = berichtje.replace(/\u20ac/g, 'euro');
		
		if(bericht == "") {
			textarea.val("U heeft niks ingevuld...");
		} else {
			textarea.val("Even geduld...");
			
			$('.page:last').prev().remove();
			$('.page:last').remove();
			
			$('.bewerken:last').after('<div class="bericht"><center><img src="images/loading.gif" alt="loading" /></center></div>');
			$.post("postreactie.php", {method:"postReactie", bericht:bericht, topic_id:topic_id}, function (response) {
					$('.bewerken:last').next().remove();
					$('.bewerken:last').after(response).fadeIn();
			});
		}
		return false;
	});
}
function plaatsShowReactie() {
	$(':input[name=submitReactie]').click(function () {
		var showcase_id = $(this).attr("showcase_id");
		var textarea = $(this).parent().children("textarea#bericht");
		var berichtje = textarea.val();
		var bericht = berichtje.replace(/\u20ac/g, 'euro');
		
		if(bericht == "") {
			textarea.val("U heeft niks ingevuld...");
		} else {
			textarea.val("Even geduld...");
			
			$('span[title=reageer]').hide();
			$('span[title=reageer]').before('<div class="bericht" title="loading"><center><img src="images/loading.gif" alt="loading" /></center></div>');
			$.post("postreactie.php", {method:"postShowcaseReactie", bericht:bericht, showcase_id:showcase_id, design:design, concept:concept, inhoud:inhoud, functies:functies, navigatie:navigatie}, function (response) {
				$('div[title=loading]').remove();
				$('span[title=reageer]').before(response);
				$('span[title=reageer]').remove();
			});
		}
		return false;
	});
}


//Insert smileys/UBB at cursor position
									function icon(id, wrap1, wrap2) {
										if (document.selection) { // for IE 
											var str = document.selection.createRange().text;
											document.getElementById(id).focus();
											var sel = document.selection.createRange();
											sel.text = wrap1 + str + wrap2;
											return;
										} else if ((typeof document.getElementById(id).selectionStart) != 'undefined') { // for Mozilla
											var txtarea = document.getElementById(id);
											var selLength = txtarea.textLength;
											var selStart = txtarea.selectionStart;
											var selEnd = txtarea.selectionEnd;
											var oldScrollTop = txtarea.scrollTop;
											//if (selEnd == 1 || selEnd == 2)
											//selEnd = selLength;
											var s1 = (txtarea.value).substring(0,selStart);
											var s2 = (txtarea.value).substring(selStart, selEnd)
											var s3 = (txtarea.value).substring(selEnd, selLength);
											txtarea.value = s1 + wrap1 + s2 + wrap2 + s3;
											txtarea.selectionStart = s1.length;
											txtarea.selectionEnd = s1.length + s2.length + wrap1.length + wrap2.length;
											txtarea.scrollTop = oldScrollTop;
											txtarea.focus();
											return;
										} else {
											insertText(foname, elname, wrap1 + wrap2);
										}
									}

									function insertText(id, what) {
										if (document.getElementById(id).createTextRange) {
											document.getElementById(id).focus();
											document.selection.createRange().duplicate().text = what;
										} else if ((typeof document.getElementById(id).selectionStart) != 'undefined') { // for Mozilla
											var tarea = document.getElementById(id);
											var selEnd = tarea.selectionEnd;
											var txtLen = tarea.value.length;
											var txtbefore = tarea.value.substring(0,selEnd);
											var txtafter =  tarea.value.substring(selEnd, txtLen);
											var oldScrollTop = tarea.scrollTop;
											tarea.value = txtbefore + what + txtafter;
											tarea.selectionStart = txtbefore.length + what.length;
											tarea.selectionEnd = txtbefore.length + what.length;
											tarea.scrollTop = oldScrollTop;
											tarea.focus();
										} else {
											document.getElementById(id).value += what;
											document.getElementById(id).focus();
										}
									}



/* All jQuery functions: */

$(document).ready(function () {

	/*
	* Auto focus on class="focus" field
	*/
	$("input.focus:last").focus(); 


	$('#topContent').hide();
	$('#openContent').click(function () {
		$('#topContent').slideToggle();
	});
	
	/**
	 * BERICHTEN OP HOME VERKLEINEN
	 */
	$('.minimize').click(function () {
		$(this).parent().next().slideToggle();
	});
	
	/**
	 * GEBRUIKERSNAAM HELP BIJ PRIVE BERICHT
	 */
	// div om gebruikersnamen in te tonen bij input prive bericht
	$('#nieuwpb #naar input').click(function () {
		$('#inputSearchHelp').toggle();
	});
	$('#nieuwpb #naar input').dblclick(function () {
		$('#inputSearchHelp').show();
	});
	$('#nieuwpb #naar').append("<div id='inputSearchHelp'></div>");
	$('#inputSearchHelp').hide();
	
	$('#nieuwpb #naar').keyup(function () {
		var inputValue = $('#nieuwpb #naar input').val();
		$.post("gebruikersnaamSuggest.php", "gebruikersnaam="+inputValue, function(data) {
			$('#inputSearchHelp').html(data);
		});
	});
	
	resizeImages();
	editReactie();
	plaatsReactie();
	//plaatsShowReactie();
	
	$('a[name=showPopup]').click(function () {
		createPopup('poll.php');
		return false;
	});

	//Fixes bug: Makes it possible to change a category of a topic and place it
	//in the good tag as well.
	$('#categorylist').change(function () {
		$.post('ajax/taglist.php', 'category=' + $(this).val(), function (data, textStatus) {
			if(textStatus == 'success') {
				$('#taglist').empty();
				for (var tag in data) {
					$('#taglist').append($('<option value="'+ data[tag].id +'">'+ data[tag].tag +'</option>'));
				}
			}
		}, 'json');
	});

	$("#reden_topic_verwijderen").keyup(function () {
		if($("#doebericht_topic_verwijderen:checked").val() == null) {
			//checkbox niet gechecked
			if($(this).val().length > 0) {
				$("#doebericht_topic_verwijderen").click();
			}
		} else {
			//Checkbox wel gechecked.
			if($(this).val().length == 0) {
				$("#doebericht_topic_verwijderen").click();
			}
		}
	});
});


