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