/****************************************************************************
* Method:		Link_Clicked(object)
* Purpose:		Runs when user clicks on a menu link.
* Parameters:	Page to go to.
*****************************************************************************/
function Link_Clicked(strLink)
{
	location.href = strLink;
	return true;
}

/****************************************************************************
* Method:		Change_Classname(object, classname)
* Purpose:		Runs when user mouses over link.
* Parameters:	object:element causing call
*****************************************************************************/
function Change_Classname(object, strClassname)
{
	object.className = strClassname;
	return true;
}


/***************************************************
* Method:		SwitchFormat()
* Purpose:		Runs when user changes select for format
* Parameters:	None
****************************************************/
function SwitchFormat()
{
	var strFormat = frmDefault.selFormat.options[frmDefault.selFormat.selectedIndex].value;
	
	switch (strFormat) 
	{ 
	   case "bold" : 
			idLink.style.display = "none";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "none";
			break; 
	   case "para" : 
			idLink.style.display = "none";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "none";
			break; 
	   case "link" : 
			idLink.style.display = "";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "none";
			break; 
	   case "italic" : 
			idLink.style.display = "none";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "none";
			break;
	   case "h1" : 
			idLink.style.display = "none";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "";
			break; 
	   case "h2" : 
			idLink.style.display = "none";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "";
			break; 
	   case "h3" : 
			idLink.style.display = "none";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "";
			break; 
	   case "h4" : 
			idLink.style.display = "none";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "";
			break; 
	   case "h5" : 
			idLink.style.display = "none";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "";
			break;  
	   case "h6" : 
			idLink.style.display = "none";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "";
			break;  
	   default : 
			idLink.style.display = "none";
			frmDefault.txtLink.value = "";
			idCenter.style.display = "none";
	} 
	return true;
}

/***************************************************
* Method:		Format_Text()
* Purpose:		Runs when user clicks the format button
* Parameters:	None
****************************************************/
function Format_Text(objTextbox)
{
	var strFormat = frmDefault.selFormat.options[frmDefault.selFormat.selectedIndex].value;
	
	//If nothing is selected on the page
	if (document.selection) 
	{
		var selectedRange = document.selection.createRange();
	}
	else
	{
		alert("You must select some text to format it.");
		return false;
	}
	
	var strSelection = document.selection.createRange().text;
			
	if (strSelection == "") 
	{ 
		alert("You must select some text to format it.");
		return false; 
	} 
	
	switch (strFormat) 
	{ 
	   case "bold" : 
			document.selection.createRange().text = "<b>" + strSelection +	"</b>";
			break; 
	   case "para" : 
			document.selection.createRange().text = "<p>" + strSelection +	"</p>";
			break; 
	   case "link" : 
			var strLink = Trim_String(frmDefault.txtLink.value);
			document.selection.createRange().text = "<a href=" + strLink + " target=_blank><span class=clsLinkDark>" + strSelection +	"</span></a>";
			break; 
	   case "italic" : 
			document.selection.createRange().text = "<i>" + strSelection +	"</i>";
			break; 
	   case "h1" : 
			if (frmDefault.chkCenter.checked)
			{
				document.selection.createRange().text = "<h1 align=center>" + strSelection +	"</h1>";
			}
			else
			{
				document.selection.createRange().text = "<h1>" + strSelection +	"</h1>";
			}
			break; 
	   case "h2" : 
			if (frmDefault.chkCenter.checked)
			{
				document.selection.createRange().text = "<h2 align=center>" + strSelection +	"</h2>";
			}
			else
			{
				document.selection.createRange().text = "<h2>" + strSelection +	"</h2>";
			}
			break; 
	   case "h3" : 
			if (frmDefault.chkCenter.checked)
			{
				document.selection.createRange().text = "<h3 align=center>" + strSelection +	"</h3>";
			}
			else
			{
				document.selection.createRange().text = "<h3>" + strSelection +	"</h3>";
			}
			break; 
	   case "h4" : 
			if (frmDefault.chkCenter.checked)
			{
				document.selection.createRange().text = "<h4 align=center>" + strSelection +	"</h4>";
			}
			else
			{
				document.selection.createRange().text = "<h4>" + strSelection +	"</h4>";
			}
			break; 
	   case "h5" : 
			if (frmDefault.chkCenter.checked)
			{
				document.selection.createRange().text = "<h5 align=center>" + strSelection +	"</h5>";
			}
			else
			{
				document.selection.createRange().text = "<h5>" + strSelection +	"</h5>";
			}
			break; 
	   case "h6" : 
			if (frmDefault.chkCenter.checked)
			{
				document.selection.createRange().text = "<h6 align=center>" + strSelection +	"</h6>";
			}
			else
			{
				document.selection.createRange().text = "<h6>" + strSelection +	"</h6>";
			}
			break; 
			
	   default : 
			alert("Please select a formatting option.");
	} 
	Preview_Page();
	return true;
}

/***************************************************
* Method:		Preview_Page()
* Purpose:		Runs when the pages first loads
* Parameters:	None
****************************************************/
function Preview_Page()
{
	idMainContent.innerHTML = frmDefault.txtMessage.value;
	return;
}

/***************************************************
* Method:		Restore_Text()
* Purpose:		Restore page to base state
* Parameters:	None
****************************************************/
function Restore_Text()
{
	if (confirm("Are you sure you want to restore the original text?"))
	{
		frmDefault.txtMessage.value = frmDefault.hdnBaseText.value;
		Preview_Page();
		return false;
	}	
	
	return true;
		
}

/***************************************************
* Method:		Clear_Formatting()
* Purpose:		Clears all formatting tags
* Parameters:	None
****************************************************/
function Clear_Formatting()
{
	if (confirm("Are you sure you want to clear all formatting of text?"))
	{
	
		var strMessage = frmDefault.txtMessage.value;
		var strStart;
		var strEnd;
		var blnLinks = true;
		var strLink;
		var strRegExp;
			
		strRegExp = /<br>/gi;
		strMessage = strMessage.replace(strRegExp,"");
		
		strRegExp = /<p>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<\/p>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<b>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<\/b>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<i>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<\/i>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h1>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h1 align=center>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<\/h1>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h2>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h2 align=center>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<\/h2>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h3>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h3 align=center>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<\/h3>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h4>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h4 align=center>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<\/h4>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h5>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h5 align=center>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<\/h5>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h6>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<h6 align=center>/gi;
		strMessage = strMessage.replace(strRegExp,"");
	
		strRegExp = /<\/h6>/gi;
		strMessage = strMessage.replace(strRegExp,"");
		
		strRegExp = /<\/a>/gi;
		strMessage = strMessage.replace(strRegExp,"");
		
		strRegExp = /<\/span>/gi;
		strMessage = strMessage.replace(strRegExp,"");
					
		while (blnLinks)
		{
			strStart = strMessage.indexOf("<a");
			
			if (strStart != -1)
			{
				
				strLink = strMessage.substring(strStart, strMessage.length - 1);
				
				strEnd = strLink.indexOf(">");
				
				strLink = strLink.substring(0, strEnd + 1);
				alert("'" + strLink + "'")			;
				strMessage = strMessage.replace(strLink,"");
			}
			else
			{
				blnLinks = false;
			}
		}
		
		blnLinks = true;
		
		while (blnLinks)
		{
			strStart = strMessage.indexOf("<span");
			
			if (strStart != -1)
			{
				
				strLink = strMessage.substring(strStart, strMessage.length - 1);
				
				strEnd = strLink.indexOf(">");
				
				strLink = strLink.substring(0, strEnd + 1);
				alert("'" + strLink + "'")			;
				strMessage = strMessage.replace(strLink,"");
			}
			else
			{
				blnLinks = false;
			}
		}
			
		frmDefault.txtMessage.value = strMessage;
	
		Preview_Page();
		return true;
	}
	else
	{
		return true;
	}
}

/***************************************************
* Method:		Trim_String()
* Purpose:		Removes leading and trailing spaces 
*				from the passed string. Also removes
*				consecutive spaces and replaces it 
*				with one space. If something besides
*				a string is passed in (null, custom 
*				object, etc.) then return the input.
* Parameters:	(String)Email Address
****************************************************/
function Trim_String(strInput) 
{
	if (typeof strInput != "string") 
	{ 
		return strInput; 
	}
	
	var retValue = strInput;
	var ch = retValue.substring(0, 1);
	
	// Check for spaces at the beginning of the string
	while (ch == " ") 
	{ 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
	}
   
	ch = retValue.substring(retValue.length-1, retValue.length);
   
	// Check for spaces at the end of the string
	while (ch == " ") 
	{
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
	}
   
	// Note that there are two spaces in the string - look for multiple spaces within the string
	while (retValue.indexOf("  ") != -1) 
	{
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
	}
	
	// Return the trimmed string back to the user
	return retValue; 
	
} 


/***************************************************
* Method:		Validate_Content()
* Purpose:		Runs when the user clicks Logon
* Parameters:	None
****************************************************/
function Validate_Content()
{
	var strMessage = Trim_String(document.frmDefault.txtMessage.value);
	
	document.frmDefault.txtMessage.value = strMessage;
		
	if (strMessage == "")
	{
		alert("Please enter something.");
		document.frmDefault.txtMessage.focus();
		return false;
	}
	else
	{
		if (confirm("Are you sure you want to save these changes?"))
		{
			document.frmDefault.hdnAction.value = "S";
			document.frmDefault.submit();
		}
	}
	
	return true;
}