		function doQuote(posterName, postDivId) {
			var replyBox = document.getElementById('post_body');
			var sourceDiv = document.getElementById(postDivId);
			var sourceText = getTextContent(sourceDiv);
			
			var reBlock = new RegExp("(<blockquote>[\\s\\S]*?</blockquote>)","gm");
			var reTags = new RegExp("<[\\s\\S]*?>","gm");
			var reLinks = new RegExp("http:\/\/","gm");

			sourceText = sourceText.replace(/<i>/gm,"[i]").replace(/<\/i>/gm,"[/i]").replace(/<b>/gm,"[b]").replace(/<\/b>/gm,"[/b]");			
			sourceText = sourceText.replace(reBlock, "").replace(reTags,"").replace(reLinks,"");
	
			
			if (replyBox) {
				if (sourceText.length > 250)
					replyBox.value += '[quote=' + posterName + ']' + sourceText.slice(1,250) + '...[/quote]';
				else
					replyBox.value += '[quote=' + posterName + ']' + sourceText + '[/quote]';
				return true;
			}
			else
				return false;	
		}
		
		function getTextContent(someElement) {
			if (someElement.textContent)
				return someElement.innerHTML;
				//return someElement.textContent; //Browsers that are not broken
			if (someElement.innerText) {
				return someElement.innerHTML;
				//return someElement.innerText;   //IE
			}
		}
	
		 
		function formatText(theArea,startTag,endTag, textAreaHasFocus) {
			
			if ((document.selection != undefined) ) {
				if (textAreaHasFocus)
					{
					//IE6
					//alert('here 10');
					var str = document.selection.createRange().text;
					var sel = document.selection.createRange();
			
					//insert the text
					// since double-clicking on a word will select the word AND the following space, we check for this so that we 	get "[i]foo[/i] " and not "[i]foo [/i]"... not necessary at all; purely OCD
					if (sel.text.length>0 || true) {
						//alert(sel.text.length);
						//alert('here 20');
						if (sel.text.slice(sel.text.length-1)==' ') {
							//alert('here 30');
							sel.text = startTag + sel.text.slice(0,sel.text.length-1) +  endTag + ' ';
							}
						else {				
							//alert('here 40');
							sel.text = startTag + str + endTag;
							}
						}
					//alert('here 50');
					theArea.focus();
					}
				}
			else {
				//FF1.5, safari 2, opera 9
				var selStart = theArea.selectionStart;
				var selEnd = theArea.selectionEnd;
				
				//insert the text
				// since double-clicking on a word will select the word AND the following space, we check for this so that we 	get "[i]foo[/i] " and not "[i]foo [/i]"... not necessary at all; purely OCD
				if (theArea.value.slice(selEnd-1,selEnd)==' ')
					theArea.value = theArea.value.slice(0,selStart) + startTag + theArea.value.slice(selStart,selEnd-1) + endTag + ' ' + theArea.value.slice(selEnd);
				else
					theArea.value = theArea.value.slice(0,selStart) + startTag + theArea.value.slice(selStart,selEnd) + endTag + theArea.value.slice(selEnd);
				
				//position the cursor at the end of the insertion
				theArea.focus();
				theArea.setSelectionRange(selEnd + startTag.length + endTag.length , selEnd + startTag.length + endTag.length);
				}
			return false;
			
		}
