/**
* utils.js - keeper of the grounds
* Basic bits to verify user login and present
* appropriate UI when necessary.
*/
window._alert = window.alert;
if (!fvDataNS)
var fvDataNS = {};
if (!fvSubmitAllInfo)
var fvSubmitAllInfo = {};
if(window.location.protocol !== 'https:'){
var secureUrl = getSecureServerName();
if(secureUrl != ''){
window.location.replace(secureUrl);
}
}
if(!actionClickInfo){
var actionClickInfo = undefined;
}
var ignoreSupportVersion;
if(ignoreSupportVersion == undefined){
ignoreSupportVersion = false;
}
var expandJobList = {};
var expandAgendaJobList = {};
var retrieveReturnTab = undefined;
var initIntervalBehaviorReqIsWaiting = false;
var callUpdateFVDBInfoWhenTimeoutIsWaiting = false;
var VERSION_UNSUPPORT = 9999;
// GPS tracking enhancements - Date range filter
var currentOSMVersion = 39;
var VERSION_1_0 = 1.0;
var VERSION_1_1 = 1.1;
var VERSION_1_1_LCE = 1.11;
var VERSION_1_2 = 1.2;
var VERSION_1_3 = 1.3;
var VERSION_1_31 = 1.31;
var VERSION_1_4 = 1.4;
var VERSION_1_5 = 1.5;
var VERSION_2_0 = 2.0;
var VERSION_2_11 = 2.11;
var VERSION_2_12 = 2.12;
var VERSION_2_13 = 2.13;
var VERSION_2_14 = 2.14;
var VERSION_3_0 = 3.0;
/* 3.1
* + Always populate default values
*/
var VERSION_3_1 = 3.1;
/* 3.2
* + Sort lookup list alpha-numerically
* + Add Time only fields to the calculations
*
* 3.3
* + Accept NULL values
*/
var VERSION_3_2 = 3.2;
var VERSION_3_3 = 3.3;
/*
* 3.4
* + Use Excel Template in 2007 format
* + Controling Mobile Settings from Website
* + Convert PageBreak question into report page break
* + Each loop in a repeatable section starts a new page
* + Use Compress Image Setting (No scale, 1/2, 1/3, ...)
*
* 3.5
* + Daylight Saving Time
*/
var VERSION_3_4 = 3.4;
var VERSION_3_5 = 3.5;
/*
* 3.6
* + Display time values as hh:mm
* + Jump over checklist column in Question View
* + Display checklist column name in Question View
*/
var VERSION_3_6 = 3.6;
/*
* 4.0
* + Convert Excel to PDF (in Website)
* + Import Date_Created
* + Web App tab
* + No column limits on Table widgets
* + Exception code for Number rows of Table widgets and Max Repeats of Repeatable widgets
*/
var VERSION_4_0 = 4.0;
/*
* 5.0
* + Expand page in Web App
* + Counter widget
* + Nits to fix: slide 19 & 20
* + Count operator
* + Web App tab
* + Create report template
* + Convert Excel to PDF
*/
var VERSION_5_0 = 5.0;
/*
* 6.0
* + 30-Day Demo mode
*/
var VERSION_6_0 = 6.0;
/*
* + SSO for Zendesk
*/
var VERSION_7_0 = 7.0;
var VERSION_7_1 = 7.1;
var VERSION_7_2 = 7.2;
/*
* add inputSelectOne, inputScoreOne, inputSelectMany into table and grid
*/
var VERSION_8_0 = 8.0;
/*
* add sum, count in grid
*/
var VERSION_8_1 = 8.1;
/*
* new skip logic
*/
var VERSION_8_11 = VERSION_5_0;
/*
* Forward widget
*/
var VERSION_8_12 = VERSION_5_0;
/*
* select location
*/
var VERSION_8_13 = VERSION_5_0;
/*
* is search field
*/
var VERSION_OPTION_SERABLE_FILED = 814;
/*
* add function sketch for inputSketch
*/
var VERSION_SKETCH_BTN = VERSION_5_0;
/*
* add, delete control for open special
*/
var VERSION_ADD_DEL_CTRL_OSP = 9999;
/*
* add control for open special
*/
var VERSION_ADD_CTRL_OSP = 11;
/*
* add, parse property for barcode and nfc
*/
var VERSION_NFC_BAR_PARSE = VERSION_5_0;
/*
* add, parse property for nfc (release 3.0)
*/
var VERSION_NFC_PARSE_ONLY = 8.24;
/*
* add new relevance type
*/
var VERSION_REL_TYPE = VERSION_5_0;
/*
* Combine these two items into one new “Customize Mobile App User Interface”
*/
var VERSION_Merge_CMAB_MMC = VERSION_5_0;
/*
* Text, Numeric, Date, LU (add property "Number of lines")
*/
var VERSION_NOFL = VERSION_5_0;
/*
* shetch & sign have 2 button upload & (sketch, sign)
*/
var VERSION_UP_SKETCH_SIGN = VERSION_5_0;
/*
* add function sketch for inputImage
*/
var VERSION_IMAGE_SKETCH_BTN = VERSION_5_0;
/*
* autonumber phase 2
*/
var VERSION_AUTONUMBER_PHASE2 = VERSION_5_0;
/*
* Add connection to device setting
*/
var VERSION_DEVICE_CONNECTION = VERSION_5_0;
/*
* Create an new “Build Forms > Options > Opening View”
*/
var VERSION_OPENING_VIEW = VERSION_UNSUPPORT;
// Change in BuildForms GUI, []Required => []Mobile Required, Add []Dispatch Required
var VERSION_ADD_DISPATCH_REQUIRED = VERSION_5_0;
// Add in Build Forms GUI, []Not use lookup in Dispatch tab
var VERSION_NOT_USE_LK_IN_DISPATCH_TAB = VERSION_5_0;
// add explain for control property
var VERSION_CTRL_PROPERTY_EXP = VERSION_5_0;
// Using the Library Skin Template when click menu/icon [Templates] on Build Forms
var VERSION_LIBRARY_SKIN_TEMPLATE = VERSION_5_0;
// add property reset to control forward
var VERSION_FW_RESET_TO_NULL = VERSION_5_0;
// add property search wild card
var VERSION_LU_SEARCH_WILD_CARD = VERSION_5_0;
// add new function tracking setting
var VERSION_NEW_TRACKING_SETTINGS = 8.28;
//new process of mobile sign up free account
var VERSION_NEW_SIGN_UP_PROCESS = 9.0;
// add function flint app in action control
var VERSION_ACTION_FLINT_APP = 900.1; /*disable this function*/
// add payment control
var VERSION_CTRL_PAYMENT = VERSION_5_0;
/*
+ Home Page
+ Auto-start form if only one form
+ “wallpaper” option
*/
var VERSION_UI_CHANGE_PHASE2 = 9.3;
// manage session
var VERSION_SESSION_MANAGE = VERSION_5_0;
// add property dispatch read only
var VERSION_CTRL_PROPERTY_DSP_READ_ONLY = VERSION_5_0;
// show hide selection text
var VERSION_SHOW_HIDE_SELECTION_TEXT = 9.6;
// add FLINT US PAYMENTS ONLY to payment control
var VERSION_FLINT_SIGNUP = VERSION_5_0;
// delete login account
var VERSION_NO_LOGIN_ACCOUNT = 9.8;
// zip form xml and form structure when save
var VERSION_EXIT_WITHOUT_CONF = 10;
//Show homepage for interview thirty day demo user
var THIRTY_DAY_DEMO_HOMEPAGE = 40; // htgiang add
//Show upgrade account 2
var USE_UPGRADE_ACCOUNT2 = 40; // htgiang add
//Show add mobile unit 2
var USE_ADD_MOBILE_UNIT2 = 40; // htgiang add
// table label not required
var VERSION_TABLE_LBL_NOT_REQUIRED = 10.1;
// add hide option in Selection Text
var VERSION_ADD_HIDE_SELECTION_TEXT = 10.2;
// add highlight last form icon
var VERSION_HIGHLIGHT_LAST_FORM_ICON = VERSION_UNSUPPORT;
// move report type & report template form report setting to build form
var VERSION_NEW_EMAIL_REPORT_SETTING = 10.4;
// The config about remove []Auto-fit rows in PDF, []Add PDF page break after every Excel template file worksheet
// (we will use it same as flag = VERSION_NEW_EMAIL_REPORT_SETTING
// https://doforms.atlassian.net/browse/PCA-5
var VERSION_REMOVE_REPORT_SETTINGS_CONVERT_PDF = VERSION_NEW_EMAIL_REPORT_SETTING;
// new calculation kind - String
var VERSION_CALCULATION_KIND_STRING = 10.5;
// Ability to change the caption when appending a comment in Questionaire
// Make showing additional GPS information optional in Location Widget.
var VERSION_PCA_43_44 = 10.6;
// ability in the forward action to set a parameter called do not send emails.
var VERSION_PCA_56 = 10.6;
// Add new Main Menu Graphic, Selection Text and Form List appearance in Customize Mobile App User Interface
var VERSION_PCA_72 = 10.6;
// Using the new option for Custom Column Weight/Replace Space with HTML tag
var VERSION_NEW_OPTION_CUSTOM_COLUMN_WEIGHT = 10.7;
// Apply showing the Custom Comment Header of Questionaire
// Apply task : https://doforms.atlassian.net/browse/PCA-136
// (Ability to change the caption when appending a comment in Questionaire)
var VERSION_SHOW_COMMENT_LABEL_QUESTIONNAIRE_PRINT_PREVIEW = 10.8;
//delete android only in control counter
var VERSION_DEL_COUNTER_ANDROID = 10.7;
//add form setting dialog
var VERSION_FORM_SETTING = 10.8;
//add option Remove space above and Remove space below
var VERSION_REMOVE_SPACE = 10.8;
//add option Remove space above and Remove space below
var VERSION_REMOVE_SPACE_WEBAPP = 10.8;
//Label Shading
var VERSION_LABEL_SHADING = 10.8;
//grid table shaded
var VERSION_GRID_TABLE_SHADING = 10.8;
//new option for location
var VERSION_LOCATION_SHOW_HIDE_OPT = 10.8;
//PCA-58 Use a lower case x as the replacement for the leading number.
var VERSION_ADD_X_IF_START_DIGIT = 10.8;
//PCA-141 Add a proxy sign-on in MDTADMIN
var VERSION_ADD_PROXY_SIGN_ON = 10.9;
//Additional Action Buttons
var VERSION_NEW_ACTION_FUCTION = 10.9;
// zip form xml and form structure when save
var VERSION_ZIP_FORM_INFO = VERSION_UNSUPPORT;
// web app new
var VERSION_NEW_WEB_APP = 40;
// Apply Shadings & Button Text on WebApps
// https://doforms.atlassian.net/browse/PCA-145 (Implement Shading for webapp)
var VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP = 10.7;
// Apply Partner App and First Name/LastName/Contact Number/BusinessUnut/StoreNumber (tdchien)
var VERSION_PARTNER_APP_BUSINESS_UNIT_STORE_NUMBER = 10.8;
// Apply Partner App with State/Region in Admin GUI (tdchien)
var VERSION_PARTNER_APP_STATE_REGION_ADMIN_GUI = 10.9;
// Apply Backend Instance for creating reports
var VERSION_BACKEND_INSTANCE_4_REPORT_ADMIN_GUI = 10.9;
// The version about using Shading+Spacing in PDF report
var VERSION_SHADINGS_BUTTON_FOR_PDF = 10.7; // tdchien add
// The version about apply ChooseOne/SelectMultiple/Score in PDF same as WebApps
// PCA-406: Report Settings, [] show buttons and check boxes in PDF same as PDF
var VERSION_CHOOSEONE_SC_SELECT_MULTIPLE_PDF_SAME_WA = 10.7; // tdchien add
// The version about using Active Button Color (tdchien add)
// This version is always >= VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP
// PCA-250: Web App/Preview support for button color
var VERSION_SHADINGS_ACTIVE_BUTTON_COLOR = VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP;
// PCA-245: Embed static maps into PDF/Excel Template
var VERSION_EMBBED_STATIC_MAP_PDF_EXCEL = 10.7;
// PCA-646: Email widget > Send report as a web link (for large pdfs)
// Apply link of Convert PDF file with size > 10MB
var VERSION_LINK_CONVERT_PDF_OVER_LIMIT_SIZE = 10.7;
// Hide unneeded controls in Report Settings with Release Version
// (default show in beta, with release version we should setting value > currentVersion
var VERSION_SHOW_SPECIAL_CONTROLS_IN_REPORT_SETTINGS = 9999.7;
var VERSION_SHOW_LABEL_FREE_FORM_GRID = 10.8; // CO-4510
//PCA-390: Lookup data > Download function
var VERSION_DOWNLOAD_LOOKUP_DATASOURCE_MANAGER = 13;
// Process download report template (Excel Template)
var VERSION_DOWNLOAD_REPORT_TEMPLATE = 10;
// lookup cache versionm
var VERSION_USE_LOOKUP_CACHE = 40;
//remove Check for Updates of Save and Send and Save Send Start new.
var VERSION_REMOVE_CHECK_FOR_UPDATE = 110;
//Check for updates after either Save and Send for device setting
var VERSION_ADD_SETTING_CHECK_FOR_UPDATE = 110;
//enable barcode, nfc widget in table & grid
var VERSION_BAR_NFC_TBL_GRID = 11;
//add Grid Type to grid widget
var VERSION_GRID_TYPE_FUNCTION = 11;
//apply Grid Type to grid widget for webapp
var VERSION_GRID_TYPE_FUNCTION_WEBAPP = 11;
//Portal support for "Ask for PIN" options
var VERSION_ASK_FOR_PIN = 11;
//Portal support for Shading and Spacing all control
var VERSION_PORTAL_SHADING = 11;
// Using Embbed GPS Static Map in WebApps/PrintPreview/PDF (tdchien)
var VERSION_EMBBED_STATIC_GPS_MAP_IMAGE = 11;
//add radio repeatable type
var VERSION_REPEAT_TYPE_FUNCTION = 11;
//edit by Web app UI for View data & Dispatch tab
var VERSION_WEB_APP_UI_EDIT = 11;
//Build Form | Tool parameter cleanup
var VERSION_TOOL_PARAM_CLEANUP = 11;
//add radio display type
var VERSION_DISPLAY_TYPE_FUNCTION = 11;
//add Ignore requried fields in forward
var VERSION_IGNORE_REQ_FORWARD = 11;
// add comment label when check Append comment field
var VERSION_NEW_OPTION_COMMENT_LABEL = 11;
// add Allow Edit option
var VERSION_ALLOW_EDIT_OPT = 11;
// new tool layout
var VERSION_NEW_TOOL_LAYOUT = 11;
// add action type
var VERSION_ACTION_TYPE = 11;
// add new grid control
var VERSION_NEW_GRID_BUTTON = 11;
// Ignore across option for choose one, select multiple and score
var VERSION_IGNORE_ACROSS = 11;
// Ignore across option for choose one, select multiple and score
var VERSION_USING_PRINT_MAP_DISPATCH_TRACKING_VIEW = 10;
// additional option for jump to page. Next previous top bottom
var VERSION_ADD_OPTION_JTP = 11;
// add the set field check box
var VERSION_SET_CURRENT_DATE = 11;
// mobile id + version for text calculate
var VERSION_NEW_FUNCTION_FOR_TEXT_CALCULATE = 11;
// add support control for frid, table, score table
var VERSION_SUPPORT_CTRL_FOR_CONTAINER = 11;
// add select control to default value of email report
var VERSION_EMAIL_REPORT_NEW_DEFAULT = 11;
//add new hide in pdf option
var VERSION_HIDE_PDF = 11;
//version for control approval
var VERSION_APPROVAL = 11;
// add record with old row mode (not using UI)
var VERSION_OLD_ADD_ROW_MODE = 11;
// The report setting from BuildForms + Set ViewData Report Settings
// PCA-581: Make report settings in Build Forms
var VERSION_BUILD_FORMS_REPORT_SETTINGS_4VIEWDATA = 9999;
// Control showing select values for report (StandardPDF/Excel)
// PCA-587: Ability to select the answer as displayed to the mobile user, or the underlying_value for Choose One, Score, Select Multiple in Standard PDF/Excel reports
var VERSION_SHOWING_SELECT_VALUES_4REPORT = 10;
// Create Email PDF/Email Excel directly on ViewData/Dispatch GUI
var VERSION_EMAIL_PDF_EXCEL_DIRECT_VIEWDATA_DISPATCH = 9999;
// Hide in mobile app, in View Data & Dispatch tab, in PDF & Print for ChooseOne & SelectMultiple
var VERSION_HIDE_FOR_CO_SM = 11;
// Apply Compability > Do not show the repeatable caption in Report Settings
var VERSION_COMPABILITY_DONOT_SHOW_GROUP_CAPTION = 10;
// Use the feature CopyForm in AdminGUI (from account to account)
var VERSION_USE_FEATURE_COPY_FORM_IN_ADMIN_GUI = 10;
// New homepage
var VERSION_NEW_HOME_PAGE = 9999;
//New homepage 2024
var VERSION_HOME_PAGE_24 = VERSION_NEW_WEB_APP;
// New size by property for input action
var VERSION_ACTION_IMAGE_SIZE_BY = 9999;
// New homepage
var VERSION_NEW_PROJECT_PAGE = 12;
// Build Forms | Action Button - Addition, to add printing support for Web Client Only
var VERSION_ACTION_PRINT = 12;
// Upload a picture for Sketch widgets
var VERSION_SKETCH_DEFAULT_IMAGE = 12;
// Hide row action menu > copy in View data tab
var VERSION_VIEW_DATA_ACTION_COPY = 9999;
// validateValue for input number
var VERSION_VALIDATE_VALUE = 13;
// Signature Capture | Additional functionality & Properties
var VERSION_SIGNATURE_ADD_FUNC = 13;
// Last entered value for trends
var VERSION_LAST_ENTERED_VALUE = 9999;
var VERSION_CALLOUT_SHOW_FORM = 13;
var VERSION_SHOW_MENU_CURRENT_QUOTA_LIMIT = 9999;
var VERSION_UPDATE_ACCOUNT_NAME = 9999;
//Display Mask
var VERSION_DATE_ADVANCE_FORMAT = 13;
var VERSION_BUILD_MENU = 13;
//Signatures in tables
var VERSION_SIGNATURE_TBL = 14;
//show manage groups button at web user tab.
var VERSION_SHOW_WEB_USER_TAB_MANAGE_GROUP = 14;
//show manage data groups button at web user tab.
var VERSION_SHOW_WEB_USER_TAB_MANAGE_DATA_GROUP = 14;
//add ckeckbox clear button for image (Image > Display > Clear button)
var VERSION_IMAGE_CLEAR_BTN = 14;
//remove input source of launch google map
var VERSION_GMAP_REMOVE_INPUT_SRC = 14;
//add “On clear” and it will go under the “Keyboard First” option
var VERSION_ON_CLEAR_CHK = 14;
var VERSION_LU_KEYBOARD = 15;
//grid into repeat
var VERSION_GROUP_IN_REPEAT = 15;
//Adjust column width 200 or 300%..
var VERSION_ADJUST_WIDTH_PERCEN = 15;
//add lock header for table control
var VERSION_LOCK_HEADER = 9999;
//Additional Action Buttons save form
var VERSION_NEW_ACTION_SAVE_FORM = 15;
//Save form after "N" minutes in account settings.
var VERSION_AUTO_SAVE_FV_AFTER = 15;
//no limmit 200 row for use checklist
var VERSION_DONT_LIMMIT_CHECKLIST_ROW = 15;
//alway show dispatch if dispatch account
var VERSION_RELEASE_DISPATCH_WEBAPP = 15;
// Score Summary, add "Show decimal value" option.
var VERSION_SCORE_SHOW_DECIMAL_VALUE = 15;
// add Auto set the default value to the empty fields when dispatching/forwarding
var VERSION_ADD_AUTO_DEFAULT_DSP_FWD = 9999;
// tdchien :: Show [Image size] for Standard PDF
var VERSION_USE_IMAGE_SIZE_4_STANDARD_PDF = 15;
// Account settings > Mobile device settings
// []Show remember option in drop down menu
// []Show copy option in drop down menu
var VERSION_ACC_ST_SHOW_REMEMBER_COPY_OPT = 15;
//new pod widget
var VERSION_POD_WIDGET = 15;
// Search/filter for lookup manager
var VERSION_SEARCH_FILTER_LOOKUP_MANAGER = 15;
// Search/filter for Excel Template Manager
var VERSION_SEARCH_FILTER_EXCEL_TEMPLATE_MANAGER = 15;
// Form view menu > Show the Next button
var VERSION_SHOW_NEXT_BUTTON = 15;
// add Max Records for looup
var VERSION_LU_MAX_ROWS = 9999;
// add save as complete
var VERSION_ACTION_SAVE_COMPLETE = 15;
// add menu close help in file
var VERSION_SHOW_HELP_NEW = 9999;
// add justification for all control
var VERSION_TOOL_NEW_JUSTIFICATION = 15;
// add option to “Fit label images”
var VERSION_LABEL_FIT_SCREEN = 15;
// add preview screen size manage
var VERSION_PREVIEW_SCREEN_NAMAGE = 15;
// add code for property USE MOBILE ONLY
var VERSION_LU_USE_MOBILE_ONLY = 9999;
// add option sert tyle
var VERSION_LU_SORT_TYPE = 9999;
// add logout button mobile setting
var VERSION_SETTING_LOGOUT = 9999;
// change lookup only to restrict data on
var VERSION_RESTRICT_OPTION = 15.1;
// change lookup only to restrict data on remove in beta
var VERSION_RESTRICT_OPTION_FNS = 15.2;
// new payment control
var VERSION_NEW_PAYMENT = 15.2;
// add option remove border answer
var VERSION_REMOVE_ANSW_BORDER = 15.2;
//add "If screen size is smaller than" setting
var VERSION_TABLE_IGNORE_SCREEN_SIZE = 15.3;
// We want Read only, Required, and Hide to have the same options as restrict data
var VERSION_READ_ONLY_REQUIRED_HIDE_OPTION = 15.4;
// We want Read only, Required, and Hide to have the same options as restrict data fill & send
var VERSION_READ_ONLY_REQUIRED_HIDE_OPTION_FNS = 15.5;
// add option show now button for date/time
var VERSION_DATE_SHOW_NOW_BTN = 15.6;
// new if then else option
var VERSION_IF_THEN_ELSE = 15.7;
// add a setting to a time field to “Show Seconds”, add the ability to change the answer color in appearance settings
var VERSION_SHOW_SECONDS_COLOR_ANSWER = 15.8;
var VERSION_COPY_PASTE_UNDO_REDO = 15.9;
// add Allow edit option for NFC
var VERSION_NFC_ALLOW_EDIT = 16.01;
// add option Minute interval for date/time control
var VERSION_OPTION_MINUTE_INTERVAL = 16.02;
// add option Coordinates in Decimals for gps
var VERSION_GPS_SHOW_DECIMAL = 16.03;
// add option Dispatch to Email
var VERSION_DISPATCH_TO_EMAIL = 16.04;
// add action call
var VERSION_ACTION_CALL = 16.05;
// add option adjust width if smaller than
var VERSION_ADJUST_WIDTH_IF_SMALLER = 16.06;
// add option form link
var VERSION_RESTRICT_OPTION_FL = 16.07;
// Action Button -> Open Web Page to pick from a dropdown list of available text fields which will have a URL
var VERSION_OPEN_WEB_PAGE_NEW = 16.08;
// add project list option
var VERSION_PROJECT_LIST_OPTION = 16.09;
// add empty column for grid
var VERSION_GRID_EMPTY_COL = VERSION_UNSUPPORT;
// add use interval
var VERSION_USE_INTERVAL = 16.11;
// add payment type
var VERSION_PAYMENT_TYPE = 16.12;
var VERSION_BUILD_FORM_NEW = VERSION_UNSUPPORT;
//add action propay
var VERSION_ACTION_PROPAY = VERSION_UNSUPPORT;
//add active box color
var VERSION_ACTIVE_BOX = 16.15;
//Answer color
var VERSION_ANSWER_COLOR = 16.16;
//skip in grid
var VERSION_SKIP_IN_GRID = 16.17;
//Add doForms photos, images, icons to Gallery
var VERSION_ADD_PHOTO_GALERY = VERSION_UNSUPPORT;
//Numeric percent option
var VERSION_NUMBER_PERCENT = 16.19;
//Text entry new options
var VERSION_TEXT_FORMAT_OPTION = 16.20;
// Text custom format
var VERSION_TEXT_USE_CUSTOM_FORMAT_OPTION = 16.20; // CO-2251
var VERSION_TEXT_USE_CUSTOM_FORMAT_OPTION_DISABLE = VERSION_UNSUPPORT; // CO-2686
//new function Choose ones allow uncheck
var VERSION_ALLOW_UNCHECK = 16.21;
//add image for chooseone option
var VERSION_OPTION_IMAGE = 16.23;
// Version of Complex Password and User Lockout
var VERSION_COMPLEX_PASSWORD_AND_USER_LOCKOUT = 16.23;
//Add Show Advanced Toolbar
var VERSION_SHOW_ADVANCED_TOOLBAR = VERSION_UNSUPPORT;
//Add Show Advanced Toolbar in control setting
var VERSION_CTRL_SHOW_ADVANCED_TOOLBAR = 16.23;
//Add use percent for calculate
var VERSION_CALCULATE_PERCENT = 16.24;
//remove help in setting
var VERSION_REMOVE_HELP = 16.24;
//add category for score summary
var VERSION_SUMMARY_FOR_CATEGORY = 16.25;
//Purge signatures (stored images) from the mobile device after submission.
var VERSION_PURGE_SIGNATURES = 16.26;
var VERSION_MOBILE_RETRIEVE_IS_READONLY = 40;
var VERSION_PREVENT_BULK_SIGNATURE_WHEN_COMPLETE = 40;
//add select control for send status to dispatch
var VERSION_ACTION_SEND_STATUS_NEW_OPT = 16.27;
//add negative option for calculate, numeric
var VERSION_NUMERIC_NEGATIVE_OPT = 16.28;
// Advanced Data Manager
var VERSION_ADVANCED_DATA_MANAGER = VERSION_UNSUPPORT;
// APply delete multiple selected lookups
var VERSION_DELETE_MULTI_SELECTED_LOOKUPS = VERSION_UNSUPPORT;
//Allow to input an email address in Forward widgets in Build forms
var VERSION_FW_TO_EMAIL = 16.29;
//CO-82 Add new option View Data Fill & Send edit for Readonly, Required, Hide
var VERSION_FNS_EDIT = 16.30;
//Tab To Entry Field
var VERSION_NEW_REQUEST_CO_34 = 16.31;
//Adding the ability to forward to an email address
var VERSION_FW_CUSTOM_EMAIL = 16.32;
//delete - when use red/brackets
var VERSION_NEGATIVE_NUMBER_ACCOUNTANT = VERSION_UNSUPPORT;
//co-86 Consistency Of Drop Down Selections
var VERSION_CONSISTENCE_DROPDOWN = 16.33;
//support select many for table
var VERSION_SELECT_MANY_IN_TABLE = 16.34;
//Hub App Enhancements
var VERSION_HUB_APP_ENHANCE = 16.35;
var VERSION_USE_CHECKLIST_LIMIT_200 = 16.36;
var VERSION_TURN_OFF_SELECTION_OUTLINE = 16.37;
//CO-135 New settings for ReadOnly, Required, Hide options
var VERSION_CO_135_NEW_SETTING = 16.38;
//reply to sender for forward control
var VERSION_REPLY_TO_SENDER = 16.39;
var VERSION_HIDE_PAYMENT_FOR_RESELLER = 16.40;
var VERSION_SUPPORT_PROPAY_WEAPP = 16.41;
var VERSION_SUPPORT_SQUARE_WEAPP = 16.41;
//Text Field- Lock Numeric Keyboard
var VERSION_LOCK_MUMERIC_KB_OPTION = 16.42;
//stacked expand for free form
var VERSION_STACKED_EXP_FREE_FORM = 16.43;
//add Answer Background Color
var VERSION_ANSWER_BACKGROUND_COLOR = 16.44;
//Add Shaded headings for questions in Table to override the shaded headings.
var VERSION_SHADED_HEADING_QUES_INTABLE = 16.45;
//Add new OnClick action to be used for setting an value (Constant or Other question) to a specific question in the form.
var VERSION_ACTION_ONCLICK = VERSION_UNSUPPORT;
// Gray Caption Text
var VERSION_GRAY_CAPTION_TEXT = 16.47;
// Date/Time Compare
var VERSION_DATE_TIME_COMPARE = 16.48;
// Date/Time Use calendar view
var VERSION_DATE_TIME_CALENDAR_VIEW = 16.49;
// version for Bulk Signature
var VERSION_BULK_SIGNATURE = 16.50;
// version add new option allow edit, allow manual for nfc and barcode
var VERSION_ALLOW_EDIT_NFC_BARCODE = 16.51;
// version add new option show button icon
var VERSION_SHOW_ICON_BUTTON = 16.52;
// version add variable nanage
var VERSION_VARIABLES_MANAGE = 16.53;
// version add disclaimer message
var VERSION_MOBILE_DISCLAIMER = 16.54;
// version add table text size
var VERSION_TABLE_TEXT_SIZE = 16.55;
// version add table text size
var VERSION_TABLE_REQUIRED_ROW = 16.56;
// version new open forms
var VERSION_NEW_OPEN_FORMS_SCREEN = VERSION_UNSUPPORT; /*=11:Open New form*/
// Strict form builder
var VERSION_STRICT_FORM_BUILDER = VERSION_UNSUPPORT;//16.57;
// Use variables by text calcs, numeric calc, relevance, and IF THEN ELSE in Build forms
var VERSION_USE_VARIABLE_BF = 16.58;
var VERSION_MYINFO_WEBCLIENT = 16.59;
// Save as incomplete status
var VERSION_SAVE_AS_INCOMPLETE_STATUS = 16.60;
// NFC/Barcode Use Action Button
var VERSION_NB_USE_ACTION_BTN = 16.61;
// Add "Uppercase lock" option for Text fields
var VERSION_UPPERCASE_LOCK = 16.62;
// show symbols
var VERSION_SHOW_SYMBOLS = 16.63;
// show lookup symbols
//CO-1736 Add Lookup Keyboard Section
var VERSION_SHOW_LK_SYMBOLS = 16.63;
// Add "Show answer text" option for ChooseOne and SelectMultiple
var VERSION_SHOW_ANSWER_TEXT = 16.64;
// Add "Cannot exceed maximum" option for the Max setting
var VERSION_CANNOT_EXCEED_MAX= 16.65;
// version add new option show button icon for date time control
var VERSION_SHOW_ICON_BUTTON_DATE_TIME = 16.66;
// ass Allow Delete for group
var VERSION_REPEAT_ALLOW_DELETE = 16.67;
// CO-895 Add the Button type setting for Date/Time fields in Grid/Table
var VERSION_SHOW_ICON_BUTTON_DATE_IN_GRID_TABLE = 16.68;
// add Add "Allow edit" & "Allow sketch" for Images
var VERSION_ALLOW_EDIT_SKETCH_IMG = 16.69;
// add Jump to if
var VERSION_SKIP_IF = 16.70;
// add Auto start in sketch
var VERSION_AUTO_START_SKETCH = 16.71;
// add action open form
var VERSION_ACTION_OPEN_FORM = 16.72;
// CO-1025 Add Start/Slider option for Counters
var VERSION_COUNTER_STAR_SLIDER = 16.73;
// CO-1069 Text Field Enhancements
var VERSION_TEXT_KEYBOARD_TYPE = 16.74;
// CO-717 Field encryption: Text form builder widget
var VERSION_TEXT_SECURITY = 16.75;
// CO-1003 Action button - New "Open form from review" action button
var VERSION_ACTION_OPEN_REVIEW = 16.76;
// using for mdtadmin > Accounts > Optional module > Zebra Keyboard Enhancement
var VERSION_ZEBRA_KEYBOARD_ENHANCEMENT = 16.77;
// CO-1086 Score By Category- Simple Drop Down
var VERSION_DROPDOWN_SCORE_ONE = 16.78;
// CO-876 Button Type Date/Time In Grid/Table
var VERSION_ICON_ACTION_DATE_TIME = 16.79;
// CO-1204 Jump after scan - Containers
var VERSION_JUMP_ACTION = 16.80;
// add action open form project
var VERSION_ACTION_OPEN_FORM_PROJECT = 16.81;
// Add dispatch data source to POD
var VERSION_DISPATCH_DATASOURCE = 16.82;
// Add Form data source to POD
var VERSION_FORM_DATASOURCE = VERSION_UNSUPPORT;
// add report excel template
var VERSION_REPORT_EXCEL_TEMPLATE = 16.83;
// CO-1284
var VERSION_REPORT_CONVERT_PDF = VERSION_UNSUPPORT;
// We want to add an option for Read only, Required, and Hide for when a form is forwarded
var VERSION_READ_ONLY_REQUIRED_HIDE_OPTION_FORWARDED = 16.84;
// We would like to add a new setting to the lookup field when using conditions
var VERSION_DISPLAY_FIRST_MATCHING = 16.85;
// CO-2741: New Setting - Display list if more than one record if found
var VERSION_DISPLAY_LIST_MATCHING = 17;
// We would like to add a new setting to the choose one field which replaces the radio buttons/answers with on/off sliders like you typically see in phone settings and things like that.
var VERSION_CHOOSE_ONE_SLIDER = 16.86;
// We want to add the ability for the required rows setting for tables to give the user the ability to specify specific columns in the table that would be required instead of defaulting to all of them
var VERSION_TABLE_REQUIRED_ROW_OPTION = 16.87;
/*
* add, parse property for barcode and nfc for POD
*/
var VERSION_NFC_BAR_PARSE_POD = 16.88;
// add Repeatable - Replace Header
var VERSION_REPEAT_REPLACE_HEADER = 16.89;
// version for beta only
var VERSION_BETA_ONLY = VERSION_UNSUPPORT;
//add version for control
var CTRL_VERSION_1_0 = 1.0;
//hide recalled function
var VERSION_RECALLED = VERSION_UNSUPPORT;
//hide recalled function
var VERSION_MARKET_PLACE_IMAGE = 1;
// Wide Graphic verion
var VERSION_WIDE_GRAPHIC = 16.91;
// Wide header drop down menu icon
var VERSION_HEADER_DROPDOWN_MENU_ICON_COLOR = 16.91;
// Wide title text color
var VERSION_TITLE_TEXT = 16.91;
// Wide title text color
var VERSION_TITLE_TEXT_COLOR = 16.91;
// Hide narrow graphic text and text controls only
var VERSION_NARROW_GRAPHIC_AND_TEXT_CONTROL = 16.91;
// CO-1611 Brother printer integration
var VERSION_ACTION_PRINT_PAGE = 16.92;
// CO-1664 Secure email widget
var VERSION_SECURE_EMAIL = 16.93;
// CO-1714 Secure forward widget
var VERSION_SECURE_FORWARD = 16.94;
// CO-1739 Retrieve Widget
var VERSION_LOOKUP_RETRIEVE = 16.95;
// CO-1738 Military time ability to use 24:00
var VERSION_MILITARY_TIME_24 = 16.96;
// CO-1867 Submit for pending dispatches
var VERSION_DISPATCH_SUBMIT = VERSION_UNSUPPORT;
// CO-1785 Wilsite Potential Enhancements
var VERSION_ALLOW_RUNNING_TOTAL = 16.96;
// CO-1886: Add HH:MM:SS setting to date/time calculations
var VERSION_SHOW_AS_HHMMSS = 16.97;
// CO-1912 Verify Setting - Location Fields
var VERSION_GPS_VERIFY_ADDRESS = 16.98;
// CO-1931 Verify Setting - Time Fields
var VERSION_TIME_VERIFY = 16.99;
// CO-1930 Scroll Bar Affecting Field Screen %
var VERSION_CUSTOM_SCROLL_BAR = VERSION_UNSUPPORT;
//Reseller demo account use thirty day demo
var RESELLER_DEMO_ACCOUNT_USE_THIRTY_DAYS_DEMO = true; // htgiang
// CO-2018 Add decimal place setting to Numeric Field
var VERSION_DEC_PLACE_NUM = 17.00;
// CO-2019 Add turn off selection outline setting to action button
var VERSION_TURN_OFF_SELECTION_OUTLINE_ACTION_BTN = 17.01;
// CO-1949 Read Only, Required, and Hide addition - On Retrieve
var VERSION_READ_ONLY_REQUIRED_HIDE_OPTION_RETRIEVE = 17.02;
// CO-2024 Open Form Enhancement - Send Data
var VERSION_OFE_SEND_DATA = 17.03;
// CO-2025 Open Form Enhancement - Return Value
var VERSION_OFE_RETURN_DATA = 17.04;
// CO-2105 Allow GPS fields in table
var VERSION_ALLOW_LOCATION_IN_TABLE = 17.05;
// CO-1868 Additional condition options for conditional lookups
var VERSION_SHOW_CMP_TYPE = 17.06
// CO-2242 Jump to issue
var VERSION_JUMP_WHEN_OPEN = 17.07
// CO-2225 add Choose-one lookup field
var VERSION_CHOOSE_ONE_LU_FIELD = 17.08
// CO-2249 Allow photos in tables
var VERSION_ALLOW_IMAGE_IN_TABLE = 17.09;
// CO-2250 Show button setting for images
var VERSION_SHOW_BTN_IMG = 17.10;
// CO-2254 Action Button Auto Stamp
var VERSION_ACTION_BTN_AUTO_STAMP = 17.11;
// CO-2370 Page widget hide settings
var VERSION_PAGE_HIDE = 17.12;
// CO-2245 Zebra QLn420 Printer Support
var VERSION_ACTION_PRINTER = 17.13;
// CO-2002 Bluetooth scan form builder widget
var VERSION_LOW_FREQUENCY_BLUETOOTH = 17.14;
// CO-2487 Square Payment Integration
var VERSION_SQUARE_PAYMENT = VERSION_UNSUPPORT;
// Add "Suppress Keyboard" option for Text fields
var VERSION_SUPPRESS_KEYBOARD = 16.62; // CO-2559:Suppress keyboard setting - Text Field
// CO-2562 Add allow replace/clear buttons
var VERSION_ALLOW_REPLACE_CLEAR = 17.16;
// CO-2603 Auto scan in honeywell device
var VERSION_AUTO_START_SCAN_OPTION = 17.17;
// CO-2633 Account Variables
var VERSION_ACCOUNT_VARIABLES_MANAGE = 17.18;
// CO-2631 Allow lookup management
var VERSION_ALLOW_LOOKUP_MANAGE = 20;
// CO-2699 Add "use company logo" button to labels
var VERSION_LABEL_USE_COMPANY_LOGO = 17.19;
// CO-2708 Remove open special from form builder
var VERSION_REMOVE_OPENSPECIAL = 17.20;
// CO-2743 Auto stamp action button UI change
var VERSION_AUTO_RUN_GROUP = 17.21;
// CO-2744 Action button close without saving or sending - New Setting
var VERSION_ACTION_DEL_FORM_JOB_LIST = 17.22;
// CO-2745 Auto collapse repeat - new setting
var VERSION_AUTO_COLLAPSE_REPEAT = 17.23;
//CO-2456: Purchase licenses instead of mobile or web users
var VERSION_NEW_LICENSES_AVAILABLE = 17.20;
// CO-2816 Duplicate validation setting for table
var VERSION_VERIFY_DUPLICATE = 17.21;
// CO-2874 Secure Calculations
var VERSION_CAL_SECURITY = 17.22;
// CO-2873 Schedule Widget
var VERSION_SCHEDULE_WIDGET = 17.24;
// CO-2983 NEW Fax Tool
var VERSION_FAX_WIDGET = VERSION_UNSUPPORT;
// CO-2856 New variable row functionality
var VERSION_TABLE_AUTO_ADD_ROW = 17.26;
// CO-3011 Data Lookup > Display first matching record with barcode button
var VERSION_DISPLAY_FIRST_MATCHING_SCAN = 17.27;
// CO-3035 Add comma setting to numerics
var VERSION_NUM_SHOW_COMMA = 17.28;
// CO-3049 Ignore scan if length < X setting
var VERSION_IGNORE_SCAN_IF = 17.29;
// CO-3054 Add parse setting to text box
var VERSION_TEXT_PARSE = 17.30;
// CO-2810:Garmin Device Integration
var VERSION_ACTION_LAUNCH_GARMIN_DIRECTIONS = VERSION_UNSUPPORT;
// CO-3057 Jump setting for side button scan
var VERSION_JUMP_WHEN_NOT_EMPTY = VERSION_UNSUPPORT;
// CO-3057:Jump setting for side button scan
var VERSION_TEXT_JUMP_ACTION = 17.31;
// CO-3162 Move field into layout grid causes data name to change
var VERSION_FORM_BUILDER_EDIT_STOP_MOVETO_CONTAINER = 17.32;
// CO-3235 New video library graphic/link
var VERSION_VIDEO_LINK_IMAGE = 17.33;
// CO-2245 Zebra QLn420 Printer Support
var VERSION_ACTION_ZEBRA_PRINT = 17.34;
// CO-2245 Zebra QLn420 Printer Support
// Ability to show or not show the caption text of the question. Most use cases will not require the caption name in the print but some might so can we make this a setting for whether to show the caption or just the answer?
var VERSION_SHOW_PRINT_CTRL_CAPTION = 17.35;
// CO-2245: Zebra QLn420 Printer Support
// allow action in table
var VERSION_ALLOW_ACTION_BUTTON_IN_TABLE = 17.36;
// CO-3358 Lookup - New Setting to show duplicate values
var VERSION_TABLE_SHOW_DUPLICATE_VALUE = 17.37;
// CO-3355: Auto Number - New Server Check Setting
var VERSION_AUTONUMBER_TYPE_ON_DEVICE = 17.38;
// CO-3397 Make scheduler fields available in calculation widget
var VERSION_START_DURATION_OPTION = 17.39;
// CO-3355 Auto Number - New Server Check Setting (trigger type)
var VERSION_AUTO_NUM_TRIGER_TYPE = 17.40;
// CO-3472 Add import of form definition from json or xml
var VERSION_IMPORT_FROM_JSON = 17.41;
// CO-3480:Retrieve Enhancement - Modify Only Settin
var VERSION_RETRIEVE_MODIFY_ONLY = 17.42;
// CO-3501 Improve scheduler variable form builder layout
var VERSION_SHOW_SCHEDULER_VARIABLE = 17.43;
// CO-3502 Add Open file action to action buttons
var VERSION_ACTION_OPEN_FILE = 17.44;
// CO-3178:Add repeatables to report writer
var VERSION_REPEAT_IN_REPORT_BUILDER = 17.45;
// CO-3502:Add Open file action to action buttons
var VERSION_ACTION_OPEN_FILE_WIDGET = 17.46;
// CO-3572 Barcode Tool New Setting - Display image
var VERSION_DISPLAY_IMAGE_OPTION = 17.47;
// CO-3571 Modify - Add
var VERSION_MODIFY_ADD_4_MODIFY_ONLY = 17.48;
// CO-3624: Report Builder- This Week/Last Week Enhan
var VERSION_RB_THIS_WEEK_ENHAN = 17.49;
// CO-3653 IF THEN ELSE- New Conditions
var VERSION_NEW_ITE_CONDITION = 17.50;
// CO-3672 Read Only - Repeatable
var VERSION_READ_ONLY_GROUP = 17.51;
// CO-3689 Add appearance option for heading active text color
var VERSION_APPEARANCE_ACTIVE_TEXT = 17.52;
// CO-2245 Zebra QLn420 Printer Support text direction
var VERSION_SUPPORT_TEXT_DIRECTION = 17.53;
// CO-3713 Report Writer - All Option
var VERSION_RW_ALL_OPTION = 17.54;
// CO-3741 Add destination fields to Action buttons
var VERSION_ACTION_SET_DESTINATION_FIELD = 17.55;
// CO-2245 Zebra QLn420 Printer Support label grayscale
var VERSION_LABEL_GRAYSCALE = VERSION_UNSUPPORT;
// CO-3735 Add option to clear repeats when variable repeats changes
var VERSION_CLEAR_REPEAT_WHEN_CHANGE = 17.56;
// CO-3769 Modify - Delete
var VERSION_RETRIEVE_MODIFY_DELETE = 17.57;
// CO-2247:Brother Printer RJ2150 Support
var VERSION_BROTHER_RJ_2150 = 17.58;
// CO-3767 Add conditional Read only
var VERSION_READ_ONLY_IF = 17.59;
// CO-3858: Barcode image does not respect answer jus
var VERSION_BARCODE_IMAGE_PDF = 17.60;
// CO-2966:IF THEN ELSE on action button field
var VERSION_ITE_ACTION_FILED = 17.61;
// CO-3835: Add parse by number of characters to barcode
var VERSION_BC_LENGTH_PARSE = 17.62;
// CO-3836: Add parse by number of characters to NFC
var VERSION_NFC_LENGTH_PARSE = 17.63;
// CO-4001: Changes in Build forms
var VERSION_GROUP_FUNCTION = 17.64;
// CO-4015: Add Extra Small option to print text
var VERSION_PL_EXTRA_SMALL = 17.65;
// CO-4054 New text setting - check duplicates
var VERSION_DUPLICAT_CHECK = 17.66;
// CO-4022 Hide If
var VERSION_HIDE_IF = 17.67;
// CO-4087: Add Get address option to GPS location
var VERSION_GPS_GET_ADDRESS = 17.68;
//CO-4086 Add user variables as destination field targets
var VERSION_ADD_USER_VARIABLE_4_DES = 17.69;
//CO-4022: Hide if (hiding the answer on a checkbox)
var VERSION_HIDE_ANSWER_ON_CHECKBOX = 17.70;
//CO-4098: Add route functions to action button
var VERSION_GOOGLE_MAP_ROUTES = 17.71;
//CO-4093: Make mobile users and web users available
var VERSION_SYSTEM_LOOKUP = 17.72;
//CO-4087 Add Get address option to GPS location
var VERSION_LOCATION_STYLE = 17.73;
//CO-4151: Add Close, open selected form action
var VERSION_ACTION_CLOSE_AND_OPEN_FORM = 17.74;
//CO-4159: Add show commas option to calculation widget
var VERSION_CAL_SHOW_COMMA = 17.75;
//CO-4098: Add route functions to action button
var VERSION_LAUNCH_GOOGLE_MAP = 17.76;
//CO-4181: Add filter to checklist
var VERSION_CHECKLIST_CONDITION = 17.77;
//CO-4080 Retrieve/Modify- Modify All Option
var VERSION_MODIFY_ALL_MATCHES = 17.78;
//CO-4227 New Text/Numeric Setting - Screen Lock
var VERSION_LOCK_SCREEN = 17.79;
//CO-4228 Printing Number of Copies
var VERSION_PRINT_NUM_COPY = 17.80;
//CO-4273: Week Ending Date - New Date Field Setting
var VERSION_SET_WEEK_ENDING_DATE = 17.81;
//CO-4297: Horizontal Print Bug
var VERSION_SUPPORT_PAPER_LENGTH = 17.82;
// CO-4332:Retrieve/modify case-sensitive lookup option
var VERSION_CASE_SENSITIVE_MATCHING = 17.83;
// CO-4399: Retrieve Enhancement - Retrieve Oldest Record
var VERSION_RETRIEVE_OLDEST_RECORD = 17.84;
// CO-4398: Modify Enhancement - Delete Submission
var VERSION_MODIFY_N_DELETE_SUBMISSION = 17.85;
// CO-4400: Auto Run Modify
var VERSION_AUTO_RUN_MODIFY = 17.86;
// CO-4372: Geofence widget
var VERSION_GEOFENCE_WIDGET = 17.87;
// CO-4374:Add Send status to GPS action button
var VERSION_SET_STATUS_TO_GPS = 17.88;
// CO-4473: Bixolon L310 Printer Support
var VERSION_PRN_BIXOLON = VERSION_UNSUPPORT;
// CO-2923:Retrieve capability removed from web client
var VERSION_RETRIEVE_WEB_CLIENT = 17.89;
// CO-4522: Inventory Widget
var VERSION_INVENTORY_WIDGET = VERSION_UNSUPPORT;
// CO-4485 Shippo Integration
var VERSION_INPUT_SHIPPING = 17.91;
// CO-4472: Brother RJ-4250 Support add extra large
var VERSION_PL_EXTRA_LARGE = 17.92;
// CO-4561 Add Audit action to Action button
var VERSION_ACTION_AUDIT = 17.93;
// CO-4610 Round down setting
var VERSION_CALCULATE_ROUND_DOWN = 17.94;
// CO-4591: Make all Load selected form actions work
var VERSION_ADD_PROJECT_SELECTOR = 17.95;
// CO-4517: MiPOS payment integration
var VERSION_PAYMENT_MIPOS = 17.96;
// CO-4667: Conditional lookup resets selected values
var VERSION_IGNORE_ACCEPT_NULL = VERSION_UNSUPPORT; //unsupport to fix CO-5378: Data lookup does not populate destination
// CO-4701: Brother P-Touch Template Support
var VERSION_BROTHER_TEMPLATE_TYPE = 17.98;
// CO-4744: New Setting - Center Control
var VERSION_GRID_TYPE_CENTER = 17.99;
//CO-4745: Label - Add as space setting
var VERSION_LABEL_ADD_AS_SPACE = 18.00;
// CO-4750 Add set destination fields option to Retrieve / Modify
var VERSION_RETRIEVE_MODIFY_SET_DESTINATION_FIELD = 18.01;
// CO-4786: New Print Setting - Inverted Text
var VERSION_DIRECTION_INVERTED = 18.02;
// CO-4827: Adding Text Justification To Image Button
var VERSION_IMAGE_CAPTION_JUSTIFY = 18.03;
// CO-4832: Add File types for Print label
var VERSION_ZEBRA_PRINT_TYPE = 18.04;
// CO-4823: New Print Setting - Custom Paper
var VERSION_CUSTOM_PAPER = VERSION_UNSUPPORT;
// CO-4768: Add Clear on Retrieve option to Table
var VERSION_TABLE_CLEAR_ON_RETRIEVE = 18.05;
// CO-4846: Auto Run Submit - Two New Options For Retrieve
var VERSION_AUTO_RUN_WHEN_RETRIEVE = 18.06;
// CO-4896: Add auto stamp image fields
var VERSION_AUTO_STAMP_IMG = 18.07;
// CO-4896: Add auto stamp image fields
var VERSION_AUTO_STAMP_IMG_DIR = VERSION_UNSUPPORT;
// CO-4789:Add Retrieve form actions to action button
var VERSION_CLOSE_AND_RETRIEVE = 18.08;
// CO-4789:Add Retrieve form actions to action button
var VERSION_HIDE_4_GRID = 18.09;
// CO-4917: Choose one can not be used in if then else
var VERSION_CHOOSE_ONE_ITE_DES = 18.10;
// CO-4894: Add Refresh on retrieve option to data lookup
var VERSION_REFRESH_ON_RETRIEVE = 18.11;
// CO-4973: Report Writer - Page Break by Group By
var VERSION_BREAK_PER_GROUP_BY = 18.12;
// CO-4870: Add button images to action button image
var VERSION_BUTTON_SCREEN_SIZE = 18.13;
// CO-5021: Add set destination fields option to trig
var VERSION_TRIGGER_ACTION_N_LOGIC = 18.14;
// CO-4693:Make conditional lookups respect Limit to
var VERSION_EVALUATE_ERT = 18.15;
// CO-5131:New Rounding Setting - Time-Date/Time fiel
var VERSION_OPTION_MINUTE_INTERVAL_ROUNDING = 18.16;
// CO-4485: Shippo Integration
var VERSION_ADD_TEXT_CHOOSE_ONE_TO_CARRIER_N_LEVEL = VERSION_UNSUPPORT;
// CO-4485: Shippo Integration
var VERSION_RELEVANCE_4_SHIPPO = 18.17;
// CO-5220: Add re-run calculations to Modify
var VERSION_RE_RUN_CALCULATIONS = 18.18;
// CO-5262: Attach form action button
var VERSION_ATTACH_FORM = 18.19;
// CO-5306: Add Altitude to image auto stamp
var VERSION_AUTO_STAMP_ALT = 18.20;
// CO-5265: Add option to select camera app to Image
var VERSION_IMG_CAMERA_APP = 18.21;
// CO-5217: Add SMS and Reply to Email widget
var VERSION_SUPPORT_SMS = VERSION_UNSUPPORT;
// CO-5351: Add Limit to interval values option to time minute interval
var VERSION_LIMIT_TO_INTERVAL_VALUE = 18.23;
// CO-5217: Add SMS and Reply to Email widget
var VERSION_SUPPORT_SMS_REPLY_LINK = VERSION_SUPPORT_SMS;
// CO-5405: Track related records in form based looku
var VERSION_TRACK_AS_RELATED_RECORD = VERSION_UNSUPPORT;
// CO-5357 Add Messages widget
var VERSION_MESSAGE_WIDGET = VERSION_UNSUPPORT;
// CO-5460: Hide Values In Mobile Printing
var VERSION_HIDE_IN_PDF_4MOBILE = 18.26;
// CO-5516: Split hide in print options between app
var VERSION_HIDE_PDF_WEB = 18.27;
// CO-5527: Add Email every time form is submitted op
var VERSION_SEND_REPORT = VERSION_UNSUPPORT;
// CO-5699: Brother PJ863 Integration
var VERSION_PRN_BROTHER_PJ863 = 18.28;
// CO-5708: "Save current form as incomplete" setting
var VERSION_SAVE_AS_INCOMPLETE = 18.29;
// CO-5730: Retrieve All Capability
var VERSION_RETRIEVE_RECORD_TYPE = 18.30;
// CO-5751: Add trip variables to form
var VERSION_ADD_TRIP_VAIABLES = 18.31;
// CO-5718: Modify-Add Fields
var VERSION_MODIFY_ADD_FIELDS = 18.32;
// CO-5616: Add option to select camera app to Image
var VERSION_IOS_CAMERA_APP = 18.33;
// CO-5919: ZD #108563: Brother print error PJ-883
var VERSION_PRN_BROTHER_PJ883 = 18.34;
// CO-6049: Implement Small, Medium Large image size options for GPS Location
var VERSION_GPS_BUTTON_SIZE = 18.35;
// CO-5983: Add data lookup as destination field option for barcode parse
var VERSION_ADD_LOOKUP_DESTINATION_BARCODE = 18.36;
// CO-6106: Add Get Geotab data action to Action button
var VERSION_GET_GEOTAB_DATA = 18.37;
//CO-6114: Brother 883 Printing Issues
var VERSION_ACTION_PRINT_ON_ONE_PAGE = 18.38;
//CO-5867: Required Repeat - New Setting
var VERSION_REQUIRED_REPEAT = 18.39;
//CO-6218: Add Repeatable summary widget
var VERSION_REPEATABLE_SUMMARY = 18.40;
// CO-6284: Add Image viewer control
var VERSION_IMAGE_VIEWER = 18.41;
// CO-6306: Change Android third party apps to be listed in queries
var VERSION_ANDROID_APP = 18.42;
// CO-6355: Add options to action button appearance
var VERSION_APPEARANCE_BUTTON_BORDER_COLOR = 18.43;
// CO-6364:Add image option to standard action button
var VERSION_SHOW_IMAGE_ICON_IN_STANDARD_BTN = 18.44;
// CO-6391: Make iOS URL Scheme populate from text calculation
var VERSION_IOS_APP_SELECT_OPTION = 18.45;
// CO-6433: Add Send text message Action
var VERSION_SEND_TEXT_MESSAGE = 18.46;
// CO-6354: Date Field Month Ending Option
var VERSION_SET_MONTH_ENDING_DATE = 18.47;
// CO-4602: Add Hide option to Data lookup
var VERSION_ADD_HIDE_OPTION_TO_DATA_LOOKUP = 18.48;
// CO-6535: Add result field to date/time calculation
var VERSION_CALCULATE_RESULT = 18.50;
// CO-6590: Improve lookup performance from web
var VERSION_LOAD_IMMEDIATELY = 18.52;
// CO-3486: Add attachment widget
var VERSION_ATTACHMENT = 18.49;
var VERSION_USING_CDATA = VERSION_ATTACHMENT;
// CO-6570: Add Arrival time option to Navigate with GPS
var VERSION_GOOGLE_MAP_ROUTES_ARRIVAL_TIME = 18.51;
// CO-6775: Add Email every time dispatched form is Pending option
var VERSION_EMAIL_WHEN_DISPATCH_PENDING = 18.53;
// CO-6861: Investigate making the date/time entry possible with keyboard only (no picker)
var VERSION_DO_NOT_USE_PICKER = 18.54;
// CO-6912: Summary Container - Add Filter
var VERSION_REPEATABLE_SUMMARY_FILTER = 18.55;
// CO-6916: Add integration with Clear Quote in Android app
var VERSION_CLEAR_QUOTE = 18.56;
// CO-7081: Add Log in with Microsoft button to Advanced security
var VERSION_ADVANCE_MICROSOFT_LOGIN = 18.57;
// CO-7216: Add Geotab add-in configuration page to Manage tab
var VERSION_GEOTAB_ADD_INS = 18.60;
// CO-7216: Add Geotab add-in configuration page to Manage tab
var VERSION_GEOTAB_ADD_INS = 18.60;
// CO-7233: Add ClearQuote status field to action
var VERSION_CLEAR_QUOTE_STATUS = 18.61;
// CO-7266: Schedule Widget Autofill Issue (add Refresh on dispatch)
var VERSION_REFRESH_ON_DISPATCH = 18.62;
// CO-2736 Zoom level - Location Fields
var VERSION_GPS_ZOOM_LEVEL = 21;
// CO-2737 Display map - Location Fields
var VERSION_GPS_DISPLAY_MAP = 22;
//CO-3854: New Action Button - Close and Reload Form
var VERSION_ACTION_CLOSE_AND_RELOAD = 1;
//CO-3866: Make all Allow Edit form builder options
var VERSION_MAKE_ALLOW_EDIT = 1;
//CO-3855: Suppress Messages - Web/Mobile Forms
var VERSION_SHOW_MOBILE_SUPPRESS_MESSAGE = VERSION_UNSUPPORT;
//CO-6089: Add packageCode column to mdt accounts
var SHOW_MDT_PACKAGE_COLUMN = 1;
//CO-2895: Add Reseller option to restrict customer from add/remove licenses
var SHOW_RESELLER_PROPERTY_ADD_REMOVE_UNITS = 9999;
var SHOW_RESELLER_PROPERTY_ADD_REMOVE_USERS = 9999;
var SHOW_RESELLER_PROPERTY_AMERI_QUEST = 9999;
//CO-2896: Customer should not be able to upgrade account if assigned to a reseller
var NO_UPGRADE_FOR_ACCOUNT_OF_RESELLER = 1;
//CO-2895: Add Reseller option to restrict customer from add/remove licenses
var RESTRICT_RESELLER_CHANGE_LICENSES_CREDITS = 1;
var VERSION_FAX_ACCOUNT_MANAGE = VERSION_UNSUPPORT;
var VERSION_SMS_ACCOUNT_MANAGE = 1;
var EXCEL_TEMPLATE_DYNAMIC_ROW_MAX = 1000; // CO-3452
var currentCtrlVersion = CTRL_VERSION_1_0;
var currentVersion = VERSION_NEW_WEB_APP;
var currentWebAppVersion = VERSION_2_0;
var isUseEditByFancybox = true;
var isOpenDialogWhenAddNew = true;
var FILIB_ICON_IMAGE_CANVAS = false;
var FILIBBUTTON_ICON_IMAGE_CANVAS = true;
// define form version for build form
var FORM_VERSION = '4.1';
var REPORT_VERSION = '4.0';
var ACCOUNT_SIMPLE_FILTER = 0;
var ACTION_CHECK_UPDATES = 11;
// CO-877: Convert from Channels to FireBase
var USE_FIREBASE_API = true;
var usingZoho = true;
var constantOperaVersionMin=1;
var constantMiseVersionMin=8;
var constantChromeVersionMin=4;
var constantSafariVersionMin=4;
var constantFirefoxVersionMin=3;
var constantMozillaVersionMin=3;
var constantFirefoxLatestVersion=4;
var constantIELatestVersion=9;
var constantChromeLatestVersion=11;
var constantSafariLatestVersion=5;
var dispatchFlg = false;
var USER_ROLE_EMPTY = 0;
var USER_ROLE_DISPATCH = 1;
var USER_ROLE_VIEW_DATA = 2;
var USER_ROLE_BUILD_FORM = 4;
var USER_ROLE_MANAGE = 8;
var USER_ROLE_BUILD_REPORT = 16;
var USER_ROLE_DISPATCH_TO_EMAIL_FILL_AND_SEND = 32;
var USER_ROLE_DISPATCH_TO_EMAIL_FILL_AND_SEND_FLAG = 64;
var USER_ROLE_ACCOUNT_MANAGE = 128;
var USER_ROLE_ALL = 255;
var USER_ROLE_FULL = Number.MAX_VALUE;
var WU_START_TAB_DISPATCH = 1;
var WU_START_TAB_VIEW_DATA = 2;
var WU_START_TAB_BUILD_FORM = 4;
var WU_START_TAB_FORMS = 8;
var WU_START_TAB_PROJECT = 16;
var WU_START_TAB_MOBILE_UNIT = 32;
var WU_START_TAB_WEB_USER = 64;
var WU_START_TAB_WEB_APP = 128;
var WU_START_TAB_ACCOUNT = 256;
var WU_START_TAB_BUILD_REPORT = 512;
var WU_START_TAB_DISPATCH_SCHEDULER = 1000;
var CONST_ACCOUNT_PRIVILEGE_PENDING = 0;
var CONST_ACCOUNT_PRIVILEGE_READ = 2;
var CONST_ACCOUNT_PRIVILEGE_EDIT = 4;
var CONST_ACCOUNT_PRIVILEGE_ADMIN = 8;
var CONST_ACCOUNT_PRIVILEGE_DENY = 16;
var CONST_ACCOUNT_PRIVILEGE_BUILD = 65536;
var CONST_ACCOUNT_PRIVILEGE_MANAGE = 1;
var CONST_ACCOUNT_PRIVILEGE_WEB_APP = 131072;
var CONST_ACCOUNT_PRIVILEGE_UNUSED = 262144;
var CONST_ACCOUNT_PRIVILEGE_ALL = 31;
var WU_START_TAB_NAME_DISPATCH = "Dispatch";
var WU_START_TAB_NAME_VIEW_DATA = "View data";
var WU_START_TAB_NAME_BUILD_FORM = "Build forms";
var WU_START_TAB_NAME_FORMS = "Forms";
var WU_START_TAB_NAME_PROJECT = "Projects";
var WU_START_TAB_NAME_MOBILE_UNIT = "Mobile users";
var WU_START_TAB_NAME_WEB_USER = "Web users";
var WU_START_TAB_NAME_WEB_APP = "Form links";
var WU_START_TAB_NAME_ACCOUNT = "Account";
var WU_START_TAB_NAME_DISPATCH_SCHEDULER = "Dispatch Scheduler";
var WU_START_TAB_NAME_BUILD_REPORT = "Build reports";
var USER_PRIVILEGE_NEW_READ = 1;
var USER_PRIVILEGE_NEW_ADD_EDIT = 2;
//for notices value
var NOTICE_FOR_WEB = 1;
var NOTICE_FOR_MOBILE = 2;
var NOTICE_FOR_DISPATCH = 16;
var NOTICE_FOR_VIEWDATA = 32;
var NOTICE_FOR_FORMBUILDER = 64;
var NOTICE_FOR_SYSTEMMANAGER = 128;
var SOURCE_CODE_OF_DOFORMS = 1;
var SOURCE_CODE_OF_MAJELLA = 2;
var SOURCE_CODE_OF_DELAGUA = 3;
var SOURCE_CODE_OF_MYTASK = 4;
var SOURCE_CODE = SOURCE_CODE_OF_DOFORMS;
var getServerHTTPSURL = function(){
if(window.location.hostname == '127.0.0.1' || window.location.hostname == 'localhost') {
return window.location.hostname + "/";
} else if(window.location.port == '' || window.location.port == '80'){
return 'https://' + window.location.hostname + "/";
}else{
return 'https://' + window.location.hostname + ":" + window.location.port + "/";
}
}
var WEBSITE_TITLE_OF_DOFORMS = "doForms";
var WEBSITE_TITLE_OF_MAJELLA = "Majella Insight";
var WEBSITE_TITLE_OF_DELAGUA = "DelAgua";
var WEBSITE_TITLE_OF_MYTASK = "EasyData";
var WEBSITE_TITLE = WEBSITE_TITLE_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
WEBSITE_TITLE = WEBSITE_TITLE_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
WEBSITE_TITLE = WEBSITE_TITLE_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
WEBSITE_TITLE = WEBSITE_TITLE_OF_MYTASK;
}
var WEBSITE_NAME_OF_DOFORMS = "doForms";
var WEBSITE_OF_MAJELLA = "Majella Insign";
var WEBSITE_NAME_OF_DELAGUA = "DelAgua";
var WEBSITE_NAME_OF_MYTASK = "EasyData";
var WEBSITE_NAME = WEBSITE_NAME_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
WEBSITE_NAME = WEBSITE_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
WEBSITE_NAME = WEBSITE_NAME_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
WEBSITE_NAME = WEBSITE_NAME_OF_MYTASK;
}
var WEBSITE_NAME2 = WEBSITE_NAME;
if((typeof isRUMode) != 'undefined' && isRUMode){
WEBSITE_NAME = idRep[2];
}
var SPECIAL_WEBSITE_NAME_OF_DOFORMS = "do Forms";
var SPECIAL_WEBSITE_OF_MAJELLA = "Majella Insign";
var SPECIAL_WEBSITE_NAME_OF_DELAGUA = "DelAgua";
var SPECIAL_WEBSITE_NAME_OF_MYTASK = "EasyData";
var SPECIAL_WEBSITE_NAME = SPECIAL_WEBSITE_NAME_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
SPECIAL_WEBSITE_NAME = SPECIAL_WEBSITE_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
SPECIAL_WEBSITE_NAME = SPECIAL_WEBSITE_NAME_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
SPECIAL_WEBSITE_NAME = SPECIAL_WEBSITE_NAME_OF_MYTASK;
}
var VERSION_TEXT_OF_DOFORMS = "8.5";
var VERSION_TEXT_OF_MAJELLA = "2.2.0";
var VERSION_TEXT_OF_DELAGUA = "2.3.0";
var VERSION_TEXT_OF_MYTASK = "2.7.0";
var VERSION_TEXT = VERSION_TEXT_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
VERSION_TEXT = VERSION_TEXT_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
VERSION_TEXT = VERSION_TEXT_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
VERSION_TEXT = VERSION_TEXT_OF_MYTASK;
}
var COPYRIGHT_TEXT_OF_DOFORMS = "Copyright © 2010-2025. doForms, Inc. All rights reserved.";
var COPYRIGHT_TEXT_OF_MAJELLA = "Copyright © 2012-2015. Majella Global Technologies, LLC. All rights reserved. "
+ "Copyright © 2010-2025. doForms, Inc. All rights reserved. ";
var COPYRIGHT_TEXT_OF_DELAGUA = "Copyright © 2010-2025. doForms, Inc. All rights reserved. "
+ "Copyright © 2013-2017. DelAgua Health Ltd. All rights reserved. ";
var COPYRIGHT_TEXT_OF_MYTASK = "Copyright © 2010-2025. doForms, Inc. All rights reserved. "
+ "Copyright © 2013-2015. myTask Ltd. All rights reserved. ";
if((typeof isRUMode) != 'undefined' && isRUMode){
COPYRIGHT_TEXT_OF_DOFORMS = idRep[245].replace(/\$1/g, 'doForms').replace(/\$2/g, 'Inc').replace(/\$3/g, ' 2010-2017');
COPYRIGHT_TEXT_OF_MAJELLA = idRep[245].replace(/\$1/g, 'Majella Global Technologies,').replace(/\$2/g, 'LLC').replace(/\$3/g, ' 2012-2014') + ' ';
COPYRIGHT_TEXT_OF_MAJELLA += COPYRIGHT_TEXT_OF_DOFORMS + ' ';
COPYRIGHT_TEXT_OF_DELAGUA = COPYRIGHT_TEXT_OF_DOFORMS + ' ';
COPYRIGHT_TEXT_OF_DELAGUA += idRep[245].replace(/\$1/g, 'DelAgua Health').replace(/\$2/g, 'Ltd').replace(/\$3/g, ' 2013-2014') + ' ';
COPYRIGHT_TEXT_OF_MYTASK = COPYRIGHT_TEXT_OF_DOFORMS + ' ';
COPYRIGHT_TEXT_OF_MYTASK += idRep[245].replace(/\$1/g, 'myTask').replace(/\$2/g, 'Ltd').replace(/\$3/g, ' 2013-2014') + ' ';
}
var COPYRIGHT_TEXT = COPYRIGHT_TEXT_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
COPYRIGHT_TEXT = COPYRIGHT_TEXT_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
COPYRIGHT_TEXT = COPYRIGHT_TEXT_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
COPYRIGHT_TEXT = COPYRIGHT_TEXT_OF_MYTASK;
}
var WELLCOM_TEXT = "Welcome to "+ WEBSITE_NAME;
var SUPPORT_TEXT_DOFORMS = lbl_suport_text_doforms + " "
+ lbl_suport_link_doforms + " .";
var SUPPORT_TEXT_MAJELLA = "We recommend that you use this Help Manual or contact support at " + CONST_SUPPORT_MAIL_MAJELLAGT + " ";
var SUPPORT_TEXT_DELAGUA = "We recommend that you use this Help Manual or contact support at " + CONST_SUPPORT_MAIL_DELAGUAHEALTH + " ";
var SUPPORT_TEXT_MYTASK = "We recommend that you use this Help Manual or contact support at " + CONST_SUPPORT_MAIL_MYTASK + " ";
if((typeof isRUMode) != 'undefined' && isRUMode){
SUPPORT_TEXT_MAJELLA = idRep[851]
.replace(/\$1/g, '')
.replace(/\$2/g, ' ')
.replace(/\$3/g, '')
.replace(/\$4/g, CONST_SUPPORT_MAIL_MAJELLAGT);
SUPPORT_TEXT_DELAGUA = idRep[851]
.replace(/\$1/g, ' ')
.replace(/\$2/g, ' ')
.replace(/\$3/g, '')
.replace(/\$4/g, CONST_SUPPORT_MAIL_DELAGUAHEALTH);
SUPPORT_TEXT_MYTASK = idRep[851]
.replace(/\$1/g, ' ')
.replace(/\$2/g, ' ')
.replace(/\$3/g, '')
.replace(/\$4/g, CONST_SUPPORT_MAIL_MYTASK);
}
var SUPPORT_TEXT = SUPPORT_TEXT_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
SUPPORT_TEXT = SUPPORT_TEXT_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
SUPPORT_TEXT = SUPPORT_TEXT_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
SUPPORT_TEXT = SUPPORT_TEXT_MYTASK;
}
$('.setupWizzard_4 .item_2').empty().append(SUPPORT_TEXT);
var BUTTON_LOGO_TEXT_OF_DOFORMS = "Use doForms Logo";
var BUTTON_LOGO_TEXT_OF_MAJELLA = "Use MI Logo";
var BUTTON_LOGO_TEXT_OF_DELAGUA = "Use DelAgua Logo";
var BUTTON_LOGO_TEXT_OF_MYTASK = "Use EasyData Logo";
var BUTTON_LOGO_TEXT = BUTTON_LOGO_TEXT_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
BUTTON_LOGO_TEXT = BUTTON_LOGO_TEXT_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
BUTTON_LOGO_TEXT = BUTTON_LOGO_TEXT_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
BUTTON_LOGO_TEXT = BUTTON_LOGO_TEXT_OF_MYTASK;
}
var HTTPS_ADDRESS = CONST_DOFORMS_URL + "/";
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
HTTPS_ADDRESS = 'https://' + WEBSITE_ADDRESS_OF_MAJELLA + '/';
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
HTTPS_ADDRESS = 'https://' + WEBSITE_ADDRESS_OF_DELAGUA + '/';
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
HTTPS_ADDRESS = 'https://' + WEBSITE_ADDRESS_OF_MYTASK + '/';
}
var WEBSITE_ADDRESS = WEBSITE_ADDRESS_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
WEBSITE_ADDRESS = WEBSITE_ADDRESS_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
WEBSITE_ADDRESS = WEBSITE_ADDRESS_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
WEBSITE_ADDRESS = WEBSITE_ADDRESS_OF_MYTASK;
}
var LOGO_FILE_OF_DOFORMS = "doForm_logo.png";
var LOGO_FILE_OF_MAJELLA = "majella_logo.png";
var LOGO_FILE_OF_DELAGUA = "delagua_logo.png";
var LOGO_FILE_OF_MYTASK = "mytask_logo.png";
var LOGO_FILE = LOGO_FILE_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
LOGO_FILE = LOGO_FILE_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
LOGO_FILE = LOGO_FILE_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
LOGO_FILE = LOGO_FILE_OF_MYTASK;
}
var LOGO_MOBILE_FILE_OF_DOFORMS = "../img/mobile_logo.png";
var LOGO_MOBILE_FILE_OF_MAJELLA = "majella_logo.png";
var LOGO_MOBILE_FILE_OF_DELAGUA = "../img/delagua_logo_mobile.png";
var LOGO_MOBILE_FILE_OF_MYTASK = "../img/mytask_logo_mobile.png";
var LOGO_MOBILE_FILE = LOGO_MOBILE_FILE_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
LOGO_MOBILE_FILE = LOGO_MOBILE_FILE_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
LOGO_MOBILE_FILE = LOGO_MOBILE_FILE_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
LOGO_MOBILE_FILE = LOGO_MOBILE_FILE_OF_MYTASK;
}
var LOGO_SIGNIN_OF_DOFORMS = "/img/doForm_logo4.png";
var LOGO_SIGNIN_OF_MAJELLA = "/img/majella_logo.png";
var LOGO_SIGNIN_OF_DELAGUA = "/img/delagua_logo.png";
var LOGO_SIGNIN_OF_MYTASK = "/img/mytask_logo.png";
var LOGO_SIGNIN = LOGO_SIGNIN_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
LOGO_SIGNIN = LOGO_SIGNIN_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
LOGO_SIGNIN = LOGO_SIGNIN_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
LOGO_SIGNIN = LOGO_SIGNIN_OF_MYTASK;
}
var SUBPORT_PAGE = SUBPORT_PAGE_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
SUBPORT_PAGE = SUBPORT_PAGE_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
SUBPORT_PAGE = SUBPORT_PAGE_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
SUBPORT_PAGE = SUBPORT_PAGE_OF_MYTASK;
}
var BANNER_COLOR_OF_DOFORMS = "#FFFFFF";
var BANNER_COLOR_OF_MAJELLA = "#FFFFFF";
var BANNER_COLOR_OF_DELAGUA = "#FFFFFF";
var BANNER_COLOR_OF_MYTASK = "#FFFFFF";
var BANNER_COLOR = BANNER_COLOR_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
BANNER_COLOR = BANNER_COLOR_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
BANNER_COLOR = BANNER_COLOR_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
BANNER_COLOR = BANNER_COLOR_OF_MYTASK;
}
var BANNER_INFO_COLOR_OF_DOFORMS = "#3B8DEF";
var BANNER_INFO_COLOR_OF_MAJELLA = "#3B8DEF";
var BANNER_INFO_COLOR_OF_DELAGUA = "#3B8DEF";
var BANNER_INFO_COLOR_OF_MYTASK = "#FFFFFF";
var BANNER_INFO_COLOR = BANNER_INFO_COLOR_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
BANNER_INFO_COLOR = BANNER_INFO_COLOR_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
BANNER_INFO_COLOR = BANNER_INFO_COLOR_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
BANNER_INFO_COLOR = BANNER_INFO_COLOR_OF_MYTASK;
}
var BANNER_INFO_BORDER_COLOR_OF_DOFORMS = "#1B78E6";
var BANNER_INFO_BORDER_COLOR_OF_MAJELLA = "#1B78E6";
var BANNER_INFO_BORDER_COLOR_OF_DELAGUA = "#1B78E6";
var BANNER_INFO_BORDER_COLOR_OF_MYTASK = "#FFFFFF";
var BANNER_INFO_BORDER_COLOR = BANNER_INFO_BORDER_COLOR_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
BANNER_INFO_BORDER_COLOR = BANNER_INFO_BORDER_COLOR_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
BANNER_INFO_BORDER_COLOR = BANNER_INFO_BORDER_COLOR_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
BANNER_INFO_BORDER_COLOR = BANNER_INFO_BORDER_COLOR_OF_MYTASK;
}
var BANNER_INFO_MOUSEOVER_COLOR_OF_DOFORMS = "#154C8E";
var BANNER_INFO_MOUSEOVER_COLOR_OF_MAJELLA = "#154C8E";
var BANNER_INFO_MOUSEOVER_COLOR_OF_DELAGUA = "#154C8E";
var BANNER_INFO_MOUSEOVER_COLOR_OF_MYTASK = "#EEEEEE";
var BANNER_INFO_MOUSEOVER_COLOR = BANNER_INFO_MOUSEOVER_COLOR_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
BANNER_INFO_MOUSEOVER_COLOR = BANNER_INFO_MOUSEOVER_COLOR_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
BANNER_INFO_MOUSEOVER_COLOR = BANNER_INFO_MOUSEOVER_COLOR_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
BANNER_INFO_MOUSEOVER_COLOR = BANNER_INFO_MOUSEOVER_COLOR_OF_MYTASK;
}
var BANNER_INFO_TEXT_COLOR_OF_DOFORMS = "#FFFFFF";
var BANNER_INFO_TEXT_COLOR_OF_MAJELLA = "#FFFFFF";
var BANNER_INFO_TEXT_COLOR_OF_DELAGUA = "#FFFFFF";
var BANNER_INFO_TEXT_COLOR_OF_MYTASK = "#333333";
var BANNER_INFO_TEXT_COLOR = BANNER_INFO_TEXT_COLOR_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
BANNER_INFO_TEXT_COLOR = BANNER_INFO_TEXT_COLOR_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
BANNER_INFO_TEXT_COLOR = BANNER_INFO_TEXT_COLOR_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
BANNER_INFO_TEXT_COLOR = BANNER_INFO_TEXT_COLOR_OF_MYTASK;
}
var BANNER_GRADIENT_OF_DOFORMS = true;
var BANNER_GRADIENT_OF_MAJELLA = true;
var BANNER_GRADIENT_OF_DELAGUA = true;
var BANNER_GRADIENT_OF_MYTASK = false;
var BANNER_GRADIENT = BANNER_GRADIENT_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
BANNER_GRADIENT = BANNER_GRADIENT_OF_MAJELLA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
BANNER_GRADIENT = BANNER_GRADIENT_OF_DELAGUA;
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
BANNER_GRADIENT = BANNER_GRADIENT_OF_MYTASK;
}
var RESELLER_DISCOUNT_OF_DOFORMS = 0;
var RESELLER_DISCOUNT_OF_MAJELLA = 0;
var RESELLER_DISCOUNT_OF_DELAGUA = 100;
var RESELLER_DISCOUNT_OF_MYTASK = 40;
var RESELLER_DISCOUNT = RESELLER_DISCOUNT_OF_DOFORMS;
var PARTNER_DISCOUNT = RESELLER_DISCOUNT_OF_DOFORMS;
if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
RESELLER_DISCOUNT = RESELLER_DISCOUNT_OF_MYTASK;
PARTNER_DISCOUNT = RESELLER_DISCOUNT_OF_MYTASK;
}
var LBL_DEFAULT_TEXT_COLOR = "#000000";
var LBL_DEFAULT_SHADE_COLOR = "#FFFFFF";
var LBL_DEFAULT_LINE_COLOR = "#000000";
var LBL_DEFAULT_BUTTO_BORDER_COLOR = "#000000";
var LBL_DEFAULT_ANSWER_BG_COLOR = "#FFFFFF";
var LBL_DEFAULT_ANSWER_TEXT_COLOR = "#000000";
var LBL_DEFAULT_SLIDER_ACTIVE_COLOR = "#4999da";
var FORMVIEW_BORDER_COLOR = '#666666';
var DEFAULT_DATE_FORMAT = "mm/dd/yyyy";
var DEFAULT_DATE_TIME_FORMAT_12H = "mm/dd/yyyy hh:MM:ss TT";
var DEFAULT_DATE_TIME_FORMAT_24H = "mm/dd/yyyy HH:MM:ss";
var DEFAULT_TIME_FORMAT_12H = "hh:MM:ss TT";
var DEFAULT_TIME_FORMAT_24H = "HH:MM:ss";
var WEB_CLIENT_REVIEW_INCOMPLETE_TAB = "Incomplete";
var WEB_CLIENT_REVIEW_COMPLETED_TAB = "Completed";
var WEB_CLIENT_REVIEW_SENT_TAB = "Sent";
var CALCULATION_INCREASE = 1;
var CALCULATION_DECREASE = -1;
var placeHolder = function(object){
//fix placeholder for ie8, ie9
var ua = navigator.userAgent.toLowerCase();
//var browserName = '';
//var result = true;
if ( ua.indexOf( "msie" ) != -1 ) {
//browserName = "IE";
var ver = ua.substr(ua.indexOf('msie') + 5, 3);
if(parseFloat(ver) <= 9){
//result = false;
$(object + " :input[placeholder]").placeholder();
}
}
}
$('title').text(WEBSITE_NAME);
//$('.loadingScreen h1 strong').text(WEBSITE_NAME);
//$('.loadingScreen p.version').text('Version ' + VERSION_TEXT);
$('.openDialog .doformspublic .description').text("Select a form from the " + WEBSITE_NAME + " public library");
$('.previewFormAll .me_top02_content').text(WEBSITE_NAME);
$('.previewFormAll .me_top02_content').text(WEBSITE_NAME);
$('.footer .copyright').empty().append(COPYRIGHT_TEXT);
$('#lblWelcome.ititle').empty().append(WELLCOM_TEXT);
$('.setup_wizard_contain .title').text(WEBSITE_NAME + " Setup Wizard");
$('.website_name').text(WEBSITE_NAME);
$('.special_website_name').empty().append(SPECIAL_WEBSITE_NAME);
$('#accountSmartphoneBrandingText').attr(CONST_VALUE,WEBSITE_NAME);
$('.contact_address').empty().append(" " + lbl_contact_us + " ");
$('.mdtproxySupportLink').attr('href',SUBPORT_PAGE);
//change logo for mdtadmin, logo for user will change later by isLogoExist function.
//$('#main_menu .logo img').attr('src','../img/' + LOGO_FILE + '?x=' + (new Date()));
$('#header').css('background-color', BANNER_COLOR);
$('.forgot_password_section .forgot_content .account').text(WEBSITE_NAME + " Account");
$('.signinDialog .signinheader img').attr("src",LOGO_SIGNIN);
if(SOURCE_CODE != SOURCE_CODE_OF_DOFORMS) {
$('.manage_account').empty();
$('.mdtCommunity').empty();
$('.addOnLink').empty();
}
if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
} else if(SOURCE_CODE == SOURCE_CODE_OF_MYTASK) {
TERM_OF_USED_ADDRESS = TERM_OF_USED_ADDRESS_4_EASYDATA;
PRIVACY_POLICY_ADDRESS = PRIVACY_POLICY_ADDRESS_4_EASYDATA;
$('a.terms-of-use').attr('href',TERM_OF_USED_ADDRESS);
$('a.privacy-policy').attr('href',PRIVACY_POLICY_ADDRESS);
}
//if(SOURCE_CODE == SOURCE_CODE_OF_DOFORMS) {
// $('.signinDialog form input#signin_account').css('margin-left', '21em');
//} else if(SOURCE_CODE == SOURCE_CODE_OF_MAJELLA) {
// $('.signinDialog form input#signin_account').css('margin-left', '23.3em');
//} else if(SOURCE_CODE == SOURCE_CODE_OF_DELAGUA) {
// $('.signinDialog form input#signin_account').css('margin-left', '24em');
//}
const_sign_in_title = const_sign_in_title.replace(/\$1/g, WEBSITE_NAME);
const_sign_in_title_not_doforms = const_sign_in_title_not_doforms.replace(/\$1/g, WEBSITE_NAME);
if(SOURCE_CODE == SOURCE_CODE_OF_DOFORMS) {
if (!$('.signinDialog .reset_password')) {
$('.signinDialog .message').text(const_sign_in_title);
}
} else {
$('.signinDialog .message').text(const_sign_in_title_not_doforms);
$('.signinDialog .toggleSignupLink').parent().empty();
}
$('.signinDialog .url').text(WEBSITE_ADDRESS + '/');
web_app_const_sign_in_title = web_app_const_sign_in_title.replace(/\$1/g, WEBSITE_NAME);
$('.signinDialog .fvmessage').text(web_app_const_sign_in_title);
var constantProductOrderFree_old = 'doForms-Free';
var constantProductOrderFree_new = 'Standard';
var constantProductOrderFree = 'Standard (free)';
var constantProductOrderFreePlus = "doForms-Free-Plus"
var constantProductOrder3 = 'doForms-3';
var constantProductOrder10 = 'doForms-10';
var constantProductOrder20 = 'doForms-20';
var constantProductOrder30 = 'doForms-30';
var constantProductOrder100 = 'doForms-100';
var constantProductOrder500 = 'doForms-500';
var INTEGER_MAXLENGTH = 19;
var CREDIT_MINLENGTH = 15;
var CREDIT_MAXLENGTH = 16;
var INTEGER_MAXLENGTH_NOT_LIMIT = -1;
var DECINAM_MAXLENGTH = 300;
var DECINAM_MAXLENGTH_NOT_LIMIT = -1;
var INTEGER_MIN_GROUP_REPEAT = 1;
var INTEGER_MAX_GROUP_REPEAT = 20;
var INTEGER_MIN_NUMBER_OF_PRIOR = 1;
var INTEGER_MAX_NUMBER_OF_PRIOR = 20;
var INTEGER_MIN_TABLE_ROW = 1;
var INTEGER_MAX_TABLE_ROW = 20;
var flagHTTPS = false;
var autoCompleteArray = {};
//var CONST_WEB_APP_CREDITS = 100;
var CONST_WEB_APP_CREDITS_PURCHASE = 100;
var MOBILE_UNIT_SUBMIT_BC_MAX = 20;
var WEBUSER_SUBMIT_BC_MAX = 20;
var SEARCH_FIELD_MAX = 100;
var SEARCH_FIELD_NANE = '__SEARCHABLE_';
var a4ScreenWidth = '8.5in';
var a4ScreenHeight = '11in';
var MEDIA_SERVER = '';
var DOCS_SERVER = CONST_SUPPORT_DOFORMS + '/hc/en-us/articles';
var CONST_DISPATCH_STATUS_EMAILED = 'Emailed';
var CONST_DISPATCH_STATUS_SMS = 'Messaged';
var GDEBUG = false;
var TEST_NO_HTTPS = GDEBUG;
var LOCALHOST_AS_HTTPS = false;//turn of GDEBUG. Use http://localhost as https://mydoforms...
var NOT_SUBMIT_TO_BC = false;//true: not submit card info, purchase info to BC site, false: submit card info, purchase info to BC site
var IS_MAINTENANCE = false;
var deviceList = undefined;
var manageDeviceCurrentID = "";
var manageDeviceMaxOrder = 0;
if (!utils)
var utils = {};
if (!utils.seq){
utils.seq = {};
utils.seq.currentId = 0;
utils.seq.currentReportId = 0;
}
if (!searchTextInfo)
var searchTextInfo = {};
var geofences = {};
geofences.fillMobileGeofence = function(){
}
var actionButtonAddingCustomIcon = false;
var hasInitialization = false;
var SPRICE = {};
SPRICE["DISPATCH"] = {};
SPRICE["DISPATCH"]["1"] = 14.95;
SPRICE["DISPATCH"]["12"] = 149.95;
SPRICE["PROFESSIONAL"] = {};
SPRICE["PROFESSIONAL"]["1"] = 9.95;
SPRICE["PROFESSIONAL"]["12"] = 99.95;
SPRICE["DIS01"] = {};
SPRICE["DIS01"]["1"] = 14.95;
SPRICE["DIS01"]["12"] = 149.95;
SPRICE["PRO01"] = {};
SPRICE["PRO01"]["1"] = 9.95;
SPRICE["PRO01"]["12"] = 99.95;
SPRICE["STD02"] = {};
SPRICE["STD02"]["1"] = 9.95;
SPRICE["STD02"]["12"] = 99.95;
SPRICE["ADV02"] = {};
SPRICE["ADV02"]["1"] = 14.95;
SPRICE["ADV02"]["12"] = 149.95;
SPRICE["PRE02"] = {};
SPRICE["PRE02"]["1"] = 19.95;
SPRICE["PRE02"]["12"] = 199.95;
SPRICE["SOL03"] = {};
SPRICE["SOL03"]["1"] = 19.95;
SPRICE["SOL03"]["12"] = 199.95;
function getParent() {
var p = {};
try{
if('true' == viewCopy){
// Do nothing
} else if('true' == dispatchCopy){ // CO-3396
p.dispatchFlg = true;
if(previewRecordKey){
p.dispatchCOPYId = previewRecordKey;
} else{
p.dispatchCOPYId = '';
}
} else if(!previewEmbedHtml) {
p = parent;
var tmp = p.dispatchCOPYId;
} else {
p.$ = {};
p.$.fancybox = {};
p.$.fancybox.close = function(){};
}
//console.log('getParent: '+ previewEmbedHtml + '/' + dispatchCopy + '/' + previewRecordKey);
} catch(e){
p = {};
}
return p;
}
$(function()
{
utils.seq.getUniqueId = function(){
utils.seq.currentId = utils.seq.currentId + 1;
return utils.seq.currentId;
};
utils.seq.resetUniqueId = function(number){
utils.seq.currentId = number;
};
utils.seq.getCurrentId = function(number){
return utils.seq.currentId;
};
utils.seq.getReportUniqueId = function(){
utils.seq.currentReportId = utils.seq.currentId + 1;
return utils.seq.currentId;
};
utils.seq.resetReportUniqueId = function(number){
utils.seq.currentReportId = number;
};
utils.seq.getCurrentReportId = function(number){
return utils.seq.currentReportId;
};
});
var waitForDataLoading = function(show){
if(show){
if(actionClickInfo && actionClickInfo.start == true){
var cssTop = 90;
if(actionClickInfo.screenY <= (actionClickInfo.screenHeight / 2)){
cssTop = actionClickInfo.clientY + 20;
}else{
cssTop = actionClickInfo.clientY - 180;
}
var bodyHeight = $('body').height();
if(cssTop + 100> bodyHeight){
cssTop = cssTop - 180;
}
var styleBk = $(CONST_SCREEN_WAIT).attr('style');
styleBk += ';top: ' + cssTop + 'px !important; z-index: 9999;';
$(CONST_SCREEN_WAIT).attr('style', styleBk);
}else{
$(CONST_SCREEN_WAIT).css('top', '90px');
}
$(CONST_SCREEN_WAIT).jqmShow();
}else{
if($(CONST_SCREEN_WAIT).css(CONST_CSS_KEY_DISPLAY) !== CONST_VALUE_NONE) {
if(!(fvDataNS && fvDataNS.isLoading)){
//if(!fvDataNS.isExecuteControlChangeRunning){
$(CONST_SCREEN_WAIT).jqmHide();
//}
}
}
}
};
var isFreeAccount = function(){
if(isVersion1_1()){
if(!isPaidAccount()) {
return true;
}
}
return false;
};
var isFreeAccountExactly = function(){
if(isVersion1_1()){
if(!isPaidAccount()) {
return true;
}
}
return false;
};
var waitForDataLoadingWithMsg = function(show, message){
if(show){
//document.getElementById('msgWaiting').innerHTML = message;
$(CONST_SCREEN_WAIT).jqmShow();
}else{
$(CONST_SCREEN_WAIT).jqmHide();
}
};
var getStatus = function(request){
if(BrowserDetect.browserName() == 'Safari'){
var endofjson = request.responseText.indexOf('}');
if(endofjson <= 0){
return -1;
}
var json = jQuery.parseJSON(request.responseText.substring(0, endofjson + 1));
return json.errorcode;
/*if(request.status > 0){
return request.status;
}
if(request.statusText == null){
return -1;
}else{
return parseInt(request.statusText, 10);
}*/
}else{
return request.status;
}
};
var BrowserDetect = {
browserName: function () {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
return this.browser;
},
init: function () {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
this.version = this.searchVersion(navigator.userAgent)
|| this.searchVersion(navigator.appVersion)
|| "an unknown version";
this.OS = this.searchString(this.dataOS) || "an unknown OS";
},
searchString: function (data) {
for (var i=0;i= 6) return false;
// var countSymbol = (contrlVal.match(/#/g) || []).length;
// var countA = (contrlVal.match(/A/g) || []).length;
if(textChar == undefined || textChar == ''){
textChar = 'a';
}
if(numChar == undefined || textChar == ''){
numChar = 'n';
}
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
// if(keynum == 16){ // Shift
// return true;
// }
keychar = String.fromCharCode(keynum);
symbolcheck = /\W/g;
numcheck = /\d/;
capitalChar = /[A-Z]/;
if(keychar === textChar || keychar === numChar) {
return true;
}
if(keychar == ' '){ // space
return false;
}
return symbolcheck.test(keychar) || numcheck.test(keychar) || capitalChar.test(keychar);
/* Update 2018.11.13 Old checking
if(keynum == 17){ // Ctrol
// if(countA >= 1) return false;
return false;
}
if(keynum == 65){ // a
// if(countA >= 1) return false;
return true;
}
if(keynum == 35){ // 3
// if(countSymbol >= 5) return false;
return true;
}
if(keynum == undefined){
return true;
}
return false;
*/
};
// CO-2251 - Validation
var customFormatValidation = function(customFormatVal, textChar, numChar){
if(customFormatVal.length <= 0) return false;
if(textChar == undefined || textChar == ''){
textChar = 'a';
}
if(numChar == undefined || textChar == ''){
numChar = 'n';
}
///[^A-Zan\W\d]/g
var regExp = "/[^A-Z" + textChar + numChar + "\W\d]/g";
// CO-2251 - Update validation just accept A-Z a n symbol and digital
var countNotAllowed = (customFormatVal.match(regExp) || []).length;
if(countNotAllowed > 0) {
return false;
}
return true;
};
var customFormatDefaultValTest = function(pattern, defaultVal, textChar, numChar) {
/* var testStr = 'Aa-1201';
var newRegex = new RegExp('^' + customFormatDefaultValidation('Aa-12nn'), 'i');
var newRegex1 = new RegExp(customFormatDefaultValidation('Aa-12nn') + '$', 'i'); */
var newRegex = new RegExp('^' + customFormatDefaultValidation(pattern, textChar, numChar) + '$', 'g');
return newRegex.test(defaultVal);
}
var customFormatDefaultValidation = function(regexStr, textChar, numChar){
if(textChar == undefined){
textChar = 'a';
}
if(numChar == undefined){
numChar = 'n';
}
var regexStrSplit = regexStr.split('');
regexStrSplit = regexStrSplit.map(function(Str){
switch(Str) {
case textChar:
return '[a-zA-Z]{1}';
break;
case numChar:
return '[0-9]{1}';
break;
default:
return '(' + Str + '){1}';
break;
}
return Str;
});
// var regex = new RegExp(regexStrSplit.join(''), 'i');
var regex = regexStrSplit.join('');
return regex;
};
// CO-2251 - Input checking for default value
var onlyWordandNumber = function(control, e) {
var keynum;
var keychar;
var numcheck;
var ctrlVal = $(control).val();
var replacedCtrlVal = ctrlVal.replace(/[^a-zA-Z0-9]/g, '');
$(control).val(replacedCtrlVal);
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8){
return true;
}
if(keynum == undefined){
return true;
}
if(keynum == 45){
return false;
}
keychar = String.fromCharCode(keynum);
checkingPattern = /([^a-zA-Z0-9])/g;
return !checkingPattern.test(keychar);
}
var onlyNumberDigitAndSymbols = function(control, e){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8){
return true;
}
if(keynum == undefined){
return true;
}
if(keynum == 45){
return true;
}
keychar = String.fromCharCode(keynum);
numcheck = /[a-zA-Z]/;
return !numcheck.test(keychar);
};
var onlyAlpha = function(control, e){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8){
return true;
}
if(keynum == undefined){
return true;
}
if(keynum == 45){
return false;
}
keychar = String.fromCharCode(keynum);
numcheck = /[a-zA-Z]/g;
return numcheck.test(keychar);
};
var onlyNumber = function(control){
var KEYPRESS = function(event){
if(!noNumbers(event)) event.preventDefault();
};
$(control).off('keypress',KEYPRESS);
$(control).keypress(KEYPRESS);
var KEYDOWN = function(event){
if(event.ctrlKey == true || (event.shiftKey == true && event.keyCode == 45)) {
try{
event.preventDefault();
}catch(Err) {}
}
};
$(control).off('keydown',KEYDOWN);
$(control).keydown(KEYDOWN);
};
var isOnlyNumber = function(text){
var numcheck = /\D/;
var result = numcheck.test(text.trim());
return !result;
}
var isOnlyNumberComa = function(text){
var numcheck = /^[0-9,;]+$/;
var result = numcheck.test(text.trim());
return result;
}
var isMobileNumber = function(text){
text = jQuery.trim(text);
var numcheck = /\D/;
if(text.length < 10 || text.length > 20 || numcheck.test(text)){
return false;
}
return true;
}
var noNumbersAndSpace = function(e)
{
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == 8 || keynum == undefined){
return true;
}
keychar = String.fromCharCode(keynum);
numcheck = /[0-9\s]/;
return numcheck.test(keychar);
};
var onlyNumberAndSpace = function(control){
var KEYPRESS = function(event){
if(!noNumbersAndSpace(event)) event.preventDefault();
};
$(control).off('keypress',KEYPRESS);
$(control).keypress(KEYPRESS);
var KEYDOWN = function(event){
if(event.ctrlKey == true || (event.shiftKey == true && event.keyCode == 45)) {
try{
event.preventDefault();
}catch(Err) {}
}
};
$(control).off('keydown',KEYDOWN);
$(control).keydown(KEYDOWN);
};
var isOnlyNumberAndSpace = function(text){
var numcheck = /[0-9\s]*/;
var result = numcheck.test(text);
return result;
}
var onlyNumberSpaceComma = function(control){
var KEYPRESS = function(event){
if(!noNumberSpaceComma(event)) event.preventDefault();
};
$(control).off('keypress',KEYPRESS);
$(control).keypress(KEYPRESS);
var KEYDOWN = function(event){
if(event.ctrlKey == true || (event.shiftKey == true && event.keyCode == 45)) {
try{
event.preventDefault();
}catch(Err) {}
}
};
$(control).off('keydown',KEYDOWN);
$(control).keydown(KEYDOWN);
}
var noNumberSpaceComma = function(e){
try {
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == 8 || keynum == undefined){
return true;
}
keychar = String.fromCharCode(keynum);
if(keychar == ' ' // space
|| keychar == ','){ // comma
return true;
}
else{
var numcheck = /\d/;
return numcheck.test(keychar);
}
}
catch (e) {
return true;
}
}
//var noMobileNumbers = function(e)
//{
// var keynum;
// var keychar;
// var numcheck;
//
// if(window.event) // IE
// {
// keynum = e.keyCode;
// }
// else if(e.which) // Netscape/Firefox/Opera
// {
// keynum = e.which;
// }
// if(keynum == 8 || keynum == undefined){
// return true;
// }
// keychar = String.fromCharCode(keynum);
// numcheck = /[0-9+]/;
// return numcheck.test(keychar);
//};
//
//var onlyMobileNumber = function(control){
// var KEYPRESS = function(event){
// if(!noMobileNumbers(event)) event.preventDefault();
// };
// $(control).off('keypress',KEYPRESS);
// $(control).keypress(KEYPRESS);
//
// var KEYDOWN = function(event){
// if(event.ctrlKey == true || (event.shiftKey == true && event.keyCode == 45)) {
// try{
// event.preventDefault();
// }catch(Err) {}
// }
// };
// $(control).off('keydown',KEYDOWN);
// $(control).keydown(KEYDOWN);
//};
var noAlphaNumbers = function(e)
{
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum <= 13 || keynum == undefined){
return true;
}
keychar = String.fromCharCode(keynum);
numcheck = /[0-9a-zA-Z]/;
return numcheck.test(keychar);
};
var onlyAlphaNumber = function(control){
var KEYPRESS = function(event){
if(!noAlphaNumbers(event)) event.preventDefault();
};
$(control).off('keypress', KEYPRESS);
$(control).keypress(KEYPRESS);
var KEYDOWN = function(event){
var keynum;
if(window.event) // IE
{
keynum = event.keyCode;
}
else if(event.which) // Netscape/Firefox/Opera
{
keynum = event.which;
}
if(event.ctrlKey == true || (event.shiftKey == true && keynum == 45)){
try{
event.preventDefault();
}catch(Err) {}
}
};
$(control).off('keydown',KEYDOWN);
$(control).keydown(KEYDOWN);
};
var isOnlyAlphaNumber = function(text){
numcheck = /[^0-9a-zA-Z]/g;
var result = numcheck.test(text);
return !result;
}
var onlyIntegerNumber = function(control, e, maxlength){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8){
return true;
}
if(keynum == undefined){
return true;
}
if(keynum == 45){
if(control.value.indexOf('-') < 0){
control.value = '-' + control.value;
} else {
while(control.value.indexOf('-') >= 0){
control.value = control.value.replace('-','');
}
}
$(control).trigger('change');
return false;
}
if(control.value[0] == '-' && control.value[1] == '0') {
control.value = '-';
$(control).trigger('change');
return true;
}else if(control.value == '0'){
control.value = '';
}else if(String.fromCharCode(keynum) == '0' && control.value != '' && control.selectionStart == 0 && control.selectionEnd == 0){
return false;
}
if(maxlength >=0 && ((control.value.indexOf('-') < 0 && control.value.length >= maxlength) || (control.value.indexOf('-') == 0 && control.value.length > maxlength))){
if(control.selectionStart !== control.selectionEnd){
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return numcheck.test(keychar);
}
return false;
}else{
if(control.value[0] == '-'){
if(control.selectionStart == 0 && control.selectionEnd == 0){
return false;
}
}
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return numcheck.test(keychar);
}
};
var onlyNumberGTZero = function(control, e, maxlength){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8){
return true;
}
if(keynum == undefined){
return true;
}
if(keynum == 45){
return false;
}
if(control.value == '' && String.fromCharCode(keynum) == '0'){
return false;
}
if(control.value == '0'){
control.value = '';
}else if(String.fromCharCode(keynum) == '0' && control.value != '' && control.selectionStart == 0 && control.selectionEnd == 0){
return false;
}
if(maxlength >=0 && control.value.length > maxlength){
if(control.selectionStart !== control.selectionEnd){
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return numcheck.test(keychar);
}
return false;
}else{
keychar = String.fromCharCode(keynum);
numcheck = /\d/;
return numcheck.test(keychar);
}
};
var onlyMobileNumber = function(control, e){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8){
return true;
}
if(keynum == undefined){
return true;
}
if(keynum == 45){
return true;
}
keychar = String.fromCharCode(keynum);
numcheck = /[0-9\(\)+-\s]/;
return numcheck.test(keychar);
};
var isValidMobileNumber = function(text){
text = jQuery.trim(text);
if(!text || text.length <= 0 || text.length > 20) {
return false;
}
//var pattern = /^[A-Za-z0-9_\-.']+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-.]+$/; // CO-4596: Double report writer emails
var pattern = /^[0-9\(\)\+\-\s]+$/; // CO-4596: Double report writer emails
if(pattern.test(text)){
return true;
}
return false;
}
function pointNotAtFirst(control, event){
if(control.value.substring(0,1) == '.'
|| (control.value.substring(1,2) == '.'
&& control.value.substring(0,1) == '-')){
control.value = control.value.replace('.','0.');
}
}
function onlyDecimalNumber(control){
$(control).keypress(function(event){
if(!inputTextOnlyDecimalNumber(control, event, DECINAM_MAXLENGTH_NOT_LIMIT)) event.preventDefault();
});
$(control).keydown(function(event){
if(event.ctrlKey == true || event.shiftKey == true){
try{
event.preventDefault();
}catch(Err) {}
}
});
$(control).keyup(function(event){
pointNotAtFirst(control, event);
});
}
function isDecimalNumber(value) {
var temp = parseFloat(value);
if(isNaN(temp)) {
return false;
}
if(temp != value) return false;
return true;
}
function onlyPositiveDecimalNumber(control){
$(control).keypress(function(event){
if(!inputTextOnlyPositiveDecimalNumber(control, event)) event.preventDefault();
});
$(control).keydown(function(event){
if(event.ctrlKey == true || event.shiftKey == true){
try{
event.preventDefault();
}catch(Err) {}
}
});
$(control).keyup(function(event){
pointNotAtFirst(control, event);
});
}
var noCtrlKey = function(event){
if(event.ctrlKey == true || event.shiftKey == true){
try{
event.preventDefault();
}catch(Err){
return false;
}
}
};
var handleLookupToListKeyboardEvent = function(control){
var KEYDOWN = function(event){
try{
var keynum;
if(window.event) // IE
{
keynum = event.keyCode;
}
else if(event.which) // Netscape/Firefox/Opera
{
keynum = event.which;
}
if(keynum != 46 // delete key
&& keynum != 8){ // back key
event.preventDefault();
}
}
catch(Err) {}
};
$(control).off('keydown',KEYDOWN);
$(control).keydown(KEYDOWN);
}
var handleIntegerKeyboardEvent = function(control){
var KEYPRESS = function(event){
if(!numOnly(event)) event.preventDefault();
};
$(control).off('keypress',KEYPRESS);
$(control).keypress(KEYPRESS);
var KEYDOWN = function(event){
if(event.ctrlKey == true || event.shiftKey == true){
try{
event.preventDefault();
}catch(Err) {}
}
};
$(control).off('keydown',KEYDOWN);
$(control).keydown(KEYDOWN);
};
var handleDecimalKeyboardEvent = function(control){
var KEYPRESS = function(event){
if(!numDotOnly(control, event)) event.preventDefault();
};
$(control).off('keypress',KEYPRESS);
$(control).keypress(KEYPRESS);
var KEYDOWN = function(event){
if(event.ctrlKey == true || event.shiftKey == true) {
try{
event.preventDefault();
}catch(Err) {}
}
};
$(control).off('keydown',KEYDOWN);
$(control).keydown(KEYDOWN);
};
var handleShiftKeyboardEvent = function(control){
var KEYPRESS = function(event){
if(!specialChar(event)) event.preventDefault();
};
$(control).off('keypress',KEYPRESS);
$(control).keypress(KEYPRESS);
};
var handleAlphaKeyboardEvent = function(control){
var KEYPRESS = function(event){
if(!alphaOnly(event)) event.preventDefault();
};
$(control).off('keypress',KEYPRESS);
$(control).keypress(KEYPRESS);
};
var handleNewPaymentEvent = function(control){
$(control).off().keyup(function(event){
this.value = cc_format(this.value);
}).keypress(function(event) {
return onlyNumberDigit(this,event);
});
};
var deleteEnable = function(ctr, e){
var keynum;
if(window.event) { // IE
keynum = e.keyCode;
}
else if(e.which) { // Netscape/Firefox/Opera
keynum = e.which;
}
if(keynum == 46){
$(ctr).val('');
// --- re-calculate expression
if(ctr.id != undefined){
var arrData = ctr.id.split('@');
var tmpCal = arrData[0];
var _rowIndex = '';
if(arrData.length > 1){ // fixed table case
try {
_rowIndex = '' + (parseInt(arrData[1])-1);
}
catch (e) { }
}
updateCalQuestionsStructure(tmpCal, '', true, '', _rowIndex);
}
}
}
var specialChar = function(e)
{
var validChar = true;
var keynum;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
/* If input char is in this list
* '<', 60 '>', 62 '"', 34 '\', 92 ''', 39 '/', 47
* ':', 58 ';', 59 ',', 44 '-', 45 '+', 43
* '_', 95 '{', 123 '}', 125 '[', 91 '=', 61
* ']', 93 '~', 126 '*', 42 '^', 94 '(', 40
* '%', 37 '$', 36 '#', 35 '!', 33 ')', 41
*/
// var listForbidenChar = [60,58,95,93,37,
// 62,59,123,126,36,
// 34,44,125,42,35,
// 92,45,91,94,33,
// 39,43,61,47]; //,40,41
// var keyboard = e.keyCode;
// if (navigator.userAgent.toLowerCase().indexOf("firefox") != -1 )
// keyboard = e.charCode;
//
// if($.inArray(keyboard, listForbidenChar) >= 0)
// validChar = false;
return validChar;
};
var numOnly = function(e)
{
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum <= 13 || keynum == undefined){
return true;
}
keychar = String.fromCharCode(keynum);
numcheck = /[0-9]/;
return numcheck.test(keychar);
};
var numDotOnly = function(control, e){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum <= 13 || keynum == undefined){
return true;
}
if(keynum == 46){
if(control.value.indexOf('.') < 0)
control.value = control.value + '.';
return false;
}
keychar = String.fromCharCode(keynum);
numcheck = /[0-9]/;
return numcheck.test(keychar);
};
var alphaOnly = function(e)
{
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum <= 13 || keynum == undefined){
return true;
}
keychar = String.fromCharCode(keynum);
numcheck = /[\sa-zA-Z]/;
return numcheck.test(keychar);
};
var cleanDecNum = function(control){
var value = control.value || '';
var valueTmp = '';
var i = 0;
if(value == ''){
return '';
}
if(value.indexOf('%') == (value.length - 1)){
return value;
}
if(value[0] == '-'){
valueTmp = '-';
i = 1;
}
var selStart = control.selectionStart;
var addNo = false;
while(value[i] != undefined){
if(addNo == false && value[i] != '0'){
addNo = true;
}
if(addNo){
if(value[i] == '.'){
if(valueTmp == '' || valueTmp == '-'){
valueTmp += '0';
}
}
valueTmp += value[i];
}
i++;
}
if(valueTmp == ''){
if(value[0] == '0'){
valueTmp = '0';
}
}else if(valueTmp == '-'){
if(value[1] == '0'){
valueTmp = '-0';
}
}
if(value != valueTmp){
if(selStart > 0 && valueTmp[0] != '-'){
selStart --;
}
control.value = valueTmp;
control.selectionStart = selStart;
control.selectionEnd = selStart;
return valueTmp;
}else{
return value;
}
}
/**
* Fix bug 0018809: Decimal - Could not input minus sign combine decimal number
*/
var inputTextOnlyDecimalNumber = function(control,e,maxlength){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8 || keynum == undefined){
/*var charAtEnd = control.value[control.selectionEnd] || '';
if(control.selectionStart == 0 && charAtEnd == '0'){
return false
}else if(control.selectionStart == 1 && charAtEnd == '0'){
return false
}else if(control.selectionStart == 2 && control.value[0] == '-' && charAtEnd == '0'){
return false
}*/
return true;
}
// Special treating with -0.
if (control.value === '-0' && keynum === 46) {
return true;
}
if(keynum == 45 && control.value[0] != '.'){
var selStart = control.selectionStart;
var selEnd = control.selectionEnd;
if(control.value.indexOf('-') < 0){
control.value = '-' + control.value;
selStart ++;
selEnd ++;
control.selectionStart = selStart;
control.selectionEnd = selEnd;
} else {
while(control.value.indexOf('-') >= 0){
control.value = control.value.replace('-','');
}
selStart --;
selEnd --;
control.selectionStart = selStart;
control.selectionEnd = selEnd;
}
return false;
}
if(keynum == 46){
if(control.value.match(/[.]/) != undefined){
if(control.selectionStart != control.selectionEnd){
var tmpVal = control.value.substring(control.selectionStart, control.selectionEnd);
if(tmpVal.match(/[.]/) != undefined){
return true;
}
}
return false;
}else if(control.value.length == 0){
return true;
}
}
var posPont = control.value.indexOf('.');
if(control.value[0] == '-'){
if(control.selectionStart == 0 && control.selectionEnd == 0){
return false;
}
if(control.selectionStart == 1 && control.selectionEnd == 1){
if(String.fromCharCode(keynum) == '0' && control.value.length > 1){
return false;
}
}
if(control.value[1] == 0){
if(String.fromCharCode(keynum) == '0'){
if(control.selectionStart <= posPont){
return false;
}
}else if(control.selectionStart <= posPont && control.selectionStart > 1){
return false;
}
}
if(posPont < 0){
if(control.value[1] == '0'){
control.value = '-'
}
}
}else if(control.value[0] == '0'){
if(control.selectionStart == 0 && control.selectionEnd == 0){
if(String.fromCharCode(keynum) == '0'){
return false;
}
}
if(control.value[0] == 0){
if(String.fromCharCode(keynum) == '0'){
if(control.selectionStart <= posPont){
return false;
}
}else if(control.selectionStart <= posPont && control.selectionStart > 1){
return false;
}
}
if(posPont < 0){
if(control.value[0] == '0'){
control.value = ''
}
}
}
if(maxlength >=0){
var valTmp = control.value;
valTmp = valTmp.replace('-', '');
valTmp = valTmp.replace('.', '');
if(valTmp.length >= maxlength){
if(keynum == 46 && control.value.match(/[.]/) == undefined){
}else{
return false;
}
}
}
keychar = String.fromCharCode(keynum);
numcheck = /[\d.]/;
return numcheck.test(keychar);
};
var inputTextOnlyPositiveDecimalNumber = function(control,e){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == 8 || keynum == undefined){
return true;
}
if(keynum == 46 && ((control.value.match(/[.]/) != undefined) || control.value.length == 0)){
return false;
}
keychar = String.fromCharCode(keynum);
numcheck = /[\d.]/;
return numcheck.test(keychar);
};
var expectSpaceAndDashes = function(e)
{
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
keychar = String.fromCharCode(keynum);
numcheck = /[\s\\]/;
return !numcheck.test(keychar);
};
var expectSpaceAndDashesControl = function(control){
var KEYPRESS = function(event){
if(!expectSpaceAndDashes(event)) event.preventDefault();
};
$(control).off('keypress', KEYPRESS);
$(control).keypress(KEYPRESS);
};
var isTextExpectSpaceAndDashes = function(text){
numcheck = /[\s\\]/g;
var result = numcheck.test(text);
return !result;
}
var checkMobileNumber = function(mobileNumber) {
var text = mobileNumber.toLowerCase();
if(text == 'available') {
return true;
} else if(text.length == 10 && text.match(/[^0-9]/) == null) {
return true;
}
return false;
};
var textLimitKeyPress = function(event, field, maxlen) {
if(event.keyCode == 8 || event.keyCode == 46 || event.ctrlKey){
return true;
}else{
return (field.value.length < maxlen);
}
};
var textLimitKeyUp = function(event, field, maxlen) {
if(field.value.length > maxlen){
field.value = field.value.substring(0, maxlen);
}
};
var viewImages = function(_href, _kind){
var image = createNewImage();
image.src = _href; //eval()
var wid = 0;
var hei = 0;
if(_kind == 'A' || _kind == 'V'){
window.open(_href,'','');
}
else{
$(image).one('load', function() {
wid = parseInt(image.width, 10);
hei = parseInt(image.height, 10);
var newWindow;
if(wid > 0 && hei > 0){
newWindow = window.open(_href,'','width='+ wid +',height='+ hei +',resizable=1');
} else{
newWindow = window.open(_href,'','');
}
// CO-1946: View Data Signature Error (transparent background image, Chrome only)
if(navigator.userAgent.indexOf('Chrome') != -1){
newWindow.onload = function() {
$(newWindow.document).find("img").css('background','White');
};
/*newWindow.document.write('imageViewer ');
newWindow.document.write('');
newWindow.document.write(' ');
newWindow.document.write('');*/
}
})
.each(function() {
if(this.complete) $(this).load();
})
.error(function (result){
window.open(_href,'','');
});
}
}
var createNewImage = function(){
var _img;
try {
_img = new Image();
} catch (e) {
// IE
_img = document.createElement("img");
}
return _img;
}
/**
* type 1 : 'MM/dd/yyyy'
* type 2 : 'MM/dd/yyyy hh:mm:ss AM|PM'
* type 3 : 'hh:mm:ss AM|PM'
*/
var partternDate = /[01]?[\d]{1}\/[0-3]?[\d]{1}\/[\d]{4}/;
var partternTime = /[0-2]?[\d]{1}:[0-6]?[\d]{1}:[0-6]?[\d]{1} (AM|PM)/i;
var partternHourandMinusandSecond = /[0-2]?[\d]{1}:[0-6]?[\d]{1}:[0-6]?[\d]{1}/;
var partternDateTime = /[01]?[\d]{1}\/[0-3]?[\d]{1}\/[\d]{4} [0-2]?[\d]{1}:[0-6]?[\d]{1}:[0-6]?[\d]{1} (AM|PM)/i;
var DATE_TYPE_TIME = 3;
var DATE_TYPE_DATE_TIME = 2;
var DATE_TYPE_DATE = 1;
var monthname=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var isValidDateTime = function(value, type){
if(value == 'today' || value == CONS_MILITARY_24){
return true;
}
if(type == DATE_TYPE_DATE_TIME){
if(partternDateTime.test(value)){
var values = value.split(' ');
if(values.length != 3) return false;
if(!checkDate(values[0])){
return false;
}
if(!checkHourandMinuteandSecond(values[1])){
return false;
}
if(!checkSession(values[2])){
return false;
}
return true;
}
} else if(type == DATE_TYPE_TIME){
if(!checkTime(value)){
return false;
}
return true;
}else{
if(!checkDate(value)){
return false;
}
return true;
}
}
function makeTwoDigitText(str){
var text = '00' + str;
text = text.substr(text.length - 2, 2);
return text;
}
var parseStringToInt = function(text){
while(text.charAt(0) == '0'){
text = text.substring(1);
}
return parseInt(text, 10);
}
var checkDate = function(value){
if(partternDate.test(value)){
var values = value.split('/');
if(values.length == 3){
var month = parseInt(values[0],10);
var day = parseInt(values[1],10);
var year = parseInt(values[2],10)
if(isNaN(month) || isNaN(day) || isNaN(year)){
return false;
}
if(month < 1 || month > 12) return false;
if(year < 1000 || month > 9999) return false;
var maxday = 31;
if(month == 4 ||month == 6 ||month == 9 ||month == 11){
maxday = 30;
} else if(month == 2){
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){
maxday = 29;
} else {
maxday = 28;
}
}
if(day < 1 || day > maxday) return false;
return true;
}
}
}
var checkTime = function(value){
if(partternTime.test(value)){
var values = value.split(' ');
if(!checkHourandMinuteandSecond(values[0])){
return false;
}
if(!checkSession(values[1])){
return false;
}
return true;
}
return false;
}
var checkHourandMinuteandSecond = function(value){
if(partternHourandMinusandSecond.test(value)){
var values = value.split(':');
if(values.length != 3) return false;
var time = parseInt(values[0],10);
var minute = parseInt(values[1],10);
var second = parseInt(values[2],10);
if(isNaN(time) || isNaN(minute) || isNaN(second)) return false;
if(time < 0 || time > 12 || minute < 0 || minute > 60 || second < 0 || second > 60) return false;
return true;
}
}
var checkSession = function(value){
value = value.toUpperCase();
if(value != 'AM' && value != 'PM') return false;
return true;
}
var convertStringToDateTime = function(value){
if(partternDateTime.test(value)){
var arrayVal = value.split(' ');
if(arrayVal.length == 3){
var values = arrayVal[0].split('/');
if(values.length == 3){
// var month = 0;
// for(i = 0; i < monthname.length; i++){
// if(monthname[i].toUpperCase() == values[0].toUpperCase()){
// month = i + 1;
// break;
// }
// }
var month = parseInt(values[0],10);
var day = parseInt(values[1],10);
var year = parseInt(values[2],10)
if(isNaN(month) || isNaN(day) || isNaN(year)){
return undefined;
}
if(month < 1 || month > 12) return undefined;
if(year < 1000 || month > 9999) return undefined;
var maxday = 31;
if(month == 4 ||month == 6 ||month == 9 ||month == 11){
maxday = 30;
} else if(month == 2){
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){
maxday = 29;
} else {
maxday = 28;
}
}
if(day < 1 || day > maxday) return undefined;
var session = arrayVal[2].toUpperCase();
if(session != 'AM' && session != 'PM') return undefined;
var hourMinusSecond = arrayVal[1].split(':');
if(hourMinusSecond.length != 3) return undefined;
var hour = parseInt(hourMinusSecond[0],10);
if(isNaN(hour) || hour < 0 || hour > 12) return undefined;
if(session == 'AM' && hour == 12) hour = 0;
if(session == 'PM' && hour != 12) hour += 12;
var minus = parseInt(hourMinusSecond[1],10);
if(isNaN(minus) || minus < 0 || minus > 59) return undefined;
var second = parseInt(hourMinusSecond[2],10);
if(isNaN(second) || second < 0 || second > 59) return undefined;
var date = new Date(0);
date.setDate(day);
date.setMonth(month - 1);
date.setFullYear(year);
date.setHours(hour);
date.setMinutes(minus);
date.setSeconds(second);
return date;
}
}
}
return undefined;
}
var convertStringToDate = function(value){
if(partternDate.test(value)){
var values = value.split('/');
if(values.length == 3){
// var month = 0;
// for(i = 0; i < monthname.length; i++){
// if(monthname[i].toUpperCase() == values[0].toUpperCase()){
// month = i + 1;
// break;
// }
// }
var month = parseInt(values[0],10) - 1;
var day = parseInt(values[1],10);
var year = parseInt(values[2],10)
if(isNaN(day) || isNaN(year)){
return undefined;
}
if(month < 0 || month > 11) return undefined;
if(year < 1000 || year > 9999) return undefined;
var maxday = 31;
if(month == 3 ||month == 5 ||month == 8 ||month == 10){
maxday = 30;
} else if(month == 1){
if(year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)){
maxday = 29;
} else {
maxday = 28;
}
}
if(day < 1 || day > maxday) return undefined;
var date = new Date(0);
date.setDate(day);
date.setMonth(month);
date.setUTCFullYear(year);
return date;
}
}
return undefined;
}
function convertStringToTime(value){
if(partternTime.test(value)){
var timeSession = value.split(' ');
var session = timeSession[1].toUpperCase();
if(timeSession.length != 2) return undefined;
var hourMinusSecond = timeSession[0].split(':');
if(hourMinusSecond.length != 3) return undefined;
if(isNaN(hourMinusSecond[0]) || isNaN(hourMinusSecond[1])
|| isNaN(hourMinusSecond[2]) || (session != 'AM' && session != 'PM'))
return undefined;
var hour = parseInt(hourMinusSecond[0],10);
if(hour < 0 || hour > 12) return undefined;
if(session == 'PM') hour += 12;
var minus = parseInt(hourMinusSecond[1],10);
if(minus < 0 || minus > 59) return undefined;
var second = parseInt(hourMinusSecond[2],10);
if(second < 0 || second > 59) return undefined;
var date = new Date(0);
date.setHours(hour);
date.setMinutes(minus);
date.setSeconds(second);
return date;
}
return undefined;
}
function checkTimeInRange(value, start, end){
if(value.getTime() < start.getTime()){
return false;
}
if(value.getTime() > end.getTime()){
return false;
}
return true;
}
var isVersion1_1 = function(){
if(currentVersion >= VERSION_1_1){
return true;
}else{
return false;
}
}
var isVersion1_1_LCE = function(){
if(currentVersion >= VERSION_1_1_LCE){
return true;
}else{
return false;
}
}
var isVersion1_2 = function(){
if(currentVersion >= VERSION_1_2){
return true;
}else{
return false;
}
}
var isVersion1_3 = function(){
if(currentVersion >= VERSION_1_3){
return true;
}else{
return false;
}
}
var isVersion1_31 = function(){
if(currentVersion >= VERSION_1_31){
return true;
}else{
return false;
}
}
var isVersion1_4 = function(){
if(currentVersion >= VERSION_1_4){
return true;
}else{
return false;
}
}
var isVersion1_5 = function(){
if(currentVersion >= VERSION_1_5){
return true;
}else{
return false;
}
}
var isVersion2_0 = function(){
if(currentVersion >= VERSION_2_0){
return true;
}else{
return false;
}
}
var isVersion2_11 = function(){
if(currentVersion >= VERSION_2_11){
return true;
}else{
return false;
}
}
var isVersion2_12 = function(){
if(currentVersion >= VERSION_2_12){
return true;
}else{
return false;
}
}
var isVersion2_13 = function(){
if(currentVersion >= VERSION_2_13){
return true;
}else{
return false;
}
}
var isVersion2_14 = function(){
if(currentVersion >= VERSION_2_14){
return true;
}else{
return false;
}
}
var isVersion3_0 = function(){
if(currentVersion >= VERSION_3_0){
return true;
}else{
return false;
}
}
var isVersion3_1 = function(){
if(currentVersion >= VERSION_3_1){
return true;
}else{
return false;
}
}
var isVersion3_2 = function(){
if(currentVersion >= VERSION_3_2){
return true;
}else{
return false;
}
}
var isVersion3_3 = function(){
if(currentVersion >= VERSION_3_3){
return true;
}else{
return false;
}
}
var isVersion3_4 = function(){
if(currentVersion >= VERSION_3_4){
return true;
}else{
return false;
}
}
var isVersion3_5 = function(){
if(currentVersion >= VERSION_3_5){
return true;
}else{
return false;
}
}
var isVersion3_6 = function(){
if(currentVersion >= VERSION_3_6){
return true;
}else{
return false;
}
}
var isVersion4_0 = function(){
if(currentVersion >= VERSION_4_0){
return true;
}else{
return false;
}
}
var isVersion5_0 = function(){
if(currentVersion >= VERSION_5_0){
return true;
}else{
return false;
}
}
var isVersion6_0 = function(){
if(currentVersion >= VERSION_6_0){
return true;
}else{
return false;
}
}
var isVersion7_0 = function(){
if(currentVersion >= VERSION_7_0){
return true;
}else{
return false;
}
}
var isVersion7_1 = function(){
if(currentVersion >= VERSION_7_1){
return true;
}else{
return false;
}
}
var isVersion7_2 = function(){
if(currentVersion >= VERSION_7_2){
return true;
}else{
return false;
}
}
var isVersion8_0 = function(){
if(currentVersion >= VERSION_8_0){
return true;
}else{
return false;
}
}
var isVersion8_1 = function(){
if(currentVersion >= VERSION_8_1){
return true;
}else{
return false;
}
}
var isMilitary24Version = function(){
if(currentVersion >= VERSION_MILITARY_TIME_24){
return true;
}else{
return false;
}
}
var isDispatchSubmitVersion = function(){
if(currentVersion >= VERSION_DISPATCH_SUBMIT){
return true;
}else{
return false;
}
}
var isVersion = function(version){
var versionValue = parseFloat('' + version);
if(currentVersion >= versionValue){
return true;
}else{
return false;
}
}
var isCtrlVersion = function(version){
var versionValue = parseFloat('' + version);
if(currentCtrlVersion >= versionValue){
return true;
}else{
return false;
}
}
var isVersion_SOMTG = function(){
// if is this version we can add inputSelectOne, inputScoreOne, inputSelectMany in to grid and table
return isVersion5_0();
}
var isOSMVersion = function(version){
if(parseFloat('' + version) > currentVersion){
return false;
}else{
return true;
}
}
var isWeppAppVersion1_0 = function(){
if(currentWebAppVersion >= VERSION_1_0){
return true;
}else{
return false;
}
}
var isWeppAppVersion2_0 = function(){
if(currentWebAppVersion >= VERSION_2_0){
return true;
}else{
return false;
}
}
var isNewHomepage = function(){
if(currentVersion >= VERSION_NEW_HOME_PAGE){
return true;
}else{
return false;
}
}
var isHomepage24 = function(){
if(currentVersion >= VERSION_HOME_PAGE_24){
return true;
}else{
return false;
}
}
var isNewProjectPage = function(){
if(currentVersion >= VERSION_NEW_PROJECT_PAGE){
return true;
}else{
return false;
}
}
var isSupportVersion = function(){
var ua = navigator.userAgent.toLowerCase();
var browserName = '';
var versionMin = 0;
var result = true;
if ( ua.indexOf( "opera" ) != -1 ) {
browserName = "opera";
versionMin = constantOperaVersionMin;
var ver = ua.substr(ua.indexOf('version') + 8, 4);
if(ver.substr(ver.length-1,1) == '.') ver = ver.substr(0, ver.length -1);
if(parseFloat(ver) < constantOperaVersionMin){
result = false;
}
} else if ( ua.indexOf( "msie" ) != -1 ) {
browserName = "IE";
versionMin = constantMiseVersionMin;
var ver = ua.substr(ua.indexOf('msie') + 5, 3);
if(parseFloat(ver) < constantMiseVersionMin){
result = false;
}
} else if ( ua.indexOf( "chrome" ) != -1 ) {
browserName = "Chrome";
versionMin = constantChromeVersionMin;
var ver = ua.substr(ua.indexOf('chrome') + 7, 4);
if(ver.substr(ver.length-1,1) == '.') ver = ver.substr(0, ver.length -1);
if(parseFloat(ver) < constantChromeVersionMin){
result = false;
}
} else if ( ua.indexOf( "safari" ) != -1 ) {
browserName = "Safari";
versionMin = constantSafariVersionMin;
var ver = ua.substr(ua.indexOf('version') + 8, 3);
if(parseFloat(ver) < constantSafariVersionMin){
result = false;
}
} else if ( ua.indexOf( "mozilla" ) != -1 ) {
if ( ua.indexOf( "firefox" ) != -1 ) {
browserName = "Firefox";
versionMin = constantFirefoxVersionMin;
var ver = ua.substr(ua.indexOf('firefox') + 8, 3);
if(parseFloat(ver) < constantFirefoxVersionMin){
result = false;
}
} else {
// tdchien:: Process check min version of Mozilla Firefox (by htgiang)
// Fix error occur in Internet Explorer (undefined variable constantMozillaVersionMax)
// if(navigator.appVersion > constantMozillaVersionMax
// || navigator.appVersion < constantMozillaVersionMin){
if(navigator.appVersion < constantMozillaVersionMin){
result = false;
}
}
}
if(!result){
alert('Warning: This website requires ' + browserName + ' version ' + versionMin + ' or newer.'
+' Some this website\'s features may not work properly'
+' with your current browser version. We recommend that'
+' you upgrade your browser to the current version before proceeding.');
}
return result;
}
/**
* Check if the browser using is the older versions
* @author dttuan
*/
var isBrowserMeetReq4BuildForms = function(){
var ua = navigator.userAgent.toLowerCase();
var browserName = '';
var result = true;
if ( ua.indexOf( "msie" ) != -1 ) {
browserName = "IE";
var ver = ua.substr(ua.indexOf('msie') + 5, 3);
if(parseFloat(ver) < constantIELatestVersion){
result = false;
}
} else if ( ua.indexOf( "chrome" ) != -1 ) {
browserName = "Chrome";
var ver = ua.substr(ua.indexOf('chrome') + 7, 4);
if(ver.substr(ver.length-1,1) == '.') ver = ver.substr(0, ver.length -1);
if(parseFloat(ver) < constantChromeLatestVersion){
result = false;
}
} else if ( ua.indexOf( "safari" ) != -1 ) {
browserName = "Safari";
var ver = ua.substr(ua.indexOf('version') + 8, 3);
if(parseFloat(ver) < constantSafariLatestVersion){
result = false;
}
} else if ( ua.indexOf( "mozilla" ) != -1 ) {
if ( ua.indexOf( "firefox" ) != -1 ) {
browserName = "Firefox";
var ver = ua.substr(ua.indexOf('firefox') + 8, 3);
if(parseFloat(ver) < constantFirefoxLatestVersion){
result = false;
}
} else {
if(navigator.appVersion < constantFirefoxLatestVersion){
result = false;
}
}
}
return result;
}
function isEmailAddress(email) {
/*
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
///^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/
if (!filter.test(email)) {
return false;
}
return true;
*/
return isValidEmail(email);
}
var replaceFunction = function(string, value, text){
if(string == undefined || value == undefined || text == undefined) return undefined;
var temp ='wieuoLFEKJELKRJLRKJWRJELIJEKSDJLSasfdfa';
while(text.indexOf('$') != -1){
text = text.replace('$',temp);
}
string = string.replace(value,text);
while(string.indexOf(temp) != -1){
string = string.replace(temp, '$');
}
return string;
}
var isValidEmail = function(text){
//var pattern = /[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+(\.[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$/;
//var pattern = /^[^<>()[\]\\,;:\%#^\s@\"$&!@]+@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}))$/;
//var pattern = /^([^@\s]+)@([^@.\s]{1,})([.][^@.\s]{2,})+$/;
var pattern = /^[A-Za-z0-9_\-.']+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-.]+$/; // CO-4596: Double report writer emails
if(pattern.test(text)){
return true;
}
return false;
}
var isValidEmail2 = function(text){
var pattern = /[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+(\.[A-Za-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$/;
//var pattern = /^([^@\s]+)@([^@\s]+)$/;
if(pattern.test(text)){
return true;
}
return false;
}
/**
* currentResult: current calculated result
* calStructure: structure of this calculation
* calStringFlg: indicate if this calculation is string kind, not numeric/date:time kind (option)
*
* return: empty if all text fields in the expression having no value
*/
var compareCalStringEmptyResult = function(currentResult, calStructure, calStringFlg){
// check if this calculation is not string kind
if(calStringFlg != undefined && calStringFlg == false){
return currentResult;
}
var resultCal = currentResult;
try {
var hasOperator = false;
var emptyResult = '';
$.each(calStructure, function(index, curElt) {
// constants only
if(curElt.text.operation == 'Other value'){
emptyResult += curElt.text.operation_other_val;
} else if(curElt.text.operation == 'Space'){
emptyResult += ' ';
} else{ // other operators such as form widget
hasOperator = true;
}
});
// if empty result & current result are equal
// => text fields having no value => reset empty
if((jQuery.trim(emptyResult) == jQuery.trim(currentResult))
&& hasOperator){ // fix bug 25321
resultCal = '';
}
} catch (e) { }
return resultCal;
};
var getProtocal = function(){
return window.location.protocol;
}
var getServerURL = function(){
if(window.location.port == '' || window.location.port == '80'){
return window.location.protocol + '//' + window.location.hostname + "/";
}else{
return window.location.protocol + '//' + window.location.hostname + ":" + window.location.port + "/";
}
}
var formatDate = function(date){
if(date == undefined) return '';
var strDate = makeTwoDigitText((date.getMonth() + 1)) + '/'
+ makeTwoDigitText(date.getDate()) + '/' + date.getFullYear();
return strDate;
}
var formatDateMMDDYYHHMMSS = function(date){
if(date == undefined) return '';
var strDate = makeTwoDigitText((date.getMonth() + 1)) + '/'
+ makeTwoDigitText(date.getDate()) + '/' + date.getFullYear()
+ ' ' + makeTwoDigitText(date.getHours()) + ':' + makeTwoDigitText(date.getMinutes())
+ ':' + makeTwoDigitText(date.getSeconds());
return strDate;
}
var getSystemMMddyyyyString = function(){
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();
return month + "/" + day + "/" + year;
}
function findValue(li) {
}
function selectItem(li) {
findValue(li);
}
function formatItem(row) {
return row[0] + " (id: " + row[1] + ")";
}
function lookupAjax(){
var oSuggest = $("#CityAjax")[0].autocompleter;
oSuggest.findValue();
return false;
}
function lookupLocal(){
var oSuggest = $("#CityLocal")[0].autocompleter;
oSuggest.findValue();
return false;
}
function makeAutoCompleteArray(arrName){
var getCategoryArray = function(controls, retObj)
{
if(retObj == null){
retObj = {};
}
_.each(controls, function(control)
{
if(control.type == CONST_CTRL_TYPE_INPUTSCOREONE){
if(control.scoreCategory != undefined && control.scoreCategory != ''){
retObj[control.scoreCategory] = control.scoreCategory;
}
}else if (control.type == CONST_CTRL_TYPE_GROUP || control.type == CONST_CTRL_TYPE_CTRLTABLE || control.type == CONST_CTRL_TYPE_CTRLPOD || control.type == CONST_CTRL_TYPE_CTRLSCORETABLE){
retObj = getCategoryArray(control.children, retObj);
}
});
return retObj;
};
if(arrName === 'scoreArr'){
var internal = odkmaker.data.extract();
var controls = internal.controls;
var jSonArr = getCategoryArray(controls, null);
var arr = [];
var i = 0;
_.each(jSonArr, function(element, key){
arr[i] = key;
i++;
});
return arr;
}else{
return [];
}
}
function getSelectionStart(o) {
if (o.createTextRange) {
var r = document.selection.createRange().duplicate();
r.moveEnd('character', o.value.length);
if (r.text == '') return o.value.length;
return o.value.lastIndexOf(r.text);
} else return o.selectionStart;
}
function setCaretPos(obj, position) {
if (obj.setSelectionRange) {
obj.focus();
obj.setSelectionRange(position, position);
} else if (obj.createTextRange) {
var range = obj.createTextRange();
range.move("character", position);
range.select();
} else if(window.getSelection){
s = window.getSelection();
var r1 = document.createRange();
var walker=document.createTreeWalker(obj, NodeFilter.SHOW_ELEMENT, null, false);
var p = position;
var n = obj;
while(walker.nextNode()) {
n = walker.currentNode;
if(p > n.value.length) {
p -= n.value.length;
}
else break;
}
n = n.firstChild;
r1.setStart(n, p);
r1.setEnd(n, p);
s.removeAllRanges();
s.addRange(r1);
} else if (document.selection) {
var r1 = document.body.createTextRange();
r1.moveToElementText(obj);
r1.setEndPoint("EndToEnd", r1);
r1.moveStart('character', position);
r1.moveEnd('character', position-obj.innerText.length);
r1.select();
}
}
function checkAccountHasPrivForCtrl(controlName) {
if(authNS.currentUser.ProductOrder == undefined){
return false;
}
productOrder = authNS.currentUser.ProductOrder;
if(!isPaidAccount()) {
if(controlName == CONST_CTRL_TYPE_INPUTBARCODE||
controlName == CONST_CTRL_TYPE_INPUTNFC||
controlName == CONST_CTRL_TYPE_INPUTFORWARD||
controlName == CONST_CTRL_TYPE_INPUTSECUREFORWARD||
controlName == CONST_CTRL_TYPE_GROUP ||
controlName == CONST_CTRL_TYPE_CTRLTABLE ||
controlName == CONST_CTRL_TYPE_CTRLPOD ||
controlName == CONST_CTRL_TYPE_CTRLSCORETABLE ||
controlName == CONST_CTRL_TYPE_CTRLGRID ||
controlName == CONST_CTRL_TYPE_INPUTEMAILREPORT ||
controlName == CONST_CTRL_TYPE_INPUTFAX ||
controlName == CONST_CTRL_TYPE_INPUTSECUREEMAILREPORT ||
controlName == CONST_CTRL_TYPE_INPUTAPPROVAL ||
controlName == mdi_kind_inputVideo ||
controlName == mdi_kind_inputAudio ||
controlName == CONST_CTRL_TYPE_INPUTSCOREONE ||
controlName == CONST_CTRL_TYPE_INPUTMEDIA||
controlName == CONST_CTRL_TYPE_INPUTCOUNTER){
return false;
}else{
return true;
}
}else{
return true;
}
}
;(function($){
if(window.location.search.indexOf('ivc=true') >= 0){
ignoreSupportVersion = true;
}
if(isVersion1_1() && !ignoreSupportVersion){
isSupportVersion();
}
if(isBetaVersion()){
VERSION_BETA_ONLY = currentVersion;
}else{
VERSION_BETA_ONLY = VERSION_UNSUPPORT;
}
if(!isVersion(VERSION_BETA_ONLY)){
$('.VERSION_BETA_ONLY').remove();
}
if(!isVersion(VERSION_OPENING_VIEW)){
$('.VERSION_OPENING_VIEW').remove();
}
if(!isVersion(VERSION_NEW_TRACKING_SETTINGS)){
$('.VERSION_NEW_TRACKING_SETTINGS').remove();
}
if(!isVersion(VERSION_SHOW_HIDE_SELECTION_TEXT)){
$('.VERSION_SHOW_HIDE_SELECTION_TEXT').remove();
}
if(!isVersion(VERSION_ADD_HIDE_SELECTION_TEXT)){
$('.VERSION_ADD_HIDE_SELECTION_TEXT').remove();
}
if(!isVersion(VERSION_HIGHLIGHT_LAST_FORM_ICON)){
$('.VERSION_HIGHLIGHT_LAST_FORM_ICON').remove();
}
if(isVersion(VERSION_NEW_EMAIL_REPORT_SETTING)){
$('.NOT_VERSION_NEW_EMAIL_REPORT_SETTING').remove();
}else{
$('.VERSION_NEW_EMAIL_REPORT_SETTING').remove();
}
if(isVersion(VERSION_PCA_72)){
$('.hide_in_VERSION_PCA_72').remove();
}else{
$('.VERSION_PCA_72').remove();
}
if(!isVersion(VERSION_FORM_SETTING)){
$('.VERSION_FORM_SETTING').remove();
}
if(!isVersion(VERSION_EMAIL_REPORT_NEW_DEFAULT)){
$('.VERSION_EMAIL_REPORT_NEW_DEFAULT').remove();
}else{
//$('.emailReportDefault .editorTextfield').attr('placeholder', msg_email_placeholder);
}
if(!isVersion(VERSION_AUTO_SAVE_FV_AFTER)){
$('.VERSION_AUTO_SAVE_FV_AFTER').remove();
}
if(!isVersion(VERSION_ADD_AUTO_DEFAULT_DSP_FWD)){
$('.VERSION_ADD_AUTO_DEFAULT_DSP_FWD').remove();
}
if(!isVersion(VERSION_POD_WIDGET)){
$('.VERSION_POD_WIDGET').remove();
}
if(!isVersion(VERSION_SHOW_NEXT_BUTTON)){
$('.VERSION_SHOW_NEXT_BUTTON').remove();
}
if(!isVersion(VERSION_ADD_PHOTO_GALERY)){
$('.VERSION_ADD_PHOTO_GALERY').remove();
}
if(!isVersion(VERSION_SHOW_ADVANCED_TOOLBAR)){
$('.VERSION_SHOW_ADVANCED_TOOLBAR').remove();
}
if(isVersion(VERSION_REMOVE_HELP)){
$('.VERSION_REMOVE_HELP').remove();
}
if(!isVersion(VERSION_PURGE_SIGNATURES)){
$('.VERSION_PURGE_SIGNATURES').remove();
}
if(!isVersion(VERSION_MOBILE_RETRIEVE_IS_READONLY)){
$('.VERSION_MOBILE_RETRIEVE_IS_READONLY').remove();
}
if(!isVersion(VERSION_PREVENT_BULK_SIGNATURE_WHEN_COMPLETE)){
$('.VERSION_PREVENT_BULK_SIGNATURE_WHEN_COMPLETE').remove();
}
if(!isVersion(VERSION_OPTION_IMAGE)){
$('.VERSION_OPTION_IMAGE').remove();
}
if(!isVersion(VERSION_CONSISTENCE_DROPDOWN)){
$('.VERSION_CONSISTENCE_DROPDOWN').remove();
}
if(!isVersion(VERSION_HUB_APP_ENHANCE)){
$('.VERSION_HUB_APP_ENHANCE').remove();
}else{
$('.NOT_VERSION_HUB_APP_ENHANCE').remove();
}
if(!isVersion(VERSION_VARIABLES_MANAGE)){
$('.VERSION_VARIABLES_MANAGE').remove();
}
if(!isVersion(VERSION_SHOW_ANSWER_TEXT)){
$('.VERSION_SHOW_ANSWER_TEXT').remove();
}
if(!isVersion(VERSION_CANNOT_EXCEED_MAX)){
$('.VERSION_CANNOT_EXCEED_MAX').remove();
}
if(!isVersion(VERSION_IGNORE_SCAN_IF)){
$('.VERSION_IGNORE_SCAN_IF').remove();
}
if(!isVersion(VERSION_WIDE_GRAPHIC)){
$('.VERSION_WIDE_GRAPHIC').remove();
}
if(!isVersion(VERSION_HEADER_DROPDOWN_MENU_ICON_COLOR)){
$('.VERSION_HEADER_DROPDOWN_MENU_ICON_COLOR').remove();
}
if(!isVersion(VERSION_TITLE_TEXT)){
$('.VERSION_TITLE_TEXT').remove();
}
if(!isVersion(VERSION_TITLE_TEXT_COLOR)){
$('.VERSION_TITLE_TEXT_COLOR').remove();
}
if(!isVersion(VERSION_NARROW_GRAPHIC_AND_TEXT_CONTROL)){
$('.VERSION_NARROW_GRAPHIC_AND_TEXT_CONTROL').remove();
}
if(!isVersion(VERSION_ACCOUNT_VARIABLES_MANAGE)){
$('.VERSION_ACCOUNT_VARIABLES_MANAGE').remove();
}
if(!isVersion(VERSION_REMOVE_OPENSPECIAL)){
$('.VERSION_REMOVE_OPENSPECIAL').remove();
}else{
$('.NOT_FOR_VERSION_REMOVE_OPENSPECIAL').remove();
}
if(!isVersion(VERSION_NEW_ITE_CONDITION)){
$('.VERSION_NEW_ITE_CONDITION').remove();
}
if(!isVersion(VERSION_APPEARANCE_ACTIVE_TEXT)){
$('.VERSION_APPEARANCE_ACTIVE_TEXT').remove();
}
if(!isVersion(VERSION_LABEL_GRAYSCALE)){
$('.VERSION_LABEL_GRAYSCALE').remove();
}
if(!isVersion(VERSION_PL_EXTRA_SMALL)){
$('.VERSION_PL_EXTRA_SMALL').remove();
}
if(!isVersion(VERSION_PL_EXTRA_LARGE)){
$('.VERSION_PL_EXTRA_LARGE').remove();
}
if(!isVersion(VERSION_APPEARANCE_BUTTON_BORDER_COLOR)){
$('.VERSION_APPEARANCE_BUTTON_BORDER_COLOR').remove();
}
if(!isVersion(VERSION_ATTACHMENT)){
$('.VERSION_ATTACHMENT').remove();
}
if(!isVersion(VERSION_GEOTAB_ADD_INS)){
$('.VERSION_GEOTAB_ADD_INS').addClass(CONST_CSS_CLASS_HIDE_ITEM);
}else{
$('.VERSION_GEOTAB_ADD_INS').removeClass(CONST_CSS_CLASS_HIDE_ITEM);
}
// if(!isVersion(VERSION_APPROVAL)){
// $('.VERSION_APPROVAL').remove();
// }
})(jQuery);
function isUseHTTPSFlag(){
if(flagHTTPS == true)
return true;
return false;
}
function sortSelect(selElem) {
if(undefined == selElem) {
return;
}
var tmpAry = new Array();
for (var i=0;i bVal) {
return 1; // if a should come after b, return 1
}
else {
return -1; // if b should come after a, return -1
}
});
while (selElem.options.length > 0) {
selElem.options[0] = null;
}
for (var i=0;i bVal) {
return 1; // if a should come after b, return 1
}
else {
return -1; // if b should come after a, return -1
}
});
while (selElem.options.length > 0) {
selElem.options[0] = null;
}
for (var i=0;i bVal) {
return 1; // if a should come after b, return 1
}
else {
return -1; // if b should come after a, return -1
}
});
while (selElem.options.length > 0) {
selElem.options[0] = null;
}
for (var i=0;i bVal) {
return 1; // if a should come after b, return 1
}
else {
return -1; // if b should come after a, return -1
}
});
var result = {};
for (var i=0;i bVal) {
return 1; // if a should come after b, return 1
}
else {
return -1; // if b should come after a, return -1
}
});
var result = {};
for (var i=0;i 2) {
item.menuKey = tmpAry[i][2];
}
if(tmpAry[i].length > 3) {
item.menuName = tmpAry[i][3];
}
result[item.Key] = item;
}
return result;
}
function sortObj3(obj, direction) {
if(undefined == obj || null == obj) {
return obj;
}
var dir = 1;
if(typeof direction != 'undefined' && 'desc' == direction.toLowerCase()) {
dir = -1;
}
var tmpAry = new Array();
var i = 0;
for (var i=0;i bVal) {
return dir; // if a should come after b, return 1
}
else {
return -1 * dir; // if b should come after a, return -1
}
});
var result = document.createElement('div');
for (var i=0;i bVal) {
return dir; // if a should come after b, return 1
}
else {
return -1 * dir; // if b should come after a, return -1
}
});
var result = document.createElement('div');
for (var i=0;i bVal) {
return dir; // if a should come after b, return 1
}
else {
return -1 * dir; // if b should come after a, return -1
}
});
var result = {};
for (var i = 0; i < tmpAry.length; i++) {
var item = {};
if(prefix) {
result[prefix + (i + 1)] = tmpAry[i][1];
} else {
item.Name = tmpAry[i][0];
item.Key = tmpAry[i][1];
result[item.Key] = item;
}
}
return result;
}
function isValidFormat(_val, _type) {
var resultFlg = true; // default value is correct
try {
var _pattern;
// Checks a string to see if it's in valid date format of (M)M/(D)D/(YY)YY
if(_type == CONST_CTRL_TYPE_INPUTDATE
|| _type == CONST_VALUE_DATE){
_val = _val.split(' ')[0];
_pattern = /^\d{1,2}[\/]\d{1,2}[\/]\d{1,4}$/;
if (_pattern.test(_val)) {
// remove any leading zeros from date values
_val = _val.replace(/0*(\d*)/gi,"$1");
var dateArray = _val.split(/[\/]/);
// correct month value
dateArray[0] = parseInt(dateArray[0])-1;
// date value
dateArray[1] = parseInt(dateArray[1]);
// correct year value
if (dateArray[2].length<4) {
// correct year value
dateArray[2] = (parseInt(dateArray[2]) < 50) ? 2000 + parseInt(dateArray[2]) : 1900 + parseInt(dateArray[2]);
}
var testDate = new Date(dateArray[2], dateArray[0], dateArray[1]);
if (testDate.getDate()!=dateArray[1]
|| testDate.getMonth()!=dateArray[0]
|| testDate.getFullYear()!=dateArray[2]) {
resultFlg = false;
}
}
else {
resultFlg = false;
}
}
else if (_type == CONST_VALUE_TIME){
_pattern = /^(\d{1,2}):(\d{1,2}):(\d{1,2})$/; // /^(\d{1,2}):(\d{2})([ap]m)?$/;
var _timeVal = _val;
var _index = _val.indexOf(':');
if(_index > 0){
_timeVal = _val.substring(_index-2, _index+6);
}
if (_pattern.test(_timeVal)) {
var timeArray = _timeVal.split(':');
if(timeArray.length >= 3){
// 24-hour value between 0 and 23
timeArray[0] = parseInt(timeArray[0]);
if(timeArray[0] > 23) {
resultFlg = false;
}
// minute value between 0 and 59
timeArray[1] = parseInt(timeArray[1]);
if(timeArray[1] > 59) {
resultFlg = false;
}
// second value between 0 and 59
timeArray[2] = parseInt(timeArray[2]);
if(timeArray[2] > 59) {
resultFlg = false;
}
}
else{
resultFlg = false;
}
}
else {
resultFlg = false;
}
}
else if (_type == CONST_VALUE_DATE_SPACE_TIME){
var dtObj = new Date(_val); // fix bug 15448
if(_val.indexOf('/') < 0
|| dtObj == undefined
|| 'Invalid Date' == dtObj){ // fix bug 18467
resultFlg = false;
}
}
else if (_type == 'Integer'
|| _type == CONST_CTRL_TYPE_INPUTCOUNTER
//|| _type == CONST_CTRL_TYPE_INPUTNUMBERING
|| _type == CONST_CTRL_TYPE_INPUTFORWARD
|| _type == CONST_CTRL_TYPE_INPUTSECUREFORWARD){
// fix bug 17944 (date time format)
if(_val.indexOf(':') >= 0
|| _val.indexOf('/') >= 0
|| _val.indexOf('.') >= 0){ // decimal format
resultFlg = false;
}
else{
var tmpVal = _val.replace(/\$/g,"");
var intVal = parseInt(tmpVal);
if('NaN' == (''+intVal)){ // invalid value
resultFlg = false;
}
}
}
else if (_type == 'Decimal'){
// fix bug 17944 (date time format)
if(_val.indexOf(':') >= 0
|| _val.indexOf('/') >= 0){
return false
} else if(_val.indexOf('.') == 0){ // 23740: .272
_val = '0' + _val;
}
var tmpVal = _val.replace(/\$/g,"");
_pattern = /^[-+]?[0-9]+(\.[0-9]+)?$/;
resultFlg = _pattern.test(tmpVal);
}
}
catch (e) {
writeToLogInfo('*** isValidFormat > Exception > ' + e.message);
}
writeToLogInfo('=== isValidFormat > ' + _type + ' > ' + _val + ' > ' + resultFlg);
return resultFlg;
}
function validateNewPayment(_type, _val){
try{
if(CONST_CTRL_TYPE_INPUTNEWPAYMENT != _type){
return _val;
}
var tmp = _val.replace(/-/g,'');
if(tmp.length != 16 || !/^\d+$/.test(tmp)){
_val = '';
} else{
_val = cc_format(_val);
}
}
catch (e) { }
return _val;
};
function replaceCurrencyChar(_currencyVal){
var _currencyResult = _currencyVal.replace(/\,/g,"");
try {
var subIndex = -1;
var pattern = /^[0-9]$/;
for ( var _cr = 0; _cr < _currencyResult.length; _cr++) {
var curChar = _currencyResult[_cr];
if(curChar == '.'){
continue;
}
else if(pattern.test(curChar)
|| curChar == '-'){
subIndex = _cr;
break
}
}
if(subIndex > 0){
_currencyResult = _currencyResult.substring(subIndex, _currencyResult.length);
}
}
catch (e) { }
return _currencyResult;
}
function maxDayInMonth(date) {
var maxDay = 31;
var month = date.getMonth() + 1;
if(month == 4 || month == 6 || month == 9 || month == 11) {
maxDay = 30;
} else if (month == 2) {
var year = date.getFullYear();
if(year % 400 == 0 || year % 4 == 0 && year % 100 != 0) {
maxDay = 29;;
} else {
maxDay = 28;
}
}
return maxDay;
}
function addMonth(date, num) {
var year = 0;
year = (num / 12);
var currentMonth = date.getMonth() + 1;
var currentDay = date.getDate();
currentMonth += num % 12;
if(currentMonth > 12) {
currentMonth = currentMonth % 12;
year++;
}
date.setDate(1);
date.setMonth(currentMonth - 1);
date.setFullYear(date.getFullYear() + year);
var maxDIM = maxDayInMonth(date);
if(currentDay > maxDIM) {
date.setDate(maxDIM);
} else {
date.setDate(currentDay);
}
return date;
}
var not_safe_number = ["0123456789","1234567890","0987654321"];
var countNumInString = function(i, number) {
var k = '' + i;
var count = 0;
for(var j = 0; j < number.length; j++) {
if(number[j] == k) {
count++;
}
}
return count;
}
var isSafeMobileNumber = function(number) {
number = jQuery.trim(number);
for(var i = 0; i < not_safe_number.length; i++) {
if(number == not_safe_number[i]) {
return false;
}
}
for(var i = 0; i < 10; i++) {
if(countNumInString(i, number) == number.length) {
return false;
}
}
return true;
}
//for ajax upload function
var getControlUploadSize = function(control){
var uploadSize = 0;
if(isIE()) { // IE
//uploadSize = control._input.document.fileSize;
}
else { // Netscape/Firefox/Opera
uploadSize = control._input.files[0].fileSize;
//fix firefox 28
if(undefined == uploadSize) {
uploadSize = control._input.files[0].size;
}
}
if(uploadSize == undefined)
uploadSize = 0;
return uploadSize;
}
var isIE = function(){
var ie = false;
var ua = navigator.userAgent.toLowerCase();
if ( ua.indexOf( "opera" ) != -1 ) {
browserName = "opera";
} else if ( ua.indexOf( "msie" ) != -1 ) {
browserName = "msie";
ie = true;
} else if ( ua.indexOf( "edge" ) != -1 ) {
browserName = "edge";
ie = true;
} else if ( ua.indexOf( "trident" ) != -1 ) {
browserName = "trident";
ie = true;
} else if ( ua.indexOf( "safari" ) != -1 ) {
browserName = "safari";
} else if ( ua.indexOf( "mozilla" ) != -1 ) {
if ( ua.indexOf( "firefox" ) != -1 ) {
browserName = "firefox";
} else {
browserName = "mozilla";
}
}
return ie;
}
var isValidExtentionLoop = function(text) {
var pattern = /^\&\&\&([\d]+)$/;
if (pattern.test(text)) {
return true;
}
return false;
}
var toNextCtrl = function(control, e, ctrlPropreties){
var keynum;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == 13 || keynum == 9){
e.preventDefault();
var isSkip = false;
if(ctrlPropreties && ctrlPropreties.skipcondsExpression != undefined && ctrlPropreties.skipcondsExpression.skipcondsString != ''){
if(calculateSkipConds(ctrlPropreties.skipcondsExpression, ctrlPropreties)){
isSkip = true;
processSkipToControl(ctrlPropreties, fvDataNS.inputData, true, true);
}
}
if(!isSkip){
jumpToNextCtrlWA(control);
}
return true;
}
return true;
}
var jumpToNextCtrlWA = function(control){
return jumpToNextCtrl($(control));
/*var allCtrl = $('.fvWorkspaceScrollArea button, .fvWorkspaceScrollArea input, .fvWorkspaceScrollArea textarea, .fvWorkspaceScrollArea select, .fvWorkspaceScrollArea a');
var index = allCtrl.index(control);
index ++;
while(index < allCtrl.length){
var $toCtrl = $(allCtrl[index]);
if($toCtrl.hasClass(CONST_CLASS_HIDE_CONTROL)){
index ++;
continue;
}
if($toCtrl.parents('.hideControl').length > 0){
index ++;
continue;
}
if(allCtrl[index].disabled || allCtrl[index].readOnly){
index ++;
continue;
}
break;
}
if(index < allCtrl.length){
$(control).trigger('change');
$(control).trigger('blur');
$(allCtrl[index]).focus();
}*/
}
//end for ajax upload function
var onlyNumber_Propertychange = function(control, ctrlPropreties, type, maxlength){
if(type == 'NumberDigit'){
if(isNaN(control.val())){
control.val(ctrlPropreties.val);
}
return;
}
if(control.val() == '' || control.val() == '.'){
return;
}
if(control.val() != '-' && isNaN(control.val())){
control.val(ctrlPropreties.val);
return;
}else{
if(type == 'Decimal'){
}else{
if(control.val().indexOf('.') >= 0){
control.val(ctrlPropreties.val);
return;
}
}
}
if(control.val().indexOf('-') < 0){
if(control.val().length > maxlength){
setCtrlPropretiesValue(ctrlPropreties.val, control.val().substring(0, maxlength));
control.val(ctrlPropreties.val);
}else{
setCtrlPropretiesValue(ctrlPropreties.val, control.val());
}
}else{
if(control.val().length > (maxlength + 1)){
setCtrlPropretiesValue(ctrlPropreties.val, control.val().substring(0, maxlength + 1));
control.val(ctrlPropreties.val);
}else{
setCtrlPropretiesValue(ctrlPropreties.val, control.val());
}
}
};
var valueDecode = function(value){
if(value == undefined){
return value;
}else if(typeof value == 'string'){
return value.replace(/</g,"<")
.replace(/>/g,">")
.replace(/&/g,"&");
}else{
return value;
}
};
var valueEncode = function(value){
if(value == undefined){
return value;
}else if(typeof value == 'string'){
return value.replace(//g,">")
.replace(/&/g,"&");
}else{
return value;
}
};
var getNumberYYMMDDhhmmssSS = function(obj){
var prefix = '';
try {
if(obj != undefined
&& obj.autoNumberType != undefined
&& obj.autoNumberType == 'Received'){
return '';
}
if(obj != undefined
&& obj.prefix != undefined){
prefix = obj.prefix;
}
}
catch (e) { }
var date = new Date();
var milli = '' + date.getMilliseconds();
if(milli.length == 1){
milli = '0' + milli;
}else if(milli.length == 3){
milli = milli.substring(0, 2);
}
var milliTmp = milli;
while(milli == milliTmp){
var dateTmp = new Date();
var milliTmp = '' + dateTmp.getMilliseconds();
if(milliTmp.length == 1){
milliTmp = '0' + milliTmp;
}else if(milliTmp.length == 3){
milliTmp = milliTmp.substring(0, 2);
}
}
return prefix + date.format("yymmddHHMMss") + milli;
};
var isConditionValueValid = function(value){
if(value != undefined && (value.indexOf('\'') >= 0 || value.indexOf('"') >=0)){
return false;
}
return true;
};
var validateCurrencyDecPlaces = function(type, currency, decimalVal){
try {
if('Decimal' == type // decimal only
&& '' != currency // having currency
&& decimalVal.split('.').length > 1
&& decimalVal.split('.')[1].length == 1){ // 1 decimal place only
decimalVal += "0";
}
if('' != currency){
if('Decimal' == type){
decimalVal = formatDecimalWithComma(decimalVal, type, currency);
}
else if('Integer' == type){
decimalVal = formatIntegerWithComma(decimalVal);
}
}
}
catch (e) { }
return currency + decimalVal;
}
function strip(number, decPlace, roundDown) {
if(decPlace == undefined || decPlace == '' || isNaN(decPlace)){
decPlace = 6;
}
if(number == undefined){
return '';
}
number = '' + number;
if(number == ''){
return number;
}
if(isNaN(number)){
return number;
}
var arr = number.split('.');
if(arr.length != 2){
if(decPlace>0){
return eval(number + '.' + '0'.repeat(decPlace));
}else{
return number;
}
}else if(arr[1].length <= decPlace){
return number;
}else{
if(roundDown == true){
return toNumWithDecPlace(parseFloat(arr[0] + '.' + arr[1].substring(0, decPlace)), decPlace);
}else{
var tmp = '1' + arr[1].substring(0, decPlace);
tmp += '.' + arr[1].substring(decPlace);
return toNumWithDecPlace(parseFloat(arr[0] + '.' + (Math.round(parseFloat(tmp)).toString()).substring(1)), decPlace);
}
/*
var i = 0;
var zeroStr = '';
while(i0){
var arr = ('' + number).split('.');
if(arr.length == 1){
return eval(number + '.' + '0'.repeat(decPlace));
}else{
if(arr[1].length>decPlace){
return eval(arr[0] + '.' + arr[1].substring(0,decPlace));
}else{
return eval(arr[0] + '.' + arr[1] + '0'.repeat(decPlace - arr[1].length));
}
}
}else{
return number;
}
}
function formatDecimalWithComma(number, kind, _currency){
try {
if(undefined == number
|| ('Decimal' != kind
&& CONST_CTRL_TYPE_INPUTCALCULATE != kind)
|| (''+number).indexOf(':') > 0 // date time value
|| (''+number).indexOf('/') > 0 // date time value
|| ('Decimal' == kind && '' == _currency)){ // not have currency
return number;
}
number = '' + number;
var decPlace = 0;
var arr = number.split('.');
if(arr.length > 1)
decPlace = arr[1].length;
number = parseFloat(number).formatWithComma(decPlace);
//number = number.replace(/\d(?=(\d{3})+\.)/g, '$&,');
}
catch (e) { }
return number;
};
function formatIntegerWithComma(number){
try {
number = parseFloat(''+number).formatWithComma(0);
}
catch (e) { }
return number;
};
function getKeyCode(e){
var keyCode;
if (window.event) { // IE
keyCode = e.keyCode;
} else if (e.which) { // Netscape/Firefox/Opera
keyCode = e.which;
}
return keyCode;
}
function isDeleteOrCtrlKey(e){
var keyCode;
if (window.event) { // IE
keyCode = e.keyCode;
} else if (e.which) { // Netscape/Firefox/Opera
keyCode = e.which;
}
if(keyCode == undefined){
return true;
}
if(keyCode == 8){
return true;
}
return false;
}
function isCtrlTextKind(ctrlType, control){
switch(ctrlType){
case CONST_CTRL_TYPE_INPUT_TEXT:
case CONST_CTRL_TYPE_INPUTBARCODE:
case CONST_CTRL_TYPE_INPUTNFC:
case CONST_CTRL_TYPE_INPUTNUMBERING:
case CONST_CTRL_TYPE_INPUTLOOKUP:
case CONST_CTRL_TYPE_INPUTLFBLUETOOTH:
case CONST_CTRL_TYPE_INPUTLOOKUP_RETRIEVE:
case CONST_CTRL_TYPE_INPUTFORWARD:
case CONST_CTRL_TYPE_INPUTSECUREFORWARD:
return true;
case CONST_CTRL_TYPE_INPUTCALCULATE:
if(control != undefined && control.kind == CONST_CTRL_KIND_STRING){
return true;
}
}
return false;
}
function isCtrlNumberKind(ctrlType, kind){
switch(ctrlType){
case CONST_CTRL_TYPE_INPUTCALCULATE:
if(kind != CONST_VALUE_DATE){
return true;
}
break
case CONST_CTRL_TYPE_INPUTCOUNTER:
case CONST_CTRL_TYPE_INPUT_NUMERIC:
case CONST_CTRL_TYPE_INPUTTRENDS:
case CONST_CTRL_TYPE_INPUTNEWPAYMENT:
return true;
}
return false;
}
function isDTCalHM(fbconstraints, qName){
var isHMFlg = false;
try {
if(fbconstraints[qName] != undefined
&& fbconstraints[qName]['showAsHM'] != undefined
&& fbconstraints[qName]['showAsHM'] == CONST_VALUE_TRUE_STR){
isHMFlg = true;
}
}
catch (e) { }
return isHMFlg;
};
function isReadOnly(ctrObj, dispatchFlg){
var isReadonly = false;
try {
if((ctrObj.readOnly != undefined && ctrObj.readOnly == CONST_VALUE_TRUE_STR && !dispatchFlg) // other controls
|| (ctrObj.readOnlyDsp != undefined && ctrObj.readOnlyDsp == CONST_VALUE_TRUE_STR && dispatchFlg)
|| (ctrObj.ReadOnly != undefined && ctrObj.ReadOnly && !dispatchFlg) // grid controls
|| (ctrObj.ReadOnlyDsp != undefined && ctrObj.ReadOnlyDsp && dispatchFlg)){
isReadonly = true;
}
}
catch (e) { }
return isReadonly;
};
function GUnZip(zipdata){
try{
// Turn number array into byte-array
var binData = new Uint8Array(zipdata);
// Pako magic
var data = pako.inflate(binData);
// Convert gunzipped byteArray back to ascii string:
var strData = String.fromCharCode.apply(null, new Uint16Array(data));
return JSON.parse(strData);
}
catch (e) {
return zipdata;
}
}
function GZip(data){
try{
// Pako magic
var binaryString = pako.gzip(data);
return String.fromCharCode.apply(null, binaryString);
}
catch (e) {
return data;
}
}
function validateDateTimeExpression(_kind, _value, _obj){
var validFlg = true;
try {
if(_value != undefined && _value != ''){
/*dateTimeFormatObj: Object
DateFormat: "MM/dd/yyyy"
TimeFormat: "hh:mm aa"*/
//'mm/dd/yyyy hh:MM:ss TT',
//'hh:MM:ss TT'
//'mm/dd/yy'
//var re;
var _curFormat = '';
var tmpVal = _value;
var tmpKind = _kind;
if(_kind == 'datetime'){
//re = /^\d{1,2}\/\d{1,2}\/\d{4} (\d{1,2}):(\d{2}):(\d{2}) ([AP]M)?$/;
tmpKind = CONST_VALUE_DATE_SPACE_TIME;
_curFormat = 'MM/dd/yyyy hh:mm:ss [AP]M';
}
else if(_kind == CONST_VALUE_DATE_LOWERCASE){
//re = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
tmpKind = CONST_VALUE_DATE;
_curFormat = 'MM/dd/yyyy';
}
else if(_kind == CONST_VALUE_TIME_LOWERCASE){
//re = /^(\d{1,2}):(\d{2}):(\d{2}) ([AP]M)?$/;
tmpKind = CONST_VALUE_TIME;
_curFormat = 'hh:mm:ss [AP]M';
_value = '01/01/1900 ' + _value;
}
if(_curFormat != undefined && _curFormat != ''){
var objDate = new Date(_value);
if(objDate == 'Invalid Date' || objDate == 'NaN'
//|| !tmpVal.match(re)
|| _value.length < 8
|| (_value.indexOf('/') < 0 && _value.indexOf(':') < 0)){
validFlg = false;
}
// check for more validation case (23982 - Firefox)
else{
var datePart = '';
var timePart = '';
if(_kind == 'datetime'){
datePart = tmpVal.split(' ')[0];
timePart = tmpVal.split(' ')[1];
} else if(_kind == CONST_VALUE_DATE_LOWERCASE){
datePart = tmpVal;
} else if(_kind == CONST_VALUE_TIME_LOWERCASE){
timePart = tmpVal.split(' ')[0];
}
if(datePart != ''){
var arrVal = datePart.split('/');
if(parseInt(arrVal[0]) > 12 // month
|| parseInt(arrVal[1]) > 31 // date
|| parseInt(arrVal[2]) < 1000){ // year
validFlg = false;
}
}
if(timePart != ''){
var arrVal = (timePart.split(' ')[0]).split(':');
if(parseInt(arrVal[0]) > 23 // hour - [AP]M
|| parseInt(arrVal[1]) > 59 // minute
|| parseInt(arrVal[2]) > 59){ // second
validFlg = false;
}
}
}
if(!validFlg){
var errMsg = msg_datetime_format
.replace('{value}', tmpVal)
.replace('{kind}', tmpKind)
.replace('{format}', _curFormat);
if(_obj != undefined){
jAlert(errMsg, lbl_alert, function(){
try {
var btnObj = document.getElementById('btn_'+$(_obj).attr('id'));
$(btnObj).css(CONST_CSS_KEY_DISPLAY, '');
$(_obj).prop('disabled', false);
_obj.focus();
} catch (e) { }
});
} else{
jAlert(errMsg);
}
}
}
}
}
catch (e) { }
return validFlg;
};
cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
}
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
}
expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
}
// CAUTION: Needed to parenthesize options.path and options.domain
// in the following expressions, otherwise they evaluate to undefined
// in the packed version for some reason...
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure' : '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else { // only name given, get cookie
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
};
function formSelectColorDialogInit(ctrl, property, defaultColor, valueField){
var $ctrl = $(ctrl);
var tableColor = $('.selectColorDialog .tableColor').empty();
var colorTable = [];
colorTable[0] = ['#FFFFFF', '#CFCFCF', '#C0C0C0', '#9B9B9B', '#656565', '#343434', '#000000'];
colorTable[1] = ['#FFCCC9', '#FD6864', '#FF0000', '#CB0000', '#9A0000', '#680000', '#330000'];
colorTable[2] = ['#FFCE93', '#FE996B', '#F8A102', '#F86900', '#CE6301', '#963400', '#643403'];
colorTable[3] = ['#FFFC9E', '#FFFE65', '#FFCC67', '#FFCB2F', '#CD9934', '#986536', '#663234'];
colorTable[4] = ['#FFFFC8', '#FBFF2E', '#F7FF00', '#FFC701', '#999903', '#646809', '#343300'];
colorTable[5] = ['#9AFF99', '#67FD9A', '#33FF33', '#32CB00', '#009901', '#026400', '#013300'];
colorTable[6] = ['#97FFFB', '#37FFF8', '#68CBD0', '#00D2CB', '#329A9D', '#34696d', '#003532'];
colorTable[7] = ['#CEFFFF', '#67FCFF', '#34CDF9', '#3065FF', '#3430FF', '#00009B', '#000066'];
colorTable[8] = ['#CBCEFB', '#9698ED', '#6665CD', '#6434FC', '#6200C9', '#303498', '#340096'];
// Improve the performance of loading color table
var builder = new Array();
// Create 7 row/ 9 columns of color palette
for (var j = 0; j < 7; j++) {
builder.push('');
for (var i = 0; i < 9; i++) {
builder.push("
");
}
builder.push('
');
}
tableColor.html(builder.join(''));
// Improve performance of options
var selectClorRGB = $('.selectColorDialog .selectClorRGB select');//.empty();
var builderOptions = new Array();
builderOptions.push(' ');
for(var i = 0; i < 256; i++){
builderOptions.push('' + i + ' ');
}
selectClorRGB.html(builderOptions.join(''));
selectClorRGB.change(function(event){
var selectClorRGB = $(this).parents('.selectClorRGB');
var color = rgbToHex(selectClorRGB.find('.colorRed').val(), selectClorRGB.find('.colorGreen').val(), selectClorRGB.find('.colorBlue').val());
selectClorRGB.find('.selectedColorBox').css('background-color', color);
var upperColor = color.toUpperCase();
var objTableColor = selectClorRGB.parent().find('.tableColor');
objTableColor.find('.colorSelectionFocusRGB4Highlight').removeClass('colorSelectionFocusRGB4Highlight');
objTableColor.find('[data-color="#color#"]'.replace('#color#', upperColor)).addClass('colorSelectionFocusRGB4Highlight');
});
tableColor.find('a').off().click(function(event)
{
var selectedColor = $(this).attr("data-color");
var selectClorRGB = $($(this).parents('.tableColor')[0]).siblings('.selectClorRGB');
setSelectClorRGB(selectClorRGB, selectedColor);
});
$('.selectColorDialog .okSelectColor').off().click(function(){
var selectClorRGB = $('.selectColorDialog .selectClorRGB');
var color = rgbToHex(selectClorRGB.find('.colorRed').val(), selectClorRGB.find('.colorGreen').val(), selectClorRGB.find('.colorBlue').val());
var upperColor = color.toUpperCase();
if(valueField){
switch(valueField){
case 'headingColor':
property.value.headingColor = upperColor;
break;
case 'textColor':
property.value.textColor = upperColor;
break;
case 'activeTextColor':
property.value.activeTextColor = upperColor;
break;
case 'rowColor':
property.value.rowColor = upperColor;
break;
case 'rowTextColor':
property.value.rowTextColor = upperColor;
break;
case 'btnSheadingColor':
property.value.btnSheadingColor = upperColor;
break;
case 'btnTextColor':
property.value.btnTextColor = upperColor;
break;
case 'activeBtnTextColor':
property.value.activeBtnTextColor = upperColor;
break;
case 'headerShadedColor':
property.value.headingColor = upperColor;
break;
case 'headerTextColor':
property.value.textColor = upperColor;
break;
case 'headerActiveTextColor':
property.value.activeTextColor = upperColor;
break;
case 'answerBGColor':
property.value.answerBGColor = upperColor;
break;
case 'answerTextColor':
property.value.answerTextColor = upperColor;
break;
case 'sliderActiveColor':
property.value.sliderActiveColor = upperColor;
break;
case 'btnBorderColor':
property.value.btnBorderColor = upperColor;
break;
default:
property.value = upperColor;
}
}else{
property.value = upperColor;
}
$ctrl.css("background", upperColor || defaultColor).attr('data-color', upperColor || defaultColor);
// save temp only
$('.selectColorDialog').jqmHide();
});
var valueTmp = '';
if(valueField){
switch(valueField){
case 'headingColor':
valueTmp = property.value.headingColor;
break;
case 'textColor':
valueTmp = property.value.textColor;
break;
case 'activeTextColor':
valueTmp = property.value.activeTextColor;
break;
case 'rowColor':
valueTmp = property.value.rowColor;
break;
case 'rowTextColor':
valueTmp = property.value.rowTextColor;
break;
case 'btnSheadingColor':
valueTmp = property.value.btnSheadingColor;
break;
case 'btnTextColor':
valueTmp = property.value.btnTextColor;
break;
case 'activeBtnTextColor':
valueTmp = property.value.activeBtnTextColor;
break;
case 'headerShadedColor':
valueTmp = property.value.headingColor;
break;
case 'headerTextColor':
valueTmp = property.value.textColor;
break;
case 'headerActiveTextColor':
valueTmp = property.value.activeTextColor;
break;
case 'answerBGColor':
valueTmp = property.value.answerBGColor;
break;
case 'answerTextColor':
valueTmp = property.value.answerTextColor;
break;
case 'sliderActiveColor':
valueTmp = property.value.sliderActiveColor;
break;
case 'btnBorderColor':
valueTmp = property.value.btnBorderColor;
break;
default:
valueTmp = property.value;
}
}else{
valueTmp = property.value;
}
setSelectClorRGB($('.selectColorDialog .selectClorRGB'), valueTmp || defaultColor);
}
/******** Global variable used for shadding + button text color in WebApps *******/
/******** All setting will be getting from Build Forms GUI ***********************/
/*********************************************************************************/
var glbBuildFormSettingsWA = {
isShadedheadings : false
,headingColor : ''
,textColor : ''
,activeTextColor : ''
,isBorderAroundHeading : false
// Apply active box color for WebApps GUI
,isActiveBox : false
,activeBoxColor : ''
// Apply []Remove border around answer
,removeAnswerBorder : false
// Process Answer Color for Web forms GUI
,isAnswerColor : false
,answerColor : ''
// CO-314 : Add Caption Text Color in Table form web forms
,answerBGColor : ''
,isButtonShades : false
,buttonShadesColor : ''
,buttonTextColor : ''
};
// Only apply with special controls Text/Numeric/AutoNumber/Lookup
// Trends/Calculation/DateTime/Barcode/NFC/Email/Forward/ScoreSummary
// Counter/SelectMultiple/Score/ChooseOne
// Signature/Sketch/Audio/Video/Location
var glbListControlsApplyShadingAndButtonText = [
CONST_CTRL_TYPE_INPUT_TEXT,CONST_CTRL_TYPE_INPUT_NUMERIC,CONST_CTRL_TYPE_INPUTNUMBERING,CONST_CTRL_TYPE_INPUTLOOKUP,CONST_CTRL_TYPE_INPUTLFBLUETOOTH,CONST_CTRL_TYPE_INPUTLOOKUP_RETRIEVE
,CONST_CTRL_TYPE_INPUTTRENDS,CONST_CTRL_TYPE_INPUTCALCULATE,CONST_CTRL_TYPE_INPUTDATE,CONST_CTRL_TYPE_INPUTBARCODE,CONST_CTRL_TYPE_INPUTNFC,CONST_CTRL_TYPE_INPUTEMAILREPORT,CONST_CTRL_TYPE_INPUTFAX,CONST_CTRL_TYPE_INPUTFORWARD,CONST_CTRL_TYPE_INPUTSECUREFORWARD,CONST_CTRL_TYPE_INPUTSCORESUMMARY,CONST_CTRL_TYPE_SCORESUMMARY
,CONST_CTRL_TYPE_INPUTCOUNTER,CONST_CTRL_TYPE_INPUTSELECTMANY,CONST_CTRL_TYPE_INPUTSCOREONE,CONST_CTRL_TYPE_INPUTSELECTONE
,CONST_CTRL_TYPE_INPUTSIGNATURE,CONST_CTRL_TYPE_INPUTSKETCH,CONST_CTRL_TYPE_INPUTIMAGE,CONST_CTRL_TYPE_INPUTAUDIO,CONST_CTRL_TYPE_INPUTVIDEO,CONST_CTRL_TYPE_INPUTLOCATION
,CONST_CTRL_TYPE_GROUP,CONST_CTRL_TYPE_INPUTACTION,CONST_CTRL_TYPE_INPUTPAYMENT,CONST_CTRL_TYPE_INPUTNEWPAYMENT,CONST_CTRL_TYPE_IMAGE_VIEWER,CONST_CTRL_TYPE_INPUTATTACHMENT
];
// The unusual ReadOnly controls
var glbListUnusualReadOnlyControls4Shading = [
CONST_CTRL_TYPE_INPUTSELECTMANY,CONST_CTRL_TYPE_INPUTSCOREONE,CONST_CTRL_TYPE_INPUTSELECTONE
];
/**
* Process update all information getting from server into global variables
*/
function updateGlobalVariable4ShaddingAndButtonTextBuildForms(response) {
// Update value of isBrowserSafariVersionLower71
isBrowserSafariVersionLower71 = checkBrowserSafariVersionLower714WebApps();
// Reset the array data using in Shading layout
listOptionsControls4WAShadings = new Array();
listMediaControls4WAShadings = new Array();
listCounterControls4WAShadings = new Array();
listContainerControls4WAShadings = new Array();
// List Signature control inside Grid/Table for adjust layout later
listSignatureControlsGridTable4WA = new Array();
// PCA-178: Web App support for Shading and Spacing (custom options)
listCustomCtrlOptions4WAShadings = new Array();
indxCustomCtrlOptions4WAShadings = 0;
// PCA-250: Web App/Preview support for button color
listCustomCtrlOptions4WAShadingsActiveColor = new Array();
indxCustomCtrlOptions4WAShadingsActiveColor = 0;
// CO-6355: Add options to action button appearance
listCustomCtrlOptions4WAShadingsButtonBorderColor = new Array();
indxCustomCtrlOptions4WAShadingsButtonBorderColor = 0;
// Check version for current apply
if (!isVersion(VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP)) {
// Force using the selected Counter CSS background
$('#customStyle4ShadingControlBackground').html('.formView .ctrl_selected .btnUpDown a{ background-color: #FFD851 !important; }');
return;
}
// In case response == NULL or undefined, we will reset all value
if (typeof response === 'undefined' || response === null) {
// Reset into default value
glbBuildFormSettingsWA.isShadedheadings = false;
glbBuildFormSettingsWA.headingColor = '';
glbBuildFormSettingsWA.textColor = '';
glbBuildFormSettingsWA.activeTextColor = '';
glbBuildFormSettingsWA.isBorderAroundHeading = false;
// Apply active box color for WebApps GUI
if (isVersion(VERSION_ACTIVE_BOX)) {
glbBuildFormSettingsWA.isActiveBox = false;
glbBuildFormSettingsWA.activeBoxColor = '';
}
// Process Answer Color for Web forms GUI
if (isVersion(VERSION_ANSWER_COLOR)) {
glbBuildFormSettingsWA.isAnswerColor = false;
glbBuildFormSettingsWA.answerColor = '';
// CO-314 : Add Caption Text Color in Table form web forms
glbBuildFormSettingsWA.answerBGColor = '';
}
// Apply []Remove border around answer
if (isVersion(VERSION_REMOVE_ANSW_BORDER)) {
glbBuildFormSettingsWA.removeAnswerBorder = false;
}
glbBuildFormSettingsWA.isButtonShades = false;
glbBuildFormSettingsWA.buttonShadesColor = '';
glbBuildFormSettingsWA.buttonTextColor = '';
// Label coloring config
glbBuildFormSettingsWA.labelShading = '';
glbBuildFormSettingsWA.labelLineColor = '';
glbBuildFormSettingsWA.labelHeadingColor = '';
glbBuildFormSettingsWA.labelTextColor = '';
glbBuildFormSettingsWA.activeButtonTextColor = '';
glbBuildFormSettingsWA.buttonBorderColor = '';
glbBuildFormSettingsWA.btnRoundedCorners = false;
// Shaded row config
// PCA-265: Web AppPreview support for color option in Grids, questionnaires and Tables
glbBuildFormSettingsWA.isShadedRow = false;
glbBuildFormSettingsWA.rowTextColor = '';
glbBuildFormSettingsWA.rowColor = '';
// The flag about new form for shading (isNewForm4UsingShading)
glbBuildFormSettingsWA.isNewForm4UsingShading = false;
return;
}
// Fill information from server into global values (retrieve from BuildForms)
glbBuildFormSettingsWA.isShadedheadings = response.isShadedheadings;
if (glbBuildFormSettingsWA.isShadedheadings === true) {
glbBuildFormSettingsWA.headingColor = response.headingColor;
glbBuildFormSettingsWA.textColor = response.textColor;
glbBuildFormSettingsWA.activeTextColor = response.activeTextColor;
}
glbBuildFormSettingsWA.isBorderAroundHeading = response.isBorderAroundHeading;
// Apply active box color for WebApps GUI
if (isVersion(VERSION_ACTIVE_BOX)) {
glbBuildFormSettingsWA.isActiveBox = response.isActiveBox;
glbBuildFormSettingsWA.activeBoxColor = response.activeBoxColor;
}
// Process Answer Color for Web forms GUI
if (isVersion(VERSION_ANSWER_COLOR)) {
glbBuildFormSettingsWA.isAnswerColor = response.isAnswerColor;
glbBuildFormSettingsWA.answerColor = response.answerColor;
// CO-314 : Add Caption Text Color in Table form web forms
glbBuildFormSettingsWA.answerBGColor = response.answerBGColor;
}
// Apply []Remove border around answer
if (isVersion(VERSION_REMOVE_ANSW_BORDER)) {
glbBuildFormSettingsWA.removeAnswerBorder = response.isRemoveBorderAroundAnswer;
}
// PCA-265: Web AppPreview support for color option in Grids, questionnaires and Tables
glbBuildFormSettingsWA.isShadedRow = response.isShadedRow;
glbBuildFormSettingsWA.rowTextColor = response.rowTextColor;
glbBuildFormSettingsWA.rowColor = response.rowColor;
glbBuildFormSettingsWA.isButtonShades = response.isButtonShades;
glbBuildFormSettingsWA.buttonShadesColor = response.buttonShadesColor;
glbBuildFormSettingsWA.buttonTextColor = response.buttonTextColor;
glbBuildFormSettingsWA.activeButtonTextColor = response.activeButtonTextColor;
glbBuildFormSettingsWA.buttonBorderColor = response.buttonBorderColor;
glbBuildFormSettingsWA.btnRoundedCorners = response.btnRoundedCorners;
// Label coloring config
glbBuildFormSettingsWA.labelShading = response.labelShading;
glbBuildFormSettingsWA.labelLineColor = response.labelLineColor;
glbBuildFormSettingsWA.labelHeadingColor = response.labelHeadingColor;
glbBuildFormSettingsWA.labelTextColor = response.labelTextColor;
// Special treating with OLD FORMS, we will create a special settings
applySpecialSettingWithOldFormsInShading(response, glbBuildFormSettingsWA);
if (glbBuildFormSettingsWA.isNewForm4UsingShading === false) {
return;
}
// Setting the main class for using Shadding/Button Text color (if needed)
writeToLogInfo(' glbBuildFormSettingsWA : ' + JSON.stringify(glbBuildFormSettingsWA));
// Setting header color GUI
/*
// Adjust CSS style sheet
var classShadeHeadings =
// Header class
' .shadingControlBackground .controlLabel { ' +
' background: #background#; ' +
' color: #color#; ' +
' padding-top : 6px !important; ' +
' padding-bottom : 6px !important; ' +
' padding-left: 5px !important; ' +
' border-top : 1px solid #border_color#; ' +
' border-left : 1px solid #border_color#; ' +
' border-right : 1px solid #border_color#; ' +
' } ' +
' .shadingControlBackground .inputinner { ' +
' border-top1 : none !important; ' +
' } ' +
// GPS Image
' .shadingControlBackground.inputLocation .embbedStaticGPSMapImage { ' +
' padding-top : 3px !important; ' +
' padding-bottom : 3px !important; ' +
' } ' +
// Score/SelectMultiple/ChooseOne
' .inputScoreOne.shadingControlBackground .controlData ' +
' ,.inputSelectOne.shadingControlBackground .controlData ' +
' ,.inputSelectMany.shadingControlBackground .controlData { ' +
' border : 1px solid #border_color#; ' +
' padding-bottom : 0px; ' +
' } ' +
// Score/SelectMultiple/ChooseOne
' .inputScoreOne.shadingControlBackground .controlData.selected_border ' +
' ,.inputSelectOne.shadingControlBackground .controlData.selected_border ' +
' ,.inputSelectMany.shadingControlBackground .controlData.selected_border { ' +
' border : 1px solid #FF8000 !important; ' +
' } ' +
// Group
' .shadingControlBackground4Group .groupLoop .controlLabelOnly4Group { ' +
' background: #background#; ' +
' color: #color#; ' +
' } ' +
// Table/Grid/Questionnaire highlight color
' .formView .ctrlGrid table tr.oddRow td, ' +
' .formView .ctrlTable table tr.oddRow td, ' +
' .formView .ctrlTable table tr.oddRow th, ' +
' .formView .ctrlGrid table td.oddCell, ' +
' .formView .ctrlTable td.backgroundShading4Container, ' +
' .formView .ctrlTable th.backgroundShading4Container, ' +
' .formView .ctrlGrid td.backgroundShading4Container, ' +
' .formView .ctrlGrid th.backgroundShading4Container, ' +
' .formView .ctrlScoreTable table tr.oddRow td, ' +
' .formView .ctrlScoreTable table tr.oddRow th ' +
' { ' +
' background : #background# !important; ' +
' } ' +
' .formView .ctrlGrid.gridType_captionRowBased .oddRow .controlLabel, ' +
' .formView .ctrlGrid.gridType_captionRowBased table .controlHint, ' +
' .formView .ctrlGrid.gridType_captionColumnBased .oddCell .controlLabel,' +
' .formView .ctrlGrid.gridType_captionColumnBased .oddCell .controlHint,' +
' .formView .ctrlTable table th, ' +
' .formView .ctrlScoreTable table th ' +
' { ' +
' color : #color# !important; ' +
' } ' +
// The padding of Group
' .formView .group .controlInfo { ' +
' margin-left: 0px !important; ' +
' } ' +
// Score Summary
' .formView .scoreSummary.shadingControlBackground table .smCategory { ' +
' padding-left : 5px !important; ' +
' } ' +
// Hints
' .shadingControlBackground .controlHint { ' +
' background: #background#; ' +
' color: #color# !important; ' +
' padding-left: 5px !important; ' +
' border-left : 1px solid #border_color#; ' +
' border-right : 1px solid #border_color#; ' +
' } '
// error mesage
' .shadingControlBackground .controlInfMsg { ' +
' background: #background#; ' +
' color: #color# !important; ' +
' padding-left: 5px !important; ' +
' border-left : 1px solid #border_color#; ' +
' border-right : 1px solid #border_color#; ' +
' } '
;
var hints4ShadeHeadings =
// Hack for Selected Hints
' .formView .shadingControlBackground.ctrl_selected .controlHint { ' +
' color: #color# !important; ' +
' } ' +
// Media controls (Sketch/Signature/Image/Audio/Video)
' .formView .inputSketch.shadingControlBackground .controlHint ' +
' ,.formView .inputSignature.shadingControlBackground .controlHint ' +
' ,.formView .inputImage.shadingControlBackground .controlHint ' +
' ,.formView .inputAudio.shadingControlBackground .controlHint ' +
' ,.formView .inputVideo.shadingControlBackground .controlHint ' +
' { ' +
' border-bottom: 1px solid #border_color# !important; ' +
' } '
;
*/
// PCA-265: Web AppPreview support for color option in Grids, questionnaires and Tables
// PCA-392: WebApp/Preview - Apply changes regarding border option
// fix bug CO-1216 The form appearance properties are not taking effect when previewing the form
if (glbBuildFormSettingsWA.isShadedheadings === true
|| glbBuildFormSettingsWA.isShadedRow === true
|| glbBuildFormSettingsWA.isBorderAroundHeading === true
|| glbBuildFormSettingsWA.isAnswerColor === true
) {
// PCA-178: Web App support for Shading and Spacing (custom options)
var classShadeHeadings =
TEMPLATE_SHADE_HEADINGS_WEBAPP_GENERAL
+ TEMPLATE_SHADE_HEADINGS_WEBAPP_LOCATION
+ TEMPLATE_SHADE_HEADINGS_WEBAPP_CHOOSE_ONE_SEL_MULTIPLE
+ TEMPLATE_SHADE_HEADINGS_WEBAPP_GROUP
+ TEMPLATE_SHADE_HEADINGS_WEBAPP_TABLE_CONTAINER
+ TEMPLATE_SHADE_HEADINGS_WEBAPP_SCORE_SUMMARY
+ TEMPLATE_SHADE_HEADINGS_WEBAPP_MEDIA
;
// Apply active box color for WebApps GUI
if (isVersion(VERSION_ACTIVE_BOX)) {
if (glbBuildFormSettingsWA.isActiveBox) {
var activeBoxColor = glbBuildFormSettingsWA.activeBoxColor;
classShadeHeadings += TEMPLATE_SHADE_HEADINGS_ACTIVE_BOX_COLOR;
classShadeHeadings = classShadeHeadings
.replace(/#selected_border_color#/g, activeBoxColor);
}
}
// Process Answer Color for Web forms GUI
if (isVersion(VERSION_ANSWER_COLOR)) {
if (glbBuildFormSettingsWA.isAnswerColor) {
var answerColor = glbBuildFormSettingsWA.answerColor;
classShadeHeadings += TEMPLATE_SHADE_HEADINGS_ANSWER_COLOR;
classShadeHeadings = classShadeHeadings
.replace(/#answer_color_class#/g, 'addAnswerColor')
.replace(/#answer_color#/g, answerColor);
}
}
// Apply shade headings for header/hints
if (glbBuildFormSettingsWA.isShadedheadings === true) {
classShadeHeadings = classShadeHeadings.replace(/#background#/g, glbBuildFormSettingsWA.headingColor);
classShadeHeadings = classShadeHeadings.replace(/#color#/g, glbBuildFormSettingsWA.textColor);
if(isVersion(VERSION_APPEARANCE_ACTIVE_TEXT)){
classShadeHeadings = classShadeHeadings.replace(/#active_text_color#/g, glbBuildFormSettingsWA.activeTextColor);
}
} else {
classShadeHeadings = classShadeHeadings.replace(/#background#/g, CONST_VALUE_INITIAL);
}
// Replace the main heading class
classShadeHeadings = classShadeHeadings.replace(/#class_name#/g, 'shadingControlBackground');
// Replace the container heading class (Table/Grid/Questionnaire)
classShadeHeadings = classShadeHeadings.replace(/#class_name_tbl#/g, 'shadingControlBackground4TableDefault');
// Check if we need apply border around heading
// if (glbBuildFormSettingsWA.isShadedheadings === true) {
// if (glbBuildFormSettingsWA.isBorderAroundHeading === true) {
// classShadeHeadings = classShadeHeadings.replace(/#border_color#/g, FORMVIEW_BORDER_COLOR);
// } else {
// // Get the same color as background
// classShadeHeadings = classShadeHeadings.replace(/#border_color#/g, glbBuildFormSettingsWA.headingColor);
// }
// }
// PCA-392: WebApp/Preview - Apply changes regarding border option
if (glbBuildFormSettingsWA.isBorderAroundHeading === true) {
classShadeHeadings = classShadeHeadings.replace(/#border_color#/g, FORMVIEW_BORDER_COLOR);
} else {
// Get the same color as background
classShadeHeadings = classShadeHeadings.replace(/#border_color#/g, glbBuildFormSettingsWA.headingColor);
}
// PCA-265: Web AppPreview support for color option in Grids, questionnaires and Tables
// Shaded rows
if (glbBuildFormSettingsWA.isShadedRow === true) {
classShadeHeadings = classShadeHeadings.replace(/#background_shade_row#/g, glbBuildFormSettingsWA.rowColor);
classShadeHeadings = classShadeHeadings.replace(/#color_text_row#/g, glbBuildFormSettingsWA.rowTextColor);
} else {
classShadeHeadings = classShadeHeadings.replace(/#background_shade_row#/g, 'transparent');
}
// Apply padding-left, top, bottom for header
// in case of SHADE HEADINGs or BORDER AROUND HEADINGs
// Fix bug 0025944: image text of Action button does not show
if (glbBuildFormSettingsWA.isShadedheadings === true
|| glbBuildFormSettingsWA.isBorderAroundHeading === true) {
classShadeHeadings = classShadeHeadings.replace(/_padding-top_/g, 'padding-top');
// Customer's request : Ignore padding left with Shading Header/Hints
// The problem is the inconsistencies between in grid and out of grid. Need to always be consistent.
//classShadeHeadings = classShadeHeadings.replace(/_padding-left_/g, 'padding-left');
if (glbBuildFormSettingsWA.isBorderAroundHeading === true) {
classShadeHeadings = classShadeHeadings.replace(/_padding-left_/g, 'padding-left');
classShadeHeadings = classShadeHeadings.replace(/_padding-right_/g, 'padding-right');
} else {
// No Padding Left
classShadeHeadings = classShadeHeadings.replace(/__padding-left__/g, 'padding-left');
classShadeHeadings = classShadeHeadings.replace(/__padding-right__/g, 'padding-right');
}
classShadeHeadings = classShadeHeadings.replace(/_padding-bottom_/g, 'padding-bottom');
} else {
classShadeHeadings = classShadeHeadings.replace(/__padding-top__/g, 'padding-top');
// Customer's request : Ignore padding left with Shading Header/Hints
// The problem is the inconsistencies between in grid and out of grid. Need to always be consistent.
classShadeHeadings = classShadeHeadings.replace(/__padding-left__/g, 'padding-left');
classShadeHeadings = classShadeHeadings.replace(/__padding-right__/g, 'padding-right');
classShadeHeadings = classShadeHeadings.replace(/__padding-bottom__/g, 'padding-bottom');
}
$('#customStyle4ShadingControlBackground').html(classShadeHeadings);
} else {
//$('#customStyle4ShadingControlBackground').html('');
var classShadeHeadings = TEMPLATE_SHADE_HEADINGS_WEBAPP_TABLE_CONTAINER;
// Apply active box color for WebApps GUI
if (isVersion(VERSION_ACTIVE_BOX)) {
if (glbBuildFormSettingsWA.isActiveBox) {
var activeBoxColor = glbBuildFormSettingsWA.activeBoxColor;
classShadeHeadings += TEMPLATE_SHADE_HEADINGS_ACTIVE_BOX_COLOR;
classShadeHeadings = classShadeHeadings
.replace(/#selected_border_color#/g, activeBoxColor);
}
}
// Process Answer Color for Web forms GUI
if (isVersion(VERSION_ANSWER_COLOR)) {
if (glbBuildFormSettingsWA.isAnswerColor) {
var answerColor = glbBuildFormSettingsWA.answerColor;
classShadeHeadings += TEMPLATE_SHADE_HEADINGS_ANSWER_COLOR;
classShadeHeadings = classShadeHeadings
.replace(/#answer_color#/g, answerColor);
}
}
// Replace the main heading class
//classShadeHeadings = classShadeHeadings.replace(/#class_name#/g, 'shadingControlBackground');
// Do not draw border for header
// Get the same color as background
// PCA-392: WebApp/Preview - Apply changes regarding border option
classShadeHeadings = classShadeHeadings.replace(/#border_color#/g, 'transparent');
// Replace the container heading class (Table/Grid/Questionnaire) IN DEFAULT
classShadeHeadings = classShadeHeadings.replace(/#class_name_tbl#/g, 'shadingControlBackground4TableDefault');
classShadeHeadings = classShadeHeadings.replace(/#background_shade_row#/g, 'transparent');
//classShadeHeadings = classShadeHeadings.replace(/#color_text_row#/g, glbBuildFormSettingsWA.rowTextColor);
// Clear background of shading top row
classShadeHeadings = classShadeHeadings.replace(/#background#/g, CONST_VALUE_INITIAL);
$('#customStyle4ShadingControlBackground').html(classShadeHeadings);
}
/*
// The config for shading of Button controls (Date/Counter/...)
var classShadeHeadings4Button =
' .formView .shadingButtonCtrlBackgrnd .normalNowBtn ' +
' ,.formView .shadingButtonCtrlBackgrnd .tblCellNowBtn ' +
' ,.formView .shadingButtonCtrlBackgrnd .btn-style ' +
' ,.formView .shadingButtonCtrlBackgrnd .grid-btn-style ' +
' ,.formView .shadingButtonCtrlBackgrnd .btnUpDownCustomShading ' +
' ,.formView .shadingButtonCtrlBackgrnd .btnUpDownCustomShading4Table ' +
' ,.formView .shadingButtonCtrlBackgrnd .btnCustomNoShading ' +
' ,.formView .shadingButtonCtrlBackgrnd .normalScanBtn.normal-btn-style ' +
' { ' +
' background: #background# !important; ' +
' } ' +
' .formView .shadingButtonCtrlColorBackgrnd .normalNowBtn ' +
' ,.formView .shadingButtonCtrlColorBackgrnd .tblCellNowBtn ' +
' ,.formView .shadingButtonCtrlColorBackgrnd .btn-style ' +
' ,.formView .shadingButtonCtrlColorBackgrnd .grid-btn-style ' +
' ,.formView .shadingButtonCtrlBackgrnd .btnUpDownCustomShading ' +
' ,.formView .shadingButtonCtrlBackgrnd .btnUpDownCustomShading4Table ' +
' ,.formView .shadingButtonCtrlBackgrnd .btnCustomNoShading ' +
' ,.formView .shadingButtonCtrlBackgrnd .normalScanBtn.normal-btn-style ' +
' { ' +
' color: #color# !important; ' +
' } '
;
*/
// PCA-178: Web App support for Shading and Spacing (custom options)
var classShadeHeadings4Button = TEMPLATE_SHADE_BUTTON_TEXT_WEBAPP;
if (glbBuildFormSettingsWA.isButtonShades === true) {
// Apply shade headings for buttons
classShadeHeadings4Button = classShadeHeadings4Button.replace(/#background#/g, glbBuildFormSettingsWA.buttonShadesColor);
classShadeHeadings4Button = classShadeHeadings4Button.replace(/#color#/g, glbBuildFormSettingsWA.buttonTextColor);
// Replace class : shadingButtonCtrlBackgrnd, shadingButtonCtrlColorBackgrnd
classShadeHeadings4Button = classShadeHeadings4Button.replace(/#class_name_shade#/g, 'shadingButtonCtrlBackgrnd');
classShadeHeadings4Button = classShadeHeadings4Button.replace(/#class_name_color#/g, 'shadingButtonCtrlColorBackgrnd');
// Add the class for group
var cls4ButtonGroup = TEMPLATE_SHADE_BUTTON_GROUP_WEBAPP;
cls4ButtonGroup = cls4ButtonGroup.replace(/#background#/g, glbBuildFormSettingsWA.buttonShadesColor);
cls4ButtonGroup = cls4ButtonGroup.replace(/#color#/g, glbBuildFormSettingsWA.buttonTextColor);
cls4ButtonGroup = cls4ButtonGroup.replace(/#class_name_shade#/g, 'shadingButtonCtrlBackgrnd4Group');
cls4ButtonGroup = cls4ButtonGroup.replace(/#class_name_color#/g, 'shadingButtonCtrlColorBackgrnd4Group');
classShadeHeadings4Button += cls4ButtonGroup;
// PCA-250: Web App/Preview support for button color
if (isVersion(VERSION_SHADINGS_ACTIVE_BUTTON_COLOR)) {
var activeButtonColor = TEMPLATE_SHADE_HEADINGS_ACTIVE_BUTTON_COLOR;
activeButtonColor = activeButtonColor.replace(/#class_name_color#/g, 'shadingButtonCtrlColorBackgrnd');
activeButtonColor = activeButtonColor.replace('#color#', glbBuildFormSettingsWA.activeButtonTextColor);
classShadeHeadings4Button += '\n' + activeButtonColor;
// Add button in group
var activeBtnColor4Group = TEMPLATE_SHADE_HEADINGS_ACTIVE_BUTTON_COLOR_4GROUP;
activeBtnColor4Group = activeBtnColor4Group.replace(/#class_name_color#/g, 'shadingButtonCtrlColorBackgrnd4Group');
activeBtnColor4Group = activeBtnColor4Group.replace('#color#', glbBuildFormSettingsWA.activeButtonTextColor);
//classShadeHeadings4Button += '\n' + activeBtnColor4Group;
// Add to general template (active control)
listCustomCtrlOptions4WAShadingsActiveColor.push(activeBtnColor4Group);
//writeToLogInfo('classShadeHeadings4Button BUILD FORMs : ' + classShadeHeadings4Button);
}
//CO-2051
if(glbBuildFormSettingsWA && glbBuildFormSettingsWA.buttonShadesColor) {
classShadeHeadings4Button += '.svgShadeColors svg path {fill: ' + glbBuildFormSettingsWA.buttonShadesColor + '!important;}';
}
//CO-2051
// CO-6355: Add options to action button appearance
if (isVersion(VERSION_APPEARANCE_BUTTON_BORDER_COLOR)) {
var buttonBorderColor = TEMPLATE_SHADE_HEADINGS_BUTTON_BORDER_COLOR;
buttonBorderColor = buttonBorderColor.replace(/#class_name_color#/g, 'shadingButtonCtrlColorBackgrnd');
buttonBorderColor = buttonBorderColor.replace('#color#', glbBuildFormSettingsWA.buttonBorderColor);
if(glbBuildFormSettingsWA.btnRoundedCorners == true){
buttonBorderColor = buttonBorderColor.replace('#border-radius#', CONST_BTN_ROUNDED_CORNERS_RADIUS);
}else{
buttonBorderColor = buttonBorderColor.replace('#border-radius#', 'initial');
}
classShadeHeadings4Button += '\n' + buttonBorderColor;
// Add to general template (active control)
listCustomCtrlOptions4WAShadingsButtonBorderColor.push(buttonBorderColor);
}
$('#customStyle4ShadingButtonCtrlBackgrnd').html(classShadeHeadings4Button);
} else {
$('#customStyle4ShadingButtonCtrlBackgrnd').html('');
}
}
/**
* Process update all information getting from server into global variables
* (helper function for PDF)
*/
function updateGlobalVariable4ShaddingAndButtonTextBuildFormsInPDF(response) {
// Check version for current apply general in shading
if ( !isVersion(VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP)
&& !isVersion(VERSION_SHADINGS_BUTTON_FOR_PDF)) {
return;
}
// Reset the array data using in Shading layout
listOptionsControls4WAShadings = new Array();
listMediaControls4WAShadings = new Array();
listCounterControls4WAShadings = new Array();
listContainerControls4WAShadings = new Array();
// List Signature control inside Grid/Table for adjust layout later
listSignatureControlsGridTable4WA = new Array();
// PCA-178: Web App support for Shading and Spacing (custom options)
listCustomCtrlOptions4WAShadings = new Array();
indxCustomCtrlOptions4WAShadings = 0;
// PCA-250: Web App/Preview support for button color
listCustomCtrlOptions4WAShadingsActiveColor = new Array();
indxCustomCtrlOptions4WAShadingsActiveColor = 0;
// CO-6355: Add options to action button appearance
listCustomCtrlOptions4WAShadingsButtonBorderColor = new Array();
indxCustomCtrlOptions4WAShadingsButtonBorderColor = 0;
// In case response == NULL or undefined, we will reset all value
if (typeof response === 'undefined' || response === null
|| response.buildFormSetting === undefined || response.buildFormSetting === null) {
// Reset into default value
glbBuildFormSettingsWA.isShadedheadings = false;
glbBuildFormSettingsWA.headingColor = '';
glbBuildFormSettingsWA.textColor = '';
glbBuildFormSettingsWA.activeTextColor = '';
glbBuildFormSettingsWA.isBorderAroundHeading = false;
// Process Answer Color for PrintPreview/Standard PDF
glbBuildFormSettingsWA.isAnswerColor = false;
glbBuildFormSettingsWA.answerColor = '';
// CO-314 : Add Caption Text Color in Table form web forms
glbBuildFormSettingsWA.answerBGColor = '';
// Apply []Remove border around answer
glbBuildFormSettingsWA.removeAnswerBorder = false;
glbBuildFormSettingsWA.isButtonShades = false;
glbBuildFormSettingsWA.buttonShadesColor = '';
glbBuildFormSettingsWA.buttonTextColor = '';
// PCA-265: Web AppPreview support for color option in Grids, questionnaires and Tables
glbBuildFormSettingsWA.isShadedRow = false;
glbBuildFormSettingsWA.rowTextColor = '';
glbBuildFormSettingsWA.rowColor = '';
// Label coloring config
glbBuildFormSettingsWA.labelShading = '';
glbBuildFormSettingsWA.labelLineColor = '';
glbBuildFormSettingsWA.labelHeadingColor = '';
glbBuildFormSettingsWA.labelTextColor = '';
return;
}
var buildFormSetting = response.buildFormSetting;
// Get information from buildFormSetting
// Fill information from server into global values (retrieve from BuildForms)
glbBuildFormSettingsWA.isShadedheadings = buildFormSetting.isShadedheadings;
if (glbBuildFormSettingsWA.isShadedheadings === true) {
glbBuildFormSettingsWA.headingColor = buildFormSetting.headingColor;
glbBuildFormSettingsWA.textColor = buildFormSetting.textColor;
glbBuildFormSettingsWA.activeTextColor = buildFormSetting.activeTextColor;
}
glbBuildFormSettingsWA.isBorderAroundHeading = buildFormSetting.isBorderAroundHeading;
// Apply active box color for WebApps GUI
if (isVersion(VERSION_ACTIVE_BOX)) {
glbBuildFormSettingsWA.isActiveBox = buildFormSetting.isActiveBox;
glbBuildFormSettingsWA.activeBoxColor = buildFormSetting.activeBoxColor;
}
// Process Answer Color for Web forms GUI
if (isVersion(VERSION_ANSWER_COLOR)) {
glbBuildFormSettingsWA.isAnswerColor = buildFormSetting.isAnswerColor;
glbBuildFormSettingsWA.answerColor = buildFormSetting.answerColor;
// CO-314 : Add Caption Text Color in Table form web forms
glbBuildFormSettingsWA.answerBGColor = buildFormSetting.answerBGColor;
}
// Apply []Remove border around answer
if (isVersion(VERSION_REMOVE_ANSW_BORDER)) {
glbBuildFormSettingsWA.removeAnswerBorder = buildFormSetting.isRemoveBorderAroundAnswer;
}
// PCA-265: Web AppPreview support for color option in Grids, questionnaires and Tables
// PCA-266: Print PreviewPDF support for color option in Grids, questionnaires and Tables
glbBuildFormSettingsWA.isShadedRow = buildFormSetting.isShadedRow;
glbBuildFormSettingsWA.rowTextColor = buildFormSetting.rowTextColor;
glbBuildFormSettingsWA.rowColor = buildFormSetting.rowColor;
glbBuildFormSettingsWA.isButtonShades = buildFormSetting.isButtonShades;
glbBuildFormSettingsWA.buttonShadesColor = buildFormSetting.buttonShadesColor;
glbBuildFormSettingsWA.buttonTextColor = buildFormSetting.buttonTextColor;
// Label coloring config
glbBuildFormSettingsWA.labelShading = buildFormSetting.labelShading;
glbBuildFormSettingsWA.labelLineColor = buildFormSetting.labelLineColor;
glbBuildFormSettingsWA.labelHeadingColor = buildFormSetting.labelHeadingColor;
glbBuildFormSettingsWA.labelTextColor = buildFormSetting.labelTextColor;
// Special treating with OLD FORMS, we will create a special settings
applySpecialSettingWithOldFormsInShading(response, glbBuildFormSettingsWA);
// Setting the main class for using Shadding/Button Text color (if needed)
writeToLogInfo(' glbBuildFormSettingsWA : ' + JSON.stringify(glbBuildFormSettingsWA));
if (glbBuildFormSettingsWA.isNewForm4UsingShading === false) {
return;
}
// Check version for shadding in PDF
if (!isVersion(VERSION_SHADINGS_BUTTON_FOR_PDF)) {
return;
}
// Fwd: Questionnaire (9/2/2015 9:22 PM)
// Default old form shading
var defaultOldFormShading =
' .ctrlPOD .invoice_table_wrap .invoice_table_row_highlight:nth-child(n+2), ' +
' .ctrlTable .invoice_table_wrap .invoice_table_row_highlight:nth-child(n+2), ' +
' .ctrlScoreTable .invoice_table_wrap .invoice_table_row_highlight:nth-child(n+2) ' +
' { ' +
' background-color: #E9E9E9 !important; ' +
' } '
;
// PCA-265: Web AppPreview support for color option in Grids, questionnaires and Tables
// PCA-393: PDF/Print - Apply changes regarding border option
if (glbBuildFormSettingsWA.isShadedheadings === true
|| glbBuildFormSettingsWA.isShadedRow === true
|| glbBuildFormSettingsWA.isBorderAroundHeading === true
)
{
// Setting header color GUI
// Adjust CSS style sheet
var classShadeHeadings = TEMPLATE_SHADE_HEADINGS_PDF_CONTAINER;
classShadeHeadings = classShadeHeadings.replace(/#class_name#/g, 'shadingControlBackground4PDF');
// Apply shade headings for header/hints
if (glbBuildFormSettingsWA.isShadedheadings === true) {
classShadeHeadings = classShadeHeadings.replace(/#background#/g, glbBuildFormSettingsWA.headingColor);
if (browserNameGlobal == 'firefox' && glbBuildFormSettingsWA.textColor.toLowerCase() == '#ffffff') {
var tmp = 'rgba(0, 0, 0, 0) !important; text-shadow: 0 0 0 #fff';
classShadeHeadings = classShadeHeadings.replace(/#color#/g, tmp);
}else{
classShadeHeadings = classShadeHeadings.replace(/#color#/g, glbBuildFormSettingsWA.textColor);
}
if(isVersion(VERSION_APPEARANCE_ACTIVE_TEXT)){
if (browserNameGlobal == 'firefox' && glbBuildFormSettingsWA.activeTextColor.toLowerCase() == '#ffffff') {
var tmp = 'rgba(0, 0, 0, 0) !important; text-shadow: 0 0 0 #fff';
classShadeHeadings = classShadeHeadings.replace(/#active_text_color#/g, tmp);
}else{
classShadeHeadings = classShadeHeadings.replace(/#active_text_color#/g, glbBuildFormSettingsWA.activeTextColor);
}
}
} else {
classShadeHeadings = classShadeHeadings.replace(/#background#/g, CONST_VALUE_INITIAL);
}
// PCA-392: WebApp/Preview - Apply changes regarding border option
// Check if we need apply border around heading
if (glbBuildFormSettingsWA.isBorderAroundHeading === true) {
classShadeHeadings = classShadeHeadings.replace(/#border_color#/g, FORMVIEW_BORDER_COLOR);
} else {
// Get the same color as background
classShadeHeadings = classShadeHeadings.replace(/#border_color#/g, glbBuildFormSettingsWA.headingColor);
}
// PCA-265: Web AppPreview support for color option in Grids, questionnaires and Tables
// Shaded rows
if (glbBuildFormSettingsWA.isShadedRow === true) {
classShadeHeadings = classShadeHeadings.replace(/#background_shade_row#/g, glbBuildFormSettingsWA.rowColor);
classShadeHeadings = classShadeHeadings.replace(/#color_text_row#/g, glbBuildFormSettingsWA.rowTextColor);
} else {
// No shading
classShadeHeadings = classShadeHeadings.replace(/#background_shade_row#/g, 'transparent');
//classShadeHeadings = classShadeHeadings.replace(/#color_text_row#/g, '#000');
// Fwd: Questionnaire (9/2/2015 9:22 PM)
// SHADE DEFAULT FOR FIXED TABLE + QUESTIONNAIRE in case (.)Default Appearance + ()NoShading
// Special treating with Questionnaire + Table, using ()Default apperance + No shading rows
if (glbBuildFormSettingsWA.isNewForm4UsingShading === false) {
classShadeHeadings += defaultOldFormShading;
}
}
$('#customStyle4ShadingControlBackground4PDF').html(classShadeHeadings);
} else {
// PCA-393: PDF/Print - Apply changes regarding border option
// Setting header color GUI
// Adjust CSS style sheet
var classShadeHeadings = TEMPLATE_SHADE_HEADINGS_PDF_CONTAINER;
classShadeHeadings = classShadeHeadings.replace(/#class_name#/g, 'shadingControlBackground4PDF');
// Get the same color as background
classShadeHeadings = classShadeHeadings.replace(/#border_color#/g, 'transparent');
if (glbBuildFormSettingsWA.isNewForm4UsingShading === false) {
// Apply border default for Table/Questionnaire
classShadeHeadings = classShadeHeadings.replace(/#border-left-old#/g, 'border-left');
classShadeHeadings = classShadeHeadings.replace(/#border-top-old#/g, 'border-top');
classShadeHeadings = classShadeHeadings.replace(/#border-right-old#/g, 'border-right');
}
// Fwd: Questionnaire (9/2/2015 9:22 PM)
// Special treating with Questionnaire + Table, using ()Default apperance + No shading rows
if (glbBuildFormSettingsWA.isShadedRow === false) {
//classShadeHeadings += defaultOldFormShading;
}
// SHADE DEFAULT FOR FIXED TABLE + QUESTIONNAIRE in case (.)Default Appearance + ()NoShading
// Special treating with Questionnaire + Table, using ()Default apperance + No shading rows
// Special treating with OLD FORMs.
if (glbBuildFormSettingsWA.isNewForm4UsingShading === false) {
classShadeHeadings += defaultOldFormShading;
} else {
// New form
// No shading
classShadeHeadings = classShadeHeadings.replace(/#background#/g, CONST_VALUE_INITIAL);
// No shade row
classShadeHeadings = classShadeHeadings.replace(/#background_shade_row#/g, CONST_VALUE_INITIAL);
}
$('#customStyle4ShadingControlBackground4PDF').html(classShadeHeadings);
}
}
/**
* Helper function for check if we are setting ShadeHeadings in BuildForms
*/
function hasSettingFormSetting4ShadingHeadings() {
if (isVersion(VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP)) {
// if (glbBuildFormSettingsWA.isShadedheadings === true) {
// return true;
// }
return true;
}
return false;
}
/**
* Helper function for check if we are setting ShadeHeadings in BuildForms
*/
function hasSettingAppearance4ShadingHeadings() {
if (isVersion(VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP)) {
return true;
}
return false;
}
/**
* Get selected control for cloning object, using in WebApps
* https://doforms.atlassian.net/browse/PCA-145 (Implement Shading for webapp)
*
* @param queryString
* @param type
*/
function getSelectedQuery4CloneObjectWA(queryString, type, controlData) {
var $control = null;
// Get control based on current version & setting shading (special treating for media types)
if (isVersion(VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP)) {
// Check if we need create control based on Form Settings/Custom Options
// PCA-178: Web App support for Shading and Spacing (custom options)
// if (glbBuildFormSettingsWA.isShadedheadings === true) {
// $control = $(queryString + '.VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP');
// } else {
// // Special treating with counter question (outside and inside FixedTable)
// if (type === CONST_CTRL_TYPE_INPUTCOUNTER) {
// $control = $(queryString + '.VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP_COUNTER_NOSHADING');
// } else {
// $control = $(queryString + '.OLD_VERSION_LEFT_PREVIEW');
// }
// }
// PCA-293: Webapp/Preview - Apply new block formats for all widgets.
// => We always use the same layout control <=> SHADING
var isShadedheadings = true;
// var isShadedheadings = false;
// var customOptions = new Object();
// if (typeof controlData !== 'undefined') {
// customOptions = getCustomOptionsInObjectWA(controlData);
// }
//
// // Custom Appearance
// if (customOptions.apperance === LABEL_CONSTANTS_VALUE_OPTION_BUILD_FORM_APPEARANCE_CUSTOM) {
// if (customOptions.isShadedHeadings === true) {
// isShadedheadings = true;
// }
// } else {
// // We are in default appearance
// if (glbBuildFormSettingsWA.isShadedheadings === true) {
// isShadedheadings = true;
// }
// }
if (isShadedheadings === true) {
$control = $(queryString + '.VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP');
} else {
// Special treating with counter question (outside and inside FixedTable)
if (type === CONST_CTRL_TYPE_INPUTCOUNTER) {
$control = $(queryString + '.VERSION_SHADINGS_AND_BUTTON_TEXT_WEB_APP_COUNTER_NOSHADING');
} else {
$control = $(queryString + '.OLD_VERSION_LEFT_PREVIEW');
}
}
} else {
// Get old version
$control = $(queryString + '.OLD_VERSION_LEFT_PREVIEW');
}
// Safety check getting the master clone object
if ($control == null || $control.length <= 0) {
$control = $(queryString);
}
return $control;
}
/**
* Generate Embbed Static Map based on parameters
*/
function getEmbbedStaticGPSMapImageGeneral(latitude, longtitude, zoom, width, height, scale, iconPath, sensor) {
// Check version of using EmbbedStaticGPS map
if (!isVersion(VERSION_EMBBED_STATIC_GPS_MAP_IMAGE)) {
return '';
}
// Set default value for all parameters
if (typeof zoom === 'undefined') { zoom = 15; }
// Setting width = height = height of Image Widget (200px)
if (typeof width === 'undefined') { width = 200; }
if (typeof height === 'undefined') { height = 200; }
if (typeof scale === 'undefined') { scale = 1; }
if (typeof sensor === 'undefined') { sensor = CONST_VALUE_FALSE_STR; }
// Get icon path same as Mobile Device
if (typeof iconPath === 'undefined') { iconPath = 'imageViewer?blobKey=ag9zfm15ZG9mb3Jtcy1ocmRyEwsSCmJsb2Jfc3RvcmUY8vGDcgw'; }
// Validate value of latitude, longtitude
// var curLat = new Number(latitude);
// var curLng = new Number(longtitude);
// Get current URL
// http://maps.googleapis.com/maps/api/staticmap?temp_param=true&zoom=15&size=450x590&scale=2&markers=icon:http://mydoformsdev.appspot.com/map/img/marker.png|-12.039320557541,-51.328125&sensor=true
var URL_TEMPLATE = CONST_GOOGLE_MAP_API_URL + '/maps/api/staticmap?temp_param=true¢er=#latitude#,#longtitude#&zoom=#zoom#&size=#width#x#height#&scale=#scale#&markers=icon:#iconUrl#|#latitude#,#longtitude#&sensor=#sensor#';
// Process URL server based on current full URL
// Adjust URL server into HTTPS protocol in case of main version
var fullUrl = window.location.href;
var domain = /:\/\/([^\/]+)/.exec(fullUrl)[1];
var serverUrl = '';
if (fullUrl.indexOf('https://') == 0) {
serverUrl = 'https://' + domain;
} else {
// Default case
serverUrl = 'http://' + domain;
}
if (serverUrl.indexOf('localhost') > 0 || serverUrl.indexOf('tdchien') > 0) {
serverUrl = CONST_DOFORMS_URL;
}
// We have to ecode iconUrl
iconUrl = serverUrl + '/' + iconPath;
iconUrl = encodeURIComponent(iconUrl);
// Generate final URL
var mapUrl = URL_TEMPLATE;
mapUrl = mapUrl
.replace(/#latitude#/g, latitude)
.replace(/#longtitude#/g, longtitude)
.replace('#zoom#', zoom)
.replace('#width#', width)
.replace('#height#', height)
.replace('#scale#', scale)
.replace('#iconUrl#', iconUrl)
.replace('#server_url#', serverUrl)
.replace('#sensor#', sensor)
;
writeToLogInfo('mapUrl : ' + mapUrl);
return mapUrl;
}
/**
* Check if a string is a number or not
* @param value
*/
function isNumberValueString(value) {
try {
// Parse number value into float type
var numberVal = parseFloat(value);
if (!isNaN(numberVal) && isFinite(value)) {
return true;
}
} catch (e) {
}
return false;
}
function generateExcelTemplate(controls, data){
$.ajax({
url: '/formbuilder/ReportTemplateServlet',
dataType: 'json',
type: 'POST',
data: JSON.stringify({
title: $('.header #renameFormField').val(),
controls: controls,
xform: odkmaker.data.serialize(),
formSettings: odkmaker.data.formSettings,
dynamicTables: data
}),
cache: false,
//async:false,
complete: function() {
//waitForDataLoading(false);
},
success: function(response, status)
{
if(response != undefined
&& response.TemplateKey != undefined){
checkReportTemplateProgress(response.TemplateKey);
} else{
waitForDataLoading(false);
}
},
error: function(request, status, error) {
if(getStatus(request) == 401){
waitForDataLoading(false);
jAlert(msg_read_permission_required);
} else{
// CO-1821: Error when creating report template
try{
var resp = JSON.parse(request.responseText);
if(resp && resp.TemplateKey){
checkReportTemplateProgress(resp.TemplateKey);
} else{
waitForDataLoading(false);
jAlert(msg_error_try);
}
} catch(e){
waitForDataLoading(false);
jAlert(msg_error_try);
}
}
}
});
};
/**
* Helper function for getting custom options (Shading+Button color) in object data
*/
function getCustomOptionsInObjectWA(properties, isForceValue) {
var result = new Object();
if (typeof properties === 'undefined') {
return result;
}
if (typeof isForceValue === 'undefined') {
isForceValue = false;
}
// We always setting all of needed properties
// Get appearance information
var apperance = LABEL_CONSTANTS_VALUE_OPTION_BUILD_FORM_APPEARANCE_DEFAULT;
if (properties.apperance !== undefined) {
apperance = properties.apperance;
if (isForceValue === true && properties.apperance.value !== undefined) {
apperance = apperance.value;
}
}
var textColor = '';
var headingColor = '';
var activeTextColor = '';
var isBorderAroundHeading = false;
var isShadedHeadings = false;
if (properties.shadedHeadings !== undefined) {
var sHds = properties.shadedHeadings;
if (isForceValue === true && sHds.value !== undefined) {
sHds = sHds.value;
}
isShadedHeadings = sHds.isShadedHeadings;
headingColor = sHds.headingColor;
textColor = sHds.textColor;
activeTextColor = sHds.activeTextColor;
isBorderAroundHeading = sHds.isBorderAroundHeading;
isShadedHeadings = sHds.isShadedHeadings;
}
// Shade headings
result.apperance = apperance;
result.textColor = textColor;
result.headingColor = headingColor;
result.activeTextColor = activeTextColor;
result.isBorderAroundHeading = isBorderAroundHeading;
result.isShadedHeadings = isShadedHeadings;
// Button text
var isShadedButton = false;
var btnTextColor = '';
var activeBtnTextColor = '';
var btnSheadingColor = '';
if (properties.shadedButton !== undefined) {
var sBtn = properties.shadedButton;
if (isForceValue === true && sBtn.value !== undefined) {
sBtn = sBtn.value;
}
btnTextColor = sBtn.btnTextColor;
activeBtnTextColor = sBtn.activeBtnTextColor;
btnSheadingColor = sBtn.btnSheadingColor;
}
result.isShadedButton = isShadedButton;
result.btnTextColor = btnTextColor;
result.activeBtnTextColor = activeBtnTextColor;
result.btnSheadingColor = btnSheadingColor;
// // PCA-265: Web AppPreview support for color option in Grids, questionnaires and Tables
var isShadedRow = false;
var rowTextColor = '';
var rowColor = '';
if (properties.shadedRow !== undefined) {
var sRow = properties.shadedRow;
if (isForceValue === true && sRow.value !== undefined) {
sRow = sRow.value;
}
isShadedRow = sRow.isShadedRow;
rowTextColor = sRow.rowTextColor;
rowColor = sRow.rowColor;
}
result.isShadedRow = isShadedRow;
result.rowTextColor = rowTextColor;
result.rowColor = rowColor;
return result;
}
//The flag about writing log in JavaScript
//(only affected in localhost
//or response.isNeedWriteLogInfoValueFlg getting from server is TRUE
var isNeedWriteLogInfoValueFlg = null;
/**
* Write data to log for debug
* @param {} data
*/
function writeToLogInfo(data, status, error) {
try {
// Do nothing
if (isNeedWriteLogInfoValueFlg === false) { return; }
// Check the flag isNeedWriteLogInfoValueFlg
else if (isNeedWriteLogInfoValueFlg === null) {
// Setting value for isNeedWriteLogInfoValueFlg (only once)
// Default will be false
isNeedWriteLogInfoValueFlg = false;
// Check URL (with localhost, we will allow log information)
var serverUrl = window.location.toString();
if (serverUrl.indexOf('http://localhost:') === 0) {
isNeedWriteLogInfoValueFlg = true;
} else
{
// Fix bug 0022726: PDF-Excel Report and Print Preview - Duplicate file when save file from 2 record different
// Get cacheId from current request
var cacheId = getQuerystring('cacheId');
// Getting isNeedWriteLogInfoValueFlg from server session
$.ajax({
url : '/pagesettings',
dataType : 'json',
type : 'POST',
data : {
action : 'get_isNeedWriteLogInfoValueFlg'
// Fix bug 0022726: PDF-Excel Report and Print Preview - Duplicate file when save file from 2 record different
,cacheId : cacheId
},
cache : false,
success : function(response, status) {
try {
isNeedWriteLogInfoValueFlg = response.isNeedWriteLogInfoValueFlg;
if (isNeedWriteLogInfoValueFlg === true) {
var strMsg = data;
if (status != undefined && status != null) {
strMsg += ' -- status : ' + status;
}
if (error != undefined && error != null) {
strMsg += ' -- error : ' + error;
}
}
} catch (e) {
// todo: handle exception
}
}
});
}
}
// Check again
if (isNeedWriteLogInfoValueFlg === false) { return; }
var strMsg = data;
if (status != undefined && status != null) {
strMsg += ' -- status : ' + status;
}
if (error != undefined && error != null) {
strMsg += ' -- error : ' + error;
}
console.log(strMsg);
} catch (ex) {}
}
/**
* Write data to log for debug
* (Only use this function when you always want to write log [in actual server])
* @param {} data
*/
function writeToLogInfoRequired(data, status, error) {
try {
var strMsg = data;
if (status != undefined && status != null) {
strMsg += ' -- status : ' + status;
}
if (error != undefined && error != null) {
strMsg += ' -- error : ' + error;
}
console.log(strMsg);
} catch (ex) {}
}
function highlightInElement(elementId, text){
var elementHtml = document.getElementById(elementId).innerHTML;
var tags = [];
var tagLocations= [];
var htmlTagRegEx = /<{1}\/{0,1}\w+>{1}/;
//Strip the tags from the elementHtml and keep track of them
var htmlTag;
while(htmlTag = elementHtml.match(htmlTagRegEx)){
tagLocations[tagLocations.length] = elementHtml.search(htmlTagRegEx);
tags[tags.length] = htmlTag;
elementHtml = elementHtml.replace(htmlTag, '');
}
//Search for the text in the stripped html
var textLocation = elementHtml.search(text);
if(textLocation){
//Add the highlight
var highlightHTMLStart = '';
var highlightHTMLEnd = ' ';
elementHtml = elementHtml.replace(text, highlightHTMLStart + text + highlightHTMLEnd);
//plug back in the HTML tags
var textEndLocation = textLocation + text.length;
for(i=tagLocations.length-1; i>=0; i--){
var location = tagLocations[i];
if(location > textEndLocation){
location += highlightHTMLStart.length + highlightHTMLEnd.length;
} else if(location > textLocation){
location += highlightHTMLStart.length;
}
elementHtml = elementHtml.substring(0,location) + tags[i] + elementHtml.substring(location);
}
}
}
function scrollToElementContaintText(container, text){
var controls = container.find('div.control');
if(!searchTextInfo){
searchTextInfo = {};
}
if(!searchTextInfo.currentCtrlIndex){
searchTextInfo.currentCtrlIndex = 0;
}
var found = false;
var curentIndex = searchTextInfo.currentCtrlIndex + 1;
var countDown = controls.length + 1;
var scrollTo = undefined;
text = text.toLowerCase();
while(countDown >=0 && !found){
if(curentIndex >= controls.length){
curentIndex = 0;
}
var ctrlText = $(controls[curentIndex]).text().toLowerCase();
if(ctrlText.indexOf(text)>=0){
found = true;
searchTextInfo.currentCtrlIndex = curentIndex;
scrollTo = $(controls[curentIndex]);
}
curentIndex ++;
countDown --;
}
if(found){
container.animate({
scrollTop: scrollTo.offset().top - container.offset().top + container.scrollTop()
});
scrollTo.click();
}else{
alert('Can\'t find the text "' + text + '"');
searchTextInfo.currentCtrlIndex = 0;
}
}
var isActiveDispatchTab = function() {
if(authNS.currentUser != undefined && authNS.currentUser.Roles != undefined
&& (authNS.currentUser.Roles & USER_ROLE_DISPATCH) > 0) {
return true;
}
return false;
}
var isActiveViewDataTab = function() {
if(authNS.currentUser != undefined && authNS.currentUser.Roles != undefined
&& (authNS.currentUser.Roles & USER_ROLE_VIEW_DATA) > 0) {
return true;
}
return false;
}
var isActiveBuildFormTab = function() {
if(authNS.currentUser != undefined && authNS.currentUser.Roles != undefined
&& (authNS.currentUser.Roles & USER_ROLE_BUILD_FORM) > 0) {
return true;
}
return false;
}
var isActiveBuildReportTab = function() {
if(authNS.currentUser != undefined && authNS.currentUser.Roles != undefined
&& (authNS.currentUser.Roles & USER_ROLE_BUILD_REPORT) > 0) {
return true;
}
return false;
}
var isActiveManageTab = function() {
if(authNS.currentUser != undefined && authNS.currentUser.Roles != undefined
&& (authNS.currentUser.Roles & USER_ROLE_MANAGE) > 0) {
return true;
}
return false;
}
var isActiveMyAccountTab = function() {
if(authNS.currentUser != undefined && authNS.currentUser.Roles != undefined
&& (authNS.currentUser.Roles & USER_ROLE_ACCOUNT_MANAGE) > 0) {
return true;
} else if(role != undefined && (role & USER_ROLE_ACCOUNT_MANAGE) > 0) {
return true;
}
return false;
}
var isReadUser = function() {
if(authNS.currentUser != undefined && authNS.currentUser.PrivilegeNew != undefined
&& (authNS.currentUser.PrivilegeNew & USER_PRIVILEGE_NEW_READ) > 0) {
return true;
}
return false;
}
var isAddEditUser = function() {
if(authNS.currentUser != undefined && authNS.currentUser.PrivilegeNew != undefined
&& (authNS.currentUser.PrivilegeNew & USER_PRIVILEGE_NEW_ADD_EDIT) > 0) {
return true;
}
return false;
}
/**
* Process show Fancybox for FormPreview
* Ripped code from auth.js,
* $.live('.toolbarWebAppIcon4View .fvNewForm', 'click', function(event)
* ...
*/
function processShowFormPreviewInFancyboxWAGeneral(urlPreview, closeFunction) {
var $link = $(' ');
$link.attr('href', urlPreview)
.fancybox({
"width": a4ScreenWidth
, "height": a4ScreenHeight
, "modal": true
, "showCloseButton": true
, "autoScale": false
, "transitionIn": CONST_VALUE_NONE
, "transitionOut": CONST_VALUE_NONE
, "type" : "iframe"
// Fix bug 0020886: Background color of tool tip aren't same color
// Fix bug 0020931: Add record: Strange text in "Select Schedule Time"
, "titleShow" : false // Hide title setting in ToolTip
, onStart : function(){
$("body").css({"overflow-x":"hidden"});
}
, onClosed : function(){
editting = CONST_VALUE_FALSE_STR;
$("body").css({"overflow-x":"visible"});
// Execute the custom function (if exists)
if (typeof closeFunction !== 'undefined' && closeFunction !== null) {
closeFunction.call(this);
}
}
});
$link.click();
}
function dateToString(date) {
if(undefined == date) {
return "";
}
var yyyy = date.getFullYear().toString();
var mm = (date.getMonth()+1).toString(); // getMonth() is zero-based
var dd = date.getDate().toString();
var delimiter = "/";
return (mm[1]?mm:"0"+mm[0]) + delimiter + (dd[1]?dd:"0"+dd[0]) + delimiter +yyyy ; // padding
}
/**
* Special function for checking Safari version lower 7.1
* (can use the CSS display:flex)
* @returns {Boolean}
*/
function checkBrowserSafariVersionLower714WebApps() {
try {
var browserName = getBrowserInfo();
if (browserName == 'safari')
{
// Check version
var uaCheck = navigator.userAgent.toLowerCase();
// Sample : mozilla/5.0 (windows nt 5.1) applewebkit/534.57.2 (khtml, like gecko) version/5.1.7 safari/534.57.2
var versionCheck = uaCheck.replace(/^.+version\/(.+?) .+$/, '$1');
return true;
// if (versionCheck < '7.1') {
//
// return true;
// }
}
} catch (e) {
// Exception occur
}
return false;
}
var fvActiveTab = 'formTab';
var fvIncompleteFormActiveTab = 'reviewIncompleteTab';
var fvJobsActiveTab = CONST_JOB_ALL_TAB;
function initMainMenuIcon(){
if(!hasPopupMainMenuItem()){
$('#fvmain_menu li.mainMenuIcon').addClass(CONST_CSS_CLASS_HIDE_SESSION);
}else{
$('#fvmain_menu li.mainMenuIcon.hideSession').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
}
$('#fvmain_menu li.mainMenuIcon #mainMenuIcon').off().click(function(){
if(parent != undefined && parent.previewMode != undefined) {
parent.previewMode.width = undefined;
parent.previewMode.height = undefined;
}
var offset = $(this).offset();
var height = $(this).height();
var width = $(this).width();
var top = offset.top + height + 5;
var left = offset.left;
showPopupMainMenu(top, left);
});
$('#fvmain_menu li.liFvFullScreen.hideSession').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
$('#fvmain_menu li.liFvFullScreen #fvFullScreen').off().click(function(){
storeData("fvActiveTab", fvActiveTab);
if(window.location.search.indexOf('?SID=FULLSCREEN') == 0){
parent.window.location.replace("/webclient");
}else{
parent.window.location.replace("/webclient?SID=FULLSCREEN");
}
});
/*if(window.location.search.indexOf('?SID=FULLSCREEN') == 0 || window.parent.location.search.indexOf('?isSubmit=1&id=') == 0){
$('#fvmain_menu li.liFvFullScreen').addClass('fullScreenMode');
}*/
try {
if(window.location.search.indexOf('?SID=FULLSCREEN') == 0
|| (window.parent && window.parent.location && window.parent.location.search
&& window.parent.location.search.indexOf('?isSubmit=1&id=') == 0)){
$('.formViewMain').addClass('fullScreenMode');
$('.formViewMain').addClass('openFormMode');
}
} catch (e) {}
$('#fvmain_menu li.liBackToFormView #fvBackToFormView').off().click(function(){
$('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_forms_icon').click();
});
}
$('#fvmain_menu li.liComponentsInsertForm #fvComponentsInsertForm').off().click(function(){
try {
getParent().componentsManager.isInsertForm = true;
getParent().$.fancybox.close();
} catch (e) {}
});
try {
if(getParent() && getParent().componentsManager && getParent().componentsManager.isComponentsView) {
$('#fvmain_menu li.liComponentsInsertForm').removeClass('hideSession');
}
} catch (e) {}
function showPopupMainMenu(top, right) {
var projects = fvDBInfoNS.projects;
$('.popup-main-menu').css('top', top);
/*
hqkhanh fix 0025474: Web App - Pls move form menu in the right
$('.popup-main-menu').css('right', right);
$('.popup-main-menu').css('left', '50%');
*/
$('.popup-main-menu').css('right', '15px');
$('.popup-main-menu').css('left', 'inherit');
//$('.popup-main-menu').css('left', left + ($('.popup-main-menu').width() / 2));
$('.jqmOverlay:visible').css('opacity', 0);
var scroll_contain = $('.popup-main-menu .scroll_contain').empty();
//var accountMMBItems = $('.fvWorkspaceScrollArea .getStartedInfo .accountMMBItem:visible');
var accountMMBItems = $('.fvWorkspaceScrollArea .getStartedInfo .accountMMBItem');
var hasMenuItem = false;
for(var i=0; i 1){
showValue = authNS.currentUser.show_projects_in_drop_down;
}else{
showValue = false;
}
break;
case 'mb_mmb_forms_icon':
showValue = authNS.currentUser.show_forms_in_drop_down;
break;
case 'mb_mmb_notices_icon':
showValue = authNS.currentUser.show_notices_in_drop_down;
break;
case 'mb_mmb_logout_icon':
showValue = authNS.currentUser.show_logout_in_drop_down;
break;
case 'mb_mmb_exit_icon':
showValue = authNS.currentUser.show_exit_in_drop_down;
break;
case 'mb_mmb_myinformation_icon':
showValue = authNS.currentUser.show_myinformation_in_drop_down;
break;
default:
continue;
}
if(showValue == false){
continue;
}
hasMenuItem = true;
var item = $('');
var menuName = accountMMBItem.find('.accountMMBIconText').text();
item.find('.menu-item-text').empty().append(menuName);
item.attr(CONST_DATA, itemData);
scroll_contain.append(item);
item.off().click(function(){
$('.popup-main-menu').jqmHide();
var menuItemData = $(this).attr(CONST_DATA);
$('.fvWorkspaceScrollArea .getStartedInfo .' + menuItemData).click();
});
}
if(hasMenuItem){
$('.popup-main-menu').jqmShow();
$('.jqmOverlay').off().click(function(){
$('.popup-main-menu').jqmHide();
$('.jqmOverlay').off();
});
}
}
function hasPopupMainMenuItem() {
var accountMMBItems = $('.fvWorkspaceScrollArea .getStartedInfo .accountMMBItem');
var hasMenuItem = false;
for(var i=0; i 1){
showValue = authNS.currentUser.show_projects_in_drop_down;
}else{
showValue = false;
}
break;
case 'mb_mmb_forms_icon':
showValue = authNS.currentUser.show_forms_in_drop_down;
break;
case 'mb_mmb_notices_icon':
showValue = authNS.currentUser.show_notices_in_drop_down;
break;
case 'mb_mmb_logout_icon':
showValue = authNS.currentUser.show_logout_in_drop_down;
break;
case 'mb_mmb_exit_icon':
showValue = authNS.currentUser.show_exit_in_drop_down;
break;
case 'mb_mmb_myinformation_icon':
showValue = authNS.currentUser.show_myinformation_in_drop_down;
break;
default:
continue;
}
if(showValue == false){
continue;
}
hasMenuItem = true;
break;
}
return hasMenuItem;
}
function initMMBIcon(mmbIconOrder, itemPath){
if(mmbIconOrder == undefined){
return;
}
if(!itemPath){
itemPath = '.main_content';
}
try {
mmbIconOrder = jQuery.trim(mmbIconOrder);
mmbIconOrder = mmbIconOrder.replace(',,', ',').replace(', ,', ',');
var tmparr = mmbIconOrder.split(',');
var arr = [];
for(var i = 0; i
';
msg += '';
msg += ''
+ ' '
+ 'Make these my standard settings
';
msg += '';
jConfirm(msg, '', function(result, data){
if(result) {
// if(data.screen_size){
// parent.previewMode.size = data.screen_size;
// if(parent.previewMode.size > 18) {
// parent.previewMode.size = '18';
// }
// } else {
// parent.previewMode.size = 'screen';
// }
// if(data.orientation == 'landscape'){
// parent.previewMode.isLanscapeMode = true;
// }else{
// parent.previewMode.isLanscapeMode = false;
// }
// if(data.display_mode == 'page'){
// parent.previewMode.mode = "page";
// }else{
// parent.previewMode.mode = "device";
// }
// parent.previewMode.isDefault = data.default_setting;
//save setting to form
// if(parent.dataNS.currentForm != undefined && parent.dataNS.currentForm.idTmp != undefined) {
if(!parent.dataNS.currentForm) {
parent.dataNS.currentForm = {};
}
//parent.dataNS.currentForm.previewMode = parent.previewMode.mode;
if(data.display_mode != 'page' && (!data.screen_size || isNaN(data.screen_size)
|| data.screen_size > 18 || data.screen_size < 4)){
jAlert("Invalid screen size.");
return;
}
if(data.display_mode == 'page'){
parent.dataNS.currentForm.previewMode = "page";
//data.screen_size = "";
} else {
parent.dataNS.currentForm.previewMode = "device";
}
if(data.screen_size && !isNaN(data.screen_size)){
parent.dataNS.currentForm.previewSize = data.screen_size;
if(data.screen_size > 18) {
parent.dataNS.currentForm.previewSize = '18';
}
} else if(undefined == parent.dataNS.currentForm.previewSize
|| '' == parent.dataNS.currentForm.previewSize) {
parent.previewMode.size = 'screen';
}
//parent.dataNS.currentForm.previewSize = parent.previewMode.size;
parent.dataNS.currentForm.previewOrientation = data.orientation;
parent.dataNS.currentForm.previewDefault = data.default_setting;
if(parent.dataNS.currentForm.idTmp && parent.dataNS.currentForm.idTmp != '') {
var tmpData = {"formKey":parent.dataNS.currentForm.idTmp,"previewMode":data.display_mode
, "previewSize":data.screen_size
,"previewOrientation":data.orientation,"previewDefault":data.default_setting};
$.ajax({
url: '/PreviewDevicesServlet?action=save_preview_setting',
contentType: 'application/json; charset=UTF-8',
dataType: 'json',
type: 'POST',
data: JSON.stringify(tmpData),
cache: false,
async: false,
complete: function()
{
waitForDataLoading(false);
},
success: function(response, status)
{
deviceList = undefined;
$('.formView .menuIcon .fvFullScreen').click();
$('.addedit_manage_device').jqmHide();
},
error: function(request, status, error)
{
if(getStatus(request) == 401){
jAlert(msg_save_permission_required);
}else{
jAlert(msg_error_try);
}
}
});
}
parent.previewMode.changeMode = true;
parent.jQuery.fancybox.close();
}
});
$('.preview_setting_display .device').off('click').click(function(){
$('.screen_size_row').css(CONST_CSS_KEY_DISPLAY,'table-row');
});
$('.preview_setting_display .page').off('click').click(function(){
$('.screen_size_row').css(CONST_CSS_KEY_DISPLAY,CONST_VALUE_NONE);
});
if(size < 5 && isLandscapeMode) {
$('.preview_setting_container').css('height','150px')
.css('overflow-y','auto').css('width', '105%');
}
});
}
var selectDevice = function(select) {
if($(select).find('.device_type').text() == 'Paper') {
parent.previewMode.mode = "page";
} else {
parent.previewMode.mode = "normal";
}
try {
var tmp = parseInt($(select).find('.device_width').text());
var tmp2 = parseInt($(select).find('.device_height').text());
if(!isNaN(tmp) && !isNaN(tmp2)) {
parent.previewMode.width = tmp;
parent.previewMode.height = tmp2;
}
} catch (e) {}
parent.previewMode.isLanscapeMode = false;
parent.previewMode.changeMode = true;
parent.jQuery.fancybox.close();
}
var appendDeviceManageData = function() {
//var template = $('.manageDevice .example_item');
//$(template).css(CONST_CSS_KEY_DISPLAY,'block').removeClass('example_item');
var container = $('.manageDevice #scroll_contain').empty();
var findStr = jQuery.trim($('.manageDevice .searchValue').val());
for(var i=0; i 1234-56
for (i=0, len=match.length; i 12-3456
if(match.length <= 4){
return match;
}
var partsCount = Math.ceil(match.length / 4);
var index = partsCount - 1;
var i = 1;
while(index > 0){
var pos = match.length - (i*4);
parts[index] = match.substring(pos, pos+4);
i ++;
index--;
}
parts[index] = match.substring(0, match.length - ((partsCount-1)*4));
*/
if (parts.length) {
return parts.join('-');
} else {
return value;
}
}
function getCreditNumber(value){
var v = value.replace(/\s+/g, '').replace(/[^0-9]/gi, '');
var matches = v.match(/\d{1,16}/g);
var match = matches && matches[0] || '';
return match;
}
function getNumberOnly(value){
var v = value.replace(/\s+/g, '').replace(/[^0-9]/gi, '');
var matches = v.match(/\d{1,16}/g);
var match = matches && matches[0] || '';
return match;
}
function formatCreditNumberDisplay(value){
var v = value.replace(/\s+/g, '').replace(/[^0-9]/gi, '');
var matches = v.match(/\d{1,16}/g);
var match = matches && matches[0] || '';
var parts = [];
// 123456 -> XXXX-56
var isNormalCredit = true;
if(match.length == CREDIT_MINLENGTH){
parts.push(match.substring(CONST_I_ZERO, CONST_I_ZERO + CONST_I_FOUR));
parts.push(match.substring(CONST_I_FOUR, CONST_I_FOUR + CONST_I_SIX));
parts.push(match.substring(CONST_I_TEN, CONST_I_TEN + CONST_I_FIVE));
isNormalCredit = false;
}else{
for (i=0, len=match.length; i XX-3456
if(match.length <= 4){
return match;
}
var partsCount = Math.ceil(match.length / 4);
var index = partsCount - 1;
var i = 1;
while(index > 0){
var pos = match.length - (i*4);
parts[index] = match.substring(pos, pos+4);
i ++;
index--;
}
parts[index] = match.substring(0, match.length - ((partsCount-1)*4));
for(i=0; i name2) {
return 1;
} else if(name1 < name2){
return -1;
} else{
return 0
}
});
};
/**
* Helper function for process LeftHand TreeView for MobileUnits in Dispatch+
* @param result
*/
function utils_processLeftHandMobileUnitsDP(result, activeDeviceFocus) {
var disPlusMUnits = result;
var muEle = $('#plus_content .list_devices table.devices tbody').empty();
var groupHTML = $('#plus_content #dis_plus_mobile_group');
var muItemHTML = $('#plus_content #dis_plus_mobile_unit_item');
// Safety check result main group data
if(result["main"] && result["main"]["childs"]) {
var tmpGroup = groupHTML.clone();
$(tmpGroup).find('.replace_att_id1').attr('id', 'main');
// Replace text "Main" into "Unassigned"
// Replace text back to "Unassigned" (Change request : 06-Sep-2016)
//$(tmpGroup).find('.replace_text').text('Unassigned');
// Setting tooltips
//$(tmpGroup).find('.replace_text').text('Main');
var chkCurrentItm = $(tmpGroup).find('.replace_text');
chkCurrentItm.text('Main');
chkCurrentItm.attr('title', 'Main');
// Customer's request : 1c) New Expand Settings in OPEN SCHEUDLER ISSUES 9-27.docx
chkCurrentItm.attr('group_key', 'main');
$(tmpGroup).find('.repalce_att_id2').attr('id', 'table_main');
var mainChilds = result["main"]["childs"];
sortMobileViaNickname(mainChilds); // CO-4157
// Fix error on IE (must restrict variable scope)
for(var item in mainChilds) {
if(item == 'append') {
continue;
}
var obj = mainChilds[item];
if(obj == undefined){
continue;
}
var tmpItem = muItemHTML.clone();
//$(tmpItem).find('.add_class_divice').addClass('device_' + obj['key']);
// tdchien : Put mobile_key for using later
$(tmpItem).find('.device').attr('mobile_key', obj['key']);
$(tmpItem).find('.replace_id').attr('id', obj['key']);
var name = obj['nickname'];
if(name == 'undefined' || name == '') {
name = obj['number'];
}
// Setting tooltips
//$(tmpItem).find('.change_text').text(name);
var objCurrentItm = $(tmpItem).find('.change_text');
objCurrentItm.text(name);
objCurrentItm.attr('title', name);
$(tmpGroup).find('table.repalce_att_id2').append(tmpItem.find('tbody').html());
}
$(muEle).append(tmpGroup.find('table').html());
}
// Fix error on IE (must restrict variable scope)
for(var obj in result) {
if(obj == 'main' || obj == 'dispatch_to_email') {
continue;
}
var tmpGroup = groupHTML.clone();
//$(tmpGroup).find('.replace_att_id1').attr('id', result[obj]['key']);
// Setting tooltips
//$(tmpGroup).find('.replace_text').text(result[obj]['name']);
var grpChkItem = $(tmpGroup).find('.replace_text');
var grpCurName = result[obj]['name'];
grpChkItem.text(grpCurName);
grpChkItem.attr('title', grpCurName);
// Customer's request : 1c) New Expand Settings in OPEN SCHEUDLER ISSUES 9-27.docx
grpChkItem.attr('group_key', obj);
$(tmpGroup).find('.repalce_att_id2').attr('id', 'table_' + result[obj]['key']);
var mainChilds = result[obj]["childs"];
sortMobileViaNickname(mainChilds); // CO-4157
// Fix error on IE (must restrict variable scope)
for(var item in mainChilds) {
if(item == 'append') {
continue;
}
var objChi = mainChilds[item];
if(objChi == undefined){
continue;
}
var tmpItem = muItemHTML.clone();
//$(tmpItem).find('.add_class_divice').addClass('device_' + result[obj]['key']);
// tdchien : Put mobile_key for using later
$(tmpItem).find('.add_class_divice').attr('mobile_key', objChi['key']);
$(tmpItem).find('.replace_id').attr('id', objChi['key']);
var name = objChi['nickname'];
if(name == 'undefined' || name == '') {
name = objChi['number'];
}
// Setting tooltips
var objCurrentItm = $(tmpItem).find('.change_text');
objCurrentItm.text(name);
objCurrentItm.attr('title', name);
$(tmpGroup).find('table.repalce_att_id2').append(tmpItem.find('tbody').html());
}
$(muEle).append(tmpGroup.find('table').html());
}
if(result["dispatch_to_email"]["childs"] != undefined) {
var tmpGroup = groupHTML.clone();
$(tmpGroup).find('.replace_att_id1').attr('id', 'dispatch_to_email');
// Replace text "Main" into "Unassigned"
$(tmpGroup).find('.replace_text').text('Dispatch to Email');
// Setting tooltips
$(tmpGroup).find('.replace_text').attr('title', 'Dispatch to Email');
// Customer's request : 1c) New Expand Settings in OPEN SCHEUDLER ISSUES 9-27.docx
tmpGroup.find('.replace_text').attr('group_key', 'dispatch_to_email');
$(tmpGroup).find('.repalce_att_id2').attr('id', 'table_dispatch_to_email');
var mainChilds = result["dispatch_to_email"]["childs"];
// Fix error on IE (must restrict variable scope)
for(var item in mainChilds) {
if(item == 'append') {
continue;
}
var obj = mainChilds[item];
if(obj == undefined){
continue;
}
var tmpItem = muItemHTML.clone();
//$(tmpItem).find('.add_class_divice').addClass('device_' + obj['key']);
// tdchien : Put mobile_key for using later
$(tmpItem).find('.device').attr('mobile_key', obj['key']);
$(tmpItem).find('.replace_id').attr('id', obj['key']);
var name = obj['nickname'];
if(name == 'undefined' || name == '') {
name = obj['number'];
}
// Setting tooltips
//$(tmpItem).find('.change_text').text(name);
var objCurrentItm = $(tmpItem).find('.change_text');
objCurrentItm.text(name);
objCurrentItm.attr('title', name);
$(tmpGroup).find('table.repalce_att_id2').append(tmpItem.find('tbody').html());
}
$(muEle).append(tmpGroup.find('table').html());
}
$('#plus_content .list_devices').css(CONST_CSS_KEY_DISPLAY,'');
$('#plus_content .mobile_units .search_device input.search-query').keyup(function(){
searchCount++;
var tmp = searchCount;
setTimeout(function() {
dispatchPlusSearch(tmp);
}, 500);
});
if (activeDeviceFocus) {
$('.regions_mobile_units .workgroup-handler tr.device').removeClass('checked');
$('.regions_mobile_units .workgroup-handler tr.device')
.filter('[mobile_key="#mobile_key#"]'.replace('#mobile_key#', activeDeviceFocus))
.addClass('checked');
}
// Apply events when Folding/Collapsing group data
var objGroupItems = $('#plus_content .list_devices .openclose_wg').find('.fa-caret-down, .fa-caret-right,.replace_text');
objGroupItems.on('autoClickAction', function() {
var wrapperObj = $(this).closest('.openclose_wg');
wrapperObj.find('.fa-caret-down').toggle();
wrapperObj.find('table').toggle();
wrapperObj.find('.fa-caret-right').toggle();
});
// Process collapse all Unchecked items (if needed)
var objGroups = $('#plus_content .list_devices .openclose_wg').find('.replace_text');
var isNeedUpdateScheduler = false;
for (var k = 0; k < objGroups.length; k++) {
var itGroup = $(objGroups[k]);
var keyGroup = itGroup.attr('group_key');
// Customer's request : 1c) New Expand Settings in OPEN SCHEUDLER ISSUES 9-27.docx
// If the current Group is not inside list checked of Settings
// => Collapse it
if (dpScheduler.mobileGroupLayout
&& dpScheduler.mobileGroupLayout[keyGroup] === false) {
itGroup.trigger('autoClickAction');
}
}
objGroupItems.click(function(){
var wrapperObj = $(this).closest('.openclose_wg');
// wrapperObj.find('.fa-caret-down').toggle();
// wrapperObj.find('table').toggle();
// wrapperObj.find('.fa-caret-right').toggle();
$(this).trigger('autoClickAction');
// Check if we are in Collapse or folding
var groupKey = wrapperObj.find('.replace_text').attr('group_key');
// CO-769 Check if mobile unit / email head is clicked then do the scroll
if(wrapperObj.find('.fa-caret-right').css(CONST_CSS_KEY_DISPLAY) === CONST_VALUE_NONE) {
var scrollTopOfList = $('#plus_content .list_devices').scrollTop();
var positionOfElement = $(this).position().top;
if($(this).css(CONST_CSS_KEY_DISPLAY) === CONST_VALUE_NONE) {
positionOfElement = $(this).parent().find('.replace_text').position().top;
}
$('#plus_content .list_devices').slimScroll({
scrollTo : scrollTopOfList + positionOfElement + 'px'
});
}
// End CO-769
// Customer's request : 1c) New Expand Settings in OPEN SCHEUDLER ISSUES 9-27.docx
if (wrapperObj.find('.fa-caret-down:visible').length > 0) {
// We are in folding data below
dpScheduler.mobileGroupLayout[groupKey] = true;
} else {
dpScheduler.mobileGroupLayout[groupKey] = false;
}
// tdchien : Update scheduler based on lefthand mobile group
updateSchedulerBasedOnLeftHandGroup();
});
// Process when save searchText is not empty
if (searchQueryLeftHandData4DP && searchQueryLeftHandData4DP !== '') {
searchCount++;
$('#plus_content .mobile_units .search_device input.search-query')
.val(searchQueryLeftHandData4DP);
dispatchPlusSearch(searchCount);
} else {
// We need update scheduler because of Settings about Auto-Folding/Collapsing mobile groups
if (isNeedUpdateScheduler) {
updateSchedulerBasedOnLeftHandGroup();
}
}
}
var getPercentValue = function(value){
try{
var fValue = parseFloat(value);
if(isNaN(fValue)){
return '';
}
fValue = fValue/100;
return fValue.toString();
} catch(e){
return value;
}
}
function formatSocialSecurityDisplay(value){
var v = value.replace(/\s+/g, '').replace(/[^0-9]/gi, '');
var matches = v.match(/\d{1,16}/g);
var match = matches && matches[0] || '';
var parts = [];
// 1234567890 -> 1234-56-7890
if(match.length>3){
parts.push(match.substring(0, 3));
if(match.length>6){
parts.push(match.substring(3, 5));
parts.push(match.substring(5, match.length));
}else{
parts.push(match.substring(3, match.length));
}
}else{
parts.push(match);
}
if(parts.length<=1){
return v;
}else{
var ret = parts.join('-');
if(ret.length > 11){
ret = ret.substring(0, 11);
}
return ret;
}
}
function formatPhoneNumberDisplay(value, displayParam){
if(value == ''){
return '';
}
var v = value.replace(/\s+/g, '').replace(/[^0-9]/gi, '');
var matches = v.match(/\d{1,16}/g);
var match = matches && matches[0] || '';
var ret = '';
switch(displayParam){
case '0':
//(000) 000-0000
if(match.length>3){
ret = '(' + match.substring(0, 3) + ') ';
if(match.length>6){
ret += match.substring(3, 6);
ret += '-' + match.substring(6, match.length);
}else{
ret += match.substring(3, match.length);
}
}else{
ret = match;
}
if(ret.length > 14){
ret = ret.substring(0, 14);
}
break;
case '1':
//1-000-000-0000
if(match.length>1){
ret = match.substring(0, 1);
if(match.length>4){
ret += '-' + match.substring(1, 4);
if(match.length>7){
ret += '-' + match.substring(4, 7);
ret += '-' + match.substring(7, match.length);
}else{
ret += '-' + match.substring(4, match.length);
}
}else{
ret += '-' + match.substring(1, match.length);
}
}else{
ret = match;
}
if(ret.length > 14){
ret = ret.substring(0, 14);
}
break;
case '2':
//000.000.0000
if(match.length>3){
ret = match.substring(0, 3);
if(match.length>6){
ret += '.' + match.substring(3, 6);
ret += '.' + match.substring(6, match.length);
}else{
ret += '.' + match.substring(3, match.length);
}
}else{
ret = match;
}
if(ret.length > 12){
ret = ret.substring(0, 12);
}
break;
case '3':
//+1-000-000-0000
if(match.length>1){
ret = '+' + match.substring(0, 1);
if(match.length>4){
ret += '-' + match.substring(1, 4);
if(match.length>7){
ret += '-' + match.substring(4, 7);
ret += '-' + match.substring(7, match.length);
}else{
ret += '-' + match.substring(4, match.length);
}
}else{
ret += '-' + match.substring(1, match.length);
}
}else{
ret = '+' + match;
}
if(ret.length > 15){
ret = ret.substring(0, 15);
}
break;
}
return ret;
}
function isEncryptedFormat(_control){
var encryptFlg = false;
try{ // CO-552
if(_control != undefined
&& _control.encryptField != undefined
&& _control.encryptField.value == true){
hasEncryptField = true;
if(true == authNS.currentUser.isDisplayEncryptedFormat){
encryptFlg = true;
}
}
} catch(e){}
return encryptFlg;
}
function formatTextDisplay(value, displayType, displayParam, _control){
if(isEncryptedFormat(_control)){
return value;
}
if(!displayType){
return value;
}
switch(displayType){
case CONST_FORMAT_KIND_SOCIAL:
return formatSocialSecurityDisplay(value);
case CONST_FORMAT_KIND_PHONE:
return formatPhoneNumberDisplay(value, displayParam);
default :
return value;
}
}
function formatEncryptedValue(_control, _inputControl, currentVal){
if(currentVal != undefined && currentVal != '' // has value
&& isEncryptedFormat(_control)){
_inputControl.find('.controlData input').val(CONST_ENCRYPTED_VALUE_FORMAT);
}
}
function initVaribalesInMobileEdit(variables, index){
var index1 = index + 1;
if('undefined' != variables[index].dataName && "" != variables[index].dataName) {
$('.changeMobileUnitNumber')
.find('.mobile_unit_variable_' + index1 + '_container')
.css('display','');
}
if("" != variables[index].caption) {
$('.changeMobileUnitNumber')
.find('#mobile_unit_label_variable_' + index1)
.text(variables[index].caption);
} else {
$('.changeMobileUnitNumber')
.find('#mobile_unit_label_variable_' + index1)
.append(" ");
}
if(variables[index].edit) {
$('.changeMobileUnitNumber').find('#mobile_unit_variable_' + index1)
.prop('disabled', false);
}
if("text" == variables[index].type) {
} else if("integer" == variables[index].type) {
onlyNumber($('.changeMobileUnitNumber')
.find('#mobile_unit_variable_' + index1));
} else if("decimal" == variables[index].type) {
onlyDecimalNumber($('.changeMobileUnitNumber')
.find('#mobile_unit_variable_' + index1)[0]);
} else if("date" == variables[index].type) {
$('.changeMobileUnitNumber').find('#mobile_unit_variable_' + index1)
.addClass('calendar_in_input').datepicker({
isRTL: false,
showButtonPanel:true,
onSelect: function(dateText, inst) { $(inst).trigger('keyup'); }
});
} else if("datetime" == variables[index].type) {
$('.changeMobileUnitNumber').find('#mobile_unit_variable_' + index1)
.addClass('calendar_in_input').datetimepicker({
isRTL: false,
showButtonPanel:true,
onSelect: function(dateText, inst) { $(inst).trigger('keyup'); }
});
} else if("time" == variables[index].type) {
$('.changeMobileUnitNumber').find('#mobile_unit_variable_' + index1)
.addClass('calendar_in_input').datetimepicker({
// dateFormat: '',
// datepicker:false,
showCalendar: false,
dateFormat: 'hh:MM:ss TT',
showTime:true,
isRTL: false,
showButtonPanel:true,
onSelect: function(dateText, inst) { $(inst).trigger('keyup'); }
});
}
$('.changeMobileUnitNumber')
.find('.mobile_unit_variable_' + index1 + '.type')
.text(variables[index].type);
}
function refreshVariablesInMobileEditWithData(variables
, variable1, variable2, variable3, variable4, variable5
, variable6, variable7, variable8, variable9, variable10){
$('.changeMobileUnitNumber').find('#mobile_unit_variable_1').val(variable1);
$('.changeMobileUnitNumber').find('#mobile_unit_variable_2').val(variable2);
$('.changeMobileUnitNumber').find('#mobile_unit_variable_3').val(variable3);
$('.changeMobileUnitNumber').find('#mobile_unit_variable_4').val(variable4);
$('.changeMobileUnitNumber').find('#mobile_unit_variable_5').val(variable5);
$('.changeMobileUnitNumber').find('#mobile_unit_variable_6').val(variable6);
$('.changeMobileUnitNumber').find('#mobile_unit_variable_7').val(variable7);
$('.changeMobileUnitNumber').find('#mobile_unit_variable_8').val(variable8);
$('.changeMobileUnitNumber').find('#mobile_unit_variable_9').val(variable9);
$('.changeMobileUnitNumber').find('#mobile_unit_variable_10').val(variable10);
$('.changeMobileUnitNumber').find('.mobile_unit_variable_1_container'
+ ', .mobile_unit_variable_2_container,.mobile_unit_variable_3_container'
+ ',.mobile_unit_variable_4_container,.mobile_unit_variable_5_container'
+ ', .mobile_unit_variable_6_container,.mobile_unit_variable_7_container'
+ ',.mobile_unit_variable_8_container,.mobile_unit_variable_9_container'
+ ',.mobile_unit_variable_10_container'
+ ',.mobile_unit_variable_message_container').css('display','none');
if(('undefined' == variables[0].dataName || "" == variables[0].dataName)
&& ('undefined' == variables[1].dataName || "" == variables[1].dataName)
&& ('undefined' == variables[2].dataName || "" == variables[2].dataName)
&& ('undefined' == variables[3].dataName || "" == variables[3].dataName)
&& ('undefined' == variables[4].dataName || "" == variables[4].dataName)
&& ('undefined' == variables[5].dataName || "" == variables[5].dataName)
&& ('undefined' == variables[6].dataName || "" == variables[6].dataName)
&& ('undefined' == variables[7].dataName || "" == variables[7].dataName)
&& ('undefined' == variables[8].dataName || "" == variables[8].dataName)
&& ('undefined' == variables[9].dataName || "" == variables[9].dataName)) {
$('.changeMobileUnitNumber').find('.mobile_unit_variable_message_container').css('display','');
}
initVaribalesInMobileEdit(variables, 0);
initVaribalesInMobileEdit(variables, 1);
initVaribalesInMobileEdit(variables, 2);
initVaribalesInMobileEdit(variables, 3);
initVaribalesInMobileEdit(variables, 4);
initVaribalesInMobileEdit(variables, 5);
initVaribalesInMobileEdit(variables, 6);
initVaribalesInMobileEdit(variables, 7);
initVaribalesInMobileEdit(variables, 8);
initVaribalesInMobileEdit(variables, 9);
if(variables && !mobileunit.Variables) {
mobileunit.Variables = variables;
}
}
function refreshVariablesInMobileEdit(){
waitForDataLoading(true);
$.ajax({
url: '/mobileunit/mobileUnit?key=' + variableParam.currentUserKey,
dataType: 'json',
type: 'Get',
data: '{}',
cache: false,
complete: function()
{
waitForDataLoading(false);
},
success: function(response, status)
{
if(undefined != response.Variables) {
refreshVariablesInMobileEditWithData(response.Variables
, response.Variable1, response.Variable2, response.Variable3
, response.Variable4, response.Variable5, response.Variable6
, response.Variable7, response.Variable8, response.Variable9
, response.Variable10);
if(!mobileunit.Variables) {
mobileunit.Variables = response.Variables;
}
}
},
error: function(request, status, error)
{
if(getStatus(request) == 401){
jAlert(msg_read_permission_required);
} else if(getStatus(request) == 931){
jAlert(msg_system_maintenance_alert);
}else{
jAlert(msg_error_check_try);
}
}
});
}
function initVaribalesInWebEdit(variables, index){
var index1 = index + 1;
if('undefined' != variables[index].dataName && "" != variables[index].dataName) {
$('.wuEditUser')
.find('.wu_variable_' + index1 + '_container')
.css('display','');
}
if("" != variables[index].caption) {
$('.wuEditUser')
.find('#wu_label_variable_' + index1)
.text(variables[index].caption);
} else {
$('.wuEditUser')
.find('#wu_label_variable_' + index1)
.append(" ");
}
if(variables[index].edit) {
$('.wuEditUser').find('#wu_variable_' + index1)
.prop('disabled', false);
}
if("text" == variables[index].type) {
} else if("integer" == variables[index].type) {
onlyNumber($('.wuEditUser')
.find('#wu_variable_' + index1));
} else if("decimal" == variables[index].type) {
onlyDecimalNumber($('.wuEditUser')
.find('#wu_variable_' + index1)[0]);
} else if("date" == variables[index].type) {
$('.wuEditUser').find('#wu_variable_' + index1)
.addClass('calendar_in_input').datepicker({
isRTL: false,
showButtonPanel:true,
onSelect: function(dateText, inst) { $(inst).trigger('keyup'); }
});
} else if("datetime" == variables[index].type) {
$('.wuEditUser').find('#wu_variable_' + index1)
.addClass('calendar_in_input').datetimepicker({
isRTL: false,
showButtonPanel:true,
onSelect: function(dateText, inst) { $(inst).trigger('keyup'); }
});
} else if("time" == variables[index].type) {
$('.wuEditUser').find('#wu_variable_' + index1)
.addClass('calendar_in_input').datetimepicker({
showCalendar: false,
dateFormat: 'hh:MM:ss TT',
isRTL: false,
showButtonPanel:true,
onSelect: function(dateText, inst) { $(inst).trigger('keyup'); }
});
}
$('.wuEditUser')
.find('.wu_variable_' + index1 + '.type')
.text(variables[index].type);
}
function refreshVariablesInWebEditWithData(variables
, variable1, variable2, variable3, variable4, variable5
, variable6, variable7, variable8, variable9, variable10){
var wuEditUser = $('.wuEditUser');
wuEditUser.find('#wu_variable_1').val(variable1);
wuEditUser.find('#wu_variable_2').val(variable2);
wuEditUser.find('#wu_variable_3').val(variable3);
wuEditUser.find('#wu_variable_4').val(variable4);
wuEditUser.find('#wu_variable_5').val(variable5);
wuEditUser.find('#wu_variable_6').val(variable6);
wuEditUser.find('#wu_variable_7').val(variable7);
wuEditUser.find('#wu_variable_8').val(variable8);
wuEditUser.find('#wu_variable_9').val(variable9);
wuEditUser.find('#wu_variable_10').val(variable10);
wuEditUser.find('.wu_variable_1_container, .wu_variable_2_container'
+ ',.wu_variable_3_container,.wu_variable_4_container'
+ ',.wu_variable_5_container, .wu_variable_6_container'
+ ', .wu_variable_7_container,.wu_variable_8_container'
+ ',.wu_variable_9_container,.wu_variable_10_container'
+ ', .wu_variable_message_container')
.css('display','none');
if(('undefined' == variables[0].dataName || "" == variables[0].dataName)
&& ('undefined' == variables[1].dataName || "" == variables[1].dataName)
&& ('undefined' == variables[2].dataName || "" == variables[2].dataName)
&& ('undefined' == variables[3].dataName || "" == variables[3].dataName)
&& ('undefined' == variables[4].dataName || "" == variables[4].dataName)
&& ('undefined' == variables[5].dataName || "" == variables[5].dataName)
&& ('undefined' == variables[6].dataName || "" == variables[6].dataName)
&& ('undefined' == variables[7].dataName || "" == variables[7].dataName)
&& ('undefined' == variables[8].dataName || "" == variables[8].dataName)
&& ('undefined' == variables[9].dataName || "" == variables[9].dataName)) {
wuEditUser.find('.wu_variable_message_container').css('display','');
}
initVaribalesInWebEdit(variables, 0);
initVaribalesInWebEdit(variables, 1);
initVaribalesInWebEdit(variables, 2);
initVaribalesInWebEdit(variables, 3);
initVaribalesInWebEdit(variables, 4);
initVaribalesInWebEdit(variables, 5);
initVaribalesInWebEdit(variables, 6);
initVaribalesInWebEdit(variables, 7);
initVaribalesInWebEdit(variables, 8);
initVaribalesInWebEdit(variables, 9);
}
function refreshVariablesInWebEdit(){
waitForDataLoading(true);
$.ajax({
url: '/webuser/webuser?key=' + variableParam.currentUserKey,
dataType: 'json',
type: 'Get',
data: '{}',
cache: false,
complete: function()
{
waitForDataLoading(false);
},
success: function(response, status)
{
refreshVariablesInWebEditWithData(response.Variables
, response.Variable1, response.Variable2
, response.Variable3, response.Variable4
, response.Variable5, response.Variable6
, response.Variable7, response.Variable8
, response.Variable9, response.Variable10);
if(!webuser.Variables) {
webuser.Variables = response.Variables;
}
},
error: function(request, status, error)
{
if(getStatus(request) == 401){
jAlert(msg_read_permission_required);
}else{
jAlert(msg_error_check_try);
}
}
});
}
function checkVariablesType(value, type, caption){
var result = "";
if('integer' == type) {
if("" != value && !isOnlyNumber(value)) {
result = caption + " only number!";
}
} else if(CONST_VALUE_DATE_LOWERCASE == type) {
if("" != value && !checkDate(value)) {
result = caption + " format is not valid.";
}
}
return result;
}
function valueOrEmpty(value){
if(value == undefined){
return '';
}else{
return value;
}
}
function repareStrictFormBuilder(currentUser){
if(currentUser && currentUser.strict_form_builder){
VERSION_STRICT_FORM_BUILDER = VERSION_UNSUPPORT;
}else{
if(isVersion(VERSION_STRICT_FORM_BUILDER)){
$($('.buildFormIconOpenSpecial').parents('li')[0]).remove();
$('#mnuOpenSpecialDivider, #mnuOpenSpecial').remove();
}
}
}
function isUserVariableSettingChanged(response){
if(!authNS.currentUser || !authNS.currentUser.userVariables){
authNS.userVariables = undefined;
//fix bug co-2020 CO-2020 Auto start form in default project (not show form in default project)
//return true;
return false;
}
if(!authNS.userVariables){
authNS.userVariables = authNS.currentUser.userVariables;
var userVariables = authNS.currentUser.userVariables;
var changed = false;
for(var index = 0; index < userVariables.length; index++){
var item = userVariables[index];
if((item['Ask'] || item['Edit'] || item['Sync']) && item['VersionChanged']){
item.Edited = true;
}
var value = item['Value'];
if(item['Ask'] && (value == undefined || value == '')){
changed = true;
}
}
if(changed){
return true;
}
return false;
}else{
var userVariables = authNS.currentUser.userVariables;
var changed = false;
for(var index = 0; index < userVariables.length; index++){
var item = userVariables[index];
if(item['VersionChanged']){
var id = item['ID'];
var value = item['Value'];
var version = item['Version'];
var localItem = getUserVariableItemById(authNS.userVariables, id);
if(!localItem){
changed = true;
break;
}else{
var localItemVersion = localItem['Version'];
var localItemValue = localItem['Value'];
if(item['Value'] == undefined && localItemValue != undefined){
item['Value'] = localItemValue;
}
if(version != localItemVersion){
item.Edited = true;
changed = true;
break;
}
}
}
}
if(changed){
authNS.userVariables = userVariables;
return true;
}
return false;
}
}
function getUserVariableItemById(userVariables, id){
if(!userVariables){
return undefined;
}
for(var index = 0; index < userVariables.length; index++){
var item = userVariables[index];
var itemId = item['ID'];
if(itemId == id){
return item;
}
}
return undefined;
}
function showUserVariableSetting(response){
if(!authNS.userVariables){
$('.fvWorkspaceScrollArea').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvMainUserVariableSetup').addClass(CONST_CSS_CLASS_HIDE_SESSION);
return;
}
var userVariables = authNS.userVariables;
$('.fvWorkspaceScrollArea').addClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvMainUserVariableSetup').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
if(authNS.currentUser && authNS.currentUser.mb_form_button_color){
$('.fvMainUserVariableSetup .button-session img').css('backgroundColor', authNS.currentUser.mb_form_button_color);
}
var mainMyInformationList = $('.fvMainUserVariableSetup .content-session table tbody').empty();
var rowTemp = '
'
var requiredStr = ' * ';
var realIndex = 0;
for(var index = 0; index < userVariables.length; index++){
var item = userVariables[index];
var row = $(rowTemp);
var caption = item['Caption'];
var hint = item['Hint'];
var id = item['ID'];
var dataName = item['DataName'];
var ask = item['Ask'];
var type = item['Type'];
var edit = item['Edit'];
var sync = item['Sync'];
var value = item['Value'];
row.attr(CONST_DATA, id);
row.attr('data-index', realIndex);
row.find('.lblCaption').text(caption);
if(ask){
row.attr('data-required', ask);
row.find('.lblCaption').append(requiredStr);
}else{
continue;
}
if(value != undefined && value.trim() != ''){
continue;
}
if(!ask && !edit){
row.find('input').prop('disabled', 'disabled');
}
row.find('.lblHint').text(hint);
row.find('input').val(value);
if(realIndex == 0){
row.addClass('active');
}else{
row.addClass(CONST_CSS_CLASS_HIDE_SESSION);
}
realIndex++;
mainMyInformationList.append(row);
var inputObj = mainMyInformationList.find('tr[data="' + id + '"] input');
switch(type){
case 'integer':
setIntegerInputControl(inputObj, item);
break;
case 'decimal':
setDecimalInputControl(inputObj, item);
break;
case CONST_VALUE_DATE_LOWERCASE:
inputObj.attr('readonly', 'readonly');
setDateInputControl(inputObj, item);
break;
case CONST_VALUE_TIME_LOWERCASE:
inputObj.attr('readonly', 'readonly');
setTimeInputControl(inputObj, item);
break;
case CONST_VALUE_DATE_TIME_NO_SPACE_LOWERCASE:
inputObj.attr('readonly', 'readonly');
setDateTimeInputControl(inputObj, item);
break;
case 'phoneNumber':
setPhoneNumberInputControl(inputObj, item);
break;
case 'textNumLock':
setTextNumLockInputControl(inputObj, item);
break;
case 'email':
row.attr('data-email', 'check');
setEmailInputControl(inputObj, item);
break;
default:
setTextInputControl(inputObj, item);
}
}
mainMyInformationList.find('.active input').focus();
$('.fvMainUserVariableSetup .prevButton').addClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvMainUserVariableSetup .prevButton').off().click(function(){
var activeRow = $('.fvMainUserVariableSetup .content-session table tbody tr.active');
var index = eval(activeRow.attr('data-index')) - 1;
if(index < 0){
$(this).addClass(CONST_CSS_CLASS_HIDE_SESSION);
return;
}
if(index == 0){
$(this).addClass(CONST_CSS_CLASS_HIDE_SESSION);
}
activeRow.removeClass('active').addClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvMainUserVariableSetup .content-session table tbody tr[data-index="' + index + '"]').addClass('active').removeClass(CONST_CSS_CLASS_HIDE_SESSION).find('input').focus();
});
$('.fvMainUserVariableSetup .nextButton').off().click(function(){
var activeRow = $('.fvMainUserVariableSetup .content-session table tbody tr.active');
var dataRequired = activeRow.attr('data-required');
if(dataRequired && activeRow.find('input').val() == ''){
alert(msg_user_variable_required);
return;
}
var dataEmail = activeRow.attr('data-email');
if(dataEmail && !isEmailAddress(activeRow.find('input').val())){
alert(msg_fv_email_not_valid2);
return;
}
$('.fvMainUserVariableSetup .prevButton').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
var index = eval(activeRow.attr('data-index')) + 1;
var nextRow = $('.fvMainUserVariableSetup .content-session table tbody tr[data-index="' + index + '"]');
if(nextRow.length > 0){
activeRow.removeClass('active').addClass(CONST_CSS_CLASS_HIDE_SESSION);
nextRow.addClass('active').removeClass(CONST_CSS_CLASS_HIDE_SESSION).find('input').focus();
}else{
submitUserVariable();
$('.fvWorkspaceScrollArea').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvMainUserVariableSetup').addClass(CONST_CSS_CLASS_HIDE_SESSION);
}
});
}
function setIntegerInputControl(ctrl, variable){
ctrl.keyup(function(event)
{
if(variable['Value'] != $(this).val()){
variable['Edited'] = true;
variable['Value'] = $(this).val();
$('.myInformationTab tr[data="' + variable['ID'] + '"] input').val(variable['Value']);
}
})
.keypress(function(event)
{
if(event.ctrlKey == true && (event.charCode == 118 || event.charCode == 99 || event.charCode == 120)){
return;
}
return onlyIntegerNumber(this,event, INTEGER_MAXLENGTH);
});
}
function setDecimalInputControl(ctrl, variable){
ctrl.keyup(function(event)
{
if(variable['Value'] != $(this).val()){
variable['Edited'] = true;
variable['Value'] = $(this).val();
$('.myInformationTab tr[data="' + variable['ID'] + '"] input').val(variable['Value']);
}
})
.keypress(function(event)
{
if(event.ctrlKey == true && (event.charCode == 118 || event.charCode == 99 || event.charCode == 120)){
return;
}
return inputTextOnlyDecimalNumber(this, event, INTEGER_MAXLENGTH);
});
}
function setDateInputControl(ctrl, variable){
ctrl.datetimepicker(
{
dateFormat: 'mm/dd/yyyy',
showCalendar: true,
showTime:false,
showSecond: false,
isRTL: false,
showButtonPanel:true,
showAsAndorid: true,
onSelect: function(dateText, inst)
{
if(variable['Value'] != $(this).val()){
variable['Edited'] = true;
variable['Value'] = $(this).val();
$('.myInformationTab tr[data="' + variable['ID'] + '"] input').val(variable['Value']);
}
}
});
}
function setTimeInputControl(ctrl, variable){
ctrl.datetimepicker(
{
dateFormat: 'hh:MM:ss TT',
showCalendar: false,
showTime:true,
showSecond: true,
isRTL: false,
showButtonPanel:true,
showAsAndorid: true,
onSelect: function(dateText, inst)
{
if(variable['Value'] != $(this).val()){
variable['Edited'] = true;
variable['Value'] = $(this).val();
$('.myInformationTab tr[data="' + variable['ID'] + '"] input').val(variable['Value']);
}
}
});
}
function setDateTimeInputControl(ctrl, variable){
ctrl.datetimepicker(
{
dateFormat: 'mm/dd/yyyy hh:MM:ss TT',
showCalendar: true,
showTime:true,
showSecond: true,
isRTL: false,
showButtonPanel:true,
showAsAndorid: true,
onSelect: function(dateText, inst)
{
if(variable['Value'] != $(this).val()){
variable['Edited'] = true;
variable['Value'] = $(this).val();
$('.myInformationTab tr[data="' + variable['ID'] + '"] input').val(variable['Value']);
}
}
});
}
function setTextInputControl(ctrl, variable){
ctrl.keyup(function(event)
{
if(variable['Value'] != $(this).val()){
variable['Edited'] = true;
variable['Value'] = $(this).val();
$('.myInformationTab tr[data="' + variable['ID'] + '"] input').val(variable['Value']);
}
});
}
function setEmailInputControl(ctrl, variable){
ctrl.keyup(function(event)
{
if(variable['Value'] != $(this).val()){
variable['Edited'] = true;
variable['Value'] = $(this).val();
$('.myInformationTab tr[data="' + variable['ID'] + '"] input').val(variable['Value']);
}
});
}
function setPhoneNumberInputControl(ctrl, variable){
ctrl.keyup(function(event)
{
processTextKeyUp(this, undefined, CONST_FORMAT_KIND_PHONE, '0', false);
if(variable['Value'] != $(this).val()){
variable['Edited'] = true;
variable['Value'] = $(this).val();
$('.myInformationTab tr[data="' + variable['ID'] + '"] input').val(variable['Value']);
}
})
.keypress(function(event)
{
if(!isValidLength(this, event, CONST_FORMAT_KIND_PHONE, '0')){
//(000) 000-0000
return false;
}else{
return onlyNumberDigit(this,event);
}
});
}
function setTextNumLockInputControl(ctrl, variable){
ctrl.keyup(function(event)
{
if(variable['Value'] != $(this).val()){
variable['Edited'] = true;
variable['Value'] = $(this).val();
$('.myInformationTab tr[data="' + variable['ID'] + '"] input').val(variable['Value']);
}
})
.keypress(function(event)
{
if(!onlyNumberDigit(this, event)) event.preventDefault();
});
}
function getSecureServerName() {
var port = window.location.port;
if (port != '' && port != '80') {
port = ":" + port;
}
var pathname = window.location.pathname;
var host = window.location.host;
port += pathname;
switch (host.toLowerCase()) {
case CONST_DOMAIN_DOFORMS:
return CONST_DOFORMS_URL + port;
case CONST_DOMAIN_DOFORMS_APPSPOT:
return CONST_DOFORMS_URL + port;
case CONST_DOMAIN_DOFORMS_WWW_APPSPOT:
return CONST_DOFORMS_URL + port;
case CONST_DOMAIN_DOFORMS_APPSPOT_HRD:
return CONST_DOFORMS_URL + port;
case CONST_DOMAIN_DOFORMS_WWW_APPSPOT_HRD:
return CONST_DOFORMS_URL + port;
case CONST_CONST_DOMAIN_DOFORMS_APPSPOT_HRD_122214r302:
return CONST_DOFORMS_URL + port;
case CONST_SD_DOFORMS_APPSPOT_BETA:
return CONST_BETA_DOFORMS_URL + port;
case CONST_SD_DOFORMS_APPSPOT_BETA_DASH:
return CONST_BETA_DOFORMS_URL + port;
case CONST_SD_DOFORMS_APPSPOT_BETA_HRD:
return CONST_BETA_DOFORMS_HRD_URL + port;
case CONST_SD_DOFORMS_APPSPOT_BETA_DASH_HRD:
return CONST_BETA_DOFORMS_HRD_URL + port;
case CONST_SD_DOFORMS_APPSPOT_091015r400_HRD:
return CONST_91015r400_DOFORMS_HRD_URL + port;
case CONST_SD_DOFORMS_APPSPOT_091015r400_DASH_HRD:
return CONST_91015r400_DOFORMS_HRD_URL + port;
case CONST_SD_DOFORMS_APPSPOT_091015r400:
return CONST_91015r400_DOFORMS_URL + port;
case CONST_SD_DOFORMS_APPSPOT_091015r400_DASH:
return CONST_91015r400_DOFORMS_URL + port;
case CONST_SD_DOFORMS_APPSPOT_100615r401_HRD:
return CONST_100615r401_DOFORMS_HRD_URL + port;
case CONST_SD_DOFORMS_APPSPOT_100615r401_HRD_DASH:
return CONST_100615r401_DOFORMS_HRD_URL + port;
case CONST_SD_DOFORMS_APPSPOT_100615r401:
return CONST_100615r401_DOFORMS_URL + port;
case CONST_SD_DOFORMS_APPSPOT_100615r401_DASH:
return CONST_100615r401_DOFORMS_URL + port;
case CONST_SD_DOFORMS_APPSPOT_RND_HRD:
return CONST_RND_DOFORMS_HRD_URL + port;
case CONST_SD_DOFORMS_APPSPOT_RND_HRD_DASH:
return CONST_RND_DOFORMS_HRD_URL + port;
case CONST_SD_DOFORMS_APPSPOT_RND:
return CONST_RND_DOFORMS_URL + port;
case CONST_SD_DOFORMS_APPSPOT_RND_DASH:
return CONST_RND_DOFORMS_URL + port;
case CONST_SD_DOFORMS_APPSPOT_LKGR_HRD:
return CONST_LKQR_DOFORMS_HRD_URL + port;
case CONST_SD_DOFORMS_APPSPOT_LKGR_HRD_DASH:
return CONST_LKQR_DOFORMS_HRD_URL + port;
case CONST_SD_DOFORMS_APPSPOT_LKGR:
return CONST_LKQR_DOFORMS_URL + port;
case CONST_SD_DOFORMS_APPSPOT_LKGR_DASH:
return CONST_LKQR_DOFORMS_URL + port;
default:
return "";
}
}
function submitUserVariable(successMessage){
if(authNS.userVariables == undefined){
return;
}
var jsonData;
if(!authNS.currentUser.MobileKey || authNS.currentUser.MobileKey == CONST_ALL){
if(authNS.currentUser.UserKey == undefined || authNS.currentUser.UserKey == ''){
return;
}
jsonData = JSON.stringify({
action : 'save_web_data',
userKey: authNS.currentUser.UserKey,
customerKey: authNS.currentUser.CustomerKey,
WebUserData: authNS.userVariables
});
}else{
jsonData = JSON.stringify({
action : 'save_mobile_data',
mobileKey: authNS.currentUser.MobileKey,
customerKey: authNS.currentUser.CustomerKey,
MobileUserData: authNS.userVariables
});
}
var isUpdateUserVariable = false;
for(var index = 0; index < authNS.userVariables.length; index++){
var item = authNS.userVariables[index];
if(item['Edited'] == true){
isUpdateUserVariable = true;
break;
}
}
if(!isUpdateUserVariable){
return;
}
waitForDataLoading(true);
$.ajax({
url: '/webuser/UserVariablesServlet',
contentType: 'application/json; charset=UTF-8',
dataType: 'json',
type: 'POST',
data: jsonData,
cache: false,
complete: function()
{
waitForDataLoading(false);
},
success: function(response, status)
{
if(!response){
jAlert(msg_unknown_error);
return;
}
// Get data from server and fill into the email alias region
if (response['status'] === false) {
jAlert(msg_unknown_error);
return;
}else if(response['errorcode'] === '928'){
jAlert(msg_read_permission_required);
return;
}
//reset edited flag
resetUserVariablesEditedFlag();
if(successMessage){
jAlert(successMessage);
}
},
error: function(request, status, error)
{
if(getStatus(request) == 401){
jAlert(msg_read_permission_required);
}else{
jAlert(msg_error_try);
}
}
});
}
function resetUserVariablesEditedFlag(){
for(var index = 0; index < authNS.userVariables.length; index++){
var item = authNS.userVariables[index];
var id = item['ID'];
if(item['Edited'] == true && item['Edit'] == false && item['Value'] != undefined && item['Value'].trim() != ''){
//$('.myInformationTab table tbody tr[data-index="' + index + '"] input').prop('disabled', true);
$('.myInformationTab table tbody tr[data="' + id + '"] input').prop('disabled', true);
}
item['Edited'] = false;
item['OrgValue'] = item['Value'];
}
}
function cancelSaveUserVariables(){
var mainMyInformationList = $('.mainMyInformationList table tbody');
for(var index = 0; index < authNS.userVariables.length; index++){
var item = authNS.userVariables[index];
var id = item['ID'];
if(item['Edited'] == true){
item['Edited'] = false;
item['Value'] = item['OrgValue'];
var inputObj = mainMyInformationList.find('tr[data="' + id + '"] input');
inputObj.val(item['Value']);
}
}
$('#fvmain_menu li.liBackToFormView #fvBackToFormView').trigger('click');
}
function initBulkSignatureButton(){
var fbWidth = 930;
var fbHeight = 199.5;
var screenWidth = $(window).width();
if(screenWidth - 100 < fbWidth){
fbWidth = screenWidth - 100;
}
$('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnIncompleteFormBulkSignature').off().fancybox({
'width' : fbWidth,
'height' : fbHeight,
'modal' : true,
'autoScale' : false,
'transitionIn' : CONST_VALUE_NONE,
'transitionOut' : CONST_VALUE_NONE,
'type' : 'iframe',
onComplete : function() {
},
onStart : function(){
if($('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList .rowActive input.chkItem:checked').length == 0){
alert(err_select_incomplete_for_bulk_signature);
return false;
}
// Update the href link for current signature
this.href = "/html/signature.html";
$("body").css({'overflow-y':'hidden'});
},
onCleanup : function(){
waitForDataLoading(true);
var signatureKey = $('#fancybox-frame').contents().find('input.blobKey').val();
var hintLink = $('#fancybox-frame').contents().find('input.hintLink').val();
if(signatureKey != ''){
var signForms = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList .rowActive input.chkItem:checked');
for(var i=0; i=0){
return true;
}
return false;
}
function getIconUrl(iconStr, variableName){
var ret = '';
if((iconStr || '') == ''){
switch(variableName){
case CONST_FORM_VIEW_SHOW_DISPATCH_BTN:
ret = CONST_FORM_VIEW_DISPATCH_ICON;
break;
case CONST_FORM_VIEW_SHOW_GET_DATA_BTN:
ret = CONST_FORM_VIEW_GET_DATA_ICON;
break;
case CONST_FORM_VIEW_SHOW_SETTINGS_BTN:
ret = CONST_FORM_VIEW_SETTINGS_ICON;
break;
case CONST_FORM_VIEW_SHOW_HELP_BTN:
ret = CONST_FORM_VIEW_HELP_ICON;
break;
case CONST_FORM_VIEW_SHOW_PROJECTS_BTN:
ret = CONST_FORM_VIEW_PROJECTS_ICON;
break;
case CONST_FORM_VIEW_SHOW_REVIEW_BTN:
ret = CONST_FORM_VIEW_REVIEW_ICON;
break;
case CONST_FORM_VIEW_SHOW_SEND_BTN:
ret = CONST_FORM_VIEW_SEND_ICON;
break;
case CONST_FORM_VIEW_SHOW_UPDATE_BTN:
ret = CONST_FORM_VIEW_UPDATE_ICON;
break;
case CONST_FORM_VIEW_SHOW_EXIT_BTN:
ret = CONST_FORM_VIEW_EXIT_ICON;
break;
case CONST_FORM_VIEW_SHOW_LOGOUT_BTN:
ret = CONST_FORM_VIEW_LOGOUT_ICON;
break;
case CONST_FORM_VIEW_SHOW_NOTICES_BTN:
ret = CONST_FORM_VIEW_NOTICES_ICON;
break;
case CONST_FORM_VIEW_SHOW_MYINFORMATION_BTN:
ret = CONST_FORM_VIEW_MYINFORMATION_ICON;
break;
case CONST_FORM_VIEW_SHOW_FORMS_BTN:
ret = CONST_FORM_VIEW_FORMS_ICON;
break;
}
}else{
if(iconStr.indexOf('http://')>=0){
ret = iconStr;
}else if(iconStr.indexOf('/')<0){
if(iconStr.indexOf('imageViewer?')==0){
ret = '/' + iconStr + '&x=' + (new Date());
}else{
ret = '/imageViewer?blobKey=' + iconStr + '&x=' + (new Date());
}
}else{
ret = '/' + iconStr;
}
}
return ret;
}
function appendMenuItemInFormView(){
var mainFormList = $('.fvWorkspaceScrollArea .mainFormList');
var formItemTmp = '';
var menuDividerItem = $('');
if(mainFormList.find('div.projectDividerItem').length>0){
mainFormList.append(menuDividerItem);
}
if(authNS.currentUser.show_form_view_forms_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_forms_icon, CONST_FORM_VIEW_SHOW_FORMS_BTN);
var formIconText = authNS.currentUser.mb_mmb_forms_icon_text + '(' + authNS.currentUser.formsCount + ')';
formItem.addClass(CONST_MB_MMB_FORMS_ICON).attr('data', CONST_MB_MMB_FORMS_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
if(authNS.currentUser.show_form_view_projects_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_project_icon, CONST_FORM_VIEW_SHOW_PROJECTS_BTN);
var formIconText = authNS.currentUser.mb_mmb_project_icon_text + '(' + (authNS.currentUser.projectCount | 0) + ')';
formItem.addClass(CONST_MB_MMB_PROJECT_ICON).attr('data', CONST_MB_MMB_PROJECT_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
if(authNS.currentUser.show_form_view_dispatch_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_job_icon, CONST_FORM_VIEW_SHOW_DISPATCH_BTN);
var formIconText = authNS.currentUser.mb_mmb_job_icon_text + '(' + (authNS.currentUser.jobsCount | 0) + ')';
formItem.addClass(CONST_MB_MMB_JOB_ICON).attr('data', CONST_MB_MMB_JOB_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
if(authNS.currentUser.show_form_view_review_btn){
/*var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_review_icon, CONST_FORM_VIEW_SHOW_REVIEW_BTN);
var formIconText = authNS.currentUser.mb_mmb_review_icon_text;
formItem.addClass(CONST_MB_MMB_REVIEW_ICON).attr('data', CONST_MB_MMB_REVIEW_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));*/
// incomplete
if(authNS.currentUser.show_form_view_incomplete_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_review_icon, CONST_FORM_VIEW_SHOW_REVIEW_BTN);
var formIconText = CONST_REVIEW_INCOMPLETE + '(' + (authNS.currentUser.incompleteFormsCount | 0) + ')';
formItem.addClass(CONST_MB_MMB_REVIEW_ICON + '-' + CONST_REVIEW_INCOMPLETE).attr('data', CONST_MB_MMB_REVIEW_ICON + '-' + CONST_REVIEW_INCOMPLETE);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
// complete
if(authNS.currentUser.show_form_view_complete_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_review_icon, CONST_FORM_VIEW_SHOW_REVIEW_BTN);
var formIconText = CONST_REVIEW_COMPLETE + '(' + (authNS.currentUser.completedFormsCount | 0) + ')';
formItem.addClass(CONST_MB_MMB_REVIEW_ICON + '-' + CONST_REVIEW_COMPLETE).attr('data', CONST_MB_MMB_REVIEW_ICON + '-' + CONST_REVIEW_COMPLETE);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
//sent
if(authNS.currentUser.show_form_view_sent_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_review_icon, CONST_FORM_VIEW_SHOW_REVIEW_BTN);
var formIconText = CONST_REVIEW_SENT + '(' + (authNS.currentUser.sentFormsCount | 0) + ')';
formItem.addClass(CONST_MB_MMB_REVIEW_ICON + '-' + CONST_REVIEW_SENT).attr('data', CONST_MB_MMB_REVIEW_ICON + '-' + CONST_REVIEW_SENT);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
}
/*
if(authNS.currentUser.show_form_view_send_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_send_icon, CONST_FORM_VIEW_SHOW_SEND_BTN);
var formIconText = authNS.currentUser.mb_mmb_send_icon_text;
formItem.addClass(CONST_MB_MMB_SEND_ICON).attr('data', CONST_MB_MMB_SEND_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
*/
if(isVersion(VERSION_RETRIEVE_WEB_CLIENT) && authNS.currentUser.show_form_view_get_data_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_retrieve_icon, CONST_FORM_VIEW_SHOW_GET_DATA_BTN);
var formIconText = authNS.currentUser.mb_mmb_retrieve_icon_text;
formItem.addClass(CONST_MB_MMB_RETRIEVE_ICON).attr('data', CONST_MB_MMB_RETRIEVE_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
if(authNS.currentUser.show_form_view_update_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_update_icon, CONST_FORM_VIEW_SHOW_UPDATE_BTN);
var formIconText = authNS.currentUser.mb_mmb_update_icon_text;
formItem.addClass(CONST_MB_MMB_UPDATE_ICON).attr('data', CONST_MB_MMB_UPDATE_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
if(authNS.currentUser.show_form_view_notices_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_notices_icon, CONST_FORM_VIEW_SHOW_NOTICES_BTN);
var formIconText = authNS.currentUser.mb_mmb_notices_icon_text;
formItem.addClass(CONST_MB_MMB_NOTICES_ICON).attr('data', CONST_MB_MMB_NOTICES_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
if(authNS.currentUser.show_form_view_settings_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_settings_icon, CONST_FORM_VIEW_SHOW_SETTINGS_BTN);
var formIconText = authNS.currentUser.mb_mmb_settings_icon_text;
formItem.addClass(CONST_MB_MMB_SETTINGS_ICON).attr('data', CONST_MB_MMB_SETTINGS_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
if(authNS.currentUser.show_form_view_logout_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_logout_icon, CONST_FORM_VIEW_SHOW_LOGOUT_BTN);
var formIconText = authNS.currentUser.mb_mmb_logout_icon_text;
formItem.addClass(CONST_MB_MMB_LOGOUT_ICON).attr('data', CONST_MB_MMB_LOGOUT_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
if(authNS.currentUser.show_form_view_myinformation_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_myinformation_icon, CONST_FORM_VIEW_SHOW_MYINFORMATION_BTN);
var formIconText = authNS.currentUser.mb_mmb_myinformation_icon_text;
formItem.addClass(CONST_MB_MMB_MYINFORMATION_ICON).attr('data', CONST_MB_MMB_MYINFORMATION_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
if(authNS.currentUser.show_form_view_exit_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_exit_icon, CONST_FORM_VIEW_SHOW_EXIT_BTN);
var formIconText = authNS.currentUser.mb_mmb_exit_icon_text;
formItem.addClass(CONST_MB_MMB_EXIT_ICON).attr('data', CONST_MB_MMB_EXIT_ICON);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
/*
if(authNS.currentUser.show_form_view_help_btn){
var formItem = $(formItemTmp);
var formIcon = getIconUrl(authNS.currentUser.mb_mmb_help_icon, CONST_FORM_VIEW_SHOW_HELP_BTN);
var formIconText = authNS.currentUser.mb_mmb_help_icon_text;
formItem.addClass(CONST_FORM_VIEW_SHOW_HELP_BTN).attr('data', CONST_FORM_VIEW_SHOW_HELP_BTN);
formItem.find('.img').css('background-image', 'url("' + formIcon + '")');
formItem.find('.formIconText').append(formIconText);
mainFormList.append(formItem);
mainFormList.append($('
'));
}
*/
sortFormViewMenuItem();
if(mainFormList.find('.menuFormItem').length>0){
menuDividerItem.removeClass(CONST_CSS_CLASS_HIDE_SESSION);
}
$('.fvWorkspaceScrollArea .mainFormList .menuFormItem').click(function(){
var ctrlData = $(this).attr('data');
if(ctrlData == undefined){
return;
}
var arr = ctrlData.split(CONST_HYPHEN);
var param = undefined;
if(arr.length >= 2){
param = arr[1];
$('.fvWorkspaceScrollArea .mainMenuBarScroll .' + arr[0]).trigger('click', param);
}else{
$('.fvWorkspaceScrollArea .mainMenuBarScroll .' + arr[0]).click();
}
});
}
function sortFormViewMenuItem(){
var mmbIconOrder = authNS.currentUser.mb_mbb_icon_order;
if(mmbIconOrder == undefined){
return;
}
mmbIconOrder = jQuery.trim(mmbIconOrder);
mmbIconOrder = mmbIconOrder.replace(',,', ',').replace(', ,', ',');
var tmparr = mmbIconOrder.split(',');
var arr = [];
for(var i = 0; i 0){
var $item2 = $(menuFormItems[index]);
index ++;
if($item1 != $item2){
var formIconDevider1 = $item1.next();
var formIconDevider2 = $item2.next();
$item1.insertBefore(formIconDevider2);
$item2.insertBefore(formIconDevider1);
}
}
$item1 = $('.fvWorkspaceScrollArea .mainFormList .formItem.' + arr[i-1] + '-' + CONST_REVIEW_COMPLETE);
if($item1.length > 0){
var $item2 = $(menuFormItems[index]);
index ++;
if($item1 != $item2){
var formIconDevider1 = $item1.next();
var formIconDevider2 = $item2.next();
$item1.insertBefore(formIconDevider2);
$item2.insertBefore(formIconDevider1);
}
}
$item1 = $('.fvWorkspaceScrollArea .mainFormList .formItem.' + arr[i-1] + '-' + CONST_REVIEW_SENT);
if($item1.length > 0){
var $item2 = $(menuFormItems[index]);
index ++;
if($item1 != $item2){
var formIconDevider1 = $item1.next();
var formIconDevider2 = $item2.next();
$item1.insertBefore(formIconDevider2);
$item2.insertBefore(formIconDevider1);
}
}
}
}
}
function showBackButton4Webclient(isShow){
if(isShow){
$('#fvmain_menu li.liBackToFormView').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
}else{
$('#fvmain_menu li.liBackToFormView').addClass(CONST_CSS_CLASS_HIDE_SESSION);
}
}
function isAppendMenuItemInFormViewFirst(){
if(authNS.currentUser.show_form_view_display_icons_com == CONST_FORM_VIEW_DISPLAY_ICONS_FIRST){
return true;
}
return false;
}
/* End CO-1156 UI Configuartion */
jQuery.boxModel = jQuery.support.boxModel = (document.compatMode === "CSS1Compat");
function toPercent(no, decimal){
var arr = (no + '00').split('.');
if(arr.length == 1){
return myStrip(parseInt(arr[0])) + '%';
}else if(arr[1].length<=2){
return myStrip(parseInt(arr[0]+ arr[1])) + '%';
}else{
var dec = arr[1].substring(2);
if(decimal != undefined && ('' + decimal) != ''){
if(parseInt(dec) == 0){
return myStrip(parseInt(arr[0] + arr[1].substring(0, 2))) + '%';
}else{
return myStrip(parseFloat(parseInt(arr[0] + arr[1].substring(0, 2)).toString() + '.' + dec).toFixed(decimal)) + '%';
}
}else{
return myStrip(parseFloat(parseInt(arr[0] + arr[1].substring(0, 2)).toString() + '.' + dec)) + '%';
}
}
}
function myStrip(no, decimal, roundDown){
var stripValue = strip(no, decimal, roundDown);
if(roundDown == true){
return stripValue;
}
if(Math.round(no) > Math.round(stripValue)){
return Math.round(no);
}else{
return stripValue;
}
}
function x100(no){
var arr = (no + '00').split('.');
if(arr.length == 1){
return parseInt(arr[0]);
}else if(arr[1].length<=2){
return parseInt(arr[0]+ arr[1]);
}else{
return parseFloat(parseInt(arr[0] + arr[1].substring(0, 2)).toString() + '.' + arr[1].substring(2));
}
}
String.prototype.myIncludes = function (value) {
if(this.indexOf(value)>=0){
return true;
}else{
return false;
}
}
function initSubmitAllButton(){
if(authNS.currentUser.removeSaveAndSendOptionFromMenu == true){
$('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnSubmitAll').addClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnSubmitAll').addClass(CONST_CSS_CLASS_HIDE_SESSION);
}else {
$('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnSubmitAll').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnSubmitAll').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
}
$('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnSubmitAll').off().click(function(){
fvSubmitAllInfo = {id: new Date().getTime()};
var selectedCompleteItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList .completeFormItem input.chkItem:checked');
if(selectedCompleteItems.length == 0){
return;
}
waitForDataLoading(true);
$('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList').attr(CONST_SUBMIT_ALL_ID, fvSubmitAllInfo.id);
submitAllCompleteRecord();
updateFVDBInfoForComplete(false, false);
updateFVDBInfoForSent(true, false);
waitForDataLoading(true);
validateSubmitAllFinished(true);
});
$('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnSubmitAll').off().click(function(){
fvSubmitAllInfo = {id: new Date().getTime()};
var selectedIncompleteItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList .incompleteFormItem input.chkItem:checked');
if(selectedIncompleteItems.length == 0){
return;
}
waitForDataLoading(true);
$('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList').attr(CONST_SUBMIT_ALL_ID, fvSubmitAllInfo.id);
submitAllIncompleteRecord();
updateFVDBInfoForIncomple(false, false);
updateFVDBInfoForSent(true, false);
waitForDataLoading(true);
validateSubmitAllFinished(false);
});
}
function isSubmitAllProcessFinished(isComplete){
if(isComplete){
var completeData = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList').attr(CONST_SUBMIT_ALL_ID);
if(completeData != fvSubmitAllInfo.id){
return true;
}else{
return false;
}
}else{
var incompleteData = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList').attr(CONST_SUBMIT_ALL_ID);
if(incompleteData != fvSubmitAllInfo.id){
return true;
}else{
return false;
}
}
}
function validateSubmitAllFinished(isComplete){
if(!isSubmitAllProcessFinished(isComplete)){
setTimeout(function() {
validateSubmitAllFinished(isComplete);
}, 10000);
return;
}
waitForDataLoading(false);
var msg = msg_submit_all_finished;
var unsubmitCount = 0;
if(isComplete){
var selectedCompleteItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList .completeFormItem');
if(selectedCompleteItems.length > 0){
_.each(selectedCompleteItems, function(item){
var completeFormItem = $(item);
var completeFormRecordKey = completeFormItem.attr(CONST_DATA);
if(fvSubmitAllInfo.completeRecords[completeFormRecordKey] === true){
completeFormItem.find('input').prop('checked', true);
unsubmitCount ++;
}
})
}
}else{
var selectedIncompleteItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList .incompleteFormItem');
if(selectedIncompleteItems.length > 0){
_.each(selectedIncompleteItems, function(item){
var incompleteFormItem = $(item);
var incompleteFormRecordKey = incompleteFormItem.attr(CONST_DATA);
if(fvSubmitAllInfo.incompleteRecords[incompleteFormRecordKey] === true){
incompleteFormItem.find('input').prop('checked', true);
unsubmitCount ++;
}
})
}
}
var submitedCount = fvSubmitAllInfo.itemCount - unsubmitCount;
msg = msg.replace('$1', submitedCount).replace('$2', fvSubmitAllInfo.itemCount);
jAlert(msg);
}
function submitAllCompleteRecord(){
fvSubmitAllInfo.completeRecords = {};
fvSubmitAllInfo.itemCount = 0;
var selectedItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList .completeFormItem input.chkItem:checked');
if(selectedItems.length > 0){
var sentItems = [];
_.each(selectedItems, function(item){
var completeFormItem = $($(item).parents('.completeFormItem')[0]);
var completeFormDataKey = completeFormItem.attr('data-1');
var incompleteFormRecordKey = completeFormItem.attr(CONST_DATA);
var itemData = {
fvKey: completeFormDataKey,
incRecKey: incompleteFormRecordKey
}
fvSubmitAllInfo.completeRecords[incompleteFormRecordKey] = true;
fvSubmitAllInfo.itemCount++;
sentItems.push(itemData);
});
$.ajax({
url: '/formview/FVCompleteFormRecordServlet?kind=SENT_COMPLETE_RECORDS',
dataType: 'json',
type: 'POST',
data: JSON.stringify({
kind: 'SENT_COMPLETE_RECORDS',
mobileKey: authNS.currentUser.MobileKey,
sentItems: sentItems}),
cache: false,
async: false,
complete: function() {
},
success: function(response, status)
{
},
error: function(request, status, error)
{
}
});
}
}
function submitAllIncompleteRecord(){
fvSubmitAllInfo.incompleteRecords = {};
fvSubmitAllInfo.itemCount = 0;
var selectedItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList .incompleteFormItem input.chkItem:checked');
var isSubmitAll = true;
if(selectedItems.length > 0){
_.each(selectedItems, function(item){
var incompleteFormItem = $($(item).parents('.incompleteFormItem')[0]);
var incompleteFormDataKey = incompleteFormItem.attr(CONST_DATA);
var projectKey = incompleteFormItem.attr(CONST_DATA_PRJ);
var formKey = incompleteFormItem.attr(CONST_DATA_FRM);
fvSubmitAllInfo.incompleteRecords[incompleteFormDataKey] = true;
fvSubmitAllInfo.itemCount++;
var check_web_app = CONST_VALUE_FALSE_STR;
if(isVersion5_0()) {
check_web_app = CONST_VALUE_TRUE_STR;
}
$.ajax({
url: '/formbuilder/openForm?incomplete=true&key=' + incompleteFormDataKey
+ '&mobileKey=' + authNS.currentUser.MobileKey
+ '&ignoreDelete=true&check_web_app=' + check_web_app,
dataType: 'json',
type: 'GET',
cache: false,
async: false,
complete: function()
{
},
success: function(response, status)
{
fvDataNS = {};
fvDataNS.currentForm = response;
fvDataNS.inputData = response.inputData;
if(fvDataNS.inputData == undefined){
submitAllRetrieveItem(incompleteFormDataKey);
return;
}
var retArr = loadDataArrayForSubmit(fvDataNS.inputData);
fvDataNS.dataArray = retArr.dataArray;
fvDataNS.ctrlIdMap = retArr.ctrlIdMap;
fvDataNS.scrtAndGrdNameMap = retArr.scrtAndGrdNameMap;
fvDataNS.ctrlMap = [];
fvDataNS.saveAndSendCtrlMap = [];
fvDataNS.hidGroupMap = {};
fvDataNS.ctrlArray = {};
fvDataNS.ctrlIdRef = {};
fvDataNS.calExpRef = {};
fvDataNS.relevanceExpRef = {};
fvDataNS.ifThenElseExpRef = {};
fvDataNS.skipIfExpRef = {};
fvDataNS.autoStampTriggerMap = {};
fvDataNS.hideIfHiddenMap = {};
fvDataNS.autoStampTriggerRunnedMap = {};
fvDataNS.verifyAddressRef = {};
fvDataNS.verifyTimeRef = {};
fvDataNS.checklistExpRef = {};
fvDataNS.repeatableRef = {};
fvDataNS.repeatableColRef = {};
fvDataNS.repeatableFilterRef = {};
fvDataNS.dataArray[CONST_DATA] = fvDataNS.inputData;
if(fvValidateIncompleteInputData(fvDataNS.inputData) != 0){
var xml = "\n";
var i = 0;
while(true){
var item = fvDataNS.inputData.children[i];
if(item.name == 'end'){
var now = new Date();
item.val = now.format("yyyy-mm-dd'T'HH:MM:ss") + '.0';
break;
}
i++;
}
xml += odkmaker.data.inputDataSerialize(fvDataNS.inputData, 0);
submission(xml, undefined, undefined, undefined, undefined, undefined, undefined, isSubmitAll);
}
},
error: function(request, status, error) {
}
});
});
}
}
function fvValidateIncompleteInputData(obj){
if(obj == undefined){
return true;
}
if (_.isString(obj))
return true;
if(isControlHidden(obj)){
return true;
}
if (obj.val !== undefined){
var ctrlRequired = isCtrlRequired(obj) || false;
if(obj.val == '' && ctrlRequired){
return false;
}
if(obj.ctrlType == CONST_CTRL_TYPE_INPUTEMAILREPORT || obj.ctrlType == CONST_CTRL_TYPE_INPUTFAX){
var isError = false;
var ctrlValue = obj.val.split("$$") || '';
var email = jQuery.trim(ctrlValue[0]);
var arrMails = email.replace(/;/g, ",").split(",");
var repMailToFormatError = false;
var blankCount = 0;
for (var k = 0; k < arrMails.length; k++) {
email = jQuery.trim(arrMails[k]);
if(email != '' && !isEmailAddress(email)){
repMailToFormatError = true;
break;
}else if(email == ''){
blankCount++;
}
}
if(repMailToFormatError){
return false;
}
if(jQuery.trim(ctrlValue[0]) == '' && ctrlRequired){
return false;
}else if(!repMailToFormatError && blankCount == arrMails.length && ctrlRequired){
return false;
}
}else if(obj.ctrlType == CONST_CTRL_TYPE_INPUTNEWPAYMENT){
if(obj.val.length > 0 && (obj.val.length > CREDIT_MAXLENGTH || obj.val.length < CREDIT_MINLENGTH)){
return false;
}
}else if(obj.ctrlType == CONST_CTRL_TYPE_INPUTLOOKUP && obj.kind == 'Number'){
if(jQuery.trim(obj.val || '') != ''){
var numcheck = /[0-9]/;
if(!numcheck.test(jQuery.trim(obj.val || ''))){
return false;
}
}
}else if(obj.ctrlType == CONST_CTRL_TYPE_INPUTLFBLUETOOTH && obj.kind == 'Number'){
if(jQuery.trim(obj.val || '') != ''){
var numcheck = /[0-9]/;
if(!numcheck.test(jQuery.trim(obj.val || ''))){
return false;
}
}
}else if(obj.ctrlType == CONST_CTRL_TYPE_GROUP && obj.isAllRepRequired){
if(obj.loopCount > 0 && obj.inputRepeatCount < obj.loopCount){
return false;
}
}
if(obj.limitToListError){
return false;
}
if(jQuery.trim(obj.val || '') == ''){
var isEmptyRow = true;
var isFullRow = true;
var requiredRow = false;
if('table' === obj.parentKind) {
var parentObj = fvDataNS.dataArray[obj.parrentProperties];
if(obj.parentName) {
var parentTableObj = fvDataNS.dataArray[obj.parrentProperties];
var ignoreRequiredCheck = isIgnoreRequiredRowCheck(obj);
if(!ignoreRequiredCheck
&& parentTableObj != undefined
&& parentTableObj.requiredRows != undefined
&& parentTableObj.requiredRows == true){
requiredRow = true;
for(var k = 0; k < parentObj.children.length; k++) {
if(parentObj.children[k].ctrlType != CONST_CTRL_TYPE_INPUTCALCULATE && undefined != parentObj.children[k].val && "" != parentObj.children[k].val) {
isEmptyRow = false;
} else {
isFullRow = false;
}
if(!isEmptyRow && !isFullRow) {
break;
}
}
}
}
}
if(requiredRow){
if(!isEmptyRow && !isFullRow) {
return false;
}
}
if((obj.length || false) != false && (obj.val || '') != ''){
if(obj.ctrlType !== CONST_CTRL_TYPE_INPUTBARCODE && obj.ctrlType !== CONST_CTRL_TYPE_INPUTLOOKUP && obj.ctrlType !== CONST_CTRL_TYPE_INPUTLFBLUETOOTH){
if(obj.length.min == ''){
if(parseInt(obj.length.max, 10) < obj.val.length){
return false;
}
}else if(obj.length.max == ''){
if(parseInt(obj.length.min, 10) > obj.val.length){
return false;
}
}else{
if(parseInt(obj.length.max, 10) < obj.val.length || parseInt(obj.length.min, 10) > obj.val.length){
return false;
}
}
}else{
if(obj.kind != undefined && obj.kind == 'Number'){
if(obj.length.min == ''){
if(parseInt(obj.length.max, 10) < parseInt(obj.val || '0', 10)){
return false;
}
}else if(obj.length.max == ''){
if(parseInt(obj.length.min, 10) > parseInt(obj.val || '0', 10)){
return false;
}
}else{
if(parseInt(obj.length.max, 10) < parseInt(obj.val || '0', 10) || parseInt(obj.length.min, 10) > parseInt(obj.val || '0', 10)){
return false;
}
}
}else{
if(obj.length.min == ''){
if(parseInt(obj.length.max, 10) < obj.val.length){
return false;
}
}else if(obj.length.max == ''){
if(parseInt(obj.length.min, 10) > obj.val.length){
return false;
}
}else{
if(parseInt(obj.length.max, 10) < obj.val.length || parseInt(obj.length.min, 10) > obj.val.length){
return false;
}
}
}
}
}else if(((obj.range || false) != false && (obj.val || '') != '')
|| (obj.validateValue != undefined && obj.validateValue.value != false)){
if(obj.ctrlType == CONST_CTRL_TYPE_INPUTDATE){
var type = CONST_VALUE_DATE;
if(obj.kind != undefined){
if(obj.kind == CONST_VALUE_TIME){
type = CONST_VALUE_TIME
}else if(obj.kind == CONST_VALUE_DATE_TIME || obj.kind == CONST_VALUE_DATE_SPACE_TIME){
type = CONST_VALUE_DATE_TIME
}
}
var objVal = parseDateTFormat(obj.val, type);
var minVal = undefined;
var todayTF = todayToTFormat(type);
// validate range
try{
if(obj.range.min != ''){
if(obj.range.min == 'today'){
minVal = parseDateTFormat(todayTF, type);
}else{
minVal = parseDate(obj.range.min, type);
}
}
var maxVal = undefined;
if(obj.range.max != ''){
if(obj.range.max == 'today'){
maxVal = parseDateTFormat(todayTF, type);
}else{
maxVal = parseDate(obj.range.max, type);
}
}
if(obj.range.min == ''){
if(maxVal < objVal){
return false;
}
}else if(obj.range.max == ''){
if(minVal > objVal){
return false;
}
}else{
if(maxVal == '' && minVal == ''){
// do nothing
}
else if(maxVal < objVal || minVal > objVal){
return false;
}
}
} catch(e){}
// validate compare
try{
var equalMsg = '';
var compareMsg = '';
var _objCondition = getPropertiesByID(obj.validateValue.value.field);
var condVal = undefined;
try{
condVal = getInputValue1(_objCondition.name, obj.classPath).value;
} catch(e){ }
if(condVal == undefined){
return false;
}
var condVal2 = parseDateTFormat(condVal, type);
if(obj.validateValue.value.condition == '>='
&& objVal < condVal2){
equalMsg = '';
compareMsg = 'smaller';
} else if(obj.validateValue.value.condition == '>'
&& objVal <= condVal2){
equalMsg = 'equal or';
compareMsg = 'smaller';
} else if(obj.validateValue.value.condition == '<'
&& objVal >= condVal2){
equalMsg = 'equal or';
compareMsg = 'larger';
} else if(obj.validateValue.value.condition == '<='
&& objVal > condVal2){
equalMsg = '';
compareMsg = 'larger';
} else if(obj.validateValue.value.condition == '='
&& objVal > condVal2){
equalMsg = '';
compareMsg = CONST_DIFFERENT;
}
if(equalMsg != '' || compareMsg != ''){ // has validating error
return false;
}
} catch(e){ }
}else{
try {
if(obj.kind == 'Decimal'){
// === validate property: > >= <= <
if(obj.validateValue != undefined && obj.validateValue.value != false){
var equalMsg = '';
var compareMsg = '';
var _objCondition = getPropertiesByID(obj.validateValue.value.field);
var condVal;
try{
condVal = getInputValue1(_objCondition.name, ctrlLongName).value;
} catch(e){
condVal = _objCondition.val;
}
if(obj.validateValue.value.condition == '>='
&& parseFloat(obj.val || '0') < parseFloat(condVal, 10)){
equalMsg = '';
compareMsg = 'smaller';
} else if(obj.validateValue.value.condition == '>'
&& parseFloat(obj.val || '0') <= parseFloat(condVal, 10)){
equalMsg = 'equal or';
compareMsg = 'smaller';
} else if(obj.validateValue.value.condition == '<'
&& parseFloat(obj.val || '0') >= parseFloat(condVal, 10)){
equalMsg = 'equal or';
compareMsg = 'larger';
} else if(obj.validateValue.value.condition == '<='
&& parseFloat(obj.val || '0') > parseFloat(condVal, 10)){
equalMsg = '';
compareMsg = 'larger';
} else if(obj.validateValue.value.condition == '='
&& parseFloat(obj.val || '0') != parseFloat(condVal, 10)){
equalMsg = '';
compareMsg = CONST_DIFFERENT;
}
if(equalMsg != '' || compareMsg != ''){ // has validating error
return false;
}
}
// === range property
if(obj.range != undefined){
if(obj.range.min == ''){
if(parseFloat(obj.range.max, 10) < parseFloat(obj.val || '0')){
return false;
}
}else if(obj.range.max == ''){
if(parseFloat(obj.range.min, 10) > parseFloat(obj.val || '0')){
return false;
}
}else{
if(parseFloat(obj.range.max, 10) < parseFloat(obj.val || '0') || parseFloat(obj.range.min, 10) > parseFloat(obj.val || '0')){
return false;
}
}
}
}else{
if(obj.ctrlType == CONST_CTRL_TYPE_INPUTLOCATION){
}else{
// === validate property: > >= <= <
if(obj.validateValue != undefined && obj.validateValue.value != false){
var equalMsg = '';
var compareMsg = '';
var _objCondition = getPropertiesByID(obj.validateValue.value.field);
var condVal;
try{
condVal = getInputValue1(_objCondition.name, ctrlLongName).value;
} catch(e){
condVal = _objCondition.val;
}
if(obj.validateValue.value.condition == '>='
&& parseInt(obj.val || '0', 10) < parseInt(condVal, 10)){
equalMsg = '';
compareMsg = 'smaller';
} else if(obj.validateValue.value.condition == '>'
&& parseInt(obj.val || '0', 10) <= parseInt(condVal, 10)){
equalMsg = 'equal or';
compareMsg = 'smaller';
} else if(obj.validateValue.value.condition == '<'
&& parseInt(obj.val || '0', 10) >= parseInt(condVal, 10)){
equalMsg = 'equal or';
compareMsg = 'larger';
} else if(obj.validateValue.value.condition == '<='
&& parseInt(obj.val || '0', 10) > parseInt(condVal, 10)){
equalMsg = '';
compareMsg = 'larger';
} else if(obj.validateValue.value.condition == '='
&& parseInt(obj.val || '0', 10) != parseInt(condVal, 10)){
equalMsg = '';
compareMsg = CONST_DIFFERENT;
}
if(equalMsg != '' || compareMsg != ''){ // has validating error
return false;
}
}
// === range property
if(obj.range != undefined){
if(obj.range.min == ''){
if(parseInt(obj.range.max, 10) < parseInt(obj.val || '0', 10)){
return false;
}
}else if(obj.range.max == ''){
if(parseInt(obj.range.min, 10) > parseInt(obj.val || '0', 10)){
return false;
}
}else{
if(parseInt(obj.range.max, 10) < parseInt(obj.val || '0', 10) || parseInt(obj.range.min, 10) > parseInt(obj.val || '0', 10)){
return false;
}
}
}
}
}
} catch (e) { }
}
}
//aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
}
}else if (obj.children !== undefined){
var ret = true;
_.each(obj.children, function(child)
{
if(ret == false){
return false;
}
if(child == undefined){
return true;
}
ret = fvValidateIncompleteInputData(child);
});
return ret;
}
}
function loadDataArrayForSubmit(obj){
var ret = {dataArray: {}, ctrlIdMap: {}, scrtAndGrdNameMap: []};
if (obj.children !== undefined && obj.children.length > 0){
var retTmp = loadDataArrayForSubmit(obj.children);
if(!jQuery.isEmptyObject( retTmp.dataArray )){
// ret.dataArray = Object.assign({}, ret.dataArray, retTmp.dataArray); // fix ie
ret.dataArray = $.extend(true, ret.dataArray, retTmp.dataArray);
}
if(!jQuery.isEmptyObject( retTmp.ctrlIdMap )){
// ret.ctrlIdMap = Object.assign({}, ret.ctrlIdMap, retTmp.ctrlIdMap); // fix ie
ret.ctrlIdMap = $.extend(true, ret.ctrlIdMap, retTmp.ctrlIdMap)
}
if(retTmp.scrtAndGrdNameMap.length > 0){
ret.scrtAndGrdNameMap = $.merge(ret.scrtAndGrdNameMap, retTmp.scrtAndGrdNameMap);
}
}
if(obj.length > 0){
_.each(obj, function(child){
if(child.classPath != undefined){
ret.dataArray[child.classPath] = child;
if(ret.ctrlIdMap[child.id] == undefined){
ret.ctrlIdMap[child.id] = {};
}
ret.ctrlIdMap[child.id][child.classPath] = child.classPath;
if(child.ctrlType == CONST_CTRL_TYPE_CTRLSCORETABLE){
ret.scrtAndGrdNameMap.push(child.name);
}else if(child.ctrlType == CONST_CTRL_TYPE_CTRLGRID){
ret.scrtAndGrdNameMap.push(child.name);
}
}
});
}
if(obj.classPath != undefined && obj.classPath != CONST_DATA){
ret.dataArray[obj.classPath] = obj;
if(ret.ctrlIdMap[obj.id] == undefined){
ret.ctrlIdMap[obj.id] = {};
}
ret.ctrlIdMap[obj.id][obj.classPath] = obj.classPath;
if(obj.ctrlType == CONST_CTRL_TYPE_CTRLSCORETABLE){
ret.scrtAndGrdNameMap.push(obj.name);
}else if(obj.ctrlType == CONST_CTRL_TYPE_CTRLGRID){
ret.scrtAndGrdNameMap.push(obj.name);
}
}
return ret;
}
var onlyNumberDigitCustomFormat = function(control, e, format, textChar, numChar){
if(!format || format == ''){
return true;
}
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8){
return true;
}
if(keynum == undefined){
return true;
}
keychar = String.fromCharCode(keynum);
var value = control.value;
value = value.slice(0, control.selectionStart) + keychar + value.slice(control.selectionEnd);
return isCorrectFormat(value, format, textChar, numChar);
};
var isFinishLoadUpgrade = function(){
var result = false;
if(document.getElementById('upgrade_account')) {
result = true;
}
return result;
}
var showUpgrade = function(){
console.log('showUpgrade');
if(isFinishLoadJQuery && isFinishLoadUpgrade() && $('#fancybox-content')) {
setTimeout(function(){
$('.liMyAccountLink .myAccountLink').click();
if('true' == isPaidNoneCheckDemo) {
//tabChange('.changeAccountTypeLink');
setTimeout(function(){
$('.changeAccountTypeLink').click();
}, 2000);
} else {
setTimeout(function(){
$('.upgradeAccountLink').click();
}, 3000);
}
}, 1000);
} else {
setTimeout(showUpgrade, 1000);
}
}
var isFinishLoadJQuery = false;
$(document).ready(function(){
isFinishLoadJQuery = true;
window.theCallData = ""
window.addEventListener('message', function(theEvent) {
if (theEvent.data[0]=== 'pcall'){
window.theCallData = theEvent.data[1];
childfunction()
}
}, false);
function childfunction() {
if(document.getElementById("fancybox-frame") != undefined){
document.getElementById("fancybox-frame").contentWindow.postMessage(['pcall', window.theCallData], '*');
}else{
}
}
});
var isCorrectFormat = function(value, format, textChar, numChar){
if(value.length > format.length){
return false;
}
var formatCheck = encCheckFormat(format, textChar, numChar);
formatCheck = formatCheck.slice(0, value.length);
formatCheck = convertCheckFormat(formatCheck, textChar, numChar);
formatCheck = decCheckFormat(formatCheck, textChar, numChar);
return new RegExp(formatCheck).test(value);
};
var encCheckFormat = function(format, textChar, numChar){
var formatCheck = format;
formatCheck = formatCheck.replace(/\^\^/g, '\000');
var regStr = '\\^' + textChar;
formatCheck = formatCheck.replace(new RegExp(regStr, 'g'), '\001');
regStr = '\\^' + numChar;
formatCheck = formatCheck.replace(new RegExp(regStr, 'g'), '\002');
//formatCheck = formatCheck.replace(/\^A/g, '\003');
return formatCheck;
}
var decCheckFormat = function(format, textChar, numChar){
var formatCheck = format;
if(textChar == undefined || textChar == ''){
textChar = 'a';
}
if(numChar == undefined || numChar == ''){
numChar = 'n';
}
formatCheck = formatCheck.replace(/\000/g, '\\^');
/*formatCheck = formatCheck.replace(/\001/g, '0');
formatCheck = formatCheck.replace(/\002/g, 'a');
formatCheck = formatCheck.replace(/\003/g, 'A');*/
formatCheck = formatCheck.replace(/\001/g, textChar);
formatCheck = formatCheck.replace(/\002/g, numChar);
return formatCheck;
}
var makeRegChar = function(val){
if(isSpecialCharacter(val)){
return new RegExp('\\' + val, 'g');
}else{
return new RegExp(val, 'g');
}
}
var isSpecialCharacter = function(val){
switch(val){
case '\\':
case '^':
case '$':
case '*':
case '[':
case ']':
case '{':
case '}':
case '(':
case ')':
case '<':
case '>':
case '-':
case '_':
case '+':
case '=':
case '|':
case ',':
case '.':
case '/':
case '?':
case ';':
case ':':
case '"':
case '\'':
return true;
}
return false;
}
var convertCheckFormat = function(format, textChar, numChar){
var formatCheck = format;
if(textChar != '\\' && numChar != '\\'){
formatCheck = formatCheck.replace(/\\/g, '\\\\');
}
if(textChar != '^' && numChar != '^'){
formatCheck = formatCheck.replace(/\^/g, '\\^');
}
if(textChar != '$' && numChar != '$'){
formatCheck = formatCheck.replace(/\$/g, '\\$');
}
if(textChar != '*' && numChar != '*'){
formatCheck = formatCheck.replace(/\*/g, '\\*');
}
if(textChar != '[' && numChar != '['){
formatCheck = formatCheck.replace(/\[/g, '\\[');
}
if(textChar != ']' && numChar != ']'){
formatCheck = formatCheck.replace(/\]/g, '\\]');
}
if(textChar != '{' && numChar != '{'){
formatCheck = formatCheck.replace(/\{/g, '\\{');
}
if(textChar != '}' && numChar != '}'){
formatCheck = formatCheck.replace(/\}/g, '\\}');
}
if(textChar != '(' && numChar != '('){
formatCheck = formatCheck.replace(/\(/g, '\\(');
}
if(textChar != ')' && numChar != ')'){
formatCheck = formatCheck.replace(/\)/g, '\\)');
}
if(textChar != '<' && numChar != '<'){
formatCheck = formatCheck.replace(/\' && numChar != '>'){
formatCheck = formatCheck.replace(/\>/g, '\\>');
}
if(textChar != '-' && numChar != '-'){
formatCheck = formatCheck.replace(/\-/g, '\\-');
}
if(textChar != '_' && numChar != '_'){
formatCheck = formatCheck.replace(/\_/g, '\\_');
}
if(textChar != '+' && numChar != '+'){
formatCheck = formatCheck.replace(/\+/g, '\\+');
}
if(textChar != '=' && numChar != '='){
formatCheck = formatCheck.replace(/\=/g, '\\=');
}
if(textChar != '|' && numChar != '|'){
formatCheck = formatCheck.replace(/\|/g, '\\|');
}
if(textChar != ',' && numChar != ','){
formatCheck = formatCheck.replace(/\,/g, '\\,');
}
if(textChar != '.' && numChar != '.'){
formatCheck = formatCheck.replace(/\./g, '\\.');
}
if(textChar != '/' && numChar != '/'){
formatCheck = formatCheck.replace(/\//g, '\\/');
}
if(textChar != '?' && numChar != '?'){
formatCheck = formatCheck.replace(/\?/g, '\\?');
}
if(textChar != ';' && numChar != ';'){
formatCheck = formatCheck.replace(/\;/g, '\\;');
}
if(textChar != ':' && numChar != ':'){
formatCheck = formatCheck.replace(/\:/g, '\\:');
}
if(textChar != '"' && numChar != '"'){
formatCheck = formatCheck.replace(/\"/g, '\\"');
}
if(textChar != '\'' && numChar != '\''){
formatCheck = formatCheck.replace(/\'/g, "\\'");
}
/*formatCheck = formatCheck.replace(/0/g, '\\d');
formatCheck = formatCheck.replace(/[aA]/g, '[a-zA-Z]');*/
formatCheck = formatCheck.replace(makeRegChar(numChar), '\\d');
formatCheck = formatCheck.replace(makeRegChar(textChar), '[a-zA-Z]');
return formatCheck;
};
function is_hexadecimal(str)
{
var regexp = /^[0-9a-fA-F]+$/;
if (regexp.test(str)){
return true;
}else{
return false;
}
}
var isValid16bitUUID = function(control, e, maxLength){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8){
return true;
}
if(keynum == undefined){
return true;
}
if(keynum == 45){
return false;
}
keychar = String.fromCharCode(keynum);
var value = control.value;
value = value.slice(0, control.selectionStart) + keychar + value.slice(control.selectionEnd);
if(maxLength != undefined && value.length > maxLength){
return false;
}
return is_hexadecimal(value);
};
var generateLookupTableRows = function(lkTable, kind){
var lkTableNum = lkTable.LKTotal;
// Store lookup data into an index array
glbHashObject['lookup_data_store_from_server'] = new Object();
lookup_allow_delete = true;
if('viewData' === kind){
lookup_allow_delete = lkTable.allowDelete;
var tmpCss = 'none';
if(lookup_allow_delete){
tmpCss = '';
}
$('.lookup_manager .lookupDelete').css('display', tmpCss);
}
var lookupRows = '';
for ( var int = 0; int < lkTableNum; int++) {
if(lkTable['LKTable_' + (int + 1)] != undefined){
var curLKTable = lkTable['LKTable_' + (int + 1)];
var linkDownload = lkTable.server_url + '/client/lookupXml?id=' + curLKTable.Key + '&from=0&to=5000';
// Apply filter based on POD type
var isUsing4PODCheck = '';
var isUsing4PODRow = '';
if (curLKTable.isUsing4POD === true) {
isUsing4PODCheck = ' checked ';
isUsing4PODRow = ' isUsing4POD ';
}
// Add POD row class
lookupRows += '';
// Apply delete multiple select lookups feature into Lookup Manager GUI
var chkDeleteRow = '';
if (isVersion(VERSION_DELETE_MULTI_SELECTED_LOOKUPS)) {
chkDeleteRow = ' ';
}
lookupRows += ' ' + chkDeleteRow + ' '
+ 'D '
.replace('#checked_value#', isUsing4PODCheck)
.replace('#link_download_template#', linkDownload);
lookupRows += ''+ HtmlEncode(curLKTable.TableName) +'
';
lookupRows += ''+ curLKTable.ColumnsName +'
';
// Replace the line feed \n into HTML line feed ( )
lookupRows += ''+ curLKTable.Description.replace(/\n/g, ' ') +'
';
lookupRows += ''.replace('#id#', int + 1)
+ lbl_btn_view + ' ';
// Add "Upload Date"
lookupRows += ''+ curLKTable.UploadDate + ' ';
lookupRows += ''+ curLKTable.UpdateDate + ' ';
lookupRows += ' ';
lookupRows += ' ';
// Storing data into index array
glbHashObject['lookup_data_store_from_server'][(int + 1)] = curLKTable;
}
}
// if there is not any lookup tables, add an empty record
if(lookupRows == ''){
lookupRows += '';
lookupRows += ' ';
lookupRows += ' ';
lookupRows += ' ';
lookupRows += ' ';
lookupRows += ' ';
lookupRows += ' ';
lookupRows += ' ';
lookupRows += ' ';
lookupRows += ' ';
}
return lookupRows;
}
var registerLookupCtrlEvents = function(){
jsonChangeLookupActive = {};
$('#lookup_Table').find('.lookup_active').click(function() {
var lookupKey = $(this).attr('lookupKey');
if(jsonChangeLookupActive[lookupKey]) {
delete jsonChangeLookupActive[lookupKey];
} else {
jsonChangeLookupActive[lookupKey] = true;
}
if(!$(this).attr('checked')) {
waitForDataLoading(true);
$.ajax({
url: '/dataview/lookupprocess',
dataType: 'json',
type: 'GET',
data: {
action : 'check_associate_form'
,datasourceKey : lookupKey
},
cache: false,
complete: function()
{
waitForDataLoading(false);
},
success: function(response, status)
{
if(response.isAssociateForm) {
jAlert(msg_custom_template_form_used.replace('$1', 'lookup table'));
}
},
error: function(request, status, error)
{
jAlert(msg_unknown_error);
}
});
}
});
}
var onlyAlphaSymbols = function(control, e){
var keynum;
var keychar;
var checkReg;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8){
return true;
}
if(keynum == undefined){
return true;
}
if(keynum == 45){
return false;
}
keychar = String.fromCharCode(keynum);
checkReg = /[a-zA-Z!@#$%^&*]/g;
return checkReg.test(keychar);
};
var onlyNumberDigitCustomFormatIgnoreSpecialChar = function(control, e, format, textChar, numChar){
if(!format || format == ''){
return true;
}
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == undefined){
if(e.keyCode == 9){
return true;
}
}
if(keynum == 13){
e.preventDefault();
jumpToNextCtrlWA(control);
return true;
}
if(keynum == 8){
return true;
}
if(keynum == undefined){
return true;
}
keychar = String.fromCharCode(keynum);
var value = control.value;
var startStr = addSpecialCharFormat(value.slice(0, control.selectionStart), format, textChar, numChar);
var endStr = value.slice(control.selectionEnd);
value = startStr + keychar + endStr;
if(isCorrectFormat(value, format, textChar, numChar)){
$(control).val(startStr + endStr);
control.selectionStart = control.selectionEnd = startStr.length;
return true;
}
return false;
};
var addSpecialCharFormat = function(value, format, textChar, numChar){
var val = value;
var customFormat = format;
// replace ^a to \000
var textCharReg = '\\^' + textChar;
customFormat = customFormat.replace(new RegExp(textCharReg, 'g'), '\000');
// replace ^n to \001
var numCharReg = '\\^' + numChar;
customFormat = customFormat.replace(new RegExp(numCharReg, 'g'), '\001');
// replace a,n to \002
var txtnumCharReg = '[' + textChar + ',' + numChar + ']';
customFormat = customFormat.replace(new RegExp(txtnumCharReg, 'g'), '\002');
// replace \000 to a
customFormat = customFormat.replace(/\000/g, textChar);
// replace \001 to n
customFormat = customFormat.replace(/\001/g, numChar);
var changed = false;
while(customFormat.length > val.length && customFormat[val.length] != '\002'){
val += customFormat[val.length];
changed = true;
}
return val;
}
var isPressBackspace = function(e){
var keynum;
var keychar;
var numcheck;
if(window.event) // IE
{
keynum = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keynum = e.which;
}
if(keynum == 8){
return true;
}
return false;
}
function launchGarminDirectionsFormBuilder(currentUser){
if(currentUser && currentUser.launchGarminDirections){
VERSION_ACTION_LAUNCH_GARMIN_DIRECTIONS = VERSION_NEW_WEB_APP;
}else{
VERSION_ACTION_LAUNCH_GARMIN_DIRECTIONS = VERSION_UNSUPPORT;
}
}
function isShowJumpWhenNotEmpty(currentUser){
if(currentUser && currentUser.jumpWhenNotEmpty){
VERSION_JUMP_WHEN_NOT_EMPTY = VERSION_NEW_WEB_APP;
}else{
VERSION_JUMP_WHEN_NOT_EMPTY = VERSION_UNSUPPORT;
}
if($.fn.odkControl.controlProperties && $.fn.odkControl.controlProperties.inputBarcode.jumpWhenNotEmpty){
$.fn.odkControl.controlProperties.inputBarcode.jumpWhenNotEmpty.version = VERSION_JUMP_WHEN_NOT_EMPTY.toString();
}
}
function supportSquareFormBuilder(currentUser){
/*if(currentUser && currentUser.squarePayment){
VERSION_SQUARE_PAYMENT = VERSION_NEW_WEB_APP;
}else{
VERSION_SQUARE_PAYMENT = VERSION_UNSUPPORT;
}*/
}
function sortTable(table, classCompare){
// var table = $('#' + tableID);
var rows = table.find('tbody tr').get();
rows.sort(function(a, b) {
var A = $(a).find('td .' + classCompare).text().toUpperCase();
var B = $(b).find('td .' + classCompare).text().toUpperCase();
if(A < B) {
return -1;
}
if(A > B) {
return 1;
}
return 0;
});
$.each(rows, function(index, row) {
table.children('tbody').append(row);
});
}
function isShowGoogleMapRoutes(currentUser){
if(currentUser && currentUser.googleMapRoutes){
VERSION_GOOGLE_MAP_ROUTES = VERSION_NEW_WEB_APP;
}else{
VERSION_GOOGLE_MAP_ROUTES = VERSION_UNSUPPORT;
}
VERSION_GOOGLE_MAP_ROUTES_ARRIVAL_TIME = VERSION_GOOGLE_MAP_ROUTES;
}
function setUserVariableItemById(userVariables, id, value){
if(!userVariables){
return;
}
for(var index = 0; index < userVariables.length; index++){
var item = userVariables[index];
var itemId = item['ID'];
if(itemId == id){
/*if(!item.Edit){
return;
}*/
item.Value = value;
item.Edited = true;
}
}
return;
}
/*function launchGoogleMapsFormBuilder(currentUser){
if(currentUser && currentUser.googleMapRoutes){
VERSION_LAUNCH_GOOGLE_MAP = VERSION_NEW_WEB_APP;
}else{
VERSION_LAUNCH_GOOGLE_MAP = VERSION_UNSUPPORT;
}
}*/
function addMinutes(date, minutes) {
return new Date(date.getTime() + minutes*60000);
}
function setDateInputControl4RetrieveTab(ctrl, name){
ctrl.datetimepicker(
{
dateFormat: DEFAULT_DATE_FORMAT,
showCalendar: true,
showTime:false,
showSecond: false,
isRTL: false,
showButtonPanel:true,
showAsAndorid: true,
onSelect: function(dateText, inst)
{
$('.retrieveTab input[name="' + name + '"]').val($(this).val());
}
});
}
var reloadSearchRetrieveInfo = function(response){
if(!isVersion(VERSION_RETRIEVE_WEB_CLIENT)){
return;
}
setDateInputControl4RetrieveTab($('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="equalDateTime"]'), "equalDateTime");
setDateInputControl4RetrieveTab($('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="fromDateTime"]'), "fromDateTime");
setDateInputControl4RetrieveTab($('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="toDateTime"]'), "toDateTime");
loadRetrieveSeachProject();
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .btnSearch').off().click(function(){
retrieveSeachClick();
});
loadRetrieveSearchConditionCookie();
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="daterangetype"]').change(function(event){
var value = $(this).val();
switch(value){
case CONST_SWITCH_CUSTOM:
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .date-time-session-4-custom').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
break;
default:
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .date-time-session-4-custom').addClass(CONST_CSS_CLASS_HIDE_SESSION);
}
});
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-equal"]').change(function(event){
if($(this).is(':checked')){
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-between"]').prop('checked',false).change();
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab div.between-session').addClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab div.equal-session').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
}else{
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab div.equal-session').addClass(CONST_CSS_CLASS_HIDE_SESSION);
}
});
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-between"]').change(function(event){
if($(this).is(':checked')){
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-equal"]').prop('checked',false).change();
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab div.between-session').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab div.equal-session').addClass(CONST_CSS_CLASS_HIDE_SESSION);
}else{
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab div.between-session').addClass(CONST_CSS_CLASS_HIDE_SESSION);
}
});
}
var loadRetrieveSeachProject = function(){
var projects = fvDBInfoNS.projects;
var cbo = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="projectkey"');
var cboValue = cbo.val();
cbo.empty();
function addProjectItem(cbo, projectKey, projectName){
var item = $(' ');
item.empty().append(projectName);
item.attr(CONST_VALUE, projectKey);
cbo.append(item);
}
addProjectItem(cbo, '', '(All)');
var projectsTmp = getProjectSortList(projects);
for (var i=0;i bValue) ? 1 : 0));
});
for(var index = 0; index < displayOrderArr.length; index++){
var item = displayOrderArr[index];
var formKey = item.key;
var formName = item.viewableName;
var item = $(' ');
item.empty().append(formName);
item.attr(CONST_VALUE, formKey);
cbo.append(item);
}
cbo.off().change(function(){
var formKey = $(this).val();
loadRetrieveFormFields(formKey, true);
addRetrieveFormFieldsToCbo(formKey);
});
cbo.val(cboValue);
}
var addRetrieveFormFieldsToCbo = function(formKey){
var cboQuestion = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="question"]');
var cboQuestion1 = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="question1"]');
var cboQuestionVal = cboQuestion.val();
var cboQuestion1Val = cboQuestion1.val();
cboQuestion.empty().append($(' '));
cboQuestion1.empty().append($(' '));
var opt = $('Nickname ');
cboQuestion.append(opt.clone());
cboQuestion1.append(opt.clone());
opt = $('Mobile# ');
cboQuestion.append(opt.clone());
cboQuestion1.append(opt.clone());
if(fvDBInfoNS.formDataSource && fvDBInfoNS.formDataSource[formKey]){
_.each(fvDBInfoNS.formDataSource[formKey], function(item){
cboQuestion.append(item.clone());
cboQuestion1.append(item.clone());
});
}
cboQuestion.val(cboQuestionVal);
cboQuestion1.val(cboQuestion1Val);
}
var loadRetrieveFormFields = function(formKey, isCheckCache, isDateTimeFieldOnly){
if(fvDBInfoNS == null){
fvDBInfoNS = {};
}
if(!fvDBInfoNS.formDataSource){
fvDBInfoNS.formDataSource = {};
}
if(!fvDBInfoNS.formDataSourceDateTime){
fvDBInfoNS.formDataSourceDateTime = {};
}
if(!fvDBInfoNS.pleaseReloadFormDataSource){
fvDBInfoNS.pleaseReloadFormDataSource = {};
}
if(formKey == null || formKey == ''){
return [];
}
if(isDateTimeFieldOnly == true){
if(isCheckCache && fvDBInfoNS.formDataSourceDateTime && fvDBInfoNS.formDataSourceDateTime[formKey] && fvDBInfoNS.pleaseReloadFormDataSource[formKey] != true){
return fvDBInfoNS.formDataSourceDateTime[formKey];
}
}else{
if(isCheckCache && fvDBInfoNS.formDataSource && fvDBInfoNS.formDataSource[formKey] && fvDBInfoNS.pleaseReloadFormDataSource[formKey] != true){
return fvDBInfoNS.formDataSource[formKey];
}
}
fvDBInfoNS.pleaseReloadFormDataSource[formKey] = false;
fvDBInfoNS.formDataSource[formKey] = [];
fvDBInfoNS.formDataSourceDateTime[formKey] = [];
waitForDataLoading(true);
var param = '';
param += 'key=' + formKey;
if(fvDBInfoNS != undefined && fvDBInfoNS.currentUser != undefined){
param += '&mobileKey=' + fvDBInfoNS.currentUser.MobileKey;
}
$.ajax({
url: '/formbuilder/openForm?' + param,
dataType: 'json',
type: 'GET',
cache: false,
async: false,
complete: function()
{
},
success: function(response, status)
{
waitForDataLoading(false);
if(!response.controls){
return;
}
_.each(response.controls, function(control)
{
var optLabel = '';
var item = '';
switch(control.type){
case CONST_CTRL_TYPE_INPUTACTION:
case CONST_CTRL_TYPE_INPUTLABEL:
break;
case CONST_CTRL_TYPE_CTRLTABLE:
case CONST_CTRL_TYPE_CTRLGRID:
_.each(control.children, function(control1)
{
switch(control1.type){
case CONST_CTRL_TYPE_INPUTACTION:
case CONST_CTRL_TYPE_INPUTLABEL:
break;
case CONST_CTRL_TYPE_INPUTDATE:
optLabel = control1.name;
item = $(' ')
.attr(CONST_VALUE, control1.name)
.text(optLabel);
fvDBInfoNS.formDataSource[formKey].push(item);
if(control.kind != CONST_VALUE_TIME){
item = $(' ')
.attr(CONST_VALUE, control1.name)
.text(optLabel);
fvDBInfoNS.formDataSourceDateTime[formKey].push(item);
}
break;
default:
optLabel = control1.name;
item = $(' ')
.attr(CONST_VALUE, control1.name)
.text(optLabel);
fvDBInfoNS.formDataSource[formKey].push(item);
break;
}
});
break;
case CONST_CTRL_TYPE_INPUTDATE:
optLabel = control.name;
item = $(' ')
.attr(CONST_VALUE, control.name)
.text(optLabel);
fvDBInfoNS.formDataSource[formKey].push(item);
if(control.kind != CONST_VALUE_TIME){
item = $(' ')
.attr(CONST_VALUE, control.name)
.text(optLabel);
fvDBInfoNS.formDataSourceDateTime[formKey].push(item);
}
break;
default:
optLabel = control.name;
item = $(' ')
.attr(CONST_VALUE, control.name)
.text(optLabel);
fvDBInfoNS.formDataSource[formKey].push(item);
break;
}
});
},
error: function(request, status, error)
{
waitForDataLoading(false);
}
});
if(isDateTimeFieldOnly == true){
return fvDBInfoNS.formDataSourceDateTime[formKey];
}else{
return fvDBInfoNS.formDataSource[formKey];
}
}
var getXmlNodeAttributeByName = function(xmlNode, attributeName){
if(xmlNode != undefined){
return xmlNode.getAttribute(attributeName);
}
return '';
}
var getDisplayFieldsValue = function(xmlNode, displayFields){
var arrs = displayFields.split(',');
if(xmlNode != undefined){
var ret = '';
for(var i=1; i<= arrs.length; i++){
var attributeName = 'displayField_' + i;
var attrValue = xmlNode.getAttribute(attributeName);
if(attrValue == undefined){
attrValue = '';
}
if(i != 1){
ret += ' | ';
}
ret += attrValue;
}
return ret;
}
return '';
}
var getXmlNodeValueByTagName = function(xmlNode, tagName){
if(xmlNode != undefined){
var node = xmlNode[0].getElementsByTagName(tagName);
if(node.length>0 && node[0].childNodes.length>0){
return node[0].childNodes[0].nodeValue;
}
}
return '';
}
var showHideContinueSearchBtn = function(continueNode){
var conForm = valueOrEmpty(getXmlNodeValueByTagName(continueNode, 'Form'));
var conPos = valueOrEmpty(getXmlNodeValueByTagName(continueNode, 'Position'));
var nextBtn = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session .btnNext');
if(conForm != '' && conPos != ''){
nextBtn.removeClass(CONST_CSS_CLASS_HIDE_SESSION);
nextBtn.attr(CONST_DATA_FRM, conForm).attr(CONST_DATA_POS, conPos);
nextBtn.off().click(function(){
retrieveSeachExecute(conForm, conPos);
});
}else{
nextBtn.addClass(CONST_CSS_CLASS_HIDE_SESSION);
}
}
var retrieveSeachExecute = function(continueform, continueposition){
var projectKey = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="projectkey"]').val();
var formKey = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="formkey"]').val();
if(formKey == undefined || formKey == ''){
jAlert(msg_select_form);
return;
}
var daterangetype = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="daterangetype"]').val();
var daterange = '';
if(daterangetype == 'custom'){
var customCompareEqual = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-equal"]').is(':checked');
if(customCompareEqual){
var equalDateTime = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="equalDateTime"]').val();
var equalDateTimeTF = mmddyyyyToTFormat(equalDateTime, CONST_VALUE_DATE, undefined, DEFAULT_DATE_FORMAT);
//daterange = equalDateTimeTF + '$' + equalDateTimeTF;
daterange = equalDateTimeTF + 'T00:00:00$' + equalDateTimeTF + 'T23:59:59';
}else{
var customCompareBetween = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-between"]').is(':checked');
if(customCompareBetween){
var fromDateTime = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="fromDateTime"]').val();
var toDateTime = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="toDateTime"]').val();
var fromDateTimeTF = mmddyyyyToTFormat(fromDateTime, CONST_VALUE_DATE, undefined, DEFAULT_DATE_FORMAT);
var toDateTimeTF = mmddyyyyToTFormat(toDateTime, CONST_VALUE_DATE, undefined, DEFAULT_DATE_FORMAT);
//daterange = fromDateTimeTF + '$' + toDateTimeTF;
daterange = fromDateTimeTF + 'T00:00:00$' + toDateTimeTF + 'T23:59:59';
}
}
} else if(daterangetype == 'last_0_days'){
var toDate = new Date();
toDate.setHours(0);
toDate.setMinutes(0);
toDate.setSeconds(0);
toDate.setMilliseconds(0);
var nDays = authNS.currentUser.assRetrieveLastNDays;
if(isNaN(nDays) || nDays < 0) {
nDays = 0;
}
var fromDate = new Date(toDate.getTime() - nDays * 86400000);//86400000 = one day time
daterange = dateToTFormat(fromDate, CONST_VALUE_DATE) + 'T00:00:00$'
+ dateToTFormat(toDate, CONST_VALUE_DATE) + 'T23:59:59';
daterangetype = 'custom';
}
var question = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="question"]').val();
var answer = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="answer"]').val();
var question1 = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="question1"]').val();
var answer1 = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="answer1"]').val();
if(continueform == undefined){
continueform = '';
}
if(continueposition == undefined){
continueposition = '';
}
var searchObj = {};
searchObj['continueform'] = continueform;
searchObj['continueposition'] = continueposition;
searchObj['mobilekey'] = fvDBInfoNS.currentUser.MobileKey;
searchObj['daterangetype'] = daterangetype;
searchObj['daterange'] = daterange;
searchObj['projectkey'] = projectKey;
searchObj['formkey'] = formKey;
searchObj['question'] = question;
searchObj['answer'] = answer;
searchObj['question1'] = question1;
searchObj['answer1'] = answer1;
searchObj['displayFields'] = '';
return retrieveSeachExecuteObj(searchObj, undefined);
}
var retrieveSeachExecuteObj = function(searchObj, returnTab){
var searchNotFoundMsg;
if(searchObj.continueform != '' && searchObj.continueposition != ''){
searchNotFoundMsg = msg_no_more_data_found;
}else{
searchNotFoundMsg = err_retrieve_search_not_found;
}
waitForDataLoading(true);
$.ajax({
url: '/getDataRecordList',
dataType: 'xml',
type: 'POST',
data:JSON.stringify({
mobilekey: searchObj.mobilekey,
daterangetype: searchObj.daterangetype,
daterange: searchObj.daterange,
projectkey: searchObj.projectkey,
formkey: searchObj.formkey,
question: searchObj.question,
answer: searchObj.answer,
question1: searchObj.question1,
answer1: searchObj.answer1,
continueform: searchObj.continueform,
continueposition: searchObj.continueposition,
displayFields: searchObj.displayFields,
restrictMobileDevice: searchObj.restrictMobileDevice,
retrieveDateQuestion: searchObj.retrieveDateQuestion
}),
cache: false,
async: false,
complete: function()
{
},
success: function(response, status)
{
waitForDataLoading(false);
if(response.errorcode != undefined){
switch(response.errorcode){
case CONST_ERROR_CODE_MOBILE_NUMBER:
case CONST_ERROR_CODE_MOBILE_NOT_ASSIGNED:
case CONST_ERROR_CODE_INVALID_PROJECT:
case CONST_ERROR_CODE_INVALID_FORM:
case CONST_ERROR_CODE_NOT_FOUND_PROJECT_FORM:
jAlert(lbl_project_form_access_denied);
return;
}
}
var data = response.getElementsByTagName("records");
if(!authNS.retrieveResultList){
authNS.retrieveResultList = {};
}
if(data && data.length>0){
var continueNode = data[0].getElementsByTagName("Continue");
showHideContinueSearchBtn(continueNode);
var records = data[0].getElementsByTagName("record");
if(records.length == 0){
jAlert(searchNotFoundMsg);
return;
}
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
var retrieveResultList = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session .search-result-list');
if(searchObj.continueform == '' || searchObj.continueposition == ''){
retrieveResultList.empty();
}
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-condition').addClass(CONST_CSS_CLASS_HIDE_SESSION);
if(returnTab != undefined){
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .mainRetrieveList').addClass('list-4-retrieve-action-button');
}else{
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .mainRetrieveList').removeClass('list-4-retrieve-action-button');
}
for (var i = 0; i 0){
continue;
}
authNS.retrieveResultList[retrieveItemJson.recordKey] = retrieveItemJson;
var retrieveItem = $('');
var retrieveItemCheck = $('
');
retrieveItemCheck.find('.chkItem').attr(CONST_ID, retrieveItemJson.recordKey).off().click(function(event){
if($(this).is(':checked')){
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session .btnSelectAll').empty().append(lbl_deselect_all);
}else{
var checkedItems = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session input[type="checkbox"]:checked');
if(checkedItems.length == 0){
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session .btnSelectAll').empty().append(lbl_select_all);
}
}
});
var retrieveItemText = retrieveItemJson.formName;
var recordName = valueOrEmpty(retrieveItemJson.recordName);
if(recordName != ''){
retrieveItemText = recordName;
}
if(retrieveItemJson.displayFields != ''){
retrieveItemText = retrieveItemJson.displayFields;
}
/*var formId = valueOrEmpty(retrieveItemJson.formId);
if(formId != ''){
retrieveItem.find('.retrieveItemTextHint').empty().append(formId);
}*/
retrieveItem.find('.retrieveItemText').empty().append(retrieveItemText);
retrieveItem.append(retrieveItemCheck);
retrieveItem.attr('retrieve-item', retrieveItemJson.recordKey);
retrieveItem.find('.retrieveItem').attr('retrieve-item', retrieveItemJson.recordKey);
retrieveResultList.append(retrieveItem);
var devider = $('
');
devider.attr('retrieve-item', retrieveItemJson.recordKey);
retrieveResultList.append(devider);
if(returnTab != undefined){
retrieveItem.find('.retrieveItem').click(function(){
var msg = msg_retrieve_confirm.replace('$1', $(this).find('.retrieveItemText').text());
var retrieveRecordKey = $(this).attr('retrieve-item');
jConfirm(msg,'Alert',function(result, data){
if(!result) {
//showTab(retrieveReturnTab);
//retrieveReturnTab = undefined;
return false;
}
retrieveButtonClick(retrieveRecordKey, searchObj.removeFromReview);
});
});
}
}
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session .btnBack').off().click(function(){
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session').addClass(CONST_CSS_CLASS_HIDE_SESSION).removeClass('hadRetrieve');
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-condition').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
if(retrieveReturnTab != undefined){
showTab(retrieveReturnTab);
retrieveReturnTab = undefined;
}
});
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session .btnSelectAll').off().click(function(){
var caption = $(this).text();
switch(caption){
case lbl_deselect_all:
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session input[type="checkbox"]').prop('checked', false);
$(this).empty().append(lbl_select_all);
break;
default:
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session input[type="checkbox"]').prop('checked', true);
$(this).empty().append(lbl_deselect_all);
}
});
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session .btnRetrieve').off().click(function(){
retrieveButtonClick();
});
$('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_retrieve_icon').click();
retrieveReturnTab = returnTab;
}else{
jAlert(searchNotFoundMsg);
}
},
error: function(request, status, error)
{
waitForDataLoading(false);
var errorCode = '' + getStatus(request);
switch(errorCode){
case CONST_ERROR_CODE_MOBILE_NUMBER:
case CONST_ERROR_CODE_MOBILE_NOT_ASSIGNED:
case CONST_ERROR_CODE_INVALID_PROJECT:
case CONST_ERROR_CODE_INVALID_FORM:
case CONST_ERROR_CODE_NOT_FOUND_PROJECT_FORM:
jAlert(lbl_project_form_access_denied);
break;
default:
jAlert(searchNotFoundMsg);
}
}
});
}
var retrieveAttachFormObj = function(searchObj, ctrlPropreties, returnTab){
var searchNotFoundMsg;
if(searchObj.continueform != '' && searchObj.continueposition != ''){
searchNotFoundMsg = msg_no_more_data_found;
}else{
searchNotFoundMsg = err_retrieve_search_not_found;
}
waitForDataLoading(true);
$.ajax({
url: '/getDataRecordList',
dataType: 'xml',
type: 'POST',
data:JSON.stringify({
mobilekey: searchObj.mobilekey,
daterangetype: searchObj.daterangetype,
daterange: searchObj.daterange,
projectkey: searchObj.projectkey,
formkey: searchObj.formkey,
question: searchObj.question,
answer: searchObj.answer,
question1: searchObj.question1,
answer1: searchObj.answer1,
continueform: searchObj.continueform,
continueposition: searchObj.continueposition,
displayFields: searchObj.displayFields,
restrictMobileDevice: searchObj.restrictMobileDevice,
retrieveDateQuestion: searchObj.retrieveDateQuestion
}),
cache: false,
async: false,
complete: function()
{
},
success: function(response, status)
{
waitForDataLoading(false);
if(response.errorcode != undefined){
switch(response.errorcode){
case CONST_ERROR_CODE_MOBILE_NUMBER:
case CONST_ERROR_CODE_MOBILE_NOT_ASSIGNED:
case CONST_ERROR_CODE_INVALID_PROJECT:
case CONST_ERROR_CODE_INVALID_FORM:
case CONST_ERROR_CODE_NOT_FOUND_PROJECT_FORM:
jAlert(lbl_project_form_access_denied);
return;
}
}
var data = response.getElementsByTagName("records");
if(!authNS.attachFormResultList){
authNS.attachFormResultList = {};
}
if(data && data.length>0){
var continueNode = data[0].getElementsByTagName("Continue");
showHideContinueSearchBtn(continueNode);
var records = data[0].getElementsByTagName("record");
if(records.length == 0){
jAlert(searchNotFoundMsg);
return;
}
var fvWorkspace4AttachForm = $('.fvWorkspaceScrollArea .fvWorkspace4AttachForm');
if(fvWorkspace4AttachForm.length == 0){
fvWorkspace4AttachForm = $('#formview_templates .attach-form-search-result-session').first()
.clone().addClass('fvWorkspace4AttachForm');
}else{
fvWorkspace4AttachForm.removeClass(CONST_CSS_CLASS_HIDE_SESSION);
}
$('.fvWorkspaceScrollArea .fvWorkspace').addClass(CONST_CSS_CLASS_HIDE_SESSION);
var fvWorkspace4AttachFormResultList = fvWorkspace4AttachForm.find('.search-result-list');
fvWorkspace4AttachFormResultList.empty();
$($('.fvWorkspaceScrollArea')[0]).append(fvWorkspace4AttachForm);
for (var i = 0; i 0){
continue;
}
authNS.attachFormResultList[retrieveItemJson.recordKey] = retrieveItemJson;
var retrieveItem = $('');
var retrieveItemText = retrieveItemJson.formName;
var recordName = valueOrEmpty(retrieveItemJson.recordName);
if(recordName != ''){
retrieveItemText = recordName;
}
if(retrieveItemJson.displayFields != ''){
retrieveItemText = retrieveItemJson.displayFields;
}
retrieveItem.find('.retrieveItemText').empty().append(retrieveItemText);
//retrieveItem.append(retrieveItemCheck);
retrieveItem.attr('retrieve-item', retrieveItemJson.recordKey);
fvWorkspace4AttachFormResultList.append(retrieveItem);
var devider = $('
');
devider.attr('retrieve-item', retrieveItemJson.recordKey);
fvWorkspace4AttachFormResultList.append(devider);
retrieveItem.click(function(){
fvWorkspace4AttachFormResultList.find('.selected').removeClass('selected');
$(this).addClass('selected');
});
}
fvWorkspace4AttachForm.find('.btnCancel').off().click(function(){
$('.fvWorkspaceScrollArea .fvWorkspace').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
fvWorkspace4AttachForm.addClass(CONST_CSS_CLASS_HIDE_SESSION);
});
fvWorkspace4AttachForm.find('.btnOk').off().click(function(){
var retrieveRecordKey = fvWorkspace4AttachFormResultList.find('.selected').attr('retrieve-item');
if(retrieveRecordKey && retrieveRecordKey != ''){
var recordName = fvWorkspace4AttachFormResultList.find('.selected').text();
var msgConfirm = msg_attach_form_confirm.replace(/\$1/g, recordName);
var tmpOKBtn = $.alerts.okButton;
var tmpCanBtn = $.alerts.cancelButton;
$.alerts.okButton = ' Yes ';
$.alerts.cancelButton = ' No ';
jConfirm(msgConfirm, lbl_warning, function(result){
$.alerts.okButton = tmpOKBtn;
$.alerts.cancelButton = tmpCanBtn;
if(result) {
var attachControl = $('.fvWorkspaceScrollArea .fvWorkspace #ctrlDataId_' + ctrlPropreties.ctrlDataId);
if(retrieveRecordKey) {
var displayFiels = fvWorkspace4AttachFormResultList.find('.selected .retrieveItemText').html();
ctrlPropreties.val = retrieveRecordKey + '$$' + displayFiels;
attachControl.find('.actionValue').val(displayFiels);
attachControl.find('.actionBtn').hide();
attachControl.find('.buttonMediaGeneralRegion').css('display','flex');
} else {
ctrlPropreties.val = CONST_VALUE_CLICK;
attachControl.find('.actionValue').val('');
attachControl.find('.actionBtn').show();
var buttonMediaGeneralRegion = attachControl.find('.buttonMediaGeneralRegion');
buttonMediaGeneralRegion.css('display','');
buttonMediaGeneralRegion.attr('style', buttonMediaGeneralRegion.attr('style') + 'display:none!important;');
}
$('.fvWorkspaceScrollArea .fvWorkspace').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
fvWorkspace4AttachForm.addClass(CONST_CSS_CLASS_HIDE_SESSION);
}
})
}else{
alert(lbl_action_attach_form_pls_select_record);
}
});
}else{
jAlert(searchNotFoundMsg);
}
},
error: function(request, status, error)
{
waitForDataLoading(false);
var errorCode = '' + getStatus(request);
switch(errorCode){
case CONST_ERROR_CODE_MOBILE_NUMBER:
case CONST_ERROR_CODE_MOBILE_NOT_ASSIGNED:
case CONST_ERROR_CODE_INVALID_PROJECT:
case CONST_ERROR_CODE_INVALID_FORM:
case CONST_ERROR_CODE_NOT_FOUND_PROJECT_FORM:
jAlert(lbl_project_form_access_denied);
break;
default:
jAlert(searchNotFoundMsg);
}
}
});
}
var retrieveSeachClick = function(){
var isRemember = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="retrieveRememberSearchCondition"]').is(':checked');
if(isRemember){
setRememberRetrieveSearchConditionCookie();
}else{
clearRememberRetrieveSearchConditionCookie();
}
retrieveSeachExecute('', '');
}
var setRememberRetrieveSearchConditionCookie = function(){
var isRemember = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="retrieveRememberSearchCondition"]').is(':checked');
storeData("RTab_remember", isRemember);
var retrieveAction = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="retrieveAction"]').val();
storeData("RTab_action", retrieveAction);
var daterangetype = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="daterangetype"]').val();
storeData("RTab_daterangetype", daterangetype);
var customCompareEqual = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-equal"]').is(':checked');
storeData("RTab_cmp_equal", customCompareEqual);
if(customCompareEqual){
var equalDateTime = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="equalDateTime"]').val();
storeData("RTab_equal_datetime", equalDateTime);
}else{
storeData("RTab_equal_datetime", null);
}
var customCompareBetween = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-between"]').is(':checked');
storeData("RTab_cmp_between", customCompareBetween);
if(customCompareBetween){
var fromDateTime = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="fromDateTime"]').val();
storeData("RTab_between_fromdatetime", fromDateTime);
var toDateTime = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="toDateTime"]').val();
storeData("RTab_between_todatetime", toDateTime);
}else{
storeData("RTab_between_fromdatetime", null);
storeData("RTab_between_todatetime", null);
}
var projectKey = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="projectkey"]').val();
storeData("RTab_projectkey", projectKey);
var formKey = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="formkey"]').val();
storeData("RTab_formkey", formKey);
var question = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="question"]').val();
storeData("RTab_question", question);
var answer = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="answer"]').val();
storeData("RTab_answer", answer);
var question1 = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="question1"]').val();
storeData("RTab_question1", question1);
var answer1 = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="answer1"]').val();
storeData("RTab_answer1", answer1);
}
var clearRememberRetrieveSearchConditionCookie = function(){
storeData("RTab_remember", null);
storeData("RTab_action", null);
storeData("RTab_daterangetype", null);
storeData("RTab_cmp_equal", null);
storeData("RTab_equal_datetime", null);
storeData("RTab_cmp_between", null);
storeData("RTab_between_fromdatetime", null);
storeData("RTab_between_todatetime", null);
storeData("RTab_projectkey", null);
storeData("RTab_formkey", null);
storeData("RTab_question", null);
storeData("RTab_answer", null);
storeData("RTab_question1", null);
storeData("RTab_answer1", null);
}
var loadRetrieveSearchConditionCookie = function(){
var isRemember = getStoreData("RTab_remember") || 'false';
if(isRemember.toLowerCase() == 'true'){
var retrieveAction = getStoreData("RTab_action") || 'update';
var daterangetype = getStoreData("RTab_daterangetype") || 'today';
var customCompareEqual = getStoreData("RTab_cmp_equal") || 'false';
var customCompareBetween = getStoreData("RTab_cmp_between") || 'false';
var projectKey = getStoreData("RTab_projectkey") || '';
var formKey = getStoreData("RTab_formkey") || '';
var question = getStoreData("RTab_question") || '';
var answer = getStoreData("RTab_answer") || '';
var question1 = getStoreData("RTab_question1") || '';
var answer1 = getStoreData("RTab_answer1") || '';
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="retrieveRememberSearchCondition"]').prop('checked', true);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="retrieveAction"]').val(retrieveAction);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="daterangetype"]').val(daterangetype);
if(daterangetype == 'custom'){
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .date-time-session-4-custom').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
}else{
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .date-time-session-4-custom').addClass(CONST_CSS_CLASS_HIDE_SESSION);
}
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-equal"]').prop('checked', customCompareEqual.toLowerCase() == 'true');
if(customCompareEqual.toLowerCase() == 'true'){
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .equal-session').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
var equalDateTime = getStoreData("RTab_equal_datetime");
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="equalDateTime"]').val(equalDateTime);
}else{
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .equal-session').addClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="equalDateTime"]').val('');
}
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-between"]').prop('checked', customCompareBetween.toLowerCase() == 'true');
if(customCompareBetween.toLowerCase() == 'true'){
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .between-session').removeClass(CONST_CSS_CLASS_HIDE_SESSION);
var fromDateTime = getStoreData("RTab_between_fromdatetime");
var toDateTime = getStoreData("RTab_between_todatetime");
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="fromDateTime"]').val(fromDateTime);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="toDateTime"]').val(toDateTime);
}else{
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .between-session').addClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="fromDateTime"]').val('');
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="toDateTime"]').val('');
}
loadRetrieveSeachProject();
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="projectkey"]').val(projectKey);
reloadRetrieveSeachForm(projectKey);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="formkey"]').val(formKey);
loadRetrieveFormFields(formKey, true);
addRetrieveFormFieldsToCbo(formKey);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="question"]').val(question);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="answer"]').val(answer);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="question1"]').val(question1);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="answer1"]').val(answer1);
}else{
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="retrieveRememberSearchCondition"]').prop('checked', false);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="retrieveAction"]').val('update');
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="daterangetype"]').val('today');
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .date-time-session-4-custom').addClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-equal"]').prop('checked', false);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .equal-session').addClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="equalDateTime"]').val('');
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="custom-compare-between"]').prop('checked', false);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .between-session').addClass(CONST_CSS_CLASS_HIDE_SESSION);
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="fromDateTime"]').val('');
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="toDateTime"]').val('');
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="projectkey"]').val();
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="formkey"]').val();
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="question"]').val();
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="answer"]').val();
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="question1"]').val();
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab input[name="answer1"]').val();
}
}
var retrieveButtonClick = function(retriveItemId, removeFromReview){
var retrieveCheckedItems = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session input[type="checkbox"]:checked');
var action = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="retrieveAction"]').val();
if (retriveItemId) {
action = fvDataNS.submitAction;
}
var projectKey = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="projectkey"]').val();
var formKey = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab select[name="formkey"]').val();
var retrieveData = {
MobileKey: authNS.currentUser.MobileKey,
Action: action,
RetrieveRecords: [],
ProjectKey: projectKey,
FornKey: formKey,
CustomerKey: authNS.currentUser.CustomerKey
}
if(retriveItemId == undefined || retriveItemId == ''){
_.each(retrieveCheckedItems, function(retrieveItem, key){
var smsKey = $(retrieveItem).prop('id');
var retrieveInfo = authNS.retrieveResultList[smsKey];
retrieveData.RetrieveRecords.push(retrieveInfo);
})
}else{
var retrieveInfo = authNS.retrieveResultList[retriveItemId];
retrieveData.RetrieveRecords.push(retrieveInfo);
}
if(retrieveData.RetrieveRecords.length == 0){
jAlert(msg_fv_select_record_required);
return;
}
waitForDataLoading(true);
$.ajax({
url: '/formview/FVRetrievesServlet',
dataType: 'json',
type: 'POST',
data:JSON.stringify(retrieveData),
cache: false,
async: false,
complete: function()
{
},
success: function(response, status)
{
if(response.length && response.length>0){
if(retriveItemId == undefined || retriveItemId == ''){
showRetrieveResultList(response, false);
updateFVDBInfoForIncomple(true, false);
waitForDataLoading(false);
}else{
showRetrieveResultList(response, true, removeFromReview);
}
/*_.each(response, function(item, index){
var recordKey = item['recordKey'];
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session [retrieve-item="' + recordKey + '"]').remove();
})
var checkedItems = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session input[type="checkbox"]:checked');
if(checkedItems.length == 0){
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session .btnSelectAll').empty().append(lbl_select_all);
}*/
}else{
updateFVDBInfoForIncomple(true, false);
waitForDataLoading(false);
}
},
error: function(request, status, error)
{
waitForDataLoading(false);
jAlert('Retrieve error');
}
});
}
var showRetrieveResultList = function(response, openFirstRetrieveRecord, removeFromReview){
var openIncompleteRecord = function(projectKey, formKey, incompleteFormDataKey){
$.ajax({
url: '/clientMobileSetup?fnId=GET_INF&onlyGetLockMobile=true',
dataType: 'json',
type: 'GET',
data: '{"fnId":"GET_INF", "onlyGetLockMobile":"true"}',
cache: false,
async: false,
complete: function()
{
},
success: function(response, status)
{
$('.formViewMain').addClass('openFormMode');
$('.FVBannerDisplay #formViewWS').addClass('openFormMode').css("top", "");
$('.FVBannerDisplay #fvmain_menu .liTitle').addClass('openFormMode');
fvDataNS = {};
if(openFirstRetrieveRecord == true){
fvDataNS.isRetrieveAction = true;
}else{
fvDataNS.isRetrieveAction = false;
}
if(removeFromReview == true){
fvDataNS.removeFromReview = true;
}
fvOpenIncompleteForm2(formKey, projectKey, incompleteFormDataKey, false);
},
error: function(request, status, error)
{
if(openFirstRetrieveRecord == true){
waitForDataLoading(false);
}
if(getStatus(request) == ERROR_CODE_MOBILE_UNIT_LOCKED){
alert(err_mobile_locked);
}else{
alert(lbl_wc_could_not_login);
}
}
});
}
if(openFirstRetrieveRecord == true){
var firstItem = response[0];
var incompleteFormKey = firstItem['incompleteFormKey'];
var projectKey = firstItem['projectKey'];
var formKey = firstItem['formKey'];
openIncompleteRecord(projectKey, formKey, incompleteFormKey);
return;
}
$('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session').addClass('hadRetrieve');
var retrieveFormList = $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab .search-result-session .retrieve-result-list');
_.each(response, function(item, index){
var formItem = $('
');
var recordKey = item['recordKey'];
var incompleteFormKey = item['incompleteFormKey'];
var viewableName = item['viewableName'];
var savedDate = '';
var projectKey = item['projectKey'];
var formKey = item['formKey'];
var formItemStr = '' +
'' +
'';
var tmp = $(formItemStr);
tmp.find('.formIconText').append(viewableName);
tmp.find('.formIconTextHint').append(savedDate);
formItem.append(tmp).attr(CONST_DATA, incompleteFormKey).attr(CONST_DATA_PRJ, projectKey).attr(CONST_DATA_FRM, formKey);
retrieveFormList.append(formItem);
retrieveFormList.append($('
'));
});
retrieveFormList.find('.formItemDisplay').off().click(function(event){
var incompleteFormItem = $($(this).parents('.incompleteFormItem')[0]);
var incompleteFormDataKey = incompleteFormItem.attr(CONST_DATA);
var projectKey = incompleteFormItem.attr(CONST_DATA_PRJ);
var formKey = incompleteFormItem.attr(CONST_DATA_FRM);
openIncompleteRecord(projectKey, formKey, incompleteFormDataKey);
});
}
var submitAllRetrieveItem = function(incompleteFormDataKey){
var retrieveData = {
MobileKey: authNS.currentUser.MobileKey,
fnId: 'submitRetrieveItem',
incompleteFormDataKey: incompleteFormDataKey
}
$.ajax({
url: '/formview/FVRetrievesServlet',
dataType: 'json',
type: 'POST',
data:JSON.stringify(retrieveData),
cache: false,
async: false,
complete: function()
{
},
success: function(response, status)
{
},
error: function(request, status, error)
{
waitForDataLoading(false);
jAlert('Retrieve error');
}
});
}
function isShowInventoryWidget(currentUser){
VERSION_INVENTORY_WIDGET = VERSION_UNSUPPORT;
/*if(currentUser && currentUser.inventoryWidget){
VERSION_INVENTORY_WIDGET = VERSION_NEW_WEB_APP;
}else{
VERSION_INVENTORY_WIDGET = VERSION_UNSUPPORT;
}*/
}
function isShowShippingWidget(currentUser){
if(currentUser && currentUser.shippoPayment){
VERSION_INPUT_SHIPPING = VERSION_NEW_WEB_APP;
}else{
VERSION_INPUT_SHIPPING = VERSION_UNSUPPORT;
}
}
function isShowCalculateRoundDownSetting(currentUser){
if(currentUser && currentUser.roundDownCalculations){
VERSION_CALCULATE_ROUND_DOWN = VERSION_NEW_WEB_APP;
}else{
VERSION_CALCULATE_ROUND_DOWN = VERSION_UNSUPPORT;
}
}
function supportAuditFormBuilder(){
if(advancedFormControls){
VERSION_ACTION_AUDIT = VERSION_NEW_WEB_APP;
}else{
VERSION_ACTION_AUDIT = VERSION_UNSUPPORT;
}
}
function supportSetStatusToMapFormBuilder(){
if(advancedFormControls){
VERSION_SET_STATUS_TO_GPS = VERSION_NEW_WEB_APP;
}else{
VERSION_SET_STATUS_TO_GPS = VERSION_UNSUPPORT;
}
}
function isAutoRunWhenRetrieve(currentUser){
if(currentUser && currentUser.retrieveTriggerOptionBOR){
VERSION_AUTO_RUN_WHEN_RETRIEVE = VERSION_NEW_WEB_APP;
}else{
VERSION_AUTO_RUN_WHEN_RETRIEVE = VERSION_UNSUPPORT;
}
}
var drawImageToCanvas = function(canvas, image, iconColor, canvasWidth, canvasHeight, imageWidth, imageHeight){
//var canvas = document.getElementById("myCanvas");
var ctx= canvas.getContext("2d");
// var imageWidth = 187;
// var imageHeight = 187;
// var canvasWidth = 64;
// var canvasHeight = 64;
//if(this.src.indexOf('/filibbutton/') > 0) {
// if(ICON_TYPE_FILIB_BUTTON == iconType) {
// imageWidth = 171;
// imageHeight = 50;
// canvasWidth = 100;
// canvasHeight = 30;
// }
ctx.clearRect(0, 0, imageWidth, imageHeight);
ctx.setTransform(canvasWidth / imageWidth, 0, 0, canvasHeight / imageHeight, 0, 0);
ctx.drawImage(image, 0, 0);
var id= ctx.getImageData(0, 0, canvasWidth, canvasHeight);
var iconColor = parseInt(iconColor, 16);
var newColorR = (iconColor & 0xff0000) >> 16;
var newColorG = (iconColor & 0x00ff00) >> 8;
var newColorB = iconColor & 0x0000ff;
for (var i = 0; i < id.data.length; i += 4) {
if(id.data[i] > 200 && id.data[i+1] > 200 && id.data[i+2] > 200) {
id.data[i] = newColorR;
id.data[i+1] = newColorG;
id.data[i+2] = newColorB;
}
}
// redraw your altered data on the canvas.
ctx.putImageData(id, 0, 0);
}
var showTab = function(tabName){
if(tabName == 'incompleteFormTab'){
$('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_review_icon').click();
}else if(tabName == 'jobsTab' && isShowJobsWebClient()){
$('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_job_icon').click();
}else if(tabName == 'noticeTab'){
$('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_notices_icon').click();
}else if(tabName == 'settingsTab' && isShowJobsWebClient()){
$('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_settings_icon').click();
}else if(tabName == 'myInfomationTab'){
$('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_myinformation_icon').click();
}else if(tabName == 'retrieveTab'){
$('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_retrieve_icon').click();
}else{
$('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_forms_icon').click();
}
}
var check4HideMenuScrollBar = function(){
var visibleMenuItems = $('.fvMainWrapper .mainMenuBarScroll .mainMenuBar .accountMMBItem:not(.hideSession):visible');
if(visibleMenuItems.length == 10){
$('.fvMainWrapper .mainMenuBarScroll').addClass('hide-scrollbar-4-10-items');
}else{
$('.fvMainWrapper .mainMenuBarScroll').removeClass('hide-scrollbar-4-10-items');
}
}
var sentPurgeDaysBefore = function(days){
var deleteItems = [];
var curDate = new Date();
var currMidNight = (new Date(curDate.getFullYear(), curDate.getMonth(), curDate.getDate())).getTime();
var purgeBeforDay = currMidNight - (days*24*60*60*1000);
var mobileKey = authNS.currentUser.MobileKey;
var sentData = fvDBInfoNS.sentForms[mobileKey];
if(!sentData){
mobileKey = authNS.currentUser.MobileKeyNew;
sentData = fvDBInfoNS.sentForms[mobileKey];
}
if(sentData){
var count = 0;
var mainSentFormList = $('.fvWorkspaceScrollArea .mainSentFormList').empty();//.addClass('make1Column');
for(var projectKey in sentData){
if(projectKey == 'count'){
continue;
}
var projectFormDatas = sentData[projectKey];
if(fvDBInfoNS.deleteSentFormKey){
if(projectFormDatas[fvDBInfoNS.deleteSentFormKey]){
delete projectFormDatas[fvDBInfoNS.deleteSentFormKey];
fvDBInfoNS.deleteSentFormKey = undefined;
}
}
var newList = {count: 0};
for(var sentFormKey in projectFormDatas){
if(sentFormKey == 'count'){
continue;
}
var projectFormData = projectFormDatas[sentFormKey];
try{
var saveDate = (new Date(projectFormData.savedDate)).getTime();
if(saveDate 0){
waitForDataLoading(true);
$.ajax({
url: '/formview/FVSentFormSevlet?kind=DEL_SENT_RECORDS',
dataType: 'json',
type: 'POST',
data: JSON.stringify({
kind: 'DEL_SENT_RECORDS',
mobileKey: authNS.currentUser.MobileKey,
deleteItems: deleteItems}),
cache: false,
async: false,
complete: function() {
},
success: function(response, status)
{
waitForDataLoading(false);
sentData[projectKey] = newList;
},
error: function(request, status, error)
{
waitForDataLoading(false);
}
});
}
}
}
}
var sentPurgeSchedule = function(){
if(!authNS || !authNS.currentUser || authNS.currentUser.assBackupSettingsPurgeSchedule == undefined){
return;
}
var days;
switch(authNS.currentUser.assBackupSettingsPurgeSchedule){
case PURGE_SCHEDULE_MIDNIGHT:
sentPurgeDaysBefore(0);
break;
case PURGE_SCHEDULE_AFTER_1_DAY:
sentPurgeDaysBefore(1);
break;
case PURGE_SCHEDULE_AFTER_3_DAY:
sentPurgeDaysBefore(3);
break;
case PURGE_SCHEDULE_AFTER_10_DAY:
sentPurgeDaysBefore(10);
break;
case PURGE_SCHEDULE_AFTER_30_DAY:
sentPurgeDaysBefore(30);
break;
case PURGE_SCHEDULE_AFTER_60_DAY:
sentPurgeDaysBefore(60);
break;
default:
return;
}
}
var isSendReportOptionEnabled = function(){
var isSendReportOption = false;
if(authNS && authNS.currentUser && authNS.currentUser.emailEveryTimeFormIsSubmitted) {
isSendReportOption = true;
}
return isSendReportOption;
}
/**
* format date from long number with timezone, daylight saving, user format date, time
* @param dateLong date value in long format
* @returns
*/
function formatDateTime(dateLong) {//date long
var result = '';
var date = new Date();
if(authNS.currentUser.TimeZone) {
dateLong += authNS.currentUser.TimeZone;
}
if(authNS.currentUser.dayligthSavingsTime) {
dateLong += 3600000;
}
date = new Date(dateLong + date.getTimezoneOffset()*60000);//remove browser timezone
if('dd/MM/yyyy' == authNS.currentUser.dateFormat) {
result = ('0' + date.getDate()).substr(-2, 2)
+ '/' + ('0' + (date.getMonth() + 1)).substr(-2, 2)
+ '/' + ('0000' + date.getFullYear()).substr(-4, 4);
} else {
result = ('0' + (date.getMonth() + 1)).substr(-2, 2)
+ '/' + ('0' + date.getDate()).substr(-2, 2)
+ '/' + ('0000' + date.getFullYear()).substr(-4, 4);
}
if(0 == date.getHours()) {
result += ' 12';
} else {
result += ' ' + ('0' + (date.getHours() > 12 ? date.getHours() - 12 : date.getHours())).substr(-2, 2);
}
result += ':' + ('0' + date.getMinutes()).substr(-2, 2);
if('"hh:mm:ss aa"' == authNS.currentUser.timeFormat) {
result += ' ' + ('0' + date.getSeconds()).substr(-2, 2);
}
if(date.getHours() > 11) {
result += ' PM';
} else {
result += ' AM';
}
return result;
}
function hexToRgb(hex) {
var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),
b: parseInt(result[3], 16)
} : null;
}
function colorHex(str){
var canvas = $(' ');
var ctx = canvas[0].getContext("2d");
ctx.fillStyle = str;
return hexToRgb(ctx.fillStyle);
}
function setCanvasImage(src, canvas, bgColor, color){
if(undefined == canvas || canvas.tagName != 'CANVAS'){
return false;
}
if(!color) {
color = '#36617c';
}
if(bgColor){
$(canvas).css('background-color', bgColor);
}
//remove canvas background image
$(canvas).css('background-image', '');
var ctx = canvas.getContext("2d");
var img = new Image;
//wait for the image to load
img.onload = function() {
//Draw the original image so that you can fetch the colour data
ctx.clearRect(0, 0, canvas.width, canvas.height); //clear the original image
ctx.drawImage(img,0,0, canvas.width, canvas.height);
if(src.indexOf('/img/filib/transparent/')<0){
return;
}
var imgData = ctx.getImageData(0, 0, canvas.width, canvas.height);
/*
imgData.data is a one-dimensional array which contains
the respective RGBA values for every pixel
in the selected region of the context
(note i+=4 in the loop)
*/
var colorArr = colorHex(color);
for (var i = 0; i < imgData.data.length; i+=4) {
if(imgData.data[i+3] == 0){
imgData.data[i] = colorArr['r']; //Red, 0-255
imgData.data[i+1] = colorArr['g']; //Green, 0-255
imgData.data[i+2] = colorArr['b']; //Blue, 0-255
imgData.data[i+3] = 255;
}else if(imgData.data[i+3] != 255){
imgData.data[i] = colorArr['r']; //Red, 0-255
imgData.data[i+1] = colorArr['g']; //Green, 0-255
imgData.data[i+2] = colorArr['b']; //Blue, 0-255
imgData.data[i+3] = 255 - imgData.data[i+3];
}else{
imgData.data[i] = 0;
imgData.data[i+1] = 0;
imgData.data[i+2] = 0;
imgData.data[i+3] = 0;
}
/*
imgData.data[i+3] contains the alpha value
which we are going to ignore and leave
alone with its original value
*/
}
ctx.clearRect(0, 0, canvas.width, canvas.height); //clear the original image
ctx.putImageData(imgData, 0, 0); //paint the new colorised image
}
//Load the image!
img.src = src;
img.setAttribute('crossOrigin', '');
return true;
}
function setCanvasImage2(src, canvas, bgColor, color){
var canvasWidth = 25;
var canvasHeight = 25;
var imageWidth = CONST_FILIB_BUTTON_IMAGE_WIDTH;
var imageHeight = CONST_FILIB_BUTTON_IMAGE_HEIGHT;
canvas.width = canvasWidth;
canvas.height = canvasHeight;
if(color && color.startsWith('#')){
color = color.replace('#', '');
}
if(bgColor){
$(canvas).css('background-color', bgColor);
}
var imageObj = new Image();
imageObj.canvas = canvas;
imageObj.iconColor = color;
imageObj.canvasWidth = canvasWidth;
imageObj.canvasHeight = canvasHeight;
imageObj.imageWidth = imageWidth;
imageObj.imageHeight = imageHeight;
imageObj.onload = function() {
drawImageToCanvas(this.canvas, this, this.iconColor
, this.canvasWidth, this.canvasHeight, this.imageWidth, this.imageHeight);
}
imageObj.src = src.replace('/transparent/','/ffffff/');
return true;
}
function clearCanvasImage(canvas) {
if(undefined == canvas || canvas.tagName != 'CANVAS'){
return false;
}
var ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height); //clear the original image
return true;
}
function setSendReportVersion(){
if(isSendReportOptionEnabled()){
VERSION_SEND_REPORT = VERSION_NEW_WEB_APP;
}else{
VERSION_SEND_REPORT = VERSION_UNSUPPORT;
}
}
function setGeotabAddInsVersion(currentUser){
if(currentUser && currentUser.geotabAddIns){
VERSION_GET_GEOTAB_DATA = VERSION_NEW_WEB_APP;
VERSION_GEOTAB_ADD_INS = VERSION_NEW_WEB_APP;
$('.VERSION_GEOTAB_ADD_INS').removeClass(CONST_CSS_CLASS_HIDE_ITEM);
}else{
VERSION_GET_GEOTAB_DATA = VERSION_UNSUPPORT;
VERSION_GEOTAB_ADD_INS = VERSION_UNSUPPORT;
$('.VERSION_GEOTAB_ADD_INS').addClass(CONST_CSS_CLASS_HIDE_ITEM);
}
}
function isEmpty(strValue){
if(strValue == undefined || (typeof(strValue) == "string" && strValue == "")){
return true;
}
return false;
}
/*
ignoreError = true/false // true if igrone error
returnType = {
returnUser: true/false,
returnDevice: true/false,
returnDeviceStatus: true/false,
returnVin: true/false,
returnZone: true/false,
returnOdometer: true/false,
returnEngineHours: true/false,
returnFuelLevel: true/false
}
*/
function geoTabQuery(ignoreError, returnType){
var queryResult = undefined;
var database = undefined;
var userName = undefined;
var sessionId = undefined;
var path = undefined;
if(geotabDriveDataJson != null && geotabDriveDataJson.credentials){
database = geotabDriveDataJson.credentials.database;
userName = geotabDriveDataJson.credentials.userName;
sessionId = geotabDriveDataJson.credentials.sessionId;
path = geotabDriveDataJson.path;
}else{
database = getStoreData("geotab-database-" + authNS.currentUser.CustomerKey);;
userName = getStoreData("geotab-userName-" + authNS.currentUser.CustomerKey);
sessionId = getStoreData("geotab-sessionId-" + authNS.currentUser.CustomerKey);
path = getStoreData("geotab-path-" + authNS.currentUser.CustomerKey);
}
if(isEmpty(userName) || isEmpty(sessionId) ||isEmpty(path)){
waitForDataLoading(false);
return queryResult
}
waitForDataLoading(true);
var tmpMobileKey = '';
if(webappMobileKey && 'All' != webappMobileKey) {
tmpMobileKey = webappMobileKey;
}
$.ajax({
//url: CONST_GEOTAB_API_URL + '/integrations/20/user/current/query',
url: '/geotab/query',
contentType: 'application/json; charset=UTF-8',
dataType: 'json',
type: 'POST',
data: JSON.stringify({
credentials: {
database: database,
userName: userName,
sessionId: sessionId,
},
path: path,
returnUser: returnType.returnUser || false,
returnDevice: returnType.returnDevice || false,
returnDeviceStatus: returnType.returnDeviceStatus || false,
returnVin: returnType.returnVin || false,
returnAddress: returnType.returnAddress || false,
returnZone: returnType.returnZone || false,
returnOdometer: returnType.returnOdometer || false,
returnEngineHours: returnType.returnEngineHours || false,
returnFuelLevel: returnType.returnFuelLevel || false,
mobileUnitKey: tmpMobileKey || ''
}),
cache: false,
async: false,
complete: function()
{
waitForDataLoading(false);
},
success: function(response, status)
{
queryResult = response;
},
error: function(request, status, error)
{
if(!ignoreError){
if(request.responseJSON && request.responseJSON.message && request.responseJSON.message != ""){
jAlert(request.responseJSON.message);
}else if(getStatus(request) == 401){
jAlert(msg_read_permission_required);
}else {
jAlert(msg_error_try);
}
}
}
});
return queryResult;
}
function loadGeofenceCode() {
if(authNS && authNS.currentUser && authNS.currentUser.geofence) {
if(!$('#geofences_area #geofences_html').length) {
waitForDataLoading(true);
$('#geofences_area').load("/html/geofences.html", function() {
waitForDataLoading(false);
});
}
$('#geofences-container').removeClass('hideItem');
}
}
function loadGeotabAccount() {
if(authNS && authNS.currentUser && authNS.currentUser.geotabAddIns) {
if(!$('#geotabAccount_area #geotabAccount_html').length) {
waitForDataLoading(true);
$('#geotabAccount_area').load("/html/geotab_account.html", function() {
waitForDataLoading(false);
});
}
$('#geotab-account-container').removeClass('hideItem');
}
}
function loadGeotabAddIns() {
if (isPaidAccount() && authNS && authNS.currentUser && authNS.currentUser.geotabAddIns) {
$('#geotab_add_ins-container').removeClass('hideItem');
$(document).on('click', '.manageGeotabAddIns', function(event) {
if (changeTabConfirm('.manageGeotabAddIns', event)) {
return;
}
tabChange('.manageGeotabAddIns');
ManageGeotabAddInsFunction(event);
});
}
}
function loadGeotabDriveAddIns() {
if (isPaidAccount() && authNS && authNS.currentUser && authNS.currentUser.geotabAddIns) {
$('#geotab_drive_add_ins-container').removeClass('hideItem');
$(document).on('click', '.manageGeotabDriveAddIns', function(event) {
if (changeTabConfirm('.manageGeotabDriveAddIns', event)) {
return;
}
tabChange('.manageGeotabDriveAddIns');
ManageGeotabDriveAddInsFunction(event);
});
}
}
function getWidthOfText(txt, fontname, fontsize, fontWeight){
// Create a dummy canvas (render invisible with css)
var c=document.createElement('canvas');
// Get the context of the dummy canvas
var ctx=c.getContext('2d');
// Set the context.font to the font that you are using
ctx.font = fontWeight + ' ' + fontsize + 'px ' + fontname;
// Measure the string
// !!! !!!
var length = ctx.measureText(txt).width;
// !!! !!!
// Return width
if(length>fvDataNS.ctrlWidth){
return fvDataNS.ctrlWidth - 20 - 4;
}else{
return length;
}
}
function getJSessionId(){
var jsId = document.cookie.match(/JSESSIONID=[^;]+/);
if(jsId != null) {
if (jsId instanceof Array)
jsId = jsId[0].substring(11);
else
jsId = jsId.substring(11);
}
return jsId;
}
function openFormLink(name){
switch(name){
case CONST_FORM_LINK_REQUEST_TRAINING_NAME:
window.open(CONST_FORM_LINK_REQUEST_TRAINING, '_blank').focus();
break;
case CONST_FORM_LINK_LET_US_BUILD_NAME:
window.open(CONST_FORM_LINK_LET_US_BUILD, '_blank').focus();
break;
}
}
function openOlark(e){
e.stopPropagation();
olark('api.box.expand');
}
String.prototype.toProperCase = function () {
return this.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
}
function isValidUrl(string) {
try {
new URL(string);
return true;
} catch (err) {
return false;
}
}
function setClearQuoteVersion(currentUser){
if(currentUser && currentUser.clearQuote){
VERSION_CLEAR_QUOTE = VERSION_NEW_WEB_APP;
}else{
VERSION_CLEAR_QUOTE = VERSION_UNSUPPORT;
}
}
function isEmptyJQueryElement( el ){
return !$.trim(el.html())
}
function drawDayLeftCanvas(text, daysLeft) {
if(isNaN(daysLeft)){
daysLeft = '0';
}
if($('#trialCanvas').length == 0){
$('#fslogo').append('
');
}
//
const canvas = document.getElementById('trialCanvas');
const ctx = canvas.getContext('2d');
// Rectangle dimensions
const rectWidth = canvas.width - 50;
const rectHeight = 28;
const rectX = 0;
const rectY = (canvas.height - 28)/2;
const rectBorderRadius = 7;
// Ellipse dimensions
const ellipseRadius = 0;
const ellipseW = 33;
const ellipseH = 25;
const ellipseX = canvas.width - ellipseW;
const ellipseY = canvas.height / 2;
// Draw the rectangle
ctx.fillStyle = '#8e8e8e';
ctx.beginPath();
ctx.roundRect(rectX, rectY, rectWidth, rectHeight, rectBorderRadius);
ctx.fill();
ctx.closePath();
// Draw the ellipse
ctx.beginPath();
//ctx.ellipse(100, 100, 70, 50, 0, 0, 2 * Math.PI)
ctx.ellipse(ellipseX-5, ellipseY, ellipseW, ellipseH, ellipseRadius, 0, Math.PI * 2);
ctx.fillStyle = '#ffffff';
ctx.fill();
ctx.closePath();
ctx.beginPath();
ctx.ellipse(ellipseX, ellipseY, ellipseW, ellipseH, ellipseRadius, 0, Math.PI * 2);
ctx.fillStyle = '#e75524';
ctx.fill();
ctx.closePath();
// Add the text in the rectangle
ctx.fillStyle = '#FFFFFF'; // White color
ctx.font = '20px Arial';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.fillText(text, rectWidth / 2 - 10, rectY + rectHeight / 2);
// Add the number in the ellipse
ctx.font = 'bold 30px Arial';
ctx.fillText(daysLeft, ellipseX, ellipseY+3);
$('#fslogo').off('click').click(function(){
loadCustomerInfo2(false, "");
});
}
function drawActiveAccounts(text, activeAccounts) {
if(isNaN(activeAccounts)){
activeAccounts = '0';
}
if($('#activeAccountsCanvas').length == 0){
$('.reseller_menu').append('
');
}
const canvas = document.getElementById('activeAccountsCanvas');
const ctx = canvas.getContext('2d');
// Rectangle dimensions
const rectWidth = canvas.width - 50;
const rectHeight = 28;
const rectX = 0;
const rectY = (canvas.height - 28)/2;
const rectBorderRadius = 7;
// Ellipse dimensions
const ellipseRadius = 0;
const ellipseW = 33;
const ellipseH = 25;
const ellipseX = canvas.width - ellipseW;
const ellipseY = canvas.height / 2;
// Draw the rectangle
ctx.fillStyle = '#8e8e8e';
ctx.beginPath();
ctx.roundRect(rectX, rectY, rectWidth, rectHeight, rectBorderRadius);
ctx.fill();
ctx.closePath();
// Draw the ellipse
ctx.beginPath();
//ctx.ellipse(100, 100, 70, 50, 0, 0, 2 * Math.PI)
ctx.ellipse(ellipseX-5, ellipseY, ellipseW, ellipseH, ellipseRadius, 0, Math.PI * 2);
ctx.fillStyle = '#ffffff';
ctx.fill();
ctx.closePath();
ctx.beginPath();
ctx.ellipse(ellipseX, ellipseY, ellipseW, ellipseH, ellipseRadius, 0, Math.PI * 2);
ctx.fillStyle = '#e75524';
ctx.fill();
ctx.closePath();
// Add the text in the rectangle
ctx.fillStyle = '#FFFFFF'; // White color
ctx.font = '20px Arial';
ctx.textAlign = 'center';
ctx.textBaseline = 'middle';
ctx.fillText(text, rectWidth / 2 - 10, rectY + rectHeight / 2);
// Add the number in the ellipse
ctx.font = 'bold 30px Arial';
ctx.fillText(activeAccounts, ellipseX, ellipseY+3);
}