$this->getValuesHtml() is inherited from
Note: In many cases the template path is a hint to the relevant block path already (if you take a look after
design/frontend/theme/theme/template what remains is
catalog/product/view/options/type/select which is basically the
Catalog module in
app/code/core and since you're looking for a
Block the rest is quite easy to follow based on the template path again). This however is not always the case and is just meant to be a quick hint for all the lazy ones out there ;).
For getting a better idea what block is underlying your template please enable the block name hints from backend.
You can find them at
System > Configuration > ADVANCED > Developer - now change to your desired website or store view in the upper left scope drop down - and then enable
Template Path Hints (which gives you the path to the template file [mandatory for the next option to take effect]) and
Add Block Names to Hints (which gives you the relevant block class for the same).
Often Magento core developers even left comments in the template files specifying what $this is. This comment is present in
select.phtml as well:
<?php /* @var $this Mage_Catalog_Block_Product_View_Options_Type_Select */ ?>
Also, the relevant layout xml can give you an idea about what template and block files are related to each other, but that might go to far now - still for the record,
catalog.xml is stating an action, inheriting the relevant block and template file:
So in your case all these would give you
Mage_Catalog_Block_Product_View_Options_Type_Select or in other words as a file path.
I assume you're aware about it already but one common, additional note is to be made here again: as always, do NOT modify this file directly.
Either create a copy under
app/code/local/Mage/Catalog/Block/Product/View/Options/Type/Select.php or, even better, create your own custom module and rewrite the block from there to be even more future-proof.