public static function generateDropDownMenu($name, 
                                                $currentValue, 
                                                $options, 
                                                $rowSize        = 1,
                                                $multipleSelect = false,
                                                $onChange       = "", 
                                                $id             = "")
    {
        $isAssoc = self::isAssoc($options);

        $optionsHtml = "";

        foreach ($options as $key => $option)
        {   
            $optionValue = $option;
            $optionLabel = $option;

            if ($isAssoc)
            {
                $optionValue = $key;
            }

            $selectedAttribute = "";

            if ($optionValue == $currentValue)
            {
                $selectedAttribute = " selected='true' ";
            }

            $optionsHtml .= "<option " . $selectedAttribute . 
                                'value="' . $optionValue . '"' .
                            ">" . 
                                $optionLabel . 
                            "</option>" . PHP_EOL;
        }

        $nameAttribute      = " name='" . $name . "' ";
        $idAttribute = "";
        
        if ($id != "")
        {
            $idAttribute = " id='" . $name . "' ";
        }
        
        $sizeAttribute      = " size='" . $rowSize . "' ";
        $onChangeAttribute  = "";

        if ($onChange != "")
        {
            $onChangeAttribute = " onchange='" . $onChange . "' ";
        }

        $multipleAttribute  = "";

        if ($multipleSelect)
        {   
            $multipleAttribute = " multiple ";
        }

        $htmlString = 
            "<select" .
                $idAttribute . 
                $nameAttribute . 
                $sizeAttribute . 
                $onChangeAttribute . 
                $multipleAttribute . 
            ">" . 
                $optionsHtml . 
            "</select>";

        return $htmlString;
    }