if(window.goN2LibMon)goN2LibMon.beginLoad('search_suggest','search-js');var curSelection=-1;var curSuggestions=[];var curSize=0;var curText="";var hideDelayTimerId=null;var searchSuggestionTimerId=null;var maxSuggestions=10;var prevWndResizeEventHandler=null;var prevWndOnLoadEventHandler=null;var isMsie=false;var suggestRequest=null;var defaultAction="";var clientId="amazon-search-ui";var suggestionsLoaded=false;var suggestDiv=null;function attachEventListener(elemObj,eventType,eventHandler)
{var eventName="on"+eventType;if(elemObj.addEventListener)
{elemObj.addEventListener(eventType,eventHandler,false);}
else
if(elemObj.attachEvent)
{elemObj.attachEvent(eventName,eventHandler);}
else
{var f=elemObj[eventName];elemObj[eventName]=function()
{var res1=f.apply(this,arguments);var res2=eventHandler.apply(this,arguments);if(res1==undefined)
{return res2;}
else
{if(res2==undefined)
{return res1;}
else
{return res2&&res1;}}};}}
function initSearchSuggest()
{if(suggestionsLoaded)return;isMsie=navigator.userAgent.toLowerCase().indexOf("msie")!=-1;var searchBox=getSearchBox();if(searchBox)
{searchBox.setAttribute("autocomplete","off");attachEventListener(searchBox,"keydown",onKeyDownEvent);attachEventListener(searchBox,"keyup",onKeyUpEvent);attachEventListener(searchBox,"keypress",onKeyPressedEvent);attachEventListener(searchBox,"blur",onFocusLost);prevWndResizeEventHandler=window.onresize;attachEventListener(window,"resize",onWindowResized);var searchForm=getSearchForm();if(searchForm)
{defaultAction=searchForm.action;}
suggestionsLoaded=true;}}
function supportedSearchAlias(alias)
{var found=0;if(window.issSearchAliases)
{for(i=0;i<window.issSearchAliases.length;i++)
{if(alias==window.issSearchAliases[i])
{found=1;break;}}}
return found;}
function onKeyDownEvent(event)
{var key=event.keyCode;switch(key)
{case 40:moveDown();stopEvent(event);break;case 38:moveUp();stopEvent(event);break;}}
function onKeyUpEvent(event)
{var key=event.keyCode;switch(key)
{case 13:HideSuggestionsDiv();break;case 40:break;case 38:break;case 37:break;case 39:break;default:setSearchSuggestionTimeout();break;}}
function onKeyPressedEvent(event)
{if(event.keyCode==27&&getSearchSuggest().style.display!="none")
{setSuggestionHideTimeout();getSearchBox().value=curText;return false;}}
function onFocusLost(event)
{setSuggestionHideTimeout();}
function onWindowResized(event)
{getSearchSuggest().style.width=getSearchBox().offsetWidth;if(prevWndResizeEventHandler)
{prevWndResizeEventHandler(event);}}
function displaySuggestions(curSuggestions)
{try
{curSize=Math.min(maxSuggestions,curSuggestions.length);}
catch(e)
{curSize=0;}
var ss=getSearchSuggest();ss.innerHTML='';if(curSize>0)
{ss.style.display="";ss.innerHTML+='<div id="sugdivhdr" align="right"> '+getSuggestionsDivTitle()+'</div>';}
else
{HideSuggestionsDiv();}
for(i=0;i<curSize;++i)
{var suggest='<div id="sugdiv'+i+'" onmouseover="javascript:suggestOver(this);" ';suggest+='onmouseout="javascript:suggestOut(this);" ';suggest+='onclick="javascript:setSearchByIndex('+i+');" ';suggest+='class="suggest_link">'+getFormatedSuggestionLine(curSuggestions[i])+'</div>';ss.innerHTML+=suggest;}
if(curSize>0)
{ss.innerHTML+='<div id="sugdivhdr" align="right">&nbsp;</div>';}}
function suggestOver(div_value)
{div_value.style.cursor="default";unhighlightCurrentSuggestion();divId=div_value.id;curSelection=divId.substr(6);highlightCurrentSuggestion(false);}
function suggestOut(div_value)
{unhighlightSuggestion(div_value);}
function setSearch(value,indexInList)
{getSearchBox().value=value;var actionForm=getSearchForm();var actionVal=defaultAction;if(indexInList>=0)
{actionVal+='_'+indexInList+'_'+curText.length;var prefixElems=document.getElementsByName('sprefix');var inputPrefix=null;if(prefixElems.length>0)
{inputPrefix=prefixElems[0];inputPrefix.setAttribute("value",curText);}
else
{inputPrefix=document.createElement("input");inputPrefix.setAttribute("type","hidden");inputPrefix.setAttribute("name","sprefix");inputPrefix.setAttribute("value",curText);getSearchForm().appendChild(inputPrefix);}}
else
{var prefixElems=document.getElementsByName('sprefix');for(var i=prefixElems.length-1;i>=0;--i)
{getSearchForm().removeChild(prefixElems[i]);}}
actionForm.action=actionVal;}
function setSearchByIndex(index)
{var searchBox=getSearchBox();setSearch(curSuggestions[index],index);getSearchSuggest().innerHTML='';var navBarForm=document.getElementsByName("site-search")[0];navBarForm.submit();}
function highlightSuggestion(div_value)
{div_value.className='suggest_link_over';}
function unhighlightSuggestion(div_value)
{div_value.className='suggest_link';}
function highlightCurrentSuggestion(updateSearchBox)
{if(updateSearchBox)
{if(curSelection==-1)
{setSearch(curText,-1);}
else
{setSearch(curSuggestions[curSelection],curSelection);}}
var selection=document.getElementById('sugdiv'+curSelection);highlightSuggestion(selection);}
function unhighlightCurrentSuggestion()
{var selection=null;try
{selection=document.getElementById('sugdiv'+curSelection);}
catch(e){}
if(selection)
{unhighlightSuggestion(selection);}}
function moveDown()
{if(curSize<=0)return;try
{unhighlightCurrentSuggestion();if(curSelection>=curSize-1)
{curSelection=-1;}
else
{++curSelection;}
highlightCurrentSuggestion(true);}
catch(ex)
{}}
function moveUp()
{if(curSize<=0)return;try
{unhighlightCurrentSuggestion();if(curSelection<0)
{curSelection=curSize-1;}
else
{--curSelection;}
highlightCurrentSuggestion(true);}
catch(ex)
{}}
function stopEvent(event)
{if(isMsie)
{event.cancelBubble=true;}
else
{event.preventDefault();}}
function getFormatedSuggestionLine(curSuggestion)
{var lowercaseCurrentText=curText.toLowerCase();var lowercaseCurrentSuggestion=curSuggestion.toLowerCase();var len=curText.length;var start=lowercaseCurrentSuggestion.indexOf(lowercaseCurrentText);if(start==-1)
{return curSuggestion;}
return curSuggestion.substr(0,start)+"<b>"+curSuggestion.substr(start,len)+"</b>"+curSuggestion.substr(start+len);}
function getSearchBox()
{return document.getElementById('twotabsearchtextbox');}
function getSearchSuggest()
{if(!suggestDiv)
{suggestDiv=createSuggestionDiv(getSearchBox());}
return suggestDiv;}
function getSearchForm()
{return document.getElementsByName('site-search')[0];}
function getSearchAlias()
{var searchInCtrl=document.getElementsByName('url')[0];var aliasName=searchInCtrl.value.match(/search-alias\s*=\s*([\w-]+)/);if(aliasName)
{return aliasName[1];}
else
{return null;}}
function findPos(obj)
{var curleft=curtop=0;if(obj.offsetParent)
{do
{curleft+=obj.offsetLeft;curtop+=obj.offsetTop;}while(obj=obj.offsetParent);}
return[curleft,curtop];}
function createSuggestionDiv(parent)
{var suggestionDiv=document.createElement("div");suggestionDiv.style.border="1px solid black";suggestionDiv.style.position="absolute";suggestionDiv.style.backgroundColor="white";suggestionDiv.style.color="black";var parentPos=findPos(parent);suggestionDiv.style.left=parentPos[0];if(isMsie)
{suggestionDiv.style.top=parentPos[1]+parent.offsetHeight;}
suggestionDiv.style.width=parent.offsetWidth;suggestionDiv.style.zIndex="130";suggestionDiv.style.display="none";suggestionDiv.id="search_suggest";parent.parentNode.appendChild(suggestionDiv);return suggestionDiv;}
function setSuggestionHideTimeout()
{hideDelayTimerId=setTimeout(function()
{return(function()
{hideDelayTimerId=null;HideSuggestionsDiv();});}(),300);}
function setSearchSuggestionTimeout()
{if(searchSuggestionTimerId)
{clearTimeout(searchSuggestionTimerId);searchSuggestionTimerId=null;}
searchSuggestionTimerId=setTimeout(function()
{return(function()
{searchJSONSuggest();searchSuggestionTimerId=null;curSelection=-1;});}(),100);}
function getSuggestionsDivTitle()
{var defaultTitle="Search suggestions";if(window.issMktid=='1')
return defaultTitle;if(window.issMktid=='4')
return'Suchvorschl&auml;ge';if(window.issMktid=='5')
return'Suggestions de recherche';return defaultTitle;}
function HideSuggestionsDiv()
{curSize=0;getSearchSuggest().innerHTML='';getSearchSuggest().style.display="none";curSelection=-1;}
function searchJSONSuggest()
{if(suggestRequest)
{suggestRequest.removeScriptTag();}
if(curText==getSearchBox().value)
{return;}
var searchAlias=getSearchAlias();if(!supportedSearchAlias(searchAlias))
{return;}
curText=getSearchBox().value;if(curText.length==0)
{HideSuggestionsDiv();return;}
var str=encodeURIComponent(curText);var suggestUrl=window.parent.document.location.protocol+'//'+window.issHost+'?'+'method=completion'+
'&q='+str+
'&search-alias='+searchAlias+
'&client='+clientId+
'&mkt='+window.issMktid+
'&x=updateCompletion';suggestRequest=new A9RequestClient(suggestUrl);suggestRequest.buildScriptTag();suggestRequest.addScriptTag();}
function updateCompletion()
{if(suggestRequest)
{suggestRequest.removeScriptTag();suggestRequest=null;}
curSuggestions=completion[1];displaySuggestions(curSuggestions);}
function A9RequestClient(fullUrl)
{this.fullUrl=fullUrl;this.noCacheIE='&noCacheIE='+(new Date()).getTime();this.headLoc=document.getElementsByTagName("head").item(0);this.scriptId='JscriptId'+A9RequestClient.scriptCounter++;}
A9RequestClient.scriptCounter=1;A9RequestClient.prototype.buildScriptTag=function()
{this.scriptObj=document.createElement("script");this.scriptObj.setAttribute("type","text/javascript");this.scriptObj.setAttribute("charset","utf-8");this.scriptObj.setAttribute("src",this.fullUrl+this.noCacheIE);this.scriptObj.setAttribute("id",this.scriptId);}
A9RequestClient.prototype.removeScriptTag=function()
{try
{this.headLoc.removeChild(this.scriptObj);}
catch(e)
{}}
A9RequestClient.prototype.addScriptTag=function()
{this.headLoc.appendChild(this.scriptObj);}
n2RunThisWhen("onloadsuccess",initSearchSuggest,'SearchSuggest Initialized');if(window.goN2LibMon)goN2LibMon.endLoad('search_suggest','search-js');