function wrapTags(wraptag) 
{
	var sStartTag	= "<" + wraptag + ">";
	var sSlutTag	= "</" + wraptag + ">";
	
	if(!currentTextAreaObj) return;
	else if(window.getSelection) 
	{
		//MOZILLA
		var sSelection = currentTextAreaObj.value.substring(currentTextAreaObj.selectionEnd, currentTextAreaObj.selectionStart);
		currentTextAreaObj.value =
			currentTextAreaObj.value.substring(0,currentTextAreaObj.selectionStart) + 
			sStartTag +
			sSelection + 
			sSlutTag +
			currentTextAreaObj.value.substring(currentTextAreaObj.selectionEnd);
			currentTextAreaObj.focus();
	} 
	else if (document.selection) 
	{
		//IE
		if (currentTextAreaCarret)
		{
			var sSelection = currentTextAreaCarret.text;
			currentTextAreaCarret.text=sStartTag + sSelection + sSlutTag; 
			currentTextAreaCarret.select();
		} 
		else 
		{
			currentTextAreaObj.value+=sStartTag + sSlutTag; 
		}
	}
	return;
}

function mailto() 
{
	if(!currentTextAreaObj) return;
	else if(window.getSelection) 
	{
		//MOZILLA
		var sSelection = currentTextAreaObj.value.substring(currentTextAreaObj.selectionEnd, currentTextAreaObj.selectionStart);
		currentTextAreaObj.value =
			currentTextAreaObj.value.substring(0,currentTextAreaObj.selectionStart) +
			'<a href="mailto:' + sSelection + '">' + sSelection + '</a>' +
			currentTextAreaObj.value.substring(currentTextAreaObj.selectionEnd);
		currentTextAreaObj.focus();
	} 
	else if (document.selection) 
	{
		//IE
		if (currentTextAreaCarret)
		{
			var sSelection = currentTextAreaCarret.text;
			currentTextAreaCarret.text='<a href="mailto:' + sSelection + '">' + sSelection + '</a>'; 
			currentTextAreaCarret.select();
		} 
		else 
		{
			currentTextAreaObj.value+='<a href="mailto:"></a>'; 
		}
	}
	return;
}

function href() 
{
	if(!currentTextAreaObj) return;
	else if(window.getSelection) 
	{
		//MOZILLA
		var sSelection = currentTextAreaObj.value.substring(currentTextAreaObj.selectionStart,currentTextAreaObj.selectionEnd);
		var sUrl = prompt('Hvor skal der linkes til?', sSelection);
		var sBlank = confirm('Klik "OK" for at åbne link i nyt vindue');
		
		if (sUrl)
		{
			var sTarget="";
			if (sBlank) sTarget=' target="_blank"';
			
			currentTextAreaObj.value=
				currentTextAreaObj.value.substring(0,currentTextAreaObj.selectionStart) +
				'<a href="' + sUrl + '"' + sTarget + '>' + 
				sSelection + 
				'</a>' +
				currentTextAreaObj.value.substring(currentTextAreaObj.selectionEnd);
		}
		currentTextAreaObj.focus();
	} 
	else if (document.selection) 
	{
		//IE
		if (currentTextAreaCarret)
		{
			var sSelection	= currentTextAreaCarret.text;
			var sUrl = prompt('Hvor skal der linkes til?', sSelection);
			var sBlank = confirm('Link åbnes i nyt vindue?');
		
			if (sUrl)
			{
				var sTarget="";
				if (sBlank) sTarget=' target="_blank"';
			
				currentTextAreaCarret.text='<a href="' + sUrl + '"' + sTarget + '>' + sSelection + '</a>';
				currentTextAreaCarret.select();
			}
		} 
		else 
		{
			var sUrl = prompt('Hvor skal der linkes til?', 'http://');
			if (sUrl)
			{
				currentTextAreaCarret.text='<a href="' + sUrl + '">' + sUrl + '</a>';
			}
		}
	}
	return;
}

function insertSingleTag(wraptag) 
{
	var sTag	= "<" + wraptag + "/>";
	
	if(!currentTextAreaObj) return;
	else if(window.getSelection) 
	{
		//MOZILLA
		currentTextAreaObj.value=
			currentTextAreaObj.value.substring(0,currentTextAreaObj.selectionStart)
			+sTag+
			currentTextAreaObj.value.substring(currentTextAreaObj.selectionEnd);
	} 
	else if (document.selection) 
	{
		//IE
		if (currentTextAreaCarret)
		{
			currentTextAreaCarret.text=sTag; 
			currentTextAreaCarret.select();
		} 
		else 
		{
			currentTextAreaObj.value+=sTag;
		}
	}
	return;
}

function insertText(text) 
{
	if(!currentTextAreaObj) return;
	else if(window.getSelection) 
	{
		//MOZILLA
		currentTextAreaObj.value=
			currentTextAreaObj.value.substring(0,currentTextAreaObj.selectionStart)
			+text+
			currentTextAreaObj.value.substring(currentTextAreaObj.selectionEnd);
	} 
	else if (document.selection) 
	{
		//IE
		if (currentTextAreaCarret)
		{
			currentTextAreaCarret.text=text; 
			currentTextAreaCarret.select();
		} 
		else 
		{
			currentTextAreaObj.value+=text
		}
	}
	return;
}

function table() 
{
	var sTab;
	
	if(window.getSelection) 
	{
		//MOZILLA
		var sSelection = currentTextAreaObj.value.substring(currentTextAreaObj.selectionStart,currentTextAreaObj.selectionEnd);
		var sRows = prompt('Antal rækker?\nNumber of rows?', sSelection);
		var sCols = prompt('Antal kolloner?\nNumber of columns?', sSelection);
	}
	else if (document.selection) 
	{
		//IE
		var sSelection	= currentTextAreaCarret.text;
		var sRows = prompt('Antal rækker?\nNumber of rows?', sSelection);
		var sCols = prompt('Antal søjler?\nNumber of columns?', sSelection);
	}

	if (isNumeric(sRows) && isNumeric(sCols) && sRows>0 && sCols>0 && sRows<100 && sCols<100)
	{
		var sTab = "<table border=\"1\">\n";
		
		for(i=1;i<=sRows;i++)
		{
			sTab=sTab+"  <tr>\n";
			for(j=1;j<=sCols;j++)
			{
				sTab=sTab+"    <td>\n      "+"Række/Row "+i+", Søjle/Column "+j+"\n    </td>\n";
			}
			sTab=sTab+"  </tr>\n";
		}
		sTab = sTab+"</table>\n";
	}
	else
	{
		sTab="";
	}
	
	if(!currentTextAreaObj) return;
	else if(window.getSelection) 
	{
		//MOZILLA
		currentTextAreaObj.value=
			currentTextAreaObj.value.substring(0,currentTextAreaObj.selectionStart)
			+sTab+
			currentTextAreaObj.value.substring(currentTextAreaObj.selectionEnd);
	} 
	else if (document.selection) 
	{
		//IE
		if (currentTextAreaCarret)
		{
			currentTextAreaCarret.text=sTab; 
			currentTextAreaCarret.select();
		} 
		else 
		{
			currentTextAreaObj.value+=sTab;
		}
	}
	return;
}

function ul() 
{
	var sTab;
	
	if(window.getSelection) 
	{
		//MOZILLA
		var sSelection = currentTextAreaObj.value.substring(currentTextAreaObj.selectionStart,currentTextAreaObj.selectionEnd);
		var sRows = prompt('Antal punkter?\nNumber of items?', sSelection);
	}
	else if (document.selection) 
	{
		//IE
		var sSelection	= currentTextAreaCarret.text;
		var sRows = prompt('Antal punkter?\nNumber of items?', sSelection);
	}

	if (isNumeric(sRows) && sRows>0 && sRows<100)
	{
		var sTab = "<ul>\n";
		
		for(i=1;i<=sRows;i++)
		{
			sTab=sTab+" <li>Punkt "+i+"</li>\n";
		}
		sTab = sTab+"</ul>\n";
	}
	else
	{
		sTab="";
	}
	
	if(!currentTextAreaObj) return;
	else if(window.getSelection) 
	{
		//MOZILLA
		currentTextAreaObj.value=
			currentTextAreaObj.value.substring(0,currentTextAreaObj.selectionStart)
			+sTab+
			currentTextAreaObj.value.substring(currentTextAreaObj.selectionEnd);
	} 
	else if (document.selection) 
	{
		//IE
		if (currentTextAreaCarret)
		{
			currentTextAreaCarret.text=sTab; 
			currentTextAreaCarret.select();
		} 
		else 
		{
			currentTextAreaObj.value+=sTab;
		}
	}
	return;
}

//globale vars der bruges til at holde styr på det aktive textarea felt og cursor position
var currentTextAreaObj,currentTextAreaCarret; 

function gemCarretPos(obj)
{ 
	currentTextAreaObj=obj; 
	currentTextAreaCarret=(document.selection && document.selection.createRange())?document.selection.createRange():null;
}

function isNumeric(sText)
{
	var validChars = "0123456789";
	var isNumber=true;
	var Char;
	for (i = 0; i < sText.length && isNumber == true; i++)
	{
		Char = sText.charAt(i);
		if (validChars.indexOf(Char) == -1)
		{
			isNumber = false;
		}
	}
	return isNumber;
}


