/*
 * Copyright (C)2005-2014 Haxe Foundation
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 * DEALINGS IN THE SOFTWARE.
 */
// This file is generated, do not edit!
package js.html;
/** DOM select elements share all of the properties and methods of other HTML elements described in the element
 section. They also have the specialized interface HTMLSelectElement (or 
HTML 4 HTMLSelectElement).
Documentation for this class was provided by MDN. */
@:native("HTMLSelectElement")
extern class SelectElement extends Element implements ArrayAccess
{
	/** Reflects the 
autofocus
 HTML attribute, which indicates whether the control should have input focus when the page loads, unless the user overrides it, for example by typing in a different control. Only one form-associated element in a document can have this attribute specified. 
HTML5 
Requires Gecko 2.0 */
	var autofocus : Bool;
	/** Reflects the 
disabled
 HTML attribute, which indicates whether the control is disabled. If it is disabled, it does not accept clicks. */
	var disabled : Bool;
	/** The form that this element is associated with. If this element is a descendant of a form element, then this attribute is the ID of that form element. If the element is not a descendant of a form element, then:  - 
HTML5 The attribute can be the ID of any form element in the same document.
- 
HTML 4 The attribute is null.
Read only. */
	var form(default,null) : FormElement;
	/** A list of label elements associated with this select element. */
	var labels(default,null) : NodeList;
	/** The number of<option>
 elements in this select element. Setter throws DOMException. */
	var length : Int;
	/** Reflects the 
multiple
 HTML attribute, whichindicates whether multiple items can be selected. */
	var multiple : Bool;
	/** Reflects the 
name
 HTML attribute, containing the name of this control used by servers and DOM search functions. */
	var name : String;
	/** The set of <option>
 elements contained by this element. Read only. */
	var options(default,null) : HTMLOptionsCollection;
	/** Reflects the 
required
 HTML attribute, which indicates whether the user is required to select a value before submitting the form. 
HTML5 
Requires Gecko 2.0 */
	var required : Bool;
	/** The index of the first selected <option>
 element. */
	var selectedIndex : Int;
	/** The set of options that are selected. 
HTML5 */
	var selectedOptions(default,null) : HTMLCollection;
	/** Reflects the 
size
 HTML attribute, which contains the number of visible items in the control. The default is 1, 
HTML5 unless multiple is true, in which case it is 4. */
	var size : Int;
	/** The form control's type. When multiple is true, it returns select-multiple; otherwise, it returns select-one.Read only. */
	var type(default,null) : String;
	/** A localized message that describes the validation constraints that the control does not satisfy (if any). This attribute is the empty string if the control is not a candidate for constraint validation (willValidate is false), or it satisfies its constraints.Read only. 
HTML5 
Requires Gecko 2.0 */
	var validationMessage(default,null) : String;
	/** The validity states that this control is in. Read only. 
HTML5 
Requires Gecko 2.0 */
	var validity(default,null) : ValidityState;
	/** The value of this form control, that is, of the first selected option. */
	var value : String;
	/** Indicates whether the button is a candidate for constraint validation. It is false if any conditions bar it from constraint validation. Read only. 
HTML5 
Requires Gecko 2.0 */
	var willValidate(default,null) : Bool;
	function add( element : Element, before : Element ) : Void;
	function checkValidity() : Bool;
	function item( index : Int ) : Node;
	function namedItem( name : String ) : Node;
	function setCustomValidity( error : String ) : Void;
}