· 8 years ago · Aug 13, 2018, 04:14 PM
1<!DOCTYPE HTML>
2<html class="" onclick="StdClickProc(event)">
3<head>
4 <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=IE8">
5<meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
7
8
9<title>Sign In</title>
10
11
12<meta name="ROBOTS" content="NOINDEX, NOFOLLOW">
13
14
15<meta http-equiv="Content-Type" content="text/html">
16
17<script>
18 var perfTime = {};
19 perfTime.InlineJsPageTop = new Date().getTime();
20 var isAdmin = "" == "1";
21 var isIE8 = "0" == "1";
22</script>
23
24
25
26<script>
27 // A global function to show the regular UI when cloaking is on.
28 // Call this function when a registered Huey page (see server/routesWithHybridUi.js)
29 // needs to show the regular UI such as when Hybrid UI fails to render or when there
30 // is no need to render Hybrid UI.
31 function showUi() {
32 try {
33 uiShowBody(); // See below
34 } catch (e) {
35 // Cloaking turned off or otherwise unavailable
36 }
37 }
38</script>
39
40
41<style id="uiCloakUiStyle">body { visibility: hidden !important; }</style>
42<script>
43 var hybridCloakTimeout;
44
45 // Call this method to show the UI
46 var uiShowBody = function() {
47 var hideBodyStyle = document.querySelector('#uiCloakUiStyle');
48 if (hideBodyStyle) hideBodyStyle.parentNode.removeChild(hideBodyStyle); // Can't use remove() because IE 9/10
49 clearTimeout(hybridCloakTimeout);
50 };
51
52 // IIFE to encapsulate private vars to this script
53 (function () {
54 try {
55 // Ensures that the body will be shown if anything fails
56 hybridCloakTimeout = setTimeout(uiShowBody, 500);
57
58 // Ask Huey if this page should wait
59 var isUiPageRequest = new XMLHttpRequest();
60 var urlEncode = encodeURIComponent(window.location.href);
61 isUiPageRequest.open('GET', 'https://www.ui.quickbase.com/ui/api/huey/is-ui-page?currentUrl=' + urlEncode);
62
63 isUiPageRequest.onload = function() {
64 if(isUiPageRequest.status === 200 || (isUiPageRequest.status >= 300 && isUiPageRequest.status < 400)) {
65 var uiCloakWaitTime = parseInt(isUiPageRequest.responseText);
66
67 if (uiCloakWaitTime > 0) {
68 // If we need to wait for Huey, increase the fallback timeout.
69 // Ensures page will load if anything goes wrong.
70 clearTimeout(hybridCloakTimeout);
71 hybridCloakTimeout = setTimeout(uiShowBody, uiCloakWaitTime);
72 } else {
73 uiShowBody();
74 }
75 }
76 };
77
78 isUiPageRequest.send();
79
80 } catch (uiErr) {
81 // Show the ui if anything fails
82 uiShowBody();
83 }
84 })();
85</script>
86
87
88
89
90
91
92<script type="text/javascript">
93 var _aaq = window._aaq || (window._aaq = []);
94
95 (function ()
96 {
97 var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
98 g.type = 'text/javascript'; g.defer = true; g.async = true;
99 g.src = document.location.protocol + '//cdn.evergage.com/beacon/intuitquickbase/engage/scripts/evergage.min.js';
100 s.parentNode.insertBefore(g, s);
101 })();
102</script>
103
104
105
106
107<link rel="stylesheet" type="text/css" href="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/css/themes/jquery-ui/smoothness/jquery-ui-1.8.custom.css" />
108
109
110
111
112<link rel="stylesheet" type="text/css" href="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/css/_packed/common.packed.css" />
113
114
115<link rel="stylesheet" type="text/css" href="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/css/themes/classic/main.css" />
116
117<link rel="icon" href="/favicon.ico" />
118<link rel="shortcut icon" href="/favicon.ico" />
119
120
121
122
123<script src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/modernizr-2.6.2.min.js"></script>
124<style>
125/* HTML5-compliant browsers should understand this. This is for the
126edification of the less-up-to-date browsers (like IE<=9, or FF3) */
127article, aside, figure, footer, header, hgroup, nav, section {
128 display: block;
129}
130
131
132</style>
133<!--[if gte IE 9]>
134<style type="text/css">
135/*IE9+ buttons use SVG instead of filter for
136gradient BGs to allow border-radius*/
137.Vibrant { filter: none !important; }
138</style>
139<![endif]-->
140
141
142<script>
143 var gStartLoadTime = (new Date()).getTime();
144 var gJSdir = "js";
145 var gResDir = "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240";
146
147 // Error message constants
148 var kAPIerrCode_no_error = 0;
149 var kAPIerrCode_insuff_perms = 3;
150 var kAPIerrCode_bad_ticket = 4;
151 var kAPIerrCode_signin_required = 22;
152
153 var gMultiValuedFieldMaxEntries = (20 == "") ? 0 : 20;
154 var gReqDBID = "main";
155 var targetParentDiv = "#mainBodyDiv";
156
157 function ldi() {}
158 function ldiv() {}
159 function ldtimeHisto() {}
160 var debugOnly = false;
161
162 var gRunningProduct = "Quick Base";
163 var tablesBlockLimitsReached = false;
164 var tablesBlockLimitsMessage = "";
165</script>
166<script src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/jquery-1.7.2.min.js"></script>
167<script>
168 $(function ()
169 {
170 initPerfTiming();
171 });
172</script>
173<script src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/jquery-ui-1.8.18.min.js"></script>
174<!--[if IE]>
175<script>
176 $(document).ready(function () {
177 checkIEVersionSupported(); // prompts for upgrade if necessary
178
179 });
180</script>
181<![endif]-->
182
183
184<script src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/Modernizr.touchmouse.js"></script>
185<script src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/jquery-ui-timepicker-addon.js"></script>
186
187<script id="RequirejsConfig">
188
189 var gMappingScript = "geolocationMapBox";
190
191
192
193 // A global configuration that points to Hybrid UI
194 // This variable is also used by the setup scripts that are downloaded from Hybrid UI
195 // so that assets (css and images) are loaded from the correct host. It should remain the only
196 // global variable used by Hybrid UI.
197 var HYBRID_UI_HOST = "https://www.ui.quickbase.com";
198
199
200 //Some overly clever javascript to pull the value of the HYBRID_UI_HOST cookie if it exists. returns undefined if the cookie isn't set.
201 //This lets developers point to arbitrary huey environments from arbitrary SBserver environments.
202 //only available in lab enviornments, not available in production.
203 HYBRID_UI_HOST = (function (k){return(document.cookie.match('(^|; )'+k+'=([^;]*)')||0)[2]})('HYBRID_UI_HOST') || HYBRID_UI_HOST;
204
205
206 var require = {
207 baseUrl: "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js",
208 paths: {
209 "highcharts": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/highcharts",
210 "canvg": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/canvg",
211 "marionette": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/backbone.marionette-1.0.4.min",
212 "one-color": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/one-color",
213 "mustache": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/mustache-0.5.0",
214 "jqueryFormat": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/jquery.format-1.2/jquery.format.min",
215 "async": "../js/require/async",
216 "text": "../js/require/text",
217 "geolocationLib": gMappingScript,
218 "gmaps": "//maps.googleapis.com/maps/api/js?v=3&libraries=places",
219 "mapbox-gl": "//api.mapbox.com/mapbox-gl-js/v0.38.0/mapbox-gl",
220 "mapbox": "//api.mapbox.com/mapbox.js/v3.1.1/mapbox",
221 "jqGrid": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/jqGrid/jquery.jqGrid.min",
222 "jgGridLocale": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/jqGrid/i18n/grid.locale-en",
223 "raphael": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/raphael-min",
224 "angular": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/angular/1.2.21/angular.min",
225 "angular-cookies": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/angular/1.2.21/angular-cookies.min",
226 "angular-sanitize": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/angular/1.2.21/angular-sanitize.min",
227 "angular-animate": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/angular/1.2.21/angular-animate.min",
228 "angular-route": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/angular/1.2.21/angular-route.min",
229 "ng-grid": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/ng-grid-2.0.7.min",
230 "ui-bootstrap": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/ui-bootstrap-tpls-0.11.0.min",
231 "moment": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/moment.min",
232 "ace-editor" : "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/aceEditor/ace",
233 "ace-language-tools" : "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/aceEditor/ext-language_tools",
234 "dhtmlxScheduler": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/dhtmlxScheduler_v4.4.9/codebase/dhtmlxscheduler",
235 "extActiveLinks": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/dhtmlxScheduler_v4.4.9/codebase/ext/dhtmlxscheduler_active_links",
236 "extAutoResize": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/dhtmlxScheduler_v4.4.9/codebase/ext/dhtmlxscheduler_container_autoresize",
237 "dhtmlx_tooltip": "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/dhtmlxScheduler_v4.4.9/codebase/ext/dhtmlxscheduler_tooltip",
238 "blueBird" : "https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/bluebird.min",
239
240 // --- Start Hybrid UI scripts ---
241 "styled-components": HYBRID_UI_HOST + "/ui/externals/styled-components",
242 "react": HYBRID_UI_HOST + "/ui/externals/react",
243 "react-dom": HYBRID_UI_HOST+ "/ui/externals/react-dom",
244 "babel-polyfill": HYBRID_UI_HOST+ "/ui/externals/babel-polyfill",
245 "ui-reuse": HYBRID_UI_HOST + "/ui/ui-reuse/main",
246 "ui-app-picker": HYBRID_UI_HOST + "/ui/app-picker/main",
247 "ui-automation-modal": HYBRID_UI_HOST + "/ui/automation-modal/main",
248 "ui-trial-experience": HYBRID_UI_HOST + "/ui/trial-experience/main",
249 "ui-ip-filtering": HYBRID_UI_HOST + "/ui/ip-filtering/main",
250 "ui-global-help-utils": HYBRID_UI_HOST + "/ui/global-help-utils/main",
251 "ui-footer-message": HYBRID_UI_HOST + "/ui/footer-message/main",
252 "ui-item-picker": HYBRID_UI_HOST + "/ui/item-picker/main",
253 "ui-search-item-picker": HYBRID_UI_HOST + "/ui/item-picker/main",
254 "ui-kanban-board": HYBRID_UI_HOST + "/ui/kanban-board/main",
255 "ui-platform-admin-nav": HYBRID_UI_HOST + "/ui/platform-admin-nav/main",
256 "ui-relationship-builder": HYBRID_UI_HOST + "/ui/relationship-builder/main"
257 // --- End Hybrid UI scripts ---
258
259 },
260 shim: {
261 "angular": { "exports": "angular" },
262 "angular-cookies": ["angular"],
263 "angular-sanitize": ["angular"],
264 "angular-animate": ["angular"],
265 "angular-route": ["angular"],
266 "ng-grid": ["angular"],
267 "ui-bootstrap": ["angular"],
268 "highcharts": {
269 "exports": "Highcharts"
270 },
271 "jqGrid": ["jgGridLocale"],
272 "jqgrid.qb": ["jqGrid"],
273 "jqgrid.colselect.qb": ["jqGrid"],
274 "GridView": ["jqGrid", "jqgrid.qb", "jqgrid.colselect.qb"],
275 "progressStep": ["raphael"],
276 "progressSpin": ["raphael"]
277 },
278 config: {
279 geolocationUtilsMapBox: {
280 gMapBoxKey: "pk.eyJ1IjoicXVpY2tiYXNlb3BzIiwiYSI6ImNqNnpueGpzaDAzMmEyeG15bjQ4NXBldWYifQ.WyIwRcqCXdj-zo62Ro_UnQ"
281 }
282 }
283 };
284
285
286</script>
287
288
289
290
291
292
293<script src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/_packed/common.packed.js" type="text/javascript"></script>
294
295
296
297
298
299
300<script type="text/javascript">
301 var inviteDefaultSubject = "";
302 var inviteDefaultMessage = "";
303 var gUserCanShare = "true"=="true";
304 var gEveryoneMsg = ""; //custom message to display on add/change role of EOI
305 var gIsAddressBookAvailable = false;
306 //default message for EOI
307 var kEveryoneDefault = "Are you certain you want to grant access to this application to the entire Internet?";
308
309 var kACUser = 1;
310 var kACGroup = 2;
311 var kACDomgroup = 4;
312 var kACAccount = 5;
313 var kACPlaceholder = 6;
314
315 var kGIDEveryone = 3;
316
317 var gCurIndex;
318
319 var gReqAccountName = "";
320
321 var kDelimA = '\\d';
322
323 var kDelimData = '~!~';
324 var kDelimRow = '~!!~';
325 var kDelimMVUserFieldData = ";";
326
327 var kNullID = '0';
328
329 var gParseGroups; //TESTING
330 var gParseContacts; //TESTING
331 var gSearchGroups; //TESTING
332 var gSearchContacts; //TESTING
333 var kMaxTokenCount = 400; //max # of allowed tokens
334
335 //load mapping of roldID to role name
336 var roleinfo = new Array();
337 var kRoleIDNoAccess = 9; //none role
338 var tgRoleInfo = new Array();
339
340 //searchable trustee lists
341 this.groups = '';
342 this.contacts = '';
343
344 //user-hidden announcements
345 function isAnnouncementHidden(announcementNum)
346 {
347 if(typeof(hiddenAnnouncements)=='undefined') return true;
348 return (hiddenAnnouncements & (1<<announcementNum)) != 0;
349 }
350
351
352</script>
353
354
355
356<script type="text/javascript">
357 var gParentDBID = "";
358 var gReqAppDBID = "";
359 var gReqAppName = "";
360 var gReqMgrName = "";
361 var gSingleTableDBID = "";
362 var gReqUID = "1";
363 var gReqCompanyName = "";
364 var gReqCompanyID = "";
365 var gReqUserRoleID = "0";
366 var gReqUserRoleIDs = ""; // all roles
367 var gReqUserEmail = "unknown@quickbase.com";
368 var gReqUserFname = "";
369 var gReqUserLname = "";
370 var gReqUserDelayVerify = "0" == "1" ? true : false;
371 var gReqAccountID = "";
372 var autoFAQ = "";
373 var gReqHostName = "https://suntuity.quickbase.com";
374 var gReqUserHasAppAdmin = false;
375 var gReqTemplName = "login";
376 var gReqPrintFriendly = false;
377 var gReqUserIsDBAdmin = false; //
378 var gEOIAllowed = ("" == "true") ? true : false;
379 var gReqRealmInactivityTimeout = 0;
380 var gSessionExpirationInterval = 900;
381 var kRecordNameSingular = "";
382 var kRecordNamePlural = "";
383 var kRecordNameSingularLower = "";
384 var kRecordNamePluralLower = "";
385 var kRuntimeMode = "";
386 //
387 var kMaxPasswordLength = isNaN(parseInt("64")) ? 64 : parseInt("64");
388
389 var kIsPreRelease = false;
390 var kIsSandboxApp = false;
391 var kFMdefaultToAll = false;
392
393 var gPrimaryTableDBID = "";
394 var gAppTimeZoneOffset = "";
395 var gReqTime = '';
396
397 var gReqDateFormat = 0; //
398
399 var gReqNumberSeparator = "";
400 var gReqDecimalMark = "";
401 var defaultAppRoleId = "";
402 var gRofo = [];
403 var gReqAct = "SignIn";
404 var gJumpTableAct = false;
405
406 var gClassification = gClassification || {};
407
408
409
410 var gTableInfo = new Object();
411
412
413
414 var rinfo = new Array();
415
416
417
418 var rdinfo = new Array();
419
420
421
422 var gFI = new Array();
423
424
425
426 var gCDD = new Array();
427
428
429
430 var gFMI = new Array();
431
432
433
434 var gQI = new Array();
435
436
437
438
439
440 var gGeData = new Object();
441
442
443
444
445
446gFavoritesMenuData = {};
447
448var gEnableRefreshTableMode=true;
449
450QB.FeatureSwitchMgr.init({"Switch_CSVchannels":true,"Switch_EchoSign":false,"Switch_Exchange":true,"Switch_FTP":true,"Switch_FormulaBuilder_ANTLR_Integration":true,"Switch_Gmail":true,"Switch_KeyPicker":true,"Switch_OneDrive":false,"Switch_QBSyncCsvMultiFile":true,"Switch_QBSyncMultiPartRefreshKeys":true,"Switch_SalesforceSandbox":false,"Switch_SyncErrorNotifications":true,"Switch_SyncV3API":true}
451);
452
453</script>
454
455<!-- Marketplace Constants start -->
456<script type="text/javascript">
457 var marketplace_consts = marketplace_consts || {};
458 var marketplace_consts = {
459 marketplaceLibraryDBID: 'bh28u4xv2',
460 marketplaceToken: 'ZzUzNiNiIzdlOGtnZXZhI2Fibnc0YTJlaHYjEVvdvNaVomJdS7Lg9gLbyyUwe%2FrK6pN0t1H9yUX7ocI%3D',
461 QBDBID : "",
462 QBDBName : "",
463 QBAcctPlan: "",
464 QBUser : {QBFirstName : "", QBLastName : "", QBUID: '1', QBEmail : 'unknown@quickbase.com'}
465 }
466</script>
467<!-- Marketplace Constants end -->
468
469
470<!-- FastPass Constants start-->
471<script type="text/javascript">
472 var fastpass_consts = fastpass_consts || {}
473 var fastpass_consts = {
474 user_email: 'unknown@quickbase.com',
475 user_name: "" + " " + "",
476 user_id: "1"
477 }
478</script>
479
480<script type="text/javascript" src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/getFastPass.js"></script>
481
482<!-- FastPass Constants end -->
483
484
485
486
487</head>
488
489
490<body class="stdBody UXV2 Regular"
491 link=blue vlink=blue alink=blue
492 onload="StdLoadProc();"
493 onbeforeunload="return StdBeforeUnloadProc(event);"
494 onunload="StdUnloadProc()"
495 onresize="StdResizeProc(event);"
496 onscroll="StdScrollProc(event);"
497 onkeydown="StdKeyDownProc(event);"
498 onmousedown="StdMouseDownProc(event);"
499 onmouseup="StdMouseUpProc(event);"
500 onmousemove="StdMouseMoveProc(event);"
501 onmouseover="StdMouseOverProc(event);"
502 >
503
504 <div id="tableSelector" class="PopBox" style="visibility: hidden; display: none; ">
505 <table cellspacing="0">
506 <tr>
507 <td class="a90" style="padding-bottom: 1em" id="tselHeading">
508
509 </td>
510 </tr>
511 <tr>
512 <td class="a80" style="padding-bottom: 1em" id="tselForWhich">
513 For which table?
514 </td>
515 </tr>
516 <tr>
517 <td>
518 <table cellspacing="6" width="100%">
519
520 <tr>
521 <td>
522 <a href="javascript:void(0)" onclick="location='?a=' + gAction; return false;"></a>
523 </td>
524 </tr>
525
526 <tr>
527 <td id="cancelButCell" class="closeBut">
528 <a href="javascript:void(0)" onclick="HidePopupDiv(); return false;">Cancel</a>
529 </td>
530 </tr>
531 </table>
532 </td>
533 </tr>
534 </table>
535 </div>
536
537 <!-- the menus START -->
538
539
540
541
542 <div id="EmptyMenuV2" class=PopMenu style="visibility:hidden; display:none;">
543 <table class="V2menu" onclick="QBmenu2Click(event,this)" onmousemove="QBmenu2Mmove(event,this)"></table>
544 </div>
545
546 <div id="MenuCtxtMenu" class=PopMenu style="visibility:hidden; display:none;">
547 <table class="V2menu" onclick="QBmenu2Click(event,this)" onmousemove="QBmenu2Mmove(event,this)" id="Table1">
548 <tr class=tspc><td><br></td></tr>
549 <tr onclick="QBmenuOldWin()"><td>Open</td></tr>
550 <tr onclick="QBmenuNewWin()"><td>Open in New Window</td></tr>
551 <tr class=bspc><td><br></td></tr>
552 </table>
553 </div>
554
555 <!-- the menus END -->
556
557
558
559 <div id="TOS2017Dialog" style="display:none;">
560 We are updating our <a class="noUnderline" href="https://www.quickbase.com/terms-of-service" target="_blank">Terms of Service</a>.
561 See our <a class="noUnderline" href="" target="_blank">blog post</a> highlighting the changes.
562 By continuing to use the Quick Base Service, the new Terms of Service will become effective on the renewal date for each account that you manage.
563 If you do not accept the changes, please notify us thirty days in advance of your renewal date.
564 </div>
565
566
567
568 <div id="addressBook" style="display:none">
569 </div>
570
571 <!-- jquery dialog for emailing a report-->
572
573 <div id="emailQueryDialog" style="display:none">
574 <label id='emailQueryError' class='validationErrorNoMargin'></label>
575 <div>
576 <form id='emailQueryForm'>
577 <table style="width:100%">
578 <tr id="emailQueryCalendarMessage" style="display:none;">
579 <td colspan="2" style="padding: 10px 7px;border-radius:3px;background:#e9e9e9;color:#666;text-align:center;">
580 Quick Base will send a report of the events currently displayed on your calendar.
581 </td>
582 </tr>
583 <tr>
584 <td colspan="2" style="padding-left:43px;padding-top:15px;">
585 <label id="emailQueryInputLabel" class="textInputLabel contactsInputLabel">Email addresses</label>
586 </td>
587 </tr>
588 <tr>
589 <td>
590 <button class="addressBookButton ui-corner-all ui-state-default" type="button" id="emailQueryAddressBookButton">
591 <img src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/i/icons/16/book_open.png" title="QuickBase Address Book" />
592 </button>
593 </td>
594 <td>
595 <input type="text" class="emailAddressInput" id="emailQueryUsers" style="max-height:200px; width:524px;" />
596 </td>
597 </tr>
598 </table>
599 </form>
600 </div>
601 <div id="emailQueryDetails" class="addUserSection">
602 <label class="textInputLabel">Subject<input id='emailQuerySubj' type="text" /></label>
603 <label class="textInputLabel">Message<textarea id='emailQueryMsg'></textarea></label>
604 </div>
605 </div>
606
607 <!-- end jquery dialog for emailing a report-->
608
609 <div class="InfoMsgBox">
610
611
612
613
614 </div>
615
616 <div id="navBars">
617 <!-- ******************* Brand Bar *******************************-->
618 <!--Start: Header-->
619<div id="brandBarHeader">
620
621 <script>
622 // global variable for use in hybrid ui
623 var gCustomBrandColor = "#0f0212";
624 </script>
625
626
627
628
629
630
631
632
633
634 <style>
635 #customBrandBar,
636 #customBrandBar .CustomBrandLink,
637 #navTop > #navTopAppBar,
638 #navBars .BrandBarSpacer,
639 #navBars #backToTop
640 {
641 background-color: #0f0212 !important;
642 }
643 #customBrandBar .CustomBrandText,
644 #customBrandBar .CustomBrandLink
645 {
646 color: white !important;
647 }
648 #customBrandBar a.CustomBrandLink .CustomBrandText:hover
649 {
650 opacity: 0.70;
651 }
652
653 </style>
654
655 <table id="customBrandBar" class="BrandBar Custom BasicBrand">
656 <tr>
657 <td class="FirstItem">
658
659
660 <img class="CustomBrandImage" src="http://media.merchantcircle.com/41066173/Suntuity%20Logo%20Black_full.jpeg" alt="custom brand image" border=0 />
661
662
663
664</td>
665 <td class="LastItem CustomText">
666
667 <a class="CustomBrandLink" href="https://suntuity.quickbase.com/db/bkcpbwdw8?a=dbpage&pageID=13">
668
669
670 <img class="CustomBrandImage" src="https://suntuity.quickbase.com/up/bkirm9it8/g/rz/eg/va/lead%20search%20button.png" alt="custom brand image" border=0 />
671
672
673
674 </a>
675
676</td>
677 <td class="LastItem" id="customBasicBrandMenus"><span class="NoWrap"><script language="javascript">
678
679</script>
680
681
682<ul id="navRightMenus" class="MenuBar">
683
684
685
686
687</ul>
688
689</span></td>
690 </tr>
691 </table>
692
693
694
695
696</div><!--id="brandBarHeader" -->
697
698
699<div class="BrandBarSpacer DisplayNone" id="brandBarSpacer">
700 <div id="backToTop" class="Tipsy" data-original-title="Scroll back to the top of this page"><span class="Icon WhiteArrow"></span></div>
701</div>
702
703<!--End: Header-->
704 <!-- ******************* App Menu Bar *******************************-->
705
706 <div id="navTop">
707
708 <div id="navTopAppBar" class="ui-tabs ui-tabs-shoulder">
709 <ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ">
710
711
712
713
714
715 </ul>
716 </div>
717</div>
718
719
720<div id="topCoverUp" class=""></div>
721
722
723
724<div id="newAppLightBoxDiv" class="DisplayNone">
725 <div class="LightBoxDiv">
726 <div id="withCreateOptionsContent">
727 <div class="DialogTitle FS-H2">
728 <div id="accountPicker" class="DisplayNone">
729 New apps will be added to your account
730 <select id="accountSelectBox"></select>
731 <a class="ui-dialog-titlebar-close ui-corner-all CloseIcon" role="button"><span class="ui-icon ui-icon-closethick">close</span></a>
732 </div>
733 <div id="noAccountPicker" class="NoTitle">
734 <a class="ui-dialog-titlebar-close ui-corner-all CloseIcon" role="button"><span class="ui-icon ui-icon-closethick">close</span></a>
735 </div>
736 </div>
737 <div class="DialogContent">
738 <div class="LeftSect NewAppGlamor Img"></div>
739 <div class="RightSect">
740 <div class="FS-H1">Create your own free Quick Base app</div>
741 <div class="FS-H3 VerticalSpacerSmall">Quick Base Exchange has hundreds of free apps for any business process.<br />It's simple to get started and you don't need to be technical to do it.</div>
742 <table class="VerticalSpacer">
743 <tr>
744 <td>
745 <ul>
746 <li>Project Management</li>
747 <li>Customer Support</li>
748 <li>Sales & CRM</li>
749 <li>Marketing</li>
750 </ul>
751 </td>
752 <td>
753 <ul>
754 <li>Team Management</li>
755 <li>Human Resources</li>
756 <li>Information Technology</li>
757 <li>Industry-specific solutions</li>
758 </ul>
759 </td>
760 </tr>
761 </table>
762 <div class="VerticalSpacer"><a id="templateCreate" class="Tall Success Vibrant CreateButton" data-href="main?a=Exchange">Find an app in Quick Base Exchange</a></div>
763 </div>
764 </div>
765 </div>
766 <div id="noCreatePermContent">
767 <div class="NoTitle">
768 <a class="ui-dialog-titlebar-close ui-corner-all CloseIcon" role="button"><span class="ui-icon ui-icon-closethick">close</span></a>
769 </div>
770 <div class="DialogContent">
771 <div class="LeftSect Pending Img"></div>
772 <div class="RightSect">
773 <div class="FS-H1">We need to check with your admin first...</div>
774 <div class="FS-H2 VerticalSpacer">We know you're eager to create your first app—but your account settings don't let you create apps yet. We've asked your account admin to allow it, and you'll get an email from us when you can.</div>
775 </div>
776 </div>
777 </div>
778 <div class="DialogFooter">
779 <div class="LeftSect FS-H2">
780 <span class="withCreateOptions">Prefer a more hands-on solution?</span>
781 <span class="noCreatePerms DisplayNone">Can't wait? Try a 30-day free trial, and get started creating apps immediately.</span>
782 </div>
783 <div class="ArrowSect"></div>
784 <div class="RightSect">
785 <div class="withCreateOptions">
786 <span class="AppCreateTypeImg Scratch"></span>
787 <a id="scratchCreate" class="CreateButton Button" data-href="main?a=appcreate&tab=scratch">Build a new app from scratch</a>
788 <span class="AppCreateTypeImg Import"></span>
789 <a id="importCreate" class="CreateButton Button" data-href="main?a=appcreate&tab=import">Import a spreadsheet to create a new app</a>
790 </div>
791 <div class="noCreatePerms DisplayNone"><a id="startTrial" class="Button noCreatePerms">Start a trial</a></div>
792 </div>
793 </div>
794 </div>
795</div>
796
797<div id="about-QuickBase" title="About Quick Base" class="DisplayNone">
798 Quick Base is a web-site that lets you select, customize, and share online workgroup applications. The application you are using right now is powered by Quick Base.<br />
799 <br />
800 Chances are that your organization has purchased the Quick Base service, in which case you might be able to build and deploy your own web application for little or no additional cost.<br />
801 <br />
802 You have permission to create your own web applications.<br />
803 <br />
804 To find out more about Quick Base, <a href="https://quickbase.intuit.com/" target="_blank">visit our web site.</a><br />
805 <br />
806 <a href="/db/main?a=GenTermsOfService" target="_blank">Terms of Service</a>
807</div>
808
809
810<!-- Template for create table dialog contents-->
811<script id="createTableTempl" type="text/html">
812 <form class="newTableForm">
813
814 <div class="tableLimits">
815
816
817</div>
818 {{#isCopyTable}}
819 <div class="CreateTableDescription" style="text-align: justify;">
820 Carry over the structure, home page, record title, forms, reports, charts, record picker settings,
821 and advanced settings, along with deactivated automated email, webhooks, and actions. No relationships or reference fields are copied.
822 Permissions and table home page settings will need to be re-set.
823 </div>
824 <label class="TableLabel">Copy {{tableName}} to:</label>
825 <div class="copy-table">
826 <select id="appPicker" class="appPicker" name="dstapp"></select>
827 </div>
828 <!-- this error message is shown when the app picker fails to load apps in case of too may apps. -->
829 <label class="appPickerNoData error DisplayNone">Unable to retrieve apps</label>
830 {{/isCopyTable}}
831 {{^isCopyTable}}
832 <div class="CreateTableDescription">A table tracks a collection of items. Name the table for the things you want to track, such as projects or time cards. You'll then add fields to define the table's data.</div>
833 {{/isCopyTable}}
834
835 <div class="CreateNewTableNameWrapper">
836 <div class="CreateNewTableInput">
837 <label class="TableLabel">{{#isCopyTable}}New t{{/isCopyTable}}{{^isCopyTable}}T{{/isCopyTable}}able name:</label>
838 <input type="text" size="42" name="createNewTableName" value="{{#isCopyTable}}Copy of {{/isCopyTable}}{{tableName}}" class="createNewTableName required needsplural valid UserInput WithPadding" placeholder="e.g. 'Customers' or 'Issues'" /><div class="RequiredAsterisk">*</div>
839 {{^isCopyTable}}<label for="createNewTableNoun" class="inputDescription"></label>{{/isCopyTable}}
840 <div class="tableNameExistsWarn error DisplayNone">There is already a table with this name</div>
841 <div class="tableNameLengthWarn error DisplayNone">Table name must not be blank and less than 256 characters</div>
842 </div>
843 <div class="CreateNewTableInput">
844 <label class="TableLabel">A single record is called a:</label>
845 <input type="text" size="42" name="createNewTableNoun" value="{{singularNoun}}" class="createNewTableNoun required needsplural valid UserInput WithPadding" placeholder="e.g. 'Customer' or 'Issue'" /><div class="RequiredAsterisk">*</div>
846 {{^isCopyTable}}<label class="inputDescription"></label>{{/isCopyTable}}
847 <div class="tableNounLengthWarn error DisplayNone">Single record name must not be blank and less than 256 characters</div>
848 </div>
849 </div>
850 <div class="SelectedIconWrapper">
851 <span class="SelectedIconLabel">Icon:</span>
852 <div class="IconChooser IconBorder Tipsy UserInput selectedIconSearch" data-original-title="Click to view all icons">
853 <div class="submissionIcon TblIcon20 icon-table SubmissionIcon {{iconName}}" icon="{{iconName}}"></div>
854 </div>
855 </div>
856 <div class="SuggestedIconWrapper">
857 <span class="SuggestedIconsLabel">Suggested icons:</span>
858 <div class="IconBorder suggestedIconContainer">
859 </div>
860 </div>
861
862 <span class="createNewTableDescSpan">
863 <label class="TableLabel">Description:</label>
864 <textarea cols="95" rows="5" name="createNewTableDesc" class="createNewTableDesc UserInput WithPadding">{{description}}</textarea>
865 {{^isCopyTable}}
866 <label class="inputDescription">The description will appear on the tooltip for this table</label>
867 {{/isCopyTable}}
868 <div class="inputDescLengthWarn error DisplayNone">Table description must be less than 1024 characters</div>
869 </span>
870 {{#isCopyTable}}
871 <div class="accessarea">
872 <label class="TableLabel">Options:</label>
873 <input type="checkbox" name="keepdata" class="keepdataChk" /><span> Keep data</span>
874 </div>
875 <div class="accessarea" id="accessarea">
876 <label class="TableLabel">Permissions:</label>
877 <label>You will have full administrative access to this table (via the Administrator role).</label>
878 <span class="accessAreaLabel">Set access for other roles to </span>
879 <select name="access">
880 <option value="none" selected>No Access</option>
881 <option value="view">View</option>
882 </select>
883 </div>
884 {{/isCopyTable}}
885 <input type=hidden name=PageToken value=ZzUzNiNiIzdlOGtnZXZhI2Fibnc0YTJlaHYjEVvdvNaVomJdS7Lg9gLbyyUwe%2FrK6pN0t1H9yUX7ocI%3D>
886 </form>
887</script>
888
889<!-- Template for create table dialog contents-->
890<script id="selectIconsTempl" type="text/html">
891 <input type="text" class="clearableInput Empty DoSearch" id="tableIconSearch" placeholder="Search icons" size=30 />
892 <div class="IconBorder SelectIconContainer" id="selectIconContainer">
893 {{#icons}} <div class="TableIconPadding"><div class="TblIcon20 icon-table Tipsy {{icon}}" icon="{{icon}}" data-original-title="{{tags}}"></div></div>{{/icons}}
894 </div>
895</script>
896
897<script id="iconListTempl" type="text/html">
898 {{#icons}}
899 <div class="TableIconPadding"><div class="TblIcon20 icon-table Tipsy {{icon}}" icon="{{icon}}" data-original-title="{{tags}}"></div></div>{{/icons}}
900</script>
901
902<script id="noSuggestedIconTempl" type="text/html">
903 <div class="NoSuggestedIcon">No suggested icons for the table name entered.</div>
904</script>
905
906<link rel="stylesheet" type="text/css" href="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/css/themes/classic/createTable.css" />
907
908
909
910
911
912
913
914
915
916
917
918
919<link rel="stylesheet" type="text/css" href="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/css/ng-grid.css" />
920
921<script type="text/javascript">
922 //Init the create table dialog.
923 $(function ()
924 {
925 /* Load the createTable.js file once on click event. The reason for data attributes is detailed in createTable.js.*/
926 $("#btnNewTable, #btnNewTableLite,#btnNewTable_Nav").one('click', function ()
927 {
928 var btnElem = $(this);
929 if (!btnElem.data('init'))
930 {
931 $('#btnNewTable,#btnNewTableLite,#btnNewTable_Nav').data('init', 'interim');
932 require(["createTable"], $.noop);
933 }
934 });
935
936 $("#copytable").one('click', function ()
937 {
938 var btnElem = $(this);
939 if (!btnElem.data('init'))
940 {
941 $('.PopMenu').hide();
942 $('#copytable').data('init', 'interimcopy');
943 require(["createTable"], $.noop);
944 }
945 });
946 });
947</script>
948
949
950<script src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/js/std_accountPicker.js" type="text/javascript"></script>
951
952
953 <!-- ******************* Tables Bar *******************************-->
954
955
956 <div id="TableNPageBarSeparator" class="DisplayNone"></div>
957 <!-- ******************* Page Nav Bar *******************************-->
958
959
960 </div>
961 <!-- end navBars-->
962
963
964
965 <div id="confMsgBox" style="visibility:hidden; display:none; position:absolute; text-align:center"></div>
966
967
968 <div id="mainBodyDiv"
969
970>
971
972
973
974
975
976
977
978
979<div id="s4extra" class="DisplayNone"></div>
980
981<table id=stripe4x cellspacing=0 cellpadding=0 style="margin-top:12px; width:98%; display:none;">
982 <tr>
983 <td></td>
984
985
986
987
988
989
990 <td align=right style="padding-right:12px">
991 <table cellspacing=0 cellpadding=0 id=s4ButtonArea style="">
992 <tr>
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007 </tr>
1008 </table>
1009 </td>
1010 </tr>
1011
1012</table>
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024<table cellspacing=0 cellpadding=0 id="bodyTable">
1025 <tr>
1026 <td></td>
1027
1028 <td class="SideSpacer"><img src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/i/clear2x2.gif" height=2 width="18"></td>
1029
1030
1031 <td valign=top id=mainCell style="border-width:0px; width:100%;">
1032
1033
1034 <div class="TopSpacer" style="height:15px"></div>
1035
1036
1037
1038
1039
1040
1041
1042<div id="dialogAddNewReportContents" class="DisplayNone DialogChoices">
1043
1044 <section >
1045 <input type="radio" checked name="reportType" id="tableReport" value="table" />
1046 <label for="tableReport">
1047 <span class="Icon Report Table"></span>
1048 </label>
1049 <label for="tableReport">
1050 <span class="FS-H1">Table</span>
1051 <div>Show your data in a spreadsheet-style report with rows and columns.</div>
1052 </label>
1053 </section>
1054
1055
1056 <section>
1057 <input type="radio" name="reportType" id="kanbanReport" value="kanban" />
1058 <label for="kanbanReport">
1059 <span class="Icon Kanban Report"></span>
1060 </label>
1061 <label for="kanbanReport">
1062 <span id="kanbanTitle" class="FS-H1">Kanban</span>
1063 <div>
1064 <span id="kanbanDesc">Work with your data as cards in columns.</span>
1065 <span id="kanbanErrorMsg" class="DisplayNone"><i>Unavailable for this table because it has no multiple-choice fields.</i></span>
1066 </div>
1067
1068 </label>
1069 </section>
1070
1071
1072
1073 <section>
1074 <input type="radio" name="reportType" id="gridEditReport" value="gedit" />
1075 <label for="gridEditReport">
1076 <span class="Icon Report Grid-edit"></span>
1077 </label>
1078 <label for="gridEditReport">
1079 <span class="FS-H1">Grid edit</span>
1080 <div>Create a report to enter or edit many records at once.</div>
1081 </label>
1082 </section>
1083
1084
1085 <section>
1086 <input type="radio" name="reportType" id="summaryReport" value="newsummary" />
1087 <label for="summaryReport">
1088 <span class="Icon Report Summary"></span>
1089 </label>
1090 <label for="summaryReport">
1091 <span class="FS-H1">Summary</span>
1092 <div>Group and total your data to answer questions about large data sets.</div>
1093 </label>
1094 </section>
1095
1096
1097 <section>
1098 <input type="radio" name="reportType" id="chartReport" value="chart" />
1099 <label for="chartReport">
1100 <span class="Icon Report Chart"></span>
1101 </label>
1102 <label for="chartReport">
1103 <span class="FS-H1">Chart</span>
1104 <div>Visualize your data in charts including pie, bar, line and others.</div>
1105 </label>
1106 </section>
1107
1108
1109
1110 <section>
1111 <input type="radio" name="reportType" id="mapReport" value="map" />
1112 <label for="mapReport">
1113 <span class="Icon Report Map"></span>
1114 </label>
1115 <label for="mapReport">
1116 <span class="FS-H1">Map</span>
1117 <div>Display records with an address as pins on a map.</div>
1118 </label>
1119 </section>
1120
1121
1122 <section>
1123 <input type="radio" name="reportType" id="calendarReport" value="calendar" />
1124 <label for="calendarReport">
1125 <span class="Icon Report Calendar"></span>
1126 </label>
1127 <label for="calendarReport">
1128 <span class="FS-H1">Calendar</span>
1129 <div>Show your data as events on a calendar to help with scheduling and timing.</div>
1130 </label>
1131 </section>
1132
1133
1134 <section>
1135 <input type="radio" name="reportType" id="timelineReport" value="timeline" />
1136 <label for="timelineReport">
1137 <span class="Icon Report Timeline"></span>
1138 </label>
1139 <label for="timelineReport">
1140 <span class="FS-H1">Timeline</span>
1141 <div>Create a Gantt chart for records that have start and end dates.</div>
1142 </label>
1143 </section>
1144
1145
1146
1147 <section>
1148 <input type="radio" name="reportType" id="pivotReport" value="pivot" />
1149 <label for="pivotReport">
1150 <span class="Icon Report Table"></span>
1151 </label>
1152 <label for="pivotReport">
1153 <span class="FS-H1">Pivot</span>
1154 <div>A pivot report</div>
1155 </label>
1156 </section>
1157
1158
1159</div>
1160
1161<script>
1162 var mcFields = false;
1163 var kbReport = document.getElementById("kanbanReport");
1164 if(kbReport)
1165 {
1166 kbReport.disabled = !mcFields;
1167 if(!mcFields)
1168 {
1169 document.getElementById("kanbanTitle").style.color = "#ccc";
1170 document.getElementById("kanbanDesc").style.color = "#ccc";
1171 document.getElementById("kanbanErrorMsg").style.color = "#ccc";
1172 document.getElementById("kanbanErrorMsg").style.display = "inline";
1173 }
1174 }
1175
1176
1177</script>
1178
1179
1180
1181
1182
1183
1184
1185<link rel="stylesheet" type="text/css" href="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/css/themes/classic/login.css" >
1186
1187
1188
1189
1190<div id="loginContainer" class="DisplayNone">
1191 <form method="post" action="main?a=signin&what=" name="mainform" id="loginForm" onSubmit="return checkform()">
1192 <input type=hidden name="nexturl" value="https://suntuity.quickbase.com/db/bkdhkmy4a?aAPI_AddRecord">
1193
1194 <div id="loginMsgRow" class="AlertBanner" style="display:none;">
1195 <div id="loginMsgDiv"></div>
1196
1197
1198 </div>
1199
1200 <div class="SigninInputWrapper">
1201 <div class="label FS-H2">Email address or username</div>
1202 <input class="UserInput WithPadding" type=text name="loginid" size="40" maxlength="99" value="" tabindex=1 onKeyDown="return UserDid();" onMouseDown="return UserDid();"/>
1203
1204 <div nowrap class="label FS-H2">Password</div>
1205 <input class="UserInput WithPadding" type=password name="password" size="40" maxlength="64" tabindex=2 autocomplete=off onkeydown="return UserDid();" onMouseDown="return UserDid();"/>
1206
1207 <button class="Vibrant Success SubmitButton" type="submit" name="SignIn" tabindex=3 id="signin"> Sign in </button>
1208
1209
1210
1211 <div class="Checkbox"><label class="FS-H3"><input type="checkbox" name="EnableAutoLogin" tabindex=4 onKeyDown="return UserDid();" onMouseDown="return UserDid();"> Keep me signed in on this computer</label></div>
1212
1213 <div><a href="#" onclick="ClickResetPswd(); return false;">I forgot my password</a></div>
1214 <div class="NotAUser" class="FS-H3">Not a Quick Base user? <a href="#" onClick="HandleCreateLogin(); return false;">Create a log-in.</a></div>
1215 </div>
1216
1217 </form>
1218</div>
1219
1220
1221<!-- Note: Same file shared between preview and real rendering. If function links (links that let you navigate into the product) are added
1222please create a new separate preview file with non-functional links and include it into loginpreview.html-->
1223<style>
1224.signincontent {
1225 font-size: 100%;
1226 line-height: 140%;
1227 width: 650px;
1228 border-top: 1px solid #E7E7E7;
1229 padding: 2.5em 1em 0 1em;
1230 margin-left: auto;
1231 margin-right: auto;
1232 margin-top:2.5em;
1233 background-color: #FFF;
1234 text-align:center;
1235 }
1236.signincontent #signinMsg { color:#505050; }
1237</style>
1238
1239<script type="text/javascript" src="https://getsatisfaction.com/logout.js"></script>
1240
1241<div class='signincontent'><div class='FS-H1'>Customizable business software.</div><p class='FS-General' id='signinMsg'>Create solutions and improve your team productivity today.</p></div>
1242
1243
1244
1245<script>
1246 var redmsg = "";
1247
1248 var gLoginContainer = getElementBy("loginContainer");
1249 var gSamlContainer = getElementBy("samlContainer");
1250 var gLoginID = getElementBy ("loginid");
1251 var gPassword = getElementBy ("password");
1252 var gLoginIDval = gLoginID.value;
1253 var gUserDidSomething = false;
1254 var gSigninAlertID = "currentSigninAlert";
1255 var gAlertContainer = $(".AlertBanner");
1256
1257 //need to know if we are in preview for realm branding so we can disable some links/form submits
1258 var gIsSignInPreview = false;
1259
1260 function LoadProc()
1261 {
1262 // setup listeners
1263 $("#quickbaseSignin").click(function () {
1264 $(gSamlContainer).fadeOut('fast', function () {
1265 $(gLoginContainer).fadeIn().removeClass("DisplayNone").css("display","");
1266 });
1267 return false;
1268 });
1269
1270 $("#samlSignin").click(function() {
1271 var url = "/saml/SSOInitiate.aspx";
1272 var nextURL = GetValue("nexturl");
1273 if(nextURL != "")
1274 {
1275 url += "?nextURL=" + encodeURIComponent(nextURL);
1276 }
1277 window.location.href = url;
1278 return false;
1279 });
1280
1281 if($("#samlContainer .ui-state-error-text").text().length != 0)
1282 $("#samlContainer .ui-state-error").show();
1283
1284 if (gUserDidSomething)
1285 return;
1286
1287 if ($("#samlContainer").length === 0)
1288 SetFocusOnLogin();
1289 }
1290
1291 function SetFocusOnLogin()
1292 {
1293 if (!IsGecko())
1294 // For Non-FF, set focus now
1295 {
1296 if (gLoginID.value == "")
1297 gLoginID.focus()
1298 else {
1299 gPassword.select();
1300 gPassword.focus();
1301 }
1302 }
1303 else { // For FF, change if after autocomplete
1304 if (gLoginID.value != gLoginIDval && gLoginID.value != "") {
1305 gPassword.select();
1306 gPassword.focus();
1307 }
1308 }
1309 }
1310
1311 function UserDid()
1312 {
1313 gUserDidSomething = true;
1314 return true;
1315 }
1316
1317 function checkform()
1318 {
1319 //disable signin when in preview mode
1320 if (gIsSignInPreview)
1321 return false;
1322
1323 if (gLoginID && gLoginID.value == "")
1324 {
1325 $(gAlertContainer).find("#" + gSigninAlertID).remove();
1326 $(gAlertContainer).append("<div id='" + gSigninAlertID + "'>Please enter your email address or user name.</div>");
1327 if(!$(gAlertContainer).is(":visible"))
1328 {
1329 $(gAlertContainer).css("padding-top", "0");
1330 $(gAlertContainer).show();
1331 }
1332 gLoginID.select();
1333 gLoginID.focus();
1334 return false;
1335 }
1336
1337 if (gPassword && gPassword.value == "")
1338 {
1339
1340 $(gAlertContainer).find("#" + gSigninAlertID).remove();
1341 $(gAlertContainer).append("<div id='" + gSigninAlertID + "'>Please enter your password.</div>");
1342 if(!$(gAlertContainer).is(":visible"))
1343 {
1344 $(gAlertContainer).css("padding-top", "0");
1345 $(gAlertContainer).show();
1346 }
1347 gPassword.select();
1348 gPassword.focus();
1349 return false;
1350 }
1351
1352
1353 return true;
1354 }
1355
1356
1357 function checkRegForm()
1358 {
1359 var emailAddr = GetValue ("loginidreg");
1360
1361 emailAddr = emailAddr.Trim();
1362
1363 if (emailAddr == "")
1364 {
1365 alert ("Please enter an email address (or Quick Base user name).");
1366 return false;
1367 }
1368
1369 //
1370 return true;
1371 }
1372
1373 function ClickResetPswd()
1374 {
1375 //disable reset password when in preview mode
1376 if (gIsSignInPreview)
1377 return false;
1378 SetValue ("loginidreg", GetValue (gLoginID));
1379 document.regform.action='main?a=ForgotPassword&what=';
1380 document.regform.submit();
1381 }
1382
1383 function HandleCreateLogin ()
1384 {
1385 //disable reg when in preview mode
1386 if (gIsSignInPreview)
1387 return false;
1388 window.location = "main?a=reg&what=";
1389 }
1390
1391 <!-- Set focus ASAP (only works in FF) -->
1392 if (gSamlContainer === null)
1393 {
1394 $(gLoginContainer).removeClass("DisplayNone");
1395 }
1396
1397 if (document.mainform && !gUserDidSomething && !IsVisible(gLoginContainer))
1398 {
1399 if (gLoginIDval == "")
1400 {
1401 gLoginID.focus();
1402 }
1403 else
1404 {
1405 gPassword.select();
1406 gPassword.focus();
1407 }
1408 }
1409
1410</script>
1411
1412
1413
1414
1415
1416 </td>
1417
1418 <!--
1419 This table cell is used to dynamically add margins for pages without chrome, like popups etc
1420 users can embed qburl as a frame and specify an ifv=nnn paramter to set the left right
1421 margin of the main content. Might be albe to change to containing section and set width in js with more testing
1422 -->
1423 <td class="SideSpacer">
1424 <img src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/i/clear2x2.gif" height="2" width="18">
1425 </td>
1426
1427 </tr>
1428</table>
1429
1430
1431<footer id="legalFooter" class="Group FS-Small">
1432 <div id="copyright" class="Left">
1433 © <span id="copyrightYear"></span> QuickBase, Inc. All rights reserved.
1434 </div>
1435
1436 <div class="Right">
1437 <a href="https://www.quickbase.com/links/legal_notices.asp">Legal</a><span class="Divider">|</span><a href="https://www.quickbase.com/links/privacy.asp">Privacy</a>
1438 </div>
1439
1440</footer>
1441
1442<script type="text/javascript">
1443 $(function ()
1444 {
1445 $('#copyrightYear').html((new Date()).getFullYear());
1446 });
1447</script>
1448
1449
1450<script type="text/javascript">
1451$(function ()
1452{
1453 var footerHeight = $("#bottomFooter").height();
1454 var horizScrollbar = false;
1455 realmFooterEl = $("#realmAppFooter");
1456 $(realmFooterEl).css("bottom", footerHeight + "px");
1457});
1458</script>
1459
1460
1461<div id="bottomSpacer"></div>
1462
1463
1464
1465</div>
1466
1467
1468<footer id="bottomFooter">
1469
1470
1471 <script type="text/javascript">
1472 $(function ()
1473 {
1474 $('#showMobileSiteLink').click(function ()
1475 {
1476 var domain = location.host.substring(location.host.indexOf("."));
1477 var c = "fullVer=0;domain=" + domain;
1478 document.cookie = c;
1479 });
1480 });
1481 </script>
1482
1483
1484
1485
1486
1487 <div id="customUIfooter" class="Group"> <div class="Right"> <a class="CustomBrandLink" href="https://suntuity.atlassian.net/servicedesk/customer/portals" target="_blank"> <img class="CustomBrandImage" src="https://images.quickbase.com/si/32/517-help.png" alt="custom brand image" border="0"> </a> </div> </div>
1488
1489
1490<!-- _UXV2_Migration start-->
1491
1492
1493
1494
1495
1496
1497<!-- _UXV2_Migration end-->
1498
1499
1500
1501
1502
1503</footer>
1504
1505<script>
1506 var gMsgBoxMsg = "";
1507 var gMsgBoxSubMsg = "";
1508</script>
1509
1510<div id="msgBox" class="PopBox" style="visibility:hidden; display:none;">
1511 <table cellspacing="0">
1512
1513 <tr>
1514 <td style="padding-bottom:1em; color:#c00; font-size:110%"><span id=msgBoxMsg></span></td>
1515 </tr>
1516
1517 <tr>
1518 <td style="padding-left:20px">
1519 <table cellspacing="0">
1520 <tr>
1521 <td><span id=msgBoxSubMsg style="line-height:130%"></span></td>
1522 </tr>
1523
1524 <tr>
1525 <td id="msgBoxClose" class=closeBut><input type=button value="Close" onclick="HidePopupDiv('msgBox');"></td>
1526 </tr>
1527 </table>
1528 </td>
1529 </tr>
1530 </table>
1531</div>
1532
1533<div id="qbMsgDiv" class="PopBox" style="visibility:hidden; display:none; padding:20px; width:400px">
1534 <span id="qbMsgBody"></span>
1535 <input type=button class=stdButton style="float:right" value="Close" onclick="HidePopupDiv('qbMsgDiv');">
1536</div>
1537
1538<div id="qbAlertDiv" class="PopBox" style="visibility:hidden; display:none; padding:30px;">
1539 <table cellspacing="0">
1540 <tr>
1541 <td style="padding-right:20px" valign=top><img src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/i/icons/24/warning_24.gif" border=0></td>
1542 <td style="font-size:110%; line-height:140%" id="qbAlertSpan"> </td>
1543 </tr>
1544
1545 <tr>
1546 <td class=centerButs colspan=2>
1547 <input type=button value=" OK " onclick="HidePopupDiv('qbAlertDiv');">
1548 </td>
1549 </tr>
1550 </table>
1551</div>
1552
1553
1554<div id="qbConfDiv" class="PopBox" style="visibility:hidden; display:none; padding:30px">
1555 <table cellspacing="0">
1556 <tr>
1557 <td style="padding-right:20px; line-height:140%" valign=top><img src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/i/qmarkBalloon.gif" border=0></td>
1558 <td style="font-size:110%; line-height:160%" id="qbConfSpan"> </td>
1559 </tr>
1560
1561 <tr>
1562 <td class=centerButs colspan=2>
1563 <input type=button id=confYesBut value=" OK " onclick="QBconfirmYesProc()">
1564 <input type=button id=confNoBut value="Cancel" onclick="QBconfirmNoProc();">
1565 </td>
1566 </tr>
1567 </table>
1568</div>
1569
1570<div id="qbConfSmallDiv" class="PopBox" style="visibility:hidden; display:none; padding:15px 20px">
1571 <table cellspacing="0">
1572 <tr>
1573 <td style="font-size:100%;" id="qbConfSmallSpan"> </td>
1574 </tr>
1575
1576 <tr>
1577 <td class=centerButs style="padding-top:15px">
1578 <input type=button id=confSmallYesBut value=" OK " onclick="QBconfirmYesProc()" style="font-size:85%;">
1579 <input type=button id=confSmallNoBut value="Cancel" onclick="QBconfirmNoProc();" style="font-size:85%;">
1580 </td>
1581 </tr>
1582 </table>
1583</div>
1584
1585
1586<div id="qbBusyDiv" style="display:none;">
1587 <span class="BusyIcon"></span>
1588 <span id="qbBusySpan" class="FS-H1"> </span>
1589</div>
1590
1591
1592
1593<div id="qbPromptDiv" class="PopBox" style="visibility:hidden; display:none; padding:30px">
1594 <table cellspacing="0">
1595 <tr>
1596 <td style="padding-right:20px; line-height:140%" valign=top rowspan=2><img src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/i/qmarkBalloon.gif" border=0></td>
1597 <td style="font-size:110%;" id="qbPromptMsg"> </td>
1598 </tr>
1599
1600 <tr>
1601 <td><input type=text size=50 id="qbPromptInput" style="font-size:110%; position:static;"></td>
1602 </tr>
1603
1604 <tr>
1605 <td class=centerButs colspan=2>
1606 <input type=button value=" OK " onclick="QBpromptYesProc()">
1607 <input type=button value="Cancel" onclick="HidePopupDiv('qbPromptDiv');">
1608 </td>
1609 </tr>
1610 </table>
1611</div>
1612
1613<div id=qbGreetDiv class="PopBox" style="visibility:hidden; display:none; top:0px; left:0px; width:500px;">
1614 <table cellpadding="0" cellspacing="0" border=0>
1615 <tr>
1616 <td rowspan=3 style="padding-right:20px" valign=top align=left><img src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/i/guide.png" width=92 height=89></td>
1617 <td id=ladyTitle colspan=2 width="507" valign=top style="font-size:140%; font-family:Trebuchet MS; padding-bottom:10px;"></td>
1618 </tr>
1619 <tr>
1620 <td id=ladyBody colspan=2></td>
1621 </tr>
1622 <tr>
1623 <td style="padding-top:15px"><a href="#" onclick="HidePopupDiv(); return false;"><img src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/i/close.png"></a></td>
1624 <td style="padding-top:25px; color:#555;" colspan=3 align=right nowrap><input type=checkbox> Don't show me this message again</td>
1625 </tr>
1626 </table>
1627</div>
1628
1629
1630
1631
1632<div style='display:none; width:500px' id='MINI_HELP_EMPTY' class=PopBox>
1633<h4></h4>
1634<div></div>
1635<input type=button value='Close' onclick='HidePopupDiv("MINI_HELP_EMPTY")' class=stdButton style="margin-top:5px; float:right;">
1636</div>
1637
1638
1639<div id=fauxToolTipDiv
1640 style="visibility:hidden; display:none; z-index:8; left:0px; top:0px; border:1px solid #888; padding:1px 4px; position:absolute; background-color:#FFFFDC; cursor:default;">
1641 <span id=fauxToolTipText style="line-height:150%;">foo</span><br>
1642</div>
1643
1644
1645
1646<div id="verificationRequiredDialog" class="nodisplay">
1647 <div id="verificationRequiredHead">
1648 <div id="verificationRequiredImage"><img src="https://assets-cflare.quickbasecdn.net/res/8ad1f80-4240/css/themes/classic/images/icons/verificationrequired.png" /></div>
1649 <div id="verificationRequiredText">
1650 <p id="verificationRequiredFirstPara">We're glad you're interested in doing more with Quick Base!</p>
1651 <p class="verificationRequiredPara">Now we need to make you official before you share apps or manage your account.</p>
1652 </div>
1653 </div>
1654 <div style="clear: both;">
1655 <p class="verificationRequiredBoldPara">Verifying your email lets you share Quick Base with others in your company.</p>
1656 </div>
1657 <table>
1658 <tr>
1659 <td><div class="verificationRequiredFieldLabel">Your work email</div><input id="newEmailAddress" type="text" class="verificationRequiredInput" value="" /></td>
1660 </tr>
1661 <tr>
1662 <td><div class="verificationRequiredFieldLabel">Your company</div><input id="newYourCompanyName" type="text" class="verificationRequiredInput" value="" /></td>
1663 </tr>
1664 </table>
1665</div>
1666
1667
1668
1669
1670<div id="timingdata" style="display:none">
1671
1672
1673
1674<input type="hidden" name="isLongRequest" value="false" />
1675
1676<div id="timerStats">
1677 <div id="timerStatsList">
1678<h5>Client Performance Report</h5>
1679 <pre>Network latency: (<span id="timeForNetworkLatency"></span>)</pre>
1680 <pre>The time taken for page load once the page is received from the server:(<span id="timeForPageLoad"></span>)</pre>
1681 <pre>The total process of navigation and page load: (<span id="timeForNavStart"></span>)</pre>
1682 <pre><span id="howGotHere"></span></pre>
1683 </div>
1684
1685 <div id="timerNoPerfObj">
1686 <br />
1687 <pre>From inline js at page top..
1688 .. to the time until docready:(<span id="docreadyspan"></span> s)
1689 .. to the time until window load begins: (<span id="windowloadspan"></span> s)
1690 .. to the time until window load ends: (<span id="windowloadendspan"></span> s)</pre>
1691 </div>
1692 </div>
1693</div>
1694
1695
1696
1697
1698
1699<script type="text/javascript">
1700 IsGoogleAnalyticsEnabled = "1" == "1";
1701 AreWalkMeTutorialsEnabled = "" == "1";
1702 IsAutotestEnabled = "0" == "1";
1703
1704 isInTrial = "false" == "true";
1705 trackToLog = true;
1706 gGAAccountID = "UA-230037-1";
1707
1708 // Setup walkme js snippet if its enabled
1709 if(AreWalkMeTutorialsEnabled)
1710 {
1711 SetupWalkMeTutorialScript(false, IsAutotestEnabled);
1712 }
1713
1714 /* all pages will have the google analytics tracking functions from analytics.js, but will only load
1715 the ga.js file and actually do tracking if it is enabled
1716 if tracking is not enabled, will not load the ga script file */
1717
1718 //asynch install google analytics js code
1719 if (IsGoogleAnalyticsEnabled)
1720 {
1721 loadGoogleAnalytics();
1722 }
1723</script>
1724
1725
1726
1727<script>
1728/* the following code tracks the page when it loads separated into a separate section
1729 it is specialized code (customer/prospect) for marketing not used on all pages
1730 */
1731$(window).load(function()
1732{
1733 GoogleAnalytics_Run();
1734});
1735</script>
1736
1737
1738<input type="hidden" value="first" name="firstTimeLoaded">
1739
1740<script type="text/javascript">
1741
1742
1743 $(window).bind("load", function () {
1744 if ($("#bottomFooter").css("bottom") == "0px" && $("#bottomFooter").css("position") == "fixed") {
1745 $("#bottomSpacer").height($("#bottomFooter").height());
1746 }
1747 else if ($("#draftBanner").css("bottom") == "0px" && $("#draftBanner").css("position") == "fixed") {
1748 $("#bottomSpacer").height($("#draftBanner").height());
1749 }
1750 });
1751
1752</script>
1753
1754
1755<div id="dQuickTourOverlay" class="DisplayNone"></div>
1756
1757<div id="dQuickTourContainer"></div>
1758
1759
1760<script type="text/javascript">
1761 require(['ui-footer-message'], function (Footer) {
1762 try {
1763 Footer.showIeUnsupportedMessage();
1764 } catch (err) {
1765 // There was a problem loading the Footer module. Silently fail.
1766 }
1767 }, function (err) {
1768 // Could not load the footer messages module. Silently fail.
1769 });
1770</script>
1771
1772<div id="regNeedEmailPopup" class="PopBox" style="visibility:hidden; display:none; width:500px; left:0px; top:0px;">
1773
1774 <h4>Please enter your email address</h4>
1775
1776 <p>To begin registration we first need your email address.</p>
1777
1778 <form method="post" action="main?a=reg&what=" name=regform onSubmit="return checkRegForm()">
1779
1780 Email address: <input type="text" name="loginid" size=40 id=loginidreg>
1781
1782 <div style="float:right; padding-top:30px">
1783 <input type=submit value="Register" id="needEmailRegister">
1784 <input type=button value="Cancel" onClick="HidePopupDiv('regNeedEmailPopup')">
1785 </div>
1786
1787 <input type=hidden name="whichButton" value="register">
1788
1789 </form>
1790
1791
1792</div></body>
1793</html>