!function(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n)}(window,"load",function(){MMSearchField_Initialize()});var mm_searchfields=new Object;function MMSearchField_Initialize(){var e,t,n,i,s;for(FireEvent(window,"mmsearchfield_override"),i=new Object,e=0,n=(s=document.getElementsByTagName("*")).length;e<n;e++)(t=s[e].getAttribute("data-mm_searchfield_id"))&&(i[t]||(i[t]=new Object),s[e].getAttribute("data-mm_searchfield")?i[t].element_search=s[e]:s[e].getAttribute("data-mm_searchfield_menu")&&(i[t].element_menu=s[e]));for(t in i)i.hasOwnProperty(t)&&i[t].element_search&&i[t].element_menu&&1===i[t].element_search.nodeType&&1===i[t].element_menu.nodeType&&"input"===i[t].element_search.nodeName.toLowerCase()&&(mm_searchfields[t]=new MMSearchField(i[t].element_search,i[t].element_menu));FireEvent(window,"mmsearchfield_initialized")}function MMSearchField(e,t){var n=this;this.element_search=e,this.element_menu=t,this.current_search="",this.search_timeout=null,this.search_delay=400,this.menu_visible=!1,this.menu_items=new Array,this.selected_item=null,this.product_count=5,this.has_focus=!1,this.delegator=new AJAX_ThreadPool(1),this.last_displayed_search_value=null,this.event_search_focus=function(e){return n.Event_Focus(e||window.event)},this.event_search_keydown=function(e){return n.Event_Keydown(e||window.event)},this.event_search_keyup=function(e){return n.Event_Keyup(e||window.event)},this.event_search_blur=function(e){return n.Event_Blur(e||window.event)},this.event_search_paste=function(e){setTimeout(function(){n.Search(n.element_search.value)},0)},this.event_search_click=function(e){eventStopPropagation(e||window.event)},this.event_document_mousedown=function(e){return n.Event_Document_MouseDown(e||window.event)},this.event_document_mousemove=function(e){return n.Event_Document_MouseMove(e||window.event)},AddEvent(this.element_search,"focus",this.event_search_focus),AddEvent(this.element_search,"keydown",this.event_search_keydown),AddEvent(this.element_search,"keyup",this.event_search_keyup),AddEvent(this.element_search,"blur",this.event_search_blur),AddEvent(this.element_search,"paste",this.event_search_paste),AddEvent(this.element_search,"click",this.event_search_click),this.Menu_Empty(),this.Menu_Hide()}MMSearchField.prototype.GetSearchURL=function(){return MMSearchField_Search_URL_sep},MMSearchField.prototype.SetLoadCount=function(e){this.product_count=e},MMSearchField.prototype.SetSearchDelay=function(e){this.search_delay=e},MMSearchField.prototype.Menu_Empty=function(){this.menu_items=new Array,this.element_menu.innerHTML="",this.last_displayed_search_value=null,this.Menu_Item_Select(null)},MMSearchField.prototype.Menu_Show=function(){this.menu_visible||(this.menu_visible=!0,this.element_menu.style.display="block")},MMSearchField.prototype.Menu_Hide=function(){this.menu_visible&&(this.menu_visible=!1,this.element_menu.style.display="none")},MMSearchField.prototype.Menu_Append_Header=function(){var e;(e=this.onMenuAppendHeader())&&this.element_menu.appendChild(e)},MMSearchField.prototype.Menu_Append_Item=function(e){var t,n=this;(t=this.onMenuAppendItem(e.menuitem))&&(t.mm_data=e,t.action=e.product_link,t.onclick=function(e){n.Menu_Item_OnClick(e||window.event,this.action)},t.onmousemove=function(e){n.Event_MenuItem_MouseMove(e||window.event,t)},this.element_menu.appendChild(t),this.menu_items.push(t))},MMSearchField.prototype.Menu_Append_StoreSearch=function(){var t,n=this;(t=this.onMenuAppendStoreSearch(this.element_search.value))&&(t.action=this.GetSearchURL()+encodeURIComponent(this.element_search.value),t.onclick=function(e){n.Menu_Item_OnClick(e||window.event,this.action)},t.onmousemove=function(e){n.Event_MenuItem_MouseMove(e||window.event,t)},this.element_menu.appendChild(t),this.menu_item_storesearch=t,this.menu_items.push(t))},MMSearchField.prototype.Menu_Replace_StoreSearch=function(){var t,n=this;(t=this.onMenuAppendStoreSearch(this.element_search.value))&&(t.action=this.GetSearchURL()+encodeURIComponent(this.element_search.value),t.onclick=function(e){n.Menu_Item_OnClick(e||window.event,this.action)},t.onmousemove=function(e){n.Event_MenuItem_MouseMove(e||window.event,t)},this.element_menu.appendChild(t),this.menu_item_storesearch&&-1!=(index=this.menu_items.indexOf(this.menu_item_storesearch))&&(this.menu_item_storesearch.parentNode.removeChild(this.menu_item_storesearch),this.menu_items.splice(index,1)),this.selected_item===this.menu_item_storesearch&&this.Menu_Item_Select(t),this.menu_item_storesearch=t,this.menu_items.push(t))},MMSearchField.prototype.Menu_Item_Select=function(e){null!==(this.selected_item=e)&&(this.selected_item.className=classNameAdd(this.selected_item,"mm_searchfield_menuitem_selected"))},MMSearchField.prototype.Menu_Item_OnClick=function(e,t){window.location.href=t},MMSearchField.prototype.SetFocus=function(){this.element_search.focus()},MMSearchField.prototype.Search=function(t){var n=this;return"string"!=typeof t||0==t.length?(this.Menu_Empty(),void this.Menu_Hide()):t.length<3?(this.Menu_Empty(),this.Menu_Show(),void this.Menu_Replace_StoreSearch()):(AJAX_Call_Module(function(e){n.Search_Callback(e,t)},"runtime","cmp-cssui-searchfield","Search","Search="+encodeURIComponent(t)+"&Count="+this.product_count,this.delegator),this.delegator.LimitQueueToCount(1),void this.delegator.Run())},MMSearchField.prototype.Search_Callback=function(e,t){var n,i,s;if(s=this.selected_item,this.Menu_Empty(),!this.has_focus||0==this.element_search.value.length)return this.Menu_Empty(),void this.Menu_Hide();if(this.Menu_Show(),!e.success||0==e.data.length||this.element_search.value!=t)return this.Menu_Append_StoreSearch();for(this.last_displayed_search_value=this.element_search.value,this.Menu_Append_Header(),n=0,i=e.data.length;n<i;n++)this.Menu_Append_Item(e.data[n]);if(this.Menu_Append_StoreSearch(),s)for(n=0,i=this.menu_items.length;n<i;n++)if(this.menu_items[n].action==s.action){this.Menu_Item_Select(this.menu_items[n]);break}},MMSearchField.prototype.Event_Keydown=function(e){var t,n;return t=e.keyCode||e.which,n=e.metaKey||e.ctrlKey||e.shiftKey||e.altKey,this.current_search=this.element_search.value,9!=t||n?13!=t||n?27!=t||n?38!=t||n?40!=t||n?85==t&&keySupportsMultiSelect(e)?(this.element_search.value="",this.current_search="",cursorToEnd(this.element_search),this.Menu_Empty(),this.Menu_Hide(),eventPreventDefault(e)):(0==this.element_search.value.length?(this.Menu_Empty(),this.Menu_Hide()):(this.Menu_Show(),this.Menu_Replace_StoreSearch()),!0):this.Event_ArrowDown(e):this.Event_ArrowUp(e):this.Event_ESC(e):this.Event_Enter(e):this.Menu_Hide()},MMSearchField.prototype.Event_Keyup=function(e){var t=this,n=e.keyCode||e.which;13!=n&&27!=n&&38!=n&&40!=n&&(0==this.element_search.value.length?(this.Menu_Empty(),this.Menu_Hide()):(this.Menu_Show(),this.Menu_Replace_StoreSearch()),this.current_search!=this.element_search.value&&(this.search_timeout&&clearTimeout(this.search_timeout),this.search_timeout=setTimeout(function(){t.Search(t.element_search.value),t.search_timeout=null},this.search_delay)))},MMSearchField.prototype.Event_Focus=function(e){this.has_focus||(this.has_focus=!0,this.element_search.className=classNameAdd(this.element_search,"focus"),this.onFocus(e),this.element_search.value===this.last_displayed_search_value?this.Menu_Show():this.element_search.value.length&&(this.Menu_Empty(),this.Menu_Show(),this.Menu_Replace_StoreSearch(),this.Search(this.element_search.value)),AddEvent(document,"mousedown",this.event_document_mousedown))},MMSearchField.prototype.Event_Blur=function(e){this.has_focus&&(this.has_focus=!1,this.element_search.className=classNameRemove(this.element_search,"focus"),this.Menu_Hide(),this.onBlur(e),RemoveEvent(document,"mousedown",this.event_document_mousedown))},MMSearchField.prototype.Event_Enter=function(e){return this.selected_item&&this.selected_item.action?this.Menu_Item_OnClick(e,this.selected_item.action):this.Menu_Item_OnClick(e,this.GetSearchURL()+encodeURIComponent(this.element_search.value)),eventStopPropagation(e),eventPreventDefault(e)},MMSearchField.prototype.Event_ESC=function(e){return this.menu_visible||(this.element_search.value="",this.current_search="",this.Menu_Empty()),this.Menu_Hide(),eventStopPropagation(e),eventPreventDefault(e)},MMSearchField.prototype.Event_ArrowUp=function(e){var t,n,i,s;if(!this.menu_visible)return this.Search(this.element_search.value),eventPreventDefault(e);for(t=0,n=this.menu_items.length;t<n;t++)this.menu_items[t].className=classNameRemove(this.menu_items[t],"mm_searchfield_menuitem_selected");return 0==this.menu_items.length&&this.Menu_Item_Select(null),s=-1!=(i=this.menu_items.indexOf(this.selected_item))?i-1<0?this.menu_items.length-1:i-1:this.menu_items.length-1,this.Menu_Item_Select(this.menu_items[s]),eventPreventDefault(e)},MMSearchField.prototype.Event_ArrowDown=function(e){var t,n,i,s;if(!this.menu_visible)return this.Search(this.element_search.value),eventPreventDefault(e);for(t=0,n=this.menu_items.length;t<n;t++)this.menu_items[t].className=classNameRemove(this.menu_items[t],"mm_searchfield_menuitem_selected");return 0==this.menu_items.length&&this.Menu_Item_Select(null),s=-1!=(i=this.menu_items.indexOf(this.selected_item))?i+1>this.menu_items.length-1?0:i+1:0,this.Menu_Item_Select(this.menu_items[s]),eventPreventDefault(e)},MMSearchField.prototype.Event_Document_MouseDown=function(e){var t=e.target||e.srcElement;if(t===this.element_menu||containsChild(this.element_menu,t))return eventStopPropagation(e),eventPreventDefault(e)},MMSearchField.prototype.Event_MenuItem_MouseMove=function(e,t){var n,i;for(n=0,i=this.menu_items.length;n<i;n++)this.menu_items[n].className=classNameRemove(this.menu_items[n],"mm_searchfield_menuitem_selected");this.Menu_Item_Select(t)};