﻿
﻿function readCookie(name){name=name.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,'\\$1');var regex=new RegExp('(?:^|;)\\s?'+name+'=(.*?)(?:;|$)','i'),match=document.cookie.match(regex);return match&&unescape(match[1]);}
String.prototype.regexIndexOf=function(regex,startpos){var indexOf=this.substring(startpos||0).search(regex);return(indexOf>=0)?(indexOf+(startpos||0)):indexOf;};String.prototype.regexLastIndexOf=function(regex,startpos){regex=(regex.global)?regex:new RegExp(regex.source,"g"+(regex.ignoreCase?"i":"")+(regex.multiLine?"m":""));if(typeof(startpos)=="undefined"){startpos=this.length;}else if(startpos<0){startpos=0;}
var stringToWorkWith=this.substring(0,startpos+1);var lastIndexOf=-1;var nextStop=0;while((result=regex.exec(stringToWorkWith))!==null){lastIndexOf=result.index;regex.lastIndex=++nextStop;}
return lastIndexOf;};redirectWR=function(){var DOMAIN="http://www.wordreference.com";function lookup(dict,word){var dictDir;if(dict.slice(0,2)=="WR"||dict.slice(0,2)=="OX"||dict.slice(0,2)=="ES"||dict.slice(0,2)=="ZA"){dictDir="/"+dict.slice(2)+"/";}
return dictDir+word;}
function reverseLookup(dict,word){var dictDir;if(dict.slice(0,2)=="WR"||dict.slice(0,2)=="OX"||dict.slice(0,2)=="ES"){dictDir="/"+dict.slice(4,6)+dict.slice(2,4)+"/";}
return dictDir+word;}
function abbreviation(dict,word){if(dict.slice(0,2)=="WR"){if(dict=="WRenfr"||dict=="WRfren"){return"/fr/Abbreviations-French.aspx";}
else if(dict=="WRenit"||dict=="WRiten"){return"/it/Abbreviations-Italian.aspx";}
else if(dict=="WRenes"||dict=="WResen"){return"/es/Abbreviations-Spanish.aspx";}
else{return"/english/abbreviationsWRD.aspx?dict="+dict.slice(2);}}
if(dict=="OXenfr"||dict=="OXfren"){return"/fr/Abbreviations-French.aspx";}
if(dict=="OXenit"||dict=="OXiten"){return"/it/Abbreviations-Italian.aspx";}
if(dict=="OXenes"||dict=="OXesen"){return"/es/Abbreviations-Spanish.aspx";}
if(dict=="OXende"||dict=="OXdeen"){return"/de/abbreviations.aspx";}
if(dict=="OXenru"||dict=="OXruen"){return"/ru/russian-abbreviations.aspx";}
if(dict.slice(0,2)=="ES"){return"/es/Abbreviations-Spanish.aspx";}
return"";}
function pronunciation(dict,word){if(dict=="OXenfr"||dict=="OXfren"){return"/fr/French-Pronunciation.aspx";}
if(dict=="OXenit"||dict=="OXiten"){return"/it/Pronuncia-Inglese.aspx";}
if(dict=="OXenes"||dict=="OXesen"||dict=="ESenes"||dict=="ESesen"){return"/es/pronunciacion-inglesa.aspx";}
if(dict=="OXende"||dict=="OXdeen"){return"/de/German-pronunciation.aspx";}
if(dict=="OXenru"||dict=="OXruen"){return"/ru/russian-pronunciation.aspx";}
if(dict=="OXdefinition"){return"/de/German-pronunciation.aspx";}
return"";}
var DICT_ROUTER_TABLE={"Ox":reverseLookup};function getRouter(dict,tag,klass){if(dict.slice(0,2)=="WR"){if(/^(?:b|i|Fr.*|Head)$/.test(klass)){view=lookup;}
else if(/^(?:POS|POS2|ps|gr)$/.test(klass)){view=abbreviation;}
else if(/^(?:ph)$/.test(klass)){view=pronunciation;}
else if(/^(?:To.*)$/.test(klass)){view=reverseLookup;}}else if(dict=="OXdefinition"){if(/^(?:ph)$/.test(klass)){view=pronunciation;}
else{view=lookup;}}else if(dict.slice(0,2)=="OX"){if(/^(?:b|hw|vpr|nw|ihw|bhw|abb|cfrf|con|contr|cvf|divar|ell|ex|exp|exs|fem|fm|frm|hcvf|dex|hcw|idx|inf|mex|mod|nh|prv|pvb|pvbv|sig|var|x|xi|xrru|cw|phw|stxt|cmp|dex|femv|frmv|vcp|prvx|idm|cv|cx|ef|fs|lc|le|li|lo|lp|ls|lu|lv|sb|sl|sp|v|vs|G|G2|VF|CG|lemma|fordiv|cv|nv|f|h2|rb|rbi|pg|bp|pvv)$/.test(klass))
{view=lookup;}
else if(/^(?:ps|psyn|reg|qps|qreg|fld|gr|pos)$/.test(klass)){view=abbreviation;}
else if(/^(?:ph)$/.test(klass)){view=pronunciation;}
else{view=reverseLookup;}}else if(dict.slice(0,2)=="ES"){if(dict=="ESeses"||dict=="ESessin"){view=lookup;}
else if(/^(?:B|U|I|H3)$/.test(tag)||/^(?:b|i)$/.test(klass)){view=lookup;}
else if(/^(?:POS|POS2|ac|ic)$/.test(klass)){view=abbreviation;}
else if(/^(?:EsIPA)$/.test(klass)){view=pronunciation;}
else{view=reverseLookup;}}else if(dict.slice(0,2)=="ZA"){if(/^(?:sillab)$/.test(klass)){view=pronunciation;}
else{view=lookup;}}else{view=reverseLookup;}
return(view)?view:DICT_ROUTER_TABLE[dict];}
var STRIP=/[\[\]{}():;|,.\/'"~\s]/gi;function trim(word){return word.replace(STRIP,"");}
function getWord(text,offset){var startOfWord=/[¿\/\|\(\[\{\.\,\:\"\'，、／\s]/;var endOfWord=/[\\،\?\!\)\;\~\/\|\(\]\}\.\,\:\"\'，、／\s]/;if(text===""||offset<0||text.length==offset){return"";}
var start=text.regexLastIndexOf(startOfWord,offset);start=(start===-1)?0:start+1;var end=text.regexIndexOf(endOfWord,offset);end=(end===-1)?text.length:end;var word=text.substring(start,end);return trim(word);}
function getContext(){var range,word,className,tagName;if(window.getSelection){var selection=window.getSelection();className=selection.anchorNode.parentNode.className;tagName=selection.anchorNode.parentNode.tagName;range=document.createRange();range.selectNodeContents(selection.anchorNode);word=getWord(range.toString(),selection.anchorOffset);range.detach();}
else{range=document.selection.createRange();range.expand("word");word=range.text;className=range.parentElement().className;tagName=range.parentElement().tagName;}
return{"word":word,"klass":className,"tag":tagName};}
function redirectWR(e,dict){var context=getContext();var word=context.word;if(!word){return false;}
if(context.tag=="A"){return false;}
var router=getRouter(dict,context.tag,context.klass);if(!router){return false;}
url=router(dict,word);if(!url){return false;}
if(readCookie('onclick')!=="0"){window.location.href=DOMAIN+url;}}
return redirectWR;}();function dr4sdgryt3(e,dict){redirectWR(e,"WR"+dict);}
function setClickW(id)
{document.cookie='onclick='+id.charAt(2)+'; expires=Thu, 10 Sep 2012 20:47:11 UTC; path=/;domain=wordreference.com';}
function keyDown(k)
{var keycode=document.all?event.keyCode:k.which;if(document.getElementById('si')&&document.getElementById('si').value.length===0)
{if((""+keycode)=="33"){document.getElementById('si').blur();}
if((""+keycode)=="34"){document.getElementById('si').blur();}
if((""+keycode)=="35"){document.getElementById('si').blur();}
if((""+keycode)=="36"){document.getElementById('si').blur();}
if((""+keycode)=="38"){document.getElementById('si').blur();}
if((""+keycode)=="40"){document.getElementById('si').blur();}}}
function DHTMLSound(surl){if((navigator.userAgent.indexOf('iPhone')!=-1)||(navigator.userAgent.indexOf('iPod')!=-1)||(navigator.userAgent.indexOf('Linux')!=-1))
{window.location=surl;}else{document.getElementById("dummyspan").innerHTML="<embed src='"+surl+"' hidden=true autostart=true loop=false type='audio/mpeg'>";}}
function relocateDeferredContent(){var replacements=[];replacements.push([document.getElementById('defer-adleaderboard'),document.getElementById('adleaderboard')]);replacements.push([document.getElementById('defer-adright'),document.getElementById('adright')]);for(i=0;i<replacements.length;i++){replacements[i][0].parentNode.removeChild(replacements[i][0]);replacements[i][1].parentNode.replaceChild(replacements[i][0],replacements[i][1]);replacements[i][0].style.display="block";}
return true;}
function getScrollY(){var scrOfY=0;if(typeof(window.pageYOffset)=='number'){scrOfY=window.pageYOffset;}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){scrOfY=document.body.scrollTop;}else if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){scrOfY=document.documentElement.scrollTop;}
return scrOfY;}
function init()
{if(getScrollY()===0){document.getElementById('si').focus();}
if(readCookie('onclick') && document.getElementById('cl'+readCookie('onclick'))){document.getElementById('cl'+readCookie('onclick')).checked=true;}
}
window.onload=init;function deaccent(str){var replace=["á","é","í","ó","ú","ä","ï","ö","ü","ã","ñ","õ","à","è","ì","ò","ù","ç"];var by=["a","e","i","o","u","a","i","o","u","a","n","o","a","e","i","o","u","c"];for(var i=0;i<replace.length;i++){str=str.replace(replace[i],by[i]);}
return str;}
function getDictionary(){var list=document.forms[0].dict;var dictionary=list.options[list.selectedIndex].value;return dictionary;}
function changeDict(){if(getDictionary()=="jaen"||getDictionary()=="zhen"||getDictionary()=="koen"){oAC.minQueryLength=1;oAC.maxResultsDisplayed=1000;}else{oAC.minQueryLength=2;oAC.maxResultsDisplayed=15;}}
document.getElementById('fSelect').onchange=changeDict;document.body.className="yui-skin-sam";YAHOO.example.BasicRemote=function(){if(navigator.userAgent.search(/OS X.*Firefox/gi)==-1)
{var oDS=new YAHOO.util.XHRDataSource("/autocomplete/autocompletedb.aspx");oDS.responseType=YAHOO.util.XHRDataSource.TYPE_TEXT;oDS.responseSchema={recordDelim:"\n",fieldDelim:"\t"};oDS.maxCacheEntries=1000;oDS.queryMatchSubset=true;var oAC=new YAHOO.widget.AutoComplete("si","myACContainer",oDS);oAC.autoHighlight=false;oAC.queryDelay=0;oAC.minQueryLength=2;oAC.maxResultsDisplayed=15;oAC.generateRequest=function(sQuery){return"?dict="+getDictionary()+"&query="+sQuery;};return{oDS:oDS,oAC:oAC};}}();YAHOO.widget.AutoComplete.prototype.filterResults=function(sQuery,oFullResponse,oParsedResponse,oCallback){if(oCallback&&oCallback.argument&&oCallback.argument.query){sQuery=oCallback.argument.query;}
if(sQuery&&sQuery!==""){oParsedResponse=YAHOO.widget.AutoComplete._cloneObject(oParsedResponse);var oAC=oCallback.scope,oDS=this,allResults=oParsedResponse.results,filteredResults=[],bMatchFound=false,bMatchCase=(oDS.queryMatchCase||oAC.queryMatchCase),bMatchContains=(oDS.queryMatchContains||oAC.queryMatchContains);for(var i=allResults.length-1;i>=0;i--){var oResult=allResults[i];var sResult=null;if(YAHOO.lang.isString(oResult)){sResult=oResult;}
else if(YAHOO.lang.isArray(oResult)){sResult=oResult[0];}
else if(this.responseSchema.fields){var key=this.responseSchema.fields[0].key||this.responseSchema.fields[0];sResult=oResult[key];}
else if(this.key){sResult=oResult[this.key];}
if(YAHOO.lang.isString(sResult)){var sKeyIndex=(bMatchCase)?sResult.indexOf(decodeURIComponent(sQuery)):deaccent(sResult.toLowerCase()).indexOf(deaccent(decodeURIComponent(sQuery).toLowerCase()));if((!bMatchContains&&(sKeyIndex===0))||(bMatchContains&&(sKeyIndex>-1))){filteredResults.unshift(oResult);}}}
oParsedResponse.results=filteredResults;}
else{}
return oParsedResponse;};
