var selectedText;

$(document).ready(function()
{
	
	$("#formatInfo").hide();
	$("#formatTextInfo").hide();
	
	//updateNumUsersOnline();
	//updateUsersOnline();
/*
	document.getElementById('forumContent').onmouseup = function()
	{
		if (document.selection) {
			selectedText = document.selection.createRange().text;
		} 
		else if (typeof this.selectionStart != 'undefined') {
			selectedText = this.value.substring(this.selectionStart, this.selectionEnd);
		}
	};
	*/
});


function loadForumTopic(url)
{
	$.get(url, function(data) {
		$("#forumTopicPosts").html(data);
	}
	);
		
	return false;
}

function bbCodeChanged()
{
	$("#formatInfo").hide("fast");
	
	if ($('#formBbCode').attr('checked') && $('#forumMarkdown').attr('checked'))
	{
		$("#formatInfo").text("Du har Markdown og BBkoder aktivert! Anbefaler deg kun å bruke en ting omgangen :).");
		$("#formatInfo").show("fast");
	}
}

function updateNumUsersOnline()
{
	$.get("/ajax_num_users_online", function(data) {
		$("#ajaxNumUsersOnline").text(data);
	});
	
	setTimeout('updateNumUsersOnline()', 15000);
}

function updateUsersOnline()
{
	$.get("/ajax_users_online", function(data) {
		$("#ajaxUsersOnline").text(data);
	});
	
	setTimeout('updateUsersOnline()', 15000);
}

function describeFormattingOption(text)
{
	$("#formatTextInfo").text(text);
	$("#formatTextInfo").show("fast")
}

function formatTextFat()
{
	if (selectedText != 'undefined')
	{
		alert(selectedText);
	}
}

function testo(id, aTag, eTag)
{
	var input = document.getElementById(id);
	input.focus();

	if(typeof document.selection != 'undefined') 
	{

		var range = document.selection.createRange();
		var insText = range.text;
		range.text = aTag + insText + eTag;

		range = document.selection.createRange();
		if (insText.length == 0) {
			range.move('character', -eTag.length);
		} 
		else {
			range.moveStart('character', aTag.length + insText.length + eTag.length); 
		}
		
		range.select();
	}

	else if(typeof input.selectionStart != 'undefined')
	{

		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = input.value.substring(start, end);
		input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);

		var pos;
		if (insText.length == 0) {
			pos = start + aTag.length;
		} 
		else {
			pos = start + aTag.length + insText.length + eTag.length;
		}
		
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}

}

function formatInsertImage(id)
{
	el = document.getElementById(id);
	ins = prompt("Fyll inn adressen til bilde.");
	ins = "![](" + ins + ")";
	
    if (el.setSelectionRange){ 
        el.value = el.value.substring(0,el.selectionStart) + ins + el.value.substring(el.selectionStart,el.selectionEnd) + el.value.substring(el.selectionEnd,el.value.length); 
    } 
    else if (document.selection && document.selection.createRange) { 
        el.focus(); 
        var range = document.selection.createRange(); 
        range.text = ins + range.text; 
    }
}

function formatInsertLink(id)
{
	el = document.getElementById(id);
	name = prompt("Fyll inn navn til lenk.");
	link = prompt("Fyll inn lenken.");
	ins = "[" + name + "](" + link + ")";
	
    if (el.setSelectionRange){ 
        el.value = el.value.substring(0,el.selectionStart) + ins + el.value.substring(el.selectionStart,el.selectionEnd) + el.value.substring(el.selectionEnd,el.value.length); 
    } 
    else if (document.selection && document.selection.createRange) { 
        el.focus(); 
        var range = document.selection.createRange(); 
        range.text = ins + range.text; 
    }
}

function quoteText(id)
{
	var input = document.getElementById(id);
	input.focus();

	if(typeof document.selection != 'undefined') 
	{

		var range = document.selection.createRange();
		var insText = doQuoteText(range.text);

		range.text = insText;

		range = document.selection.createRange();
		if (insText.length == 0) {
			range.move('character', -eTag.length);
		} 
		else {
			range.moveStart('character', aTag.length + insText.length + eTag.length); 
		}
		
		range.select();
	}

	else if(typeof input.selectionStart != 'undefined')
	{

		var start = input.selectionStart;
		var end = input.selectionEnd;
		var insText = doQuoteText(input.value.substring(start, end));

		input.value = input.value.substr(0, start) + insText + input.value.substr(end);

		var pos;
		if (insText.length == 0) {
			pos = start + aTag.length;
		} 
		else {
			pos = start + aTag.length + insText.length + eTag.length;
		}
		
		input.selectionStart = pos;
		input.selectionEnd = pos;
	}

}

function doQuoteText(text)
{
	newText = "";
	lines = text.split("\n");
	for (i = 0, numLines = lines.length; i < numLines; i++)
	{
		newText += "> " + lines[i] + "\n";
	}

	return newText;
}

jQuery.fn.autolink = function () {
	return this.each( function(){
		var re = /((http|https|ftp):\/\/[\w?=&.\/-;#~%-]+(?![\w\s?&.\/;#~%"=-]*>))/g;
		$(this).html( $(this).html().replace(re, '<a href="$1">$1</a> ') );
	});
}

jQuery.fn.mailto = function () {
	return this.each( function() {
		var re = /(([a-z0-9*._+]){1,}\@(([a-z0-9]+[-]?){1,}[a-z0-9]+\.){1,}([a-z]{2,4}|museum)(?![\w\s?&.\/;#~%"=-]*>))/g
		$(this).html( $(this).html().replace( re, '<a href="mailto:$1">$1</a>' ) );
	});
}