function dynamicTextFieldFocusChanged(sourceObject, unfocusedText, allOtherClasses, isPassword, isFocused)
{
	if (sourceObject.value == unfocusedText || sourceObject.value == "")
	{
		// something else lame-ass IE doesn't support: changing an element's attribute at run-time
		var isIe = (navigator.userAgent != null && navigator.userAgent.indexOf("MSIE") != -1);
		
		if (isFocused) // focusing
		{
			if (isPassword && !isIe)
			{
				//sourceObject.type = "password";
				sourceObject.setAttribute("type", "password");
			}
			sourceObject.className = "framework-generic-textfield-focused " + allOtherClasses;
			sourceObject.value = "";
		}
		else // blurring
		{
			if (isPassword && !isIe)
			{
				//sourceObject.type = "text";
				sourceObject.setAttribute("type", "text");
			}
			sourceObject.className = "framework-generic-textfield-unfocused " + allOtherClasses;
			
			if ((!isIe && isPassword) || !isPassword)
			{
				sourceObject.value = unfocusedText;
			}
		}
	}
}