// byteMyCode.com
// ©1998-2006 BlueCrestStudios, LLC. All Rights Reserved.

// Add's a smiley to the text area
function WYSIWYGAddSmiley(strID, strSmiley)
{
	// Declare variables
	var cItem = document.getElementById(strID);
	
	// See if we have anything
	if (cItem)
	{
		cItem.value += strSmiley + " ";
		cItem.focus();
	}
}

// Wraps the text area with a current tag
function WYSIWYGWrap(strID, strTag)
{
	// What browser?
	if (navigator.appVersion.indexOf("MSIE") != -1) 
	{
		// -- Test for selection
    		if (!document.selection) 
    		{
    			return;
    		}
    		
    		// -- Get selection range
    		var strRange = document.selection.createRange().text;
    		if (!strRange) 
    		{
    			return;
    		}
    		
    		// -- Add tag
    		document.selection.createRange().text = "[" + strTag + "]" + strRange + "[/" + strTag + "]";
    	}
	else 
	{
		// -- Get item
		var cItem = document.getElementById(strID);
		if (cItem)
		{
			// -- -- Get selection range
			var strRangeA = cItem.value.substring(0, cItem.selectionStart);
			var strRangeB = cItem.value.substring(cItem.selectionEnd, cItem.textLength);
			
			// -- -- Add tag
			cItem.value = strRangeA + "[" + strTag + "]" + cItem.value.substring(cItem.selectionStart, cItem.selectionEnd) + "[/" + strTag + "]" + strRangeB;
			cItem.focus();
		}
	}
}

// Inserts link into text area
function WYSIWYGInsertLink(strID)
{
	// What browser?
	if (navigator.appVersion.indexOf("MSIE") != -1) 
	{
   		// -- Test for selection
    		if (!document.selection) 
    		{
    			return;
    		}
    		
    		// -- Get selection range
    		var strRange = document.selection.createRange().text;
    		if (!strRange) 
    		{
    			return;
    		}
    		
    		// -- Get link
    		var strLink = prompt("Enter the URL:", "http://");
    		if (strLink != null)
    		{
        		document.selection.createRange().text = "[link=" + strLink + "]" + strRange + "[/link]";
        	}
	}
	else 
	{
		// -- Get item
		var cItem = document.getElementById(strID);
		if (cItem)
		{
			// -- -- Get selection range
			var strRangeA = cItem.value.substring(0, cItem.selectionStart);
			var strRangeB = cItem.value.substring(cItem.selectionEnd, cItem.textLength);
			
			// -- -- Get link
			var strLink = prompt("Enter the URL:", "http://");
	    		if (strLink != null)
	    		{
				// -- -- -- Add tag
				cItem.value = strRangeA + "[link=" + strLink + "]" + cItem.value.substring(cItem.selectionStart, cItem.selectionEnd) + "[/link]" + strRangeB;
				cItem.focus();
			}
		}
	}
}

// Inserts code
function WYSIWYGInsertCode(strID)
{
	// Declare variables
	var cItem = document.getElementById("fWYSIWYGCode");
	var strLanguage = null;
	
	// See if we have anything
	if (cItem)
	{
		strLanguage = cItem.options[cItem.selectedIndex].value;
		
		// -- What browser?
		if (navigator.appVersion.indexOf("MSIE") != -1) 
		{
	   		// -- Test for selection
	    		if (!document.selection) 
	    		{
	    			return;
	    		}
	    		
	    		// -- Get selection range
	    		var strRange = document.selection.createRange().text;
	    		if (!strRange) 
	    		{
	    			return;
	    		}
	    		
	    		// -- Get link
	    		if (strLanguage != null)
	    		{
	        		if (strLanguage != "Generic")
	        		{
	    				document.selection.createRange().text = "<code lang=\"" + strLanguage + "\">" + strLanguage + "\r\n\r\n...\r\n\r\n</code>";
	        		}
	        		else
	        		{
	        			document.selection.createRange().text = "<code>" + strLanguage + "\r\n\r\n...\r\n\r\n</code>";
	        		}
	        	}
		}
		else 
		{
			// -- Get item
			var cItem = document.getElementById(strID);
			if (cItem)
			{
				// -- -- Get selection range
				var strRangeA = cItem.value.substring(0, cItem.selectionStart);
				var strRangeB = cItem.value.substring(cItem.selectionEnd, cItem.textLength);
				
				// -- -- Get link
		    		if (strLanguage != null)
		    		{
					// -- -- -- Add tag
					if (strLanguage != "Generic")
					{
						cItem.value = strRangeA + "<code lang=\"" + strLanguage + "\">" + cItem.value.substring(cItem.selectionStart, cItem.selectionEnd) + "\r\n\r\n...\r\n\r\n</code>" + strRangeB;
					}
					else
					{
						cItem.value = strRangeA + "<code>" + cItem.value.substring(cItem.selectionStart, cItem.selectionEnd) + "\r\n\r\n...\r\n\r\n</code>" + strRangeB;
					}
					cItem.focus();
				}
			}
			
		}
	}
}