var selectedText = '';

SelectedText = function() 
{
	var self = this;
	this.selectedText = '';

  $("div.Forum_ViewTopic_forumPostText").mouseup(function(){
		selectedText = self.getSelText(this);
	});
}

SelectedText.prototype.getText = function() {
	return selectedText;
}

SelectedText.prototype.getSelText = function(obj) {
	var self = this;
	var txt = '';
	if (window.getSelection)
	{
		txt = window.getSelection();
	}
	else if (document.getSelection)
	{
		txt = document.getSelection();
	}
	else if (document.selection)
	{
		txt = document.selection.createRange().text;
	}
	else return;
	
	return txt;
}

$(document).ready(function(){
	window.selectedTextClass = new SelectedText();

	$("a.ViewTopic_quote").click(function(event){
		var link = $(this).attr("href");
		var text = window.selectedTextClass.getText();
		
		if(text == '') {
			window.location = link;
		} else {
			window.location = link + '&quote=' + URLEncode(text);
			//var linkto = link + '&quote=' + surlencode(text);
		}
		
		return false;
	});
});







function URLEncode (clearString) {
	var output = '';
	var x = 0;
	clearString = clearString.toString();
	var regex = /(^[a-zA-Z0-9_.]*)/;
	var regex2 = /([\s!"#$%&'()*+\/:;<=>?`{|}~\]\[\^\\])/;
	
	for(x = 0; x < clearString.length; x++) {
		var character = clearString.charAt(x);
		var match = regex2.exec(character);
		if(match != null) {
			if (clearString[x] == ' ')
				output += '+';
			else {
				var char = clearString.charAt(x);
				var charCode = clearString.charCodeAt(x);
				var hexVal = charCode.toString(16);
				output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
			}			
		} else {
			output += character;
		}
	}
	
	/*	dit vernaggeld de boel met UTF-8 é, î, enz.	
	while (x < clearString.length) {
		if (match != null && match.length > 1 && match[1] != '') {
			output += match[1];
			x += match[1].length;
		} else {
			if (clearString[x] == ' ')
				output += '+';
			else {
				var char = clearString.charAt(x);
				var charCode = clearString.charCodeAt(x);
				var hexVal = charCode.toString(16);
				
				console.log(charCode);
				
				output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
			}
			x++;
		}
	}
*/
	return output;
}