<?php
class Furnicom_Options_menu_location_multi_select extends Furnicom_Options{	
	
	/**
	 * Field Constructor.
	 *
	 * Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function
	 *
	 * @since Furnicom_Options 1.0.1
	*/
	function __construct($field = array(), $value ='', $parent){
		
		parent::__construct($parent->sections, $parent->args, $parent->extra_tabs);
		$this->field = $field;
		$this->value = $value;
		
		
	}//function
	
	
	
	/**
	 * Field Render Function.
	 *
	 * Takes the vars and outputs the HTML for the field in the settings
	 *
	 * @since Furnicom_Options 1.0.1
	*/
	function render(){
		
		$class = (isset($this->field['class']))?'class="'.esc_attr( $this->field['class'] ).'" ':'';
		global $_wp_registered_nav_menus;

		echo '<select id="'.esc_attr( $this->field['id'] ).'" name="'.$this->args['opt_name'].'['.$this->field['id'].'][]" '.$class.' multiple="multiple">';
		
		if($_wp_registered_nav_menus){
			foreach ( $_wp_registered_nav_menus as $k => $v ) {
				$selected = ( is_array( $this->value ) && in_array( $k, $this->value) ) ? ' selected="selected"':'';
				echo '<option value="'.esc_attr( $k ).'"'. $selected .'>'.esc_html( $v ).'</option>';
			}
		}//if

		echo '</select>';
	
		echo (isset($this->field['desc']) && !empty($this->field['desc']))?' <span class="description">'.esc_html( $this->field['desc'] ).'</span>':'';
		
	}//function
	
}//class
?>