$(document).ready(function(){var settings={"setting_enable_ajax":1,"setting_show_romaji":1,"setting_show_all_variations":0,"setting_show_kanji_links":1,"setting_show_romaji_entry":1};for(setting in settings){var curr_val=readCookie(setting);if(curr_val!=null){settings[setting]=curr_val;}}if($("div#settings").length==1){for(setting in settings){if($("input[type=checkbox]#"+setting).length==1){if(settings[setting]==1){$("input[type=checkbox]#"+setting).attr("checked","checked");}}$("input[type=checkbox]#"+setting).click(function(){if($(this).is(":checked")){settings[$(this).attr("id")]=1;}else{settings[$(this).attr("id")]=0;}createCookie($(this).attr("id"),settings[$(this).attr("id")],350);});}}css=[];css[css.length]='div#results > table td.entry_link a { display: none; }';css[css.length]='div#results > table tr td { border-bottom-width: 0px; }';if(settings["setting_show_romaji"]==0){css[css.length]='div#results > table tr td.syllabary span.syl_rom { display: none; }';}if(settings["setting_show_romaji_entry"]==0){css[css.length]='span.entry_rom { display: none; }';}$('<style type="text/css">'+css.join("\n")+'</style>').appendTo('head');$("form#nihongodictsearch").submit(function(){if($("input#searchbox").hasClass("empty")||$("input#searchbox").val()==""){return(false);}else{return(true);}});var search_box_hint="Type a word in English or Japanese";if($("input#searchbox").val()==""){$("input#searchbox").val(search_box_hint);$("input#searchbox").addClass("empty");}$("input#searchbox").focus(function(){if($("input#searchbox").hasClass("empty")){$("input#searchbox").removeClass("empty");$("input#searchbox").val("");}});$("input#searchbox").blur(function(){if($("input#searchbox").val()==""){$("input#searchbox").addClass("empty");$("input#searchbox").val(search_box_hint);}});$("form").attr("autocomplete","off");function clear_box(){if($("input#searchbox").hasClass("empty")){$("input#searchbox").removeClass("empty");$("input#searchbox").val("");}}$("table#map_katakana a, table#map_hiragana a").click(function(){clear_box();insertAtCaret("searchbox",$(this).children("b").html());$("input#searchbox").keyup();return(false);});$("p#kanji_lookup_results a").live("click",function(){clear_box();insertAtCaret("searchbox",$(this).html());$("input#searchbox").keyup();return(false);});$("a.insta-lookup").click(function(){clear_box();$("input#searchbox").val($(this).html()).keyup();$("input#searchbox").focus();return(false);});$("a#show_map_katakana").click(function(){if($("table#map_katakana").is(":visible")){$("table#map_katakana").hide();$(this).html("Katakana Map");}else{$("table#map_katakana").show();$(this).html("Katakana Map (hide)");}return(false);});$("a#show_map_hiragana").click(function(){if($("table#map_hiragana").is(":visible")){$("table#map_hiragana").hide();$(this).html("Hiragana Map");}else{$("table#map_hiragana").show();$(this).html("Hiragana Map (hide)");}return(false);});$("a#show_map_kanji").click(function(){if($("div#map_kanji").is(":visible")){$("div#map_kanji").hide();$(this).html("Kanji Lookup");}else{$("div#map_kanji").show();$(this).html("Kanji Lookup (hide)");}return(false);});var radicals=new Array();var radical_lock=false;$("div#map_kanji a").click(function(){if(radical_lock==true||$(this).hasClass("invalid")){return(false);}radical_lock=true;if($(this).hasClass("selected")){$(this).removeClass("selected");prts=$(this).attr("id").split("_");radicals=remove_from_array(radicals,prts[1]);}else{$(this).addClass("selected");prts=$(this).attr("id").split("_");radicals[radicals.length]=prts[1];}if(radicals.length==0){$("p#kanji_lookup_results").html("").hide();$("p#kanji_lookup_instructions").show();$("div#map_kanji table a").removeClass("invalid");radical_lock=false;}else{$("p#kanji_lookup_results").html("<b><i>Searching, please wait...</b></i>").show();$("p#kanji_lookup_instructions").hide();$.ajax({type:"POST",url:URL+"/ajax_kanji.php",data:{"radicals":radicals.join(" ")},success:function(results){$("p#kanji_lookup_results").html(results);$("div#map_kanji table a").addClass("invalid");var valid=$("span#valid_radicals").html().split(" ");for(i in valid){$("a#rad_"+valid[i]).removeClass("invalid");}radical_lock=false;},error:function(XMLHttpRequest,textStatus,errorThrown){$("p#kanji_lookup_results").html("<b><i>A kanji lookup error has occured, please try again.</b></i>").show();radical_lock=false;}});}return(false);});if($("input#searchbox").length==1){get_script($("input#searchbox").val());order_results($("input#searchbox").val());hide_extra_entries();set_row_hover();apply_alt_bg();}function set_row_hover(){$("div#results > table tr").hover(function(){$(this).addClass("hovered");},function(){$(this).removeClass("hovered");});}if(settings["setting_enable_ajax"]==1){var last_s="";var last_int=0;$("input#searchbox").keyup(function(){clearInterval(last_int);last_int=setTimeout(function(){send_ajax_request($("input#searchbox").val())},200);});function send_ajax_request(s){var s=s;if(s==last_s||$("input#searchbox").hasClass("empty")){return;}current_focused_row=false;last_s=s;if(s==""){clear_results();return;}var lang=get_script(s);$.ajax({type:"POST",url:URL+"/ajax.php",data:"s="+s+"&"+lang,success:function(results){if(last_s!=s){return;}$("div#results").html("<table>"+results+"</table>");$("div#notices span").show();order_results(s);hide_extra_entries();set_row_hover();apply_alt_bg();}});}}function hide_extra_entries(){if(settings["setting_show_all_variations"]==0){$("div#results > table td.kanji").each(function(){$(this).children("span:gt(0)").hide();add_show_more_link($(this));});$("div#results > table td.syllabary").each(function(){$(this).children("span:gt(0)").hide();add_show_more_link($(this));});$("div#results > table td.gloss").each(function(){$(this).children("span:gt(2)").hide();add_show_more_link($(this));});}}function add_show_more_link(selector){var hidden_count=selector.children("span:hidden").length;if(hidden_count==1){selector.append('<span class="show_more"><a href="javascript:void(0)">Show 1 more entry</a></span>');}else if(hidden_count>1){selector.append('<span class="show_more"><a href="javascript:void(0)">Show '+hidden_count+' more entries</a></span>');}}$("span.show_more a").live("click",function(){$(this).parents("td").children("span:hidden").show();$(this).remove();});function apply_alt_bg(){var bg_alt=true;$("div#results > table tr").each(function(){if(bg_alt==true){$(this).addClass("alt");bg_alt=false;}else{bg_alt=true;}});}function clear_results(){$("div#results").html("");}function order_results(search){$("div#results > table tr").each(function(){if(roman==1){$(this).find("td.gloss span").each(function(){var regex=new RegExp("\\b"+search,"i");if(match=$(this).html().match(regex)){$(this).html($(this).html().replace(regex,"<strong>"+match+"</strong>"));$(this).prependTo($(this).parent("td"));}});$(this).find("td.syllabary span.syl_rom").each(function(){var regex=new RegExp("\\b"+search,"i");if(match=$(this).html().match(regex)){$(this).html($(this).html().replace(regex,"<strong>"+match+"</strong>"));$(this).parent("span").prependTo($(this).parent("span").parent("td"));}});}if(katakana==1||hiragana==1){$(this).find("td.syllabary span.syl_jap").each(function(){var regex=new RegExp("^"+search,"i");if(match=$(this).html().match(regex)){$(this).html($(this).html().replace(regex,"<strong>"+match+"</strong>"));$(this).parent("span").prependTo($(this).parent("span").parent("td"));}});}if(kanji==1){$(this).find("td.kanji span").each(function(){var regex=new RegExp("^"+search,"i");if(match=$(this).html().match(regex)){$(this).html($(this).html().replace(regex,"<strong>"+match+"</strong>"));$(this).prependTo($(this).parent("td"));}});}});}var kanji=0;var hiragana=0;var roman=0;var katakana=0;function get_script(text){kanji=0;hiragana=0;roman=0;katakana=0;$("div#kanji_page_links").html('<span stlye="float: left;"><b>Kanji info:</b></span>').hide();for(i=1;i<=text.length;i++){var codepoint=text.charCodeAt(i-1);if(codepoint>=65&&codepoint<=122){roman=1;}else if(codepoint>=12448&&codepoint<=12543){katakana=1;}else if(codepoint>=12352&&codepoint<=12447){hiragana=1;}else if(codepoint>=19968&&codepoint<=40879){kanji=1;if(settings['setting_show_kanji_links']==1){$("div#kanji_page_links").show().append('<a href="'+URL+'/kanji/'+text.charAt(i-1)+'">'+text.charAt(i-1)+'</a>');}}}return("roman="+roman+"&katakana="+katakana+"&hiragana="+hiragana+"&kanji="+kanji);}var current_focused_row=false;var curr_scroll=0;function scroll_next(){if(current_focused_row.next().length==1){focus_row(current_focused_row.next());}else{focus_row($("div#results > table tr:first"));}}function scroll_prev(){if(current_focused_row.prev().length==1){focus_row(current_focused_row.prev());}else{focus_row($("div#results > table tr:last"));}}$("input#searchbox").keydown(function(event){if(event.keyCode==38){if(current_focused_row==false){focus_row($("div#results > table tr:last"));clearInterval(curr_scroll);curr_scroll=setInterval(scroll_prev,300);}else{scroll_prev();clearInterval(curr_scroll);curr_scroll=setInterval(scroll_prev,300);}return(false);}else if(event.keyCode==40){if(current_focused_row==false){focus_row($("div#results > table tr:first"));clearInterval(curr_scroll);curr_scroll=setInterval(scroll_next,300);}else{scroll_next();clearInterval(curr_scroll);curr_scroll=setInterval(scroll_next,300);}return(false);}});$("input#searchbox").keyup(function(event){clearInterval(curr_scroll);if(event.keyCode==38||event.keyCode==40){clearInterval(curr_scroll);}});$("input#searchbox").keypress(function(event){if(current_focused_row!=false&&event.keyCode==13){document.location=current_focused_row.find("td.entry_link a").attr("href");return(false);}});$("div#results > table tr").live("click",function(){focus_row($(this));});function focus_row(obj){if(current_focused_row!=false){current_focused_row.removeClass("focused");}obj.addClass("focused");current_focused_row=obj;}});function createCookie(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}else var expires="";document.cookie=name+"="+value+expires+"; path=/";}function readCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);}return null;}function eraseCookie(name){createCookie(name,"",-1);}function remove_from_array(array,to_remove){for(i in array){if(array[i]==to_remove){array.splice(i,1);}}return(array);}function insertAtCaret(areaId,text){var txtarea=document.getElementById(areaId);var scrollPos=txtarea.scrollTop;var strPos=0;var br=((txtarea.selectionStart||txtarea.selectionStart=='0')?"ff":(document.selection?"ie":false));if(br=="ie"){txtarea.focus();var range=document.selection.createRange();range.moveStart('character',-txtarea.value.length);strPos=range.text.length;}else if(br=="ff")strPos=txtarea.selectionStart;var front=(txtarea.value).substring(0,strPos);var back=(txtarea.value).substring(strPos,txtarea.value.length);txtarea.value=front+text+back;strPos=strPos+text.length;if(br=="ie"){txtarea.focus();var range=document.selection.createRange();range.moveStart('character',-txtarea.value.length);range.moveStart('character',strPos);range.moveEnd('character',0);range.select();}else if(br=="ff"){txtarea.selectionStart=strPos;txtarea.selectionEnd=strPos;txtarea.focus();}txtarea.scrollTop=scrollPos;}