// Copyright 2017 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com

#include "fxjs/cjs_globalconsts.h"

#include "fxjs/fxv8.h"

#define GLOBAL_STRING(rt, name, value)                              \
  (rt)->DefineGlobalConst(                                          \
      (name), [](const v8::FunctionCallbackInfo<v8::Value>& info) { \
        info.GetReturnValue().Set(                                  \
            fxv8::NewStringHelper(info.GetIsolate(), (value)));     \
      })

// static
void CJS_GlobalConsts::DefineJSObjects(CJS_Runtime* pRuntime) {
  GLOBAL_STRING(pRuntime, L"IDS_GREATER_THAN",
                "Invalid value: must be greater than or equal to % s.");

  GLOBAL_STRING(pRuntime, L"IDS_GT_AND_LT",
                "Invalid value: must be greater than or equal to % s "
                "and less than or equal to % s.");

  GLOBAL_STRING(pRuntime, L"IDS_LESS_THAN",
                "Invalid value: must be less than or equal to % s.");

  GLOBAL_STRING(pRuntime, L"IDS_INVALID_MONTH", "**Invalid**");
  GLOBAL_STRING(
      pRuntime, L"IDS_INVALID_DATE",
      "Invalid date / time: please ensure that the date / time exists.Field");

  GLOBAL_STRING(pRuntime, L"IDS_INVALID_VALUE",
                "The value entered does not match the format of the field");

  GLOBAL_STRING(pRuntime, L"IDS_AM", "am");
  GLOBAL_STRING(pRuntime, L"IDS_PM", "pm");
  GLOBAL_STRING(pRuntime, L"IDS_MONTH_INFO",
                "January[1] February[2] March[3] April[4] May[5] "
                "June[6] July[7] August[8] September[9] October[10] "
                "November[11] December[12] Sept[9] Jan[1] Feb[2] Mar[3] "
                "Apr[4] Jun[6] Jul[7] Aug[8] Sep[9] Oct[10] Nov[11] "
                "Dec[12]");

  GLOBAL_STRING(pRuntime, L"IDS_STARTUP_CONSOLE_MSG", "** ^ _ ^ **");
}
