/* See suggest.js for license. */
;(function($,undefined){if(!window.console){window.console={};}
if(!window.console.log){window.console.log=function(){};}
$.suggest=function(name,prototype){$.fn[name]=function(options){var isMethodCall=(typeof options==='string'),args=Array.prototype.slice.call(arguments,1);return this.each(function(){var instance=$.data(this,name);$.data(this,name,new $.suggest[name](this,options))._init();});};$.suggest[name]=function(input,options){var self=this;this.name=name;var o=this.options=$.extend(true,{},$.suggest.defaults,$.suggest[name].defaults,options),p=o.css_prefix=o.css_prefix||"",css=o.css;$.each(css,function(k,v){css[k]=p+css[k];});o.ac_param={};$.each(["type","type_strict","mql_filter","as_of_time"],function(i,n){v=o[n];if(v===null||v===""){return;}
if(typeof v==="object"){if(typeof JSON==="undefined"){init_JSON();}
v=JSON.stringify(v);}
o.ac_param[n]=v;});var l=this.list=$('<ul class="'+css.list+'"></ul>'),h='<div style="display:none;position:absolute" class="fbs-reset '+css.pane+'"></div>',p=this.pane=$(h).append(l);$(document.body).append(p);p.bind("mousedown",function(e){self.dont_hide=true;}).bind("mouseup",function(e){if(self.dont_hide){self.input.focus();}
self.dont_hide=false;}).bind("click",function(e){e.stopPropagation();var s=self.get_selected();if(s){self.onselect(s,true);self.hide_all();}});var hoverover=function(e){self.hoverover_list(e);};var hoverout=function(e){self.hoverout_list(e);};l.hover(hoverover,hoverout);this.input=$(input).attr("autocomplete","off").unbind(".suggest").bind("keydown.suggest",function(e){self.keydown(e);}).bind("keypress.suggest",function(e){self.keypress(e);}).bind("keyup.suggest",function(e){self.keyup(e);}).bind("blur.suggest",function(e){self.blur(e);}).bind("textchange.suggest",function(e){self.textchange();}).bind("focus.suggest",function(e){self.focus(e);});function onresize(e){self.invalidate_position();if(p.is(":visible")){self.position();if(o.flyout&&self.flyoutpane&&self.flyoutpane.is(":visible")){var s=self.get_selected();if(s){self.flyout_position(s);}}}};$(window).resize(onresize).scroll(onresize);};$.suggest[name].prototype=$.extend({},$.suggest.prototype,prototype);};$.suggest.prototype={_init:function(){},invalidate_position:function(){self._position=null;},focus:function(e){var o=this.options;if(!$.trim(this.input.val())&&o.helptext){this.hide_all();this.list.prevAll().remove();this.list.nextAll().remove();this.list.empty().append('<li class="fbs-help fbs-help-on-focus">'+o.helptext+'</li>');this.position();this.pane.show();}
else{this.focus_hook(e);}},focus_hook:function(e){if(!this.pane.is(":visible")){if($("li",this.list).length){this.position();this.pane.show();}}},keydown:function(e){var key=e.keyCode;if(key===9){this.tab(e);}
else if(key===38||key===40){if(!e.shiftKey){e.preventDefault();}}},keypress:function(e){var key=e.keyCode;if(key===38||key===40){if(!e.shiftKey){e.preventDefault();}}
else if(key===13){this.enter(e);}
else if(key===27){this.escape(e);}
else if((e.metaKey||e.ctrlKey)&&e.charCode===118){window.clearTimeout(this.keypress.timeout);var self=this;this.keypress.timeout=window.setTimeout(function(){self.textchange();},0);}},keyup:function(e){var key=e.keyCode;if(key===38){e.preventDefault();this.up(e);}
else if(key===40){e.preventDefault();this.down(e);}
else if(e.ctrlKey&&key===77){$(".fbs-more-link",this.pane).click();}
else if($.suggest.is_char(e)){this.textchange();}},blur:function(e){if(this.dont_hide){return;}
var data=this.input.data("data.suggest");if(!data){this.check_required(e);}
this.hide_all();},tab:function(e){this.enter(e);},enter:function(e){var o=this.options,visible=this.pane.is(":visible")&&!$(".fbs-help",this.list).length;if(visible){if(e.shiftKey){this.shift_enter(e);}
else{var s=this.get_selected();if(s){this.onselect(s);this.hide_all();e.preventDefault();}
else{var data=this.input.data("data.suggest");if(o.soft){if(!data){this.check_required(e);}}
else{if($("."+this.options.css.item+":visible",this.list).length){this.updown(false);e.preventDefault();}
else if(!data){this.check_required(e);}}}}}},shift_enter:function(e){},escape:function(e){this.hide_all();},up:function(e){this.updown(true,e.ctrlKey||e.shiftKey);},down:function(e){this.updown(false,null,e.ctrlKey||e.shiftKey);},updown:function(goup,gofirst,golast){var inp=this.input,o=this.options,css=o.css,p=this.pane,l=this.list;if(!p.is(":visible")){if(!goup){this.textchange();}
return;}
var li=$("."+css.item+":visible",l);if(!li.length){return;}
var first=$(li[0]),last=$(li[li.length-1]),cur=this.get_selected()||[],orig=inp.data("original.suggest"),prev=next=data=undefined;window.clearTimeout(this.ignore_mouseover.timeout);this._ignore_mouseover=false;if(goup){if(gofirst){first.trigger("mouseover.suggest");data=first.data("data.suggest");if(data){inp.val(data.name);}
else{inp.val(orig);this.hoverout_list();}
this.scroll_to(first);}
else if(!cur.length){last.trigger("mouseover.suggest");data=last.data("data.suggest");if(data){inp.val(data.name);}
else{inp.val(orig);this.hoverout_list();}
this.scroll_to(last);}
else if(cur[0]==first[0]){first.removeClass(css.selected);inp.val(orig);this.hoverout_list();}
else{prev=cur.prevAll("."+css.item+":visible:first").trigger("mouseover.suggest");data=prev.data("data.suggest");if(data){inp.val(data.name);}
else{inp.val(orig);this.hoverout_list();}
this.scroll_to(prev);}}
else{if(golast){last.trigger("mouseover.suggest");data=last.data("data.suggest");if(data){inp.val(data.name);}
else{inp.val(orig);this.hoverout_list();}
this.scroll_to(last);}
else if(!cur.length){first.trigger("mouseover.suggest");data=first.data("data.suggest");if(data){inp.val(data.name);}
else{inp.val(orig);this.hoverout_list();}
this.scroll_to(first);}
else if(cur[0]==last[0]){last.removeClass(css.selected);inp.val(orig);this.hoverout_list();}
else{next=cur.nextAll("."+css.item+":visible:first").trigger("mouseover.suggest");data=next.data("data.suggest");if(data){inp.val(data.name);}
else{inp.val(orig);this.hoverout_list();}
this.scroll_to(next);}}},scroll_to:function(item){var l=this.list,scrollTop=l.scrollTop(),scrollBottom=scrollTop+l.innerHeight(),item_height=item.outerHeight(),offsetTop=item.prevAll().length*item_height,offsetBottom=offsetTop+item_height;if(offsetTop<scrollTop){this.ignore_mouseover();l.scrollTop(offsetTop);}
else if(offsetBottom>scrollBottom){this.ignore_mouseover();l.scrollTop(scrollTop+offsetBottom-scrollBottom);}},textchange:function(){this.input.removeData("data.suggest");window.clearTimeout(this.textchange.timeout);var self=this;this.textchange.timeout=window.setTimeout(function(){self.textchange_delay();},200);},textchange_delay:function(){var val=$.trim(this.input.val());if(!val){this.hide_all();return;}
this.request(val);},request:function(val){calls=this.input.data("request.count.suggest");if(!calls){this._trackEvent(this.name,"start_session");calls=0;}
calls+=1;this._trackEvent(this.name,"request","count",calls)
this.input.data("request.count.suggest",calls);},response:function(data){if("cost"in data){this._trackEvent(this.name,"response","cost",data.cost);}
if(!this.check_response(data)){return;}
var result=[];if($.isArray(data)){result=data;}
else if("result"in data){result=data.result;}
var args=$.map(arguments,function(a){return a;});this.response_hook.apply(this,args);var first=null,self=this;$.each(result,function(i,n){var li=self.create_item(n,data).bind("mouseover.suggest",function(e){self.mouseover_item(e);}).data("data.suggest",n);self.list.append(li);if(i===0){first=li;}});this.input.data("original.suggest",this.input.val());if(!result.length){var $nomatch=$('<li class="nomatch">'+this.options.nomatch+'</li>').bind("click.suggest",function(e){e.stopPropagation();});self.list.append($nomatch);}
args.push(first);this.show_hook.apply(this,args);this.position();this.pane.show();},create_item:function(data,response_data){var css=this.options.css;li=$('<li class="'+css.item+'"></li>');li.append('<div class="'+css.item_name+'"><label>'+data.name+'</label></div>');return li;},mouseover_item:function(e){if(this._ignore_mouseover){return;}
var target=e.target;if(target.nodeName.toLowerCase()!=="li"){target=$(target).parents("li:first");}
var li=$(target),css=this.options.css,l=this.list;$("."+css.item,l).each(function(){if(this!==li[0]){$(this).removeClass(css.selected);}});if(!li.hasClass(css.selected)){li.addClass(css.selected);this.mouseover_item_hook(li);}},mouseover_item_hook:function($li){},hoverover_list:function(e){},hoverout_list:function(e){},check_response:function(response_data){return true;},response_hook:function(response_data){this.pane.hide();this.list.empty();},show_hook:function(response_data){this.list.prevAll().remove();this.list.nextAll().remove();},position:function(){var p=this.pane;if(!self._position){var inp=this.input,pos=inp.offset(),input_width=inp.outerWidth(true),input_height=inp.outerHeight(true);pos.top+=input_height;pane_width=p.outerWidth(),pane_height=p.outerHeight(),pane_right=pos.left+pane_width,pane_bottom=pos.top+pane_height,pane_half=pos.top+pane_height/2,scroll_left=$(window).scrollLeft(),scroll_top=$(window).scrollTop(),window_width=$(window).width(),window_height=$(window).height(),window_right=window_width+scroll_left,window_bottom=window_height+scroll_top;var left=true;if('left'==this.options.align){left=true;}
else if('right'==this.options.align){left=false;}
else if(pos.left>(scroll_left+window_width/2)){left=false;}
if(!left){left=pos.left-(pane_width-input_width);if(left>scroll_left){pos.left=left;}}
if(pane_half>window_bottom){var top=pos.top-input_height-pane_height;if(top>scroll_top){pos.top=top;}}
this._position=pos;}
p.css({top:this._position.top,left:this._position.left});},ignore_mouseover:function(e){this._ignore_mouseover=true;var self=this;this.ignore_mouseover.timeout=window.setTimeout(function(){self.ignore_mouseover_reset();},1000);},ignore_mouseover_reset:function(){this._ignore_mouseover=false;},get_selected:function(){var selected=null,select_class=this.options.css.selected;$("li",this.list).each(function(){var $this=$(this);if($this.hasClass(select_class)&&$this.is(":visible")){selected=$this;return false;}});return selected;},onselect:function($selected,focus){var data=$selected.data("data.suggest");if(data){this.input.val(data.name).data("data.suggest",data).trigger("fb-select",data);this._trackEvent(this.name,"fb-select","index",$selected.prevAll().length);}
else{}
if(focus){}},_trackEvent:function(category,action,opt_label,opt_value){if(this.options._trackEvent){this.options._trackEvent(category,action,opt_label,opt_value)}
console.log("trackEvent",category,action,opt_label,opt_value);},check_required:function(e){var required=this.options.required;if(required===true){if(!$.trim(this.input.val())){this.input.trigger("fb-required",{domEvent:e});return false;}}
else if(required==="always"){this.input.trigger("fb-required",{domEvent:e});return false;}
return true;},hide_all:function(e){this.pane.hide();}};$.extend($.suggest,{defaults:{helptext:'<em class="fbs-help-text">Start typing to get some suggestions</em>',required:false,soft:false,nomatch:"no matches",css:{pane:"fbs-pane",list:"fbs-list",item:"fbs-item",item_name:"fbs-item-name",selected:"fbs-selected"},css_prefix:null,_trackEvent:null},$$:function(cls,ctx){return $("."+cls,ctx);},use_jsonp:function(service_url){if(!service_url){return false;}
var pathname_len=window.location.pathname.length;var hostname=window.location.href;hostname=hostname.substr(0,hostname.length-pathname_len);if(hostname===service_url){return false;}
return true;},strongify:function(str,substr){var strong=str;var index=str.toLowerCase().indexOf(substr.toLowerCase());if(index>=0){var substr_len=substr.length;strong=str.substring(0,index)+'<strong>'+str.substring(index,index+substr_len)+'</strong>'+
str.substring(index+substr_len);}
return strong;},keyCode:{CAPS_LOCK:20,CONTROL:17,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ENTER:108,PAGE_DOWN:34,PAGE_UP:33,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,OPTION:18,APPLE:224},is_char:function(e){if(e.type==="keypress"){if((e.metaKey||e.ctrlKey)&&e.charCode===118){return true;}
else if("isChar"in e){return e.isChar;}}
else{var not_char=$.suggest.keyCode.not_char;if(!not_char){not_char={};$.each($.suggest.keyCode,function(k,v){not_char[''+v]=1;});$.suggest.keyCode.not_char=not_char;}
return!((''+e.keyCode)in not_char);}}});var base={request:$.suggest.prototype.request};$.suggest("suggest",{_init:function(){var self=this,o=this.options;if(!o.flyout_service_url){o.flyout_service_url=o.service_url;}
this.jsonp=$.suggest.use_jsonp(o.service_url);if(o.flyout){this.flyoutpane=$('<div style="display:none;position:absolute" class="fbs-reset '+o.css_prefix+o.css.flyoutpane+'"></div>');$(document.body).append(this.flyoutpane);var hoverover=function(e){self.hoverover_list(e);};var hoverout=function(e){self.hoverout_list(e);};this.flyoutpane.hover(hoverover,hoverout).bind("mousedown.suggest",function(e){e.stopPropagation();self.pane.click();});}},shift_enter:function(e){if(this.options.suggest_new){this.suggest_new();this.hide_all();}
else{this.check_required(e);}},hide_all:function(e){this.pane.hide();if(this.flyoutpane){this.flyoutpane.hide();}},request:function(val,start){var self=this,o=this.options;base.request.call(self);if(this.ac_xhr){this.ac_xhr.abort();}
var data={prefix:val};if(start){data.start=start;}
$.extend(data,o.ac_param);$.ajax({"type":"GET","url":o.service_url+o.service_path,"data":data,"beforeSend":function(xhr){self.ac_xhr=xhr;},"success":function(data,status){self.response(data,start?start:-1);},"error":function(xhr,s,ex){self._trackEvent(self.name,"request","error",{url:this.url,response:xhr.responseText});},"dataType":this.jsonp?"jsonp":"json"});},create_item:function(data,response_data){var css=this.options.css,classs=[css.item];if("class"in data){classs.push(data["class"]);}
var li=$('<li class="'+classs.join(" ")+'"></li>');var name=$('<div class="'+css.item_name+'"><label>'+$.suggest.strongify(data.name,response_data.prefix)+'</label></div>');li.append(name);if(data.type&&data.type.length){var notable_type=data['notable:type']||data.type[0]['id']||'/common/topic';var types=[];$.each(data.type,function(i,t){if(notable_type==t['id']){types.push(t['name']);return false;}});name.prepend('<div class="'+css.item_type+'">'+types.join(", ")+'</div>');}
return li;},mouseover_item_hook:function(li){var data=li.data("data.suggest");if(this.options.flyout){if(data){this.flyout_request(data);}
else{}}},check_response:function(response_data){return response_data.prefix===$.trim(this.input.val());},response_hook:function(response_data,start){if(this.flyoutpane){this.flyoutpane.hide();}
if(start>0){$(".fbs-more",this.pane).remove();}
else{this.pane.hide();this.list.empty();}},show_hook:function(response_data,start,first){var o=this.options,self=this,p=this.pane,l=this.list,result=response_data.result;var header=$(".fbs-header",p),more=$(".fbs-more",p),suggestnew=$(".fbs-suggestnew",p);if(result&&result.length&&o.header){if(!header.length){header=$('<div class="fbs-header"></div>').click(function(e){e.stopPropagation();return false;});p.prepend(header);}
header.html(o.header);}
else{header.remove();}
if(result&&result.length&&"start"in response_data){if(!more.length){more=$('<div class="fbs-more"><a class="fbs-more-link" href="#" title="(Ctrl+m)">view more <span class="unicode">&#9660;</span></a></div>');$(".fbs-more-link",more).bind("click.suggest",function(e){e.preventDefault();e.stopPropagation();var m=$(this).parent(".fbs-more");self.more(m.data("start.suggest"));});l.after(more);}
more.data("start.suggest",response_data.start);}
else{more.remove();}
if(o.suggest_new){if(!suggestnew.length){suggestnew=$('<div class="fbs-suggestnew"></div>').append(o.suggest_new).bind("click.suggest",function(e){e.stopPropagation();self.suggest_new(e);});p.append(suggestnew);}}
else{suggestnew.remove();}
if(first&&first.length&&start>0){var top=first.prevAll().length*first.outerHeight();var scrollTop=l.scrollTop();l.animate({scrollTop:top},"slow",function(){first.trigger("mouseover.suggest");});}},suggest_new:function(e){var val=$.trim(this.input.val());if(!val){return;}
this.input.data("data.suggest",val).trigger("fb-select-new",val);this._trackEvent(this.name,"fb-select-new","index","new");this.hide_all();},more:function(start){if(start){var orig=this.input.data("original.suggest");if(orig!==null){this.input.val(orig);}
this.request($.trim(this.input.val()),start);this._trackEvent(this.name,"more","start",start);}
return false;},flyout_request:function(data){if(this.flyout_xhr){this.flyout_xhr.abort();}
var o=this.options,sug_data=this.flyoutpane.data("data.suggest");if(sug_data&&data.id===sug_data.id){if(!this.flyoutpane.is(":visible")){var s=this.get_selected();this.flyout_position(s);this.flyoutpane.show();}
return;}
var submit_data={id:data.id};if(o.as_of_time){submit_data.as_of_time=o.as_of_time;}
var self=this;$.ajax({"type":"GET","url":o.flyout_service_url+o.flyout_service_path,"data":submit_data,"beforeSend":function(xhr){self.flyout_xhr=xhr;},"success":function(data,status){self.flyout_response(self.jsonp?data:{id:submit_data.id,html:data});},"error":function(xhr,s,ex){self._trackEvent(self.name,"flyout","error",{url:this.url,response:xhr.responseText});},"dataType":this.jsonp?"jsonp":"html"});},flyout_response:function(data){var o=this.options,p=this.pane,s=this.get_selected()||[];if(p.is(":visible")&&s.length){var sug_data=s.data("data.suggest");if(sug_data&&data.id===sug_data.id){this.flyoutpane.html(data.html);this.flyout_position(s);this.flyoutpane.show().data("data.suggest",sug_data);}}},flyout_position:function($item){var p=this.pane,fp=this.flyoutpane,css=this.options.css,pos=undefined,old_pos={top:parseInt(fp.css("top"),10),left:parseInt(fp.css("left"),10)},pane_pos=p.offset(),pane_width=p.outerWidth(),flyout_height=fp.outerHeight(),flyout_width=fp.outerWidth();if(this.options.flyout==="bottom"){pos=pane_pos;var input_pos=this.input.offset();if(pane_pos.top<input_pos.top){pos.top-=flyout_height;}
else{pos.top+=p.outerHeight();}
fp.addClass(css.flyoutpane+"-bottom");}
else{pos=$item.offset();var item_height=$item.outerHeight();pos.left+=pane_width;var flyout_right=pos.left+flyout_width,scroll_left=$(document.body).scrollLeft(),window_right=$(window).width()+scroll_left;pos.top=pos.top+item_height-flyout_height;if(pos.top<pane_pos.top){pos.top=pane_pos.top;}
if(flyout_right>window_right){var left=pos.left-(pane_width+flyout_width);if(left>scroll_left){pos.left=left;}}
fp.removeClass(css.flyoutpane+"-bottom");}
if(!(pos.top===old_pos.top&&pos.left===old_pos.left)){fp.css({top:pos.top,left:pos.left});}},hoverover_list:function(e){},hoverout_list:function(e){if(this.flyoutpane&&!this.get_selected()){this.flyoutpane.hide();}}});$.extend($.suggest.suggest,{defaults:{type:null,type_strict:"any",mql_filter:null,as_of_time:null,service_url:"http://www.freebase.com",service_path:"/private/suggest",align:null,flyout:true,flyout_service_url:null,flyout_service_path:"/private/flyout",suggest_new:null,header:"Select an item from the list:",nomatch:'<em class="fbs-nomatch-text">No suggested matches.</em><h3>Tips on getting better suggestions:</h3><ul class="fbs-search-tips"><li>Enter more or fewer characters</li><li>Add words related to your original search</li><li>Try alternate spellings</li><li>Check your spelling</li></ul>',css:{item_type:"fbs-item-type",flyoutpane:"fbs-flyout-pane"}}});function init_JSON(){if(!this.JSON){JSON={}}(function(){function f(n){return n<10?"0"+n:n}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(key){return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z"};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf()}}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==="[object Array]"){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}if(typeof JSON.stringify!=="function"){JSON.stringify=function(value,replacer,space){var i;gap="";indent="";if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})}}if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());}})(jQuery);
jQuery.suggest.version='Version:r78838 Built:Wed Aug 05 2009 by daepark';
