/** * 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 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; //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 = 9999.10; // 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 = 9999.18; //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 = 9999.22; //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 = 9999.28; // 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 = 9999.83; // 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 = 16.96; // 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 = 99999.00; //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 = 17.15; // 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 = 17.25; // 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 = 18.04; // 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 = 18.22; // 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 = 18.24; // CO-5357 Add Messages widget var VERSION_MESSAGE_WIDGET = 18.25; // 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-3486: Add attachment widget var VERSION_ATTACHMENT = 18.49; // CO-6535: Add result field to date/time calculation var VERSION_CALCULATE_RESULT = 18.50; 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-6590: Improve lookup performance from web var VERSION_LOAD_IMMEDIATELY = 18.52; // CO-6775: Add Email every time dispatched form is Pending option var VERSION_EMAIL_WHEN_DISPATCH_PENDING = 18.53; // 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 = 1; //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 = 1; 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 = "doForms"; 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 = "5.5.0"; 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-2024. doForms, Inc. All rights reserved."; var COPYRIGHT_TEXT_OF_MAJELLA = "Copyright © 2012-2015. Majella Global Technologies, LLC. All rights reserved.
" + "Copyright © 2010-2024. doForms, Inc. All rights reserved.
"; var COPYRIGHT_TEXT_OF_DELAGUA = "Copyright © 2010-2024. doForms, Inc. All rights reserved.
" + "Copyright © 2013-2017. DelAgua Health Ltd. All rights reserved.
"; var COPYRIGHT_TEXT_OF_MYTASK = "Copyright © 2010-2024. 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 support@majellagt.com"; var SUPPORT_TEXT_DELAGUA = "We recommend that you use this Help Manual or contact support at support@delaguahealth.com"; var SUPPORT_TEXT_MYTASK = "We recommend that you use this Help Manual or contact support at support@mytask.me"; if((typeof isRUMode) != 'undefined' && isRUMode){ SUPPORT_TEXT_MAJELLA = idRep[851] .replace(/\$1/g, '') .replace(/\$2/g, '') .replace(/\$3/g, '') .replace(/\$4/g, 'support@majellagt.com'); SUPPORT_TEXT_DELAGUA = idRep[851] .replace(/\$1/g, '') .replace(/\$2/g, '') .replace(/\$3/g, '') .replace(/\$4/g, 'support@delaguahealth.com'); SUPPORT_TEXT_MYTASK = idRep[851] .replace(/\$1/g, '') .replace(/\$2/g, '') .replace(/\$3/g, '') .replace(/\$4/g, 'support@mytask.me'); } 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 + "/";//https://htgiang-dot-mydoforms-hrd.appspot.com/ 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; } // Change the Support URL (by Mr.Tuan in 23-Sep-2015) //var SUBPORT_PAGE_OF_DOFORMS = "https://support.doforms.com/hc/en-us"; //var SUBPORT_PAGE_OF_DOFORMS = "https://mydoforms.appspot.com/webclient?SID=FANCY&id=ag9zfm15ZG9mb3Jtcy1ocmRyGAsSC1Byb2plY3RGb3JtGICA4Pjbis4IDA&hideToolbar=true"; var SUBPORT_PAGE_OF_DOFORMS = CONST_DOFORMS_URL + "/webclient?SID=FANCY&id=ag9zfm15ZG9mb3Jtcy1ocmRyGAsSC1Byb2plY3RGb3JtGICAsNeX65sJDA"; 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(); } var TERM_OF_USED_ADDRESS = 'http://www.doforms.com/EULA'; var PRIVACY_POLICY_ADDRESS = 'http://www.doforms.com/privacy-policy'; 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 = 'http://easydata.me/terms'; PRIVACY_POLICY_ADDRESS = 'http://easydata.me/privacy'; $('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 = 'https://media-dot-mydoforms-hrd.appspot.com/'; var MEDIA_SERVER = ''; var DOCS_SERVER = 'https://support.doforms.com/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 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_SUPPORT_SMS)){ lbl_email_report_ctrl = lbl_email_report_ctrl_sms; $('.NOT_FOR_VERSION_SUPPORT_SMS').remove(); }else{ $('.VERSION_SUPPORT_SMS').remove(); } if(!isVersion(VERSION_IMAGE_VIEWER)){ $('.VERSION_IMAGE_VIEWER').remove(); } if(!isVersion(VERSION_APPEARANCE_BUTTON_BORDER_COLOR)){ $('.VERSION_APPEARANCE_BUTTON_BORDER_COLOR').remove(); } if(!isVersion(VERSION_ATTACHMENT)){ $('.VERSION_ATTACHMENT').remove(); } // 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(''); } 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 = 'http://maps.googleapis.com/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) { // http://localhost:8888/LibrarySkinTemplateServlet?action=LIBTMPL 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'); }*/ if(window.location.search.indexOf('?SID=FULLSCREEN') == 0 || window.parent.location.search.indexOf('?isSubmit=1&id=') == 0){ $('.formViewMain').addClass('fullScreenMode'); $('.formViewMain').addClass('openFormMode'); } $('#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'); var menuName = "Submit"; item.find('.menu-item-text').empty().append(menuName); item.attr(CONST_DATA, ''); scroll_contain.append(item); item.off().click(function(){ $('.popup-main-menu').jqmHide(); $('#fvmain_menu .fvSaveLink').click(); }); $('.popup-main-menu').jqmShow(); $('.jqmOverlay').off().click(function(){ $('.popup-main-menu').jqmHide(); $('.jqmOverlay').off(); }); } var incompleteFormSort = function(){ if(fvDBInfoNS.settings.behaviorPreviewSortDesc == undefined){ fvDBInfoNS.settings.behaviorPreviewSortDesc = false; } var sortTypeClass = ''; var sortType = 1; if(fvDBInfoNS.settings && fvDBInfoNS.settings.behaviorPreviewSortDesc){ sortType = -1; } if(fvDBInfoNS.settings && fvDBInfoNS.settings.behaviorPreviewSortBy == 'alpha'){ sortTypeClass = 'alpha' + sortType; }else{ sortTypeClass = CONST_VALUE_DATE_LOWERCASE + sortType; } var mainIncompleteFormList = $('.fvWorkspaceScrollArea .mainIncompleteFormList') .removeClass('alpha1') .removeClass('alpha-1') .removeClass('date1') .removeClass('date-1') .addClass(sortTypeClass); var formList = mainIncompleteFormList.find('.incompleteFormItem'); if(fvDBInfoNS.settings && fvDBInfoNS.settings.behaviorPreviewSortBy == 'alpha'){ formList.sort(function(a, b){ var aValue = $(a).find('.formIconText').text().toLowerCase(); var bValue = $(b).find('.formIconText').text().toLowerCase(); return ((aValue < bValue) ? -sortType : ((aValue > bValue) ? sortType : 0)); }); }else{ formList.sort(function(a, b) { var aValue = 0; try{ aValue = parseInt($(a).attr('data-time')); if(isNaN(aValue)){ aValue = 0; } }catch(ex){ aValue = 0; } var bValue = 0; try{ bValue = parseInt($(b).attr('data-time')); if(isNaN(bValue)){ bValue = 0; } }catch(ex){ bValue = 0; } return ((aValue < bValue) ? -sortType : ((aValue > bValue) ? sortType : 0)); }); } mainIncompleteFormList.empty(); for(var i=0; i')); } mainIncompleteFormList.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); $.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'); fvOpenIncompleteForm2(formKey, projectKey, incompleteFormDataKey, false); }, error: function(request, status, error) { if(getStatus(request) == ERROR_CODE_MOBILE_UNIT_LOCKED){ alert(err_mobile_locked); }else{ alert(lbl_wc_could_not_login); } } }); }); var mainIncompleteFormListFilterFilter = $('.fvWorkspaceScrollArea .mainIncompleteFormListFilter'); mainIncompleteFormListFilterFilter.find('.statusOption select').change(function(event){ var filter = $(this).val(); if(!filter || filter == '' || filter == 'All'){ $('.mainIncompleteFormList .incompleteFormItem').removeClass('hideByFilter').addClass('rowActive'); }else{ $('.mainIncompleteFormList .incompleteFormItem').addClass('hideByFilter').removeClass('rowActive'); $('.mainIncompleteFormList .incompleteFormItem[data-filter="' + filter + '"]').removeClass('hideByFilter').addClass('rowActive'); $('.mainIncompleteFormList .incompleteFormItem.hideByFilter input.chkItem:checked').prop('checked', false); if($('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList input.chkItem:checked').length == 0){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnIncompleteFormSelectAll').val('Select all'); }else{ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnIncompleteFormSelectAll').val('Deselect all'); } } }); mainIncompleteFormList.find('.formItemCheck input.chkItem').off().click(function(event){ if($('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList input.chkItem:checked').length == 0){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnIncompleteFormSelectAll').val('Select all'); }else{ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnIncompleteFormSelectAll').val('Deselect all'); } }); } var completeRecordsSort = function(){ if(fvDBInfoNS.settings.behaviorPreviewCompleteSortDesc == undefined){ fvDBInfoNS.settings.behaviorPreviewCompleteSortDesc = false; } var sortTypeClass = ''; var sortType = 1; if(fvDBInfoNS.settings && fvDBInfoNS.settings.behaviorPreviewCompleteSortDesc){ sortType = -1; } if(fvDBInfoNS.settings && fvDBInfoNS.settings.behaviorPreviewSortBy == 'alpha'){ sortTypeClass = 'alpha' + sortType; }else{ sortTypeClass = CONST_VALUE_DATE_LOWERCASE + sortType; } var mainCompleteFormList = $('.fvWorkspaceScrollArea .mainCompleteFormList') .removeClass('alpha1') .removeClass('alpha-1') .removeClass('date1') .removeClass('date-1') .addClass(sortTypeClass); var formList = mainCompleteFormList.find('.completeFormItem'); if(fvDBInfoNS.settings && fvDBInfoNS.settings.behaviorPreviewSortBy == 'alpha'){ formList.sort(function(a, b){ var aValue = $(a).find('.formIconText').text().toLowerCase(); var bValue = $(b).find('.formIconText').text().toLowerCase(); return ((aValue < bValue) ? -sortType : ((aValue > bValue) ? sortType : 0)); }); }else{ formList.sort(function(a, b) { var aValue = 0; try{ aValue = parseInt($(a).attr('data-time')); if(isNaN(aValue)){ aValue = 0; } }catch(ex){ aValue = 0; } var bValue = 0; try{ bValue = parseInt($(b).attr('data-time')); if(isNaN(bValue)){ bValue = 0; } }catch(ex){ bValue = 0; } return ((aValue < bValue) ? -sortType : ((aValue > bValue) ? sortType : 0)); }); } mainCompleteFormList.empty(); for(var i=0; i')); } mainCompleteFormList.find('.formItemDisplay').off().click(function(event){ var completeFormItem = $($(this).parents('.completeFormItem')[0]); var completeRecordDataKey = completeFormItem.attr(CONST_DATA); var fvCompleteRecordDataKey = completeFormItem.attr(CONST_DATA_1); var projectKey = completeFormItem.attr(CONST_DATA_PRJ); var formKey = completeFormItem.attr(CONST_DATA_FRM); $.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'); fvOpenCompleteRecord(completeRecordDataKey, formKey, projectKey, fvCompleteRecordDataKey); }, error: function(request, status, error) { if(getStatus(request) == ERROR_CODE_MOBILE_UNIT_LOCKED){ alert(err_mobile_locked); }else{ alert(lbl_wc_could_not_login); } } }); }); var mainCompleteFormListFilterFilter = $('.fvWorkspaceScrollArea .mainCompleteFormListFilter'); mainCompleteFormListFilterFilter.find('.statusOption select').change(function(event){ var filter = $(this).val(); if(!filter || filter == '' || filter == 'All'){ $('.mainCompleteFormList .completeFormItem').removeClass('hideByFilter').addClass('rowActive'); }else{ $('.mainCompleteFormList .completeFormItem').addClass('hideByFilter').removeClass('rowActive'); $('.mainCompleteFormList .completeFormItem[data-filter="' + filter + '"]').removeClass('hideByFilter').addClass('rowActive'); $('.mainCompleteFormList .completeFormItem.hideByFilter input.chkItem:checked').prop('checked', false); if($('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList input.chkItem:checked').length == 0){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnCompleteFormSelectAll').val('Select all'); }else{ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnCompleteFormSelectAll').val('Deselect all'); } } }); mainCompleteFormList.find('.formItemCheck input.chkItem').off().click(function(event){ if($('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList input.chkItem:checked').length == 0){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnCompleteFormSelectAll').val('Select all'); }else{ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnCompleteFormSelectAll').val('Deselect all'); } }); } var sentFormSort = function(){ if(fvDBInfoNS.settings.behaviorPreviewSentSortDesc == undefined){ fvDBInfoNS.settings.behaviorPreviewSentSortDesc = false; } var sortTypeClass = ''; var sortType = 1; if(fvDBInfoNS.settings && fvDBInfoNS.settings.behaviorPreviewSentSortDesc){ sortType = -1; } if(fvDBInfoNS.settings && fvDBInfoNS.settings.behaviorPreviewSortBy == 'alpha'){ sortTypeClass = 'alpha' + sortType; }else{ sortTypeClass = CONST_VALUE_DATE_LOWERCASE + sortType; } var mainSentFormList = $('.fvWorkspaceScrollArea .mainSentFormList') .removeClass('alpha1') .removeClass('alpha-1') .removeClass('date1') .removeClass('date-1') .addClass(sortTypeClass); var formList = mainSentFormList.find('.sentFormItem'); if(fvDBInfoNS.settings && fvDBInfoNS.settings.behaviorPreviewSortBy == 'alpha'){ formList.sort(function(a, b){ var aValue = $(a).find('.formIconText').text().toLowerCase(); var bValue = $(b).find('.formIconText').text().toLowerCase(); return ((aValue < bValue) ? -sortType : ((aValue > bValue) ? sortType : 0)); }); }else{ formList.sort(function(a, b) { var aValue = 0; try{ aValue = parseInt($(a).attr('data-time')); if(isNaN(aValue)){ aValue = 0; } }catch(ex){ aValue = 0; } var bValue = 0; try{ bValue = parseInt($(b).attr('data-time')); if(isNaN(bValue)){ bValue = 0; } }catch(ex){ bValue = 0; } return ((aValue < bValue) ? -sortType : ((aValue > bValue) ? sortType : 0)); }); } mainSentFormList.empty(); for(var i=0; i')); } mainSentFormList.find('.formItemDisplay').off().click(function(event){ var html = '
' + msg_open_form_in_sent + '
'; html += '
Do not show again.
'; var sentFormItem = $($(this).parents('.sentFormItem')[0]); var sentFormDataKey = sentFormItem.attr(CONST_DATA); var projectKey = sentFormItem.attr(CONST_DATA_PRJ); var formKey = sentFormItem.attr(CONST_DATA_FRM); $.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) { if(getStoreData("Alert_Open_Sent_Data") == null || getStoreData("Alert_Open_Sent_Data") != CONST_VALUE_TRUE_STR){ jConfirm(html,'Alert',function(result, data){ if(!result) return false; if(data['dontShow']){ storeData("Alert_Open_Sent_Data", true, { expires: 365 }); } $('.formViewMain').addClass('openFormMode'); $('.FVBannerDisplay #formViewWS').addClass('openFormMode').css("top", ""); $('.FVBannerDisplay #fvmain_menu .liTitle').addClass('openFormMode'); fvOpenSentForm2(formKey, projectKey, sentFormDataKey, false); }, {hideButtonCancel: true}); }else{ $('.formViewMain').addClass('openFormMode'); $('.FVBannerDisplay #formViewWS').addClass('openFormMode').css("top", ""); $('.FVBannerDisplay #fvmain_menu .liTitle').addClass('openFormMode'); fvOpenSentForm2(formKey, projectKey, sentFormDataKey, false); } }, error: function(request, status, error) { if(getStatus(request) == ERROR_CODE_MOBILE_UNIT_LOCKED){ alert(err_mobile_locked); }else{ alert(lbl_wc_could_not_login); } } }); }); mainSentFormList.find('.formItemCheck input.chkItem').off().click(function(event){ if($('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormList input.chkItem:checked').length == 0){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormActionSession input.btnSentFormSelectAll').val('Select all'); }else{ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormActionSession input.btnSentFormSelectAll').val('Deselect all'); } }); } var parseReviewRecordCount = function(txtValue, labelTab) { txtValue = txtValue.replace(labelTab, ""); txtValue = txtValue.replace("(", ""); txtValue = txtValue.replace(")", ""); var recordsCount = 0; try { recordsCount = parseInt(txtValue); } catch (ex) { } return recordsCount; } var hasNewSentRecords = false; var hasNewCompletedRecords = false; var hasNewIncompletedRecords = false; var updateReviewCount = function() { var recordsCount = 0; if (reviewTabText == '') { var reviewIconText = $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText'); if (!reviewIconText) { return; } recordsCount = parseReviewRecordCount(reviewIconText.text(), "Review"); } else { recordsCount = parseReviewRecordCount(reviewTabText, "Review"); } recordsCount = recordsCount + CALCULATION_INCREASE; var incompleteFormsIconText = "Review" + '(' + recordsCount + ')'; reviewIconText = incompleteFormsIconText; $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').empty().append(incompleteFormsIconText); $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').attr(CONST_DATA, recordsCount); } var updateReviewSubTabsCount = function(tabName, calculation) { var reviewSubTabIcon = undefined; var countingText = ""; if (tabName == WEB_CLIENT_REVIEW_COMPLETED_TAB) { reviewSubTabIcon = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab table th.reviewCompletedTab'); } else if (tabName == WEB_CLIENT_REVIEW_SENT_TAB) { reviewSubTabIcon = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab table th.reviewSentTab'); } else if (tabName == WEB_CLIENT_REVIEW_INCOMPLETE_TAB) { reviewSubTabIcon = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab table th.reviewIncompleteTab'); } else { return; } if (reviewSubTabIcon == undefined) { return; } countingText = reviewSubTabIcon.text(); if (!countingText || countingText == "") { return; } var recordsCount = 0; var newCountingText = ""; var labelTab = ""; if (tabName == WEB_CLIENT_REVIEW_COMPLETED_TAB) { labelTab = WEB_CLIENT_REVIEW_COMPLETED_TAB + " "; recordsCount = parseReviewRecordCount(countingText, labelTab); reviewSubTabIcon.attr(CONST_DATA, 'reviewCompletedTab'); } else if (tabName == WEB_CLIENT_REVIEW_SENT_TAB) { labelTab = WEB_CLIENT_REVIEW_SENT_TAB + " "; recordsCount = parseReviewRecordCount(countingText, labelTab); reviewSubTabIcon.attr(CONST_DATA, 'reviewSentTab'); } else if (tabName == WEB_CLIENT_REVIEW_INCOMPLETE_TAB) { labelTab = WEB_CLIENT_REVIEW_INCOMPLETE_TAB + " "; recordsCount = parseReviewRecordCount(countingText, labelTab); reviewSubTabIcon.attr(CONST_DATA, 'reviewIncompleteTab'); } recordsCount = recordsCount + calculation; if (recordsCount < 0) { recordsCount = 0; } var newCountingText = labelTab + '(' + recordsCount + ')'; reviewSubTabIcon.empty().append(newCountingText); } var initFVMMBIcon = function(){ if(!isVersion(VERSION_MYINFO_WEBCLIENT)){ authNS.currentUser.show_myinformation_btn = false; } if(authNS.currentUser && authNS.currentUser.assRetrieveCreateDate == CONST_PARAM_LAST_N_DAY){ var lastNDayName = 'Last ' + authNS.currentUser.assRetrieveLastNDays + ' days'; if(!authNS.currentUser.assRetrieveLastNDays || isNaN(authNS.currentUser.assRetrieveLastNDays)){ lastNDayName = 'Last 0 days'; }else{ lastNDayName = 'Last ' + authNS.currentUser.assRetrieveLastNDays + ' days'; } $('.retrieveTab select[name="daterangetype"] option[value="last_0_days"]').empty().append(lastNDayName); }else{ $('.retrieveTab select[name="daterangetype"] option[value="last_0_days"]').empty().append('Last 0 days'); } // hide on webapp $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_send_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE); if(!isShowJobsWebClient()){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_job_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_settings_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE); } $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_help_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_retrieve_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE); var changeImage = function(iconStr, iconName, defaultIconClass, iconColor){ if(!iconName) return; var iconCtrl = $('.fvWorkspaceScrollArea .mainMenuBarScroll .' + iconName + ' .accountMMBIcon'); if((iconStr || '') == ''){ iconCtrl.addClass(defaultIconClass).attr('style', ''); }else{ iconCtrl.removeClass(defaultIconClass); if(iconStr.indexOf('http://')>=0){ iconCtrl.attr('style', 'background-image: url(\'' + iconStr + '\')'); }else if(iconStr.indexOf('/')<0){ if(iconStr.indexOf('imageViewer?')==0){ iconCtrl.attr('style', 'background-image: url("/' + iconStr + '&x=' + (new Date())+ '")'); }else{ iconCtrl.attr('style', 'background-image: url("/imageViewer?blobKey=' + iconStr + '&x=' + (new Date())+ '")'); } }else{ var iconStrTmp = iconStr.replace("ffffff","transparent"); if(iconStrTmp.indexOf('transparent')>=0){ //iconCtrl.attr('style', 'background-image: url(\'/' + iconStrTmp + '\'); background-color:' + iconColor); var bgColor = $(iconCtrl.parents('.accountMMBItem')[0]).css('color'); //if(!setCanvasImage('/' + iconStrTmp, iconCtrl[0], iconColor, authNS.currentUser.mb_icon_unselected_color)){ if(!iconStrTmp.startsWith('/')) { iconStrTmp = '/' + iconStrTmp; } if(!setCanvasImage(iconStrTmp, iconCtrl[0], undefined, iconColor)){ iconCtrl.attr('style', 'background-image: url(\'/' + iconStrTmp + '\'); background-color:' + iconColor); } }else{ iconCtrl.attr('style', 'background-image: url(\'/' + iconStrTmp + '\');'); } } } } if(isShowJobsWebClient()){ if(authNS.currentUser.show_dispatch_btn == false){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_job_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_job_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_job_icon, 'mb_mmb_job_icon', 'accountMMBIconDF3', authNS.currentUser.mb_mmb_job_icon_color); } if(authNS.currentUser.show_settings_btn == false){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_settings_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_settings_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_settings_icon, 'mb_mmb_settings_icon', 'accountMMBIconDF8', authNS.currentUser.mb_mmb_settings_icon_color); } } if(authNS.currentUser.show_review_btn == false){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_review_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_review_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_review_icon, 'mb_mmb_review_icon', 'accountMMBIconDF4', authNS.currentUser.mb_mmb_review_icon_color); } if(authNS.currentUser.show_update_btn == false){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_update_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_update_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_update_icon, 'mb_mmb_update_icon', 'accountMMBIconDF7', authNS.currentUser.mb_mmb_update_icon_color); } if(authNS.currentUser.show_projects_btn == false){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_project_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_project_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_project_icon, 'mb_mmb_project_icon', 'accountMMBIconDF2', authNS.currentUser.mb_mmb_project_icon_color, authNS.currentUser.mb_mmb_project_icon_color); } if(authNS.currentUser.show_forms_btn == false){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_forms_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_forms_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_forms_icon, 'mb_mmb_forms_icon', 'accountMMBIconDF1', authNS.currentUser.mb_mmb_forms_icon_color); } if(authNS.currentUser.show_notices_btn == false){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_notices_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ var noticesIconText = authNS.currentUser.mb_mmb_notices_icon_text; $('.fvWorkspaceScrollArea .mainMenuBarScroll .noticesIconText').empty().append(noticesIconText); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_notices_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_notices_icon, 'mb_mmb_notices_icon', 'accountMMBIconDF11', authNS.currentUser.mb_mmb_notices_icon_color); } if(authNS.currentUser.show_logout_btn == false){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_logout_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_logout_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_logout_icon, 'mb_mmb_logout_icon', 'accountMMBIconDF12', authNS.currentUser.mb_mmb_logout_icon_color); } if(authNS.currentUser.show_exit_btn == false){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_exit_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_exit_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_exit_icon, 'mb_mmb_exit_icon', 'accountMMBIconDF10', authNS.currentUser.mb_mmb_exit_icon_color); } if(authNS.currentUser.show_myinformation_btn == false){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_myinformation_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ var myInformationIconText = authNS.currentUser.mb_mmb_myinformation_icon_text; $('.fvWorkspaceScrollArea .mainMenuBarScroll .myInformationIconText').empty().append(myInformationIconText); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_myinformation_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_myinformation_icon, 'mb_mmb_myinformation_icon', 'accountMMBIconDF13', authNS.currentUser.mb_mmb_myinformation_icon_color); } if(authNS.currentUser.show_get_data_btn == false || !isVersion(VERSION_RETRIEVE_WEB_CLIENT)){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_retrieve_icon').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE).removeClass('iconActive'); }else{ var retrieveIconText = authNS.currentUser.mb_mmb_retrieve_icon_text; $('.fvWorkspaceScrollArea .mainMenuBarScroll .retrieveIconText').empty().append(retrieveIconText); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_retrieve_icon').css(CONST_CSS_KEY_DISPLAY, '').addClass('iconActive'); changeImage(authNS.currentUser.mb_mmb_retrieve_icon, 'mb_mmb_retrieve_icon', 'accountMMBIconDF6', authNS.currentUser.mb_mmb_retrieve_icon_color); } var mainMenuBarScrollStyleCustom = '.popup-main-menu div.scroll_contain{background: white !important;}' + /*'.incompleteFormTab .mainIncompleteFormActionSession input[type="button"],' + '.incompleteFormTab .mainCompleteFormActionSession input[type="button"],' + '.incompleteFormTab .mainSentFormActionSession input[type="button"],' + '.jobsTab .mainJobsListButton input[type="button"],' +*/ '.fvWorkspaceScrollArea .mainMenuBarScroll .mainMenuBar { background: #iconColor# !important; }' + '.popup-main-menu div.scroll_contain .menu-item.itemSelected,' + '.fvWorkspaceScrollArea .mainMenuBarScroll .accountMMBItemSelected{background-color: #selectedIconColor# !important;}' + '.popup-main-menu div.scroll_contain .menu-item .menu-item-text { color: black !important; }' + '.incompleteFormTab .mainIncompleteFormListFilter .statusLabel,' + '.incompleteFormTab .mainCompleteFormListFilter .statusLabel,' + /*'.incompleteFormTab .mainIncompleteFormActionSession input[type="button"],' + '.incompleteFormTab .mainCompleteFormActionSession input[type="button"],' + '.incompleteFormTab .mainSentFormActionSession input[type="button"],' + '.jobsTab .mainJobsListButton input[type="button"],' +*/ '.fvWorkspaceScrollArea .mainMenuBarScroll .accountMMBIconText { color: #iconTextColor# !important; }' + '.fvWorkspaceScrollArea .mainMenuBarScroll .revertBGColor { background-color: #revertBGColor# !important; }' + '.fvWorkspaceScrollArea .mainFormList.make1Column .formIconDevider { height: #formIconDevider#px !important; background-color: #formIconDeviderColor# !important;}' + '.fvWorkspaceScrollArea .mainJobsList .jobsItem,' + '.fvWorkspaceScrollArea .mainSentFormList .sentFormItem,' + '.fvWorkspaceScrollArea .mainCompleteFormList .completeFormItem,' + '.fvWorkspaceScrollArea .mainIncompleteFormList .incompleteFormItem,' + '.fvWorkspaceScrollArea .mainFormList .formIconText { color: #formIconText# !important; }' + '.fvWorkspaceScrollArea .getStartedInfo .formTab .mainNoticeSession .noticeText{ color: #noticeAlertTextColor# !important; background-color: #noticeAlertBarColor# !important;}' + '.fvWorkspaceScrollArea .getStartedInfo .mainNoticeList .noticeTitle, .fvWorkspaceScrollArea .getStartedInfo .mainNoticeList .noticeText { color: #noticeTextColor# !important;}' + '.fvWorkspaceScrollArea .mainFormList .projectDividerItem { color: #projectTextColor# !important; border-bottom: #projectDividerSize#px solid #projectDividerColor# !important; }' + '#menu_contain #fvmain_menu { background-color: #fvmainMenu# !important;}' + '.mainJobsTab table th , .mainIncompleteFormTab table th { background-color: #tabBGColor# !important; color: #tabTextColor# !important; }' + '.mainJobsTab table th.tab-selected, .mainIncompleteFormTab table th.tab-selected { background-color: #tabSelectedColor# !important; }' + '.fvWorkspaceScrollArea .mainJobsList .jobsItem { color: #jobsItemText# !important; }' + '.fvWorkspaceScrollArea .mainJobsList .jobsItem { color: #jobsItemText# !important; }'; mainMenuBarScrollStyleCustom = mainMenuBarScrollStyleCustom.replace('#selectedIconColor#', authNS.currentUser.mb_icon_selected_color) .replace('#iconColor#', authNS.currentUser.mb_icon_unselected_color) .replace('#iconTextColor#', authNS.currentUser.mb_icon_text_color) .replace('#revertBGColor#', '#999899') .replace('#formIconDevider#', authNS.currentUser.mmbListbyRowThickness || 0) .replace('#formIconDeviderColor#', authNS.currentUser.mmbListByRowColor1) .replace('#formIconText#', authNS.currentUser.mmbListByRowTextColor1) .replace('#noticeAlertTextColor#', authNS.currentUser.mb_notice_alert_text_color) .replace('#noticeAlertBarColor#', authNS.currentUser.mb_notice_alert_bar_color) .replace('#noticeTextColor#', authNS.currentUser.mb_notice_text_color) .replace('#fvmainMenu#', authNS.currentUser.mb_header_color) .replace('#projectTextColor#', authNS.currentUser.mmbProjectListTextColor) .replace('#projectDividerSize#', authNS.currentUser.mmbProjectDividerThickness) .replace('#projectDividerColor#', authNS.currentUser.mmbProjectDividerColor) .replace('#tabBGColor#', authNS.currentUser.mb_icon_unselected_color) .replace('#tabTextColor#', authNS.currentUser.mb_icon_text_color) .replace('#tabSelectedColor#', authNS.currentUser.mb_icon_selected_color) .replace('#jobsItemText#', authNS.currentUser.mmbListByRowTextColor1); $('#mainMenuBarScrollStyleCustom').html(mainMenuBarScrollStyleCustom); //drawMainMenuIcon(document.getElementById("mainMenuIcon"), authNS.currentUser.mb_menu_icon_color); //drawFVFullScreenIcon(document.getElementById("fvFullScreen"), authNS.currentUser.mb_menu_icon_color); if(isFullScreen()){ $('#fvmain_menu li.liFvFullScreen .fvFullScreen').addClass('fullMode'); }else{ $('#fvmain_menu li.liFvFullScreen .fvFullScreen').removeClass('fullMode'); } if(authNS.currentUser.mb_wall_paper && authNS.currentUser.mb_wall_paper != ''){ var wallPaperPosition = 'Fill'; if(authNS.currentUser.wallPaperPosition && authNS.currentUser.wallPaperPosition != ''){ wallPaperPosition = authNS.currentUser.wallPaperPosition; } var backgroundSize = CONST_VALUE_INITIAL; var backgroundRepeat = 'no-repeat'; var backgroundPosition = '0 0'; switch(wallPaperPosition){ case 'Fill': backgroundSize = 'cover'; backgroundPosition = '50% 0'; break; case 'Fit': backgroundPosition = '50% 0%'; break; case 'Stretch': backgroundSize = '100% 100%'; backgroundPosition = '0 0'; break; case 'Tile': backgroundRepeat = 'repeat'; backgroundPosition = '0 0'; break; case 'Center': backgroundPosition = 'center center'; break; } $('.fvWorkspaceScrollArea .fvWorkspace').css('background-image', 'url("' + authNS.currentUser.mb_wall_paper + '")') .css('background-repeat', backgroundRepeat) .css('background-position', backgroundPosition) .css('background-size', backgroundSize); } // Start CO-1156 if(authNS.currentUser.mb_body_color != ''){ $('.fvWorkspaceScrollArea .fvWorkspace').css('background-color', authNS.currentUser.mb_body_color); } // End CO-1156 $('.fvWorkspaceScrollArea .mainMenuBarScroll .accountMMBItem').off().click(function(event){ if($(this).hasClass('mb_mmb_notices_icon')){ /*hqkhanh add PCA-622 Webclient | Company Notice | Change request*/ var noticesCount = getActiveNoticeCount(); if(noticesCount <= 0){ return; } } $('.fvWorkspaceScrollArea .mainMenuBarScroll .accountMMBItemSelected').removeClass('accountMMBItemSelected'); $(this).addClass('accountMMBItemSelected'); if($(this).find('.accountMMBIcon').css('background-image').indexOf('/ffffff/')>=0){ $(this).addClass('revertBGColor'); }else{ $(this).removeClass('revertBGColor'); } }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_update_icon').click(function(event){ // CO-2020: Auto start form in default project authNS.isTheFirstTime = true; updateFVDBInfo(); submitUserVariable(); }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_forms_icon').click(function(event){ if($('.fvWorkspaceScrollArea .getStartedInfo .formTab').css(CONST_CSS_KEY_DISPLAY) == CONST_VALUE_NONE){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .formTab').removeClass(CONST_CSS_CLASS_HIDE_SESSION); showBackButton4Webclient(false); $('.fvWorkspaceScrollArea .getStartedInfo .noticeTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .myInformationTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); fvActiveTab = 'formTab'; $('.fvWorkspaceScrollArea .fvWorkspace').attr('class', 'fvWorkspace data formTab'); checkCurrentTab($(this)); checkingMainMenuVisible(); } }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_review_icon').click(function(event, param){ if (!event.isTrigger) { if (hasNewSentRecords) { updateFVDBInfoForSent(true); } if (hasNewCompletedRecords) { updateFVDBInfoForComplete(true); } if (hasNewIncompletedRecords) { updateFVDBInfoForIncomple(true); } } if(param){ switch(param){ case CONST_REVIEW_COMPLETE: fvIncompleteFormActiveTab = CONST_REVIEWCOMPLETEDTAB; break; case CONST_REVIEW_SENT: fvIncompleteFormActiveTab = CONST_REVIEWSENTTAB; break; default: fvIncompleteFormActiveTab = CONST_REVIEWINCOMPLETETAB; } } if($('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab').css(CONST_CSS_KEY_DISPLAY) == CONST_VALUE_NONE){ if($('.fvWorkspaceScrollArea .getStartedInfo .formTab').hasClass(CONST_CSS_CLASS_HIDE_SESSION)){ showBackButton4Webclient(false); }else{ showBackButton4Webclient(true); } $('.fvWorkspaceScrollArea .getStartedInfo .formTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .noticeTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .myInformationTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); fvActiveTab = 'incompleteFormTab'; $('.fvWorkspaceScrollArea .fvWorkspace').attr('class', 'fvWorkspace data incompleteFormTab'); incompleteFormSort(); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab table th').off().click(function(event){ fvIncompleteFormActiveTab = $(this).attr(CONST_DATA); if(!$(this).hasClass('tab-selected')){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab table th.tab-selected').removeClass('tab-selected'); $(this).addClass('tab-selected'); var tabData = $(this).attr(CONST_DATA); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormListFilter").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormListFilter").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormListScroll").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormListScroll").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormListScroll").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormActionSession").addClass(CONST_CSS_CLASS_HIDE_SESSION); switch(tabData){ case 'reviewIncompleteTab': $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormListFilter").removeClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormListScroll").removeClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession").removeClass(CONST_CSS_CLASS_HIDE_SESSION); if (hasNewIncompletedRecords) { updateFVDBInfoForIncomple(true); } break; case 'reviewCompletedTab': $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormListFilter").removeClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormListScroll").removeClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession").removeClass(CONST_CSS_CLASS_HIDE_SESSION); if (hasNewCompletedRecords) { updateFVDBInfoForComplete(true); } break; case 'reviewSentTab': $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormListScroll").removeClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormActionSession").removeClass(CONST_CSS_CLASS_HIDE_SESSION); if (hasNewSentRecords) { updateFVDBInfoForSent(true); } break; } } }); switch(fvIncompleteFormActiveTab){ case 'reviewCompletedTab': $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab table th.reviewCompletedTab').click(); break; case 'reviewSentTab': $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab table th.reviewSentTab').click(); break; case CONST_REVIEWINCOMPLETETAB: $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab table th.reviewIncompleteTab').click(); break; } } checkCurrentTab($(this)); }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_job_icon').click(function(event, param){ if(param){ switch(param){ case CONST_JOB_ALL: fvJobsActiveTab = CONST_JOB_ALL_TAB; break; case CONST_JOB_AGENDA: fvJobsActiveTab = CONST_JOB_AGENDA_TAB; break; default: fvJobsActiveTab = CONST_JOB_CALENDAR_TAB; } } if($('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').css(CONST_CSS_KEY_DISPLAY) == CONST_VALUE_NONE){ if($('.fvWorkspaceScrollArea .getStartedInfo .formTab').hasClass(CONST_CSS_CLASS_HIDE_SESSION)){ showBackButton4Webclient(false); }else{ showBackButton4Webclient(true); } $('.fvWorkspaceScrollArea .getStartedInfo .formTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .noticeTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .myInformationTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); fvActiveTab = 'jobsTab'; $('.fvWorkspaceScrollArea .fvWorkspace').attr('class', 'fvWorkspace data jobsTab'); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab table th').off().click(function(event, selectedDay){ fvJobsActiveTab = $(this).attr(CONST_DATA); if(!$(this).hasClass('tab-selected')){ $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab table th.tab-selected').removeClass('tab-selected'); $(this).addClass('tab-selected'); var tabData = $(this).attr(CONST_DATA); $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .mainJobsList").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .agendaJobsList").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .calendarJobsList").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .mainJobsListButton").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .agendaJobsListButton").addClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .calendarJobsListButton").addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').removeClass(CONST_JOB_ALL_TAB); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').removeClass(CONST_JOB_AGENDA); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').removeClass(CONST_JOB_CALENDAR_TAB); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').addClass(tabData); switch(tabData){ case CONST_JOB_ALL_TAB: $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .mainJobsList").removeClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .mainJobsListButton").removeClass(CONST_CSS_CLASS_HIDE_SESSION); break; case CONST_JOB_AGENDA: $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .agendaJobsList").removeClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .agendaJobsListButton").removeClass(CONST_CSS_CLASS_HIDE_SESSION); if(!selectedDay || selectedDay == ''){ var agendarExpandList = $('.fvWorkspaceScrollArea .agendaJobsList .agenda-item.expand'); _.each(agendarExpandList, function(agendarExpandItem, index){ var itemId = $(agendarExpandItem).attr('data'); expandAgendaJobList[itemId] = 'collapse'; $(agendarExpandItem).removeClass('expand') $(agendarExpandItem).find('.agenda-item-text .mark').empty().append('+'); }); var curDate = moment(new Date()); var dateId = curDate.format("yyyyMMDD"); var selectedItem = $('.fvWorkspaceScrollArea .agendaJobsList .agenda-item[data="' + dateId + '"]'); expandAgendaJobList[dateId] = 'expand'; selectedItem.addClass('expand') selectedItem.find('.agenda-item-text .mark').empty().append('-'); } break; case CONST_JOB_CALENDAR_TAB: $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .calendarJobsList").removeClass(CONST_CSS_CLASS_HIDE_SESSION); $(".fvWorkspaceScrollArea .getStartedInfo .jobsTab .calendarJobsListButton").removeClass(CONST_CSS_CLASS_HIDE_SESSION); break; } } }); if(fvJobsActiveTab && fvJobsActiveTab != CONST_JOB_ALL_TAB){ switch(fvJobsActiveTab){ case CONST_JOB_CALENDAR_TAB: $('.fvWorkspaceScrollArea .jobsTab table th.calendarJobsTab').click(); break; case CONST_JOB_AGENDA: $('.fvWorkspaceScrollArea .jobsTab table th.agendaJobsTab').click(); break; default: } } } checkCurrentTab($(this)); }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_settings_icon').click(function(event){ if($('.fvWorkspaceScrollArea .getStartedInfo .settingsTab').css(CONST_CSS_KEY_DISPLAY) == CONST_VALUE_NONE){ if($('.fvWorkspaceScrollArea .getStartedInfo .formTab').hasClass(CONST_CSS_CLASS_HIDE_SESSION)){ showBackButton4Webclient(false); }else{ showBackButton4Webclient(true); } $('.fvWorkspaceScrollArea .getStartedInfo .formTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .noticeTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .myInformationTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); fvActiveTab = 'settingsTab'; $('.fvWorkspaceScrollArea .fvWorkspace').attr('class', 'fvWorkspace data settingsTab'); if(!fvDBInfoNS.settings){ fvDBInfoNS.settings = {}; } if(fvDBInfoNS.settings.behaviorUseGPNNotity){ $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab #chkBehavior').prop('checked', true) $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .behavior-no-use-gpn-notity-session').addClass(CONST_CSS_CLASS_HIDE_SESSION); }else{ $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .behavior-no-use-gpn-notity-session').removeClass(CONST_CSS_CLASS_HIDE_SESSION); if(fvDBInfoNS.settings.behaviorRefreshTime){ $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .refreshTime').val(fvDBInfoNS.settings.behaviorRefreshTime); } } if(fvDBInfoNS.settings.behaviorPreviewSortBy == 'alpha'){ $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .sortReviewBy').val('alpha'); }else{ $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .sortReviewBy').val(CONST_VALUE_DATE_LOWERCASE); } $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab #chkBehavior').off().click(function(){ var isCheck = $(this).prop('checked'); if(isCheck) { $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .behavior-no-use-gpn-notity-session').addClass(CONST_CSS_CLASS_HIDE_SESSION); }else{ $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .behavior-no-use-gpn-notity-session').removeClass(CONST_CSS_CLASS_HIDE_SESSION); } }); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .btnSavebehavior').off().click(function(){ var isCheck = $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab #chkBehavior').prop('checked'); var isChange = false; if(isCheck){ fvDBInfoNS.settings.behaviorUseGPNNotity = true; }else{ if(fvDBInfoNS.settings.behaviorUseGPNNotity){ isChange = true; } fvDBInfoNS.settings.behaviorUseGPNNotity = false; fvDBInfoNS.settings.behaviorRefreshTime = $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .refreshTime').val(); } fvDBInfoNS.settings.behaviorPreviewSortBy = $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .sortReviewBy').val(); waitForDataLoading(true); $.ajax({ url: '/formview/FVUpdateServlet?kind=SAVE_SETTINGS&mobileKey=' + authNS.currentUser.MobileKey, dataType: 'json', type: 'POST', data: {behaviorUseGPNNotity: fvDBInfoNS.settings.behaviorUseGPNNotity, behaviorRefreshTime: fvDBInfoNS.settings.behaviorRefreshTime, behaviorPreviewSortBy: fvDBInfoNS.settings.behaviorPreviewSortBy}, cache: false, async: false, complete: function() { if(isChange){ toggleBehaviorChannel(false); } }, success: function(response, status) { waitForDataLoading(false); }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ jAlert(msg_read_permission_required); }else{ jAlert(msg_error_try); } } }); }); if(authNS.currentUser.geotabAddIns){ $(".fvWorkspaceScrollArea .getStartedInfo .settingsTab .geotab-session").removeClass(CONST_CSS_CLASS_HIDE_SESSION); var reloadGeotabSession = function(){ var geotabCache = getStoreData("geotab-sessionId-" + authNS.currentUser.CustomerKey); if(geotabCache && !isEmpty(geotabCache)){ $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .geotab-user-session').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .geotab-user-session .geotab-user').empty().append(getStoreData("geotab-userName-" + authNS.currentUser.CustomerKey)); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .btnGeoTabLogout').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .btnGeoTabLogin').addClass(CONST_CSS_CLASS_HIDE_SESSION); }else{ $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .geotab-user-session .geotab-user').empty(); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .geotab-user-session').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .btnGeoTabLogout').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .btnGeoTabLogin').removeClass(CONST_CSS_CLASS_HIDE_SESSION); } } reloadGeotabSession(); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .btnGeoTabLogin').off().click(function(){ renderGeoTabLoginForm(undefined, undefined, reloadGeotabSession); }); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab .btnGeoTabLogout').off().click(function(){ storeData("geotab-userName-" + authNS.currentUser.CustomerKey, ""); storeData("geotab-sessionId-" + authNS.currentUser.CustomerKey, ""); storeData("geotab-database-" + authNS.currentUser.CustomerKey, ""); storeData("geotab-path-" + authNS.currentUser.CustomerKey, ""); reloadGeotabSession(); }); }else{ $(".fvWorkspaceScrollArea .getStartedInfo .settingsTab .geotab-session").addClass(CONST_CSS_CLASS_HIDE_SESSION); } } checkCurrentTab($(this)); }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_notices_icon').click(function(event){ /*hqkhanh add PCA-622 Webclient | Company Notice | Change request*/ var noticesCount = getActiveNoticeCount(); if(noticesCount <= 0){ jAlert(msg_wc_no_notices); return; } if($('.fvWorkspaceScrollArea .getStartedInfo .noticeTab').css(CONST_CSS_KEY_DISPLAY) == CONST_VALUE_NONE){ if($('.fvWorkspaceScrollArea .getStartedInfo .formTab').hasClass(CONST_CSS_CLASS_HIDE_SESSION)){ showBackButton4Webclient(false); }else{ showBackButton4Webclient(true); } $('.fvWorkspaceScrollArea .getStartedInfo .formTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .noticeTab').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .myInformationTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); fvActiveTab = 'noticeTab'; $('.fvWorkspaceScrollArea .fvWorkspace').attr('class', 'fvWorkspace data noticeTab'); } checkCurrentTab($(this)); }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_myinformation_icon').click(function(event){ if($('.fvWorkspaceScrollArea .getStartedInfo .myInformationTab').css(CONST_CSS_KEY_DISPLAY) == CONST_VALUE_NONE){ if($('.fvWorkspaceScrollArea .getStartedInfo .formTab').hasClass(CONST_CSS_CLASS_HIDE_SESSION)){ showBackButton4Webclient(false); }else{ showBackButton4Webclient(true); } $('.fvWorkspaceScrollArea .getStartedInfo .formTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .noticeTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .myInformationTab').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); fvActiveTab = 'myInformationTab'; $('.fvWorkspaceScrollArea .fvWorkspace').attr('class', 'fvWorkspace data myInformationTab'); } if(authNS && authNS.currentUser && authNS.currentUser.VariableMobileHeaderText && authNS.currentUser.VariableMobileHeaderText != ''){ $('.myInformationTab .myInformationHeader').removeClass(CONST_CSS_CLASS_HIDE_SESSION).empty().append(authNS.currentUser.VariableMobileHeaderText); }else{ $('.myInformationTab .myInformationHeader').addClass(CONST_CSS_CLASS_HIDE_SESSION).empty(); } checkCurrentTab($(this)); }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_logout_icon').click(function(event){ checkCurrentTab($(this)); parent.window.location.replace("/formview/logout"); }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_exit_icon').click(function(event){ checkCurrentTab($(this)); parent.window.location.replace("/formview/logout"); }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_project_icon').click(function(event){ checkCurrentTab($(this)); var offset = $(this).offset(); var height = $(this).height(); var width = $(this).width(); var top = offset.top + height + 5; var left = offset.left; showSelectProjectPopupMenu(top, left); }); $('.fvWorkspaceScrollArea .mainJobsListButton').off().click(function(event){ waitForDataLoading(true); var arrRejected = []; var lstRejected = $('.fvWorkspaceScrollArea .mainJobsList input:checkbox:checked'); _.each(lstRejected, function(item){ arrRejected.push({ 'id':$(item).attr('id') ,'prj':$(item).attr(CONST_DATA_PRJ) ,'odk':$(item).attr(CONST_DATA_FRM)}); }); rejectDispatchJobItem(arrRejected); }); $('.fvWorkspaceScrollArea .agendaJobsListButton').off().click(function(event){ waitForDataLoading(true); var arrRejected = []; var lstRejected = $('.fvWorkspaceScrollArea .agendaJobsList input:checkbox:checked'); _.each(lstRejected, function(item){ arrRejected.push({ 'id':$(item).attr('id') ,'prj':$(item).attr(CONST_DATA_PRJ) ,'odk':$(item).attr(CONST_DATA_FRM)}); }); rejectDispatchJobItem(arrRejected); }); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_retrieve_icon').click(function(event){ if($('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab').css(CONST_CSS_KEY_DISPLAY) == CONST_VALUE_NONE){ if($('.fvWorkspaceScrollArea .getStartedInfo .formTab').hasClass(CONST_CSS_CLASS_HIDE_SESSION)){ showBackButton4Webclient(false); }else{ showBackButton4Webclient(true); } $('.fvWorkspaceScrollArea .getStartedInfo .formTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .noticeTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .jobsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .settingsTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .myInformationTab').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .retrieveTab').removeClass(CONST_CSS_CLASS_HIDE_SESSION); fvActiveTab = 'retrieveTab'; $('.fvWorkspaceScrollArea .fvWorkspace').attr('class', 'fvWorkspace data retrieveTab'); } checkCurrentTab($(this)); }); function showSelectProjectPopupMenu(top, left) { var projects = fvDBInfoNS.projects; $('.popup-project-menu').jqmShow(); $('.jqmOverlay').off().click(function(){ $('.popup-project-menu').jqmHide(); $('.jqmOverlay').off(); }); $('.popup-project-menu').css('top', top); //$('.popup-project-menu').css('right', right); var projectMenuPosition = left + ($('.popup-project-menu').width() / 2); if(projectMenuPosition < 200){ projectMenuPosition = 200; } $('.popup-project-menu').css('left', projectMenuPosition); $('.jqmOverlay:visible').css('opacity', 0); var scroll_contain = $('.popup-project-menu .scroll_contain').empty(); function addProjectItem(scroll_contain, projectKey, projectName){ var item = $(''); item.find('.menu-item-text').empty().append(projectName); item.attr(CONST_DATA, projectKey); scroll_contain.append(item); item.off().click(function(){ $('.popup-project-menu').jqmHide(); var projectKey = $(this).attr(CONST_DATA); storeData("wc_prj_key", projectKey); reloadMainFormList(fvDBInfoNS); $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_forms_icon').click(); }); } addProjectItem(scroll_contain, 'ALL_PROJECT', 'All projects'); var projectsTmp = getProjectSortList(projects); for (var i=0;i 0){ var jsonParam = {}; jsonParam.rejected = arrRejected; jsonParam.cusKey = (authNS.currentUser.CustomerKey ? authNS.currentUser.CustomerKey : ''); jsonParam.mobileKey = authNS.currentUser.MobileKey; $.ajax({ url: '/formview/FVJobsServlet', dataType: 'json', type: 'Post', data: JSON.stringify(jsonParam), cache: false, complete: function(){ waitForDataLoading(false); }, success: function(response, status) { if(isWebClient){ if(response.jobs != undefined){ showDispatchReceivedAlert(fvDBInfoNS.jobs, response.jobs); fvDBInfoNS.jobs = response.jobs; reloadMainJobsList(); updateFVDBDispatchRecall(); } } else{ closeWebUI(); } }, error: function(request, status, error) { if(getStatus(request) == 401){ jAlert(msg_read_permission_required.replace('email', 'mobile'),'',function(){ $.alerts.okButton = ' Ok '; $.alerts.dialogClass = ''; parent.window.location.replace("/formview/logout"); }); }else{ jAlert(msg_error_try); } } }); } else{ waitForDataLoading(false); } } var getProjectSortList = function(projects){ var projectsTmp = []; for (var key in projects) { if(key == 'count' || key == 'defaultProject'){ continue; } var item = projects[key]; item['key'] = key; projectsTmp.push(item); } projectsTmp.sort(function(a, b) { var aVal = a['projectName'].toLowerCase(); var bVal = b['projectName'].toLowerCase(); if (aVal == bVal) { return 0; // if they are equal, return 0 (no sorting) } else if (aVal > bVal) { return 1; // if a should come after b, return 1 } else { return -1; // if b should come after a, return -1 } }); return projectsTmp; } var getFVDBInfo = function(){ waitForDataLoading(true); var runGetFVDBInfo = function(){ $.ajax({ url: '/formview/FVUpdateServlet?fnId=GetFVDBInfo&mobileKey=' + authNS.currentUser.MobileKey, dataType: 'json', type: 'GET', data: '{}', cache: false, complete: function() { }, success: function(response, status) { if(response.running){ setTimeout(function(){ runGetFVDBInfo(true); }, 10000); }else{ waitForDataLoading(false); fvDBInfoNS = response; fvUpdateScreenInfo(fvDBInfoNS); } }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ jAlert(msg_read_permission_required); }else{ jAlert(msg_error_try); } } }); } runGetFVDBInfo(); } var toggleBehaviorChannel = function(waiting){ try { if(fvDBInfoNS.settings.behaviorUseGPNNotity){ //fvOpenChannelRefresh(); }else{ //fvUnloadChannel(); initIntervalBehaviorReq(waiting); } } catch (e) { } }; var initIntervalBehaviorReq = function(waiting){ if(initIntervalBehaviorReqIsWaiting){ return; } try { if(fvDBInfoNS.settings == undefined || fvDBInfoNS.settings.behaviorRefreshTime == undefined || fvDBInfoNS.settings.behaviorUseGPNNotity == undefined){ return; } var interval = fvDBInfoNS.settings.behaviorRefreshTime*1000; initIntervalBehaviorReqIsWaiting = true; setTimeout(function() { if(fvDBInfoNS.settings.behaviorUseGPNNotity){ initIntervalBehaviorReqIsWaiting = false; return; } else{ updateFVDBInfoForJobsNoWait(waiting, false); initIntervalBehaviorReqIsWaiting = false; } }, interval); } catch (e) { } }; var updateFVDBInfo = function(waiting){ var dt = new Date(); storeData('AutoLUTime', dt.getTime()); waitForDataLoading(true); var isUserNotify = true; var runUpdateFVDBInfo = function(waiting){ var param = ''; var isRunning = false; if(waiting){ param = '&waitResult=true'; } $.ajax({ url: '/formview/FVUpdateServlet?fnId=UpdateFVDBInfo&mobileKey=' + authNS.currentUser.MobileKey + param, dataType: 'json', type: 'GET', data: '{}', cache: false, async: false, complete: function() { }, success: function(response, status) { if(response.running){ isRunning = true; receiveUpdateNotice = false; if(!callUpdateFVDBInfoWhenTimeoutIsWaiting){ callUpdateFVDBInfoWhenTimeoutIsWaiting = true; setTimeout(function(){ callUpdateFVDBInfoWhenTimeout(); }, 10000); } }else{ if(isUserNotify){ waitForDataLoading(false); } fvDBInfoNS = response; if(response.currentUser){ authNS.currentUser = response.currentUser; } if(authNS && authNS.currentUser && authNS.currentUser.dateFormat == 'dd/MM/yyyy'){ DEFAULT_DATE_FORMAT = "dd/mm/yyyy"; } if(authNS && authNS.currentUser && authNS.currentUser.timeFormat == 'hh:mm aa'){ DEFAULT_TIME_FORMAT_12H = "hh:MM TT"; DEFAULT_TIME_FORMAT_24H = "HH:MM"; } DEFAULT_DATE_TIME_FORMAT_12H = DEFAULT_DATE_FORMAT + ' ' + DEFAULT_TIME_FORMAT_12H; DEFAULT_DATE_TIME_FORMAT_24H = DEFAULT_DATE_FORMAT + ' ' + DEFAULT_TIME_FORMAT_24H; initFVMMBIcon(); fvUpdateScreenInfo(fvDBInfoNS); if(!fvDataNS.lkData){ fvDataNS.lkData = {}; } if(!fvDataNS.autocompleteBinded){ fvDataNS.autocompleteBinded = {}; } if(!fvDataNS.pleaseLoadWhenShow){ fvDataNS.pleaseLoadWhenShow = {}; } if(fvDBInfoNS.settings == undefined){ fvDBInfoNS.settings = { behaviorUseGPNNotity : authNS.currentUser.assBehaviorUseGoogleNoti, behaviorRefreshTime : authNS.currentUser.assBehaviorDispatchCheckInterval, behaviorPreviewSortBy : CONST_VALUE_DATE_LOWERCASE }; } toggleBehaviorChannel(false); } }, error: function(request, status, error) { if(isUserNotify){ waitForDataLoading(false); } if(getStatus(request) == 401){ jAlert(msg_read_permission_required.replace('email', 'mobile'),'',function(){ $.alerts.okButton = ' Ok '; $.alerts.dialogClass = ''; parent.window.location.replace("/formview/logout"); }); }else{ jAlert(msg_error_try); } } }); return isRunning; } if(!isUserNotify){ var isRunning = false; var delay = false; do{ if(!delay){ isRunning = runUpdateFVDBInfo(isRunning); delay = true; setTimeout(function(){ delay = false; }, 10000); } }while(isRunning); waitForDataLoading(false); }else{ runUpdateFVDBInfo(waiting); } } var runUpdateFVDBInfoForIncompleRetryCount = 0; var INCOMPLETE_RETRY_MAX_COUNT = 10; var runUpdateFVDBInfoForSentRetryCount = 0; var SENT_RETRY_MAX_COUNT = 10; var runUpdateFVDBInfoForCompleteRetryCount = 0; var COMPLETE_RETRY_MAX_COUNT = 10; var addIncompleteForm = function(incompleteForms, addIncompleteForms){ for(var key in addIncompleteForms){ if(key == 'continue'){ continue; } if(key == 'count'){ var count = incompleteForms['count']; if(count == undefined){ count = addIncompleteForms['count']; } incompleteForms['count'] = count; continue; } if(incompleteForms[key] != undefined){ var item = addIncompleteForms[key]; for(var key1 in item){ if(key1 == 'count'){ var count = incompleteForms[key]['count']; if(count == undefined){ count = item['count']; } incompleteForms[key]['count'] = count; continue; } if(incompleteForms[key][key1] != undefined){ var item2 = item[key1]; for(var key2 in item2){ if(key2 == 'count'){ var count = incompleteForms[key][key1]['count']; if(count == undefined){ count = item2['count']; } incompleteForms[key][key1]['count'] = count; continue; } incompleteForms[key][key1][key2] = item2[key2]; } }else{ incompleteForms[key][key1] = item[key1]; } } }else{ incompleteForms[key] = addIncompleteForms[key]; } } } var updateFVDBInfoForIncomple = function(isUpdateScreen, isAsync){ if(!authNS || !authNS.currentUser || !authNS.currentUser.MobileKey || authNS.currentUser.MobileKey == 'All'){ return; } waitForDataLoading(true); if(isAsync == undefined){ isAsync = true; } runUpdateFVDBInfoForIncompleRetryCount = 0; var runUpdateFVDBInfoForIncomple = function(waiting, isAsync, continuePrevBreak){ var param = ''; if(waiting){ param = '&waitResult=true'; } if(continuePrevBreak == true){ param += '&continue=1'; }else{ fvDBInfoNS.incompleteForms = {}; } if(isFillAndSend) { return; } fvDBInfoNS.incompleteFormsLoadFinished = false; $.ajax({ url: '/formview/FVUpdateServlet?fnId=UpdateFVDBInfoForIncomple&mobileKey=' + authNS.currentUser.MobileKey + param, dataType: 'json', type: 'GET', data: '{}', cache: false, async: isAsync, complete: function() { }, success: function(response, status) { if(response.incompleteFormsRunning){ setTimeout(function(){ runUpdateFVDBInfoForIncomple(true, isAsync, false); }, 10000); }else if(response.finished){ if(response.incompleteForms.continue == '1'){ addIncompleteForm(fvDBInfoNS.incompleteForms, response.incompleteForms); runUpdateFVDBInfoForIncomple(true, isAsync, true); }else{ waitForDataLoading(false); addIncompleteForm(fvDBInfoNS.incompleteForms, response.incompleteForms); fvDBInfoNS.incompleteFormsLoadFinished = true; if(isUpdateScreen != false){ fvUpdateScreenInfo(fvDBInfoNS); hasNewIncompletedRecords = false; } } }else{ runUpdateFVDBInfoForIncompleRetryCount++; if(runUpdateFVDBInfoForIncompleRetryCount <= INCOMPLETE_RETRY_MAX_COUNT){ setTimeout(function(){ runUpdateFVDBInfoForIncomple(true, isAsync, false); }, 10000); }else{ jAlert(msg_error_try); } } }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ jAlert(msg_read_permission_required); }else{ setTimeout(function(){ runUpdateFVDBInfoForIncomple(true, isAsync, false); }, 10000); } } }); } runUpdateFVDBInfoForIncomple(undefined, isAsync, false); } var updateFVDBInfoForSent = function(isUpdateScreen, isAsync){ waitForDataLoading(true); if(isAsync == undefined){ isAsync = true; } runUpdateFVDBInfoForSentRetryCount = 0; var runUpdateFVDBInfoForSent = function(waiting, isAsync){ var param = ''; if(waiting){ param = '&waitResult=true'; } if(isFillAndSend) { return; } $.ajax({ url: '/formview/FVUpdateServlet?fnId=UpdateFVDBInfoForSent&mobileKey=' + authNS.currentUser.MobileKey + param, dataType: 'json', type: 'GET', data: '{}', cache: false, async: isAsync, complete: function() { }, success: function(response, status) { if(response.sentFormsRunning){ setTimeout(function(){ runUpdateFVDBInfoForSent(true, isAsync); }, 10000); }else if(response.finished){ waitForDataLoading(false); fvDBInfoNS.sentForms = response.sentForms; if(isUpdateScreen != false){ fvUpdateScreenInfo(fvDBInfoNS); hasNewSentRecords = false; } }else{ runUpdateFVDBInfoForSentRetryCount++; if(runUpdateFVDBInfoForSentRetryCount <= SENT_RETRY_MAX_COUNT){ setTimeout(function(){ runUpdateFVDBInfoForSent(true, isAsync); }, 10000); }else{ //jAlert(msg_error_try); } } }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ //jAlert(msg_read_permission_required); }else{ setTimeout(function(){ runUpdateFVDBInfoForSent(true, isAsync); }, 10000); } } }); } runUpdateFVDBInfoForSent(undefined, isAsync); } var updateFVDBInfoForComplete = function(isUpdateScreen, isAsync){ waitForDataLoading(true); if(isAsync == undefined){ isAsync = true; } runUpdateFVDBInfoForCompleteRetryCount = 0; var runUpdateFVDBInfoForComplete = function(waiting, isAsync){ var param = ''; if(waiting){ param = '&waitResult=true'; } if(isFillAndSend) { return; } $.ajax({ url: '/formview/FVUpdateServlet?fnId=UpdateFVDBInfoForComplete&mobileKey=' + authNS.currentUser.MobileKey + param, dataType: 'json', type: 'GET', data: '{}', cache: false, async: isAsync, complete: function() { }, success: function(response, status) { if(response.completeRecordsRunning){ setTimeout(function(){ runUpdateFVDBInfoForComplete(true, isAsync); }, 10000); }else if(response.finished){ waitForDataLoading(false); fvDBInfoNS.completeRecords = response.completeRecords; if(isUpdateScreen != false){ fvUpdateScreenInfo(fvDBInfoNS); hasNewCompletedRecords = false; } }else{ runUpdateFVDBInfoForCompleteRetryCount++; if(runUpdateFVDBInfoForCompleteRetryCount <= COMPLETE_RETRY_MAX_COUNT){ setTimeout(function(){ runUpdateFVDBInfoForComplete(true, isAsync); }, 10000); }else{ //jAlert(msg_error_try); } } }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ //jAlert(msg_read_permission_required); }else{ setTimeout(function(){ runUpdateFVDBInfoForComplete(true, isAsync); }, 10000); } } }); } runUpdateFVDBInfoForComplete(undefined, isAsync); } var updateFVDBInfoForJobsNoWait = function(isWaitResult, isRunOnce){ var dt = new Date(); storeData('AutoLUTime', dt.getTime()); if(authNS.currentUser.show_dispatch_in_drop_down != true && authNS.currentUser.show_dispatch_btn != true){ return; } var runUpdateFVDBInfoForJobsNoWait = function(isWaitResult, isRunOnce){ var param = ''; if(isWaitResult){ param = '&waitResult=true'; } $.ajax({ url: '/formview/FVUpdateServlet?fnId=UpdateFVDBInfoForJobs&mobileKey=' + authNS.currentUser.MobileKey + param, dataType: 'json', type: 'GET', data: '{}', cache: false, complete: function() { }, success: function(response, status) { var jobsRunning = response.jobsRunning; if(jobsRunning == undefined){ jobsRunning = isWaitResult; } try{ if(response.jobsRunning){ //setTimeout(function(){ runUpdateFVDBInfoForJobs(true); }, 30000); }else{ showDispatchReceivedAlert(fvDBInfoNS.jobs, response.jobs); fvDBInfoNS.jobs = response.jobs; reloadMainJobsList(); updateFVDBDispatchRecall(); } if(!isRunOnce){ toggleBehaviorChannel(jobsRunning); } }catch(Err) { if(!isRunOnce){ toggleBehaviorChannel(jobsRunning); } } }, error: function(request, status, error) { if(401 == request.status){ }else if(500 == request.status){ }else{ //ignore error if(!isRunOnce){ toggleBehaviorChannel(isWaitResult); } } } }); } runUpdateFVDBInfoForJobsNoWait(isWaitResult, isRunOnce); } function showSelectProjectPopupForOpenForm(projectList, formKey){ $('.popup-project-open-form').jqmShow(); $('.jqmOverlay').off().click(function(){ $('.popup-project-open-form').jqmHide(); $('.jqmOverlay').off(); }); var top = $('.bottomBannerImage').offset().top - 300; var screenWidth = $('.fvWorkspaceScrollArea').width(); $('.popup-project-open-form').css('top', top); var projectMenuPosition = ($('.fvWorkspaceScrollArea').width() - $('.popup-project-menu').width()) / 2; if(projectMenuPosition < 200){ projectMenuPosition = 200; } $('.popup-project-open-form').css('left', projectMenuPosition); $('.jqmOverlay:visible').css('opacity', 0); var scroll_contain = $('.popup-project-open-form .scroll_contain').empty(); function addProjectItem(scroll_contain, projectKey, projectName, formKey){ var item = $(''); item.find('.menu-item-text').empty().append(projectName); item.attr(CONST_DATA, projectKey); item.attr('data-form', formKey); scroll_contain.append(item); item.off().click(function(){ $('.popup-project-open-form').jqmHide(); $('.jqmOverlay').off(); var projectKey = $(this).attr(CONST_DATA); var formKey = $(this).attr('data-form'); $('.formViewMain').addClass('openFormMode'); $('.FVBannerDisplay #formViewWS').addClass('openFormMode').css("top", ""); $('.FVBannerDisplay #fvmain_menu .liTitle').addClass('openFormMode'); $.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) { fvOpenForm(formKey, projectKey); }, error: function(request, status, error) { if(getStatus(request) == ERROR_CODE_MOBILE_UNIT_LOCKED){ alert(err_mobile_locked); }else{ alert(lbl_wc_could_not_login); } } }); }); } projectList.sort(function(a, b) { var aVal = a['name'].toLowerCase(); var bVal = b['name'].toLowerCase(); if (aVal == bVal) { return 0; // if they are equal, return 0 (no sorting) } else if (aVal > bVal) { return 1; // if a should come after b, return 1 } else { return -1; // if b should come after a, return -1 } }); for (var i=0;i0){ $('#body_contain').addClass('FVBannerDisplay'); $('#body_contain #fvmain_menu').css('background-image', CONST_VALUE_NONE); }else{ $('#body_contain').addClass('FVBannerDisplay'); var img = new Image(); img.onload = function() { if($('#body_contain.openFormMode').length>0){ $('#body_contain #fvmain_menu').css('background-image', CONST_VALUE_NONE); return; } var imgWidth = this.width; var imgHeight = this.height; var screenWidth = $(window).width() - 11; // ContainerHeight = GraphicHeight * ScreenWidth / GraphicWidth var containerHeight = imgHeight * screenWidth / imgWidth; var curStyle = $('.FVBannerDisplay #fvmain_menu').attr('style'); curStyle += ';height: ' + containerHeight + 'px !important;'; curStyle += ';background-size: 100% ' + containerHeight + 'px !important;'; $('.FVBannerDisplay #fvmain_menu').attr('style', curStyle); $('.FVBannerDisplay #formViewWS').css("top", ""); var curStyle1 = $('.FVBannerDisplay #formViewWS').attr('style'); curStyle1 += ';top: ' + containerHeight + 'px !important;'; $('.FVBannerDisplay #formViewWS').attr('style', curStyle1); } img.src = '/' + authNS.currentUser.mmbMainMenuGraphics; $('#body_contain #fvmain_menu').attr('style', 'background-image: url("/' + authNS.currentUser.mmbMainMenuGraphics + '") !important;'); if($('#body_contain').hasClass('fullScreenMode')){ var screenHeight = $(window).height(); var bannerHeight = Math.round(screenHeight*25/100); $('.FVBannerDisplay #formViewWS').css('top', ''); $('.FVBannerDisplay #fvmain_menu').css('height', ''); $('.FVBannerDisplay #formViewWS').attr('style', $('.FVBannerDisplay #formViewWS').attr('style') + 'top: ' + bannerHeight + 'px !important'); $('.FVBannerDisplay #fvmain_menu').attr('style', $('.FVBannerDisplay #fvmain_menu').attr('style') + 'height: ' + bannerHeight + 'px !important'); } } }else{ $('#body_contain').removeClass('FVBannerDisplay'); $('#body_contain #fvmain_menu').css('background-image', CONST_VALUE_NONE); } if(authNS.currentUser.mmbBottomBorderGraphics && authNS.currentUser.mmbBottomBorderGraphics != ''){ $('#body_contain').addClass('bottomBannerDisplay'); $('.bottomBannerDisplay .bottomBannerSession').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.bottomBannerDisplay .bottomBannerSession').attr('style', 'background-image: url("/' + authNS.currentUser.mmbBottomBorderGraphics + '") !important;'); if(authNS.currentUser.mmbBottomBorderGraphicsStyle == 'Actual Size'){ $('.bottomBannerDisplay .bottomBannerSession').removeClass('bottom-bg-fit-to-screen'); $('.bottomBannerDisplay .bottomBannerSession').addClass('actual-size'); }else{ $('.bottomBannerDisplay .bottomBannerSession').removeClass('actual-size'); $('.bottomBannerDisplay .bottomBannerSession').addClass('bottom-bg-fit-to-screen'); } //$('.bottomBannerSession a').attr('href', authNS.currentUser.mmbBottomBorderURLPath); $('.bottomBannerSession').attr(CONST_DATA, authNS.currentUser.mmbBottomBorderURLPath); switch(authNS.currentUser.mmbBottomBorderType){ case 'form': //$(".bottomBannerSession a").click(function(){ $(".bottomBannerSession").off().click(function(){ var formKey = authNS.currentUser.mmbBottomBorderURLPath; var form = fvDBInfoNS.forms[formKey]; if(!form){ // form not found alert('Sorry, unable to load form because this form does not exist'); return; } var formDesployKey = undefined; _.each(fvDBInfoNS.formDeploy, function(formDeploy, key){ if(formDesployKey){ return false; } if(formDeploy['formKey'] == formKey){ formDesployKey = key; } }); if(!formDesployKey){ // form not found alert('Sorry, unable to load form because this form does not exist'); return; } var projectList = []; _.each(fvDBInfoNS.projectForm, function(projectFormObj, key){ if(projectFormObj[formDesployKey]){ var project = {key: key, name: fvDBInfoNS.projects[key]['projectName']}; projectList.push(project); } }); var projectKey = ''; if(projectList.length == 0){ // form not found alert('Sorry, unable to load form because this form does not exist'); return; }else if(projectList.length == 1){ projectKey = projectList[0].key; $('.formViewMain').addClass('openFormMode'); $('.FVBannerDisplay #formViewWS').addClass('openFormMode').css("top", ""); $('.FVBannerDisplay #fvmain_menu .liTitle').addClass('openFormMode'); $.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) { fvOpenForm(formKey, projectKey); }, error: function(request, status, error) { if(getStatus(request) == ERROR_CODE_MOBILE_UNIT_LOCKED){ alert(err_mobile_locked); }else{ alert(lbl_wc_could_not_login); } } }); }else{ showSelectProjectPopupForOpenForm(projectList, formKey); } }); break; default: //$('.bottomBannerSession').attr('target', '_blank'); $(".bottomBannerSession").off().click(function(){ window.open(authNS.currentUser.mmbBottomBorderURLPath); }); } }else{ $('#body_contain').removeClass('bottomBannerDisplay'); } } var fvUpdateScreenInfo = function(response){ if(authNS.currentUser && authNS.currentUser.mobilePreventBulkSignatureWhenComplete){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnCompleteFormBulkSignature').removeClass('hideSession'); }else{ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnCompleteFormBulkSignature').addClass('hideSession'); } fvMainMenuGraphicsStyleUpdate(); var projectsIconText = authNS.currentUser.mb_mmb_project_icon_text; var projectCount = 0; if(response.projects && response.projects.count){ projectCount = response.projects.count; } projectsIconText += '(' + projectCount + ')'; authNS.currentUser.projectCount = projectCount; $('.fvWorkspaceScrollArea .mainMenuBarScroll .projectsIconText').empty().append(projectsIconText); if(projectCount <= 1){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_project_icon').addClass(CONST_CSS_CLASS_HIDE_SESSION); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_project_icon').removeClass(CONST_CSS_CLASS_HIDE_SESSION); } showHideMainMenuIcon(); var defaultProject = getStoreData("wc_prj_key"); if(defaultProject != null && defaultProject != 'ALL_PROJECT'){ if(!defaultProject || !isExitInProjectList(response.projects, defaultProject)){ defaultProject = response.projects.defaultProject; storeData("wc_prj_key", defaultProject); } var projectForms = response.projectForm[defaultProject]; if(projectForms){ fvDBInfoNS.selectedProject = defaultProject; }else{ if(!response.projects || response.projects.count <= 0){ }else{ // get first project for (var key in response.projectForm) { if(key == 'count'){ continue; } projectForms = response.projectForm[key]; storeData("wc_prj_key", key); fvDBInfoNS.selectedProject = key; break } } } } var formsIconText = authNS.currentUser.mb_mmb_forms_icon_text; var formCount = 0; for(var key in response.projectForm){ if(key == 'count'){ continue; } if(!response.projects[key]){ continue; } var projectFormTmp = response.projectForm[key]; if(projectFormTmp && projectFormTmp.count){ formCount += parseInt(projectFormTmp.count); if(formCount == 1){ for(var formDeploykey in projectFormTmp){ if(formDeploykey == 'count'){ continue; } if(response.formDeploy && response.formDeploy[formDeploykey]){ authNS.defaultFormKey = response.formDeploy[formDeploykey].formKey; authNS.defaultProjectKey = key; break; } } } } } /* hqkhanh fix bug 0025473: Web App - Form index displays incorrectly count for all project if(projectForms && projectForms.count){ formCount = projectForms.count; }*/ if(formCount == undefined || formCount == ''){ formCount = 0; } authNS.currentUser.formsCount = formCount; formsIconText += '(' + formCount + ')'; $('.fvWorkspaceScrollArea .mainMenuBarScroll .formsIconText').empty().append(formsIconText); //Main menu graphic reloadMainMenuGraphic(response); //Main form list reloadMainFormList(response); //Main incomplete list reloadMainIncompleteFormList(response); //Main complete list reloadMainCompleteRecordsList(response); //Main sent list if(fvDBInfoNS.currentUser.assBackupSettingsShowBackupTab){ $('.mainIncompleteFormTab th.reviewSentTab').removeClass(CONST_CLASS_HIDE_CONTROL); reloadMainSentFormList(response); }else{ $('.mainIncompleteFormTab th.reviewSentTab').addClass(CONST_CLASS_HIDE_CONTROL); if($('.mainIncompleteFormTab th.reviewSentTab').hasClass('tab-selected')){ $('.mainIncompleteFormTab th.reviewCompletedTab').click(); } } //Main notices reloadNoticeList(response); //Main jobs list if(isShowJobsWebClient()){ reloadMainJobsList(response); updateFVDBDispatchRecall(); } //My infomation reloadMyInfomations(response); //retrieve info reloadSearchRetrieveInfo(response); checkForChanges(); if(getStoreData("fvActiveTab") && getStoreData("fvActiveTab") != ''){ fvActiveTab = getStoreData("fvActiveTab"); storeData("fvActiveTab", null); } if(fvActiveTab == 'incompleteFormTab'){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_review_icon').click(); }else if(fvActiveTab == 'jobsTab' && isShowJobsWebClient()){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_job_icon').click(); }else if(fvActiveTab == 'noticeTab'){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_notices_icon').click(); }else if(fvActiveTab == 'settingsTab' && isShowJobsWebClient()){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_settings_icon').click(); }else if(fvActiveTab == 'myInfomationTab'){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_myinformation_icon').click(); }else if(fvActiveTab == 'retrieveTab'){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_retrieve_icon').click(); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_forms_icon').click(); } if (hasNewIncompletedRecords) { updateReviewCount(); } if(response.currentUser && !authNS.accountVariables ){ authNS.accountVariables = response.currentUser.accountVariables; } var projectFormKey = jQuery.trim(getStoreData('projectFormKey')); var loadDefaultProjectForm = false; if(projectFormKey) { loadDefaultProjectForm = showForm(projectFormKey); storeData('projectFormKey', null); storeData('projectFormKey', null, {path: '/webclient'}); storeData('projectFormKey', null, {path: '/webclient/login'}); } if(loadDefaultProjectForm) { //do no thing } else if(isUserVariableSettingChanged(response)){ showUserVariableSetting(response); }else{ autoStartForm(); } check4HideMenuScrollBar(); } function showForm(projectFormKey) { var result = false; $.ajax({ url: '/formview/fvprojectform?fnId=getProjectFormInfo', dataType: 'json', type: 'POST', data: {projectFormKey: projectFormKey}, cache: false, async: false, complete: function() { }, success: function(response, status) { if(response) { if(1 != response.state) { jAler(msg_not_found_project_form_deleted); } else if(!response.projectFormActive) { jAler(msg_not_found_project_form_not_active); } else if(response.formKey && response.projectKey) { result = true; var formItem = $('.mainFormList .img[data=' + response.formKey + '][prjkey=' + response.projectKey + '] :first'); if(formItem && formItem.length > 0) { formItem.click(); } else { $('.formViewMain').addClass('openFormMode'); $('.FVBannerDisplay #formViewWS').addClass('openFormMode').css("top", ""); $('.FVBannerDisplay #fvmain_menu .liTitle').addClass('openFormMode'); fvOpenForm(response.formKey, response.projectKey); } } } }, error: function(request, status, error) { if(getStatus(request) == ERROR_CODE_NOT_FOUND){ alert(msg_not_found_project_form); } } }); return result; } var autoStartForm = function(){ if(authNS.isTheFirstTime != undefined && authNS.isTheFirstTime === false){ return; } authNS.isTheFirstTime = false; var isAutoSartForm = false; if(authNS.currentUser.isAutoStartFormInDefaultProject){ var formItems = $('.mainFormList .formItem'); if(formItems.length == 1){ isAutoSartForm = true; $(formItems[0]).find('.img').click(); } } if(!isAutoSartForm && authNS.currentUser.isAutoStartForm){ if(authNS.currentUser.formsCount == 1){ isAutoSartForm = true; fvOpenForm(authNS.defaultFormKey, authNS.defaultProjectKey); } } } var reviewTabText = ''; var reloadMainFormList = function(response){ // count all form var formCount = 0; for(var key in response.projectForm){ if(key == 'count'){ continue; } if(!response.projects[key]){ continue; } var projectFormTmp = response.projectForm[key]; if(projectFormTmp && projectFormTmp.count){ formCount += parseInt(projectFormTmp.count); } } /* hqkhanh fix bug 0025473: Web App - Form index displays incorrectly count for all project if(projectForms && projectForms.count){ formCount = projectForms.count; }*/ var formsIconText = authNS.currentUser.mb_mmb_forms_icon_text; if(formCount == undefined || formCount == ''){ formCount = 0; } authNS.currentUser.formsCount = formCount; formsIconText += '(' + formCount + ')'; $('.fvWorkspaceScrollArea .mainMenuBarScroll .formsIconText').empty().append(formsIconText); var mainFormList = $('.fvWorkspaceScrollArea .mainFormList').empty();//.addClass('make1Column'); if(isAppendMenuItemInFormViewFirst()){ appendMenuItemInFormView(); } if(authNS.currentUser && authNS.currentUser.assDisplayFornListApp){ switch(authNS.currentUser.assDisplayFornListApp){ case 'List': mainFormList.addClass('make1Column'); mainFormList.removeClass('make3Column'); break; case 'Frame': mainFormList.addClass('addFramesArroundIcon'); mainFormList.addClass('make3Column'); mainFormList.removeClass('make1Column'); break; default: mainFormList.addClass('make3Column'); mainFormList.removeClass('make1Column'); } }else{ mainFormList.addClass('make3Column'); mainFormList.removeClass('make1Column'); } if(authNS.currentUser && authNS.currentUser.mb_number_of_line_form_icon_text){ switch(authNS.currentUser.mb_number_of_line_form_icon_text){ case '1': mainFormList.addClass('max1LineOfText'); mainFormList.removeClass('max2LineOfText'); mainFormList.removeClass('max3LineOfText'); break; case '2': mainFormList.addClass('max2LineOfText'); mainFormList.removeClass('max1LineOfText'); mainFormList.removeClass('max3LineOfText'); break; default: mainFormList.addClass('max3LineOfText'); mainFormList.removeClass('max1LineOfText'); mainFormList.removeClass('max2LineOfText'); } }else{ mainFormList.addClass('max3LineOfText'); mainFormList.removeClass('max1LineOfText'); mainFormList.removeClass('max2LineOfText'); } function showProjectDivider(projectKey){ var project = response.projects[projectKey]; if(project){ var dividerItem = $('
'); dividerItem.find('.projectName').append(project.projectName); mainFormList.append(dividerItem); var $lastFormIconDevider = $('.formIconDevider').last(); $lastFormIconDevider.addClass(CONST_CSS_CLASS_HIDE_SESSION_IMP); } } function showFormOfProject(projectKey){ var projectForms = response.projectForm[projectKey]; if(!projectForms){ return; } var forms = response.forms; var formDeploys = response.formDeploy; //for(var index = 0; index < formCount; index++ ){ var displayOrderArr = []; for(var key in projectForms){ if(key == 'count'){ continue; } formDeployKey = key; var formDeploy = formDeploys[formDeployKey]; if(!formDeploy){ continue; } var formKey = formDeploy.formKey; var form = forms[formKey]; if(form){ var formIcon = form.formIcon; var formIconText = form.formIconText; var viewableName = form.viewableName; if(!viewableName) { viewableName = formIconText; } var customSeqNo = form.customSeqNo; if(customSeqNo == undefined){ customSeqNo = ''; } var displayItem = { key: key, viewableName: viewableName, customSeqNo: customSeqNo, formIconText: formIconText }; displayOrderArr.push(displayItem); } } displayOrderArr.sort(function(a, b){ var aValue = a.viewableName.toLowerCase(); var bValue = b.viewableName.toLowerCase(); var aCustomSeqNo = parseInt(a.customSeqNo); var bCustomSeqNo = parseInt(b.customSeqNo); var aFormIconText = a.formIconText.toLowerCase(); var bFormIconText = b.formIconText.toLowerCase(); if(isNaN(aCustomSeqNo) && isNaN(bCustomSeqNo)){ if(aFormIconText == bFormIconText){ return ((aValue < bValue) ? -1 : ((aValue > bValue) ? 1 : 0)); }else{ return ((aFormIconText < bFormIconText) ? -1 : ((aFormIconText > bFormIconText) ? 1 : 0)); } }else if(isNaN(aCustomSeqNo)){ // aValue > bValue return 1; }else if(isNaN(bCustomSeqNo)){ // aValue < bValue return -1; }else if(aCustomSeqNo == bCustomSeqNo){ if(aFormIconText == bFormIconText){ return ((aValue < bValue) ? -1 : ((aValue > bValue) ? 1 : 0)); }else{ return ((aFormIconText < bFormIconText) ? -1 : ((aFormIconText > bFormIconText) ? 1 : 0)); } }else{ return ((aCustomSeqNo < bCustomSeqNo) ? -1 : ((aCustomSeqNo > bCustomSeqNo) ? 1 : 0)); } }); for(var index = 0; index < displayOrderArr.length; index++){ var item = displayOrderArr[index]; var key = item.key; formDeployKey = key; var formItem = $('
'); var formDeploy = formDeploys[formDeployKey]; var formKey = formDeploy.formKey; var form = forms[formKey]; if(form){ var formIcon = form.formIcon; var formIconText = form.formIconText; var formIconColor = form.formIconColor; var tableStr = '' + '
' + '
' + '
' + '
' + '
' + '
'; var table = $(tableStr);//$('
'); var useCanvas = false; if(formIcon.indexOf('img/filib/transparent/') >= 0){ var formIconTmp = formIcon; if(!formIconTmp.startsWith('/')) { formIconTmp = '/' + formIconTmp; } useCanvas = setCanvasImage(formIconTmp, table.find('.img canvas')[0], undefined, formIconColor); } if(!useCanvas){ if(formIcon.indexOf('/')>=0){ table.find('.img').css('background-image', 'url("' + formIcon + '")'); }else{ table.find('.img').css('background-image', 'url("/imageViewer?blobKey=' + formIcon + '")'); } if(formIconColor != null){ table.find('.img').css('background-color', formIconColor); }else{ if(formIcon.indexOf('img/filib/ffffff/')>=0 || formIcon.indexOf('img/filib/transparent/')>=0){ table.find('.img').css('background-color', '#196792'); } } } table.find('.img').attr(CONST_DATA, formKey).attr('prjkey', projectKey); table.find('.formIconText').append(formIconText).attr(CONST_DATA, formKey).attr('prjkey', projectKey); formItem.append(table); mainFormList.append(formItem); mainFormList.append($('
')); } } if(mainFormList.hasClass('max3LineOfText')){ var iconWidth = 0; if(mainFormList.width() == 0){ iconWidth = $('.fvWorkspaceScrollArea .getStartedInfo').width() / (3*2); }else{ iconWidth = mainFormList.width() / (3*2); } if(iconWidth == 0){ iconWidth = $('.fvMainUserVariableSetup').width() / (3*2); } if(iconWidth < 120){ mainFormList.find('.img').css('width', iconWidth + 'px').css('min-height', iconWidth + 'px'); var newFontSizeScale = iconWidth / 120; var newFonrSize = 20 * newFontSizeScale; if(newFonrSize < 12){ newFonrSize = 12; } mainFormList.find('.formIconText').css('font-size', newFonrSize + 'px'); } } mainFormList.find('.img, .formIconText').off().click(function(event){ if($(this).parents('.formItem.menuFormItem').length > 0){ return; } var formKey = $(this).attr(CONST_DATA); var projectKey = $(this).attr('prjkey'); $.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) { reviewTabText = $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').text(); $('.formViewMain').addClass('openFormMode'); $('.FVBannerDisplay #formViewWS').addClass('openFormMode').css("top", ""); $('.FVBannerDisplay #fvmain_menu .liTitle').addClass('openFormMode'); fvOpenForm(formKey, projectKey); }, error: function(request, status, error) { if(getStatus(request) == ERROR_CODE_MOBILE_UNIT_LOCKED){ alert(err_mobile_locked); }else{ alert(lbl_wc_could_not_login); } } }); }); } var defaultProject = getStoreData("wc_prj_key"); var formsTitleText = 'Select a form'; if(authNS.currentUser.mb_selection_text && authNS.currentUser.mb_selection_text != ''){ formsTitleText = authNS.currentUser.mb_selection_text; } if(defaultProject != null && defaultProject != 'ALL_PROJECT'){ //$('.fvWorkspaceScrollArea .mainMenuGraphic .mmbSelectProjectLabel').empty().append(response.projects[defaultProject]['projectName'] + ' > ' + formsTitleText); $('.fvWorkspaceScrollArea .formTab .mmbSelectProjectLabel').empty().append(response.projects[defaultProject]['projectName'] + ' > ' + formsTitleText); if(!defaultProject || !isExitInProjectList(response.projects, defaultProject)){ defaultProject = response.projects.defaultProject; storeData("wc_prj_key", defaultProject); } if(response.projectForm[defaultProject]){ fvDBInfoNS.selectedProject = defaultProject; showFormOfProject(defaultProject); }else{ if(!response.projects || response.projects.count <= 0){ }else{ // get first project for (var key in response.projectForm) { storeData("wc_prj_key", key); fvDBInfoNS.selectedProject = key; showFormOfProject(key); break; } } } }else{ //$('.fvWorkspaceScrollArea .mainMenuGraphic .mmbSelectProjectLabel').empty().append(formsTitleText); $('.fvWorkspaceScrollArea .formTab .mmbSelectProjectLabel').empty().append(formsTitleText); var projects = getProjectSortList(response.projects); for (var i=0;i'); var formKey = projectFormData.formKey; //var incompleteFormKey = projectFormData.incompleteFormKey; var viewableName = projectFormData.viewableName; var incompleteStatus = projectFormData.incompleteStatus; if(!incompleteStatus){ incompleteStatus = ''; } formItem.attr('data-filter', incompleteStatus); var savedDate = ''; var saveTimeLong = 0; try{ saveTimeLong = (new Date(projectFormData.savedDate)).getTime(); }catch(ex){ saveTimeLong = 0; } formItem.attr('data-time', saveTimeLong); if(projectFormData.savedDate && projectFormData.savedDate != ''){ var savedDateUTC = new Date(projectFormData.savedDate); savedDateUTC = savedDateUTC.getTime(); var wa_timezone = (new Date()).getTimezoneOffset() * 60 * 1000; savedDateUTC -= wa_timezone; savedDateUTC = new Date(savedDateUTC); var dateSimpleDateFormat = new SimpleDateFormat("EEE, MMM dd, yyyy hh:mm"); savedDate = 'Saved on ' + dateSimpleDateFormat.format(savedDateUTC); } 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); mainIncompleteFormList.append(formItem); mainIncompleteFormList.append($('
')); count ++; } } $('.mainIncompleteFormTab th.reviewIncompleteTab').empty().append('Incomplete (' + count + ')'); $('.fvWorkspaceScrollArea .menuFormItem.mb_mmb_review_icon-Incomplete .formIconText').empty().append('Incomplete (' + count + ')'); var incompleteFormsIconText = authNS.currentUser.mb_mmb_review_icon_text; if(count == undefined || count == ''){ count = 0; } authNS.currentUser.incompleteFormsCount = count; incompleteFormsIconText += '(' + count + ')'; $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').empty().append(incompleteFormsIconText); $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').attr(CONST_DATA, count); }else{ var incompleteFormsIconText = authNS.currentUser.mb_mmb_review_icon_text; incompleteFormsIconText += '(0)'; $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').empty().append(incompleteFormsIconText); $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').attr(CONST_DATA, 0); } incompleteFormSort(); var mainFormListSort = function(){ var tabSelected = $('.mainIncompleteFormTab .tab-selected').attr(CONST_DATA); switch(tabSelected){ case 'reviewSentTab': fvDBInfoNS.settings.behaviorPreviewSentSortDesc = !fvDBInfoNS.settings.behaviorPreviewSentSortDesc; sentFormSort(); break; case 'reviewCompletedTab': fvDBInfoNS.settings.behaviorPreviewCompleteSortDesc = !fvDBInfoNS.settings.behaviorPreviewCompleteSortDesc; completeRecordsSort(); break; default: fvDBInfoNS.settings.behaviorPreviewSortDesc = !fvDBInfoNS.settings.behaviorPreviewSortDesc; incompleteFormSort(); } } $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnIncompleteFormDelete').off().click(function(event){ var selectedItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList input.chkItem:checked'); if(selectedItems.length > 0){ var msg = msg_delete_records.replace('$1', selectedItems.length); jConfirm(msg,'Alert',function(result, data){ if(!result) return false; var deleteIncompleteItems = []; _.each(selectedItems, function(item){ var incompleteFormItem = $($(item).parents('.incompleteFormItem ')[0]); var incompleteFormRecordKey = incompleteFormItem.attr(CONST_DATA); deleteIncompleteItems.push(incompleteFormRecordKey); }); waitForDataLoading(true); $.ajax({ url: '/formview/FVCompleteFormRecordServlet?kind=DEL_INCOMPLETE_RECORDS', dataType: 'json', type: 'POST', data: JSON.stringify({ kind: 'DEL_INCOMPLETE_RECORDS', mobileKey: authNS.currentUser.MobileKey, deleteIncompleteItems: deleteIncompleteItems}), cache: false, async: false, complete: function() { }, success: function(response, status) { waitForDataLoading(false); updateFVDBInfoForIncomple(true); }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ jAlert(msg_read_permission_required); }else{ jAlert(msg_error_try); } } }); }); } }); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnIncompleteFormSort').off().click(function(event){ mainFormListSort(); }); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnCompleteFormSort').off().click(function(event){ mainFormListSort(); }); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormActionSession input.btnSentFormSort').off().click(function(event){ mainFormListSort(); }); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormActionSession input.btnIncompleteFormSelectAll').off().click(function(event){ if(this.value == 'Select all'){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList .rowActive input.chkItem').prop('checked', true); this.value = 'Deselect all'; }else{ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainIncompleteFormList .rowActive input.chkItem').prop('checked', false); this.value = 'Select all'; } }); $('.fvWorkspaceScrollArea .mainIncompleteFormList').attr(CONST_SUBMIT_ALL_ID, ''); initBulkSignatureButton(); initSubmitAllButton(); } var reloadMainCompleteRecordsList = function(response){ var mobileKey = authNS.currentUser.MobileKey; if(!fvDBInfoNS.completeRecords){ fvDBInfoNS.completeRecords = []; fvDBInfoNS.completeRecords[mobileKey] = {}; } var completeData = fvDBInfoNS.completeRecords[mobileKey]; if(!completeData){ mobileKey = authNS.currentUser.MobileKeyNew; completeData = fvDBInfoNS.completeRecords[mobileKey]; } if(completeData){ var count = 0; var mainCompleteFormList = $('.fvWorkspaceScrollArea .mainCompleteFormList').empty();//.addClass('make1Column'); for(var projectKey in completeData){ if(projectKey == 'count'){ continue; } var projectFormDatas = completeData[projectKey]; //count += parseInt(projectFormDatas.count); if(fvDBInfoNS.deleteCompleteFormKey){ if(projectFormDatas[fvDBInfoNS.deleteCompleteFormKey]){ delete projectFormDatas[fvDBInfoNS.deleteIncompleteFormKey]; fvDBInfoNS.deleteIncompleteFormKey = undefined; } } for(var completeFormKey in projectFormDatas){ if(completeFormKey == 'count'){ continue; } var projectFormData = projectFormDatas[completeFormKey]; var formItem = $('
'); var formKey = projectFormData.formKey; var viewableName = projectFormData.viewableName; var completeStatus = projectFormData.completeStatus; if(!completeStatus){ completeStatus = ''; } formItem.attr('data-filter', completeStatus); var savedDate = ''; var saveTimeLong = 0; try{ saveTimeLong = (new Date(projectFormData.savedDate)).getTime(); }catch(ex){ saveTimeLong = 0; } var completeFormDataKey = projectFormData.completeFormDataKey; formItem.attr('data-time', saveTimeLong); if(projectFormData.savedDate && projectFormData.savedDate != ''){ var savedDateUTC = new Date(projectFormData.savedDate); savedDateUTC = savedDateUTC.getTime(); var wa_timezone = (new Date()).getTimezoneOffset() * 60 * 1000; savedDateUTC -= wa_timezone; savedDateUTC = new Date(savedDateUTC); var dateSimpleDateFormat = new SimpleDateFormat("EEE, MMM dd, yyyy hh:mm"); savedDate = 'Saved on ' + dateSimpleDateFormat.format(savedDateUTC); } var formItemStr = '' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + ' ' + '
'; var tmp = $(formItemStr); tmp.find('.formIconText').append(viewableName); tmp.find('.formIconTextHint').append(savedDate); formItem.append(tmp).attr(CONST_DATA, completeFormDataKey).attr('data-1', completeFormKey).attr(CONST_DATA_PRJ, projectKey).attr(CONST_DATA_FRM, formKey); mainCompleteFormList.append(formItem); mainCompleteFormList.append($('
')); count ++; } } $('.mainIncompleteFormTab th.reviewCompletedTab').empty().append('Completed (' + count + ')'); $('.fvWorkspaceScrollArea .menuFormItem.mb_mmb_review_icon-Complete .formIconText').empty().append('Completed (' + count + ')'); var incompleteCount = $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').attr(CONST_DATA); if(incompleteCount){ try{ count += parseInt(incompleteCount); }catch(ex){ } } var completedFormsIconText = authNS.currentUser.mb_mmb_review_icon_text; if(count == undefined || count == ''){ count = 0; } authNS.currentUser.completedFormsCount = count; completedFormsIconText += '(' + count + ')'; $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').attr(CONST_DATA, count).empty().append(completedFormsIconText); completeRecordsSort(); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnCompleteFormSelectAll').off().click(function(event){ if(this.value == 'Select all'){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList input.chkItem').prop('checked', true); this.value = 'Deselect all'; }else{ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList input.chkItem').prop('checked', false); this.value = 'Select all'; } }); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnCompleteFormDelete').off().click(function(event){ var selectedItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList input.chkItem:checked'); if(selectedItems.length > 0){ var msg = msg_delete_records.replace('$1', selectedItems.length); jConfirm(msg,'Alert',function(result, data){ if(!result) return false; var deleteItems = []; var deleteIncompleteItems = []; _.each(selectedItems, function(item){ var completeFormItem = $($(item).parents('.completeFormItem')[0]); var completeFormDataKey = completeFormItem.attr('data-1'); var incompleteFormRecordKey = completeFormItem.attr(CONST_DATA); deleteItems.push(completeFormDataKey); deleteIncompleteItems.push(incompleteFormRecordKey); }); waitForDataLoading(true); $.ajax({ url: '/formview/FVCompleteFormRecordServlet?kind=DEL_COMPLETE_RECORDS', dataType: 'json', type: 'POST', data: JSON.stringify({ kind: 'DEL_COMPLETE_RECORDS', mobileKey: authNS.currentUser.MobileKey, deleteItems: deleteItems, deleteIncompleteItems: deleteIncompleteItems}), cache: false, async: false, complete: function() { }, success: function(response, status) { waitForDataLoading(false); updateFVDBInfoForComplete(true); }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ jAlert(msg_read_permission_required); }else{ jAlert(msg_error_try); } } }); }); } }); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormActionSession input.btnCompleteFormSent').off().click(function(event){ var selectedItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainCompleteFormList input.chkItem:checked'); if(selectedItems.length > 0){ /*var msg = msg_sent_records.replace('$1', selectedItems.length); jConfirm(msg,'Alert',function(result, data){ if(!result) return false;*/ 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 } sentItems.push(itemData); }); waitForDataLoading(true); $.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) { waitForDataLoading(false); updateFVDBInfoForComplete(true); updateFVDBInfoForSent(true); }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ jAlert(msg_read_permission_required); }else{ jAlert(msg_error_try); } } }); //}); } }); }else{ $('.fvWorkspaceScrollArea .mainCompleteFormList').empty(); $('.mainIncompleteFormTab th.reviewCompletedTab').empty().append('Completed (0)'); } $('.fvWorkspaceScrollArea .mainCompleteFormList').attr(CONST_SUBMIT_ALL_ID, ''); } var reloadMainSentFormList = function(response){ sentPurgeSchedule(response); 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; } } for(var sentFormKey in projectFormDatas){ if(sentFormKey == 'count'){ continue; } var projectFormData = projectFormDatas[sentFormKey]; var formItem = $('
'); var formKey = projectFormData.formKey; //var sentFormKey = projectFormData.sentFormKey; var viewableName = projectFormData.viewableName; var savedDate = ''; var saveTimeLong = 0; try{ saveTimeLong = (new Date(projectFormData.savedDate)).getTime(); }catch(ex){ saveTimeLong = 0; } formItem.attr('data-time', saveTimeLong); if(projectFormData.savedDate && projectFormData.savedDate != ''){ var savedDateUTC = new Date(projectFormData.savedDate); savedDateUTC = savedDateUTC.getTime(); var wa_timezone = (new Date()).getTimezoneOffset() * 60 * 1000; savedDateUTC -= wa_timezone; savedDateUTC = new Date(savedDateUTC); var dateSimpleDateFormat = new SimpleDateFormat("EEE, MMM dd, yyyy hh:mm"); savedDate = 'Saved on ' + dateSimpleDateFormat.format(savedDateUTC); } var formItemStr = '' + '
' + '
' + '
' + '
' + '
' + '
' + '
' + ' ' + '
'; var tmp = $(formItemStr); tmp.find('.formIconText').append(viewableName); tmp.find('.formIconTextHint').append(savedDate); formItem.append(tmp).attr(CONST_DATA, sentFormKey).attr(CONST_DATA_PRJ, projectKey).attr(CONST_DATA_FRM, formKey); mainSentFormList.append(formItem); mainSentFormList.append($('
')); count ++; } } $('.mainIncompleteFormTab th.reviewSentTab').empty().append('Sent (' + count + ')'); $('.fvWorkspaceScrollArea .menuFormItem.mb_mmb_review_icon-Sent .formIconText').empty().append('Sent (' + count + ')'); var incompleteCount = $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').attr(CONST_DATA); if(incompleteCount){ try{ count += parseInt(incompleteCount); }catch(ex){ } } var sentFormsIconText = authNS.currentUser.mb_mmb_review_icon_text; if(count == undefined || count == ''){ count = 0; } authNS.currentUser.sentFormsCount = count; sentFormsIconText += '(' + count + ')'; $('.fvWorkspaceScrollArea .mainMenuBarScroll .reviewIconText').empty().append(sentFormsIconText); var selectedItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormList input.chkItem:checked'); if(selectedItems.length == 0){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormActionSession input.btnSentFormSelectAll').val('Select all'); } sentFormSort(); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormActionSession input.btnSentFormSelectAll').off().click(function(event){ if(this.value == 'Select all'){ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormList input.chkItem').prop('checked', true); this.value = 'Deselect all'; }else{ $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormList input.chkItem').prop('checked', false); this.value = 'Select all'; } }); $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormActionSession input.btnSentFormDelete').off().click(function(event){ var selectedItems = $('.fvWorkspaceScrollArea .getStartedInfo .incompleteFormTab .mainSentFormList input.chkItem:checked'); if(selectedItems.length > 0){ var msg = msg_delete_records.replace('$1', selectedItems.length); jConfirm(msg,'Alert',function(result, data){ if(!result) return false; var deleteItems = []; _.each(selectedItems, function(item){ var sentFormItem = $($(item).parents('.sentFormItem')[0]); var sentFormDataKey = sentFormItem.attr(CONST_DATA); deleteItems.push(sentFormDataKey); }); 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); updateFVDBInfoForSent(true); }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ jAlert(msg_read_permission_required); }else{ jAlert(msg_error_try); } } }); }); } }); }else{ $('.mainIncompleteFormTab th.reviewSentTab').empty().append('Sent (0)'); $('.fvWorkspaceScrollArea .mainSentFormList').empty(); } } var removeJobsItem = function(recordKey){ try { //var lstRejected = $('.fvWorkspaceScrollArea .mainJobsList input:checkbox:checked'); if(fvDBInfoNS.jobs[authNS.currentUser.MobileKey] != undefined && fvDBInfoNS.jobs[authNS.currentUser.MobileKey][fvDataNS.inputData.attrs.projectid] != undefined){ var jobsItem = fvDBInfoNS.jobs[authNS.currentUser.MobileKey][fvDataNS.inputData.attrs.projectid]; if(jobsItem[recordKey] != undefined){ delete jobsItem[recordKey]; jobsItem.count -= 1; } /*_.each(lstRejected, function(item){ if(jobsItem[$(item).attr('id')] != undefined){ delete jobsItem[$(item).attr('id')]; jobsItem.count -= 1; } });*/ } } catch (e) { } }; var addProjectJobItem = function(scroll_contain, projectKey, projectName){ if(!expandJobList){ expandJobList = {}; } var item = $('
'); item.find('.project-item-text .projectName').empty().append(projectName); item.attr(CONST_DATA, projectKey); scroll_contain.append(item); if(expandJobList && expandJobList[projectKey] == 'collapse'){ item.removeClass('expand'); item.find('.project-item-text .mark').empty().append('+'); } item.find('.project-item-text').off().click(function(){ if(item.hasClass('expand')){ expandJobList[projectKey] = 'collapse'; item.removeClass('expand') item.find('.project-item-text .mark').empty().append('+'); }else{ expandJobList[projectKey] = 'expand'; item.addClass('expand') item.find('.project-item-text .mark').empty().append('-'); } }); } var isAgendaRecord = function(projectFormData){ if(projectFormData.startTime && projectFormData.startTime != ''){ return true; } return false; } var agendaDateArray = []; var appendAgendaJobsList = function(projectFormData){ if(!expandAgendaJobList){ expandAgendaJobList = {}; } var createDate = ''; if(projectFormData.startTime && projectFormData.startTime != ''){ createDate = projectFormData.startTime; }else{ //createDate = projectFormData.createDate; return; } if(createDate && createDate != ''){ var createDateObj = moment(new Date(createDate + 'Z')); var dateId = createDateObj.format("yyyyMMDD"); var dateSort = createDateObj.format("yyyyMMDDHHmm"); var agendaItem; var agendaJobsList = $('.fvWorkspaceScrollArea .agendaJobsList'); var agendaName = createDateObj.format('dddd MMM DD, yyyy'); var agendaTime; agendaTime = createDateObj.format('hh:mm A'); if(projectFormData.endTime){ var endTime = moment(new Date(projectFormData.endTime + 'Z')); if(dateId=0){ agendaItem = agendaJobsList.find('.agenda-item[data="' + dateId + '"]'); }else{ var idx = 0; while(idx
'); agendaItem.find('.agenda-item-text .agendaName').empty().append(agendaName); if(idx == 0){ agendaJobsList.prepend(agendaItem); }else if(idx >= agendaDateArray.length){ agendaJobsList.append(agendaItem); }else{ agendaJobsList.find('.agenda-item[data="' + agendaDateArray[idx-1] + '"]').after(agendaItem); } agendaDateArray.splice(idx, 0, dateId); if(expandAgendaJobList && expandAgendaJobList[dateId] == 'collapse'){ agendaItem.removeClass('expand'); agendaItem.find('.agenda-item-text .mark').empty().append('+'); } agendaItem.find('.agenda-item-text').off().click(function(){ if(agendaItem.hasClass('expand')){ expandAgendaJobList[dateId] = 'collapse'; agendaItem.removeClass('expand') agendaItem.find('.agenda-item-text .mark').empty().append('+'); }else{ expandAgendaJobList[dateId] = 'expand'; agendaItem.addClass('expand') agendaItem.find('.agenda-item-text .mark').empty().append('-'); } }); } var agendaItemList = agendaItem.find('.agendaItemList'); var formItem = $('
'); formItem.attr('data-sort', dateSort); var recordKey = projectFormData.id; var formKey = projectFormData.formKey; var projectId = projectFormData.projectId; var viewableName = projectFormData.viewableName; var fwStatus = projectFormData.Status; var formItemStr = '' + '
' + '
' + '
' + '
' + '
' + '
'; var tmp = $(formItemStr); tmp.find('.formIconText').append(viewableName); tmp.find('.formIconTextHint').append(agendaTime); formItem.append(tmp).attr(CONST_DATA, recordKey).attr(CONST_DATA_PRJ, projectId).attr(CONST_DATA_FRM, formKey); if(fwStatus == CONST_FW_STATUS){ formItem.attr(CONST_DATA_FW_STATUS, fwStatus); } var itemNew = $('
'); itemNew.find('.chkItem').attr('id', recordKey) .attr(CONST_DATA_PRJ, projectId) .attr(CONST_DATA_FRM, formKey); itemNew.append(formItem); var items = agendaItemList.find('.jobsItem'); if(items.length>0){ var itemSelect = null; _.each(items, function(item, index){ var itemDateSort = $(item).attr('data-sort'); if(itemDateSort')); agendaItemList.prepend(itemNew); }else{ itemNew.insertAfter(itemSelect); $('
').insertAfter(itemSelect); } }else{ agendaItemList.append(itemNew); agendaItemList.append($('
')); } }else{ return; } } var calendarDateArray = {}; var renderCalendarDate = (new Date()).setDate(1); var appendCalendarJobsList = function(projectFormData){ var createDate = ''; if(projectFormData.startTime && projectFormData.startTime != ''){ createDate = projectFormData.startTime; }else{ //createDate = projectFormData.createDate; return; } if(createDate && createDate != ''){ var createDateObj = moment(new Date(createDate + 'Z')); var dateId = createDateObj.format("yyyyMMDD"); if(calendarDateArray[dateId]){ calendarDateArray[dateId].value++; calendarDateArray[dateId].items.push(projectFormData); }else{ calendarDateArray[dateId] = {value: 1, items: []}; calendarDateArray[dateId].items.push(projectFormData); } } } var renderCalendarAddMonth = function(months){ var curDate = new Date(renderCalendarDate); renderCalendarDate = curDate.setMonth(curDate.getMonth() + months); renderCalendarJobsList(); } var renderCalendarJobsList = function(){ if(!renderCalendarDate){ renderCalendarDate = (new Date()).setDate(1); } var curDate = new Date(renderCalendarDate); var renderCalendarMonth = moment(renderCalendarDate).format("MMMM yyyy"); var calendarJobsList = $('.fvWorkspaceScrollArea .calendarJobsList'); var calendarItem = $('
' + '' + ' ' + ' ' + ' ' + ' ' + ' ' + ' ' + ' ' + ' ' + ' ' + ' ' + ' ' + '
SUNMONTUEWEDTHUFRISAT
' + '
'); calendarItem.find('.calendar-item-text .calendarName').empty().append(renderCalendarMonth); var startDay = curDate.getDay(); //Sunday - Saturday : 0 - 6 var dayOfLastMonth = new Date((new Date(curDate)).setDate(1-startDay)); var index = 0; var rowTemplate = ' ' + ' ' + ' ' + ' ' + ' ' + ' ' + ' ' + ' ' + ' '; var cellTemplate = '
 
'; var checkStop = false; var stop = false; var currentDate = moment(new Date()).format('yyyyMMDD'); while(checkStop == false || stop == false){ if(dayOfLastMonth.getMonth() == curDate.getMonth()){ checkStop = true; } var row = $(rowTemplate).clone(); for(var i=0; i<7; i++){ var cellId = moment(dayOfLastMonth).format('yyyyMMDD'); var cell = $(cellTemplate).clone(); var dateDisp = dayOfLastMonth.getDate(); cell.attr('id', cellId); cell.find('.day').empty().append(dateDisp); if(calendarDateArray[cellId]){ cell.addClass('has-jobs'); cell.find('.count span').empty().append(calendarDateArray[cellId].value); } row.find('.col-' + i).empty().append(cell); if(checkStop && !stop){ cell.addClass('selectedMonth'); } if(currentDate == cellId){ cell.addClass('current-date'); } dayOfLastMonth = new Date(dayOfLastMonth.setDate(dayOfLastMonth.getDate() + 1)); if(checkStop && dateDisp>dayOfLastMonth.getDate()){ stop = true; } if(dayOfLastMonth.getMonth() == curDate.getMonth()){ checkStop = true; } } calendarItem.find('tbody').append(row); } calendarJobsList.find('.month-view').empty().append(calendarItem); calendarItem.find('.prevMonth').off().click(function(){ renderCalendarAddMonth(-1); }); calendarItem.find('.nextMonth').off().click(function(){ renderCalendarAddMonth(1); }); calendarItem.find('.calendar-cell').off().click(function(){ //$('.fvWorkspaceScrollArea .jobsTab').addClass('show-detail'); var cellId = $(this).attr('id'); var agendarExpandList = $('.fvWorkspaceScrollArea .agendaJobsList .agenda-item.expand'); var hasSelectedItem = false; _.each(agendarExpandList, function(agendarExpandItem, index){ var itemId = $(agendarExpandItem).attr('data'); if(itemId != cellId){ expandAgendaJobList[itemId] = 'collapse'; $(agendarExpandItem).removeClass('expand') $(agendarExpandItem).find('.agenda-item-text .mark').empty().append('+'); }else{ expandAgendaJobList[itemId] = 'expand'; $(agendarExpandItem).addClass('expand') $(agendarExpandItem).find('.agenda-item-text .mark').empty().append('-'); hasSelectedItem = true; } }); if(!hasSelectedItem){ var selectedItem = $('.fvWorkspaceScrollArea .agendaJobsList .agenda-item[data="' + cellId + '"]'); expandAgendaJobList[cellId] = 'expand'; selectedItem.addClass('expand') selectedItem.find('.agenda-item-text .mark').empty().append('-'); } $('.fvWorkspaceScrollArea .jobsTab table th.agendaJobsTab').trigger('click', cellId); }); $('.fvWorkspaceScrollArea .jobsTab .calendarJobsListButton .detail-view .back').off().click(function(){ $('.fvWorkspaceScrollArea .jobsTab').removeClass('show-detail'); }); $('.fvWorkspaceScrollArea .jobsTab .agendaJobsListButton .detail-view input.reject').off().click(function(event){ waitForDataLoading(true); var arrRejected = []; var lstRejected = $('.fvWorkspaceScrollArea .calendarJobsList input:checkbox:checked'); _.each(lstRejected, function(item){ arrRejected.push({ 'id':$(item).attr('id') ,'prj':$(item).attr(CONST_DATA_PRJ) ,'odk':$(item).attr(CONST_DATA_FRM)}); }); rejectDispatchJobItem(arrRejected); }); } var bindAction4MainJobsList = function(){ var mainJobsList = $('.fvWorkspaceScrollArea .mainJobsList'); if(mainJobsList.find('.jobsItem').length > 0){ $('.fvWorkspaceScrollArea .mainJobsListButton').removeClass(CONST_CSS_NO_ITEM_FOUND); mainJobsList.find('.jobsItem').off().click(function(event){ var jobsDataKey = $(this).attr(CONST_DATA); var projectKey = $(this).attr(CONST_DATA_PRJ); var formKey = $(this).attr(CONST_DATA_FRM); var fwStatus = $(this).attr(CONST_DATA_FW_STATUS); $.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'); fvOpenDispatchRecord(jobsDataKey, formKey, projectKey, fwStatus); }, error: function(request, status, error) { if(getStatus(request) == ERROR_CODE_MOBILE_UNIT_LOCKED){ alert(err_mobile_locked); }else{ alert(lbl_wc_could_not_login); } } }); }); mainJobsList.find('.chkItem').off().click(function(event){ checkMainJobsButtonReject(); }); checkMainJobsButtonReject(); } else{ var msg = $('
'); msg.append(msg_no_item_found); mainJobsList.append(msg); $('.fvWorkspaceScrollArea .mainJobsListButton').addClass(CONST_CSS_NO_ITEM_FOUND); } } var bindAction4AgendaJobsList = function(){ var agendaJobsList = $('.fvWorkspaceScrollArea .agendaJobsList'); if(agendaJobsList.find('.jobsItem').length > 0){ $('.fvWorkspaceScrollArea .agendaJobsListButton').removeClass(CONST_CSS_NO_ITEM_FOUND); agendaJobsList.find('.jobsItem').off().click(function(event){ var jobsDataKey = $(this).attr(CONST_DATA); var projectKey = $(this).attr(CONST_DATA_PRJ); var formKey = $(this).attr(CONST_DATA_FRM); var fwStatus = $(this).attr(CONST_DATA_FW_STATUS); $.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'); fvOpenDispatchRecord(jobsDataKey, formKey, projectKey, fwStatus); }, error: function(request, status, error) { if(getStatus(request) == ERROR_CODE_MOBILE_UNIT_LOCKED){ alert(err_mobile_locked); }else{ alert(lbl_wc_could_not_login); } } }); }); agendaJobsList.find('.chkItem').off().click(function(event){ checkAgendaJobsButtonReject(); }); checkAgendaJobsButtonReject(); } else{ var msg = $('
'); msg.append(msg_no_item_found); agendaJobsList.append(msg); $('.fvWorkspaceScrollArea .agendaJobsListButton').addClass(CONST_CSS_NO_ITEM_FOUND); } } var bindAction4CalendaJobsList = function(){ var calendaJobsList = $('.fvWorkspaceScrollArea .calendaJobsList'); } var reloadMainJobsList = function(response){ var isDispatchPlus = false; if(authNS.currentUser.dispatch_plus){ isDispatchPlus = true; $('.fvWorkspaceScrollArea .jobsTab').addClass('support-dispatch-plus'); }else{ $('.fvWorkspaceScrollArea .jobsTab').removeClass('support-dispatch-plus'); } var mainJobsList = $('.fvWorkspaceScrollArea .mainJobsList').empty(); $('.fvWorkspaceScrollArea .agendaJobsList').empty(); $('.fvWorkspaceScrollArea .calendarJobsList .month-view').empty(); $('.fvWorkspaceScrollArea .calendarJobsList .detail-view').empty(); $('.fvWorkspaceScrollArea .jobsTab').removeClass('show-detail'); agendaDateArray = []; calendarDateArray = {}; if(authNS.currentUser.assDisplayFornListJobsByProject){ var projectsTmp = getProjectSortList(fvDBInfoNS.projects); for (var i=0;i createDate(Dsc) try { arrJobsItem.sort(function(a, b) { var aVal = a['viewableName'].toLowerCase(); var bVal = b['viewableName'].toLowerCase(); if (aVal == bVal) { var date1 = (new Date(a['createDate'])).getTime(); var date2 = (new Date(b['createDate'])).getTime(); if (date1 == date2) { return 0; // if they are equal, return 0 (no sorting) } else if (date1 < date2) { return 1; } else { return -1; } } else if (aVal > bVal) { return 1; // if a should come after b, return 1 } else { return -1; // if b should come after a, return -1 } }); } catch (e) { } $('.fvWorkspaceScrollArea .mainJobsList').removeClass('hasAgendaItem'); // === generate jobs html _.each(arrJobsItem, function(projectFormData, index){ var formItem = $('
'); var recordKey = projectFormData.id; var formKey = projectFormData.formKey; var projectId = projectFormData.projectId; var viewableName = projectFormData.viewableName; var fwStatus = projectFormData.Status; var createDate = ''; if(projectFormData.createDate && projectFormData.createDate != ''){ createDate = 'Added on ' + projectFormData.createDate; } var formItemStr = '' + '
' + '
' + '
' + '
' + '
' + '
'; var tmp = $(formItemStr); tmp.find('.formIconText').append(viewableName); tmp.find('.formIconTextHint').append(createDate); formItem.append(tmp).attr(CONST_DATA, recordKey).attr(CONST_DATA_PRJ, projectId).attr(CONST_DATA_FRM, formKey); if(fwStatus == CONST_FW_STATUS){ formItem.attr(CONST_DATA_FW_STATUS, fwStatus); } var itemNew = $('
'); itemNew.find('.chkItem').attr('id', recordKey) .attr(CONST_DATA_PRJ, projectId) .attr(CONST_DATA_FRM, formKey); if(isAgendaRecord(projectFormData)){ $('.fvWorkspaceScrollArea .mainJobsList').addClass('hasAgendaItem'); itemNew.prepend(''); setCanvasImage('/img/filib/transparent/btn_091.png', itemNew.find('canvas')[0], undefined, 'black'); } itemNew.append(formItem); if(authNS.currentUser.assDisplayFornListJobsByProject){ mainJobsList.find('[data="' + projectId + '"]').removeClass('isEmptyProjectJob'); var projectJobList = mainJobsList.find('[data="' + projectId + '"] .projectJobList'); projectJobList.append(itemNew); projectJobList.append($('
')); }else{ mainJobsList.append(itemNew); mainJobsList.append($('
')); } if(isDispatchPlus){ appendAgendaJobsList(projectFormData); appendCalendarJobsList(projectFormData); } count ++; }); if(isDispatchPlus){ renderCalendarJobsList(); } var jobsIconText = authNS.currentUser.mb_mmb_job_icon_text; if(count == undefined || count == ''){ count = 0; } authNS.currentUser.jobsCount = count; jobsIconText += '(' + count + ')'; $('.fvWorkspaceScrollArea .mainMenuBarScroll .jobsIconText').empty().append(jobsIconText); $('.fvWorkspaceScrollArea .menuFormItem.mb_mmb_job_icon .formIconText').empty().append(jobsIconText); bindAction4MainJobsList(); if(isDispatchPlus){ bindAction4AgendaJobsList(); bindAction4CalendaJobsList(); } } } var checkMainJobsButtonReject = function(){ var lstRejected = $('.fvWorkspaceScrollArea .mainJobsList input:checkbox:checked'); if(lstRejected.length > 0){ $('.fvWorkspaceScrollArea .mainJobsListButton').find(':input').prop('disabled', false); //removeClass(CONST_CSS_CLASS_HIDE_SESSION); } else{ $('.fvWorkspaceScrollArea .mainJobsListButton').find(':input').prop('disabled', 'disabled'); } }; var checkAgendaJobsButtonReject = function(){ var lstRejected = $('.fvWorkspaceScrollArea .agendaJobsList input:checkbox:checked'); if(lstRejected.length > 0){ $('.fvWorkspaceScrollArea .agendaJobsListButton').find(':input').prop('disabled', false); } else{ $('.fvWorkspaceScrollArea .agendaJobsListButton').find(':input').prop('disabled', 'disabled'); } }; var checkCalendarJobsButtonReject = function(){ var lstRejected = $('.fvWorkspaceScrollArea .calendarJobsList input:checkbox:checked'); if(lstRejected.length > 0){ $('.fvWorkspaceScrollArea .calendarJobsListButton .detail-view input.reject').prop('disabled', false); } else{ $('.fvWorkspaceScrollArea .calendarJobsListButton .detail-view input.reject').prop('disabled', 'disabled'); } }; var reloadNoticeList = function(response){ var mobileKey = authNS.currentUser.MobileKey; var noticesData = fvDBInfoNS.notices; if(!noticesData){ mobileKey = authNS.currentUser.MobileKeyNew; noticesData = fvDBInfoNS.notices; } if(noticesData){ var count = 0; var mainNoticeList = $('.fvWorkspaceScrollArea .mainNoticeList').empty(); var isShowMainNoticeSession = false; var dismissNoticeList = response.dismissNoticeList; var d = new Date(); var currentDate = d.format('yyyymmddHHMMss'); var displayOrderArr = []; for(var key in noticesData){ if(key == 'count'){ continue; } if(dismissNoticeList[key]){ continue; } var notice = noticesData[key]; var noticeOrder = notice.noticeOrder; var expired = notice.expired; if(expired < currentDate){ continue; } var displayItem = { key: key, noticeOrder: noticeOrder }; displayOrderArr.push(displayItem); } displayOrderArr.sort(function(a, b){ var aValue = a.noticeOrder; var bValue = b.noticeOrder; return ((aValue < bValue) ? -1 : ((aValue > bValue) ? 1 : 0)); }); for(var index = 0; index < displayOrderArr.length; index++){ var item = displayOrderArr[index]; var key = item.key; var notice = noticesData[key]; var noticeDisplayItem = $('
'); var noticeTitle = notice.noticeTitle; var noticeText = notice.noticeText; var noticeURL = notice.noticeURL; var expired = notice.expired; if(!isShowMainNoticeSession){ $('.fvWorkspaceScrollArea .getStartedInfo .formTab .mainNoticeSession').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.fvWorkspaceScrollArea .getStartedInfo .formTab .mainNoticeSession .noticeText').empty().append(noticeTitle); $('.fvWorkspaceScrollArea .getStartedInfo .formTab .formTabScroll').css('bottom', '47px'); $('.fvWorkspaceScrollArea .getStartedInfo .formTab .mainNoticeSession').off().click(function(){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_notices_icon').click(); }); isShowMainNoticeSession = true; } var formItemStr = '' + '
' + '
' + '
' + '
' + '
' + ' ' + '
' + ' Dismiss' + '
' + '
'; var tmp = $(formItemStr); tmp.find('.noticeTitle').append(noticeTitle); tmp.find('.noticeText').append(noticeText); if(noticeURL && jQuery.trim(noticeURL) != ''){ tmp.find('.noticeURL a').attr('href', noticeURL); }else{ tmp.find('.noticeURL').css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE); } noticeDisplayItem.append(tmp).attr(CONST_DATA, key).addClass(key); mainNoticeList.append(noticeDisplayItem); mainNoticeList.append($('
').addClass(key)); } mainNoticeList.find('.actionBtn .btnDismiss').off().click(function(event){ var runFVDBInfo_DismissNotice = function(mainNoticeList, noticeItem, noticeKey){ $.ajax({ url: '/formview/FVUpdateServlet?fnId=FVDBInfo_DismissNotice¬iceKey=' + noticeKey+'&mobileKey=' + authNS.currentUser.MobileKey, dataType: 'json', type: 'GET', data: '{}', cache: false, complete: function() { waitForDataLoading(false); }, success: function(dataresponse, status) { if(dataresponse.success){ response.dismissNoticeList = dataresponse.dismissNoticeList; noticeItem.css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE); mainNoticeList.find('.' + noticeKey).css(CONST_CSS_KEY_DISPLAY, CONST_VALUE_NONE); if(getActiveNoticeCount() <= 0){ jAlert(msg_wc_no_notices, '', function(){ switch(authNS.currentUser.showHomePage){ case 'Review': $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_review_icon').click(); break; case 'Jobs': if(isShowJobsWebClient()){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_job_icon').click(); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_forms_icon').click(); } break; case 'Settings': if(isShowJobsWebClient()){ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_settings_icon').click(); }else{ $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_forms_icon').click(); } break; default: $('.fvWorkspaceScrollArea .mainMenuBarScroll .mb_mmb_forms_icon').click(); } }); } }else{ alert(msg_error_try); } }, error: function(request, status, error) { waitForDataLoading(false); if(getStatus(request) == 401){ jAlert(msg_read_permission_required); }else{ jAlert(msg_error_try); } } }); } //dismiss code here var noticeItem = $(this).parents('div.noticeItem'); var noticeKey = noticeItem.attr(CONST_DATA); runFVDBInfo_DismissNotice(mainNoticeList, noticeItem, noticeKey); }); } } var reloadMyInfomations = function(){ if(!authNS.currentUser || !authNS.currentUser.userVariables){ return; } authNS.currentUser.userVariables.sort(function(a, b) { var aVal = a['Index']; var bVal = b['Index']; if (aVal == bVal) { return 0; // if they are equal, return 0 (no sorting) } else if (aVal > bVal) { return 1; // if a should come after b, return 1 } else { return -1; // if b should come after a, return -1 } }); var userVariables = authNS.currentUser.userVariables; var mainMyInformationList = $('.mainMyInformationList table tbody').empty(); if(userVariables){ 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 type = item['Type']; var ask = item['Ask']; var edit = item['Edit']; var sync = item['Sync']; var value = item['Value']; item['OrgValue'] = value; item['Edited'] = false; if(!edit && !sync && !ask){ continue; } row.attr(CONST_DATA, id); row.attr('data-index', realIndex); realIndex++; row.find('.lblCaption').text(caption); if(ask){ row.attr('data-required', ask); row.find('.lblCaption').append(requiredStr); } //if(!ask && !edit){ var isDisable = false; if(!edit && value != undefined && value.trim() != ''){ row.find('input').prop('disabled', 'disabled'); isDisable = true; } if(type == 'email' && !isDisable){ row.attr('data-email', 'check'); } row.find('.lblHint').text(hint); row.find('input').val(value); 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': setEmailInputControl(inputObj, item); break; default: setTextInputControl(inputObj, item); } } } $('.fvWorkspaceScrollArea .getStartedInfo .myInformationTab .btnSaveUserVariables').off().click(function(){ var variables = $('.myInformationTab .mainMyInformationList table tbody tr'); for(var i=0; i 0) { pri = USER_PRIVILEGE_NEW_ADD_EDIT; } } else if(authPri != undefined) { if((authPri& CONST_ACCOUNT_PRIVILEGE_READ) > 0 || (authPri & CONST_ACCOUNT_PRIVILEGE_EDIT) > 0) { //privelege read } else { pri = USER_PRIVILEGE_NEW_ADD_EDIT; } } return pri; }; var isUserPriAddEdit = function() { if((getCurUserPrivilegeMerge() & USER_PRIVILEGE_NEW_READ) > 0) { return false; } return true; }; function isAdminUser() { var isAdmin = false; var authPri = undefined; if(authNS.currentUser != undefined) { authPri = authNS.currentUser.Privilege; } else if(privilege != undefined) { authPri = privilege; } if(authPri == CONST_ACCOUNT_PRIVILEGE_ADMIN) { isAdmin = true; } return isAdmin; } /* investigate in the future */ var $element = $(".fvWorkspaceScrollArea .mainFormListScrollTmp"); var lastTop = 0; function checkForChanges() { return; if($element.length == 0){ $element = $(".fvWorkspaceScrollArea .mainFormListScrollTmp"); } if ($element.length > 0 && $element.position().top != lastTop) { lastTop = $element.position().top + 20; $(".fvWorkspaceScrollArea .mainFormListScroll").css('top', lastTop + 'px'); } setTimeout(function(){ checkForChanges(); }, 500); } function currencyFormat(num) { if(!isNaN(num)) { return num.toFixed(0).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"); } return num; } function showHideMainMenuIcon(){ //var accountMMBItems = $('.fvWorkspaceScrollArea .getStartedInfo .accountMMBItem:visible'); var accountMMBItems = $('.fvWorkspaceScrollArea .getStartedInfo .accountMMBItem.iconActive'); 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; } if(showValue == false){ continue; } hasMenuItem = true; break; } if($(CONST_JQUERY_ID_FORMVIEW).hasClass(CONST_CSS_CLASS_HIDE_SESSION)){ if(hasMenuItem){ $('#fvmain_menu li.mainMenuIcon').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('#fvmain_menu li.liFvFullScreen').removeClass(CONST_CSS_CLASS_HIDE_SESSION); //$('.fvWorkspaceScrollArea .formTabScroll').css('top', '93px'); var mainMenuGraphicHeight = $('.fvWorkspaceScrollArea .getStartedInfo .formTab .mainMenuGraphic').height() + 10; var topHeight = 93 + mainMenuGraphicHeight; topHeight += 'px'; $('.fvWorkspaceScrollArea .formTabScroll').css('top', topHeight); }else{ $('#fvmain_menu li.mainMenuIcon').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('#fvmain_menu li.liFvFullScreen').removeClass(CONST_CSS_CLASS_HIDE_SESSION); //$('.fvWorkspaceScrollArea .formTabScroll').css('top', '0px'); var mainMenuGraphicHeight = $('.fvWorkspaceScrollArea .getStartedInfo .formTab .mainMenuGraphic').height() + 10; var topHeight = mainMenuGraphicHeight; topHeight = 'top:' + topHeight + 'px !important'; $('.fvWorkspaceScrollArea .formTabScroll').css('cssText', topHeight); /*$('#fvmain_menu li.mainMenuIcon').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('#fvmain_menu li.liFvFullScreen').addClass(CONST_CSS_CLASS_HIDE_SESSION);*/ } } checkingMainMenuVisible(); // CO-1156 - checking visiable of main menu var mainMenuBarCtrl = $('.fvWorkspaceScrollArea .mainMenuBarScroll .mainMenuBar'); if(mainMenuBarCtrl.length > 0){ var minWidth = parseInt(mainMenuBarCtrl[0].scrollWidth); mainMenuBarCtrl.attr('style', 'min-width:' + minWidth + 'px;'); } } function showMainScreen(dontCheckCancelBtn){ if($('#fvmain_menu .fvCancel:visible').length > 0 || dontCheckCancelBtn){ var title = ''; $('#pageMenuIcon').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.pageMenuIconText').addClass(CONST_CSS_CLASS_HIDE_SESSION); $('.formViewMain #fvmain_menu .header h1').attr('title', title); $('.formViewMain #fvmain_menu .header h1').text(title); //$('.formView .fvWorkspace').empty().append($('.toGetStarted .getStartedInfo').clone()); reloadGetStartedInfo(); //$('.formView .fvWorkspace').append($('.fvfooterForWA #fvfooter').clone()); releaseDirtyFlag(true); fvDataNS.currentForm = undefined; fvDataNS.inputData = undefined; $('#fvmain_menu .fvDeleteForm').addClass(CONST_CSS_CLASS_HIDE_SESSION_IMP); $('#fvmain_menu .fvCancel').addClass(CONST_CSS_CLASS_HIDE_SESSION_IMP); $('#fvmain_menu .fvSaveLink').addClass(CONST_CSS_CLASS_HIDE_SESSION_IMP); $('#fvmain_menu .fvSaveContinueLink').addClass(CONST_CSS_CLASS_HIDE_SESSION_IMP); $('#fvmain_menu .fvSaveCompleteLink').addClass(CONST_CSS_CLASS_HIDE_SESSION_IMP); $('#fvmain_menu .fvPrintForm').addClass(CONST_CSS_CLASS_HIDE_SESSION_IMP); return false; }else{ return true; } } /** * Special treating with old forms in Shading + Border * (Fix bug 0025363: Border display when user open old form) */ function applySpecialSettingWithOldFormsInShading(response, glbBuildFormSettingsWA) { // Default we will treat form as new form glbBuildFormSettingsWA.isNewForm4UsingShading = true; // Special treating with OLD FORMS, we will create a special settings if (response && response.isNewForm4UsingShading === false) { // Force some default properties glbBuildFormSettingsWA.isShadedheadings = false; glbBuildFormSettingsWA.isBorderAroundHeading = false; glbBuildFormSettingsWA.isShadedRow = true; // Setting value for old form glbBuildFormSettingsWA.isNewForm4UsingShading = false; } } function getGridWidgetMinColWidth(_type){ var minWidth = 150; try { if(CONST_VALUE_DATE_SPACE_TIME === _type){ minWidth = 200; } else if(CONST_CTRL_TYPE_INPUTLOCATION === _type){ minWidth = 250; } /*else if(CONST_CTRL_TYPE_INPUTIMAGE === _type || CONST_CTRL_TYPE_INPUTSIGNATURE === _type || 'Image' === _type || 'Signature' === _type){ }*/ } catch (e) { } return minWidth; }; function repareAddNewPermission(currentUser){ if(!currentUser || !currentUser.isMDT){ VERSION_ADD_DEL_CTRL_OSP = VERSION_UNSUPPORT; //VERSION_ADD_CTRL_OSP = VERSION_UNSUPPORT; } } function repareZebraKeyboardEnhancement(currentUser){ if(!currentUser || !currentUser[CONST_CUS_FUNCTIONS] || !currentUser[CONST_CUS_FUNCTIONS][CONST_ZEBRA_KEYBOARD]){ VERSION_ZEBRA_KEYBOARD_ENHANCEMENT = VERSION_UNSUPPORT; } } function isAlwayFullScreenMode(){ if($(window).width() <= 720){ return true; }else{ return false; } } function isStandardorFreeAccount(){ var freeAcc = false; try { if(authNS != undefined && authNS.currentUser != undefined && authNS.currentUser.Type == 'Standard' && authNS.currentUser.thirtyDayDemoString == ''){ freeAcc = true; } } catch (e) { } return freeAcc; }; function getActiveNoticeCount(){ var count = 0; var noticesData = fvDBInfoNS.notices; if(noticesData){ var dismissNoticeList = fvDBInfoNS.dismissNoticeList; var d = new Date(); var currentDate = d.format('yyyymmddHHMMss'); for(var key in noticesData){ if(key == 'count'){ continue; } if(dismissNoticeList[key]){ continue; } var notice = noticesData[key]; var noticeOrder = notice.noticeOrder; var expired = notice.expired; if(expired < currentDate){ continue; } count++; } } return count; }; var isBuildReportTab = function($workspace){ if($workspace.parents('#reportBuilder').length > 0){ return true; } return false; } var isShowJobsWebClient = function(){ if(isVersion(VERSION_RELEASE_DISPATCH_WEBAPP)){ if(authNS.currentUser.isDispatchAccount){ return true; }else{ return false; } }else{ if(authNS.currentUser.isShowDispatchTab != undefined && authNS.currentUser.isShowDispatchTab == true){ return true; } else{ return false; } } } var showDispatchReceivedAlert = function(jobsOld, jobsNew){ var timeOld = 0; var timeNew = 0; var downloadCount = 0; var dspLstCount = 0; if(jobsOld && jobsOld.downloadedInfo){ timeOld = jobsOld.downloadedInfo.createDate; } if(jobsNew && jobsNew.downloadedInfo){ timeNew = jobsNew.downloadedInfo.createDate; downloadCount = jobsNew.downloadedInfo.downloadCount; dspLstCount = jobsNew.downloadedInfo.dspLstCount; } if(timeOld > 0 && timeOld != timeNew && downloadCount > 0){ var msg = msg_dispatch_loaded_success; msg = msg.replace('$1', downloadCount).replace('$2', dspLstCount); $.toastNew(msg); } } var updateFVDBDispatchRecall = function(){ $.ajax({ url: '/recordList?type=recalled&id=' + authNS.currentUser.MobileKey, dataType: 'xml', type: 'GET', data: {}, cache: false, async: false, complete: function() { }, success: function(response, status) { var records = $(response).find("record"); showRecallReceivedAlert(records, 0); }, error: function(request, status, error) { } }); } var showRecallReceivedAlert = function(records, i){ if(i>=records.length){ reloadMainJobsList(); return; } if(!fvDBInfoNS || !fvDBInfoNS.jobs){ //there aren't jobs return; } var mobileKey = authNS.currentUser.MobileKey; var jobsData = fvDBInfoNS.jobs[mobileKey]; if(!jobsData){ //there aren't jobs return; } var record = records[i]; var recordKey = record.attributes['id'].value; var projectId = record.attributes['projectId'].value; var projectJobsData = jobsData[projectId]; if(!projectJobsData){ //there aren't jobs in project showRecallReceivedAlert(records, i+1); return; } var jobItem = projectJobsData[recordKey]; if(!jobItem){ //job not received in this mobile showRecallReceivedAlert(records, i+1); return; } var formKey = record.attributes['formKey'].value; var recordName = record.attributes['recordName'].value; var emailAddress = record.attributes['recalledBy'].value; var recordStatus = record.attributes['status'].value; if(!recordName || recordName == ''){ recordName = jobItem['viewableName'] + jobItem['createDate']; } var msg; var isRecordOpening = false; if(fvDataNS && fvDataNS.currentForm && recordKey == fvDataNS.currentForm.editRecordKey){ isRecordOpening = true; } if(isRecordOpening){ msg = msg_this_dispatch_has_been_recall; msg = msg.replace('$1', emailAddress); }else{ msg = msg_dispatch_has_been_recall; msg = msg.replace('$1', recordName).replace('$2', emailAddress); } $.alerts.okButton = lbl_acknowledge; var msgTitle = 'Message ' + (i+1); jAlert(msg, msgTitle, function(){ $.alerts.okButton = CUSTOM_OK_BUTTON_LABEL; processDispatchAcknowledge(recordKey, projectId, formKey); showRecallReceivedAlert(records, i+1); }); } var processDispatchAcknowledge = function(recordKey, prjKey, formKey){ waitForDataLoading(true); var arrRecall = []; arrRecall.push({ 'id': recordKey ,'prj': prjKey ,'odk': formKey}); var jsonParam = {}; jsonParam.recalls = arrRecall; jsonParam.cusKey = authNS.currentUser.CustomerKey; jsonParam.mobileKey = authNS.currentUser.MobileKey; $.ajax({ url: '/formview/FVJobsServlet', dataType: 'json', type: 'Post', data: JSON.stringify(jsonParam), cache: false, async: false, complete: function(){ waitForDataLoading(false); }, success: function(response, status) { if(response.jobs != undefined){ fvDBInfoNS.jobs = response.jobs; } }, error: function(request, status, error) { if(getStatus(request) == 401){ jAlert(msg_read_permission_required.replace('email', 'mobile'),'',function(){ $.alerts.okButton = ' Ok '; $.alerts.dialogClass = ''; parent.window.location.replace("/formview/logout"); }); }else{ jAlert(msg_error_try); } } }); } var processDispatchPlus = function(action){ try { if('load' == action){ // check html $('.main_content').empty(); $("#dispatchPlus").empty().load( "/html/dispatchPlus.html" , function() { // Process when finish loading data // check if CSS has already loaded if(document.getElementById('bootstrapCss') != undefined){ return; } var objHead = document.getElementsByTagName('head')[0]; _.each(dispatchPlusCss, function(item, index){ var link = document.createElement('link'); if(index == 0){ link.id = 'bootstrapCss'; } link.setAttribute('rel', 'stylesheet'); link.setAttribute('type', 'text/css'); link.setAttribute('href', item); objHead.appendChild(link); }); if(authNS.currentUser.translation.lbJobs) { $("#dispatchPlus #header_title").text(authNS.currentUser.translation.lbJobs); } } ); // All below code will be moved to position // after finish load file "/html/dispatchPlus.html" // // check if CSS has already loaded // if(document.getElementById('bootstrapCss') != undefined){ // return; // } // var objHead = document.getElementsByTagName('head')[0]; // _.each(dispatchPlusCss, function(item, index){ // var link = document.createElement('link'); // if(index == 0){ // link.id = 'bootstrapCss'; // } // link.setAttribute('rel', 'stylesheet'); // link.setAttribute('type', 'text/css'); // link.setAttribute('href', item); // objHead.appendChild(link); // }); // Mark that we are the DispatchPlus tab try { isInsideTabDispatchPlus = true; } catch (e) {} // Customer's request : 1b) Setting Changes - RGB Codes in OPEN SCHEUDLER ISSUES 9-27.docx // Update variable for RGB ColorPicker try { rgbColorPicker.updateTemplateHTML(); } catch (e) {} } else{ // reset html $('#plus_content').empty(); $("#dispatchPlus").empty(); // remove unused Css files _.each(dispatchPlusCss, function(item){ $('link[rel=stylesheet][href~="'+item+'"]').remove(); }); // tdchien : Reset array of all global variable of DispatchScheduler try { clearAllGlobalVariableOfDispatchScheduler4DP(); } catch (e) {} // Mark that we are outside the DispatchPlus tab try { isInsideTabDispatchPlus = false; } catch (e) {} } } catch (e) { } }; var dispatchPlusFinishLoad = function(){ //waitForDataLoading(true); //load scroll bar $('#plus_content .calendar_content_wrapper').customScrollbar({ vScroll: false }); //load mobile unit disPlusMUnits = {}; $.ajax({ url : '/dispatchplusload?action=LOAD', dataType : 'json', type : 'POST', data : {}, cache : false, complete: function() { waitForDataLoading(false); }, success: function(response, status) { try{ // CO-877: Firebase API if(response.firebaseToken){ firebasePath = CONST_FIREBASE_DB_1_USERS + '/' + CONST_FIREBASE_DB_2_CUSTOMERS + '/' + authNS.currentUser.CustomerKey; initFirebase(response.firebaseToken, ''); } } catch(e){} disPlusMUnits = response["MobileUnit"]; var result = disPlusMUnits; // Customer's request : 1c) New Expand Settings in OPEN SCHEUDLER ISSUES 9-27.docx dpScheduler.updateListMBGroups(result); /* * tdchien :: Extract codes into seperated function for reuse again */ //utils_processLeftHandMobileUnitsDP(result, true); // tdchien :: Process scheduler based on left group data // Init JS Template variables and call processSchedulerDispatchPlus() loadJSTemplate4DispatchSC(function() { //processSchedulerDispatchPlus(SCHEDULE_VIEW_DAY, disPlusMUnits, true); if (!currentViewOfSchedulerDP || currentViewOfSchedulerDP === SCHEDULE_VIEW_DAY) { if(disPlusMUnits.dispatch_to_email){ processSchedulerDispatchPlus(SCHEDULE_VIEW_DAY, disPlusMUnits, true); } } else { // Refresh current view with forcing create left-hand menu refreshCurrentViewScheduler4DP(true); } }); // Remove unused codes ... }, error: function(request, status, error) { if(getStatus(request) == 401){ jAlert(msg_read_permission_required); }else{ jAlert(msg_error_try); } } }); } var searchCount = 0; var dispatchPlusSearch = function(sc){ if(searchCount > sc) { return; } //clean $('#plus_content .list_devices tr.add_class_divice').css(CONST_CSS_KEY_DISPLAY,''); var searchText = jQuery.trim( $('#plus_content .mobile_units .search_device input.search-query').val()); if(searchText != '') {//search var allMUs = $('#plus_content .list_devices tr.add_class_divice'); // 5.0 Open Issues (22-Sep) >> #1 : Search mobile with case insensitive searchText = searchText.toLowerCase(); for(var i = 0; i < allMUs.length; i++) { var muNumber = $(allMUs[i]).find('a.change_text').text(); // 5.0 Open Issues (22-Sep) >> #1 : Search mobile with case insensitive //if(muNumber != undefined && muNumber.indexOf(searchText) < 0) { if(muNumber && muNumber.toLowerCase().indexOf(searchText) < 0) { $(allMUs[i]).css(CONST_CSS_KEY_DISPLAY,CONST_VALUE_NONE); } } } // tdchien : Update scheduler based on lefthand mobile group updateSchedulerBasedOnLeftHandGroup(); // Save value for applying later try { searchQueryLeftHandData4DP = searchText; } catch (e) {} } var getPreviewScreenSize = function(inchSize){ var widthRate = 3; var heightRate = 4; /*(widthRate * a)^2+ (heightRate*a)^2 = (inchSize)^2*/ var a = Math.sqrt(Math.pow(inchSize,2)/(Math.pow(widthRate,2) + Math.pow(heightRate,2))); return { 'width': inchToPx(widthRate*a + 'in'), 'height': inchToPx(heightRate*a + 'in') }; } function initPreviewMenuIcon(){ //.formView .menuIcon .fvFullScreen $('body').removeClass('smallScreenMode'); if(parent.previewMode.mode == 'page'){ $('.formView .menuIcon .fvFullScreen').addClass('fullMode'); }else{ $('.formView .menuIcon .fvFullScreen').removeClass('fullMode'); switch(parent.previewMode.mode){ case '4': case '5': case '6': $('body').addClass('smallScreenMode'); break; } } //$('.formView .menuIcon.iconFvFullScreen').removeClass(CONST_CSS_CLASS_HIDE_SESSION); $('.formView .menuIcon #mainMenuIcon').off().click(function(){ var previewScreenSetting = parent.getPreviewScreenSetting(); var msg = '
'; if(parent.previewMode.mode !== 'page'){ msg += ' Screen size : '; msg += '
'; } if(parent.previewMode.isLanscapeMode){ msg += ' ' + lbl_kb_icon_portrait_mode + '
'; msg += ' ' + lbl_kb_icon_lanscape_mode + '
'; }else{ msg += ' ' + lbl_kb_icon_portrait_mode + '
'; msg += ' ' + lbl_kb_icon_lanscape_mode + '
'; } if(isVersion(VERSION_PREVIEW_SCREEN_NAMAGE)){ msg += '
'; msg += ' '; } msg += '
'; jConfirm(msg, '', function(result, data){ if(result) { if(data.cboScreenSize){ parent.previewMode.mode = data.cboScreenSize; } if(data.chkScreenMode == 'lanscape'){ parent.previewMode.isLanscapeMode = true; }else{ parent.previewMode.isLanscapeMode = false; } parent.previewMode.changeMode = true; parent.jQuery.fancybox.close(); } }); $('.namageScreenSize').off().click(function(){ $.ajax({ url: '/mdtadmin/PreviewDevicesServlet?action=READ', dataType: 'json', type: 'GET', data: '{}', cache: false, complete: function() { waitForDataLoading(false); }, success: function(response, status) { var itemDataMap = {}; var previewScreenSetting = parent.getPreviewScreenSetting(); var msg = '
'; for(var i=4; i<=18; i++){ itemDataMap['' + i] = i + ' inch'; msg += '
'; msg += '
'; msg += ' '; msg += '
'; msg += '
'; msg += ' '; msg += '
'; msg += '
'; } if(response == null || response == undefined || response.previewDevices == undefined || response.previewDevices.length == 0) { }else{ for(var i=0; i'; msg += '
'; msg += '
'; msg += ' '; msg += '
'; msg += ' '; } } msg += ''; jConfirm(msg, '', function(result, data){ if(result) { var settingData = []; if(data['arr_chkScreenMode']){ for(var i=0; iPlease enter a diagonal screen size below that best matches your mobile device

'; msg += '' + ''; msg += '' + '' + '' + ''; msg += '' + ''; msg += '' + '' + ''; msg += '
Display mode : Device mode' + '
Paper mode
Orientation : Portrait' + '
Landscape
'; 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 "www.mydoforms.com": return CONST_DOFORMS_URL + port; case "mydoforms.appspot.com": return CONST_DOFORMS_URL + port; case "www.mydoforms.appspot.com": return CONST_DOFORMS_URL + port; case "mydoforms-hrd.appspot.com": return CONST_DOFORMS_URL + port; case "www.mydoforms-hrd.appspot.com": return CONST_DOFORMS_URL + port; case "122214r302.mydoforms-hrd.appspot.com": return CONST_DOFORMS_URL + port; case "beta.mydoforms.appspot.com": return CONST_BETA_DOFORMS_URL + port; case "beta-dot-mydoforms.appspot.com": return CONST_BETA_DOFORMS_URL + port; case "beta.mydoforms-hrd.appspot.com": return CONST_BETA_DOFORMS_HRD_URL + port; case "beta-dot-mydoforms-hrd.appspot.com": return CONST_BETA_DOFORMS_HRD_URL + port; case "091015r400.mydoforms-hrd.appspot.com": return CONST_91015r400_DOFORMS_HRD_URL + port; case "091015r400-dot-mydoforms-hrd.appspot.com": return CONST_91015r400_DOFORMS_HRD_URL + port; case "091015r400.mydoforms.appspot.com": return CONST_91015r400_DOFORMS_URL + port; case "091015r400-dot-mydoforms.appspot.com": return CONST_91015r400_DOFORMS_URL + port; case "100615r401.mydoforms-hrd.appspot.com": return CONST_100615r401_DOFORMS_HRD_URL + port; case "100615r401-dot-mydoforms-hrd.appspot.com": return CONST_100615r401_DOFORMS_HRD_URL + port; case "100615r401.mydoforms.appspot.com": return CONST_100615r401_DOFORMS_URL + port; case "100615r401-dot-mydoforms.appspot.com": return CONST_100615r401_DOFORMS_URL + port; case "rnd.mydoforms-hrd.appspot.com": return CONST_RND_DOFORMS_HRD_URL + port; case "rnd-dot-mydoforms-hrd.appspot.com": return CONST_RND_DOFORMS_HRD_URL + port; case "rnd.mydoforms.appspot.com": return CONST_RND_DOFORMS_URL + port; case "rnd-dot-mydoforms.appspot.com": return CONST_RND_DOFORMS_URL + port; case "lkgr.mydoforms-hrd.appspot.com": return CONST_LKQR_DOFORMS_HRD_URL + port; case "lkgr-dot-mydoforms-hrd.appspot.com": return CONST_LKQR_DOFORMS_HRD_URL + port; case "lkgr.mydoforms.appspot.com": return CONST_LKQR_DOFORMS_URL + port; case "lkgr-dot-mydoforms.appspot.com": return CONST_LKQR_DOFORMS_URL + port; /* * case "localhost": return "https://localhost" + 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 = $('
Menu
'); 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.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(/\/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 = $('