CINXE.COM

Seminars & Conferences - Faculty & Research - Harvard Business School

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <title>Seminars &amp; Conferences - Faculty &amp; Research - Harvard Business School</title> <link rel="stylesheet" type="text/css" href="https://webassets.hbs.edu/libs/framework/1.0/css/framework-async.min.css?v=1.0"><script>var MTIProjectId='7104cb2a-976d-4c0f-803f-1a83c9190762';</script><script defer type="text/javascript" src="https://webassets.hbs.edu/libs/framework/1.0/js/mtiFontTrackingCode.js"></script><meta name="HBSSearchUrl" content="/faculty/Pages/search.aspx"><meta name="PageBuildDateTime" content="2024-11-23 06:09:16 PM on "><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="https://webassets.hbs.edu/sites/home/favicon.ico"> <style> /* styles */  .facetctrl-results .facetctrl-isotope-results .media { margin-bottom: 28px; } #facet-navigation-mobile .facet-container-0 .facet-clear, #facet-navigation .facet-container-0 .facet-clear { padding-top: 0; } .facet-container-q .hr3, .facet-container-0 .hr3 { display: none; } .facetctrl-results .facetctrl-isotope-results .media .linear { padding-top: 0; } .facetctrl-results .media img.fluid { display: block; } .facetctrl-results .media p { margin-bottom: 12px; } .facetctrl-results .media { margin-bottom: 32px; } .facetctrl-results .inline-container * { font-size: inherit; text-transform: none; font-family: inherit; } .facetctrl-results .highlight-container .highlight { font-family: 'Trade Gothic W01 Bold 2', Arial; } .facetctrl-results .inline-container * { display: inline; } .ua-mobile .datepicker { /* fixes zoom on focus */ font-size: 16px !important; width:100px !important; } .site-facets ul { margin-top: 8px; } ul.unbulleted.site-facets li a { text-decoration: none; } ul.unbulleted.site-facets li a:hover { text-decoration: underline; } .site-facets .mu { line-height: 15px !important; /* fix pixel bounce */ } .term-info p { margin-bottom: 12px; } .facetctrl-sticky { display:none; position: fixed; width:100%; z-index: 20000; top:0; } .facetctrl-sticky.active { display:block; } .facetctrl-isotope-element { width: 228px; } .expanded-grid-framework .pattern-framework .facetctrl-isotope-element .tile .icon-play { display: none; } .expanded-grid-framework .pattern-framework .facetctrl-isotope-element .tile .icon-play.icon-play-svg { display: block!important; } .pattern-framework .facet-pattern2 .facet-list { margin-top:15px; } .pattern-framework .facet-pattern2 .facet-list li { padding-bottom:0; margin-bottom:8px; margin-top:8px; } .pattern-framework .facet-pattern2 .facet-list li .facet-link {text-indent:0;margin-left:-21px;margin-bottom:3px} .pattern-framework .facet-pattern2 .facet-list li .facet-link-icon {float:left} .pattern-framework .facet-pattern2 .facet-list li .facet-link-icon .icon-checkbox, .pattern-framework .facet-pattern2 .facet-list li .facet-link-icon .icon-checkbox-checked {position:relative;top:-2px} .pattern-framework .facet-pattern2 .facet-list li .facet-link-label {overflow:hidden} @media screen and (max-width: 650px) { .facetctrl-isotope-element { max-width: 328px; width:100%; } } /*@media screen and (min-width: 650px and max-width: 650px) { .facetctrl-isotope-element { width: 47%; } }*/ @media screen and (min-width: 650px) and (max-width: 740px) { .facetctrl-isotope-element { width: 30.6%; } } @media screen and (min-width: 740px) and (max-width: 880px) { .facetctrl-isotope-element { width: 31.1%; } } @media screen and (min-width: 880px) and (max-width: 920px) { .facetctrl-isotope-element { width: 31.4%; } } @media screen and (min-width: 920px) and (max-width: 1024px) { .facetctrl-isotope-element { width: 205px; } } @media screen and (min-width: 1024px) and (max-width: 1300px) { .facetctrl-isotope-element { width: 228px; } } @media screen and (min-width: 1300px) { .wide-container .facetctrl-isotope-element { width: 268px; } } @media screen and (min-width: 920px) and (max-width: 1220px) { .expanded-grid-framework .container .facetctrl-isotope-element { width: 195px; } } @media screen and (min-width: 1221px) { .expanded-grid-framework .container .facetctrl-isotope-element { width: 270px; } } .facetctrl-isotope-element-span4 { width: 312px; } /*@media screen and (max-width: 920px) { .search1-embedded .vrule3h, .search1-embedded .vrule6h, .search1-embedded .vrule3h {background:none;} }*/ .websearch-input { background-color: rgba(255,255,255,.5) !important; border-color:rgba(255,255,255,.7) !important; box-shadow:none; transition: all .2s linear; } .websearch-input:focus { background-color: rgba(255,255,255,.8) !important; box-shadow: 0 0 5px rgba(255,255,255,.8) !important; } .facetctrl-appended { position:relative; -webkit-animation:slidein .5s; -moz-animation:slidein .5s; -o-animation:slidein .5s; animation:slidein .5s } @-webkit-keyframes slidein{ from{top:-10px;opacity:0} to{top:0px;opacity:1} } @-moz-keyframes slidein{ from{top:-10px;opacity:0} to{top:0px;opacity:1} } @keyframes slidein{ from{top:-10px;opacity:0} to{top:0px;opacity:1} } .facetctrl-fade { transition: opacity .6s; } .facetctrl-loading .facetctrl-fade { opacity: .5; } #search1-app .rendered-visible { visibility:hidden; } #search1-app.rendered .rendered-visible { visibility:visible; } #search1-app.search1-fullscreen .container { width:100%; } #search1-app.search1-fullscreen .span3 { padding-left:24px; } #search1-app.search1-fullscreen .span9 { float: none; overflow: hidden; padding-left: 24px; padding-right: 24px; width:auto; } .ui-helper-hidden-accessible{ display:none; } .facetctrl-autocomplete-small .ui-autocomplete { position: absolute; top: 100%; left: 0; z-index: 1000; float: left; display: none; min-width: 160px; padding: 4px 0; margin: 0 0 10px 0; list-style: none; background-color: #ffffff; border-color: #ccc; border-color: rgba(0, 0, 0, 0.2); border-style: solid; border-width: 1px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); -webkit-background-clip: padding-box; -moz-background-clip: padding; background-clip: padding-box; *border-right-width: 2px; *border-bottom-width: 2px; } .facetctrl-autocomplete-small .ui-menu-item > a.ui-corner-all { display: block; padding: 3px 10px; clear: both; font-weight: normal; line-height: 18px; color: #555555; white-space: nowrap; text-decoration: none; width:auto; } .facetctrl-autocomplete-small .ui-menu-item { font: normal 13px/16px 'Trade Gothic W01 Roman',Arial,Helvetica,Verdana,sans-serif; } .facetctrl-autocomplete-small .ui-state-focus{ background-color: #a41034; color:#fff !important } .facetctrl-autocomplete-small ul.ui-autocomplete li { padding:0; } .facetctrl-autocomplete-small .ui-state-hover, .facetctrl-autocomplete-small .ui-state-active { color: #ffffff; text-decoration: none; background-color: #0088cc; border-radius: 0px; -webkit-border-radius: 0px; -moz-border-radius: 0px; background-image: none; } .facetctrl-autocomplete-small .ui-autocomplete .ui-menu-item .ui-state-focus { background-color: #a41034; color:white; } .facet-breadcrumb-pattern h1 { margin-bottom: 7px; } .ms-SrvMenuUI {display: none;} .facetctrl-page-list { margin:0; padding:0; } .facetctrl-page-list li { list-style-type: none; float:left; margin-right: 8px; } .facetctrl-page-list li a { background-color:#ebebeb; padding:3px 6px; text-decoration:none; } .facetctrl-page-list li a:hover { background: black; color:white !important; } #facet-navigation .facet-pattern2 .facet-control h3 { margin: 0; } .color-framework .hbsred-onhover:hover {color: #a41034 !important;} /* This was removed for this page http://authqa.hbswk.hbs.edu/Pages/browse.aspx @media screen and (max-width: 919px) and (min-width: 651px) { #search1-app .tablet-span8 { margin-left: 0; } } */ .icon-svg { background-image: none !important; } /*new for wide grid*/ .facet-search table {width: 100%;} .facet-search table td:last-child {width: 41px;} .expanded-grid-framework .cap { margin-bottom:34px !important;} .expanded-grid-framework .search-right-sidebar .img-container-16x9 img{width:100% !important; height:100% !important;} @media (min-width:920px){ .expanded-grid-framework .facetctrl-ajax-classes>*{margin-left:20px} .expanded-grid-framework .facetctrl-ajax-classes .facetctrl-results .media-list9 div.media div.row div.span7 {margin-right:-20px;} .expanded-grid-framework .facetctrl-ajax-classes>table,.expanded-grid-framework .facetctrl-ajax-classes>.ms-rtestate-field{margin-left:0} .expanded-grid-framework .facetctrl-ajax-classes>table>*,.expanded-grid-framework .facetctrl-ajax-classes>.ms-rtestate-field>*{margin-left:20px} .expanded-grid-framework .facetctrl-ajax-classes *[webpartid]>*,.expanded-grid-framework .facetctrl-ajax-classes .ms-WPBody>*{margin-left:20px} .expanded-grid-framework .facetctrl-ajax-classes *[webpartid]>.hr,.expanded-grid-framework .facetctrl-ajax-classes .ms-WPBody>.hr{margin-left:0} .expanded-grid-framework .facetctrl-ajax-classes .ms-rtestate-read{display:block} .expanded-grid-framework .facetctrl-ajax-classes .hr,.expanded-grid-framework .facetctrl-ajax-classes .hr4{margin-left:0} .expanded-grid-framework .facetctrl-ajax-classes .facetctrl-results .vrule3h { background-position: 281px 0; } .expanded-grid-framework .facetctrl-ajax-classes .facetctrl-results .vrule6h { background-position: 576px 0; } @media screen and (min-width: 920px) and (max-width: 1220px) { .expanded-grid-framework .facetctrl-ajax-classes .facetctrl-results .vrule3h { background-position: 206px 0; } .expanded-grid-framework .facetctrl-ajax-classes .facetctrl-results .vrule6h { background-position: 425px 0; } } } /*Accessibility skip-links*/ .skipto.hideme:focus{ left: 0px; top: 0px; background-color: white; padding: 6px; width: auto; height: auto; position:relative; }</style><script> // scripts  /* ---------------------------------------------- * * Facet DateTime * * ---------------------------------------------- */ function FacetDate(args) { this.disabled = false; for (key in args) { this[key] = args[key]; } } FacetDate.prototype.render = function() { var SearchDateRange = "Search Date Range"; var to = "TO"; var h = this.facetCtrl.facetStartHTML(this); var today = new Date(); var facetKey = this.key; var facetState = this.facetCtrl.getState(this.key); var facetData = this.facetCtrl.getData(this.key); var fromdate = this.minDate || (today.getMonth() + 1) + '/' + today.getDate() + '/' + (today.getFullYear() - 3) var fromMinDate = fromdate; var todate = this.maxDate || (today.getMonth() + 1) + '/' + today.getDate() + '/' + today.getFullYear() var maxToDate = todate; if (facetData && facetData.length > 0) { fromdate = facetData[0].breadcrumb.split(' - ')[0] todate = facetData[0].breadcrumb.split(' - ')[1] } if (this.datePicker) { h += '<div>' h += '<div class="datepicker-container-inline"></div>' h += '<div class="shim8"></div>'; h += '</div>'; } else { h += '<div>' h += '<div class="shim12"></div>'; h += '<div class="datepicker-container" style="float:left"><input name="startdate" aria-label="Start Date" type="text" class="field date-range" data-minDate="'+fromMinDate+'" value="'+fromdate +'" placeholder="mm/dd/yyyy" data-mask="date" style="width: 81px;padding-left: 7px;font-size: 12px; padding-right: 0px;" /><a href="#skipStartDate" class="link-skipdates hideme skipto">Skip start date picker</a></div> '; h += '<div class="mu" style="padding:8px 5px;float:left;">' + to + '</div>'; h += '<div class="datepicker-container" style="float:left"><input name="enddate" id="skipStartDate" aria-label="End Date" type="text" class="field date-range" data-maxDate="'+ maxToDate +'" value="'+todate +'" placeholder="mm/dd/yyyy" data-mask="date" style="width: 81px;padding-left: 7px;font-size: 12px; padding-right: 0px;" /><a href="#skipEndDate" class="link-skipdates hideme skipto">Skip end date picker</a></div>'; h += '<div class="clear"></div>'; h += '<div class="shim16"></div> <input id="skipEndDate" type="button" class="btn-submit facetctrl-ajax-date" value="' + SearchDateRange + '" />'; h += '<div class="shim8"></div>'; h += '</div>'; } h += this.facetCtrl.facetEndHTML(this.label,this.key,this.toggleOption); return h; } FacetDate.prototype.disable = function(){ this.disabled = true; } FacetDate.prototype.enable = function(){ this.disabled = false; } /* Test */ FacetDate.prototype.bindEvents = function(){ var self = this; self.facetCtrl.jQuery('.facet-name-'+this.key).find('input.date-range').keypress(function(e) { if(e.which == 13) { self.facetCtrl.jQuery('.facet-name-'+self.key).find(".facetctrl-ajax-date").click() return false; } else { return true; } }); this.facetCtrl.jQuery('.facet-name-'+this.key).on("click","input.facetctrl-ajax-date",function(){ var fromDate = $(this).parent().find("input[name='startdate']").val() != "" ? $(this).parent().find("input[name='startdate']").val() : self.minDate; var toDate = $(this).parent().find("input[name='enddate']").val() != "" ? $(this).parent().find("input[name='enddate']").val() : self.maxDate; if(datevalidation(fromDate,toDate)) { var from = new Date(fromDate); var to = new Date(toDate); var qstr = from.getFullYear() + '-' + (from.getMonth() + 1) + '-' + from.getDate() + 'TO' + to.getFullYear() + '-' + (to.getMonth() + 1) + '-' + to.getDate(); var href = self.facetCtrl.setFilterHref(self.key,qstr); self.facetCtrl.history.pushState(null, null, href); if ($(this).parents('.facetctrl-sticky-target').length) { self.facetCtrl.closeFacets = true; } } }); function datevalidation(objFromDate,objToDate) { var date_regex = /^(0?[1-9]|1[0-2])\/(0?[1-9]|1\d|2\d|3[01])\/(19|20)\d{2}$/ ; if (!date_regex.test(objFromDate) && objFromDate.length) { alert(objFromDate + " is not valid date. Please enter valid date."); return false; } if (!date_regex.test(objToDate) && objToDate.length) { alert(objToDate + " is not valid date. Please enter valid date."); return false; } if (!objFromDate.length && !objToDate.length) { return false; } if (!objFromDate.length || !objToDate.length) { return true; } var FromDate = new Date(objFromDate); var ToDate = new Date(objToDate); var valCurDate = new Date(); valCurDate = valCurDate.getMonth()+1 + "/" + valCurDate.getDate() + "/" + valCurDate.getYear(); var CurDate = new Date(valCurDate); if(FromDate > ToDate) { alert(objFromDate+ " should be less than " + objToDate); return false; } return true; } } /* ---------------------------------------------- * * Facet BreadcrumbOnly * * ---------------------------------------------- */ function FacetBreadcrumbOnly(args) { this.disabled = false; for (key in args) { this[key] = args[key]; } } FacetBreadcrumbOnly.prototype.render = function() { return ''; } FacetBreadcrumbOnly.prototype.disable = function(){ this.disabled = true; } FacetBreadcrumbOnly.prototype.enable = function(){ this.disabled = false; } FacetBreadcrumbOnly.prototype.bindEvents = function(){ } /* ---------------------------------------------- * * Facet Search * * ---------------------------------------------- */ function FacetSearch(args) { this.disabled = false; for (key in args) { this[key] = args[key]; } } FacetSearch.prototype.render = function() { var facetKey = this.key; var facetState = this.facetCtrl.getState(facetKey); var query = ''; for (var key in facetState) { query += key; } var hasQuery = document.location.search != '' if (document.location.search == '?_es=1') hasQuery = false; if (this.searchWithin && hasQuery) query = ''; var label = this.label || "Search"; var h = '<div class="facet-control facet-search facet-name-' + this.key + '"><table><tr>'; var auto = this.autocomplete ? 'facetctrl-autocomplete' : ''; var typeahead = this.typeaheadPrefetch ? ' typeahead-container ' : ''; var typeaheadPrefetch = this.typeaheadPrefetch ? ' data-typeahead-prefetch="'+this.typeaheadPrefetch+'" ' : ''; h += '<td class="'+typeahead+'"'+typeaheadPrefetch+'><input type="text" name="q" autocomplete="on" maxlength="50" placeholder="" aria-label="Search text" style="height:38px" class="field facetctrl-ajax-textq '+auto+'" value="' + decodeURI(query).replace(/"/g,'&quot;') + '" /><div class="facetctrl-autocomplete-container" style="position:absolute"></div></td> '; h += '<td><button type="submit" style="font-size:13px;height:38px" class="btn-submit facetctrl-ajax-search" value="Search" aria-label="Search this page"><span class="icon-search-white"></span></button></td>'; h += '</tr></table>'; if (this.advanced){ h += '<div class="nu" style="margin-bottom:-10px;margin-top:16px"><a href="#" class="facetctrl-adv-search">+ Advanced Search</a></div>' } if (this.searchWithin && hasQuery){ h += '<div role="radiogroup" aria-label="search options">'; if (this.searchWithinNew) { h += '<label class="field-radio nu" style="margin-top:12px;display:block;"><input name="q-option" checked="checked" value="new" type="radio" role="radio"><span class="field-radio-btn" style="margin-right:7px;"></span>New Search</label>' h += '<label class="field-radio nu" style="margin-top:6px;margin-bottom:-8px;display:block;"><input name="q-option" value="within" type="radio" role="radio"><span class="field-radio-btn" style="margin-right:7px;"></span>Search Within Results</label>' } else { h += '<label class="field-radio nu" style="margin-top:12px;display:block;"><input name="q-option" value="within" checked="checked" type="radio" role="radio"><span class="field-radio-btn" style="margin-right:7px;"></span>Search Within Results</label>' h += '<label class="field-radio nu" style="margin-top:6px;margin-bottom:-8px;display:block;"><input name="q-option" value="new" type="radio" role="radio"><span class="field-radio-btn" style="margin-right:7px;"></span>New Search</label>' } h += '</div>'; } h += '</div>' return h; } FacetSearch.prototype.disable = function(){ this.disabled = true; } FacetSearch.prototype.enable = function(){ this.disabled = false; } FacetSearch.prototype.bindEvents = function(){ var self = this; var facetKey = self.key; var $facet = this.facetCtrl.jQuery('.facet-name-'+facetKey); $('.facetctrl-ajax-textq',$facet).keypress(function(e) { if(e.which == 13) { var selectedVal = $facet.find('input.facetctrl-ajax-textq').val(); var href = ''; if ($("input:radio[name='q-option']:checked",$facet).val() == 'within') { href = self.facetCtrl.addFilterHref('q',selectedVal); } else { href = '?q='+encodeURIComponent(selectedVal); } self.facetCtrl.history.pushState(null, null, href); $(this).blur(); return false; } else { return true; } }); $facet.on("click",".facetctrl-adv-search",function(){ $(self.facetCtrl.container).find(".facetctrl-adv-search-container .toggle-button").eq(0).click() return false; }) $facet.on('select','.typeahead-container',function(){ $facet.find(".facetctrl-ajax-search").trigger('click') }) $facet.on("click",".facetctrl-ajax-search",function(){ if ($(this).parents('.facetctrl-sticky-target').length) { self.facetCtrl.closeFacets = true; } var selectedVal = $facet.find('input.facetctrl-ajax-textq').val(); var href = ''; if ($("input:radio[name='q-option']:checked",$facet).val() == 'within') { href = self.facetCtrl.addFilterHref('q',selectedVal); } else { href = '?q='+encodeURIComponent(selectedVal) } if (self.facetCtrl.ajax) { self.facetCtrl.history.pushState(null, null, document.location.pathname + href); } else { document.location.href = href; } return false; }); } /* ---------------------------------------------- * * Subsets List * * ---------------------------------------------- */ function SubsetsList(args) { this.disabled = false; this.moreExpanded = false; for (key in args) { this[key] = args[key]; } } SubsetsList.prototype.render = function() { return 'works'; } SubsetsList.prototype.bindEvents = function(){ } /* ---------------------------------------------- * * Facet List * * ---------------------------------------------- */ function FacetList(args) { this.disabled = false; this.moreExpanded = false; for (key in args) { this[key] = args[key]; } } FacetList.prototype.render = function(args) { var args = args || {}; var facetData = this.facetCtrl.getData(this.key); var facetState = this.facetCtrl.getState(this.key); this.facetState = this.facetCtrl.getState(this.key); if (facetData.length == 0 && !this.deferLoad) return ''; var h = this.facetCtrl.facetStartHTML(this); if (args.simple) h = ''; var tree = this.makeDataTree(facetState,facetData); if (facetData.length > 0) { h += this.recursiveRender(0,facetState,facetData,tree,undefined,args); } if (!args.simple) { h += this.facetCtrl.facetEndHTML(this.label,this.key,this.toggleOption); } return h; } FacetList.prototype.makeDataTree = function(facetState,facetData) { var tree = {}; tree[undefined] = {}; tree[undefined].children = []; tree[undefined].seenChildren = {}; for (var i = 0; i < facetData.length; i++) { var v = facetData[i]; v.param = v.param || v.id; if (this.labelfn) {v.label = this.labelfn(v.label,v,0)} var termID = v.id; var termParent = v.parentID || undefined; if (!tree[termParent]) { tree[termParent] = {}; tree[termParent].children = []; tree[termParent].seenChildren = {}; } if (!tree[termID]) { tree[termID] = {}; tree[termID].children = []; tree[termID].seenChildren = {}; } if (!tree[termParent].seenChildren[termID]) { tree[termParent].seenChildren[termID] = 1; tree[termParent].children.push(termID); if (facetState[v.param]) { tree[termID].checked = true; } tree[termID].node = v; } } // mark checks on parent terms for (var j = 0;j<4;j++) { for (var i in tree) { if (!tree[i].node || !tree[i].node.parentID) continue; var parent = tree[i].node.parentID; if (tree[i].checked || tree[i].softchecked) { tree[parent].softchecked = true; } } } // if I am checked, add to my parent checked count for (var i in tree) { if (tree[i].checked) { var parent = tree[i].node.parentID; if (parent) { tree[parent].checkedChildren = tree[parent].checkedChildren ? (tree[parent].checkedChildren + 1) : 1; } } } return tree; } FacetList.prototype.renderAllButton = function(facetState,facetData) { var h = ''; if (this.displayAllButton) { var label = this.allLabel || "All"; if (!this.facetCtrl.jQuery.isEmptyObject(facetState)) { var href = this.facetCtrl.removeFilterHref(this.key); h += '<li class="facetlist-all"><a class="ink mu facetctrl-ajax-link facet-link" href="'+href+'"><div class="facet-link-icon">'+this.facetCtrl.getIcon('checkbox',label)+'</div><div class="facet-link-label">'+label+'</div></a></li>'; } else { h += '<li class="facetlist-all"><span class="ink mu inactive facet-link"><div class="facet-link-icon">'+this.facetCtrl.getIcon('checkbox-checked',label)+'</div><div class="facet-link-label">'+label+'</div></span></li>'; } } return h; } FacetList.prototype.disable = function(){ this.disabled = true; } FacetList.prototype.enable = function(){ this.disabled = false; } FacetList.prototype.bindEvents = function(){ var self = this; // change the icon if (this.facetCtrl.ajax) { this.facetCtrl.jQuery('.facet-name-'+this.key).on("icontoggle","a.facetctrl-ajax-link",function(){ if (self.facetCtrl.isLoading()) { return false; } if ($(this).parent().hasClass('facetlist-all')) return; var link = $(this); link.removeClass('checked'); $("span",this).each(function(){ if ($(this).hasClass('icon-checkbox-checked')) { $(this).replaceWith(self.facetCtrl.getIcon('checkbox','')) link.addClass('checked'); } else if ($(this).hasClass('icon-checkbox')) { $(this).replaceWith(self.facetCtrl.getIcon('checkbox-checked','')) link.addClass('checked'); } }); }); } this.facetCtrl.jQuery('.facet-name-'+this.key).on("click",".default-more a",function(){ $(this).parent().hide(); var $hidden = $(this).parent().parent().find('li:hidden') $hidden.show(); $hidden.eq(0).find('a').focus(); self.moreExpanded = true; return false; }) this.facetCtrl.jQuery('.facet-name-'+this.key).on("click",".az-more a",function(){ var h = ''; h += '<div id="az-results">Loading</div>' window.dlg = new framework.Dialog({ body: h, animation: 'slidedown', title: self.label, width: '905px' }); window.dlg.open(); framework.progress.start(); $.ajax({ url: '?' + document.location.search.replace('?','') + '&_autocomplete=1&step=9999&facet='+self.key, dataType: 'json', contentType: 'application/json; charset=utf-8', success: function(data, status, resp) { var h = '<div class="facet-pattern2 nu"><ul class="facet-list" style="padding:0;float:left;">'; data = data.sort(function(a,b){ if (a.t < b.t) return -1; return 1; }) var checked = {}; for (var j = 0;j<self.facetCtrl.parsedFacetState.length;j++) { var d = self.facetCtrl.parsedFacetState[j]; var facetKey = d[0]; var facetValue = d[1]; if (facetKey == self.key) { checked[facetValue] = 1; } } var num = 0; for (var i = 0;i<data.length;i++){ var d = data[i]; if (checked[d.t]) { var href = self.facetCtrl.removeFilterHref(self.key,d.t); h += '<li style="float:left;width:30%;margin-left:24px;box-sizing:border-box;"><a href="'+href+'" class="facetctrl-ajax-link ink add-val">' + this.facetCtrl.getIcon('checkbox-checked','') + d.t + ' ('+d.c+')</a></li>' } else { var href = self.facetCtrl.addFilterHref(self.key,d.t); h += '<li style="float:left;width:30%;margin-left:24px;box-sizing:border-box;"><a href="'+href+'" class="facetctrl-ajax-link ink add-val">' + this.facetCtrl.getIcon('checkbox','') + d.t + ' ('+d.c+')</a></li>' } } h += '</ul></div><div class="clear"></div><br/>'; $("#az-results").html(h); framework.progress.done(); } }); return false; }) this.facetCtrl.jQuery('.facet-name-'+this.key).on("click","input.facetctrl-ajax-date",function(){ var fromDate = $(this).parent().find("input[name='startdate']").val(); var toDate = $(this).parent().find("input[name='enddate']").val(); if (fromDate && toDate) { var from = new Date(fromDate); var to = new Date(toDate); var qstr = from.getFullYear() + '-' + (from.getMonth() + 1) + '-' + from.getDate() + 'TO' + to.getFullYear() + '-' + (to.getMonth() + 1) + '-' + to.getDate(); var href = self.facetCtrl.setFilterHref(self.key,qstr); self.facetCtrl.history.pushState(null, null, href); } }); } FacetList.prototype.recursiveRender = function(depth,facetState,facetData,tree,parent,args){ var h = ''; var self = this; var children = tree[parent].children; var displayZeros = (typeof this.displayZeros != 'undefined') ? this.displayZeros : true; if (!parent) { if (self.singleSelect) { h += '<ul class="facet-nav facet-radio-buttons">'; } else { h += '<ul class="facet-list">'; } h += this.renderAllButton(facetState,facetData); } else { h += '<ul>' if (typeof this.facetHeaders === 'function') h += this.facetHeaders(depth); } if (this.sortfn){ children.sort(function(a,b){ var nodea = tree[a].node; var nodeb = tree[b].node; return self.sortfn(nodea,nodeb); }); } else if (this.sort == 'Alpha') children.sort(function(a,b){ // if it is a set of numbers, then sort naturally, else sort alphabetically var nodea = tree[a].node.label.toLowerCase(); var nodeb = tree[b].node.label.toLowerCase(); var ai = parseInt(nodea); var bi = parseInt(nodeb); if (isNaN(ai) || isNaN(bi)) { if(nodea < nodeb) return -1; if(nodea > nodeb) return 1; return 0; } else { if(ai < bi) return -1; if(ai > bi) return 1; return 0; } }) var hasCheckedChild = false; for (var i = 0; i < children.length; i++) { var childID = children[i]; if (tree[childID].checked == true || tree[childID].softchecked == true) { hasCheckedChild = true; } } var hasMore = false; var childrenCount = 0; for (var i = 0; i < children.length; i++) { var childID = children[i]; if (!childID) continue; var node = tree[childID].node; var safeId = this.key + childID.replace('"','\"'); var liStyle = ' data-term-id="'+safeId+'" data-term-count="'+node.count+'"'; if (!args.simple && this.moreLimit && childrenCount > (this.moreLimit - 1) && !tree[childID].checked && depth == 0 && !self.moreExpanded && (this.moreStyle != 'Default' || !hasCheckedChild)) { liStyle += ' style="display:none"'; hasMore = true; } if ((node.count > 0 && !displayZeros) || displayZeros) childrenCount += 1; // single select if (node['class'] == 'custom-date') { var fromval = ''; var toval = ''; for (var key in this.facetState) { if (key.indexOf('TO') > -1) { var from = new Date(key.split('TO')[0]); var to = new Date(key.split('TO')[1]); fromval = (from.getMonth() + 1) + '/' + from.getDate() + '/' + from.getFullYear() + '' + (from.getMonth() + 1) + '-' + from.getDate() toval = (to.getMonth() + 1) + '/' + to.getDate() + '/' + to.getFullYear() + '' + (to.getMonth() + 1) + '-' + to.getDate() // + 'TO' + to.getFullYear() + '-' + (to.getMonth() + 1) + '-' + to.getDate(); } } h += '<li class="toggle-container"><a href="#" class="toggle-button ink">'+node.label + '</a>'; h += '<div class="toggle-show">' h += '<div class="shim12"></div>'; //h += '<input name="startdate" type="text" class="field" data-mask="date" placeholder="mm/dd/yyyy" value="'+fromval+'" style="width: 84px;padding-left: 7px;font-size: 13px; padding-right: 0px;" /> '; //h += '<span class="mu" style="padding-left:2px;padding-right:5px;">TO</span>' //h += '<input name="enddate" type="text" class="field" data-mask="date" placeholder="mm/dd/yyyy" value="'+toval+'"style="width: 84px;padding-left: 7px;font-size: 13px; padding-right: 0px;" />'; h += '<div class="datepicker-container" style="float:left"><input name="startdate" type="text" class="field date-range" value="'+fromval +'" placeholder="mm/dd/yyyy" data-mask="date" style="width: 81px;padding-left: 7px;font-size: 12px; padding-right: 0px;" aria-label="Start Date" /></div> '; h += '<div class="mu" style="padding:8px 5px;float:left;">TO</div>'; h += '<div class="datepicker-container" style="float:left"><input name="enddate" type="text" class="field date-range" value="'+toval +'" placeholder="mm/dd/yyyy" data-mask="date" style="width: 81px;padding-left: 7px;font-size: 12px; padding-right: 0px;" aria-label="End Date" /></div>'; h += '<div class="clear"></div>'; h += '<div class="shim16"></div>'; h += '<input type="button" class="btn-submit facetctrl-ajax-date" value="Search Date Range" />'; h += '<div class="shim8"></div>'; h += '</div></li>'; } else if (self.singleSelect && (node.count > 0 || self.alwaysActive)) { var facetHref = this.facetCtrl.removeFilterHref(this.key); facetHref = this.facetCtrl.addFilterHref(this.key,node.param,facetHref); var color = tree[childID].checked == true ? 'mu ink' : 'ink' h += '<li'+liStyle+'><a href="'+facetHref+'" class="'+color+' facetctrl-ajax-link">'+node.label; if (this.displayCounts) h += this.facetCtrl.formatCount(node); h += '</a>'; if (tree[childID].checked || tree[childID].softchecked == true) { h += this.recursiveRender(depth+1,facetState,facetData,tree,node.id,args); } h += '</li>'; // disabled single select } else if (self.singleSelect) { var facetHref = this.facetCtrl.removeFilterHref(this.key); facetHref = this.facetCtrl.addFilterHref(this.key,node.param,facetHref); var color = tree[childID].checked == true ? 'ink' : 'ink' h += '<li'+liStyle+' class="facet-disabled"><a href="'+facetHref+'" class="'+color+' facetctrl-ajax-link">'+node.label; if (this.displayCounts) h += this.facetCtrl.formatCount(node); h += '</a>'; h += '</li>'; } else if ((tree[childID].checked == true && node.count > 0) || (tree[childID].checked == true && node.count == 0 && displayZeros)) { var facetHref = this.facetCtrl.removeFilterHref(this.key,node.param); facetHref = this.removeChildLinks(node.id,facetHref,facetData); // if there is a parent, and no siblings are selected if (node.termParent) { facetHref = this.facetCtrl.addFilterHref(this.key,node.termParent,facetHref); } if (this.href) facetHref = this.href(facetHref); h += '<li'+liStyle+'><a class="ink nu facetctrl-ajax-link checked facet-link" href="'+facetHref+'" rel="nofollow"><div class="facet-link-icon">'+this.facetCtrl.getIcon('checkbox-checked', node.label)+'</div><div class="facet-link-label">'+node.label; if (this.displayCounts) h += this.facetCtrl.formatCount(node); h += '</div></a>'; h += this.recursiveRender(depth+1,facetState,facetData,tree,node.id,args); h += '</li>'; } else if (tree[childID].softchecked == true) { // parent of checked elements var facetHref = this.facetCtrl.addFilterHref(this.key,node.param); facetHref = this.removeChildLinks(node.id,facetHref,facetData); if (this.href) facetHref = this.href(facetHref); h += '<li'+liStyle+'><a class="ink nu facetctrl-ajax-link softchecked facet-link" href="'+facetHref+'" rel="nofollow"><div class="facet-link-icon">'+this.facetCtrl.getIcon('checkbox', node.label)+'</div><div class="facet-link-label">'+node.label; if (this.displayCounts) h += this.facetCtrl.formatCount(node); h += '</div></a>'; h += this.recursiveRender(depth+1,facetState,facetData,tree,node.id,args); h += '</li>'; } else if (node.count == 0 && displayZeros) { // disabled h += '<li'+liStyle+' class="facet-disabled"><a class="ink nu facet-link" href="#"><div class="facet-link-icon">'+this.facetCtrl.getIcon('checkbox', node.label)+'</div><div class="facet-link-label">'+node.label; if (this.displayCounts) h += this.facetCtrl.formatCount(node); h += '</div></a>'; h += '</li>'; } else if (node.count > 0 || (node.count == 0 && displayZeros)) { // a normal link var facetHref = this.facetCtrl.addFilterHref(this.key,node.param); if (this.multiple == false) facetHref = this.facetCtrl.setFilterHref(this.key,node.param); facetHref = this.removeParentLinks(node.parentID,facetHref,facetData); if (this.href) facetHref = this.href(facetHref); h += '<li'+liStyle+'><a class="ink nu facetctrl-ajax-link facet-link" href="'+facetHref+'" rel="nofollow"><div class="facet-link-icon">'+this.facetCtrl.getIcon('checkbox', node.label)+'</div><div class="facet-link-label">'+node.label; if (this.displayCounts) h += this.facetCtrl.formatCount(node); h += '</div></a>'; h += '</li>'; } } if (h == '<ul>') return ''; if (this.links && this.links.length > 0) { for (var i = 0;i<this.links.length;i++) { var html = this.links[i]; h += '<li class="text-link"><a href="'; h += html.link + '" class="' h += html.class + '">'; h += html.text + '</a></li>'; } } h += '</ul>'; if (this.addValue) { h += '<div style="margin: 3px 0 0 1px;" class="toggle-container"><a href="#" class="ash toggle-button toggle-hide">+ Add</a><input type="text" class="toggle-show toggle-focus facetctrl-autocomplete" data-facet="'+this.key+'"/><div class="facetctrl-autocomplete-container facetctrl-autocomplete-small" style="position:absolute"></div></div>'; } if (hasMore && this.moreStyle == 'Default') { h += '<div class="more default-more" style="margin: 8px 0 8px"><span class="txt-arrow" aria-hidden="true">&#x2192;</span> <a href="#" role="button" title="Load More '+this.label+' Filters">'+ (this.moreText || 'More') +'</a></div>'; } if (hasMore && this.moreStyle == 'AZList') { h += '<div class="more az-more" style="margin: 8px 0 8px"><span class="txt-arrow" aria-hidden="true">&#x2192;</span> <a href="#" role="button" title="Load More '+this.label+' Filters">'+ (this.moreText || 'More') +'</a></div>'; } return h; } FacetList.prototype.removeChildLinks = function(parentTermID,href,facetData){ for (var i = 0; i < facetData.length; i++) { var v = facetData[i]; var termID = v.id; var termParent = v.parentID; if (termParent == parentTermID) { href = this.facetCtrl.removeFilterHref(this.key,v.param || v.id,href); href = this.removeChildLinks(termID,href,facetData); } } return href; } FacetList.prototype.removeParentLinks = function(parentTermID,href,facetData){ if (!parentTermID) return href; href = this.facetCtrl.removeFilterHref(this.key,parentTermID,href); return href; } /* ---------------------------------------------- * * Facet AZList * * ---------------------------------------------- */ function FacetAZList(args) { for (key in args) { this[key] = args[key]; } } FacetAZList.prototype.render = function() { var h = this.facetCtrl.facetStartHTML(this); var facetKey = this.key; if (this.facetCtrl.getData(this.key).length > 0) { h += '<div class="az-list" role="group" aria-label="Filter by first letter for ' + this.label+ '">'; var letters = "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z".split(' '); for (var i = 0; i < letters.length; i++) { var l = letters[i]; if (this.hasAZListResults(l)) { h += '<a href="#" role="button" aria-label="Letter '+l+' - Filter for ' + this.label + '" class="letter" data-letter="'+l+'" data-facet="'+facetKey+'">'+l+'</a>'; } else { h += '<a class="disabled" role="button" aria-label="Letter '+l+' - Filter for ' + this.label + '" data-letter="'+l+'" data-facet="'+facetKey+'">'+l+'</a>'; } } h += '</div>'; h += '<div class="clear"></div>' h += '<div class="az-results"></div>'; h += this.facetCtrl.facetEndHTML(this.label,this.key,this.toggleOption); return h; } return ''; } FacetAZList.prototype.hasAZListResults = function(letter) { var facetData = this.facetCtrl.getData(this.key); var displayZeros = (typeof this.displayZeros != 'undefined') ? this.displayZeros : false; for (var i = 0; i < facetData.length; i++) { var v = facetData[i]; if (v.label.toLowerCase().indexOf(letter.toLowerCase()) == 0 && (v.count > 0 || displayZeros)) { return true; } } return false; } FacetAZList.prototype.renderAZListResults = function(letter) { var container = this.facetCtrl.jQuery('.facet-name-'+this.key).find('.az-results'); var h = ''; var facetData = this.facetCtrl.getData(this.key); facetData = facetData.sort(function(a,b){ if (a.label < b.label) return -1; return 1; }) var facetState = this.facetCtrl.getState(this.key); var displayZeros = (typeof this.displayZeros != 'undefined') ? this.displayZeros : false; h += '<br/><ul class="unbulleted">'; for (var i = 0; i < facetData.length; i++) { var v = facetData[i]; var termLabel = v.label; var termID = v.id; var count = ''; if (this.displayCounts) count += this.facetCtrl.formatCount(v); if (termLabel.toLowerCase().indexOf(letter.toLowerCase()) == 0) { if (facetState[termID] == true && v.count > 0) { var href = this.facetCtrl.removeFilterHref(this.key,termID); h += '<li><a class="nu ash facetctrl-ajax-link" href="'+href+'" rel="nofollow" role="button">'+termLabel+count+'</a></li>'; } else if (facetState[termID] == true && displayZeros) { var href = this.facetCtrl.removeFilterHref(this.key,termID); h += '<li class="facet-disabled">'+termLabel+count+'</li>'; } else if (v.count > 0) { var href = this.facetCtrl.addFilterHref(this.key,termID); h += '<li><a class="nu ink facetctrl-ajax-link" href="'+href+'" rel="nofollow" role="button">'+termLabel+count+'</a></li>'; } else if (displayZeros) { var href = this.facetCtrl.addFilterHref(this.key,termID); h += '<li class="facet-disabled">'+termLabel+'</li>'; } } } h += '</ul>' container.html(h); } FacetAZList.prototype.bindEvents = function(){ var self = this; this.facetCtrl.jQuery('.facet-name-'+this.key).on("click","a.letter",function(){ $(this).parent().find(".active").removeClass("active"); $(this).addClass("active"); self.renderAZListResults($(this).data('letter')); return false; }); var facetData = this.facetCtrl.getData(this.key); var facetState = this.facetCtrl.getState(this.key); if (facetState) { for (var key in facetState) { for (var i = 0; i < facetData.length; i++) { var v = facetData[i]; var termLabel = v.label; var termID = v.id; var letter = termLabel.toUpperCase().substring(0,1); if (termID == key) { this.facetCtrl.jQuery('.facet-name-'+this.key).find("a.letter[data-letter='"+letter+"']").click();; } } } } } /* ---------------------------------------------- * * Facet Select * * ---------------------------------------------- */ function FacetSelect(args) { this.disabled = false; for (key in args) { this[key] = args[key]; } } FacetSelect.prototype.render = function() { var h = this.facetCtrl.facetStartHTML(this); var id = this.facetCtrl.newGuid() h += '<div class="row"><div class="span1 mu" style="margin-top:5px;margin-bottom:5px;"><label for="'+id+'">' + this.selectLabel + "</label></div><div class='span2'>" h += '<div class="field-select2 nu field-select2-mini">'; h += '<select id="'+id+'">'; var facetState = this.facetCtrl.getState(this.key); for (var i = 0;i<this.options.length;i++) { var termID = this.options[i][1]; var termLabel = this.options[i][0]; if (facetState[termID] == true ) { h += '<option value="'+termID+'" selected="selected">'+termLabel+'</option>'; } else { h += '<option value="'+termID+'">'+termLabel+'</option>'; } } h += '</select></div></div></div>'; h += this.facetCtrl.facetEndHTML(this.label,this.key,this.toggleOption); return h; } FacetSelect.prototype.bindEvents = function(){ var self = this; this.facetCtrl.jQuery('.facet-name-'+this.key+'').on("change","select",function(){ var selectedVal = $('option:selected',this).attr('value'); var href = self.facetCtrl.setFilterHref(self.key,selectedVal); if (self.facetCtrl.ajax) { self.facetCtrl.history.pushState(null, null, href); } else { document.location.href = href; } return true; }); } FacetSelect.prototype.disable = function(){ this.disabled = true; } FacetSelect.prototype.enable = function(){ this.disabled = false; } /* ---------------------------------------------- * * Facet Boolean * * ---------------------------------------------- */ function FacetBoolean(args) { for (key in args) { this[key] = args[key]; } } FacetBoolean.prototype.render = function() { var h = this.facetCtrl.facetStartHTML(this); h += '<div class="nu">'; for (var i = 0;i<this.options.length;i++) { var termID = this.options[i][1]; var termLabel = this.options[i][0]; h += '&nbsp;<input type="checkbox" name="'; h += this.groupName + '" value="' + termID + '"></input>'; h += '&nbsp;' + termLabel + '<br/>'; } h += '</div>'; h += this.facetCtrl.facetEndHTML(this.label,this.key,this.toggleOption); return h; } FacetBoolean.prototype.bindEvents = function(){} /* ---------------------------------------------- * * Facet Clear * * ---------------------------------------------- */ function FacetClear(args) { for (key in args) { this[key] = args[key]; } } FacetClear.prototype.render = function() { var canClear = false; var href = this.facetCtrl.getFilterHref(); for (var i = 0;i<this.facetCtrl.parsedFacetState.length;i++) { var d = this.facetCtrl.parsedFacetState[i]; var facetKey = d[0]; var facetVal = d[1]; if(this.facetCtrl.isFacet(facetKey)){ href = this.facetCtrl.removeFilterHref(facetKey,facetVal,href); canClear = true; } } if (canClear) { return '<div class="facet-control facet-clear"><a href="'+href+'" class="btn-submit facetctrl-ajax-link facet-clear-all facetctrl-event-clear">Clear All Selections</a></div>'; } else { return ''; } } FacetClear.prototype.bindEvents = function(){} /* ---------------------------------------------- * * Facet HTML * * ---------------------------------------------- */ function FacetHTML(args) { for (key in args) { this[key] = args[key]; } } FacetHTML.prototype.render = function() { return this.html; } FacetHTML.prototype.bindEvents = function(){} /* ---------------------------------------------- * * Facet Group * * ---------------------------------------------- */ function FacetGroup(args) { for (key in args) { this[key] = args[key]; } this.children = []; } FacetGroup.prototype.append = function(facet){ this.children.push(facet); } FacetGroup.prototype.getFacets = function(){ var k = [] for (var i = 0; i < this.children.length; i++ ) { k.push(this.children[i]) } return k; } FacetGroup.prototype.render = function(){ var h = ""; if (this.label) h += this.facetCtrl.facetStartHTML(this); h += '<div class="facet-group">'; var lastType = ''; for (var i = 0; i < this.children.length; i++ ) { var fhtml = this.children[i].render(); lastType = this.children[i].constructor.name if (fhtml) { h += '<div class="facet-container-'+ ( this.children[i].key || i ) +'">'; h += '<div class="hr3"></div>' h += fhtml; h += '</div>'; } } if (lastType != 'FacetHTML') { h += '<div class="hr3 facet-last-hr"></div>' } h += '</div>'; if (this.label) h += this.facetCtrl.facetEndHTML(this.label,this.key,this.toggleOption); return h; } FacetGroup.prototype.bindEvents = function(){ for (var i = 0; i < this.children.length; i++ ) { this.children[i].bindEvents(); } $(".toggle-container",this.facetCtrl.container).each(function(){ var $c = $(this); if ($(this).hasClass('analytics-bound')) return; $(this).addClass('analytics-bound'); $('> div > .kappa-uc > .toggle-button',$c).on('click',function(){ var id = $c.attr('id'); if (!id) return; if ($(this).find('.icon-plusbox').length == 0) { if (window.analytics) analytics.event(id.toLowerCase()+'-closed') } else { if (window.analytics) analytics.event(id.toLowerCase()+'-opened') } return true; }) }) } /* ---------------------------------------------- * * Facet Controller * * ---------------------------------------------- */ function FacetController(args) { for (key in args) { this[key] = args[key]; } this.ajaxCache = {}; this.ajaxEventsBound = false; this.ajaxConnectionActive = false; this.jQuery = FacetController.libs.jQuery; this.history = FacetController.libs.History; this.imagesLoaded = FacetController.libs.ImagesLoaded; this.facets = []; this.language = 'en'; if (document.location.href.indexOf('/cn/') > -1) { this.language = 'cn'; } } FacetController.prototype.bindEvents = function(){ if (this.group) this.group.bindEvents(); if (this.groupMobile) { this.groupMobile.bindEvents(); } if (this.ajax && this.history && this.ajaxEventsBound == false) { this.bindAjaxEvents(); } this.autocompleteEvents(); // add accessibility tags $(".facetctrl-ajax-html,.facetctrl-results").attr('aria-live','polite') } FacetController.prototype.newGuid = function() { return 'Axxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }).toUpperCase(); } FacetController.prototype.autocompleteEvents = function(){ if(typeof $(".facetctrl-autocomplete").autocomplete == 'function' && $(".facetctrl-autocomplete").not('.autocomplete-installed').length > 0){ $.ui.autocomplete.prototype._renderItem = function( ul, item) { var t = item.label; var parts = this.term.split(' '); for (var i = 0;i<parts.length;i++) { if (parts[i]) { var re = new RegExp(parts[i], "ig"); t = t.replace(re,'<b>' + parts[i] + "</b>"); } } t = t.replace(/<<b>b<\/b>>/g,'<b>'); t = t.replace(/<\/<b>b<\/b>>/g,'</b>'); if (t.indexOf('<b>') == -1 && item.highlight) t = item.highlight if (item.collection) t = t + ' <b class="sub">in ' + item.collection + '</b>'; return $( "<li></li>" ) .data( "item.autocomplete", item ) .append( "<a>" + t + "</a>" ) .appendTo( ul ); }; $(".facetctrl-autocomplete").each(function(){ var container = $(this).parent().find('.facetctrl-autocomplete-container'); $(this).autocomplete({ source: function(request,response) { var facet = $(this.element).data('facet'); var extra = ''; if (facet) { extra = facet = '&facet='+facet} $.ajax({ url: '?' + document.location.search.replace('?','') + '&_autocomplete=1&step=6&_q='+encodeURIComponent(request.term) + extra, //url: '?_autocomplete=1&q='+encodeURIComponent(request.term) + extra, dataType: 'json', contentType: 'application/json; charset=utf-8', success: function(data, status, resp) { var r = []; r = $.map(data,function(item,index){ var t = item.t; var v = item.t; if (t.indexOf('|l=') > -1) { v = t.split('|t=')[1].split('|')[0]; t = t.split('|l=')[1].split('|')[0]; } return { label: t, highlight: item.highlight, value: v } }) response(r); } }); }, minLength: self.minLength ? self.minLength : 1, delay: self.delay ? self.delay : 0, select: function( event, ui ) { var href = ''; var facet = $(this).data('facet'); if (facet) { href = self.facetCtrl.addFilterHref(facet || 'q',ui.item.value); } else { href = self.facetCtrl.setFilterHref(facet || 'q',ui.item.value); } if (self.facetCtrl.ajax) { self.facetCtrl.history.pushState(null, null, href); } else { document.location.href = href; } }, appendTo: container }) $(this).addClass('autocomplete-installed'); }) } } FacetController.prototype.bindAjaxEvents = function(){ var self = this; self.ajaxEventsBound = true; try { // course schedule viewer iframe doesn't like this this.state = this.history.getState(); } catch (error) { } $(window).unbind('.search1'); this.history.Adapter.bind(window,'statechange.search1',function(){ if (window.analytics) analytics.pageView(document.location.href); self.updateState(); }); $(this.container).on('reload',function(){ self.updateState({force:true}); }) window.wcmReload = function(){ self.updateState({force:true, timeout:30000}); } $(this.container).on("click",".facetctrl-ajax-link",function(e){ // nasty history.js bug https://github.com/balupton/history.js/pull/64 // use this version instead https://github.com/andreasbernhard/history.js if (self.isLoading()) { return false; } $(this).trigger('icontoggle') if ($(this).parents('.facetctrl-sticky-target').length) { self.facetCtrl.closeFacets = true; // looks like a bug } if (window.analytics) { if ($(this).hasClass('facetctrl-event-clear')) analytics.event("clear-search") } if ($(this).hasClass('facetctrl-scroll-top')) { if (document.getElementById('s4-workspace')) { $('#s4-workspace,html,body').animate({scrollTop: 0}, 0,'swing',function(){ }); } else { $('html,body').animate({scrollTop: 0}, 0,'swing',function(){ }); } } var href = this.href; /*if (href.indexOf('page=') > -1){ href += '&_ajax_pagination=1' }*/ if (!e.screenX) { // keyboard click self.saveFocus($(this).parent().data('term-id')); } self.history.pushState(null, null, href); return false; }) $(this.container).on("click","a.facetctrl-ajax-nextpage",function(){ // load more results, but don't change the facets or the URL if (window.analytics) analytics.event("show-more") if (self.isLoading()) { return false; } var href = this.href; self.nextPage(href); return false; }) $(this.container).on("click","a.facetctrl-ajax-pages",function(){ // load more results, but don't change the facets if (self.isLoading()) { return false; } var href = this.href; self.nextPage(href); return false; }) function inputchange(el){ var name = $(el).attr('name'); var val = $(el).val(); var oldval = framework.URI().search(true)[name]; var oldhref = self.getFilterHref(); var href = self.setFilterHref(name,val); if (oldhref != href && val != oldval) { self.history.pushState(null, null, href); } } $(this.container).on("blur update",".facetctrl-ajax-input",function(){ inputchange(this); }); $(this.container).on("focus",".facetctrl-ajax-input",function(){ $(this).unbind('keypress.facetctrl'); $(this).bind('keypress.facetctrl',function(e){ if (e.which == 13) { inputchange(this); $(this).trigger('enter'); return false; } }) }); /* $(this.container).on("keydown",".facetctrl-ajax-input",function(e){ if(e.which == 13) { alert('inputchange'); //inputchange(this); e.preventDefault(); return false; } else { return true; } return false; }); */ $(this.container).on("change",".facetctrl-radio-grp input",function(){ var name = $(this).attr('name'); var val = $(this).val(); var href = self.setFilterHref(name,val); self.history.pushState(null, null, href); }) $(this.container).on("closed",".facetctrl-ajax-facet",function(){ $(".facetctrl-ajax-facet-target",this).html(''); }) function drawFacet(thisInput,refresh) { var facet = $(thisInput).data('facet'); if (!refresh) { $(".facetctrl-ajax-facet-target",thisInput).html('Loading...'); } $(".facetctrl-ajax-facet-target",thisInput).addClass('facetctrl-loading'); var url = framework.URI().setQuery({"_autocomplete":1,"step":"9999","facet":facet}).removeQuery("debug").search() $.ajax({ url: url, dataType: 'json', contentType: 'application/json; charset=utf-8', success: function(data, status, resp) { var checked = {}; for (var j = 0;j<self.parsedFacetState.length;j++) { var d = self.parsedFacetState[j]; var facetKey = d[0]; var facetValue = d[1]; if (facetKey == facet) { checked[facetValue] = 1 } } var html = ['<ul class="facet-list nu filtering-list facetctrl-fade">'] var hasResults = false; if ($(thisInput).data('facet-sort').indexOf('alpha') != -1) { data = data.sort(function(a,b){ if (a.t > b.t) return 1; if (a.t < b.t) return -1; return 0; }) } if ($(thisInput).data('facet-sort').indexOf('numeric') != -1) { data = data.sort(function(a,b){ var numa = parseInt(a.t,10); var numb = parseInt(b.t,10); if (numa > numb) return 1; if (numa < numb) return -1; return 0; }) } if ($(thisInput).data('facet-sort').indexOf('reverse') != -1) { data.reverse(); } for (var i = 0;i<data.length;i++){ var d = data[i]; var count = self.formatCount(d); var li; if (checked[d.t]) { li = '<li><a class="ink facetctrl-ajax-toggle" href="#" data-facet="'+facet+'" data-value="'+encodeURIComponent(d.t)+'"><span class="icon-checkbox-checked"></span>'+d.t+count+'</a></li>' } else { li = '<li><a class="ink facetctrl-ajax-toggle" href="#"data-facet="'+facet+'" data-value="'+encodeURIComponent(d.t)+'"><span class="icon-checkbox"></span>'+d.t+count+'</a></li>' } html.push(li) hasResults = true; } html.push('</ul>') if (hasResults) { $(".facetctrl-ajax-facet-show-if-results",thisInput).show(); $(".facetctrl-ajax-facet-target",thisInput).html(html.join('')) } else { $(".facetctrl-ajax-facet-target",thisInput).html('No options'); } $(".facetctrl-ajax-facet-target .facetctrl-ajax-toggle").on('click',function(){ var facet = $(this).data('facet'); var value = decodeURIComponent($(this).data('value')); if ($(this).find('.icon-checkbox-checked').length) { $(this).find('.icon-checkbox-checked').toggleClass('icon-checkbox-checked icon-checkbox'); var href = self.removeFilterHref(facet,value); self.history.pushState(null, null, href); } else { $(this).find('.icon-checkbox').toggleClass('icon-checkbox-checked icon-checkbox'); var href = self.addFilterHref(facet,value); self.history.pushState(null, null, href); } //drawFacet(thisInput,true); //jg //$(self.container).one("facetctrl.update.complete",function(){ // drawFacet(thisInput,true); //}); return false; }) $(".facetctrl-ajax-facet-target",thisInput).parent().scrollTop(1).scrollTop(0); // toggle scrollbar for ios $(".dropdown-menu3",thisInput).trigger('reposition'); $(".facetctrl-ajax-facet-target",thisInput).removeClass('facetctrl-loading'); }, error: function(xhdr,msg,err){ console.error(msg); } }); } $(this.container).on("opened",".facetctrl-ajax-facet",function(){ drawFacet(this); }) $(this.container).on("change","select.facetctrl-field",function(){ var name = $(this).attr('name'); var val = $(this).val(); var href = self.setFilterHref(name,val); self.history.pushState(null, null, href); }) $(window).bind('scroll.search1',function(){ if (!$("html").hasClass('ua-desktop')) { var target = $('.facetctrl-sticky-target').eq(0); var istarget = $('.facetctrl-sticky-target').length; if (target && istarget) { var ypos = $(this).scrollTop(); var targetTop = target.offset().top; if (ypos > targetTop) { $('.facetctrl-sticky').addClass('active'); } else { $('.facetctrl-sticky').removeClass('active'); } } } }); $('.facetctrl-sticky a').click(function(){ $('.facetctrl-sticky-target .toggle-container:not(.toggled) a.toggle-button').eq(0).click(); }); } FacetController.prototype.formatCount = function(node) { var num = node.count || node.c || ''; if (num == '') return ''; return '&nbsp;('+num.replace(/\B(?=(\d{3})+(?!\d))/g, ",")+')'; } FacetController.prototype.nextPage = function(url){ this.loading(); var self = this; self.ajaxConnectionActive = true; jQuery.ajax( { url: url, timeout:5000, success:function(data){ self.data.page += 1; self.redraw(data,true); self.doneLoading(); self.ajaxConnectionActive = false; $(self.container).trigger("facetctrl.nextpage.complete"); }, error: function(){ document.location = url.replace('_ajax_pagination=1','') } }) } FacetController.prototype.updateState = function(args){ this.historyState = this.history.getState(); this.ajaxConnectionActive = true; var args = args || {}; args.force = args.force || false; var url = this.historyState.url; if (this.ajaxCache[url] && args.force == false) { var self = this; this.loading(); window.setTimeout(function(){ var data = self.ajaxCache[url]; self.redraw(data); self.doneLoading(); self.ajaxConnectionActive = false; $(self.container).trigger("facetctrl.update.complete"); },400); } else { this.loading(); var self = this; jQuery.ajax( { url: this.historyState.url, timeout:args.timeout || 5000, success:function(data){ console.timeEnd('dataLoaded'); console.time('redraw'); //self.ajaxCache[self.historyState.url] = data; // save memory self.redraw(data); self.doneLoading(); self.ajaxConnectionActive = false; $(self.container).trigger("facetctrl.update.complete"); console.timeEnd('redraw'); }, error: function(){ if (!window.wcm) {document.location = self.historyState.url} } }) } } FacetController.prototype.loading = function(){ console.time('dataLoaded'); $(this.container).addClass("facetctrl-loading"); framework.progress.start(); } FacetController.prototype.doneLoading = function(){ var self = this; self.restoreFocus() window.setTimeout(function(){ $(self.container).removeClass("facetctrl-loading"); framework.progress.done(); if (window.dlg) {window.dlg.close()}; },1) } FacetController.prototype.isLoading = function(){ return this.ajaxConnectionActive; } FacetController.prototype.getIcon = function(icon, alt){ if (icon == 'checkbox') { return '<span class="icon-checkbox icon-svg"><img src="https://d1gfwsbop52idw.cloudfront.net/static/shared/images/framework/3.0/icon-checkbox.svg" tab-index="0" aria-checked="false" role="checkbox" alt="" aria-label="' + alt +'"/></span>' } if (icon == 'checkbox-checked') { return '<span class="icon-checkbox-checked icon-svg"><img src="https://d1gfwsbop52idw.cloudfront.net/static/shared/images/framework/3.0/icon-checkbox-checked.svg" tab-index="0" aria-checked="true" role="checkbox" alt="" aria-label="' + alt +'" aria-checked="true"/></span>' } } FacetController.prototype.updateInputFields = function(){ for (var i = 0;i<this.facets.length;i++) { var facet = this.facets[i].key; var facetValue = null; for (var j = 0;j<this.parsedFacetState.length;j++) { var d = this.parsedFacetState[j]; var facetKey = d[0]; if (facetKey == facet) { facetValue = d[1]; } } if (facetValue == null) { $(this.container).find('input:text').each(function(){ if (this.name == facet && $(this).val() != '' && !$(this).is(':focus')) { $(this).val('') } }) } else { $(this.container).find('input:text').each(function(){ if (this.name == facet && !$(this).is(':focus') && !$(this).hasClass('facetctrl-ajax-textq')) { $(this).val(facetValue) } }) } } } FacetController.prototype.redraw = function(data,append){ // sync html areas var self = this; var newdoc = document.createElement('div'); newdoc.innerHTML = data; // new result has no isotope, uninstall it if (data && $(newdoc).find(".facetctrl-isotope-results").length == 0) { $(this.container).find(".facetctrl-isotope-results").removeClass('facetctrl-isotope-results'); } // isotope container already exists, and new result has more isotope var isotopeInserted = false; $(this.container).find(".facetctrl-isotope-results.isotope-installed").each(function(){ self.redrawIsotope(data,this,append); isotopeInserted = true; }) if (data) { var id = $(self.container).attr('id'); $(newdoc).find("#" + id + " .facetctrl-ajax-classes").each(function(i){ var classes = $(this).attr('class'); $(self.container).find(".facetctrl-ajax-classes").eq(i).attr('class',classes); }) $(newdoc).find("#" + id + " .facetctrl-ajax-html").each(function(i){ var html = $(this).html(); if ($(this).hasClass('facetctrl-ajax-noupdate')) { // pass } else if ($(this).hasClass('facetctrl-ajax-append') && append) { $(self.container).find(".facetctrl-ajax-html").eq(i).append('<div class="facetctrl-appended">'+html+'</div>'); } else if (!append) { $(self.container).find(".facetctrl-ajax-html").eq(i).html(html); } }) $(newdoc).find("#" + id + " .facetctrl-results").each(function(){ var html = $(this).html(); if (append && !isotopeInserted) { $(self.container).find(".facetctrl-results").append('<div class="facetctrl-appended">'+html+'</div>'); } else if (!isotopeInserted) { $(self.container).find(".facetctrl-results").html(html); } else { $(self.container).find('.facetctrl-no-results').remove() $(self.container).find('.facetctrl-results').append($(this).find('.facetctrl-no-results')); } }); var facetState = document.location.search; if (append) { $(document).trigger('framework.domupdate'); } else { eval($(newdoc).find("script[type='text/facetconfig']").html()); var facetData = eval($(newdoc).find("script[type='text/facetdata']").html()); self.loadData(facetData,facetState); self.render(); } var newtitle = $(newdoc).find('title').eq(0).text() if (newtitle) document.title = newtitle; $(self.container).trigger("facetctrl.ajax.complete",{"html":data}); } // isotope container was newly installed $(this.container).find(".facetctrl-isotope-results").each(function(){ if (!$(this).hasClass("isotope-installed")) { $(this).addClass("isotope-installed"); self.installIsotope(this); self.redrawIsotope(data,this,append); } }) if (self.closeFacets) { $(this.container).find('.toggle-button').click(); framework.scrollTo(document.getElementById('search1-app')) self.closeFacets = false; } self.updatePagination(); if (window.authoring) window.authoring.reload(); } FacetController.prototype.redrawIsotope = function(data,results,append){ var $results = $(results); var self = this; if (data) { if (!append) { $(this.container).find(".facetctrl-isotope-element").removeClass("visible"); $(this.container).find(".facetctrl-isotope-element").hide(); } var div = document.createElement('div'); div.innerHTML = data; var $newItems = $(div).find(".facetctrl-isotope-element").filter(function(){ if (document.getElementById(this.id)) { var newposition = $(this).attr('data-position'); $(document.getElementById(this.id)).html($(this).html()); $(document.getElementById(this.id)).addClass("visible").attr('data-position',newposition); $(document.getElementById(this.id)).show(); return false; } return true; }); $newItems.addClass("visible"); this.iso.insert($newItems); } else { $(this.container).find(".facetctrl-isotope-element").addClass("visible"); } $(this.container).addClass('facetctrl-animating'); this.iso.reloadItems(); this.iso.on("layoutComplete",function(){ $(self.container).removeClass('facetctrl-animating'); $(document).trigger('framework.domupdate'); $('.facetctrl-isotope-results.invisible',self.container).removeClass('invisible'); if(typeof Widgets != 'undefined') $(document).ready(Widgets.refresh); }); var $container = $('.facetctrl-isotope-results'); $container.imagesLoaded( function() { iso.layout(); }); this.iso.arrange({filter:".visible"}) } FacetController.prototype.installIsotope = function(results){ //var windowSize = $(window).width(); var gutterWidth = 24; //var columnWidth = Math.floor(($('.facetctrl-isotope-results').width() / 3) - (2 * gutterWidth)); /*if (windowSize <= 650) { gutterWidth = 0; } else if (windowSize > 651 && windowSize < 1020 ) { gutterWidth = 8; } else if (windowSize >= 1020) { gutterWidth = 24;}*/ var options = { itemSelector : '.facetctrl-isotope-element', masonry: { gutter: gutterWidth }, getSortData : { position: function (itemElem) { var weight = $(itemElem).attr('data-position') return parseInt(weight); } }, sortBy: 'position' } this.iso = window.iso = new FacetController.libs.Isotope(results,options); var $container = $('.facetctrl-isotope-results'); $container.imagesLoaded( function() { iso.layout(); }); } FacetController.prototype.install = function(group){ this.group = group; this.facets = group.getFacets(); } FacetController.prototype.installMobile = function(groupMobile){ return; this.groupMobile= groupMobile; } FacetController.isReady = false; FacetController.ready = function(callback) { if (FacetController.isReady) { callback(); return; } var libs = [ 'https://webassets.hbs.edu/libs/isotope/isotope.pkgd.min.js', 'https://webassets.hbs.edu/libs/imagesloaded/imagesloaded.pkgd.min.js', 'https://webassets.hbs.edu/libs/jquery/history/jquery.history.js']; //if ($.ui) { //libs.splice(1,1) //} /*var link = document.createElement("link"); link.type = "text/css"; link.rel = "stylesheet"; link.href = 'http://www.hbs.edu/shared/components/search/search.css'; if (document.location.href.indexOf('dev.exed.hbs.edu') > -1) { link.href = 'http://webdev.hbs.edu/shared/components/search/search.css'; } document.getElementsByTagName("head")[0].appendChild(link);*/ requirejs.config({waitSeconds:60}); requirejs(libs,function(Isotope){ FacetController.libs = {} FacetController.libs.Isotope = Isotope; FacetController.libs.ImagesLoaded = window.ImagesLoaded; FacetController.libs.History = window.History; FacetController.libs.jQuery = window.jQuery; FacetController.isReady = true; callback(); }); } FacetController.prototype.loadData = function(facetData) { this.data = {}; this.data.facets = {}; this.data.pages = facetData.pages; this.data.page = facetData.page; this.data.query = facetData.query; this.data.breadcrumb = facetData.breadcrumb; this.data.total = facetData.total; this.state = {}; if (this.history && this.history.getState) { this.facetState = this.history.getState().url.split('#')[0]; } else { this.facetState = document.location.search.split('#')[0]; } this.parsedFacetState = this.getFacetStateFromQueryString(this.facetState); for (var i = 0;i<this.parsedFacetState.length;i++) { var d = this.parsedFacetState[i]; facetKey = d[0]; facetId = d[1]; if (!this.state[facetKey]) this.state[facetKey] = {}; this.state[facetKey][facetId] = true; } for (var i = 0;i<facetData.facets.length;i++) { var d = facetData.facets[i]; if (typeof d != 'undefined' && d.facet) { var facetKey = d.facet; if (d.packed && d.packed.indexOf('|') > -1) { var parts = d.packed.split('|'); d.id = parts[1].replace('t=',''); d.label = d.id; if (parts[2]) d.parentID = parts[2].replace('p=',''); } if (!this.data.facets[facetKey]) this.data.facets[facetKey] = []; if (!this.state[facetKey]) this.state[facetKey] = {}; this.data.facets[facetKey].push(d); } } }; FacetController.prototype.onRender = function(callback) { this.renderCallback = callback; } FacetController.prototype.render = function(callback) { this.renderCallback(); $(this.container).addClass('rendered'); var self = this; var refiners = []; var query = []; for (var i = 0;i<this.parsedFacetState.length;i++) { var d = this.parsedFacetState[i]; var facetKey = d[0]; var facetValue = d[1]; var facetLabel = this.findLabel(facetKey,facetValue); if(facetKey!='page' && facetKey != 'facet' && self.data.facets[facetKey] != undefined){ refiners.push(facetKey + ' : '+facetLabel); } if (facetKey == 'q') { query.push(facetValue); } } if (refiners.length > 0 || query) { var ttl = this.data.total; if (window.analytics) { analytics.search(query.join(" and ") || '',ttl || '',refiners); } else if (window.tagManager) { window.tagManager.getAnalytics(function(analytics){ analytics.search(query.join(" and ") || '',ttl || '',refiners); }) } else { window._analytics = window._analytics || []; window._analytics.push(function(){ analytics.search(query.join(" and ") || '',ttl || '',refiners); }); } } if (!this.setupComplete) { self.redraw(false); self.setupComplete = true; } if (this.onRefreshComplete) this.onRefreshComplete(); } FacetController.prototype.getState = function(key) { var facetState = this.state[key]; if (!facetState) return []; return facetState; } FacetController.prototype.isSelected = function(key) { for (var p in this.state[key]) { return true; } return false; } FacetController.prototype.getData = function(key) { var facetData = this.data.facets[key]; if (!facetData) return []; return facetData; } FacetController.prototype.saveFocus = function(key) { self.previousFocus = key } FacetController.prototype.restoreFocus = function() { if (self.previousFocus) { $(self.container).find('[data-term-id]').each(function(){ if ($(this).data('term-id') == self.previousFocus) { $(this).find('a').eq(0).focus(); } }) self.previousFocus = null } } //headerTitle,label,key,defaultCollapsed,disabled,deferLoad FacetController.prototype.facetStartHTML = function(facet) { var languageContainer = ''; var label = facet.label var key = facet.key; var defaultCollapsed = facet.defaultCollapsed; var disabled = facet.disabled; var deferLoad = facet.deferLoad; if (typeof Search != 'undefined' && typeof Search.Settings.LanguageContainer != 'undefined') languageContainer = Search.Settings.LanguageContainer; var h = '<div class="facet-control">'; if (defaultCollapsed && this.isSelected(key)) defaultCollapsed = false; var cls = (defaultCollapsed && !deferLoad) ? 'toggle-hide' : 'toggle-show'; var memory = ' has-memory'; if (this.isSelected(key)) memory = ''; if (typeof facet.toggle != 'undefined' && !facet.toggle) { h += '<div class="facet-name-'+key+'" id="facet-'+key+'">'; h += '<div><h2 class="kappa-uc">' + label+'</div></h2>'; h += '<div class="nu">'; } else if (disabled && label) { h += '<div class="facet-name-'+key+' facet-disabled">'; h += '<div><h2 class="kappa-uc"><a href="#" role="button" aria-expanded="false" class="toggle-button ' + languageContainer + ' black">'; h += '<span class="icon-plusbox"></span>'+label+'</a></h2>'; h += '</div>'; h += '<div class="nu hidden">'; } else if (disabled) { h += '<div class="nu hidden">'; } else if (label && deferLoad && this.getData(key).length == 0) { // nothing has been loaded yet var href = this.addFilterHref('facet',key); h += '<div class="facet-name-'+key+'">'; h += '<div><h2 class="kappa-uc"><a href="'+href+'" aria-expanded="false" class="facetctrl-ajax-link black">'; h += '<span class="icon-plusbox"></span>'+label+'</a></h2>'; h += '</div>'; h += '<div class="nu">'; } else if (label) { h += '<div class="toggle-container'+memory+' facet-name-'+key+'" id="facet-'+key+'">'; h += '<div class="'+cls+'"><h2 class="kappa-uc"><a href="#" role="button" aria-expanded="false" class="toggle-button ' + languageContainer + ' black">'; h += '<span class="icon-plusbox"></span>'+label+'</a></h2>'; h += '</div>'; cls = (defaultCollapsed && !deferLoad) ? 'toggle-show' : 'toggle-hide'; h += '<div class="'+cls+'"><h2 class="kappa-uc"><a href="#" aria-expanded="true" role="button" class="toggle-button ' + languageContainer + ' black">'; h += '<span class="icon-minusbox"></span>'+label+'</a></h2>'; h += '</div>'; h += '<div class="'+cls+' has-slide nu">'; } else { h += '<div class="facet-name-'+key+'"><div>' } return h; } FacetController.prototype.facetEndHTML = function() { var h = '</div></div></div>'; return h; } FacetController.prototype.renderNavigation = function(facetName) { var h = '<div class="facet-pattern2"><h2 class="visually-hidden">Filters</h2>'; if (facetName) { for (var i = 0; i < this.group.children.length; i++ ) { var facet = this.group.children[i]; if (facetName == facet.key) { return facet.render({simple:true}); } } } else { if (this.group) h += this.group.render(); } h += '</div>'; return h; } FacetController.prototype.renderNavigationMobile = function() { return ''; var h = '<div class="facet-pattern">'; h += this.groupMobile.render(); h += '</div>'; return h; } FacetController.prototype.isFacet = function(facetKey) { //if (facetKey == 'q') return false; if (facetKey == 'sort') return false; for (var i=0;i<this.facets.length;i++) { if (this.facets[i].key == facetKey) return true; } return false; } FacetController.prototype.getFacet = function(facetKey) { //if (facetKey == 'q') return false; for (var i=0;i<this.facets.length;i++) { if (this.facets[i].key == facetKey) return this.facets[i]; } return false; } FacetController.prototype.findLabel = function(facetKey, value, breadcrumb) { var d = this.getData(facetKey); if (d) { for (var i = 0;i<d.length;i++) { var data = d[i]; if (value == data.id || value == data.param) { var f = this.getFacet(data.facet); if (f && f.labelfn) { return f.labelfn(data.label,data,1);} if (breadcrumb && data.breadcrumb) return data.breadcrumb; return data.label; //Display Label } } } return value; } // make safe for printing FacetController.prototype.p = function(str) { if (!str) return ''; return str.replace(/\+/g,' ').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;'); } FacetController.prototype.renderBreadcrumb = function(){ if (this.singleSelect) { for (var i = 0;i<this.parsedFacetState.length;i++) { var d = this.parsedFacetState[i]; var facetKey = d[0]; var facetValue = d[1]; var facetLabel = this.findLabel(facetKey,facetValue,1); if(this.isFacet(facetKey)){ var href = this.removeFilterHref(facetKey,facetValue); return '<h2 class="gamma">'+this.p(facetLabel) + '</h2>' } } } var bcrumb = ''; for (var i = 0;i<this.parsedFacetState.length;i++) { var d = this.parsedFacetState[i]; var facetKey = d[0]; var facetValue = d[1]; var facetLabel = this.findLabel(facetKey,facetValue,1); if(this.isFacet(facetKey)){ var href = this.removeFilterHref(facetKey,facetValue); bcrumb += '<a class="ink facetctrl-ajax-link facetctrl-event-clear" href="'+href+'">'+this.p(facetLabel)+'<span class="icon-circle-close-red"></span></a> <span class="txt-arrow eta" aria-hidden="true">&#x2192;</span> '; } } if (bcrumb) {bcrumb = '<h2 class="eta">' + bcrumb + '</h2>'} return bcrumb; } FacetController.prototype.renderPagination = function(){ return '<div class="facetctrl-ajax-pagination"></div>' } FacetController.prototype.updatePagination = function(){ var self = this; $(this.container).find(".facetctrl-ajax-pagination").each(function(){ var qs = '?' + (window.SESSION_QUERYSTRING || ''); for (var i = 0;i<self.parsedFacetState.length;i++) { var d = self.parsedFacetState[i]; if ( d[0] != 'page') { qs += '&' + d[0] + '=' + encodeURIComponent(d[1]); } } if((self.data.page) < self.data.pages) { $(this).attr('style','text-align:center;display:block !important;margin-top:20px;margin-bottom:32px;'); $(this).addClass('hbsred-bg').removeClass("hidden"); qs += '&_ajax_pagination=1&page=' + (self.data.page + 1); qs = qs.replace('?&','?'); var label = $(".btn-bar",self.container).text(); $(this).html('<a href="'+qs+'" role="button" class="facetctrl-ajax-nextpage white lambda-uc btn-bar hbsred-bg" title="Load More Results">'+label+'<span class="icon-expand-white" style="margin-left:10px;margin-bottom:1px;"></span></a>'); }else{ $(this).attr('style','display:none;'); } }); } FacetController.prototype.addFilterHref = function(key,val,querystring) { var qs = '?' + (window.SESSION_QUERYSTRING || ''); var found = false; for (var i = 0;i<this.parsedFacetState.length;i++) { var d = this.parsedFacetState[i]; if (d[0] == 'page') continue; qs += '&' + d[0] + '=' + encodeURIComponent(d[1]); if (d[0] == key && d[1] == val) found = true; } if (querystring) qs = querystring; if (!found) { qs += '&' + key + '=' + encodeURIComponent(val); } qs = qs.replace('?&','?'); return qs; } FacetController.prototype.removeFilterHref = function(key,val,href) { var qs = '?' + (window.SESSION_QUERYSTRING || ''); var facetState = this.parsedFacetState; if (href) facetState = this.getFacetStateFromQueryString(href); for (var i = 0;i<facetState.length;i++) { var d = facetState[i]; if (key == d[0] && val == d[1]) { //pass } else if (d[0] == 'page') { //pass } else if (key == d[0] && !val) { //pass } else { qs += '&' + d[0] + '=' + encodeURIComponent(d[1]); } } qs = qs.replace('?&','?') return document.location.pathname + qs; } FacetController.prototype.removeFacetFilterHref = function() { var facetHref = null; for (var j = 0; j<this.facets.length; j++) { var f = this.facets[j]; if (f.key) facetHref = this.removeFilterHref(f.key,null,facetHref); } return facetHref; } FacetController.prototype.setFilterHref = function(key,val) { var qs = '?' + (window.SESSION_QUERYSTRING || ''); for (var i = 0;i<this.parsedFacetState.length;i++) { var d = this.parsedFacetState[i]; if (key == d[0]) { //pass } else if (d[0] == 'page') { //pass } else { qs += '&' + d[0] + '=' + encodeURIComponent(d[1]); } } if (val) qs += '&' + key + '=' + encodeURIComponent(val); qs = qs.replace('?&','?') return document.location.pathname + qs; } FacetController.prototype.getFilterHref = function() { var qs = '?' for (var i = 0;i<this.parsedFacetState.length;i++) { var d = this.parsedFacetState[i]; qs += '&' + d[0] + '=' + encodeURIComponent(d[1]); } qs = qs.replace('?&','?') return qs; } FacetController.prototype.getFacetStateFromQueryString = function(qs) { var queryParam = []; var self = this; if (qs) { qs.replace( new RegExp("([^?=&]+)(=([^&]*))?", "g"), function($0, $1, $2, $3) { if ($3) { if (!self.validParams || $.inArray($1,self.validParams) > -1) { var val = $3.replace(/\+/g, '%20'); queryParam.push([$1,decodeURIComponent(val)]); } } } ); } return queryParam; }; /** * @fileoverview TextResizeDetector * * Detects changes to font sizes when user changes browser settings * <br>Fires a custom event with the following data:<br><br> * iBase : base font size * iDelta : difference in pixels from previous setting<br> * iSize : size in pixel of text<br> * * * @author Lawrence Carvalho carvalho@uk.yahoo-inc.com * @version 1.0 */ /** * @constructor */ TextResizeDetector = function() { var el = null; var iIntervalDelay = 200; var iInterval = null; var iCurrSize = -1; var iBase = -1; var aListeners = []; var createControlElement = function() { el = document.createElement('span'); el.id='textResizeControl'; el.innerHTML='&nbsp;'; el.style.position="absolute"; el.style.left="-9999px"; var elC = document.getElementById(TextResizeDetector.TARGET_ELEMENT_ID); // insert before firstChild if (elC) elC.insertBefore(el,elC.firstChild); iBase = iCurrSize = TextResizeDetector.getSize(); }; function _stopDetector() { window.clearInterval(iInterval); iInterval=null; }; function _startDetector() { if (!iInterval) { iInterval = window.setInterval('TextResizeDetector.detect()',iIntervalDelay); } }; function _detect() { var iNewSize = TextResizeDetector.getSize(); if(iNewSize!== iCurrSize) { for (var i=0;i <aListeners.length;i++) { aListnr = aListeners[i]; var oArgs = { iBase: iBase,iDelta:((iCurrSize!=-1) ? iNewSize - iCurrSize + 'px' : "0px"),iSize:iCurrSize = iNewSize}; if (!aListnr.obj) { aListnr.fn('textSizeChanged',[oArgs]); } else { aListnr.fn.apply(aListnr.obj,['textSizeChanged',[oArgs]]); } } } return iCurrSize; }; var onAvailable = function() { if (!TextResizeDetector.onAvailableCount_i ) { TextResizeDetector.onAvailableCount_i =0; } if (document.getElementById(TextResizeDetector.TARGET_ELEMENT_ID)) { TextResizeDetector.init(); if (TextResizeDetector.USER_INIT_FUNC){ TextResizeDetector.USER_INIT_FUNC(); } TextResizeDetector.onAvailableCount_i = null; } else { if (TextResizeDetector.onAvailableCount_i<600) { TextResizeDetector.onAvailableCount_i++; setTimeout(onAvailable,200) } } }; setTimeout(onAvailable,500); return { /* * Initializes the detector * * @param {String} sId The id of the element in which to create the control element */ init: function() { createControlElement(); _startDetector(); }, /** * Adds listeners to the ontextsizechange event. * Returns the base font size * */ addEventListener:function(fn,obj,bScope) { aListeners[aListeners.length] = { fn: fn, obj: obj } return iBase; }, /** * performs the detection and fires textSizeChanged event * @return the current font size * @type {integer} */ detect:function() { return _detect(); }, /** * Returns the height of the control element * * @return the current height of control element * @type {integer} */ getSize:function() { var iSize; return el.offsetHeight; }, /** * Stops the detector */ stopDetector:function() { return _stopDetector(); }, /* * Starts the detector */ startDetector:function() { return _startDetector(); } } }(); TextResizeDetector.TARGET_ELEMENT_ID = 'doc'; TextResizeDetector.USER_INIT_FUNC = null; function textResizeInit() { var iBase = TextResizeDetector.addEventListener(onFontResize,null); } //id of element to check for and insert control TextResizeDetector.TARGET_ELEMENT_ID = 'container'; //function to call once TextResizeDetector has init'd TextResizeDetector.USER_INIT_FUNC = textResizeInit; function onFontResize(e,args) { console.log('font resized!'); if (window.iso) iso.layout(); } </script> <style>a[href*="TOFIX" i],a[href*="TODO" i] { background-color: yellow; } @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { .universal-banner-search-toggle svg {margin-top: -6px;} } .universal-banner-search { min-width: 400px; position: relative; } .universal-banner-menu-toggle { padding:6px; cursor: pointer; } .universal-banner-search-toggle { position: absolute; top: -9px; right: 10px; width: 50px; height: 49px; padding-top: 13px; padding-left: 2px; text-align: center; cursor: pointer; box-sizing: border-box; transition: all .3s cubic-bezier(0.5, 0, 0.1, 1) ; } .universal-banner-search-toggle svg { cursor: pointer; display:block; transition: all .3s cubic-bezier(0.5, 0, 0.1, 1) ; } .universal-banner-search-toggle.toggled { background-color: #a41034; transform: scale(0.65); } .universal-banner-search-toggle.toggled svg { transform: scale(0.9) rotate(-45deg) !important; } .universal-banner-search-input { xoverflow: hidden; xposition: relative; width:269px; } .universal-banner-search-input .universal-site-search-button { display:none; } .universal-banner-search-input .slide { transition: .3s opacity, .3s transform, 0s visibility 0.7s cubic-bezier(0.5, 0, 0.1, 1); xtransform: translateX(310px); opacity: 0; visibility: hidden; } .universal-banner-search-input.open .slide { transition: .3s opacity, .3s transform cubic-bezier(0.5, 0, 0.1, 1); xtransform: translateX(0); opacity: 1; visibility: visible; } .universal-banner .hbs-logo { padding: 8px 0px; } @media (max-width: 919px) and (min-width: 651px) {.responsive-framework .site-header .site-header-button { margin-left: 10px !important; margin-top: 25px !important; } .site-header .universal-banner-hamburger { position:relative; top:2px; left:2px; } .universal-banner-hamburger span { background: #000!important; } .universal-banner .hbs-logo img { height: 52px; } } .universal-banner-hamburger { width: 23px; height: 25px; position: relative; } @media (max-width: 650px) { .responsive-framework .site-header .site-header-button { margin-left: 10px !important; margin-top: 25px !important; } .universal-banner .hbs-logo { padding: 5px 0px; display: flex; justify-content: center; } .universal-banner .hbs-logo img { height: 42px; width: 99px; }.site-header .universal-banner-hamburger { height: 22px; width: 22px; position: relative; left: 4px; } .site-header .universal-banner-hamburger span { height: 3px; } .site-header .universal-banner-hamburger span:nth-child(1) { top: 2px; } .site-header .universal-banner-hamburger span:nth-child(2) { top: 9px; } .site-header .universal-banner-hamburger span:nth-child(3) { top: 16px; } .universal-banner-search-icon svg { width: 39px !important; } .universal-banner-hamburger span { background: #000!important; } } .universal-banner-hamburger span { display: block; position: absolute; height: 4px; width: 100%; background: #FFF; opacity: 1; left: 0; transform: rotate(0deg); transition: .3s cubic-bezier(0.5, 0, 0.1, 1) ; } .universal-banner-hamburger span:nth-child(1) { top: 0px; transform-origin: left center; } .universal-banner-hamburger span:nth-child(2) { top: 8px; transform-origin: left center; } .universal-banner-hamburger span:nth-child(3) { top: 16px; transform-origin: left center; } .universal-banner-hamburger.open span:nth-child(1) { transform: rotate(45deg); } .universal-banner-hamburger.open span:nth-child(2) { width: 0%; opacity: 0; } .universal-banner-hamburger.open span:nth-child(3) { transform: rotate(-45deg); } .skipto.hideme:focus { left: 0px; top: 0px; background-color: white; padding: 6px; width: auto; height: auto; } body:not(.user-is-tabbing) #skipto-main:focus { outline: none; } .above-nav-header .navbar>li:first-child>a { border-left: 1px rgba(255,255,255,0.4) solid; } .above-nav-header .navbar>li:last-child>a { border-right: 1px rgba(255,255,255,0.4) solid; } @media (max-width: 919px) and (min-width: 651px) { header.site-header.above-nav-header .site-header-button { margin-top: 6px!important; margin-bottom: 6px!important; } } .slider-container.slider-open .slider-open[aria-expanded=false] { opacity: 0.3; } .slider-container .btn-glass.slider-open { background-color: transparent !important; } ul.navbar.four li a {padding: 4px 80px 3px 80px!important;} ul.navbar.four li.nav-downloads a {padding: 4px 10px 3px 10px!important;} ul.navbar.four li a.active {padding: 4px 80px!important;} .component-framework .btn-glass.site-header-button {border:0;}.navbar li.nav-downloads{width: 260px; text-align: center;} .navbar .nav-downloads:hover {background: black;} .navbar .nav-downloads:hover > a {border-left:none;} .nav-downloads:hover > a.dropdown-toggle2 span.icon-expand {background-position: -240px -80px !important;} .navbar .nav-downloads:hover > .menu-head, .navbar .nav-downloads.active a {color: white!important;} .navbar li.nav-downloads li{ text-align: left; } .navbar > li.nav-downloads > ul.dropdown-menu2 li a{ margin: 1px 8px;padding: 6px 8px!important; } .navbar > li.nav-downloads .dropdown-menu2 > li.divider { min-width: 100px; margin-left: 8px; margin-right: 8px; } .navbar .dropdown-container2.nav-downloads > a:hover {text-decoration: none;} .navbar li.nav-downloads ul.dropdown-menu2 li a.hover { color: black!important; } .navbar .dropdown-container2.nav-downloads > a > span {margin-left: 10px;} .navbar .dropdown-container2.nav-downloads {position: relative !important;} .navbar .dropdown-container2.nav-downloads .dropdown-menu2 {position: absolute; top:38px !important;left:-1px;min-width:254px!important;} .navbar .dropdown-container2.nav-downloads.active {background-color: black;} .nav-downloads.active a.menu-head span.icon-expand {background-position: -240px -80px;} #flyout-navigation a.dropdown-toggle2 {padding-left: 0 !important;} #flyout-navigation a.dropdown-toggle2 .icon-expand {margin-left: 11px;} .flyout-panel .flyout-padding li a.dropdown-toggle2 {display:none;} @media (max-width: 1220px) and (min-width: 920px) { .site-header h1.gamma-uc.tablet-shrink { font-size: 28px!important; } .site-header h1.tablet-shrink + nav .toolbar > li > a { padding: 4px 4px 0 4px!important; } }@media (max-width: 650px) { .universal-banner-search-icon { height: 24px!important; padding-left: 10px; } .responsive-framework.pattern-framework .site-header .gamma-uc a.white.black-bg { box-shadow: 10px 0 0 black, 0px 0 0 black; padding-right: 0px; } } #sticky-header { position: fixed; overflow: hidden; background-color: inherit; height: 0; top:0!important; left:0; right:0; z-index: 110; transform: translate3d(0,0,0); transition: height .3s cubic-bezier(0.5, 0, 0.1, 1) ; } #sticky-header > div.wrapper { position: absolute; bottom:0; left:0; right:0; } #sticky-header.at-scroll-top { display: none; } .sticky-header-active .facetctrl-sticky.active, .sticky-header-active .filter-sticky.fixed { transition: margin .3s cubic-bezier(0.5, 0, 0.1, 1) ; } .sticky-header-expanded .facetctrl-sticky.active { margin-top:98px; } @media (max-width: 650px) { .sticky-header-expanded .filter-sticky.fixed { margin-top:98px; } .sticky-header-expanded .facetctrl-sticky.active { margin-top:98px; } } @media (min-width: 651px) and (max-width: 919px) { .sticky-header-expanded .filter-sticky.fixed { margin-top:118px; } .sticky-header-expanded .facetctrl-sticky.active { margin-top:113px; } } .sticky-header-active .universal-banner.sticky-header-cloned, .sticky-header-active .sticky-header-cloned .site-header-button { visibility: hidden; } @media screen and (min-width: 920px) { .body-layout { margin-left: 20px; } } .page-header h2.alpha.no-margin { margin-bottom: 0px!important; } .page-header .tagline a { text-decoration: underline; } .page-header .tagline a:hover { text-decoration: none; } @media (max-width: 650px) { .page-header .podcast-avatar-head div { position: relative!important; top: 0!important; } } .mobile-breadcrumb-container .plus-icon .plus-bar { transition: all .3s ease; transform-origin: 50% 50%; transform: rotate(0deg); } .mobile-breadcrumb-container.toggled .plus-icon .plus-bar { opacity: 0; transform: rotate(90deg); } .mobile-breadcrumb ul { margin:-2px 0 0 0; padding: 0 0 3px 33px; } #sticky-header .mobile-breadcrumb ul { border-bottom: 0; padding-bottom: 0; } .mobile-breadcrumb li { padding: 0; margin: 3px 0; list-style-type: none; } .mobile-breadcrumb li.active { position: relative; } .mobile-breadcrumb li.active:before { position: absolute; top: -2px; left: -23px; content: '→'; }.page-header .html p:last-of-type { margin-bottom: 12px; } @media (max-width: 919px) and (min-width: 651px) { .mobile-breadcrumb ul { padding: 0 0 3px 48px; } .mobile-indent { margin-left:48px; } } @media (max-width: 650px) { .mobile-indent { margin-left: 33px; }.page-header .html p:last-of-type { margin-bottom: 0px; } } .carousel-panels .readmore { max-height: none; } .ua-mobile .carousel-panels li, .ua-tablet .carousel-panels li { max-height: none !important; }@media (min-width: 1220px) { .research-hero.sidebar .span2.sidebar-image { width:160px; } } .component-framework .teal-inherit .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #2AA296; } .component-framework .teal-inherit .event-thumbnail-partial .event-thumbnail span { background-color: #2AA296; color: white; } .component-framework .teal-inherit .inherit-light-bg .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #2AA296; } .component-framework .teal-inherit .inherit-light-bg .event-thumbnail-partial .event-thumbnail span { background-color: #2AA296; color: white; } .component-framework .salsa-inherit .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #ed6a47; } .component-framework .salsa-inherit .event-thumbnail-partial .event-thumbnail span { background-color: #ed6a47; color: white; } .component-framework .salsa-inherit .inherit-light-bg .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #ed6a47; } .component-framework .salsa-inherit .inherit-light-bg .event-thumbnail-partial .event-thumbnail span { background-color: #ed6a47; color: white; } .component-framework .darkblue-inherit .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #3a98c7; } .component-framework .darkblue-inherit .event-thumbnail-partial .event-thumbnail span { background-color: #3a98c7; color: white; } .component-framework .darkblue-inherit .inherit-light-bg .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #3a98c7; } .component-framework .darkblue-inherit .inherit-light-bg .event-thumbnail-partial .event-thumbnail span { background-color: #3a98c7; color: white; } .component-framework .citrus-inherit .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #ed6a47; } .component-framework .citrus-inherit .event-thumbnail-partial .event-thumbnail span { background-color: #ed6a47; color: white; } .component-framework .citrus-inherit .inherit-light-bg .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #ed6a47; } .component-framework .citrus-inherit .inherit-light-bg .event-thumbnail-partial .event-thumbnail span { background-color: #ed6a47; color: white; } .component-framework .green-inherit .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #8E9617; } .component-framework .green-inherit .event-thumbnail-partial .event-thumbnail span { background-color: #8E9617; color: white; } .component-framework .green-inherit .inherit-light-bg .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #8E9617; } .component-framework .green-inherit .inherit-light-bg .event-thumbnail-partial .event-thumbnail span { background-color: #8E9617; color: white; } .component-framework .lightblue-inherit .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #3a98c7; } .component-framework .lightblue-inherit .event-thumbnail-partial .event-thumbnail span { background-color: #3a98c7; color: white; } .component-framework .lightblue-inherit .inherit-light-bg .event-thumbnail-partial a.event-thumbnail:hover span { background-color: white; color: #3a98c7; } .component-framework .lightblue-inherit .inherit-light-bg .event-thumbnail-partial .event-thumbnail span { background-color: #3a98c7; color: white; } .event-thumbnail-partial .event-thumbnail { min-width:54px; max-width:54px; }.event-thumbnail-partial.legacy .event-thumbnail span{ background-color: #2AA296 !important; } .event-thumbnail-partial.legacy a.event-thumbnail:hover span { background-color: white; color: black !important; }@media print { .profile-details .tablet-hidden.mobile-hidden, .profile-details .span3.sidebar, .profile-details .page-tabs-container, footer .social-grid, .ms-Fabric.ms-Layer-content.content-84 {display:none !important;} .profile-details .tablet-visible.mobile-visible, .profile-details .accordian.profile-tabs dd {display:block !important;overflow:visible !important;} .component-framework dl.accordian dd {position:static !important;margin-bottom:20px;} } .universal-footer .universal-footer-copyright ul.footer-links li { margin: 0px 11px; } .universal-footer .universal-footer-copyright ul.footer-links li:first-child { margin-left: 0px; } .universal-footer .universal-footer-copyright ul.footer-links li:last-child { margin-right: 0px; } @media (max-width: 670px) { .universal-footer .universal-footer-copyright ul.footer-links { display:flex; justify-content: center; flex-wrap: wrap; } .universal-footer .universal-footer-copyright ul.footer-links li { padding-bottom: 12px; } .universal-footer .universal-footer-copyright ul.footer-links li:first-child { margin-left: 11px; } .universal-footer .universal-footer-copyright ul.footer-links li:last-child { margin-right: 11px; } } .button-partial .button { display: inline-block; padding: 3px 18px; text-decoration: none; } .button-partial .button .hbsred-onhover-border { border:2px solid #A41034; } .button-partial svg { padding-top: 2px; padding-right: 8px; vertical-align: top; } ;</style> </head> <body class="expanded-grid-framework"> <!--WCMAuthoringReact--><header aria-label="Universal HBS Header" role="banner"><a href="#skipto-main" class="hideme skipto">Skip to Main Content</a><div class="universal-banner noindex"> <div class="color-framework grid-framework type-framework component-framework pattern-framework js-framework responsive-framework"> <div class="universal-header-v3"> <div class="black-bg"> <div class="container tablet-container mobile-container"> <div class="row"> <div class="span7"> <div class="hbs-logo" style="z-index: 100;"><a href="https://www.hbs.edu/" data-link-id="header-logo" aria-label="Harvard Business School Home"><img class="fluid" style="display: block;" loading="eager" width="151" height="64" src="https://webassets.hbs.edu/libs/framework/1.0/images/hbs-shield-3line.svg" alt=""></a></div> </div> <div class="span5 desktop-visible"> <div class="search-box tablet-hidden"> <div style="display:flex;margin-right:-8px;"> <div class="universal-banner-search-input"> <div class="slide"> <fieldset class="input" role="search"><input type="search" class="universal-site-search-query" aria-label="Search Text" name="qt" value="" data-placeholder="SEARCH" id="search-text" maxlength="250" style="box-sizing: content-box;float:none;" autocomplete="false"><input type="submit" class="universal-site-search-button" value="Search" id="search-submit"></fieldset> </div> </div> <div class="universal-banner-search" style="min-width:52px;"><a href="#" class="universal-banner-search-toggle block" aria-label="Toggle Search Box"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="fill:white;width:44px;" viewBox="0 0 177 100" version="1.1" focusable="false"> <path d="M137.686,11.342 C137.686,-15.909 115.595,-38 88.344,-38 C61.09,-38 39,-15.909 39,11.342 C39,36.724 58.168,57.607 82.818,60.355 L82.818,72.838 C79.304,74.521 76.898,77.714 76.898,81.419 L76.898,128.148 C76.898,133.588 82.023,138 88.345,138 C94.667,138 99.789,133.589 99.789,128.148 L99.789,81.419 C99.789,77.711 97.382,74.521 93.869,72.838 L93.869,60.354 C118.515,57.606 137.686,36.726 137.686,11.342 Z M56.032,11.225 C56.032,-6.759 70.606,-21.338 88.589,-21.338 C106.572,-21.338 121.142,-6.759 121.142,11.225 C121.142,29.205 106.572,43.78 88.589,43.78 C70.606,43.78 56.032,29.205 56.032,11.225 Z" transform="translate(88.343000, 50.000000) rotate(90.000000) translate(-88.343000, -50.000000) "/></svg></a></div> <div class="universal-banner-menu"><a href="#" class="universal-banner-menu-toggle block" aria-label="Toggle Flyout Menu"> <div class="universal-banner-hamburger"><span></span><span></span><span></span></div></a></div> </div> </div> </div> </div> </div> </div> </div> <div id="universal-slider-nav" class="hidden"> <nav class="gamma-uc site-title" aria-label="HBS Homepage"><a href="https://www.hbs.edu/Pages/default.aspx" class="white slidernav-ancillarynav-hbs-home">HBS Home</a></nav> <div class="hr" style="opacity: 0.3"></div> <nav aria-label="HBS Home Main"> <ul class="epsilon-uc unstyled unbulleted"> <li><a href="https://www.hbs.edu/about/Pages/default.aspx" class="slidernav-ancillarynav-about">About</a></li> <li><a href="https://www.hbs.edu/about/academic-programs/Pages/default.aspx" class="slidernav-ancillarynav-academic-programs">Academic Programs</a></li> <li><a href="https://www.alumni.hbs.edu/Pages/default.aspx" class="slidernav-ancillarynav-alumni">Alumni</a></li> <li><a href="https://www.hbs.edu/faculty/Pages/default.aspx" class="slidernav-ancillarynav-faculty-and-research">Faculty &amp; Research</a></li> </ul> </nav> <div class="hr" style="opacity: 0.3"></div> <nav aria-label="HBS Home Utility"> <ul class="kappa-uc unstyled unbulleted"> <li><a href="https://www.library.hbs.edu/" class="slidernav-ancillarynav-baker-library">Baker Library</a></li> <li><a href="https://www.alumni.hbs.edu/giving/Pages/default.aspx" class="slidernav-ancillarynav-giving">Giving</a></li> <li><a href="https://hbr.org/" class="slidernav-ancillarynav-harvard-business-review">Harvard Business Review</a></li> <li><a href="https://www.hbs.edu/about/initiativesandprojects/Pages/default.aspx" class="slidernav-ancillarynav-initiatives">Initiatives</a></li> <li><a href="https://www.hbs.edu/news/Pages/landing.aspx" class="slidernav-ancillarynav-news">News</a></li> <li><a href="https://www.hbs.edu/recruiting/Pages/default.aspx" class="slidernav-ancillarynav-recruit">Recruit</a></li> </ul> </nav> <div class="hr" style="opacity: 0.3"></div> <nav aria-label="Footer"> <ul class="kappa-uc unstyled unbulleted"> <li><a href="https://www.hbs.edu/maps/" class="slidernav-ancillarynav-map-directions">Map / Directions</a></li> </ul> </nav> </div> </div> </div> </header> <div id="container" class="type-framework color-framework grid-framework component-framework pattern-framework js-framework responsive-framework"> <div class="citrus-inherit responsive-type slider-inject" ><div class="inherit-bg sticky-header-container"></div><header class=" inherit-bg site-header noindex crawl-hidden" aria-label="Site Header" role="banner"> <div class="container bg-img-container link-controller"> <div class="desktop-hidden"><button class="site-header-button slider-backdrop-above slider-open btn-glass black" data-target="flyout-navigation"> <div class="universal-banner-hamburger"><span></span><span></span><span></span></div></button><button class="site-header-button slider-backdrop-above slider-open btn-glass black" data-target="flyout-search"> <div class="universal-banner-search-icon" style="height:26px;"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="fill:black;width:44px;position:relative;" viewBox="0 0 177 100" version="1.1" focusable="false"> <path d="M137.686,11.342 C137.686,-15.909 115.595,-38 88.344,-38 C61.09,-38 39,-15.909 39,11.342 C39,36.724 58.168,57.607 82.818,60.355 L82.818,72.838 C79.304,74.521 76.898,77.714 76.898,81.419 L76.898,128.148 C76.898,133.588 82.023,138 88.345,138 C94.667,138 99.789,133.589 99.789,128.148 L99.789,81.419 C99.789,77.711 97.382,74.521 93.869,72.838 L93.869,60.354 C118.515,57.606 137.686,36.726 137.686,11.342 Z M56.032,11.225 C56.032,-6.759 70.606,-21.338 88.589,-21.338 C106.572,-21.338 121.142,-6.759 121.142,11.225 C121.142,29.205 106.572,43.78 88.589,43.78 C70.606,43.78 56.032,29.205 56.032,11.225 Z" transform="translate(88.343000, 50.000000) rotate(90.000000) translate(-88.343000, -50.000000) "/></svg></div></button></div> <div class="gamma-uc site-home "> <div style="margin-top: 3px;"><a href="/faculty/Pages/default.aspx" class="white black-bg">Faculty &amp; Research</a></div> </div> <div class="navigation" style=""> <div class="hr desktop-visible "></div> <nav class="mobile-hidden tablet-hidden " aria-label="Current Site"> <ul class="navbar sticky-header-appears" style="display:flex;justify-content:space-around;"> <li style="white-space:nowrap;" class=""><a href="/faculty/Pages/browse.aspx?faculty=Current" class=" first"> Faculty </a></li> <li style="white-space:nowrap;" class="active"><a href="/faculty/research/Pages/default.aspx" class="active ">Research</a></li> <li style="white-space:nowrap;" class=""><a href="/faculty/topics/Pages/default.aspx" class=" ">Featured Topics</a></li> <li style="white-space:nowrap;" class=""><a href="/faculty/units/Pages/default.aspx" class=" last">Academic Units</a></li> </ul> </nav> </div> <div class="hr desktop-visible sticky-header-invisible"></div> </div> </header> <!-- STARTINDEX --> <div class="mainContainer link-controller" runat="server"> <main id="skipto-main" tabindex="-1" aria-label="Page content"> <div class="page-header inherit-bg" id=""> <div class="page-header-inner"> <div class="container tablet-container mobile-container " style="position:relative;" id=""> <ul class="nu responsive-breadcrumb toggle-container"> <li class="responsive-breadcrumb-toggle"><a href="#" class="toggle-button">…</a><span class="txt-arrow" aria-hidden="true">→</span></li> <li><a href="https://www.hbs.edu/Pages/default.aspx" class="ink">Harvard Business School</a><span class="txt-arrow" aria-hidden="true">→</span></li> <li><a href="/faculty/Pages/default.aspx" class="ink">Faculty &amp; Research</a><span class="txt-arrow" aria-hidden="true">→</span></li> <li> <div class="dropdown-container"><a class="ink nu dropdown-toggle" href="/faculty/research/Pages/default.aspx" role="button">Research<span class="icon-select"></span></a><ul class="dropdown-menu nu"> <li><a href="/faculty/research/Pages/default.aspx" class="white">Research</a><div class="divider inherit-bg"></div> </li> <li><a href="/faculty/research/publications/Pages/default.aspx" class="white">Publications</a></li> <li><a href="/faculty/research/Pages/global-research-centers.aspx" class="white">Global Research Centers</a></li> <li><a href="/faculty/research/Pages/case-development.aspx" class="white">Case Development</a></li> <li><a href="/faculty/research/Pages/initiatives-projects.aspx" class="white">Initiatives &amp; Projects</a></li> <li><a href="/faculty/research/research-services/Pages/default.aspx" class="white">Research Services</a></li> <li><a href="/faculty/research/seminars-conferences/Pages/default.aspx" class="active inherit-color" aria-current="page">Seminars &amp; Conferences</a></li> </ul> </div><span class="txt-arrow" aria-hidden="true">→</span></li> <li><a href="/faculty/research/seminars-conferences/Pages/default.aspx" class="ink" aria-current="page">Seminars &amp; Conferences</a><span class="txt-arrow" aria-hidden="true">→</span></li> </ul> <div class="row tablet-row"> <div class="span11"> <h1 class="alpha light black mobile-hidden tablet-hidden" style="margin: 0;">Seminars & Conferences</h1> <h1 class="alpha regular black desktop-hidden" style="margin: 0;">Seminars & Conferences</h1> <div class=""> <div class="sticky-header-hidden"></div> </div> </div> </div> <div class="shim22 mobile-hidden"></div> <div class="shim14 mobile-visible"></div> </div> </div> </div><div id="search1-app" class="search1-embedded"> <div class="mobile-visible tablet-visible"> <div class="smoke-bg responsive-filter-bar facetctrl-sticky"> <div class="mobile-container tablet-container"><a href="#filter-top" class="black epsilon nosmooth">Filter Results<span class="facetctrl-ajax-html"></span><span class="toggle-hide"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="9" viewBox="0 0 32 24" version="1.1" focusable="false" style="padding-left: 5px;"> <title>Arrow Down</title> <g transform="translate(16.000000, 12.000000) rotate(180.000000) translate(-16.000000, -12.000000) " fill="#000000" fill-rule="nonzero"> <path d="M0,20 L32,20 L32,24 L0,24 L0,20 Z M16,0 L32,16 L0,16 L16,0 Z"/> </g></svg></span></a></div> </div> <div class="smoke-bg responsive-filter-bar facetctrl-sticky-target" id="filter-top"> <div class="mobile-container tablet-container"> <div class="toggle-container has-memory"><a href="#" class="toggle-button black epsilon">Filter Results<span class="facetctrl-ajax-html"></span><span class="toggle-hide"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="9" viewBox="0 0 32 24" version="1.1" focusable="false" style="padding-left: 5px;"> <title>Arrow Down</title> <g transform="translate(16.000000, 12.000000) rotate(180.000000) translate(-16.000000, -12.000000) " fill="#000000" fill-rule="nonzero"> <path d="M0,20 L32,20 L32,24 L0,24 L0,20 Z M16,0 L32,16 L0,16 L16,0 Z"/> </g></svg></span><span class="toggle-show"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" version="1.1" viewBox="0 0 32 32" focusable="false" style="padding-left: 5px;"> <title>Arrow Up</title> <path d="M0 24h32v4h-32zM16 4l16 16h-32z"/></svg></span></a><div class="toggle-show has-slide"> <div class="shim12"></div> <div id="facet-navigation-mobile" style="padding-bottom:24px"></div> <div class="facet-html"> <Html> <div><a class="mu widget-popup" href="#local-events-popup">More Local Events</a></div> <div id="local-events-popup" style="display:none;"> <div class="color-framework grid-framework type-framework component-framework pattern-framework responsive-framework"> <div class="white-bg" style="padding:40px;"> <h3 class="eta bold">Local Community Events</h3> <div class="shim20"></div> <p><a href="http://wyss.harvard.edu/events%3bjsessionid=6E46299978C1880359089401FC181166.wyss2">Harvard Wyss institute- upcoming events</a></p> <p><a href="http://cyber.law.harvard.edu/events">Berkman Center for Internet and Society- upcoming events</a></p> <p><a href="https://i-lab.harvard.edu/events/">Harvard Innovation Lab- upcoming events</a></p> <p><a href="https://canvas.harvard.edu/courses/11389">The Political Economy of Religion Seminar Series</a></p> </div> </div> </div> </Html> </div> </div> </div> </div> </div> </div> <div class="facetctrl-ajax-html"> <div class="shim46 tablet-visible mobile-visible inherit-bg"></div> <div class="research-hero fr-seminars-conference"> <div class="inherit-bg"> <div class="container mobile-container tablet-container"> <div class="carousel-container"> <ul class="carousel-panels"> <li> <div class="row desktop-visible"> <div class="span3 mobile-hidden"><img loading="lazy" src="https://pubwww.hbs.edu/faculty/PublishingImages/2.6_conference.svg" class="fluid" alt=""></div> <div class="span9 trim-container" data-wcm-edit-url="" data-wcm-edit-position="left" style="max-height:400px;"> <div style="padding-left: 18px;"> <ul class="linear mu-uc"></ul> <div class="shim10"></div><a href="https://digital.hbs.edu/events/" class="no-append"> <h2 class="beta">The Digital Data, and Design (D^3) Institute at Harvard Events</h2></a><div class="shim15"></div> <p class="trim-ellipsis">The D^3 builds community and expertise around the digital transformation of the economy at HBS and beyond through curated content, facilitated exchange, and thought leadership.</p> <p class="more-arrow mu"><a href="https://digital.hbs.edu/events/">More on D^3 Events</a></p> </div> </div> </div> <div class="row-left tablet-visible mobile-visible"> <div class="span3 mobile-hidden"><img loading="lazy" src="https://pubwww.hbs.edu/faculty/PublishingImages/2.6_conference.svg" class="fluid" alt=""></div> <div class="span99"> <div class="readmore" style="max-height:none;"> <ul class="linear mu-uc"></ul> <div class="shim10"></div><a href="https://digital.hbs.edu/events/" class="no-append"> <h2 class="beta">The Digital Data, and Design (D^3) Institute at Harvard Events</h2></a><div class="shim15"></div> <p>The D^3 builds community and expertise around the digital transformation of the economy at HBS and beyond through curated content, facilitated exchange, and thought leadership.</p> <p class="more-arrow mu"><a href="https://digital.hbs.edu/events/">More on D^3 Events</a></p> </div> </div> </div> </li> <li> <div class="row desktop-visible"> <div class="span3 mobile-hidden"><img loading="lazy" src="https://pubwww.hbs.edu/faculty/PublishingImages/2.6_conference.svg" class="fluid" alt=""></div> <div class="span9 trim-container" data-wcm-edit-url="" data-wcm-edit-position="left" style="max-height:400px;"> <div style="padding-left: 18px;"> <ul class="linear mu-uc"></ul> <div class="shim10"></div><a href="http://hbswk.hbs.edu/item/7480.html" class="no-append"> <h2 class="beta">Can We Get To Where We Need To Go?</h2></a><div class="shim15"></div> <p class="trim-ellipsis">America's infrastructure woes and how to fix them were front and center at the recent summit, <strong>America on the Move: Transportation and Infrastructure for the 21st Century</strong>, led by Rosabeth Moss Kanter.</p> <p class="more-arrow mu"><a href="http://hbswk.hbs.edu/item/7480.html">More information</a></p> </div> </div> </div> <div class="row-left tablet-visible mobile-visible"> <div class="span3 mobile-hidden"><img loading="lazy" src="https://pubwww.hbs.edu/faculty/PublishingImages/2.6_conference.svg" class="fluid" alt=""></div> <div class="span99"> <div class="readmore" style="max-height:none;"> <ul class="linear mu-uc"></ul> <div class="shim10"></div><a href="http://hbswk.hbs.edu/item/7480.html" class="no-append"> <h2 class="beta">Can We Get To Where We Need To Go?</h2></a><div class="shim15"></div> <p>America's infrastructure woes and how to fix them were front and center at the recent summit, </p> <p class="more-arrow mu"><a href="http://hbswk.hbs.edu/item/7480.html">More information</a></p> </div> </div> </div> </li> </ul> <div class="inherit-bg carousel-nav carousel-nav-centered"></div> </div> <div class="shim30"></div> </div> </div> </div> </div> <div class="container tablet-container mobile-container facetctrl-search-container facetctrl-fade "> <div class="cap mobile-cap tablet-cap"></div> <div class=" "> <div class="row tablet-row"> <div class="span3 mobile-hidden tablet-hidden"> <div class="mobile-hidden rendered-visible"> <div class="responsive-facet-inject-target"> <div class="facetctrl-ajax-html"></div> <div id="facet-navigation"></div> <div class="clear"></div> <div class="shim24"></div> <div class="facet-html"> <Html> <div><a class="mu widget-popup" href="#local-events-popup">More Local Events</a></div> <div id="local-events-popup" style="display:none;"> <div class="color-framework grid-framework type-framework component-framework pattern-framework responsive-framework"> <div class="white-bg" style="padding:40px;"> <h3 class="eta bold">Local Community Events</h3> <div class="shim20"></div> <p><a href="http://wyss.harvard.edu/events%3bjsessionid=6E46299978C1880359089401FC181166.wyss2">Harvard Wyss institute- upcoming events</a></p> <p><a href="http://cyber.law.harvard.edu/events">Berkman Center for Internet and Society- upcoming events</a></p> <p><a href="https://i-lab.harvard.edu/events/">Harvard Innovation Lab- upcoming events</a></p> <p><a href="https://canvas.harvard.edu/courses/11389">The Political Economy of Religion Seminar Series</a></p> </div> </div> </div> </Html> </div> </div> </div> </div> <div class="facetctrl-ajax-classes span9"> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" class="facetctrl-ajax-html"> <div class="facet-breadcrumb-pattern"></div> </div> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" class="facetctrl-ajax-html"></div> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" style="float:right;margin-right:7px;" class="nu facetctrl-sort"><span class="facetctrl-ajax-html print-hidden"></span></div> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" style="float:right;" class="nu print-hidden"><span class="facetctrl-ajax-html"></span></div> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" style="float:left;margin-top:-5px;"><span class="facetctrl-ajax-html print-hidden"></span></div> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" class="clear"></div> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" class="facetctrl-ajax-html facetctrl-breadcrumb-rule"></div> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" class="facetctrl-ajax-html"></div> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" class="facetctrl-ajax-html"></div> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" class="facetctrl-results"> <div class="media-list9"> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2674" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"><a href="/faculty/research/seminars-conferences/Pages/event.aspx?num=2674" class="event-thumbnail no-append no-pdf-hover">Nov<span>25</span></a></div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">25 Nov 2024</li> <li class="ash">Seminar</li> </ul> <h2 class="eta" style="margin-top:6px;"><a href="/faculty/research/seminars-conferences/Pages/event.aspx?num=2674" class="hbsred">Charles Fawell, Yale University</a></h2> <div class="kappa bold2" style="margin-top:0px;">Empire on the Line: Shipping Corporations, Sovereignty, and the Sea Corridors of European Colonialism, 1850-1920</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">3:30 PM – 5:00 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Organizers:</div> <div class="add-underline" style="display:table-cell"><a href="http://www.hbs.edu/businesshistory/">Business History</a></div> </div> <div class="shim15"></div> <div class="mu regular add-underline"></div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2675" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"><a href="/faculty/research/seminars-conferences/Pages/event.aspx?num=2675" class="event-thumbnail no-append no-pdf-hover">Dec<span>02</span></a></div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">02 Dec 2024</li> <li class="ash">Seminar</li> </ul> <h2 class="eta" style="margin-top:6px;"><a href="/faculty/research/seminars-conferences/Pages/event.aspx?num=2675" class="hbsred">Seth Rockman, Brown University</a></h2> <div class="kappa bold2" style="margin-top:0px;">Plantations Goods: A Material History of American Slavery</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">3:30 PM – 5:00 PM</div> </div> <div class="shim15"></div> <div class="mu regular add-underline"></div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2644" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"><a href="https://business.columbia.edu/faculty/people/jing-dong" class="event-thumbnail no-append no-pdf-hover">Dec<span>03</span></a></div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">03 Dec 2024</li> <li class="ash">Technology & Operations Management (TOM) Seminar</li> </ul> <h2 class="eta" style="margin-top:6px;"><a href="https://business.columbia.edu/faculty/people/jing-dong" class="hbsred">Jing Dong, Columbia</a></h2> <div class="kappa bold2" style="margin-top:0px;">TOM Seminar - Jing Dong</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">12:30 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Location:</div> <div class="add-underline" style="display:table-cell">Baker Library | Bloomberg Center 103</div> </div> <div class="shim15"></div> <div class="mu regular add-underline"> <div><em>Faculty and doctoral students only</em></div> <div class="shim20"></div>Enhancing Accessibility to Queueing Models: Exploring AI for Scalable and Practical Queueing Network Modeling and Control</div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2670" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"><a href="/faculty/research/seminars-conferences/Pages/event.aspx?num=2670" class="event-thumbnail no-append no-pdf-hover">Dec<span>04</span></a></div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">04 Dec 2024</li> <li class="ash">Digital Seminar Series</li> </ul> <h2 class="eta" style="margin-top:6px;"><a href="/faculty/research/seminars-conferences/Pages/event.aspx?num=2670" class="hbsred">Mert Demirer, MIT Sloan School of Management</a></h2> <div class="kappa bold2" style="margin-top:0px;">Firm Productivity and Learning in the Digital Economy: Evidence from Cloud Computing</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">12:00 PM – 1:30 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Location:</div> <div class="add-underline" style="display:table-cell">Cotting Lounge, Room 102</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Organizers:</div> <div class="add-underline" style="display:table-cell"><a href="https://digital.hbs.edu/">Digital Data Design Institute at Harvard</a></div> </div> <div class="shim15"></div> <div class="mu regular add-underline">Lunch will be served and the seminar will take place in the Cotting Lounge, room 102.</div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2619" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"><a href="https://mgmt.wharton.upenn.edu/profile/mbidwell/" class="event-thumbnail no-append no-pdf-hover">Dec<span>04</span></a></div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">04 Dec 2024</li> <li class="ash">Entrepreneurial Management Seminar</li> </ul> <h2 class="eta" style="margin-top:6px;"><a href="https://mgmt.wharton.upenn.edu/profile/mbidwell/" class="hbsred">Matthew Bidwell, The Wharton School, The University of Pennsylvania</a></h2> <div class="kappa bold2" style="margin-top:0px;">EM Unit Seminar</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">1:30 PM – 2:30 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Location:</div> <div class="add-underline" style="display:table-cell">Baker Library | Bloomberg Center 103</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Organizers:</div> <div class="add-underline" style="display:table-cell"><a href="/faculty/units/em/">Entrepreneurial Management Unit</a></div> </div> <div class="shim15"></div> <div class="mu regular add-underline"> <div><em>Faculty and doctoral students only</em></div> </div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2605" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"><a href="www.katharinalawall.com" class="event-thumbnail no-append no-pdf-hover">Dec<span>04</span></a></div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">04 Dec 2024</li> <li class="ash">BGIE Seminar</li> </ul> <h2 class="eta" style="margin-top:6px;"><a href="www.katharinalawall.com" class="hbsred">Katharina Lawall, University of Reading</a></h2> <div class="kappa bold2" style="margin-top:0px;">BGIE Unit Seminar: Katharina Lawall</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">1:30 PM – 2:30 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Location:</div> <div class="add-underline" style="display:table-cell">Cotting 107</div> </div> <div class="shim15"></div> <div class="mu regular add-underline"> <div><em>Harvard Business School faculty and doctoral students only</em></div> <div class="shim20"></div>Liberal value frames and tolerance for the radical right</div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2630" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"> <div class="event-thumbnail no-append no-pdf-hover">Dec<span>04</span></div> </div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">04 Dec 2024</li> <li class="ash">HBS Finance Unit/Harvard Economics Department Seminars</li> </ul> <h2 class="eta" style="margin-top:6px;"><span>Milena Wittwer, Boston College</span></h2> <div class="kappa bold2" style="margin-top:0px;">Finance Unit Seminar Series</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">3:30 PM – 4:50 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Location:</div> <div class="add-underline" style="display:table-cell">Baker Library | Bloomberg Center 102</div> </div> <div class="shim15"></div> <div class="mu regular add-underline"> <div><em>Harvard Business School faculty and doctoral students only</em></div> <div class="shim20"></div>Contact adaukaus@hbs.edu for Zoom link</div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2672" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"><a href="/faculty/research/seminars-conferences/Pages/event.aspx?num=2672" class="event-thumbnail no-append no-pdf-hover">Dec<span>05</span></a></div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">05 Dec 2024</li> <li class="ash">BiGS Brown Bag</li> </ul> <h2 class="eta" style="margin-top:6px;"><a href="/faculty/research/seminars-conferences/Pages/event.aspx?num=2672" class="hbsred">Christopher Marquis, University of Cambridge Judge Business School</a></h2> <div class="kappa bold2" style="margin-top:0px;">BiGS Brown Bag with Christopher Marquis</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">12:00 PM – 1:00 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Location:</div> <div class="add-underline" style="display:table-cell">Baker Library | Bloomberg Center 102</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Organizers:</div> <div class="add-underline" style="display:table-cell"><a href="https://www.hbs.edu/bigs">Institute for Business in Global Society</a></div> </div> <div class="shim15"></div> <div class="mu regular add-underline"> <div><em>Harvard Business School faculty and doctoral students only</em></div> </div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2665" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"><a href="/faculty/research/seminars-conferences/Pages/event.aspx?num=2665" class="event-thumbnail no-append no-pdf-hover">Dec<span>05</span></a></div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">05 Dec 2024</li> <li class="ash">STRAT Seminar</li> </ul> <h2 class="eta" style="margin-top:6px;"><a href="/faculty/research/seminars-conferences/Pages/event.aspx?num=2665" class="hbsred">Amanda Sharkey, Mendoza College of Business</a></h2> <div class="kappa bold2" style="margin-top:0px;">Strategy Unit Seminar - Amanda Sharkey</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">12:15 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Location:</div> <div class="add-underline" style="display:table-cell">Baker 103</div> </div> <div class="shim15"></div> <div class="mu regular add-underline">Amanda J. Sharkey is an Associate Professor of Management & Organization in the Mendoza College of Business at the University of Notre Dame. She is an organizational theorist and economic sociologist who studies how social and cultural factors impact organizational behaviors and firm performance.</div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2645" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"> <div class="event-thumbnail no-append no-pdf-hover">Dec<span>10</span></div> </div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">10 Dec 2024</li> <li class="ash">Technology & Operations Management (TOM) Seminar</li> </ul> <h2 class="eta" style="margin-top:6px;"><span>Ashia Wilson, MIT</span></h2> <div class="kappa bold2" style="margin-top:0px;">TOM Seminar - Ashia Wilson</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">12:30 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Location:</div> <div class="add-underline" style="display:table-cell">Baker Library | Bloomberg Center 103</div> </div> <div class="shim15"></div> <div class="mu regular add-underline"> <div><em>Faculty and doctoral students only</em></div> </div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2620" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"><a href="https://www.economics.ox.ac.uk/people/abi-adams-prassl-1" class="event-thumbnail no-append no-pdf-hover">Dec<span>11</span></a></div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">11 Dec 2024</li> <li class="ash">Entrepreneurial Management Seminar</li> </ul> <h2 class="eta" style="margin-top:6px;"><a href="https://www.economics.ox.ac.uk/people/abi-adams-prassl-1" class="hbsred">Abi Adams, University of Oxford</a></h2> <div class="kappa bold2" style="margin-top:0px;">EM Unit Seminar</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">1:30 PM – 2:30 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Location:</div> <div class="add-underline" style="display:table-cell">Baker Library | Bloomberg Center 103</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Organizers:</div> <div class="add-underline" style="display:table-cell"><a href="/faculty/units/em/">Entrepreneurial Management Unit</a></div> </div> <div class="shim15"></div> <div class="mu regular add-underline"> <div><em>Faculty and doctoral students only</em></div> </div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> <div data-wcm-edit-url="/faculty/Lists/Seminars/EditForm.aspx?ID=2636" class="legacy-event-partial"> <div style="display:flex"> <div style="flex-wrap:wrap; margin-right:44px;width:60px;"> <div class="event-thumbnail-partial legacy"> <div class="event-thumbnail no-append no-pdf-hover">Dec<span>11</span></div> </div> </div> <div style="flex-wrap: wrap"> <ul class="linear mu-uc"> <li class="ink">11 Dec 2024</li> <li class="ash">HBS Finance Unit/Harvard Economics Department Seminars</li> </ul> <h2 class="eta" style="margin-top:6px;"><span>Jan Eberly, Kellogg School of Management</span></h2> <div class="kappa bold2" style="margin-top:0px;">Finance Unit Seminar Series</div> <div class="shim14"></div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Time:</div> <div class="add-underline" style="display:table-cell">3:30 PM – 4:50 PM</div> </div> <div class="nu" style="display:table-row"> <div class="mu" style="display:table-cell; padding-right: 15px;">Location:</div> <div class="add-underline" style="display:table-cell">Baker Library | Bloomberg Center 102</div> </div> <div class="shim15"></div> <div class="mu regular add-underline"> <div><em>Harvard Business School faculty and doctoral students only</em></div> <div class="shim20"></div>Contact adaukaus@hbs.edu for Zoom link</div> </div> </div> </div> <div class="hr" style="margin:40px 0px"></div> </div> </div> <div xmlns:dc="http://dublincore.org/documents/dcmi-namespace/" id="facet-pagination" class="clear"> <div class="facetctrl-ajax-pagination hbsred-bg hidden" style="text-align:center;margin-bottom:32px;"><a href="?_ajax_pagination=1&amp;page=1" class="facetctrl-ajax-nextpage white lambda-uc btn-bar hbsred-bg">Load More<span class="icon-expand-white" style="margin-left:10px;margin-bottom:1px;"></span></a></div> </div> </div> <div class="facetctrl-ajax-html facetctrl-ajax-classes search-right-sidebar hidden"></div> </div> <div class="nu"> <div class="facetctrl-ajax-html"></div> </div> </div> </div> </div><script> var _domready = _domready || []; _domready.push(function(){ if (window.searchPreInit) searchPreInit(); loadFacets(); var path = document.location.pathname; if ($("meta[name=HBSSearchUrl]").length == 0 && path.indexOf('search.aspx') != -1) { $("head").append('<meta name="HBSSearchUrl" content="'+path+'"/>'); $("meta[name=HBSSearchSubset]").remove() } $(document).bind("framework.breakpoint",function(){ loadFacets(); }) }) function loadFacets(){ FacetController.ready(function(){ $('.isotope-installed').removeClass('isotope-installed'); var facetCtrl = new FacetController({container:"#search1-app", ajax:true }); window.facetCtrl = facetCtrl; // when data is ready to render facetCtrl.onRender(function(){ $(".facetctrl-breadcrumb").html(facetCtrl.renderBreadcrumb()); var fhtml = facetCtrl.renderNavigation(); if ($('html.ua-desktop').length == 0) { $("#facet-navigation-mobile").html(fhtml); } else { $("#facet-navigation").html(fhtml); } $(".facetctrl-clone-facet").each(function(){ var facetName = $(this).data('facet-name'); var facetHtml = facetCtrl.renderNavigation(facetName); if (facetHtml) { $(this).find('.facetctrl-clone-facet-target').html(facetHtml); } else { $(this).empty(); } }) $(".facetctrl-query").each(function(){ $(".universal-site-search-query").val($(this).data('query')); }) $(document).trigger('framework.domupdate'); facetCtrl.bindEvents(); facetCtrl.updateInputFields(); console.info('onrender'); }) eval($("#facetctrl-config").html()); var data = eval($("#facetctrl-data").html()); facetCtrl.loadData(data); facetCtrl.render(); }) } </script><script type="text/facetdata" id="facetctrl-data"> new Object({ total:25, pages:3, step:12, page:1, facets:[ { "facet":"filter", "label":"Upcoming", "id":"upcoming", "count":"25" }, { "facet":"filter", "label":"Past", "id":"past", "count":"2324" }, { "facet":"type", "label":"Conference", "id":"Conference", "count":"3" }, { "facet":"type", "label":"Seminar", "id":"Seminar", "count":"22" }, {"facet":"organizer","label":"Entrepreneurial Management Unit","id":"Entrepreneurial Management Unit","count":"2"}, {"facet":"organizer","label":"Business History","id":"Business History","count":"1"}, {"facet":"organizer","label":"Digital Data Design Institute at Harvard","id":"Digital Data Design Institute at Harvard","count":"1"}, {"facet":"organizer","label":"Institute for Business in Global Society","id":"Institute for Business in Global Society","count":"1"}, {"facet":"series","label":"Technology & Operations Management (TOM) Seminar","id":"Technology & Operations Management (TOM) Seminar","count":"10"}, {"facet":"series","label":"Entrepreneurial Management Seminar","id":"Entrepreneurial Management Seminar","count":"2"}, {"facet":"series","label":"HBS Finance Unit/Harvard Economics Department Seminars","id":"HBS Finance Unit/Harvard Economics Department Seminars","count":"2"}, {"facet":"series","label":"STRAT Seminar","id":"STRAT Seminar","count":"2"}, {"facet":"series","label":"Accounting & Management Seminar","id":"Accounting & Management Seminar","count":"1"}, {"facet":"series","label":"BGIE Seminar","id":"BGIE Seminar","count":"1"}, {"facet":"series","label":"BiGS Brown Bag","id":"BiGS Brown Bag","count":"1"}, {"facet":"series","label":"Digital Seminar Series","id":"Digital Seminar Series","count":"1"}, {}, ] }); </script><script type="text/facetconfig" id="facetctrl-config"> var root = new FacetGroup({facetCtrl:facetCtrl}); var facet = null; facet = new FacetClear({facetCtrl:facetCtrl}); root.append(facet); facet = new FacetSearch({ label:"", key:"q", searchWithin:true,searchWithinNew:true, typeaheadPrefetch:"", autocomplete: false, facetCtrl:facetCtrl }) root.append(facet); facet = new FacetList({label:"Date", key:"filter", displayCounts: true,singleSelect: true, options:[ {label:"Upcoming", filter:"Upcoming" }, {label:"Past", filter:"Past" } ], moreLimit: 6, moreStyle:'Default', defaultCollapsed: false, displayZeros: true, facetCtrl:facetCtrl }); root.append(facet); facet = new FacetDate({label:"Date Range", key:"date", defaultCollapsed: true, facetCtrl:facetCtrl }); root.append(facet); facet = new FacetList({label:"Type", key:"type", displayAllButton: true, allLabel: "View All", displayCounts: true, options:[ {label:"Conference", filter:"Conference" }, {label:"Seminar", filter:"Seminar" } ], moreLimit: 6, moreStyle:'Default', defaultCollapsed: false, displayZeros: true, facetCtrl:facetCtrl }); root.append(facet); facet = new FacetList({label:"Organizer", key:"organizer", displayAllButton: true, allLabel: "View All", displayCounts: true, moreLimit: 100, sort: 'Alpha', moreStyle:'Default', defaultCollapsed: true, displayZeros: true, facetCtrl:facetCtrl }); root.append(facet); facet = new FacetList({label:"Series", key:"series", displayAllButton: true, allLabel: "View All", displayCounts: true, moreLimit: 100, sort: 'Alpha', moreStyle:'Default', defaultCollapsed: true, displayZeros: true, facetCtrl:facetCtrl }); root.append(facet); window.facetCtrl.install(root); </script> <div class="base tablet-base mobile-base"></div> </main> </div> <!-- ENDINDEX --> <div class="clear"></div> </div> <div class="back-to-top"><a href="#" class="icon-back-to-top" aria-label="Scroll back to top of page"></a></div><footer role="contentinfo"> <div class="universal-footer noindex" data-feature="universal-footer"> <div class="color-framework grid-framework type-framework component-framework pattern-framework js-framework responsive-framework"> <div class="black-bg link-controller white universal-footer-v3 responsive-type"> <div class="container tablet-container mobile-container"> <div class="shim48 desktop-visible"></div> <div class="shim36 tablet-visible"></div> <div class="shim28 mobile-visible"></div> <div class="hidden">ǁ</div> <div class="row tablet-row mobile-flip crawler-noindex"> <div class="span6 mobile-span6 tablet-span7 mobile-stacks"> <div class="shim2 mobile-visible"></div> <div class="hr white-bg mobile-visible" style="margin-left:0;"></div> <div class="shim34 mobile-visible"></div> <div class="row-left"> <div class="span2 mobile-span1"><a href="https://www.hbs.edu/maps/" id="header-map-pic-tablet" class="default-map-link"><img loading="lazy" width="172" height="160" class="white-stroke4 fluid nowarn" src="https://webassets.hbs.edu/templates/headers/images/footer_baker_172x160.jpg" alt="Campus Map"></a><div class="shim17"></div> </div> <div class="span99 address-block"> Harvard Business School<br> Soldiers Field<br> Boston, MA 02163<br><div class="shim6"></div> <div class="more"> <div class="shim6"></div><span class="txt-arrow" aria-hidden="true">→</span><a href="https://www.hbs.edu/maps/" id="footer-maps" class="default-map-link">Map &amp; Directions</a></div> <div class="more mu"> <div class="shim6"></div><span class="txt-arrow" aria-hidden="true">→</span><a href="https://www.hbs.edu/about/Pages/contact.aspx">More Contact Information</a></div> <div class="shim17 desktop-visible"></div> <div class="shim23 tablet-visible"></div> </div> </div> </div> <div class="span6 tablet-span5 mobile-span6 mobile-flip-up"> <ul class="social-grid new-grid inherit-color-on-hover"> <li class="fb"><a href="https://www.facebook.com/pages/Boston-MA/Harvard-Business-School/66459568171/" class="block inherit-color-onhover" style="text-decoration:none;position:relative;height:48px;width:48px;" aria-label="Facebook"><svg xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" viewBox="0 0 110 110" version="1.1" focusable="false"> <circle cx="55" cy="55" r="50" stroke-width="6" stroke="currentColor"/></svg><div style="position:absolute;top:9px;left:8px;"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="30" height="30" viewBox="0 0 100 100" version="1.1" focusable="false"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="Facebook" fill-rule="nonzero" fill="currentColor"> <path d="M71.644898,50.0163265 L57.6285714,50.0163265 L57.6285714,99.9265306 L36.8938776,99.9265306 L36.8938776,50.0163265 L27.0244898,50.0163265 L27.0244898,32.3673469 L36.8938776,32.3673469 L36.8938776,20.922449 C36.8938776,12.7510204 40.7714286,0.00816326531 57.8408163,0.00816326531 L73.2204082,0.0653061224 L73.2204082,17.2 L62.044898,17.2 C60.2326531,17.2 57.6530612,18.1061224 57.6530612,22.0163265 L57.6530612,32.3673469 L73.4571429,32.3673469 L71.644898,50.0163265 Z"/> </g> </g></svg></div></a></li> <li class="twitter"><a href="https://twitter.com/HarvardHBS" class="block inherit-color-onhover" style="text-decoration:none;position:relative;height:48px;width:48px;" aria-label="Twitter"><svg xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" viewBox="0 0 110 110" version="1.1" focusable="false"> <circle cx="55" cy="55" r="50" stroke-width="6" stroke="currentColor"/></svg><div style="position:absolute;top:11px;left:11px;"><svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" height="27" width="27" viewBox="0 0 300.00006 244.18703" version="1.1" class="onhover-container twitter-icon" focusable="false"> <g transform="translate(-539.18 -568.86)" fill="currentColor" class="inherit-fill-onhover"> <path d="m633.9 812.04c112.46 0 173.96-93.168 173.96-173.96 0-2.6463-0.0539-5.2806-0.1726-7.903 11.938-8.6302 22.314-19.4 30.498-31.66-10.955 4.8694-22.744 8.1474-35.111 9.6255 12.623-7.5693 22.314-19.543 26.886-33.817-11.813 7.0031-24.895 12.093-38.824 14.841-11.157-11.884-27.041-19.317-44.629-19.317-33.764 0-61.144 27.381-61.144 61.132 0 4.7978 0.5364 9.4646 1.5854 13.941-50.815-2.5569-95.874-26.886-126.03-63.88-5.2508 9.0354-8.2785 19.531-8.2785 30.73 0 21.212 10.794 39.938 27.208 50.893-10.031-0.30992-19.454-3.0635-27.69-7.6468-0.009 0.25652-0.009 0.50661-0.009 0.78077 0 29.61 21.075 54.332 49.051 59.934-5.1376 1.4006-10.543 2.1516-16.122 2.1516-3.9336 0-7.766-0.38716-11.491-1.1026 7.7838 24.293 30.355 41.971 57.115 42.465-20.926 16.402-47.287 26.171-75.937 26.171-4.929 0-9.7983-0.28036-14.584-0.84634 27.059 17.344 59.189 27.464 93.722 27.464"/> </g></svg></div></a></li> <li class="youtube"><a href="https://www.youtube.com/user/HarvardBSchool/" class="block inherit-color-onhover" style="text-decoration:none;position:relative;height:48px;width:48px;" aria-label="YouTube"><svg xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" viewBox="0 0 110 110" version="1.1" focusable="false"> <circle cx="55" cy="55" r="50" stroke-width="6" stroke="currentColor"/></svg><div style="position:absolute;top:11px;left:11px;"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="27" height="27" viewBox="0 0 100 100" version="1.1" focusable="false"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="Youtube" fill-rule="nonzero" fill="currentColor"> <path d="M95.8333333,27.5 C94.7048223,23.4555714 91.5444286,20.2951777 87.5,19.1666667 C80.0416667,17.1666667 50,17.1666667 50,17.1666667 C50,17.1666667 20.0416667,17.125 12.5,19.1666667 C8.45557138,20.2951777 5.29517772,23.4555714 4.16666667,27.5 C2.7520054,35.1404545 2.05452793,42.896404 2.08333333,50.6666667 C2.05971215,58.4090998 2.75716792,66.1369098 4.16666667,73.75 C5.29517772,77.7944286 8.45557138,80.9548223 12.5,82.0833333 C19.9583333,84.0833333 50,84.0833333 50,84.0833333 C50,84.0833333 79.9583333,84.0833333 87.5,82.0833333 C91.5444286,80.9548223 94.7048223,77.7944286 95.8333333,73.75 C97.2148875,66.1342926 97.8844432,58.4065038 97.8333333,50.6666667 C97.8896269,42.8990092 97.2200504,35.143081 95.8333333,27.5 Z M40.4166667,65 L40.4166667,36.2916667 L65.4166667,50.6666667 L40.4166667,65 Z"/> </g> </g></svg></div></a></li> <li class="linkedin"><a href="https://www.linkedin.com/company/4867" class="block inherit-color-onhover" style="text-decoration:none;position:relative;height:48px;width:48px;" aria-label="LinkedIn"><svg xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" viewBox="0 0 110 110" version="1.1" focusable="false"> <circle cx="55" cy="55" r="50" stroke-width="6" stroke="currentColor"/></svg><div style="position:absolute;top:12px;left:13px;"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="23" height="23" viewBox="0 0 100 100" version="1.1" class="onhover-container" focusable="false"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g fill-rule="nonzero" fill="currentColor" class="linkedin inherit-fill-onhover"> <path d="M24.4043689,12.3014563 C24.4043689,19.0956311 18.9412621,24.6031553 12.2021845,24.6031553 C5.4631068,24.6031553 0,19.0956311 0,12.3014563 C-1.72461829e-15,5.50752427 5.4631068,0 12.2021845,0 C18.9415049,0 24.4043689,5.50752427 24.4043689,12.3014563 Z M22.618932,33.3332524 L1.98373786,33.3332524 L1.98373786,100 L22.618932,100 L22.618932,33.3332524 L22.618932,33.3332524 Z M55.6046117,33.3332524 L35.8131068,33.3332524 L35.8131068,100 L55.6046117,100 C55.6046117,100 55.6046117,75.2725728 55.6046117,65.0046117 C55.6046117,55.6298544 59.9199029,50.0495146 68.1791262,50.0495146 C75.7684466,50.0495146 79.4143204,55.4065534 79.4143204,65.0046117 C79.4143204,74.6029126 79.4143204,100 79.4143204,100 L99.9495146,100 C99.9495146,100 99.9495146,75.6446602 99.9495146,57.7876214 C99.9495146,39.9305825 89.8308252,31.2995146 75.6936893,31.2995146 C61.5565534,31.2995146 55.6043689,42.3114078 55.6043689,42.3114078 L55.6043689,33.3332524 L55.6046117,33.3332524 Z" class="linkedin-icon"/> </g> </g></svg></div></a></li> <li class="default instagram"><a href="https://instagram.com/harvardhbs" class="block inherit-color-onhover" style="text-decoration:none;position:relative;height:48px;width:48px;" aria-label="Instagram"><svg xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" viewBox="0 0 110 110" version="1.1" focusable="false"> <circle cx="55" cy="55" r="50" stroke-width="6" stroke="currentColor"/></svg><div style="position:absolute;top:11px;left:11px;"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" style="black-fill" viewBox="0 0 100 100" version="1.1" focusable="false"> <path fill="currentColor" d="M50,0 C36.4166667,0 34.7208333,0.0625 29.3875,0.3 C24.0625,0.55 20.4375,1.3875 17.25,2.625 C13.9625,3.9 11.1708333,5.6125 8.39166667,8.39166667 C5.6125,11.1708333 3.89583333,13.9583333 2.625,17.25 C1.3875,20.4375 0.545833333,24.0625 0.3,29.3875 C0.05,34.7208333 0,36.4166667 0,50 C0,63.5833333 0.0625,65.2791667 0.3,70.6125 C0.55,75.9333333 1.3875,79.5625 2.625,82.75 C3.9,86.0333333 5.6125,88.8291667 8.39166667,91.6083333 C11.1708333,94.3833333 13.9583333,96.1041667 17.25,97.375 C20.4416667,98.6083333 24.0666667,99.4541667 29.3875,99.7 C34.7208333,99.95 36.4166667,100 50,100 C63.5833333,100 65.2791667,99.9375 70.6125,99.7 C75.9333333,99.45 79.5625,98.6083333 82.75,97.375 C86.0333333,96.1 88.8291667,94.3833333 91.6083333,91.6083333 C94.3833333,88.8291667 96.1041667,86.0458333 97.375,82.75 C98.6083333,79.5625 99.4541667,75.9333333 99.7,70.6125 C99.95,65.2791667 100,63.5833333 100,50 C100,36.4166667 99.9375,34.7208333 99.7,29.3875 C99.45,24.0666667 98.6083333,20.4333333 97.375,17.25 C96.1,13.9625 94.3833333,11.1708333 91.6083333,8.39166667 C88.8291667,5.6125 86.0458333,3.89583333 82.75,2.625 C79.5625,1.3875 75.9333333,0.545833333 70.6125,0.3 C65.2791667,0.05 63.5833333,0 50,0 Z M50,9 C63.3458333,9 64.9375,9.06666667 70.2083333,9.29583333 C75.0833333,9.525 77.7291667,10.3333333 79.4875,11.025 C81.8291667,11.9291667 83.4875,13.0125 85.2458333,14.7583333 C86.9916667,16.5083333 88.075,18.1708333 88.9791667,20.5125 C89.6625,22.2708333 90.4791667,24.9166667 90.7,29.7916667 C90.9375,35.0666667 90.9916667,36.65 90.9916667,50 C90.9916667,63.35 90.9291667,64.9375 90.6833333,70.2083333 C90.4291667,75.0833333 89.6166667,77.7291667 88.9291667,79.4875 C87.9958333,81.8291667 86.9333333,83.4875 85.1833333,85.2458333 C83.4375,86.9916667 81.75,88.075 79.4333333,88.9791667 C77.6833333,89.6625 74.9958333,90.4791667 70.1208333,90.7 C64.8125,90.9375 63.25,90.9916667 49.875,90.9916667 C36.4958333,90.9916667 34.9333333,90.9291667 29.6291667,90.6833333 C24.75,90.4291667 22.0625,89.6166667 20.3125,88.9291667 C17.9416667,87.9958333 16.3125,86.9333333 14.5666667,85.1833333 C12.8125,83.4375 11.6916667,81.75 10.8166667,79.4333333 C10.1291667,77.6833333 9.32083333,74.9958333 9.06666667,70.1208333 C8.87916667,64.8708333 8.8125,63.25 8.8125,49.9375 C8.8125,36.6208333 8.87916667,34.9958333 9.06666667,29.6833333 C9.32083333,24.8083333 10.1291667,22.125 10.8166667,20.375 C11.6916667,18 12.8125,16.375 14.5666667,14.6208333 C16.3125,12.875 17.9416667,11.75 20.3125,10.8791667 C22.0625,10.1875 24.6916667,9.375 29.5666667,9.125 C34.8791667,8.9375 36.4416667,8.875 49.8125,8.875 L50,9 L50,9 Z M50,24.325 C35.8125,24.325 24.325,35.825 24.325,50 C24.325,64.1875 35.825,75.675 50,75.675 C64.1875,75.675 75.675,64.175 75.675,50 C75.675,35.8125 64.175,24.325 50,24.325 Z M50,66.6666667 C40.7916667,66.6666667 33.3333333,59.2083333 33.3333333,50 C33.3333333,40.7916667 40.7916667,33.3333333 50,33.3333333 C59.2083333,33.3333333 66.6666667,40.7916667 66.6666667,50 C66.6666667,59.2083333 59.2083333,66.6666667 50,66.6666667 Z M82.6916667,23.3125 C82.6916667,26.625 80,29.3125 76.6916667,29.3125 C73.3791667,29.3125 70.6916667,26.6208333 70.6916667,23.3125 C70.6916667,20.0041667 73.3833333,17.3166667 76.6916667,17.3166667 C79.9958333,17.3125 82.6916667,20.0041667 82.6916667,23.3125 Z"/></svg></div></a></li> <li class="default itunes"><a href="https://itunes.apple.com/us/podcast/cold-call/id1156646189" class="block inherit-color-onhover" style="text-decoration:none;position:relative;height:48px;width:48px;" aria-label="Itunes"><svg xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" viewBox="0 0 110 110" version="1.1" focusable="false"> <circle cx="55" cy="55" r="50" stroke-width="6" stroke="currentColor"/></svg><div style="position:absolute;top:10px;left:10px;"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="27" height="27" viewBox="0 0 170 170" version="1.1" focusable="false"> <path fill="currentColor" d="m150.37 130.25c-2.45 5.66-5.35 10.87-8.71 15.66-4.58 6.53-8.33 11.05-11.22 13.56-4.48 4.12-9.28 6.23-14.42 6.35-3.69 0-8.14-1.05-13.32-3.18-5.197-2.12-9.973-3.17-14.34-3.17-4.58 0-9.492 1.05-14.746 3.17-5.262 2.13-9.501 3.24-12.742 3.35-4.929 0.21-9.842-1.96-14.746-6.52-3.13-2.73-7.045-7.41-11.735-14.04-5.032-7.08-9.169-15.29-12.41-24.65-3.471-10.11-5.211-19.9-5.211-29.378 0-10.857 2.346-20.221 7.045-28.068 3.693-6.303 8.606-11.275 14.755-14.925s12.793-5.51 19.948-5.629c3.915 0 9.049 1.211 15.429 3.591 6.362 2.388 10.447 3.599 12.238 3.599 1.339 0 5.877-1.416 13.57-4.239 7.275-2.618 13.415-3.702 18.445-3.275 13.63 1.1 23.87 6.473 30.68 16.153-12.19 7.386-18.22 17.731-18.1 31.002 0.11 10.337 3.86 18.939 11.23 25.769 3.34 3.17 7.07 5.62 11.22 7.36-0.9 2.61-1.85 5.11-2.86 7.51zm-31.26-123.01c0 8.1021-2.96 15.667-8.86 22.669-7.12 8.324-15.732 13.134-25.071 12.375-0.119-0.972-0.188-1.995-0.188-3.07 0-7.778 3.386-16.102 9.399-22.908 3.002-3.446 6.82-6.3113 11.45-8.597 4.62-2.2516 8.99-3.4968 13.1-3.71 0.12 1.0831 0.17 2.1663 0.17 3.2409z"/></svg></div></a></li> <li><a href="https://www.tiktok.com/@harvardhbs?lang=en" class="block inherit-color-onhover" style="text-decoration:none;position:relative;height:48px;width:48px;" aria-label="TikTok"><svg xmlns="http://www.w3.org/2000/svg" width="48px" height="48px" viewBox="0 0 110 110" version="1.1" focusable="false"> <circle cx="55" cy="55" r="50" stroke-width="6" stroke="currentColor"/></svg><div style="position:absolute;top:2px;left:3px;"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="43" height="43" version="1.1" id="tik_tok" x="0px" y="0px" viewBox="0 0 96 96" xml:space="preserve"> <g id="TikTok" fill-rule="nonzero" fill="currentColor"> <g> <path d="M66.9,29.6c-3.3-2.2-5.8-5.7-6.5-9.7c-0.2-0.9-0.3-1.8-0.3-2.7H49.4l0,42.7c-0.2,4.8-4.1,8.6-8.9,8.6 c-1.5,0-2.9-0.4-4.2-1c-2.9-1.5-4.8-4.5-4.8-7.9c0-4.9,4-9,9-9c0.9,0,1.8,0.2,2.6,0.4v-8.4v-2.5c-0.9-0.1-1.7-0.2-2.6-0.2 c-10.8,0-19.6,8.8-19.6,19.6c0,6.6,3.3,12.5,8.4,16.1c3.2,2.2,7.1,3.6,11.2,3.6c10.8,0,19.6-8.8,19.6-19.6V37.9 c4.2,3,9.3,4.8,14.8,4.8v-8.3V32C72,32,69.2,31.1,66.9,29.6z"/> </g> </g> </svg></div></a></li> </ul> <ul class="social-grid new-grid inherit-color-on-hover"> <li class="default more white" style="box-sizing:border-box;height:30px;padding-top: 5px;padding-left: 1px;"> <div class="button-partial"><a href="https://community.alumni.harvard.edu/give/16040805?appealcode=BW004" class="button hbsred-bg white white-bg-onhover hbsred-onhover hbsred-onhover-border eta regular" style="border: 2px solid #A41034; border: 1px solid white; display:inline-block; padding: 3px 3px; text-decoration: none; min-width: 176px; box-sizing: border-box;text-align:center;">Make a Gift</a></div> </li> </ul> </div> </div> <div class="shim17"></div> <div class="shim15 mobile-visible"></div> </div> <div class="universal-footer-copyright"> <div class="container tablet-container mobile-container nu"> <div class="shim12"></div> <div> <ul class="linear footer-links"> <li><a class="footer-sitemap" data-link-id="footer-sitemap" href="https://www.hbs.edu/siteindex/">Site Map</a></li> <li><a class="footer-employment" data-link-id="footer-employment" href="https://www.hbs.edu/employment/">Jobs</a></li> <li><a class="footer-harvard" data-link-id="footer-harvard" href="https://www.harvard.edu/">Harvard University</a></li> <li><a class="footer-trademarks" data-link-id="footer-trademarks" href="https://trademark.harvard.edu/pages/trademark-notice/">Trademarks</a></li> <li><a class="footer-policy" data-link-id="footer-policy" href="https://www.hbs.edu/about/campus-and-culture/policies/Pages/default.aspx">Policies</a></li> <li><a class="footer-accessibility-harvard" data-link-id="footer-accessibility-harvard" href="https://accessibility.harvard.edu/">Accessibility</a></li> <li><a class="footer-accessibility" data-link-id="footer-accessibility" href="https://accessibility.huit.harvard.edu/digital-accessibility-policy">Digital Accessibility</a></li> </ul> <div class="shim12"></div> <div class="copy-msg">Copyright <span aria-hidden="true">©</span> President &amp; Fellows of Harvard College.</div> </div> </div> </div> </div> </div> </div> <!--Watchdog=Healthy--></footer> <script type="text/javascript" src="https://webassets.hbs.edu/libs/jquery/1.8.3/jquery.min.js"></script><script type="text/javascript" src="https://webassets.hbs.edu/libs/framework/1.0/js/framework.min.js"></script><script type="text/javascript" src="https://webassets.hbs.edu/libs/analytics/1.0/analytics-disabled.min.js"></script><script>window.assets = "https://webassets.hbs.edu"</script><script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-N2NWNWX');</script><script>window.IgnoreAnalyticsOverlay = true</script><script src="/faculty/js/faculty.js" type="text/javascript"></script><script> jQuery(function($){ if (window.headerinit) return; window.headerinit = 1; function toggleSearch(){ var $el = $('.universal-banner-search-toggle'); var val = $('.universal-banner-search-input .universal-site-search-query').val(); if ($el.hasClass('toggled') && $.trim(val)) { $('.universal-banner-search-input .universal-site-search-button').click() return; } $el.toggleClass('toggled'); if ($el.hasClass('toggled')) { window.setTimeout(function(){ $('.universal-site-search-query').focus(); },300) } $('.universal-banner-search-input').toggleClass('open'); } $(document).on('click','.universal-banner-search-toggle',function(){ toggleSearch(this); return false; }) $(".universal-banner-search-toggle").on("click",function(){ toggleSearch(this); return false; }) $(".slider-container").on('close',function(){ $(".universal-banner-hamburger").removeClass('open'); $(".universal-banner-menu-toggle").removeClass('toggled'); $("body").removeClass('slider-is-open'); }) $(document).on("click",".universal-banner-menu-toggle",function(){ if ($(this).hasClass('toggled')) { $('.slider-close').eq(0).click(); $(".universal-banner-hamburger").removeClass('open'); $(".universal-banner-menu-toggle").removeClass('toggled'); $("body").removeClass('slider-is-open'); } else { $('.slider-open').eq(0).click(); $("body").addClass('slider-is-open'); $('.universal-banner-hamburger').addClass('open'); $(".universal-banner-menu-toggle").addClass('toggled'); } //window.scrollTo(0,0); return false; }) $(".skipto").on("click",function(){ console.log("skip to main content"); $($(this).attr('href')).get(0).focus(); }) }); $(document).on( 'framework.resize', function() { // wait .1 seconds because the classes needed to adjust the min/max height haven't been added at this point // TODO: this is a bit kludgey and should be revisited setTimeout( function() { if (window.stickyHeader) { stickyHeader.setMinHeight(); stickyHeader.setMaxHeight(); stickyHeader.triggerExpand(); if ($(".page-header").hasClass('page-header-online')) { stickyHeader.triggerDisappear(); } } }, 100 ); }); function StickyHeader(){ this.hasScrolled = false; this.lastScrollTop = -1; this.currentHeight = 0; this.isVisible = false; this.disabled = false; this.velocitySamples = []; this.debug = $("#sticky-header-debug"); this.buildHeader(); this.setMinHeight(); this.setMaxHeight(); } StickyHeader.prototype.temporarilyDisabled = function() { this.disabled = true; var self = this; window.setTimeout(function(){ self.disabled = false; },500); } /* determine if the header navigation should be displayed while the user is scrolling down */ StickyHeader.prototype.setMinHeight = function() { // if the screen width is within the mobile or tablet range, hide the navigation on scroll, otherwise, show it if ($(".page-header").hasClass('page-header-online') && $( '.ua-mobile, .ua-tablet' ).length) { this.minHeight = 40; } else if ($(".page-header").hasClass('page-header-online')) { this.minHeight = 90; } else if ($( '.ua-mobile, .ua-tablet' ).length) { this.minHeight = 0; } else { this.minHeight = 40 } } /* determine how big the header should be when the user starts to scroll up */ StickyHeader.prototype.setMaxHeight = function() { // clear out the current max height this.maxHeight = 0; // add up the heights of the cloned stiky header elements as the new max height $( '.sticky-header-cloned' ).each( function( index, element ) { this.maxHeight += $( element ).height(); }.bind( this ) ); // Override for HBS online if($(".page-header").hasClass('page-header-online')) { if ($( '.ua-mobile, .ua-tablet' ).length > 0) { this.maxHeight = 0; } else { this.maxHeight = 90; } } } StickyHeader.prototype.buildHeader = function() { var headerHeight = $(".page-header").height(); // Override for HBS online if($(".page-header").hasClass('page-header-online')) { headerHeight = 0; } this.appearsAt = $(".page-header").offset().top + headerHeight; this.sticky = $('<div id="sticky-header" style="height:0; top: -5px;"></div>'); this.stickyWrap = $('<div class="wrapper"></div>'); var container = $(".site-header").parents('.grid-framework'); $( '.universal-banner, .site-header' ).each( function( index, element ) { this.stickyWrap.append( $( element ).clone() ); $( element ).addClass( 'sticky-header-cloned' ); }.bind( this ) ); this.sticky.append(this.stickyWrap); $(".sticky-header-container").append(this.sticky); } StickyHeader.prototype.triggerDisappear = function(){ this.sticky.addClass('at-scroll-top'); this.isVisible = false; this.currentHeight = 0; this.sticky.css('height',this.currentHeight); $("body").removeClass("sticky-header-active"); $("body").removeClass('sticky-header-expanded'); } StickyHeader.prototype.triggerAppear = function(){ if ($("body").hasClass('slider-is-open')) return; this.isVisible = true; $("body").addClass("sticky-header-active"); } StickyHeader.prototype.triggerExpand = function(){ if (this.disabled) return; if ($("body").hasClass('slider-is-open')) return; if (this.currentHeight == this.maxHeight) return; this.sticky.css('height',this.maxHeight-1); this.currentHeight = this.maxHeight; $("body").addClass('sticky-header-expanded'); } StickyHeader.prototype.triggerShrink = function(){ if ($( '.ua-mobile, .ua-tablet' ).length == 0 || !$(".page-header").hasClass('page-header-online')) { this.sticky.removeClass('at-scroll-top'); } var self = this; window.requestAnimationFrame(function(){ var newHeight = 0; if (self.isVisible) { newHeight = self.minHeight; } if (self.currentHeight == newHeight) return; self.sticky.css('height',newHeight); self.currentHeight = newHeight; $("body").removeClass('sticky-header-expanded'); }) } StickyHeader.prototype.redraw = function() { // This is costly to performance but unavoidable //const pageY = window.scrollY; //This throws a syntax error in IE11. var pageY = window.pageYOffset; var scrollUp = pageY < this.lastScrollTop; var scrollDistance = pageY - this.lastScrollTop; this.velocitySamples.push(Math.abs(scrollDistance)); if (this.velocitySamples.length > 10) { this.velocitySamples.shift(); } var totalDistance = 0; for (var i = 0;i<this.velocitySamples.length;i++){ totalDistance += this.velocitySamples[i]; } var velocity = totalDistance / this.velocitySamples.length; var debugVars = {}; if (pageY != this.lastScrollTop) { debugVars.pageY = pageY; debugVars.minHeight = this.minHeight; debugVars.maxHeight = this.maxHeight; debugVars.appearsAt = this.appearsAt; debugVars.velocity = velocity; debugVars.disabled = this.disabled; var html = ''; $.each(debugVars,function(k,v){ html += '<div>' + k + ': '+v +'</div>'; }) this.debug.html(html); if (pageY >= this.appearsAt) { this.triggerAppear(); } if ($(".page-header").hasClass('page-header-online') && $('.table-of-contents-wrapper').length && $('.table-of-contents-wrapper.jump-to').length == 0){ var tocWrap = $('.table-of-contents-wrapper'); var toc = tocWrap.children('.table-of-contents'); var tocItems = toc.find('.toc-item'); var stickyHeight = this.maxHeight; if ((pageY + stickyHeight) > tocWrap.offset().top && !toc.hasClass('sticky')) { toc.addClass('sticky'); } else if ((pageY + stickyHeight) <= tocWrap.offset().top && toc.hasClass('sticky')) { toc.removeClass('sticky'); } if (toc.hasClass('sticky')) { tocItems.each(function( index ) { var section = $($(this).children("a.toc-jump").attr("href")); if (section.length) { var sectionTop = section.offset().top - 45; var pageHeight = pageY + stickyHeight + toc.height(); if ((pageHeight > sectionTop) && !$(this).hasClass('current')) { tocItems.removeClass('current'); $(this).addClass('current'); } else if ((pageHeight <= sectionTop) && $(this).hasClass('current')) { $(this).removeClass('current'); } } }); } } if (pageY <= 0) { this.triggerDisappear(); } else if (scrollUp) { console.log('scroll up'); if ($(".page-header").hasClass('page-header-online') && pageY < (this.appearsAt - this.maxHeight)) { this.triggerDisappear(); } else if (velocity > 5 || pageY < this.appearsAt) { this.triggerExpand(); } } else if (pageY > this.appearsAt) { // If HBS online and mobile hide the sticky header if ($(".page-header").hasClass('page-header-online') && $( '.ua-mobile, .ua-tablet' ).length > 0) { this.triggerDisappear(); } this.triggerShrink(); } this.lastScrollTop = pageY; } this.hasScrolled = false; }; var _domready = _domready || []; _domready.push(function(){ if (document.getElementById('wcm-react-root')) return; if (window.stickyHeaderDisabled) return; window.stickyHeader = new StickyHeader(); var _onScroll = function () { if (!window.stickyHeader.hasScrolled) { window.requestAnimationFrame(function(){ window.stickyHeader.redraw(); }); } window.stickyHeader.hasScrolled = true; window.requestAnimationFrame(_onScroll); }; _onScroll(); //without this, the header flickers on online window.setTimeout(function(){ _onScroll(); },250) $(document).on('delay-sticky-nav',function(){ window.stickyHeader.temporarilyDisabled(); }) // needed for facet pages http://www.hbs.edu/news/Pages/default.aspx $(document).on('click',".facetctrl-sticky.active",function(){ $(document).trigger('delay-sticky-nav'); }) $(document).on('click',".filter-sticky.fixed",function(){ $(document).trigger('delay-sticky-nav'); }) }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10