/* ----------------------------------------------------------- */
// Inserts IFCode into the target textbox control
/* ----------------------------------------------------------- */

function if_InsertIFCode(startTag, middleTag, endTag, objTextBox) {

	if (InstantASP_NS4)	{
	
		objTextBox.value += startTag + middleTag + endTag;
		
	} else if (InstantASP_Opera || InstantASP_Opera8) {
	
		if (InstantASP_Opera8) {
		
			objTextBox.focus();	var txt;
			var s = objTextBox.document.selection;
			if (s.type == "Text" || s.type == "None")	{
				var r = s.createRange(); r.colapse; 
				if (r.text.length > 0) {txt = startTag + r.text + endTag;}
				else {txt = startTag + middleTag + endTag;}
				r.text = txt;
				r.moveEnd("character", - (endTag.length));
				r.select();
			} else {alert(if_WYSIWYGPrompt);}
		}
		
		else {objTextBox.value += startTag + middleTag + endTag;}
	
	} else if (InstantASP_IE4 || InstantASP_IE5) {
	
		var s; objTextBox.focus();
		if (objTextBox.type != null) // we are working with the textarea
			{s = objTextBox.document.selection;}
			else // we are working with the iframe
			{objTextBox.focus(); 
			s = objTextBox.document.selection;}
		if (s.type == "Text" || s.type == "None")	{
			var txt; var r = s.createRange(); r.colapse;
			if (r.text.length > 0) 
				{txt = startTag + r.text + endTag;}
			else 
				{txt = startTag + middleTag + endTag;}
			if (r.parentElement().isMultiLine && r.parentElement().isContentEditable || objTextBox.type == "textarea") {	
				r.text = txt;
				r.moveEnd("character", - (endTag.length));
				r.select();
			}
		} else {alert(if_WYSIWYGPrompt);}
				        
	} else if (InstantASP_NS6) {
	
		if (objTextBox.selectionEnd) {
		
			var charPos; var charMiddle;
			var selStart = objTextBox.selectionStart;
			var selEnd = objTextBox.selectionEnd; if (selEnd <= 2) {selEnd = objTextBox.textLength;}
			var charStart = objTextBox.value.substring(0, selStart);
			var charEnd = objTextBox.value.substring(selEnd, objTextBox.textLength);
			
			// do we have a selection
			if (selStart != selEnd) {
				charMiddle = objTextBox.value.substring(selStart, selEnd);
				objTextBox.value = charStart + startTag + charMiddle + endTag + charEnd;
				charPos = selStart + (startTag.length + charMiddle.length);} 
			else {
				objTextBox.value = charStart + startTag + middleTag + endTag + charEnd;
				charPos = selStart + (startTag.length + middleTag.length);
			}
		
			objTextBox.selectionStart = charPos;
			objTextBox.selectionEnd = charPos;
			
	} else {
			objTextBox.value += startTag + middleTag + endTag;
			objTextBox.selectionStart = (startTag.length + middleTag.length);
			objTextBox.selectionEnd = (startTag.length + middleTag.length);
		}
		
	} 
	
	objTextBox.focus();
	
}

/* ----------------------------------------------------------- */
// Browser Sniff
/* ----------------------------------------------------------- */

var InstantASP_UserAgent = navigator.userAgent.toLowerCase();
var InstantASP_Opera = (InstantASP_UserAgent.indexOf('opera') != -1); // is opera
var InstantASP_Opera8 = ((InstantASP_UserAgent.indexOf('opera 8') != -1 || InstantASP_UserAgent.indexOf('opera/8') != -1) ? 1 : 0); // is opera8
var InstantASP_NS4 = (document.layers) ? true : false; // is netscape 4
var InstantASP_IE4 = (document.all && !document.getElementById) ? true : false; // is IE 4
var InstantASP_IE5 = (document.all && document.getElementById) ? true : false; // is IE 5+
var InstantASP_NS6 = (!document.all && document.getElementById) ? true : false; // is netscape 6
var InstantASP_FireFox = (InstantASP_UserAgent.indexOf("firefox/") != -1); // is firefox
var InstantASP_Transitions = (InstantASP_IE5 || InstantASP_IE4) ? true : false // do we support transitions
 
/* ----------------------------------------------------------- */
// Get a reference to an object on the client-side                   
/* ----------------------------------------------------------- */

function InstantASP_FindControl(strControlName) {

	var objReturn = '';
		if (InstantASP_IE5 || InstantASP_NS6 || InstantASP_Opera || InstantASP_Opera8)
		{
			objReturn = document.getElementById(strControlName);
		}
		else if (InstantASP_IE4)
		{
			objReturn = document.all[strControlName];
		}
		else if (InstantASP_NS4)
		{
			objReturn = document.layers[strControlName];
		}

	return objReturn

}

