<?php defined('SYSPATH') or die('No direct access allowed.');

/**
 * This is class renders Recurring Schedule Times on responses and forms.
 *
 * @package    OSB
 * @subpackage Utilities
 * @category   Helpers
 * @author     Deon George
 * @copyright  (c) 2010 Deon George
 * @license    http://dev.leenooks.net/license.html
 */
class StaticList_RecurSchedule extends StaticList {
	protected function table() {
		return array(
			0=>_('Weekly'),
			1=>_('Monthly'),
			2=>_('Quarterly'),
			3=>_('Semi-Annually'),
			4=>_('Annually'),
			5=>_('Two years'),
			6=>_('Three Years')
		);
	}

	public static function factory() {
		return new StaticList_RecurSchedule;
	}

	public static function display($value) {
		return static::_display($value);
	}

	/**
	 * Renders the price display for a product
	 *
	 * @uses product
	 */
	public static function form($name,$product='',$default='',$addblank=FALSE) {
		if (empty($product))
			throw new Kohana_Exception('Product is a required field for :method',array(':method'=>__METHOD__));

		$x = '';
		$table = static::factory()->table();

		foreach ($product->get_price_array() as $term => $price) {
			$x[$term] = sprintf('%s %s',Currency::display(Tax::add($price['price_base'])),$table[$term]);

			if ($price['price_setup'] > 0)
				$x[$term] .= sprintf(' + %s %s',Currency::display(Tax::add($price['price_setup'])),_('Setup'));
		}

		return Form::select($name,$x,$default);
	}
}
?>