/* These are the classes applied on the error messages
 * which prevent them from being displayed by default.
 */
.textareaRequiredMsg, .textareaMinCharsMsg, .textareaMaxCharsMsg, .textareaValidMsg, .textfieldRequiredMsg, 
.textfieldInvalidFormatMsg, .textfieldMinValueMsg, .textfieldMaxValueMsg, .textfieldMinCharsMsg, .textfieldMaxCharsMsg, 
.textfieldValidMsg, .selectRequiredMsg, .selectInvalidMsg, .checkboxRequiredMsg, .checkboxMinSelectionsMsg, 
.checkboxMaxSelectionsMsg, .radioRequiredMsg, .radioInvalidMsg, .checkboxRequiredMsg, .checkboxMinSelectionsMsg, .checkboxMaxSelectionsMsg{
    display: none;
}

/* These selectors change the way messages look when the widget is in one of the error states.
 * These classes set a default red border and color for the error text.
 * The state class (e.g. .textfieldRequiredState) is applied on the top-level container for the widget,
 * and this way only the specific error message can be shown by setting the display property to "inline".
 */
.textfieldRequiredState .textfieldRequiredMsg, .textfieldInvalidFormatState .textfieldInvalidFormatMsg, .textfieldMinValueState .textfieldMinValueMsg,
.textfieldMaxValueState .textfieldMaxValueMsg, .textfieldMinCharsState .textfieldMinCharsMsg, .textfieldMaxCharsState .textfieldMaxCharsMsg, 
.textareaRequiredState .textareaRequiredMsg, .textareaMinCharsState .textareaMinCharsMsg, .textareaMaxCharsState .textareaMaxCharsMsg, 
.selectRequiredState .selectRequiredMsg, .selectInvalidState .selectInvalidMsg, .checkboxRequiredState .checkboxRequiredMsg, 
.checkboxMinSelectionsState .checkboxMinSelectionsMsg, .checkboxMaxSelectionsState .checkboxMaxSelectionsMsg, .invalidMessage, 
.radioRequiredState .radioRequiredMsg, .radioInvalidState .radioInvalidMsg
{
    display: inline;
    color: #ff2222;
    border:0px; 
    margin-left:4px;
}

/* The next three group selectors control the way the core element (INPUT) looks like when the widget is in one of the states: * focus, required / invalid / minValue / maxValue / minChars / maxChars , valid
 * There are two selectors for each state, to cover the two main usecases for the widget:
 * - the widget id is placed on the top level container for the INPUT
 * - the widget id is placed on the INPUT element itself (there are no error messages)
 */

 /* When the widget is in the valid state the INPUT has a green background applied on it. */
.textfieldValidState input, input.textfieldValidState, .textareaValidState textarea, textarea.textareaValidState, 
.selectValidState select, select.selectValidState 
{
    background-color: #ffffff;
}

/* When the widget is in an invalid state the INPUT has a red background applied on it. */
input.textfieldRequiredState, .textfieldRequiredState input, input.textfieldInvalidFormatState, .textfieldInvalidFormatState input, 
input.textfieldMinValueState, .textfieldMinValueState input, input.textfieldMaxValueState, .textfieldMaxValueState input, 
input.textfieldMinCharsState, .textfieldMinCharsState input, input.textfieldMaxCharsState, .textfieldMaxCharsState input, 
textarea.textareaRequiredState, .textareaRequiredState textarea, textarea.textareaMinCharsState, .textareaMinCharsState textarea, 
textarea.textareaMaxCharsState, .textareaMaxCharsState textarea, select.selectRequiredState, .selectRequiredState select, 
select.selectInvalidState, .selectInvalidState select
{
    background-color: #ff2222;
}

/* When the widget has received focus, the INPUT has a yellow background applied on it. */
.textfieldFocusState input, input.textfieldFocusState, .textareaFocusState textarea, textarea.textareaFocusState, .selectFocusState select, 
select.selectFocusState
{
    background-color: #ffffff;
}

/* This class applies only for a short period of time and changes the way the text in the textbox looks like.
 * It applies only when the widget has character masking enabled and the user tries to type in an invalid character.
 */
.textfieldFlashText input, input.textfieldFlashText, .textareaFlashState textarea, textarea.textareaFlashState
{
    color: red !important;
}



.validMsg{
    width:16px;
    height:16px;
    margin-left:6px;
    margin-top:-2px;
    display:none;
}
.textfieldValidState .validMsg, .textareaValidState .validMsg, .selectValidState .validMsg, .checkboxValidState .validMsg{
    display:inline;
}

#okmessage{
    margin-top:10px;
    color: green;
    display:none;
}
