
if (typeof epx_core === 'undefined') {
epx_loaded = false;
epx_core = function(s) {this.s = s;}
epx_core.prototype = {
exec: function(func, checkFunc, retry) {
if (retry) retry++; else retry = 1;
if (checkFunc()) {func();} else if (retry <= this.s.maxRetry) {var t = this.s.delay * retry;setTimeout(function() {epx_core_i.exec(func, checkFunc, retry);}, t);}
},
load: function() {function epx_createDelegate(a,b){return function(){b.apply(a)}}if(typeof epx_timer==="undefined"){epx_timer=function(a,b){this._interval=a;this._enabled=false;this._timer=null;jQuery(this).bind("tick",this,b)};epx_timer.prototype={set_enabled:function(a){if(a!==this._enabled){this._enabled=a;a?this._startTimer():this._stopTimer()}},_timerCallback:function(){jQuery(this).trigger("tick")},_startTimer:function(){this._timer=window.setInterval(epx_createDelegate(this,this._timerCallback),this._interval)},_stopTimer:function(){window.clearInterval(this._timer);this._timer=null}}}epx_searchBoxState=function(){this.userSelectedTermFlag=false;this.userChangedTermAfterSelectFlag=false;this.autocompleteTermsShownFlag=false};epx_searchBoxState.prototype={userSelectedTerm:function(){this.userSelectedTermFlag=true;this.userChangedTermAfterSelectFlag=false},userChangedTerm:function(){if(this.userSelectedTermFlag)this.userChangedTermAfterSelectFlag=true},autocompleteTermsShown:function(){this.autocompleteTermsShownFlag=true},getInstrumentationValue:function(){var a=0;if(this.userSelectedTermFlag)a=1;if(this.userChangedTermAfterSelectFlag)a=2;if(a===0)a=this.autocompleteTermsShownFlag?3:8;return a}};epx_searchBoxCount=0;epx_searchBox=function(a){this.instanceId=epx_searchBoxCount++;this.sbData=a;this.serviceRequestDelay=400;this.flyoutSpeed=150;this.maxTerms=10;this.termItems=[];this.selectedTermIndex=-1;this.textBackground="#ffffff";this.textColor="#0000ff";this.state=new epx_searchBoxState;this.minimumTermLength=4;this.searchExecuting=false;this.flyoutEnabled=true;this.flyoutFocused=false;this.listStyle={"list-style":"none",padding:"4px 2px 0px 1px",cursor:"pointer","font-size":"8pt",margin:"1px"};this.itemNormalStyle={backgroundColor:this.textBackground,"text-decoration":"none"};this.itemHoverStyle={"text-decoration":"underline",backgroundColor:"#eeeeee"}};epx_searchBox.prototype={loadTermsFromService:function(){this.requestTimer.set_enabled(false);var a=this.searchBoxElement.value;if(a.length>=this.minimumTermLength&&!this.searchExecuting){var b=this.sbData.serviceUri+"Data/Terms?callback=?&t="+encodeURIComponent(a)+"&a="+this.sbData.appId+"&s="+this.sbData.scopeId+"&m="+this.maxTerms;jQuery.ajax({url:b,success:this.termcb,global:false,dataType:"jsonp",context:this})}},instrumentSearch:function(a){var c=Math.floor(Math.random()*1e9),d=this.sbData.serviceUri+"Data/IS?a="+this.sbData.appId+"&s="+this.sbData.scopeId+"&t="+a+"&ac="+this.state.getInstrumentationValue();+"&rnd="+c;var b=new Image;b.src=d},updateTerms:function(){var a=this.searchBoxElement.value;if(!this.searchBoxElement.watermarkShown&&a.length>=this.minimumTermLength){if(a!==this.lastTerm){this.lastTerm=a;this.requestTimer.set_enabled(true)}}else{this.lastTerm="";this.clearTerms();this.updateFlyoutVisibility()}},clearTerms:function(){this.termItems=[];jQuery(this.completionListElement).empty();this.selectedTermIndex=-1},termcb:function(b){var a=this.context;if(a.shouldProcessResult(b)){a.clearTerms();var e=b.Matches;for(var c=0;c<e.length;c++){var d=a.createItem(e[c],b.Term);a.termItems[c]=d;jQuery(a.completionListElement).append(d)}a.completionListElement.scrollTop=0;a.state.autocompleteTermsShown()}else if(b&&b.Term.toUpperCase()===a.searchBoxElement.value.toUpperCase())a.clearTerms();a.updateFlyoutVisibility()},shouldProcessResult:function(a){return a&&a.Matches&&a.Matches.length&&a.Term.toUpperCase()===this.searchBoxElement.value.toUpperCase()&&(a.Matches.length>1||a.Matches[0].toUpperCase()!==this.lastTerm.toUpperCase())},createItem:function(b,f){var a=jQuery(document.createElement("li"));a.bind("mouseover",this,function(a){a.data.highlightItem(this)});a.bind("mousedown",this,function(a){a.data.setText(this);a.data.executeSearch()});if(f){var g=f,c=b.toUpperCase().indexOf(g.toUpperCase()),d=c+g.length;if(c>0)a.append(document.createTextNode(b.slice(0,c)));var e=document.createElement("span");e.style.fontWeight="bold";e.appendChild(document.createTextNode(b.slice(c,d)));a.append(e);if(d<b.length)a.append(document.createTextNode(b.slice(d)))}else a.append(document.createTextNode(b));a.attr("term",b);a.css({padding:"3px",textAlign:"left",textOverflow:"ellipsis"});return a},hideFlyout:function(){jQuery(this.flyoutElement).slideUp(this.flyoutSpeed)},showFlyout:function(){var a=this.getFlyoutLocation(this.searchBoxElement);jQuery(this.flyoutElement).css("left",a.x);jQuery(this.flyoutElement).css("top",a.y);var b=jQuery(this.searchBoxElement).width();if(jQuery.browser.msie)b=jQuery(this.searchBoxElement).outerWidth();jQuery(this.flyoutElement).width(b);jQuery(this.flyoutElement).slideDown(this.flyoutSpeed)},getFlyoutLocation:function(b){var a=jQuery(b).position(),c={x:a.left,y:a.top+jQuery(b).outerHeight()};return c},showWatermark:function(){if(this.shouldShowWatermark()){this.searchBoxElement.watermarkShown=true;this.searchBoxElement.blur();jQuery(this.searchBoxElement).css({color:"#aaaaaa",fontStyle:"italic"});this.searchBoxElement.value=this.sbData.sr.searchLabel}},shouldShowWatermark:function(){return this.sbData.sr.searchLabel&&(this.searchBoxElement.watermarkShown||this.searchBoxElement.value.length==0)},shouldShowFlyout:function(){return this.flyoutEnabled&&this.searchBoxElement.value.length>0},hideWatermark:function(){if(this.searchBoxElement.watermarkShown){this.searchBoxElement.watermarkShown=false;this.searchBoxElement.value="";this.searchBoxElement.style.color="";this.searchBoxElement.style.fontStyle=""}},updateFlyoutVisibility:function(){if(this.termItems.length>0)this.showFlyout();else this.hideFlyout()},onSearchBoxFocus:function(a){a.data.hideWatermark();if(a.data.flyoutFocused)a.data.searchBoxElement.value=a.data.searchBoxElement.value;if(a.data.shouldShowFlyout()){a.data.updateTerms();a.data.showFlyout()}},onSearchBoxBlur:function(a){if(a.data.flyoutFocused)setTimeout(function(){a.data.searchBoxElement.focus()},10);else{a.data.hideFlyout();a.data.showWatermark()}},init:function(){this.searchBoxElement=jQuery("#"+this.sbData.boxId).get(0);if(this.sbData.maxTerms)this.maxTerms=this.sbData.maxTerms;if(this.searchBoxElement){this.initEventHandlers();this.initTimer();this.initSearchBoxElement();this.initCompletionList();this.showWatermark()}},initEventHandlers:function(){jQuery(document).bind("keyup",this,this.onKeyUp)},initTimer:function(){this.requestTimer=new epx_timer(this.serviceRequestDelay,epx_createDelegate(this,this.loadTermsFromService))},initSearchBoxElement:function(){var a=jQuery(this.searchBoxElement);a.attr("autocomplete","off");a.bind("focus",this,this.onSearchBoxFocus);a.bind("blur",this,this.onSearchBoxBlur);a.bind("keyup",this,this.onSearchBoxKeyUp);a.bind("keydown",this,this.onKeyDown);jQuery("#"+this.sbData.btnId).bind("click",this,this.onSearchButtonClick);jQuery("#"+this.sbData.btnId).bind("keydown",this,this.onSearchButtonKeydown);var b=this.sbData.sr.searchLabel;jQuery("#"+this.sbData.btnId).attr("title",b);jQuery(this.searchBoxElement).attr("title",b)},initCompletionList:function(){this.flyoutElement=this.createFlyout();jQuery(this.searchBoxElement).parent().append(this.flyoutElement)},createFlyout:function(){var a=this.createContainer();a.attr("id","SearchFlyoutContainer");a.bind("mouseover",this,function(a){a.data.flyoutFocused=true});a.bind("mouseout",this,function(a){a.data.flyoutFocused=false});a.css({display:"none",textAlign:"left",border:"solid 1px buttonshadow",position:"absolute",zIndex:"1000",padding:"2px",backgroundColor:this.textBackground,color:this.textColor,"font-family":"arial"});a.append(this.createSuggestionContainer());a.append(this.createFooterContainer());return a},createSuggestionContainer:function(){var a=this.createContainer();a.attr("id","SuggestionContainer");a.append(this.createLabel(this.sbData.sr.suggestions));this.completionListElement=document.createElement("ul");jQuery(this.completionListElement).css(this.listStyle);a.append(this.completionListElement);a.bind("mouseout",this,function(a){a.data.selectedTermIndex=-1;a.data.resetItemStyle(jQuery("li",jQuery(this)))});return a},createFooterContainer:function(){var a=this.createContainer();a.attr("id","FooterContainer");a.css({width:"100%",margin:"0px","text-align":"right","font-size":"8pt"});a.append('<a href="#"></a>');a.children("a").text(this.sbData.sr.close).bind("click",this,function(a){a.data.flyoutEnabled=false;a.data.hideFlyout()});return a},createSeparator:function(){var a=this.createContainer();a.css({border:"0px","border-top":"1px solid #dddddd",height:"1px","margin-top":"1px"});return a},createLabel:function(b){var a=this.createContainer();a.css({color:"gray","font-size":"8pt","font-weight":"bold","vertical-align":"middle",padding:"1px","backgroud-color":"#ffffff","margin-top":"4px"});a.text(b);a.append(this.createSeparator());return a},createContainer:function(){return jQuery(document.createElement("div"))},onKeyUp:function(a){if(a.keyCode===27)a.data.hideFlyout()},onSearchBoxKeyUp:function(a){var b=a.keyCode;if(a.data.lastTerm!==a.data.searchBoxElement.value)a.data.state.userChangedTerm();if(b!==38&&b!==40)a.data.updateTerms()},onKeyDown:function(a){var b=a.keyCode;if(b===38){if(a.data.selectedTermIndex>0){a.data.selectedTermIndex--;a.data.highlightItemIdx(a.data.selectedTermIndex);a.data.setText(a.data.completionListElement.childNodes[a.data.selectedTermIndex]);a.stopPropagation();a.preventDefault()}}else if(b===40){if(a.data.selectedTermIndex<jQuery(a.data.completionListElement).children().length-1){a.data.selectedTermIndex++;a.data.highlightItemIdx(a.data.selectedTermIndex);a.data.setText(a.data.completionListElement.childNodes[a.data.selectedTermIndex]);a.stopPropagation();a.preventDefault()}}else if(b===13){a.data.executeSearch();a.stopPropagation();a.preventDefault()}else if(b===9){a.data.flyoutFocused=false;a.data.hideFlyout()}},onSearchButtonClick:function(a){a.data.executeSearch();return false},onSearchButtonKeydown:function(a){if(a.keyCode&&a.keyCode!="undefined"&&a.keyCode===32)a.data.executeSearch();return false},executeSearch:function(){if(this.searchBoxElement.watermarkShown||jQuery.trim(jQuery(this.searchBoxElement).val()).length==0)return;var b=encodeURIComponent(this.searchBoxElement.value);this.instrumentSearch(b);this.searchExecuting=true;var c=this.sbData.searchLocation+"?query="+b+this.sbData.queryParams,a=this.state.getInstrumentationValue();if(a>0)c+="&ac="+a;location.href=c},highlightItemIdx:function(a){this.highlightItem(jQuery(this.completionListElement).children().eq(a))},highlightItem:function(a){var b=jQuery(a).parent().children();this.selectedTermIndex=b.index(a);this.resetItemStyle(b);jQuery(a).css(this.itemHoverStyle)},resetItemStyle:function(a){a.css(this.itemNormalStyle)},setText:function(b){var a=jQuery(b).attr("term");if(a){this.state.userSelectedTerm();this.searchBoxElement.value=a}}};epx_loaded = true;}}    
epx_core_i = new epx_core({'delay':100,'maxRetry':20});
epx_core_i.exec(epx_core_i.load, function() {return typeof(jQuery) !== 'undefined'});
}
epx_core_i.exec(function(){
jQuery(document).ready(function(){new epx_searchBox({"appId":"2","boxId":"MastHeadSearchTextBox","btnId":"MastSearchButton","maxTerms":null,"queryParams":"","scopeId":"9","searchLocation":"http:\/\/social.TechNet.microsoft.com\/Search\/en-US","serviceUri":"http:\/\/services.social.microsoft.com\/Search\/","sr":{"close":"Close","searchLabel":"Search TechNet with Bing","suggestions":"Suggestions"}} ).init();});}, 
function() {return epx_loaded});