Javascript Changes Document Core scripts have been converted to use jquery for better functionality and ease of programming. All scripts will be converted as time permits but current versions will still run. Added new automatic checking: Only fully functional in 8.6.2? Automatic checks can be turned on or off globally, for a specific page or for a specific question. Automatic checks Other Specify: Behaves like the old setother/findother function Unlimited number of other specify responses. Automatically checks an other specify response when specify text is entered. Global variables Force text entry if other specify response is checked. Default is true. Popup Other specify box entry. Default is false. Hide Other specify box until specify response is checked. Default is false. Unique Response: Behaves like the old setunique function Unlimited number of unique responses Automatically checks for other specify responses associated with the question Global Variables Controls how an error is presented when a unique response and another response is given. alert: Popup error message. Default setting is alert. confirm: Presents a dialogue box as to which response should be cleared. The unique response or the other responses. none: No error presented. Clears the last response checked. Number of responses on Multiple Response Questions: Behaves like the old setmultiple function. Can only check maximum number of responses and not a minimum number of responses. Numeric Checks: Behaves like the old setnum/setnumeric function Checks for range Checks for number of decimals Disallows checking an exception response and entering a number Global Variables Force a numeric response: Force either a numeric response or an exception code. Default is true. Allow fewer decimals: Allow fewer than the specified number of decimals. Default is false. Required Checks: Behaves like the old setnoskip function. Prompts if a response is not given to a required questions. Question set to subtype b or inside a grid b have the automatic checks turned off. Can use a generic error message or question specific ones. Global Variables Controls how an error message is presented when a response is not given. alert: Presents an error message and page cannot be submitted until a responses is given confirm: Presents a dialogue box. If Ok is clicked page is allowed to submit without response. If cancel is clicked then a response must be given. Text Length Checks: Behaves like the old textlen function. Checks for maximum number of responses on var and text type questions. Checks for minimum number of characters on var type questions. Option to present the remaining number of characters that can be typed Global Variables Optional warning can be presented when approaching the maximum number of characters. Default is 0 but can be set to any number below the max. Automatic Checks vs Individual Checks. The above functions can be turned off and individual checks run instead. In most cases this provides individual question control over the global settings for these functions. Individual Checking functions: Functions have been renamed to use a more consistent naming convention. The old name of the function is first and the new name is second. The old versions will continue to work but in most cases the new version is simpler to use set_checkbox_to_radio/SetCheckBoxToRadio: Force checkboxes to behave like radio buttons. Only 1 can be checked. Differences: none SetMinimumSum: Checks for a minimum and maximum value for a series of numeric quesions Differences: none setmulitple/SetMultipleResponseCheck: Checks for a minimum and maximum number of responses on multiple response fld/cat questions. Differences: With setmultiple user had to pass question label, minimum number of responses, maximum number of responses and any exception codes With SetMultipleResponseCheck user only has to pass question label and the minimum number of responses setna/SetNoAnswer: User can set a relationship between a single question and other questions on the page so that if a response is given to one then the no responses is allowed for the other(s). Differences: none setnodupes/SetNoDuplicateResponses: User can set a relationship between a series of questions so that the same response cannot be given to any of them. Differences: none setnoskip/SetRequiredCheck: User can set so that a response to a question is required Differences: Confirmation type is now set globally and cannot be set for an individual questions Note: Should not be used if automatic required response checking is set setnum/setnumeric/SetNumericCheck: Checks for range, number of decimals and that a number and an exception code cannot be entered. Differences: setnum required passing question label, minimum, maximum and number of decimals SetNumericCheck only requires passing the question label or labels. Note: Should not be used if automatic number checking is set setorder/SetResponseOrder: Records the order of responses for multiple response questions Differences: setorder required passing question label, a label to store the order of responses in, maximum number of responses and any exception codes SetResponseOrder only requires the question label and the label to store the order of responses in. findother/setother/SetOtherSpecify: Checks for other specify responses. Automatically checks other response if text is entered into the specify. Automatically clears specify response if other response is unchecked. Differences: findother allowed for only one other specify response per question setother required passing question label, the other response codes and the question label to use for the specify SetOtherSpecify only requires passing the question label Force other, popup other, hide other can only be set globally and not for individual questions. Note: Should not be used if automatic other specify checking is set SetOtherInterval: Allows for setting up other specify type questions for numeric questions or for a range of responses Differences: none SetPageCheck: Variation of setnoskip/SetRequiredCheck. Automatically checks for a response for all questions on a page. Warnings and error will only come up the first time the page is submitted. Differences: none Note: Should not be used if automatic required response check is set. setrank/SetRank: Allows for setting up a relationship between several ranking questions on a page so that each question must be given a unique rank. Differences: none SetReveal: Allows you to hide and reveal portions of the page according to the current values of a base question. In essence allows you to set skip patterns based on responses in the same page. Differences: none settab/SetTabSequence: Allows for setting a different tab order on the page. Differences: none settotal/SetTotal: Allows for setting up running totals for rows and columns on the page on any series of numeric questions. Checks for a total and a Grand Total if desired. Differences: none setunique/SetUniqueCheck: Prevents checking a unique response and any other response on multi-response questions: Differences: setunique required passing question label, other specify labels and up to five unique responses with specific error text for each SetUniqueCheck: requires passing only the question label. Can optionally pass specific error text for each unique response Note: Should not be used if automatic unique response check is set. textlen/SetTextCheck: Allows for checking the maximum and minimum number of characters on var and text type questions. Differences: textlen required passing the question label, maximum number of characters, minimum number of characters, warning character value, the id of a text counter to show the remaining number of characters SetTextCheck only requires the question label and the id of the counter if one is being used. The warning column value can now only be set globally and not for individual questions. Note: Should not be used if automatic text length check is set. textex/SetTextException: Allows for setting a relationship between a text question and a checkbox question so a response to both cannot be given. Disallows checking more than one exception code. Differences: none Decremented Function: setdep: a function used to set up skip patterns for questions on the same page. Will no longer run. Use SetReveal instead Css Functions: SetStyle: Allows for changing css style elements on the fly InsertText: Allows for inserting text and html into an element on the page SetClass" Allows changing the class of an element on the fly Other Functions: parse_query/ParseQuery: Allows for picking up data from the url on the first page of a survey and storing it in hidden questions on the page. Differences: none setSubmitControl: Prevents submission of a page until a set number of seconds has passed. Automatically submits a page after a set number of seconds has passed. ShowMessageOnClose: Presents a message if the browser window is closed. For websurvent default is not to present a message. For webCATI the default is to present a message. setForceSuspend: Programmatically clicks the suspend button after a set amount of time. This has a two fold affect. The browser is taken to suspend.tmpl instead of just sitting on the page. Saves any responses entered on that page. No Right Click: Disallows clicking the right browser button. Automatically places the browser on the last page loaded so that browser back and forward are disabled. Popup Help: Easy setup for a popup help on a survey StatusBar: Allows setting up an image or css based status bar to show progress through the survey. Css based status bars are recommended for better control of the look. Template Functions: Functions for controlling what happens when a suspend, terminate or complete occurs. Generally closes the popup window after a set amount of time. Custom Script Handling: The rules for adding custom scripts have been simplified and changed. Chances of script conflicts should be reduced but cannot be entirely ruled out. Stand Alone Scripts: AllocationSlider_jquery.js: Provides a series of linked sliders to capture data. When one slider is moved it changes the available responses for all the others. BlockScale_jquery.js: Another way to present a graphic scale for rating type questions. CallbackPage_jquery.js: For webCATI: Presents a graphic way to gather dates and times for setting callbacks. CardSort_jquery.js: Provides a drag and drop function to sort elements into different categories. CfmcCalendar_jquery.js: Presents graphic calendar for entry of dates. User can control how dates are presented and stored as well as what dates are available. ClickCell_jquery.js: Makes it so that clicking into any cell of a table is the same as clicking a radio button or checkbox in that cell. ClickData_jquery.js: Provides a way to make any type of element on a page clickable to store either single or multiple response data. ClickTotal_jquery.js: Provides a way to create a running total based on checkboxes/radio buttons clicked and numeric entry of values or quantities DataEntryMode_jquery.js: Allow simpler entry of data when using webcati or websurvent as a data entry mode tool. dbr_jquery.js: Allows for setting up a dbr style question in a browser. DragNDrop_jquery.js: Provides a graphic way to capture single or multiple response data. Objects can be dragged into containers to store data. DragNDropRank_jquery.js: A version of the DragNDrop script designed for graphically ranking items. DragTimeLine_jquery.js: Provides a graphic way to drag items into a calendar to capture timeline type information. HighLightMode_jquery.js: Allows for setting up text highlighting with the ability to store data based on what is highlighted. Only works on text and not images. imageclick_jquery.js: allows for presenting a series of images and storing data based on which were clicked. ImageMapData_jquery.js: Allows for presenting an image and storing data based on what section or sections of the image is clicked. ImageMapText_jquery.js. Allows for presenting an image and gathering text responses when a section of sections of the image is clicked. img_jquery.js: script with various functions for manipulating images on a page changeimg: allows for changing the src of an image tag either on mouseover, on click or automatically setimg1: allows for presenting an image on screen for a defined amount of time. setimg2: allows for presenting a pair of images on screen for a defined amount of time. popimg: allows for presenting an image in a popup window. Can be used to show a thumbnail image and a larger version of an image. showseries: allows for presenting a series of images either in a specific order or random order. Each image will be shown for a set amount of time MultiplyTotal_jquery.js: To allow a respondent to enter numeric data, multiple the value entered by a set amount and show a total placefocus_jquery.js: Places focus on the first visible data element on the page. Used most often with web cati. PresentInfo_jquery.js: Allow for presenting information to a respondent when the mouseover or click and element on a page. ScaleSlider_jquery.js: Provides slider for rating type questions. Slider can be either vertical, horizontal or midpoint ShelfTest_jquery.js: Provides a way to present graphic shelf test type questions. Can also provide a shopping cart type presentation. Can be tricky to set up and use. SurveyTimers_jquery.js and DisplayTimers_jquery.js: Can be used in conjunction with the submit_timers.tmpl file and allows passing a time in seconds to the page through the use of !display,6, !display,3, spc,j or spc,y. Display Times is simply a way to display a counter on screen before the page is submitted. TimeEntry_jquery.js: Provides a graphic way for collecting time of day information. Decremented Scripts: These scripts have been decremented and should not be used. All are graphic based scripts that have better and more functional replacements. dragdrop.js: Use DragNDrop.js dragdrop_rnk.js/dragdrop_rnk_multiple.js: Use DragNDropRank.js slider.js: Use ScaleSlider.js