public function init()
    {
        // Send default settings according to locale
        $locale = i18n::get_locale();
        $symbols = Zend_Locale_Data::getList($locale, 'symbols');
        $currency = Currency::config()->currency_symbol;
        $decimals = $symbols['decimal'];
        $thousands = $decimals == ',' ? ' ' : ',';
        // Accouting needs to be initialized globally
        FormExtraJquery::include_accounting();
        Requirements::customScript(<<<EOT
    window.accounting.settings = {
        currency: {
            symbol : "{$currency}",
            format: "%s%v",
            decimal : "{$decimals}",
            thousand: "{$thousands}",
            precision : 2
        },
        number: {
            precision : 0,
            thousand: "{$thousands}",
            decimal : "{$decimals}"
        }
    }
EOT
, 'accountingInit');
    }
 public function Field($properties = array())
 {
     FormExtraJquery::include_jquery();
     FormExtraJquery::include_accounting();
     Requirements::javascript(FORM_EXTRAS_PATH . '/javascript/AccountingField.js');
     return parent::Field($properties);
 }
 public function Field($properties = array())
 {
     FormExtraJquery::include_jquery();
     if ($this->requireAccounting) {
         FormExtraJquery::include_accounting();
     }
     FormExtraJquery::include_jquery_ui();
     if (Director::isDev()) {
         Requirements::css(FORM_EXTRAS_PATH . '/javascript/appendgrid/jquery.appendGrid-1.6.0.css');
         Requirements::javascript(FORM_EXTRAS_PATH . '/javascript/appendgrid/jquery.appendGrid-1.6.0.js');
     } else {
         Requirements::css(FORM_EXTRAS_PATH . '/javascript/appendgrid/jquery.appendGrid-1.6.0.min.css');
         Requirements::javascript(FORM_EXTRAS_PATH . '/javascript/appendgrid/jquery.appendGrid-1.6.0.min.js');
     }
     if (!FormExtraJquery::isAdminBackend()) {
         Requirements::customScript('var appendgrid_' . $this->ID() . ' = ' . $this->buildJsonOpts(true));
     } else {
         Requirements::css(FORM_EXTRAS_PATH . '/javascript/appendgrid/silverstripe.css');
     }
     Requirements::javascript(FORM_EXTRAS_PATH . '/javascript/AppendGridField.js');
     return parent::Field($properties);
 }
 public function Field($properties = array())
 {
     if (!$this->isReadonly()) {
         FormExtraJquery::include_jquery();
         if ($this->requireAccounting) {
             FormExtraJquery::include_accounting();
         }
         Requirements::javascript(FORM_EXTRAS_PATH . '/javascript/TableField.js');
     }
     return parent::Field($properties);
 }