
function Search_Box(cfg){var defaults={ELEMENT_ID:'q',DEFAULT_VALUE:'inherit',FOCUSED_VALUE:''};if(cfg){for(var name in cfg){if(cfg.hasOwnProperty(name)){for(var defname in defaults){if(defaults.hasOwnProperty(defname)){if(!(cfg[defname])){cfg[defname]=defaults[defname];}}}}}}else{cfg=defaults;}
return{init:function(){var el=document.getElementById(cfg.ELEMENT_ID);if(el){if(cfg.DEFAULT_VALUE==='inherit'){cfg.DEFAULT_VALUE='';if(el.value!==''){cfg.DEFAULT_VALUE=el.value;}}
if(cfg.focus){Search_Box.attach_handler(el,'onfocus',cfg.focus);}
Search_Box.attach_handler(el,'onfocus',this.focus);if(cfg.blur){Search_Box.attach_handler(el,'onblur',cfg.blur);}
Search_Box.attach_handler(el,'onblur',this.blur);if(el.value===''){el.value=cfg.DEFAULT_VALUE;}}else{throw new Error('Search_Box.init: element (id: "'+cfg.ELEMENT_ID+'") doesn\'t exist');}},focus:function(e){var t=Search_Box.get_target(e);if(t.nodeName.toLowerCase()==='input'){if(t.value===cfg.DEFAULT_VALUE||t.value===''){t.value=cfg.FOCUSED_VALUE;if(t.value!==''){t.select();}}}
return true;},blur:function(e){var t=Search_Box.get_target(e);if(t.nodeName.toLowerCase()==='input'){if(t.value===cfg.FOCUSED_VALUE||t.value===''){t.value=cfg.DEFAULT_VALUE;}}
return true;}};}
Search_Box.get_target=function(x){x=x||window.event;return x.target||x.srcElement;};Search_Box.attach_handler=function(o,evt,f){if(o!==null){var existing_handler=o[evt];if(typeof o[evt]!=='function'){o[evt]=f;}else{o[evt]=function(e){existing_handler.apply(o,arguments);f.apply(o,arguments);};}}};