// JavaScript Document
var area;
var showDiv;
var formattedStr = "";
startPosition = 0;
var endPosition = 0;

window.onload = function()
{
	area = document.getElementById("area");
	showDiv = document.getElementById("showDiv");
	area2 = document.getElementById("area2");
	showDiv2 = document.getElementById("showDiv2");
	area3 = document.getElementById("area3");
	showDiv3 = document.getElementById("showDiv3");
};



function insertsBoldTag()
{
	findPositions();

	var text = area.value;
	if (startPosition!=endPosition) {
		var sbStr = text.substring(startPosition,endPosition);
		sbStr = "<strong>"+sbStr+"</strong>";

		fillsFormattedString(text,sbStr);
	}
}

function insertsItalicTag()
{
	findPositions();

	var text = area.value;
	if (startPosition!=endPosition) {
		var sbStr = text.substring(startPosition,endPosition);
		sbStr = "<em>"+sbStr+"</em>";

		fillsFormattedString(text,sbStr);
	}
}

function insertsUnderlineTag()
{
	findPositions();

	var text = area.value;
	if (startPosition!=endPosition) {
		var sbStr = text.substring(startPosition,endPosition);
		sbStr = "<u>"+sbStr+"</u>";

		fillsFormattedString(text,sbStr);
	}
}

function insertsLinkTag()
{
	findPositions();
	
	
	var text = area.value;
	var link = prompt("URL of Link","http://");
	if (startPosition!=endPosition) {
		var sbStr = text.substring(startPosition,endPosition);
		sbStr = '<a href="'+link+'">'+sbStr+"</a>";

		fillsFormattedString(text,sbStr);
	}
}

function insertsBrTag()
{
	findPositions();
	
	
	var text = area.value;
	
		var sbStr = text.substring(startPosition,endPosition);
		sbStr = sbStr+"<br />";
		
		fillsFormattedString(text,sbStr);
	
}

function findPositions()
{
	var text = area.value;

	if (document.selection) {
		// Internet Explorer
		var range = document.selection.createRange();
		var dpl = range.duplicate();
		if (range.text.length > 0) {
			dpl.moveToElementText(area);
			dpl.setEndPoint("EndToEnd", range);
			startPosition = dpl.text.length-range.text.length;
			endPosition = startPosition + range.text.length;
		}
	}
	else {
		// Mozilla Firefox
		startPosition = area.selectionStart;
		endPosition = area.selectionEnd;
	}
}

function fillsFormattedString(text, selectedText)
{
	// split textarea value into three pieces: before startPosition,
        // startPosition until endPosition, and after endPosition
	var str1 = text.substring(0,startPosition);
	var str2 = text.substring(startPosition,endPosition);
	var str3 = text.substring(endPosition,text.length);

	// replace str2 with formatted substring (selectedText)
	str2 = selectedText;
	// form the new string
	formattedStr = str1+str2+str3;
	area.value = formattedStr;
}

// JavaScript Document
var area2;
var showDiv2;
var formattedStr2 = "";
startPosition2 = 0;
var endPosition2 = 0;





function insertsBrTag2()
{
	findPositions2();
	
	var text2 = area2.value;
	
		var sbStr2 = text2.substring(startPosition2,endPosition2);
		sbStr2 = sbStr2+"<br />";
		
		fillsFormattedString2(text2,sbStr2);
	
}

function findPositions2()
{
	var text2 = area2.value;

	if (document.selection) {
		// Internet Explorer
		var range = document.selection.createRange();
		var dpl = range.duplicate();
		if (range.text2.length > 0) {
			dpl.moveToElementText(area2);
			dpl.setEndPoint("EndToEnd", range);
			startPosition2 = dpl.text2.length-range.text2.length;
			endPosition2 = startPosition2 + range.text2.length;
		}
	}
	else {
		// Mozilla Firefox
		startPosition2 = area2.selectionStart;
		endPosition2 = area2.selectionEnd;
	}
}

function fillsFormattedString2(text2, selectedText2)
{
	// split text2area2 value into three pieces: before startPosition2,
        // startPosition2 until endPosition2, and after endPosition2
	var str1b = text2.substring(0,startPosition2);
	var str2b = text2.substring(startPosition2,endPosition2);
	var str3b = text2.substring(endPosition2,text2.length);

	// replace str2b with formatted substring (selectedText2)
	str2b = selectedText2;
	// form the new string
	formattedStr2 = str1b+str2b+str3b;
	area2.value = formattedStr2;
}


// JavaScript Document
var area3;
var showDiv3;
var formattedStr3 = "";
startPosition3 = 0;
var startPosition3 = 0;

function insertsBrTag3()
{
	findPositions3();
	
	var text3 = area3.value;
	
		var sbStr3 = text3.substring(startPosition3,startPosition3);
		sbStr3 = sbStr3+"<br />";
		
		fillsFormattedString3(text3,sbStr3);
	
}

function findPositions3()
{
	var text3 = area3.value;

	if (document.selection) {
		// Internet Explorer
		var range = document.selection.createRange();
		var dpl = range.duplicate();
		if (range.text3.length > 0) {
			dpl.moveToElementText(area3);
			dpl.setEndPoint("EndToEnd", range);
			startPosition3 = dpl.text3.length-range.text3.length;
			startPosition3 = startPosition3 + range.text3.length;
		}
	}
	else {
		// Mozilla Firefox
		startPosition3 = area3.selectionStart;
		startPosition3 = area3.selectionEnd;
	}
}

function fillsFormattedString3(text3, selectedText3)
{
	// split text3area3 value into three pieces: before startPosition3,
        // startPosition3 until startPosition3, and after startPosition3
	var str1c = text3.substring(0,startPosition3);
	var str2c = text3.substring(startPosition3,startPosition3);
	var str3c = text3.substring(startPosition3,text3.length);

	// replace str2c with formatted substring (selectedText3)
	str2c = selectedText3;
	// form the new string
	formattedStr3 = str1c+str2c+str3c;
	area3.value = formattedStr3;
}