/*.dark/form/Common.css */

/*========================= common css =========================*/

@import "../variables";

/* 'dijitTextBox' refers to 'dijit(TextBox|DateTextBox|CurrencyTextBox|...)' */

.dark .dijitTextBox,
.dark .dijitInputInner {
    // .dijitInputInner selector needed for ValidationTextBox on IE6 because <input> doesn't inherit
    // the color setting from the ancestor div.dijitTextBox
	color: @text-color;
}

.dark .dijitValidationTextBoxError .dijitValidationContainer {
	background-color: @erroricon-background-color;
	background-image: url("../@{image-form-error}");
	background-position: top center;
	border: solid @erroricon-background-color 0;
	width: 9px;
}

.dark .dijitTextBoxError .dijitValidationContainer {
	border-left-width: 1px;
}

.dark .dijitValidationTextBoxError .dijitValidationIcon {
	width: 0;
	background-color: transparent; /* so the INPUT doesn't obscure the border in rtl+a11y */
}

/* Padding for the input area of TextBox based widgets, and corresponding padding for the
 * down arrow button and the placeholder.   placeholder is explicitly listed  because
 * dijitPlaceHolder is absolutely positioned, so padding set on dijitInputField
 * won't affect it
 */
.dark .dijitTextArea,
.dark .dijitInputField .dijitPlaceHolder {
	padding: @textbox-padding;
}

.dark .dijitSelect .dijitInputField,
.dark .dijitTextBox .dijitInputField {
	// Subtract 1px from top/bottom because we add 1px to other nodes, see rules below.
	// Although we are theoretically only adding 1px to top/bottom browsers seem to pad inputs by 1px on left/right,
	// although that varies by so compensate for that too.
	padding: @textbox-padding - 1px  @textbox-padding;
}

.dj_gecko .dark .dijitTextBox .dijitInputInner,
.dj_webkit .dark .dijitTextBox .dijitInputInner {
	// Although we are theoretically only adding 1px to top/bottom, some browsers seem to pad inputs by 1px on left/right,
	// so compensate for that too.
	padding: @textbox-padding - 1px;
}

.dark .dijitSelect,
.dark .dijitSelect .dijitButtonContents,
.dark .dijitTextBox,
.dark .dijitTextBox .dijitButtonNode {
	/* color for (outer) border on *TextBox widgets, and border between input and buttons on ComboBox and Spinner */
	border-color: @border-color;
	.transition-property(background-color, border);
 	.transition-duration(.35s);
}

.dark .dijitSelect,
.dark .dijitTextBox {
	background-color: @textbox-background-color;
}

/* hover */
.dark .dijitSelectHover,
.dark .dijitSelectHover .dijitButtonContents,
.dark .dijitTextBoxHover,
.dark .dijitTextBoxHover .dijitButtonNode {
	border-color: @hovered-border-color;
 	.transition-duration(.25s);
}

.dark .dijitTextBoxHover {
	background-color: @textbox-hovered-background-color;
	.textbox-background-image;
}

/* error state */
.dark .dijitSelectError,
.dark .dijitSelectError .dijitButtonContents,
.dark .dijitTextBoxError,
.dark .dijitTextBoxError .dijitButtonNode {
	border-color: @error-border-color;
}

/* focused state */
.dark .dijitSelectFocused,
.dark .dijitSelectFocused .dijitButtonContents,
.dark .dijitTextBoxFocused,
.dark .dijitTextBoxFocused .dijitButtonNode {
	border-color:@focused-border-color;
 	.transition-duration(.1s);
}

.dark .dijitTextBoxFocused {
	background-color: @textbox-focused-background-color;
	.textbox-background-image;
}
.dark .dijitTextBoxFocused .dijitInputContainer {
	background: @textbox-focused-background-color;
}

.dark .dijitSelectErrorFocused,
.dark .dijitSelectErrorFocused .dijitButtonContents,
.dark .dijitTextBoxErrorFocused,
.dark .dijitTextBoxErrorFocused .dijitButtonNode {
	border-color: @error-focused-border-color;
}

/* disabled state */
.dark .dijitSelectDisabled,
.dark .dijitSelectDisabled .dijitButtonContents,
.dark .dijitTextBoxDisabled,
.dark .dijitTextBoxDisabled .dijitButtonNode {
	border-color: @disabled-border-color;
}

.dark .dijitSelectDisabled,
.dark .dijitTextBoxDisabled,
.dark .dijitTextBoxDisabled .dijitInputContainer {
	background-color: @textbox-disabled-background-color;
	background-image: none;
}

.dark .dijitSelectDisabled,
.dark .dijitTextBoxDisabled,
.dark .dijitTextBoxDisabled .dijitInputInner {
	color: @disabled-text-color;
}

.dj_webkit .dark .dijitDisabled input {
    /* because WebKit lightens disabled input/textarea no matter what color you specify */
	color: darken(@disabled-text-color, 5%)
}

.dj_webkit .dark textarea.dijitTextAreaDisabled {
    /* because WebKit lightens disabled input/textarea no matter what color you specify */
	color: darken(@disabled-text-color, 40%)
}

/*========================= for special widgets =========================*/

/* Input boxes with an arrow (for a drop down) */

.dark .dijitSelect .dijitArrowButtonInner,
.dark .dijitComboBox .dijitArrowButtonInner {
	background-image: url("../@{image-form-common-arrows}");
	background-position:-35px 53%;
	background-repeat: no-repeat;
	margin: 0;
	width:16px;
}

.dark .dijitComboBox .dijitArrowButtonInner {
	border: 1px solid @arrowbutton-inner-border-color;	// white gutter around the arrow button
}

.dark .dijitToolbar .dijitComboBox .dijitArrowButtonInner {
	border: none;
}

.dark .dijitToolbar .dijitComboBox .dijitArrowButtonInner {
	border: none;
}

/* Add 1px vertical padding to the <input> where user types and the validation icon,
   to match the 1px border on arrow button */
.dark .dijitSelectLabel,
.dark .dijitTextBox .dijitInputInner,
.dark .dijitValidationTextBox .dijitValidationContainer {
	padding: 1px 0;
}

.dark .dijitComboBox .dijitButtonNode {
	background-color: @arrowbutton-background-color;
	.standard-gradient("../");
}

/* Arrow "hover" effect:
 * The arrow button should change color whenever the mouse is in a position such that clicking it
 * will toggle the drop down.   That's either (1) anywhere over the ComboBox or (2) over the arrow
 * button, depending on the openOnClick setting for the widget.
 */
.dark .dijitComboBoxOpenOnClickHover .dijitButtonNode,
.dark .dijitComboBox .dijitDownArrowButtonHover,
.dark .dijitComboBoxFocused .dijitArrowButton {
	background-color:@arrowbutton-hovered-background-color;
}

.dark .dijitComboBoxOpenOnClickHover .dijitArrowButtonInner,
.dark .dijitComboBox .dijitDownArrowButtonHover .dijitArrowButtonInner {
	background-position:-70px 53%;
}

/* Arrow Button change when drop down is open */
.dark .dijitComboBox .dijitHasDropDownOpen {	// .dijitHasDropDown is on dijitArrowButton node
	background-color: @pressed-background-color;
	.active-gradient("../");
	padding: 1px;		// Since no border on arrow button (see rule below)
}	

.dj_iequirks .dark .dijitComboBox .dijitHasDropDownOpen {
	padding: 1px 0;
}

.dark .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner {
	background-position:-70px 53%;
	border: 0 none;
}

/* disabled state */
.dark div.dijitComboBoxDisabled .dijitArrowButtonInner {
	/* specific selector set to override background-position setting from Button.js
	 * (.dark .dijitComboBoxDisabled .dijitArrowButtonInner) */
	background-position:0 50%;
	background-color:@disabled-background-color;
}

/*========================= hacks for browsers =========================*/
/* it seems the input[type="hidden"] has a height (16px) too... this may cause the widget's height calculate error */
.dj_ff3 .dark .dijitInputField input[type="hidden"] {
	display: none;
	height: 0;
	width: 0;
}

.dj_borderbox .dark .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner {
	width:18px;				// quirks mode means border-box sizing, so 18px with the border (same as 16px without border)
}

.dj_borderbox .dark .dijitComboBoxFocused .dijitHasDropDownOpen .dijitArrowButtonInner {
	width:16px;				// when no border, then back to 16px just like content-box sizing
}
