{"version":3,"sources":["scripts/global.min.js"],"names":["RedactorPlugins","yepnope","test","Modernizr","requestAnimationFrame","nope","input","placeholder","window","mobileAndTabletCheck","check","a","substr","navigator","userAgent","vendor","opera","appVersion","indexOf","$","addClass","getCookieScope","cookieArray","document","cookie","split","cookieScope","i","length","currentCookie","trim","currentName","shift","currentValue","join","on","e","each","this","prop","msMaxTouchPoints","maxTouchPoints","placeHolderConfig","className","visibleToScreenreaders","visibleToScreenreadersHideClass","visibleToNoneHideClass","hideOnFocus","removeLabelClass","hiddenOverrideClass","forceHiddenOverride","forceApply","autoInit","loadEvents","unshift","initializeFormElements","set","filter","attr","attrRemoveTitle","removeAttr","select","attributes","setValue","placeholdFocus","placeholdBlur","detached","detach","prependTo","appendTo","selectedOptions","last","val","get","selectedIndex","index","label","filename","pop","text","removeClass","resizeFieldsets","fieldsets","find","not","currentTop","currentHeight","height","thisFieldset","thisTop","resizeFieldsetsPosition","thisHeight","thisMargin","resizeFieldsetsMargin","j","currentMargin","fieldset","offset","top","undefined","css","tempMargin","replace","parseFloat","triggerParentEvent","selector","eventType","extraParameters","trigger","toggleChildRows","evt","preventDefault","parentA","parentTR","parent","parentTBODY","parentTABLE","parentID","parentTABLENUM","parents","children","hide","show","hasClass","stripeIndex","writeTreeSessionStorage","Storage","path","location","pathname","dataID","dataStatus","sessionStorage","first","readTreeSessionStorage","rowLinkProxy","row","data","link","calling","linkTarget","open","iframe","href","one","displayConfirmationBanner","remove","target","banner","yesButton","noButton","exampleFieldset","exampleLegend","articleH2","progressbar","breadcrumb","instructions","appStatus","eventContainer","frontEndH1","header","is","after","html","closest","submit","closeAlertBanner","insertAfter","position","outerHeight","animate","scrollTop","marginBottom","focus","displaySuccessBanner","msg","displayAlertBanner","displayWarningBanner","displayFailureBanner","displayExampleBanner","displayNoticeBanner","type","close","progressbar2","displayAccessibleAlertBanner","alertFieldset","alertLegend","closeAccessibleAlertBanner","successToast","el","displayToast","warningToast","failureToast","exampleToast","toast","showToast","growToast","hideToast","setTimeout","off","successConfirm","url","callback","displayConfirm","message","warningConfirm","failureConfirm","exampleConfirm","successAlert","warningAlert","failureAlert","title","buttonType","exampleAlert","titles","links","linkTitle","linkHref","noteModal","elementID","textarea","autoselect","topSpace","eventConfirm","hasCancel","setTextarea","modalFields","addMargin","settings","element","ownerDocument","defaultView","parentWindow","extend","noCallback","cancelCallback","directCallback","buttonTextYes","buttonTextNo","buttonTextOk","buttonTextCancel","confirm","center","modal","buttonFieldset","buttonLegend","yes","no","ok","cancel","titleArray","hrefArray","showConfirm","hideConfirm","call","modalElements","clone","append","scrollPos","modalHeight","margin","formatCommas","inputVal","x","toString","formatDecimal","dollarSign","addCommas","Math","round","toFixed","isNegative","checkOrganizationEligibility","costShare","ajaxData","successDestination","ajaxUrl","ajax","done","response","parseJSON","ERROR","STATUSCHECK","ELIGIBLE","bType","newUrl","CANREQUAL","STATUS","DATA","MSG","MSGTYPE","fail","validateRedactor","isValid","redactors","imageExtensions","redactor","redactorValid","images","contents","altText","includes","toastParent","body","windowID","setWindowID","id","name","loadStyleSheets","push","loadScripts","info","jQuery","write","executeLoadEvents","returnAfter","grep","value","key","inArray","concat","complete","has","mouseover"],"mappings":"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","file":"global.min.js","sourcesContent":["/**************************************************************************\r\nName: global.js\r\nDescription: Global site scripting \r\nDate Created: 12/05/2013 \r\n**************************************************************************/\r\n\r\n/* Redactor plugin storage */\r\nif (!RedactorPlugins) var RedactorPlugins = {};\r\n\r\n/* RequestAnimationFrame polyfill */\r\nyepnope({\r\n test: Modernizr.requestAnimationFrame,\r\n nope: [\"/scripts/polyfill.requestAnimationFrame.min.js\"],\r\n});\r\n\r\n/* Placeholder polyfill */\r\nyepnope({\r\n test: Modernizr.input.placeholder,\r\n nope: [\r\n \"/css/polyfill.placeholder.min.css\",\r\n \"/scripts/polyfill.placeholder.min.js\",\r\n ],\r\n});\r\n\r\n/* Mobile and tablet check */\r\nwindow.mobileAndTabletCheck = function () {\r\n var check = false;\r\n (function (a) {\r\n if (\r\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(\r\n a\r\n ) ||\r\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(\r\n a.substr(0, 4)\r\n )\r\n )\r\n check = true;\r\n })(navigator.userAgent || navigator.vendor || window.opera);\r\n return check;\r\n};\r\n\r\n/* IE 10 fix */\r\n/*if ( navigator.appVersion.indexOf('MSIE 10') != -1 )\r\n{\r\n\t$( 'html' ).addClass( 'is-ie' );\r\n\t$( 'html' ).addClass( 'is-ie10' );\r\n\t$( 'html' ).addClass( 'lt-ie11' );\r\n}*/\r\n\r\n/* IE 11 fix */\r\nif (\r\n navigator.appVersion.indexOf(\"Trident\") != -1 &&\r\n navigator.appVersion.indexOf(\"rv:11\") != -1\r\n) {\r\n $(\"html\").addClass(\"is-ie\");\r\n\r\n if (navigator.appVersion.indexOf(\"rv:11\") != -1)\r\n $(\"html\").addClass(\"is-ie11\");\r\n}\r\n\r\n/* Legacy Android fix */\r\nif (/android/i.test(navigator.userAgent)) {\r\n $(\"html\").addClass(\"is-android\");\r\n\r\n if (\r\n !/chrome/i.test(navigator.userAgent) &&\r\n !/firefox/i.test(navigator.userAgent) &&\r\n !/opera/i.test(navigator.userAgent)\r\n )\r\n $(\"html\").addClass(\"is-legacy-android\");\r\n}\r\n\r\n/*if( /ip(hone|od|ad)/i.test( navigator.userAgent ))\r\n{\r\n\t$( 'html' ).addClass( 'is-ios' );\r\n\r\n\tif( 6 >= parseInt( navigator.appVersion.match(/OS (\\d+)_(\\d+)_?(\\d+)?/ )[1] ))\r\n\t\t$( 'html' ).addClass( 'is-legacy-ios' );\r\n}*/\r\n\r\n/* Sane cookie scope formatting */\r\nvar getCookieScope = function () {\r\n var cookieArray = document.cookie.split(\";\");\r\n var cookieScope = {};\r\n\r\n for (var i = 0; i < cookieArray.length; i++) {\r\n var currentCookie = $.trim(cookieArray[i]).split(\"=\");\r\n var currentName = currentCookie.shift();\r\n var currentValue = currentCookie.join(\"=\");\r\n\r\n cookieScope[currentName] = currentValue;\r\n }\r\n\r\n return cookieScope;\r\n};\r\n\r\n$(\"form.singleSubmit\").on(\"submit\", function (e) {\r\n $('input[type=\"submit\"], button.continueBtn').each(function () {\r\n $(this).prop(\"disabled\", true);\r\n });\r\n});\r\n\r\n/* Windows touch device support */\r\n/* Support for full site's top navigation on touch devices */\r\nif (navigator.msMaxTouchPoints > 0 || navigator.maxTouchPoints > 0) {\r\n $(\"html\").addClass(\"touch\");\r\n}\r\n\r\n/* Session expiration notification */\r\n/*\r\nif( !$( 'html' ).hasClass( 'frame' ) || $( 'html' ).hasClass( 'reportBuilderFrame' ) )\r\n{\r\n\tvar sessionExpiry = $(\r\n\t\t'
' +\r\n\t\t\t'
' +\r\n\t\t\t\t'
' +\r\n\t\t\t\t\t'
Automatic Signout
' +\r\n\t\t\t\t\t'You will be automatically signed out in ' +\r\n\t\t\t\t\t'' +\r\n\t\t\t\t\t'. Click \"Continue\" to continue working, or \"Sign Out\" to sign out now.' +\r\n\t\t\t\t\t'' +\r\n\t\t\t\t\t'' +\r\n\t\t\t\t'
' +\r\n\t\t\t'
' +\r\n\t\t'
' ).prependTo( 'body' );\r\n\r\n\tvar setSessionExpiry = function( settings )\r\n\t{\r\n\t\tvar cookieScope = getCookieScope( );\r\n\t\tvar expiryTime = cookieScope.sessionExpiry;\r\n\t\tvar currentTime = ( new Date( )).getTime( );\r\n\t\tvar leftTime = Math.floor( ( expiryTime - currentTime - 1000 ) / 1000 );\r\n\r\n\t\tif( !parseInt( cookieScope.sessionExpiryActive ))\r\n\t\t{\r\n\t\t\tclearInterval( sessionExpiryInterval )\r\n\t\t\tif( parseInt(sessionExpiryActiveOnLoad) )\r\n\t\t\t{\r\n\t\t\t\twindow.location.reload( );\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif( 300 >= leftTime )\r\n\t\t{\r\n\t\t\tsessionExpiry.addClass( 'active' ).attr('aria-hidden', false);\r\n\t\t\t// Remove the tabindex to allow buttons to be selected with the keyboard.\r\n\t\t\t$('input[value=\"Continue\"]').removeAttr('tabindex');\r\n\t\t\t$('input[value=\"Sign Out\"]').removeAttr('tabindex');\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tsessionExpiry.removeClass( 'active' ).attr('aria-hidden', true);\r\n\t\t\t//When the modal is hidden, prevent the input elements from being selectable with the keyboard.\r\n\t\t\t$('input[value=\"Continue\"]').attr('tabindex',-1);\r\n\t\t\t$('input[value=\"Sign Out\"]').attr('tabindex',-1);\r\n\t\t}\r\n\r\n\t\tif( 0 >= leftTime )\r\n\t\t{\r\n\t\t\tforceSessionExpiry( )\r\n\t\t\tclearInterval( sessionExpiryInterval );\r\n\t\t}\r\n\r\n\t\tif( 60 < leftTime )\r\n\t\t\tleftTime = Math.floor( leftTime / 60 ) + ' minute' + ( Math.floor( leftTime / 60 ) != 1 ? 's' : '' );\r\n\t\telse\r\n\t\t\tleftTime += ' second' + ( leftTime != 1 ? 's' : '' );\r\n\r\n\t\t$( '#sessionExpiryTime' ).text( leftTime )\r\n\t};\r\n\r\n\tvar resetSessionExpiry = function( )\r\n\t{\r\n\t\t//$.ajax( '/cfcs/siteGW.cfc?method=ping' );\r\n\r\n\t\t$.ajax({\r\n\t\t\turl : '/cfcs/siteGW.cfc',\r\n\t\t\tcache : false,\r\n\t\t\tdataType : 'json',\r\n\t\t\tdata : '&method=timeoutPing',\r\n\t\t\tsuccess : function( result ){\r\n\t\t\t\tif( result[0].active == false )\r\n\t\t\t\t\tforceSessionExpiry( );\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t};\r\n\r\n\tvar forceSessionExpiry = function( )\r\n\t{\r\n\t\t$( window ).off( 'beforeunload' );\r\n\t\twindow.location = $( 'a[href$=\"signout/\"]' ).first( ).attr( 'href' );\r\n\t};\r\n\r\n\tvar sessionExpiryActiveOnLoad = getCookieScope().sessionExpiryActive;\r\n\r\n\tvar sessionExpiryInterval = setInterval( setSessionExpiry, 1000 );\r\n\r\n\tsessionExpiry.on( 'click', 'input[value=\"Continue\"]', resetSessionExpiry );\r\n\tsessionExpiry.on( 'click', 'input[value=\"Sign Out\"]', forceSessionExpiry );\r\n\r\n\tloadEvents.push( function( ){\r\n\t\t$( window ).focus( function( ) {\r\n\t\t\tvar cookieScope \t\t= getCookieScope( );\r\n\t\t\tvar sessionExpiryActive = cookieScope.sessionExpiryActive;\r\n\r\n\t\t\tif( !sessionExpiryActive ) window.location.reload( );\r\n\t\t});\r\n\t});\r\n}\r\n*/\r\n\r\nplaceHolderConfig = {\r\n className: \"placeholder\",\r\n visibleToScreenreaders: true,\r\n visibleToScreenreadersHideClass: \"placeholder-hide-except-screenreader\",\r\n visibleToNoneHideClass: \"placeholder-hide\",\r\n hideOnFocus: true,\r\n removeLabelClass: \"visuallyhidden\",\r\n hiddenOverrideClass: \"visuallyhidden-with-placeholder\",\r\n forceHiddenOverride: true,\r\n forceApply: false,\r\n autoInit: true,\r\n};\r\n\r\nloadEvents.unshift(function () {\r\n initializeFormElements($(\"input, select, textarea\"));\r\n});\r\n\r\nvar initializeFormElements = function (set) {\r\n set.filter(\r\n \"input[placeholder], select[placeholder], textarea[placeholder]\"\r\n ).each(function () {\r\n $(this).attr(\"title\", $(this).attr(\"placeholder\"));\r\n\r\n //remove title if element has 'data-remove Title' attribute\r\n\r\n var attrRemoveTitle = $(this).attr(\"data-removeTitle\");\r\n if (\r\n typeof attrRemoveTitle !== typeof undefined &&\r\n attrRemoveTitle !== false\r\n ) {\r\n $(this).removeAttr(\"title\");\r\n } else {\r\n $(this).attr(\"title\", $(this).attr(\"placeholder\"));\r\n }\r\n });\r\n\r\n set.filter(\"select[placeholder]\").each(function () {\r\n var select = $(this);\r\n var attributes = \"\";\r\n var setValue = false;\r\n\r\n select.on(\"click\", placeholdFocus);\r\n select.on(\"change blur\", placeholdBlur);\r\n\r\n if (\"\" != select.attr(\"optional\")) attributes += \" disabled\";\r\n\r\n if (!$(\"option[selected]\", select).length) {\r\n attributes += \" selected\";\r\n select.addClass(\"placeheld\");\r\n setValue = true;\r\n }\r\n\r\n var detached = $(\"*\", select).detach();\r\n\r\n $(\r\n '\"\r\n ).prependTo(select);\r\n\r\n detached.appendTo(select);\r\n\r\n var selectedOptions = $(\"option[selected]\", select);\r\n if (selectedOptions.length) {\r\n selectedOptions = selectedOptions.last();\r\n select.val(selectedOptions.val());\r\n select.get(0).selectedIndex = $(\"option\", select).index(\r\n selectedOptions\r\n );\r\n } else {\r\n select.val(\"\");\r\n select.get(0).selectedIndex = 0;\r\n }\r\n\r\n // select.append(' ');\r\n });\r\n\r\n // set.filter( 'input[error], textarea[error]' ).on( 'keyup', function( ){\r\n // \tif( $( this ).val( ).trim( ) != $( this ).attr( 'error' ))\r\n // \t\t$( this ).addClass( 'pass' );\r\n // \telse\r\n // \t\t$( this ).removeClass( 'pass' );\r\n // });\r\n\r\n set.filter('input[type=\"file\"].custom').on(\"change\", function () {\r\n var input = $(this);\r\n var label = $('label[for=\"' + input.attr(\"id\") + '\"]');\r\n var filename = input.val().split(\"/\").pop().split(\"\\\\\").pop();\r\n\r\n label.addClass(\"noplaceholder\").text(filename);\r\n });\r\n};\r\n\r\nvar placeholdFocus = function () {\r\n var select = $(this);\r\n\r\n if (\r\n !$(\"html.lt-ie10\").length &&\r\n !$(\"html.is-android\").length &&\r\n !$(\"html.is-legacy-android\").length\r\n )\r\n select.removeClass(\"placeheld\");\r\n};\r\n\r\nvar placeholdBlur = function () {\r\n var select = $(this);\r\n\r\n select.removeClass(\"placeheld\");\r\n\r\n if (0 == select.get(0).selectedIndex) select.addClass(\"placeheld\");\r\n};\r\n\r\n/* Resizes fieldsets to maximum row height */\r\nvar resizeFieldsets = function () {\r\n var fieldsets = $(\"body\")\r\n .find(\"fieldset\")\r\n .filter(\":visible\")\r\n .not(\".controls\")\r\n .not(\".noResize\");\r\n var currentTop = 0;\r\n var currentHeight = 0;\r\n fieldsets.height(\"auto\");\r\n\r\n for (var i = 0; i < fieldsets.length; i++) {\r\n var thisFieldset = $(fieldsets[i]);\r\n var thisTop = resizeFieldsetsPosition(thisFieldset);\r\n var thisHeight = thisFieldset.height();\r\n var thisMargin = resizeFieldsetsMargin(thisFieldset);\r\n\r\n if (thisTop == currentTop) {\r\n if (thisHeight > currentHeight) {\r\n currentHeight = thisHeight;\r\n\r\n for (var j = i; j >= 0; j--) {\r\n if (resizeFieldsetsPosition(fieldsets[j]) == thisTop) {\r\n var currentMargin = resizeFieldsetsMargin(fieldsets[j]);\r\n\r\n if (currentMargin)\r\n $(fieldsets[j]).height(\r\n currentHeight - currentMargin\r\n );\r\n else $(fieldsets[j]).height(currentHeight);\r\n } else {\r\n j = 0;\r\n }\r\n }\r\n }\r\n\r\n if (thisHeight < currentHeight)\r\n thisFieldset.height(\r\n currentHeight - thisMargin\r\n ); /* + 1 is a fix for Firefox and IE */\r\n } else {\r\n currentTop = thisTop;\r\n currentHeight = thisHeight;\r\n }\r\n }\r\n};\r\n\r\nvar resizeFieldsetsPosition = function (fieldset) {\r\n var thisFieldset = $(fieldset);\r\n var thisTop = thisFieldset.offset().top;\r\n var thisMargin = resizeFieldsetsMargin(thisFieldset);\r\n\r\n thisTop -= thisMargin;\r\n\r\n return thisTop;\r\n};\r\n\r\nvar resizeFieldsetsMargin = function (fieldset) {\r\n var thisFieldset = $(fieldset);\r\n var thisMargin = 0;\r\n\r\n if (undefined != thisFieldset.css(\"margin-top\")) {\r\n var tempMargin = thisFieldset.css(\"margin-top\").replace(/[^\\d.-]/g, \"\");\r\n\r\n if (tempMargin.length) thisMargin = parseFloat(tempMargin);\r\n }\r\n\r\n return thisMargin;\r\n};\r\n\r\nloadEvents[loadEvents.length] = function () {\r\n if ($(\"fieldset\").not(\".controls\").length) {\r\n $(window).on(\"orientationchange resize\", resizeFieldsets);\r\n resizeFieldsets();\r\n }\r\n};\r\n\r\n/* Supports cross-viewport communication */\r\nvar triggerParentEvent = function (selector, eventType, extraParameters) {\r\n if (undefined == extraParameters) extraParameters = {};\r\n\r\n $(selector).trigger(eventType, extraParameters);\r\n};\r\n\r\n/* Supports tree-like tables */\r\nvar toggleChildRows = function (evt) {\r\n evt.preventDefault();\r\n\r\n var parentA = $(this);\r\n var parentTR = parentA.parent().parent();\r\n var parentTBODY = parentTR.parent();\r\n var parentTABLE = parentTBODY.parent();\r\n var parentID = parentTR.attr(\"data-id\");\r\n var parentTABLENUM = -1;\r\n\r\n if (parentTABLE.parents(\".pinned\").length) {\r\n var parentTABLENUM = parentTABLE.parents(\".pinned\").attr(\"tablenum\");\r\n if (typeof parentTABLENUM != \"undefined\" && parentTABLENUM !== false) {\r\n parentTABLE = $(\r\n 'div.pinned[tablenum=\"' +\r\n parentTABLENUM +\r\n '\"] table,div.scrollable[tablenum=\"' +\r\n parentTABLENUM +\r\n '\"] table'\r\n );\r\n parentTBODY = $(\r\n 'div.pinned[tablenum=\"' +\r\n parentTABLENUM +\r\n '\"] table tbody,div.scrollable[tablenum=\"' +\r\n parentTABLENUM +\r\n '\"] table tbody'\r\n );\r\n }\r\n }\r\n\r\n if (\"Collapse\" == parentA.attr(\"title\")) {\r\n var children = $(\"tr\", parentTBODY).filter(\r\n '[data-parent^=\"' + parentID + '\"]'\r\n );\r\n\r\n children.hide();\r\n\r\n $(\"a.collapse\", children)\r\n .removeClass(\"collapse\")\r\n .addClass(\"expand\")\r\n .attr(\"title\", \"Expand\")\r\n .text(\"Expand\");\r\n parentA\r\n .removeClass(\"collapse\")\r\n .addClass(\"expand\")\r\n .attr(\"title\", \"Expand\")\r\n .text(\"Expand\");\r\n } else {\r\n var children = $(\"tr\", parentTBODY).filter(\r\n '[data-parent=\"' + parentID + '\"]'\r\n );\r\n\r\n children.show();\r\n parentA\r\n .removeClass(\"expand\")\r\n .addClass(\"collapse\")\r\n .attr(\"title\", \"Collapse\")\r\n .text(\"Collapse\");\r\n }\r\n\r\n // Candy striping support\r\n if (!parentTABLE.hasClass(\"nostripe\")) {\r\n $(\"tr\").removeClass();\r\n\r\n var stripeIndex = 0;\r\n if (parentTABLE.parents(\".pinned\").length) {\r\n $(\r\n \"tr\",\r\n $('div.pinned[tablenum=\"' + parentTABLENUM + '\"] table tbody')\r\n )\r\n .not(\":hidden\")\r\n .each(function (index) {\r\n stripeIndex += 1;\r\n $(this).addClass(\r\n 0 == stripeIndex % 2 ? \"evenChild\" : \"oddChild\"\r\n );\r\n });\r\n stripeIndex = 0;\r\n $(\r\n \"tr\",\r\n $(\r\n 'div.scrollable[tablenum=\"' +\r\n parentTABLENUM +\r\n '\"] table tbody'\r\n )\r\n )\r\n .not(\":hidden\")\r\n .each(function (index) {\r\n stripeIndex += 1;\r\n $(this).addClass(\r\n 0 == stripeIndex % 2 ? \"evenChild\" : \"oddChild\"\r\n );\r\n });\r\n } else {\r\n $(\"tr\", parentTBODY)\r\n .not(\":hidden\")\r\n .each(function (index) {\r\n stripeIndex += 1;\r\n $(this).addClass(\r\n 0 == stripeIndex % 2 ? \"evenChild\" : \"oddChild\"\r\n );\r\n });\r\n }\r\n }\r\n\r\n writeTreeSessionStorage(parentTABLE);\r\n};\r\n\r\nvar writeTreeSessionStorage = function (parentTABLE) {\r\n // HTML5 session storage\r\n if (\"undefined\" !== typeof Storage) {\r\n var path = window.location.pathname.replace(/\\//g, \"_\");\r\n var dataID = [];\r\n var dataStatus = [];\r\n\r\n sessionStorage[\"tree\" + path] = \"\";\r\n\r\n $(\"tr[data-id]\", parentTABLE).each(function (index) {\r\n dataID[dataID.length] = $(this).attr(\"data-id\");\r\n dataStatus[dataStatus.length] = $(\"a\", $(this))\r\n .first()\r\n .hasClass(\"collapse\");\r\n });\r\n\r\n dataID = dataID.join(\",\");\r\n dataStatus = dataStatus.join(\",\");\r\n\r\n sessionStorage[\"tree\" + path] += dataID + \"|\";\r\n sessionStorage[\"tree\" + path] += dataStatus + \"|\";\r\n }\r\n};\r\n\r\nvar readTreeSessionStorage = function (parentTABLE) {\r\n var path = window.location.pathname.replace(/\\//g, \"_\");\r\n\r\n // HTML5 session storage\r\n if (\"undefined\" !== typeof Storage && sessionStorage[\"tree\" + path]) {\r\n var dataID = sessionStorage[\"tree\" + path].split(\"|\")[0].split(\",\");\r\n var dataStatus = sessionStorage[\"tree\" + path].split(\"|\")[1].split(\",\");\r\n\r\n $(\"tr[data-id]\", parentTABLE).hide();\r\n $(\"tr[data-id] a.inline.collapse\")\r\n .text(\"Expand\")\r\n .attr(\"title\", \"Expand\")\r\n .removeClass(\"collapse\")\r\n .addClass(\"expand\");\r\n $(\"tr[data-id]\", parentTABLE).first().show();\r\n\r\n for (var i = 0; i < dataID.length; i++) {\r\n if (\"true\" === dataStatus[i])\r\n $('tr[data-id=\"' + dataID[i] + '\"] a.inline.expand').trigger(\r\n \"click\"\r\n );\r\n }\r\n } else {\r\n $(\"a.inline.collapse\", parentTABLE)\r\n .first()\r\n .trigger(\"click\")\r\n .trigger(\"click\");\r\n }\r\n};\r\n\r\n/* Sets up a proxy for row links */\r\nvar rowLinkProxy = function (evt) {\r\n evt.preventDefault();\r\n\r\n var row = $(this);\r\n\r\n if (row.hasClass(\"linkproxy\") || undefined == evt.data.selector) return;\r\n\r\n var link = row.find(evt.data.selector);\r\n\r\n if (\r\n !link.length ||\r\n (undefined == evt.data.calling && undefined == link.attr(\"href\"))\r\n )\r\n return;\r\n\r\n row.addClass(\"linkproxy\");\r\n\r\n var linkTarget = link.attr(\"target\");\r\n\r\n if (undefined == linkTarget) linkTarget = \"_self\";\r\n\r\n // if( undefined == evt.data.calling )\r\n switch (linkTarget) {\r\n case \"_blank\":\r\n evt.data.calling = function () {\r\n window.open(link.attr(\"href\"));\r\n };\r\n break;\r\n case \"_self\":\r\n evt.data.calling = function () {\r\n window.location = link.attr(\"href\");\r\n };\r\n break;\r\n case \"_parent\":\r\n evt.data.calling = function () {\r\n window.parent.location = link.attr(\"href\");\r\n };\r\n break;\r\n case \"_top\":\r\n evt.data.calling = function () {\r\n window.top.location = link.attr(\"href\");\r\n };\r\n break;\r\n default:\r\n evt.data.calling = function () {\r\n var iframe = $('iframe[name=\"\"]');\r\n\r\n if (iframe.length) iframe[0].href = link.attr(\"href\");\r\n };\r\n break;\r\n }\r\n\r\n link.one(\"click\", evt.data.calling).trigger(\"click\");\r\n\r\n row.removeClass(\"linkproxy\");\r\n};\r\n\r\n/* Displays a confirmation banner */\r\nvar displayConfirmationBanner = function (evt) {\r\n evt.preventDefault();\r\n\r\n $(\"p.banner\").remove();\r\n\r\n var target = $(evt.target);\r\n var banner = $(\"

\");\r\n var yesButton = $(\"\");\r\n var noButton = $(\"\");\r\n var exampleFieldset = $(\"

\");\r\n var exampleLegend = $(\"\");\r\n var articleH2 = $(\"article h2\").first();\r\n var progressbar = $(\"ul#progressbar\").not(\"ul.registrationBar\");\r\n var breadcrumb = $(\"ul#breadcrumb\");\r\n var instructions = $(\"div#instructions\");\r\n var appStatus = $(\"div.appStatus\");\r\n var eventContainer = $(\"div#eventContainer\");\r\n var frontEndH1 = $(\"article h1.interior-h1\");\r\n var header = $(\"\");\r\n\r\n header.addClass(\"bannerTitle\");\r\n header.addClass(\"bold\");\r\n header.text(\"ARE YOU SURE?\");\r\n\r\n if (target.is(\"span.btnText\")) {\r\n target = target.parent();\r\n }\r\n\r\n if (instructions.length) var after = instructions;\r\n else if (frontEndH1.length) var after = frontEndH1;\r\n else if (appStatus.length) var after = appStatus;\r\n else if (progressbar.length) var after = progressbar;\r\n else if (articleH2.length) var after = articleH2;\r\n else if (eventContainer.length) var after = eventContainer;\r\n else var after = $(\"article h1\");\r\n\r\n after = after.first();\r\n\r\n banner.addClass(\"banner\");\r\n banner.addClass(\"example\");\r\n banner.html(\r\n target.attr(\"data-message\")\r\n ? target.attr(\"data-message\")\r\n : target.attr(\"title\")\r\n ? target.attr(\"title\")\r\n : target.attr(\"href\")\r\n );\r\n exampleLegend.html(target.attr(\"data-message\"));\r\n exampleLegend.addClass(\"screenReader\");\r\n\r\n yesButton.val(\"Yes\");\r\n yesButton.attr(\"type\", \"button\");\r\n noButton.val(\"No\");\r\n noButton.attr(\"type\", \"button\");\r\n\r\n yesButton.on(\"click\", function (evt) {\r\n if (\r\n undefined != target.attr(\"data-submit\") &&\r\n \"true\" == target.attr(\"data-submit\")\r\n )\r\n target.closest(\"form\").get(0).submit();\r\n else window.location = target.attr(\"href\");\r\n\r\n closeAlertBanner(evt);\r\n });\r\n noButton.on(\"click\", closeAlertBanner);\r\n\r\n header.appendTo(banner);\r\n\r\n exampleFieldset.appendTo(banner);\r\n exampleLegend.appendTo(exampleFieldset);\r\n yesButton.appendTo(exampleFieldset);\r\n noButton.appendTo(exampleFieldset);\r\n\r\n banner.insertAfter(after);\r\n\r\n var position = (banner.position().top + banner.outerHeight()) * -1;\r\n\r\n banner.css(\"top\", position + \"px\");\r\n\r\n if (breadcrumb.length)\r\n $(\"html, body\").animate({ scrollTop: breadcrumb.offset().top }, 0);\r\n else $(\"html, body\").animate({ scrollTop: 0 }, 100);\r\n\r\n banner.animate({ top: 0, marginBottom: 10 }, 400);\r\n noButton.focus();\r\n};\r\n\r\n/* Displays an alert banner */\r\nvar displaySuccessBanner = function (msg) {\r\n displayAlertBanner(msg, \"success\");\r\n};\r\nvar displayWarningBanner = function (msg) {\r\n displayAlertBanner(msg, \"warning\");\r\n};\r\nvar displayFailureBanner = function (msg) {\r\n displayAlertBanner(msg, \"failure\");\r\n};\r\nvar displayExampleBanner = function (msg) {\r\n displayAlertBanner(msg, \"example\");\r\n};\r\nvar displayNoticeBanner = function (msg) {\r\n displayAlertBanner(msg, \"notice\");\r\n};\r\n\r\nvar displayAlertBanner = function (msg, type) {\r\n // $('p.banner').remove();\r\n\r\n var banner = $(\"

\");\r\n var header = $(\"\");\r\n var close = $(\"\");\r\n var articleH2 = $(\"article h2:not(.signin)\").first();\r\n var progressbar = $(\"ul#progressbar\").not(\"ul.registrationBar\");\r\n var progressbar2 = $(\"div.progressbar\");\r\n var breadcrumb = $(\"ul#breadcrumb\");\r\n var instructions = $(\"div#instructions\");\r\n var appStatus = $(\"div.appStatus\");\r\n var eventContainer = $(\"div#eventContainer\");\r\n var frontEndH1 = $(\"article h1.interior-h1\");\r\n\r\n if (instructions.length) var after = instructions;\r\n else if (frontEndH1.length) var after = frontEndH1;\r\n else if (appStatus.length) var after = appStatus;\r\n else if (progressbar.length) var after = progressbar;\r\n else if (progressbar2.length) var after = progressbar2;\r\n else if (articleH2.length) var after = articleH2;\r\n else if (eventContainer.length) var after = eventContainer;\r\n else var after = $(\"article h1\");\r\n\r\n if (\r\n undefined == type ||\r\n (\"example\" != type &&\r\n \"success\" != type &&\r\n \"warning\" != type &&\r\n \"failure\" != type &&\r\n \"notice\" != type)\r\n )\r\n type = \"example\";\r\n\r\n header.addClass(\"bannerTitle\");\r\n header.addClass(\"bold\");\r\n\r\n banner.addClass(\"banner\");\r\n banner.addClass(type);\r\n banner.html(msg);\r\n\r\n close.addClass(\"close icon\");\r\n close.text(\"Close\");\r\n close.attr(\"href\", \"#\");\r\n close.attr(\"title\", \"Close\");\r\n\r\n // if( type !='failure')\r\n close.on(\"click\", closeAlertBanner);\r\n\r\n if (type != \"example\") close.appendTo(banner);\r\n\r\n if (type == \"success\") {\r\n header.text(\"HOORAY!\");\r\n } else if (type == \"warning\") {\r\n header.text(\"PLEASE NOTE\");\r\n } else if (type == \"failure\") {\r\n header.text(\"OOPS!\");\r\n } else if (type == \"example\") {\r\n header.text(\"ARE YOU SURE?\");\r\n } else if (type == \"notice\") {\r\n header.text(\"NOTE\");\r\n }\r\n\r\n header.prependTo(banner);\r\n\r\n banner.insertAfter(after);\r\n\r\n var position = (banner.position().top + banner.outerHeight()) * -1;\r\n\r\n banner.css(\"top\", position + \"px\");\r\n\r\n if (breadcrumb.length)\r\n $(\"html, body\").animate({ scrollTop: breadcrumb.offset().top }, 0);\r\n else $(\"html, body\").animate({ scrollTop: 0 }, 100);\r\n\r\n banner.animate({ top: 0, marginBottom: 10 }, 400);\r\n};\r\n\r\n/* Closes an alert or confirmation banner */\r\nvar closeAlertBanner = function (evt) {\r\n evt.preventDefault();\r\n\r\n var target = $(evt.target);\r\n var banner = target.closest(\".banner\");\r\n\r\n var position = (banner.position().top + banner.outerHeight()) * -1;\r\n\r\n banner.animate({ top: position, marginBottom: -42 }, 400, function () {\r\n banner.remove();\r\n });\r\n};\r\n\r\nvar displayAccessibleAlertBanner = function (msg, type) {\r\n // $('p.banner').remove();\r\n\r\n var banner = $(\"

\");\r\n var close = $(\"\");\r\n var articleH2 = $(\"article h2:not(.signin)\").first();\r\n var progressbar = $(\"ul#progressbar\").not(\"ul.registrationBar\");\r\n var alertFieldset = $(\"

\");\r\n var alertLegend = $(\"\");\r\n var progressbar2 = $(\"div.progressbar\");\r\n var breadcrumb = $(\"ul#breadcrumb\");\r\n var instructions = $(\"div#instructions\");\r\n var appStatus = $(\"div.appStatus\");\r\n var frontEndH1 = $(\"article h1.interior-h1\");\r\n\r\n if (instructions.length) var after = instructions;\r\n else if (frontEndH1.length) var after = frontEndH1;\r\n else if (appStatus.length) var after = appStatus;\r\n else if (progressbar.length) var after = progressbar;\r\n else if (progressbar2.length) var after = progressbar2;\r\n else if (articleH2.length) var after = articleH2;\r\n else var after = $(\"article h1\");\r\n\r\n if (\r\n undefined == type ||\r\n (\"example\" != type &&\r\n \"success\" != type &&\r\n \"warning\" != type &&\r\n \"failure\" != type &&\r\n \"notice\" != type)\r\n )\r\n type = \"example\";\r\n\r\n banner.addClass(\"banner\");\r\n banner.addClass(type);\r\n banner.addClass(\"doesNotQualify\");\r\n banner.html(msg);\r\n alertFieldset.css(\"position\", \"initial\");\r\n alertLegend.addClass(\"screenReader\");\r\n alertLegend.html(msg);\r\n\r\n close.addClass(\"close icon\");\r\n close.text(\"Close\");\r\n close.attr(\"href\", \"#\");\r\n close.attr(\"title\", \"Close\");\r\n close.on(\"click\", closeAccessibleAlertBanner);\r\n\r\n if (type != \"notice\" && type != \"example\") {\r\n alertFieldset.prependTo(banner);\r\n alertLegend.appendTo(alertFieldset);\r\n close.appendTo(alertFieldset);\r\n }\r\n\r\n banner.insertAfter(after);\r\n\r\n var position = (banner.position().top + banner.outerHeight()) * -1;\r\n\r\n banner.css(\"top\", position + \"px\");\r\n\r\n if (breadcrumb.length)\r\n $(\"html, body\").animate({ scrollTop: breadcrumb.offset().top }, 0);\r\n else $(\"html, body\").animate({ scrollTop: 0 }, 100);\r\n\r\n banner.animate({ top: 0, marginBottom: 10 }, 400);\r\n};\r\n\r\n/* Closes an alert or confirmation banner */\r\nvar closeAccessibleAlertBanner = function (evt) {\r\n evt.preventDefault();\r\n\r\n var target = $(evt.target);\r\n var banner = target.closest(\".banner\");\r\n\r\n var position = (banner.position().top + banner.outerHeight()) * -1;\r\n\r\n banner.animate({ top: position, marginBottom: -42 }, 400, function () {\r\n banner.remove();\r\n });\r\n};\r\n\r\n/* Displays an alert toast */\r\nvar successToast = function (msg, el) {\r\n displayToast(msg, \"success\", el);\r\n};\r\nvar warningToast = function (msg, el) {\r\n displayToast(msg, \"warning\", el);\r\n};\r\nvar failureToast = function (msg, el) {\r\n displayToast(msg, \"failure\", el);\r\n};\r\nvar exampleToast = function (msg, el) {\r\n displayToast(msg, \"example\", el);\r\n};\r\n\r\nvar displayToast = function (msg, type, el) {\r\n $(\"div.toast\").trigger(\"toast.hide\");\r\n\r\n var toast = $(\"
\");\r\n\r\n toast.addClass(\"toast \" + type);\r\n toast.html(msg);\r\n\r\n toast.on(\"toast.show\", showToast);\r\n toast.on(\"toast.grow\", growToast);\r\n toast.on(\"toast.hide\", hideToast);\r\n\r\n if (el === undefined) {\r\n toast.prependTo(\"body\");\r\n } else {\r\n toast.prependTo(el);\r\n }\r\n\r\n setTimeout(function () {\r\n toast.trigger(\"toast.show\");\r\n }, 10);\r\n setTimeout(function () {\r\n toast.trigger(\"toast.grow\");\r\n }, 510);\r\n setTimeout(function () {\r\n toast.trigger(\"toast.hide\");\r\n }, 5510);\r\n};\r\n\r\nvar showToast = function () {\r\n $(this).addClass(\"showToast\");\r\n};\r\n\r\nvar growToast = function () {\r\n $(this).addClass(\"growToast\");\r\n};\r\n\r\nvar hideToast = function () {\r\n var toast = $(this);\r\n\r\n toast.addClass(\"hideToast\");\r\n\r\n toast.off(\"toast.show\");\r\n toast.off(\"toast.grow\");\r\n toast.off(\"toast.hide\");\r\n\r\n setTimeout(function () {\r\n toast.remove();\r\n }, 510);\r\n};\r\n\r\n/* Displays a yes/no alert toast */\r\nvar successConfirm = function (msg, url, callback) {\r\n displayConfirm({ message: msg, type: \"success\" });\r\n};\r\nvar warningConfirm = function (msg, url, callback) {\r\n displayConfirm({ message: msg, type: \"warning\" });\r\n};\r\nvar failureConfirm = function (msg, url, callback) {\r\n displayConfirm({ message: msg, type: \"failure\" });\r\n};\r\nvar exampleConfirm = function (msg, url, callback) {\r\n displayConfirm({ message: msg, type: \"example\" });\r\n};\r\n\r\n/* Displays an ok alert toast */\r\nvar successAlert = function (msg) {\r\n displayConfirm({ message: msg, type: \"success\" });\r\n};\r\nvar warningAlert = function (msg) {\r\n displayConfirm({ message: msg, type: \"warning\" });\r\n};\r\nvar failureAlert = function (msg, title, buttonType) {\r\n displayConfirm({\r\n message: msg,\r\n type: \"failure\",\r\n title: title,\r\n buttonType: buttonType,\r\n });\r\n};\r\nvar exampleAlert = function (msg, titles, links) {\r\n displayConfirm({\r\n message: msg,\r\n type: \"example\",\r\n title: \"Oops...\",\r\n linkTitle: titles,\r\n linkHref: links,\r\n });\r\n};\r\n\r\n/* Displays a note modal */\r\nvar noteModal = function (elementID) {\r\n var textarea = $(\"#\" + elementID);\r\n\r\n var attributes = {\r\n title: textarea.attr(\"data-note-title\"),\r\n message: textarea.attr(\"data-note-message\"),\r\n type: textarea.attr(\"data-note-type\"),\r\n url: textarea.attr(\"data-note-url\"),\r\n callback: textarea.attr(\"data-note-callback\"),\r\n textarea: textarea.attr(\"data-note-textarea\"),\r\n autoselect: textarea.attr(\"data-note-autoselect\"),\r\n className: textarea.attr(\"data-note-className\"),\r\n topSpace: $(textarea).offset().top,\r\n };\r\n};\r\n\r\nvar eventConfirm = function (evt) {\r\n evt.preventDefault();\r\n\r\n var link = $(this);\r\n\r\n var attributes = {\r\n title: link.attr(\"data-confirm-title\"),\r\n message: link.attr(\"data-confirm-message\"),\r\n type: link.attr(\"data-confirm-type\"),\r\n url: link.attr(\"data-confirm-url\"),\r\n callback: link.attr(\"data-confirm-callback\"),\r\n textarea: link.attr(\"data-confirm-textarea\"),\r\n autoselect: link.attr(\"data-confirm-autoselect\"),\r\n className: link.attr(\"data-confirm-className\"),\r\n hasCancel: link.attr(\"data-confirm-hasCancel\"),\r\n setTextarea: link.attr(\"data-confirm-setTextarea\"),\r\n modalFields: link.attr(\"data-confirm-modalFields\"),\r\n addMargin: link.attr(\"data-confirm-addMargin\"),\r\n topSpace: $(link).offset().top,\r\n };\r\n\r\n if (undefined == attributes.url) attributes.url = link.attr(\"href\");\r\n\r\n var settings = {\r\n element: this,\r\n target:\r\n this.ownerDocument.defaultView || this.ownerDocument.parentWindow,\r\n };\r\n\r\n if (undefined != attributes.title) settings.title = attributes.title;\r\n if (undefined != attributes.message) settings.message = attributes.message;\r\n if (undefined != attributes.type) settings.type = attributes.type;\r\n if (undefined != attributes.url) settings.url = attributes.url;\r\n if (undefined != attributes.callback)\r\n settings.callback = attributes.callback;\r\n if (undefined != attributes.textarea)\r\n settings.textarea = attributes.textarea;\r\n if (undefined != attributes.autoselect)\r\n settings.autoselect = attributes.autoselect;\r\n if (undefined != attributes.className)\r\n settings.className = attributes.className;\r\n if (undefined != attributes.setTextarea)\r\n settings.setTextarea = attributes.setTextarea;\r\n if (undefined != attributes.topSpace)\r\n settings.topSpace = attributes.topSpace;\r\n if (undefined != attributes.modalFields)\r\n settings.modalFields = attributes.modalFields;\r\n if (undefined != attributes.addMargin)\r\n settings.addMargin = attributes.addMargin;\r\n\r\n displayConfirm(settings);\r\n};\r\n\r\nvar displayConfirm = function (settings) {\r\n /* Hide existing dialogs */\r\n $(\"div.confirm\").trigger(\"confirm.hide\");\r\n\r\n /* Parameterize arguments */\r\n settings = $.extend(\r\n {\r\n title: \"\",\r\n message: \"\",\r\n type: \"\",\r\n element: window,\r\n target: window,\r\n url: \"\",\r\n callback: \"\",\r\n noCallback: \"\",\r\n cancelCallback: \"\",\r\n directCallback: function () {},\r\n linkTitle: \"\",\r\n linkHref: \"\",\r\n textarea: \"\",\r\n autoselect: \"\",\r\n className: \"\",\r\n hasCancel: false,\r\n setTextarea: false,\r\n topSpace: \"\",\r\n buttonType: \"\",\r\n buttonTextYes: \"Yes\",\r\n buttonTextNo: \"No\",\r\n buttonTextOk: \"OK\",\r\n buttonTextCancel: \"Cancel\",\r\n modalFields: false,\r\n addMargin: false,\r\n },\r\n settings\r\n );\r\n\r\n settings.title = $.trim(settings.title);\r\n settings.message = $.trim(settings.message);\r\n settings.type = $.trim(settings.type);\r\n settings.url = $.trim(settings.url);\r\n settings.callback = $.trim(settings.callback);\r\n settings.noCallback = $.trim(settings.noCallback);\r\n settings.linkTitle = $.trim(settings.linkTitle);\r\n settings.linkHref = $.trim(settings.linkHref);\r\n\r\n var confirm = $(\"
\");\r\n var center = $(\"
\");\r\n var modal = $(\"
\");\r\n var title = $(\"
\");\r\n var message = $(\"\");\r\n var links = $(\"\");\r\n var buttonFieldset = $(\"
\");\r\n var buttonLegend = $(\"\");\r\n var yes = $(\"\");\r\n var no = $(\"\");\r\n var ok = $(\"\");\r\n var cancel = $(\"\");\r\n\r\n confirm.addClass(\"confirm\");\r\n\r\n if (settings.className.length) confirm.addClass(settings.className);\r\n\r\n if (settings.type.length) confirm.addClass(settings.type);\r\n\r\n if (settings.linkTitle.length && settings.linkHref.length) {\r\n var titleArray = settings.linkTitle.split(\",\");\r\n var hrefArray = settings.linkHref.split(\",\");\r\n var link = \"\";\r\n\r\n for (var i = 0; i < titleArray.length; i++) {\r\n link +=\r\n '
' +\r\n titleArray[i] +\r\n \"\";\r\n }\r\n\r\n links.html(link);\r\n }\r\n\r\n buttonFieldset.addClass(\"popUpFieldset\");\r\n buttonLegend.html(settings.message).addClass(\"screenReader\");\r\n yes.attr(\"type\", \"button\")\r\n .val(settings.buttonTextYes)\r\n .addClass(\"confirmButtonYes\");\r\n no.attr(\"type\", \"button\")\r\n .val(settings.buttonTextNo)\r\n .addClass(\"confirmButtonNo\");\r\n ok.attr(\"type\", \"button\")\r\n .val(settings.buttonTextOk)\r\n .addClass(\"confirmButtonOk\");\r\n cancel\r\n .attr(\"type\", \"button\")\r\n .val(settings.buttonTextCancel)\r\n .addClass(\"confirmButtonCancel\");\r\n\r\n title.html(settings.title);\r\n message.html(settings.message);\r\n\r\n confirm.on(\"confirm.show\", showConfirm);\r\n confirm.on(\"confirm.hide\", hideConfirm);\r\n\r\n yes.on(\"click\", function () {\r\n $(this).closest(\"div.confirm\").trigger(\"confirm.hide\");\r\n\r\n if (settings.callback.length)\r\n settings.target[settings.callback].call(settings.element);\r\n\r\n if (settings.url.length) settings.target.location = settings.url;\r\n\r\n settings.directCallback();\r\n });\r\n\r\n no.on(\"click\", function () {\r\n $(this).closest(\"div.confirm\").trigger(\"confirm.hide\");\r\n\r\n if (settings.noCallback.length) {\r\n settings.target[settings.noCallback].call(settings.element);\r\n }\r\n });\r\n\r\n ok.on(\"click\", function () {\r\n $(this).closest(\"div.confirm\").trigger(\"confirm.hide\");\r\n\r\n if (settings.textarea.length && settings.setTextarea) {\r\n var textarea = $(\"#\" + settings.textarea);\r\n\r\n textarea.detach().appendTo($(\"body\").find(\"form\"));\r\n }\r\n\r\n if (settings.modalFields.length && settings.modalFields) {\r\n var modalElements = $(this).closest(\"div.confirm\").children(\"div\");\r\n\r\n $(\"div.modalFields\").remove();\r\n modalElements.detach().appendTo($(\"body\").find(\"form\"));\r\n }\r\n\r\n if (settings.callback.length)\r\n settings.target[settings.callback].call(settings.element);\r\n\r\n if (settings.url.length) settings.target.location = settings.url;\r\n });\r\n\r\n cancel.on(\"click\", function () {\r\n $(this).closest(\"div.confirm\").trigger(\"confirm.hide\");\r\n\r\n if (settings.textarea.length && settings.setTextarea) {\r\n var textarea = $(\"#\" + settings.textarea);\r\n\r\n textarea\r\n .detach()\r\n .css(\"display\", \"none\")\r\n .appendTo($(\"body\").find(\"form\"));\r\n }\r\n\r\n if (settings.cancelCallback.length) {\r\n settings.target[settings.cancelCallback].call(settings.element);\r\n }\r\n });\r\n\r\n if (settings.title.length) title.appendTo(modal);\r\n if (settings.message.length) message.appendTo(modal);\r\n if (settings.linkTitle.length) links.appendTo(modal);\r\n buttonFieldset.appendTo(modal);\r\n buttonLegend.appendTo(buttonFieldset);\r\n\r\n //Add text area\r\n if (settings.textarea.length) {\r\n if (settings.setTextarea) {\r\n var textarea = $(\"#\" + settings.textarea);\r\n textarea.detach();\r\n } else var textarea = $(\"#\" + settings.textarea).clone();\r\n\r\n textarea.css(\"display\", \"block\");\r\n textarea.appendTo(modal);\r\n }\r\n\r\n if (settings.modalFields) {\r\n modal.append($(\"div.modalFields\").html());\r\n }\r\n\r\n if (settings.hasCancel) {\r\n ok.addClass(\"right\");\r\n cancel.appendTo(buttonFieldset);\r\n }\r\n\r\n if (settings.buttonType == \"ok\") {\r\n ok.appendTo(buttonFieldset);\r\n } else {\r\n if (settings.buttonType == \"yesno\" || settings.type != \"example\")\r\n no.appendTo(buttonFieldset);\r\n if (settings.buttonType == \"yesno\" || settings.type != \"example\")\r\n yes.appendTo(buttonFieldset);\r\n if (settings.buttonType != \"yesno\" && settings.type == \"example\")\r\n ok.appendTo(buttonFieldset);\r\n }\r\n\r\n modal.appendTo(center);\r\n center.appendTo(confirm);\r\n confirm.prependTo(\"body\");\r\n\r\n //moves down the pop up, within the modal curtain\r\n //confirm.find(\"div\").eq(0).css('margin-top', settings.topSpace);\r\n\r\n if (settings.addMargin && $(\"body\").hasClass(\"tabContainer\")) {\r\n var scrollPos = $(window.parent.document).scrollTop(),\r\n modalHeight = modal.height(),\r\n margin = scrollPos - modalHeight;\r\n\r\n modal.css(\"margin-top\", margin + \"px\");\r\n }\r\n\r\n //Select text area\r\n if (\r\n settings.textarea.length &&\r\n settings.autoselect.length &&\r\n (settings.autoselect == \"true\" || settings.autoselect == \"TRUE\")\r\n )\r\n textarea.select();\r\n\r\n setTimeout(function () {\r\n confirm.trigger(\"confirm.show\");\r\n }, 10);\r\n};\r\n\r\nvar showConfirm = function () {\r\n $(this).addClass(\"showConfirm\");\r\n $(this).find(\"input\").focus();\r\n};\r\n\r\nvar hideConfirm = function () {\r\n var confirm = $(this);\r\n\r\n confirm.addClass(\"hideConfirm\");\r\n\r\n confirm.off(\"confirm.show\");\r\n confirm.off(\"confirm.hide\");\r\n\r\n confirm.find(\"input\").off(\"click\");\r\n\r\n setTimeout(function () {\r\n confirm.remove();\r\n }, 510);\r\n};\r\n\r\nvar formatCommas = function (inputVal) {\r\n var x = inputVal;\r\n return x\r\n .toString()\r\n .replace(/,/g, \"\")\r\n .replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n};\r\n\r\n//Format decimal or dollar value\r\nvar formatDecimal = function (x, dollarSign, addCommas) {\r\n if (typeof addCommas == \"undefined\") addCommas = false;\r\n\r\n //Format decimal places\r\n var x = parseFloat(Math.round(x * 100) / 100).toFixed(2);\r\n\r\n //Check for negative value\r\n if (x < 0) var isNegative = true;\r\n else var isNegative = false;\r\n\r\n //Replace non-numeric\r\n x = x.replace(/[^0-9.]/g, \"\");\r\n\r\n //Add commas\r\n // x = x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n if (addCommas) x = formatCommas(x.toString());\r\n\r\n //Add dollar sign\r\n if (dollarSign) x = \"$\" + x;\r\n\r\n //Add parenthesis\r\n if (isNegative) x = \"(\" + x + \")\";\r\n\r\n return x;\r\n};\r\n\r\nvar checkOrganizationEligibility = function (\r\n costShare,\r\n ajaxData,\r\n successDestination\r\n) {\r\n var ajaxUrl;\r\n\r\n if (costShare == true) {\r\n ajaxUrl = \"/myusapeec/costshareeligibility/\";\r\n } else {\r\n ajaxUrl = \"/myusapeec/eventeligibility/\";\r\n }\r\n\r\n $.ajax({\r\n url: ajaxUrl,\r\n data: ajaxData,\r\n })\r\n .done(function (data) {\r\n try {\r\n var response = $.parseJSON(data);\r\n\r\n if (!response.ERROR) {\r\n if (response.STATUSCHECK.ELIGIBLE) {\r\n window.location.href = successDestination;\r\n } else {\r\n var bType = \"ok\",\r\n newUrl = \"\";\r\n\r\n if (response.STATUSCHECK.CANREQUAL) {\r\n bType = \"yesno\";\r\n if (response.STATUSCHECK.STATUS.DATA.length > 0) {\r\n newUrl =\r\n \"/myusapeec/requalifyoperating/\" +\r\n response.STATUSCHECK.STATUS.DATA[0][13] +\r\n \"/\";\r\n } else {\r\n newUrl = \"/myusapeec/requalifyoperating/\";\r\n }\r\n }\r\n\r\n displayConfirm({\r\n // title: response.STATUSCHECK.MSGTYPE,\r\n message: response.STATUSCHECK.MSG,\r\n type: response.STATUSCHECK.MSGTYPE,\r\n url: newUrl,\r\n buttonType: bType,\r\n buttonTextYes: \"Confirm Details\",\r\n buttonTextNo: \"Not Now\",\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n // console.log(data);\r\n }\r\n\r\n // console.log(\"success\");\r\n })\r\n .fail(function (data) {\r\n // console.log(\"error\");\r\n });\r\n};\r\n\r\nvar validateRedactor = function () {\r\n var isValid = true,\r\n redactors = $(\".redactor_box\"),\r\n imageExtensions = [\".jpg\", \".jpeg\", \".png\", \".gif\"];\r\n\r\n //Validate each redactor\r\n redactors.each(function () {\r\n var redactor = $(this),\r\n redactorValid = true,\r\n images = redactor.find(\"iframe\").contents().find(\"img\");\r\n\r\n //Validate images\r\n images.each(function () {\r\n var altText = $.trim($(this).attr(\"alt\"));\r\n //Alt Text Must Exist\r\n if (!altText) {\r\n isValid = false;\r\n redactorValid = false;\r\n }\r\n //No File Extensions Allowed\r\n else {\r\n for (i = 0; i < imageExtensions.length; i++) {\r\n if (altText.includes(imageExtensions[i])) {\r\n isValid = false;\r\n redactorValid = false;\r\n }\r\n }\r\n }\r\n\r\n //Throw error if not valid and break loop\r\n if (!redactorValid) {\r\n redactor.attr(\"error\", \"\");\r\n return redactorValid;\r\n }\r\n });\r\n });\r\n\r\n if (!isValid) {\r\n var toastParent = window.parent.document.body;\r\n failureToast(\r\n \"Please make sure all images have valid alternate text.\",\r\n toastParent\r\n );\r\n }\r\n\r\n return isValid;\r\n};\r\n\r\n/* Support for stateful windows */\r\nvar windowID = \"\";\r\nvar setWindowID = function (id) {\r\n windowID = id;\r\n window.name = windowID;\r\n document.cookie = \"windowID=; path=/\";\r\n\r\n $(window).on(\"beforeunload\", function () {\r\n document.cookie = \"windowID=\" + windowID + \"; path=/\";\r\n });\r\n};\r\n\r\n/* Support for information labels */\r\nif ($(\"label[data-info]\").length) {\r\n loadStyleSheets.push(\"/css/jquery.info.css\");\r\n loadScripts.push(\"/scripts/jquery.info.js\");\r\n loadEvents.push(function () {\r\n $(\"label[data-info]\").info();\r\n });\r\n}\r\n\r\n/* Support for incompatibility warnings */\r\n$(\"div.incompatible a.close\").on(\"click\", function (evt) {\r\n evt.preventDefault();\r\n $(this).parent().addClass(\"hidden\");\r\n document.cookie = \"incompatible=warned\";\r\n});\r\n\r\nif ($(\"html.is-ios\").length)\r\n $(\r\n 'input:not([type=\"checkbox\"],[type=\"radio\"],[type=\"file\"]), textarea, select'\r\n )\r\n .on(\"focus\", function () {\r\n if (!$(this).parent().closest(\"header.portrait\").length)\r\n $(\"html\").addClass(\"textfocus\");\r\n })\r\n .on(\"blur\", function () {\r\n $(\"html\").removeClass(\"textfocus\");\r\n });\r\n\r\n$(window).off(\"resize\");\r\n\r\n/* Support for FOUT elimination */\r\nloadEvents.push(function () {\r\n $(\"[data-unstyled]\").removeAttr(\"data-unstyled\");\r\n});\r\n\r\n/* Template support - DO NOT REMOVE */\r\nwindow.jQuery ||\r\n document.write('');\r\n\r\nvar executeLoadEvents = function () {\r\n var returnAfter = loadEvents.length;\r\n //returnAfter = 7;\r\n\r\n for (var i = 0; i < returnAfter; i++) {\r\n loadEvents[i]();\r\n }\r\n};\r\n\r\n/* http://www.paulirish.com/2010/duck-punching-with-jquery/ */\r\nloadScripts = $.grep(loadScripts, function (value, key) {\r\n return $.inArray(value, loadScripts) === key;\r\n});\r\nloadStyleSheets = $.grep(loadStyleSheets, function (value, key) {\r\n return $.inArray(value, loadStyleSheets) === key;\r\n});\r\n\r\nif (loadScripts.length || loadStyleSheets.length)\r\n yepnope({\r\n test: false,\r\n nope: loadStyleSheets.concat(loadScripts),\r\n complete: executeLoadEvents,\r\n });\r\nelse executeLoadEvents();\r\n\r\n/* Test for div button wrap */\r\n/* if($(\"#testButton\").length) {\r\n\tconsole.log($(\"#testButton\").val());\r\n\t$(\"#testButton\").wrap( \"
\" );\r\n} */\r\n\r\n/* Test for div button wrap */\r\n/* if($(\"input:button\").length) {\r\n\t$(\"input:button\").wrap( \"
\" );\r\n} */\r\n\r\n/* Fix image hyperlink bug */\r\nif ($(\"a\").has(\"img\")) {\r\n $(\"a\").addClass(\"noLinkAnim\");\r\n}\r\n\r\n// $('div.cornerRibbon').mouseenter(function() {\r\n// \t$(this).fadeTo(500, 0);\r\n// });\r\n\r\n// $('div.cornerRibbon').mouseleave(function() {\r\n// \t$(this).fadeTo(500, 1);\r\n// });\r\n\r\n$(\"div.cornerRibbon\").mouseover(function () {\r\n $(this).hide();\r\n});\r\n"]}