DEFAULT_SEARCH_QUERYSTR="";DEFAULT_SEARCH_START=0;DEFAULT_SEARCH_NUMRESULTS=10;SEARCH_NUM_RESULTS_PER_PAGE=8;SEARCH_WEB_MAX_START=56;HTTP_OK=200;function handle_web_ajax_search_results(c,b,e,a,d){getgvar("web_result_builder").handle_results(c,b,e,a,d)}function handle_video_ajax_search_results(a){getgvar("video_result_builder").handle_results(a)}function ajax_cursor_manager(){this.DEFAULT_DIRSEARCH_FILETYPE="m";this.DEFAULT_FILETYPES_STR="mp3|ogg|wav|wma|";this.rooturl="";this.link_target="_self";this.pagination_rooturl="";this.results_type="";this.cursors=new Array();this.numcursors=0;this.parentid="";this.parent_ele=null;this.handle_new_result=function(c,a,b){};this.after_results=function(e,i,a,c,h,g,d,b){if(this.parent_ele==null){this.parent_ele=document.getElementById(this.parentid)}if(this.pagination_rooturl==""){var f="";if(c!=""&&c!=this.DEFAULT_DIRSEARCH_FILETYPE){f+="&t="+c}if(h!=""&&h!=this.DEFAULT_FILETYPES_STR){f+="&ft="+h}if(this.results_type!=""&&this.results_type!="vid"){f+="&r="+this.results_type}if(f.length>0){f="?"+f.substr(1)}this.pagination_rooturl=this.rooturl+"/"+escape(e)+f}this.cursors[this.cursors.length]=b;if(this.cursors.length==this.numcursors){this.handle_pagination(i,a)}};this.handle_pagination=function(k,a){var g=Math.floor(k/a);var b=-1;for(var d in this.cursors){if(this.cursors[d]["pages"]!=undefined){for(var c in this.cursors[d]["pages"]){if(parseInt(this.cursors[d]["pages"][c]["start"])>b){b=parseInt(this.cursors[d]["pages"][c]["start"])}}}}var e=0;if(b!=-1){var e=Math.floor((b+SEARCH_NUM_RESULTS_PER_PAGE)/a)}this.remove_children(this.parent_ele);var f=null;var h="page-cursor";if(g>0){this.parent_ele.appendChild(this.create_page_link("&laquo;&nbsp;Previous",(g-1)*a,h))}for(var d=0;d<=e;d++){if(d==g){h+=" page-cursor-current"}else{h=" page-cursor"}this.parent_ele.appendChild(this.create_page_link(d+1,(d*a),h))}if(g<e){this.parent_ele.appendChild(this.create_page_link("Next&nbsp;&raquo",(g+1)*a,h))}};this.create_page_link=function(d,a,e){if(e==undefined||e==null){e=""}var b=url_setparam(this.pagination_rooturl,"start",a);var c=document.createElement("a");c.href=b;c.innerHTML=d;c.className=e;c.target=this.link_target;return c};this.remove_children=function(a){while(a.firstChild){a.removeChild(a.firstChild)}}}function ajax_cursor_manager_factory(){this.get_cursor_manager=function(e,b,d,c){var a=new ajax_cursor_manager();a.numcursors=e;a.results_type=b;a.parentid=d;a.rooturl=c;return a}}function ajax_result_display(){this.result_type="";this.results_parentid="";this.results_parent_ele=null;this.header_parentid="";this.domresults=new Array();this.set_results_parentid=function(a){this.results_parentid=a};this.set_header_parentid=function(a){this.header_parentid=a};this.clear_results=function(){};this.init_dom_pointers=function(){if(this.results_parent_ele==null){this.results_parent_ele=document.getElementById(this.results_parentid)}if(this.header_parent_ele==null){this.header_parent_ele=document.getElementById(this.header_parentid)}};this.handle_new_result=function(d,a,b){this.init_dom_pointers();var c=this.create_result_div(d,a,b.querystr);if(c!=null){this.results_parent_ele.appendChild(c)}this.domresults[this.domresults.length]=c};this.remove_children=function(a){while(a.firstChild){a.removeChild(a.firstChild)}};this.create_base_header=function(b,g,c,e,a){var f=document.createElement("b");var h=parseInt(c)+parseInt(e);if(h==0){h=1}f.appendChild(document.createTextNode((parseInt(c)+1)+" - "+(h)));var d=document.createElement("div");if(b!=""){d.appendChild(document.createTextNode(b+" Results "))}else{d.appendChild(document.createTextNode("Results "))}d.appendChild(f);d.appendChild(document.createTextNode(" for "));f=document.createElement("b");f.appendChild(document.createTextNode(g));d.appendChild(f);d.appendChild(document.createTextNode(" ("+a+" seconds)"));return d};this.create_no_results_div=function(d,a){if(a==undefined||a==null){a=""}var b=document.createElement("b");b.appendChild(document.createTextNode(d));var c=document.createElement("div");c.className="no-results";c.appendChild(document.createTextNode("Your "+((a!="")?a+" ":"")+"search for"));c.appendChild(document.createElement("br"));c.appendChild(document.createElement("br"));c.appendChild(b);c.appendChild(document.createElement("br"));c.appendChild(document.createElement("br"));c.appendChild(document.createTextNode(" did not match any results."));return c};this.finalize_results_display=function(a,b){this.init_dom_pointers();this.remove_children(this.header_parent_ele);this.header_parent_ele.appendChild(a);if(b!=undefined&&b!=null){this.remove_children(this.results_parent_ele);this.results_parent_ele.appendChild(b)}}}function ajax_result_display_factory(){this.get_web_result_display=function(c,b){var a=new ajax_result_display();a.result_type="web";a.set_header_parentid(c);a.set_results_parentid(b);a.create_result_div=function(g,i,m){if(i==undefined){i=true}var e=document.createElement("div");var k="webdir-webResult webdir-result";if(i==false){k+=" webdir-invalid-hidden"}e.className=k;var l=document.createElement("div");l.className="webdir-title";var h=document.createElement("a");h.className="webdir-title";h.href=g.unescapedUrl;h.target="_self";h.appendChild(document.createTextNode(g.titleNoFormatting));l.appendChild(h);e.appendChild(l);var j=g.content.substring(0,203);if(j.length<g.content.length){j+="\u003cb\u003e...\u003c/b\u003e"}var d=this.boldify_div(j,"webdir-snippet");e.appendChild(d);var f=document.createElement("div");f.className="webdir-visibleUrl webdir-visibleUrl-short";f.appendChild(document.createTextNode(g.visibleUrl));e.appendChild(f);var n=document.createElement("div");n.className="webdir-visibleUrl webdir-visibleUrl-long";n.appendChild(document.createTextNode(g.unescapedUrl));e.appendChild(n);return e};a.boldify_div=function(e,g){var i=document.createElement("div");i.className=g;while(e.length>0){var h=e.indexOf("\u003cb\u003e");if(h>=0){i.appendChild(document.createTextNode(e.substring(0,h)));e=e.substring(h);var d=e.indexOf("\u003c/b\u003e");var f=document.createElement("b");f.appendChild(document.createTextNode(e.substring(3,d)));i.appendChild(f);e=e.substring(d+4)}else{i.appendChild(document.createTextNode(e));break}}return i};a.after_results=function(j,n,e,h,m,l,i,g){var d=Math.floor(i/1000)+"."+((i/10)|0);var f=this.create_base_header(this.result_type.substring(0,1).toUpperCase()+this.result_type.substring(1),j,n,l,d);var k=null;if(l==0){k=this.create_no_results_div(j,this.result_type)}this.finalize_results_display(f,k)};a.hide_invalid_results=function(e,g){document.getElementById(e).style.display="none";document.getElementById(g).style.display="block";var d=this.getElementsByClassName(this.results_parent_ele,"div","webdir-webResult webdir-result webdir-invalid-shown");for(var f in d){d[f].className="webdir-webResult webdir-result webdir-invalid-hidden"}};a.show_invalid_results=function(e,g){document.getElementById(e).style.display="none";document.getElementById(g).style.display="block";var d=this.getElementsByClassName(this.results_parent_ele,"div","webdir-webResult webdir-result webdir-invalid-hidden");for(var f in d){d[f].className="webdir-webResult webdir-result webdir-invalid-shown"}};a.getElementsByClassName=function(e,j,d){var h=(j=="*"&&e.all)?e.all:e.getElementsByTagName(j);var l=new Array();d=d.replace(/\-/g,"\\-");var k=new RegExp("(^|\\s)"+d+"(\\s|$)");var g;for(var f=0;f<h.length;f++){g=h[f];if(k.test(g.className)){l.push(g)}}return(l)};return a};this.get_video_result_display=function(c,b){var a=new ajax_result_display();a.result_type="video";a.set_header_parentid(c);a.set_results_parentid(b);a.create_result_div=function(m,n,r){if(n==undefined){n=true}if(n==false){return null}var f=new video_data_formatter();var p=m.id["$t"].split("/").pop();var h=m.author[0]["name"]["$t"];var E=m.title["$t"];var s=m.content["$t"];var d=parseInt(m["media$group"]["yt$duration"]["seconds"]);var A=m.published["$t"];var k=0;if(m["yt$statistics"]&&m["yt$statistics"]["viewCount"]){k=m["yt$statistics"]["viewCount"]}var o=0;if(m["gd$rating"]&&m["gd$rating"]["average"]){o=m["gd$rating"]["average"]}var g=false;if(m["app$control"]&&m["app$control"]["yt$state"]&&m["app$control"]["yt$state"]["name"]){g=(m["app$control"]["yt$state"]["name"].toLowerCase()=="restricted")?true:false}var e=this.construct_studio_url(p,r);var l=this.construct_thumbnail_url(p);var i=this.construct_truncated_str(s,200);var B=document.createElement("div");B.className="video-result";var j=document.createElement("img");j.className="video-result-thumbnail";j.border=0;j.src=l;j.width=120;j.height=90;var C=document.createElement("a");C.href=e;C.appendChild(j);B.appendChild(C);var z=document.createElement("div");z.className="video-result-body";var y=document.createElement("div");y.className="video-result-title";var D=document.createElement("a");D.href=e;D.appendChild(document.createTextNode(this.construct_truncated_str(E,170)));y.appendChild(D);z.appendChild(y);var x=document.createElement("div");x.className="video-result-text";x.appendChild(document.createTextNode(i));z.appendChild(x);var v=document.createElement("div");v.className="video-result-metadata";var w=document.createElement("span");w.className="video-result-metadata-length";w.appendChild(document.createTextNode(f.seconds_to_length_str(d)));v.appendChild(w);var u=document.createElement("span");u.className="video-result-metadata-rating";var q=(o+"").substring(0,3);if(q=="-1"){u.appendChild(document.createTextNode("not rated"))}else{u.appendChild(document.createTextNode(q+" of 5 stars"))}v.appendChild(u);var t=document.createElement("span");t.className="video-result-metadata-published";t.appendChild(document.createTextNode(f.timestr_to_relative_timestr(A)+" ago"));v.appendChild(t);z.appendChild(v);B.appendChild(z);return B};a.construct_studio_url=function(e,d){return"/studio/"+e+"?q="+escape(d)};a.construct_thumbnail_url=function(d){return"http://i.ytimg.com/vi/"+d+"/default.jpg"};a.construct_truncated_str=function(e,d){if(e.length>d){e=e.substring(0,d-3)+"..."}return e};a.after_results=function(j,n,e,h,m,l,i,g){var d=Math.floor(i/1000)+"."+((i/10)|0);var f=this.create_base_header(this.result_type.substring(0,1).toUpperCase()+this.result_type.substring(1),j,n,l,d);var k=null;if(l==0){k=this.create_no_results_div(j,this.result_type)}this.finalize_results_display(f,k)};return a}}function ajax_result_builder(){this.querystr="";this.user_start=-1;this.numresults=-1;this.search_type="";this.filetypes_str="";this.start=-1;this.estimatedresults=-1;this.results=new Array();this.cursor=new Object();this.filteredresults=new Array();this.searchobj=null;this.listeners=new Array();this.timer=null;this.add_listener=function(a){this.listeners[this.listeners.length]=a};this.collect_results=function(c,d,a,b){this.timer=new Date();if(a<0){a=DEFAULT_SEARCH_START}if(b<0){b=DEFAULT_SEARCH_NUMRESULTS}this.querystr=d;d=this.prepare_query(d);json_perform_request(c.construct_url(d,a))};this.clear_results=function(){};this.inform_listeners_after_results=function(){this.timer=new Date()-this.timer;for(var a in this.listeners){this.listeners[a].after_results(this.querystr,this.user_start,this.numresults,this.search_type,this.filetypes_str,this.filteredresults.length,this.timer,this.cursor)}}}function result_builder_factory(){this.get_web_result_builder=function(){var a=new ajax_result_builder();a.type="web";a.unique_result_set=new set_2str();a.filter_result=function(b){if(is_valid_html_dir_title(b.titleNoFormatting)&&this.unique_result_set.insert(b.titleNoFormatting,highest_order_url_dir(b.unescapedUrl))){return true}return false};a.prepare_query=function(b){return'-intitle intitle:"index of " + '+this.querystr+" + ("+this.filetypes_str.substring(0,this.filetypes_str.length-1).replace("|"," OR ")+")"};a.get_results=function(i,c,h,f,e,b){if(this.start==-1){this.start=c}this.numresults=h;this.search_type=f;this.filetypes_str=e;if(this.user_start<0){this.user_start=c}var d=new ajax_search_object_factory();var g=d.get_web_search_object();this.collect_results(g,i,c,h);if(b!=null&&b!=undefined){b.style.display="block"}};a.handle_results=function(h,b,m,g,l){if(m!=HTTP_OK){this.inform_listeners_after_results();return}var d=b.results;this.cursor=b.cursor;this.estimatedresults=this.cursor.estimatedResultCount;if(d==null||d.length==0){this.inform_listeners_after_results();return}for(var e=h;e<d.length&&this.filteredresults.length<this.numresults;e++){var f=this.filter_result(d[e]);if(f){this.filteredresults[this.filteredresults.length]=d[e]}this.results[this.results.length]=d[e];for(var c in this.listeners){this.listeners[c].handle_new_result(d[e],f,this)}}var k=parseInt(this.start)+parseInt(this.results.length);if(this.filteredresults.length<this.numresults&&k<this.estimatedresults&&k<(SEARCH_WEB_MAX_START+SEARCH_NUM_RESULTS_PER_PAGE)){this.get_results(this.querystr,k,this.numresults,this.search_type,this.filetypes_str)}else{this.inform_listeners_after_results()}};return a};this.get_youtube_result_builder=function(){var a=new ajax_result_builder();a.filter_result=function(b){return true};a.prepare_query=function(b){return b};a.get_results=function(i,c,h,f,e,b){if(this.start==-1){this.start=c}this.numresults=h;this.search_type=f;this.filetypes_str=e;if(this.user_start<0){this.user_start=c}var d=new ajax_search_object_factory();var g=d.get_youtube_search_object();this.collect_results(g,i,c,h);if(b!=null&&b!=undefined){b.style.display="block"}};a.build_cursor=function(c){var f=new Object();f.estimatedResultCount=c.feed["openSearch$totalResults"]["$t"];var e=f.estimatedResultCount/DEFAULT_SEARCH_NUMRESULTS;if(e>7){e=7}f.pages=new Array();for(var b=0;b<e;b++){var d=new Object();d.label=b;d.start=(b*DEFAULT_SEARCH_NUMRESULTS)+"";f.pages.push(d)}return f};a.handle_results=function(f){if(f==null||f==""){this.inform_listeners_after_results();return}var e=f.feed["entry"];this.cursor=this.build_cursor(f);this.estimatedresults=this.cursor.estimatedResultCount;if(e==null||e.length==0){this.inform_listeners_after_results();return}for(var d=0;d<e.length&&this.filteredresults.length<this.numresults;d++){var b=this.filter_result(e[d]);if(b){this.filteredresults[this.filteredresults.length]=e[d]}this.results[this.results.length]=e[d];for(var c in this.listeners){this.listeners[c].handle_new_result(e[d],b,this)}}var g=parseInt(this.start)+parseInt(this.results.length);if(this.filteredresults.length<this.numresults&&g<this.estimatedresults&&g<(SEARCH_WEB_MAX_START+SEARCH_NUM_RESULTS_PER_PAGE)){this.get_results(this.querystr,g,this.numresults,this.search_type,this.filetypes_str)}else{this.inform_listeners_after_results()}};return a}}function ajax_search_object(){this.get_search_start=function(a){return(Math.floor(a/SEARCH_NUM_RESULTS_PER_PAGE))*SEARCH_NUM_RESULTS_PER_PAGE}}function ajax_search_object_factory(){this.get_web_search_object=function(){var a=new ajax_search_object();a.baseurl="http://www.google.com/uds/GwebSearch?";a.key="ABQIAAAAQ5XZ_cxcHgDguKaVSDLBfhRgBOSJ0hqj7-juAgU7TuPANuqN1BT7jAZpHARB0b5LSiN60InWpurZGw";a.output_format="json";a.callback="handle_web_ajax_search_results";a.default_numresults=8;a.max_numresults=8;a.max_start=32;a.default_start=0;a.default_context="0";a.link_target="_self";a.custom_engine="000697466513142665673:5gng6r91xxm";a.construct_url=function(d,b){var c=this.get_search_start(b);return this.baseurl+"callback="+this.callback+"&context="+parseInt(b-c)+"&lstkp=0&rsz=large&hl=en&gss=.com&sig=5713ab50c580233c8f2c7a065e0248ed&v=1.0&cx="+this.custom_engine+"&key="+this.key+"&start="+c+"&q="+d};return a};this.get_youtube_search_object=function(){var a=new ajax_search_object();a.baseurl="http://gdata.youtube.com/feeds/api/videos?";a.key="AI39si4LvwqOTGjh_suAJKmSWZBQ-YOytfAZS5F1isxnf-ouaqq5N5njOdez-xubocvjezv-tfP9ibuht9xUYuZV_BbE_9tlGg";a.output_format="json-in-script";a.callback="handle_video_ajax_search_results";a.default_numresults=8;a.numresults=10;a.max_start=32;a.default_start=0;a.default_context="0";a.link_target="_self";a.construct_url=function(d,b){var c=parseInt(b)+1;return this.baseurl+"callback="+this.callback+"&alt=json-in-script&v=1&key="+this.key+"&start-index="+c+"&max-results="+this.numresults+"&q="+d};return a}}function set_2str(){var a=new Object();this.insert=function(b,c){if(a.hasOwnProperty(b)==true){if(a[b].hasOwnProperty(c)==true){return false}else{a[b][c]=true;return true}}else{a[b]=new Object();a[b][c]=true;return true}};this.erase=function(){a=new Object()}};