var tae;

function gEId(id) { return document.getElementById(id); }

function init(i)
{
	tae = document.getElementById(i);
}

function mozWrap(msgText, open, close)
{
	var selLength = msgText.textLength;
	var selStart = msgText.selectionStart;
	var selEnd = msgText.selectionEnd;
	if (selEnd == 1 || selEnd == 2)
		selEnd = selLength;
	
	var s1 = (msgText.value).substring(0, selStart);
	var s2 = (msgText.value).substring(selStart, selEnd)
	var s3 = (msgText.value).substring(selEnd, selLength);
	msgText.value = s1 + open + s2 + close + s3;
	return;
}

function insertHTML(s, e)
{
		if (document.selection && document.selection.createRange)
		{
			var theSelection = document.selection.createRange().text;
			if (theSelection != '')
				document.selection.createRange().text = s + theSelection + e;
			else
				tae.value += s+e;
		}
		else if (document.getSelection)
			mozWrap(tae, s, e);
		else
			alert('Din webbläsare stödjer tyvärr inte textediteringen.');
}


function insertTag(h)
{
	if (h != '')
	{
		var hstart = '';
		var hend = '';
		if((h == 'left') || (h == 'center') || (h == 'right'))
		{
			hstart	= "<div align=\""+h+"\">";
			hend	= "</div>";
		}
		else if(h == '<%')
		{
			hstart	= "<%";
			hend	= "";
		}
		else
		{
			hstart	= "<"+h+">";
			hend	= "</"+h+">";
		}
		insertHTML(hstart, hend);
	}
}

function insertTagA()
{
	var url = '';
	var text = '';
	var link = '';
	url = document.getElementById('insert_link_url').value;
	text = document.getElementById('insert_link_text').value;
	if(url != '')
	{
		link = "<a href=\""+url+"\" target=\"_new\">"+((text != '')?text:url)+"</a>";
		insertHTML(link, '');
	}
	gEId('insert_layer').style.display = "none";
}

var bImageLoaded = false;
var img;
function insertTagImg()
{
	var url = '';
	img = new Image();
	url = document.getElementById('insert_image_url').value;
	if(url != '')
	{
		img.src = url;
		img.onload = function(){bImageLoaded = true;};
		insertTagImgShowDimensions();
	}
}
function insertTagImgShowDimensions() 
{
	insertImageLoading();
	if (bImageLoaded)
	{
		var tmpwidth=img.width;
		var width = ((tmpwidth <= 450)?tmpwidth:450);
		var height = Math.round(img.height * width / tmpwidth);
		
		link = "<img src=\""+img.src+"\" border=\"0\" width=\""+width+"\" height=\""+height+"\" />";
		insertHTML(link, '');
		gEId('insert_layer').style.display = "none";
		bImageLoaded = false;
	}
	else 
		setTimeout (insertTagImgShowDimensions, 500);
}

function insertImage(i)
{
	var il = getInsertLayer();
	il.innerHTML="<span>URL till bilden:</span><input type=\"text\" id=\"insert_image_url\" value=\"\" onKeyPress=\"return isEnterKey(event);\" /><input type=\"button\" value=\"Infoga bilden\" class=\"ok\" onclick=\"javascript:insertTagImg('"+i+"'); return false;\" onKeyPress=\"javascript:insertTagImg('"+i+"'); return false;\" />";
	il.style.display = "block";
}

function insertImageLoading()
{
	var il = getInsertLayer();
	il.innerHTML="Laddar...";
	il.style.display = "block";
}
function insertLink(i)
{
	var il = getInsertLayer();
	il.innerHTML="<span>URL:</span><input type=\"text\" id=\"insert_link_url\" value=\"\" onKeyPress=\"return isEnterKey(event);\" /><span>Text:</span><input type=\"text\" id=\"insert_link_text\" value=\"\" onKeyPress=\"return isEnterKey(event);\" /><input type=\"button\" value=\"Infoga länk\" class=\"ok\" onClick=\"javascript:insertTagA('"+i+"'); return false;\" onKeyPress=\"javascript:insertTagA('"+i+"'); return false;\" />";
	il.style.display = "block";
}

function getInsertLayer()
{
	var il = gEId('insert_layer')
	il.style.left=tae.offsetLeft+"px";
	il.style.top=tae.offsetTop+"px";
	il.style.width=(tae.offsetWidth-getPadding(tae,"Left") - getPadding(tae,"Right") - getMargin(il,"Left") - getMargin(il,"Right"))+"px";
	return il;
}

function isEnterKey(e){var key = (window.event)?window.event.keyCode:e.which;return(key == 13)?false:true;}
function getPadding(x,side){return parseInt(getStyleProp(x,"padding"+side));}
function getMargin(x,side){return parseInt(getStyleProp(x,"margin"+side));}
function getStyleProp(x,prop){if(x.currentStyle)return(x.currentStyle[prop]);if(document.defaultView.getComputedStyle)return(document.defaultView.getComputedStyle(x,'')[prop]);return(null);}
