function GRIDDER(H,G,K,E,L,F,D,A,J,I,B,C){this._num_header_cols=H;this._num_keep_cols=G;this._sort_col_id=K;this._col_haveshow_array=E;this._col_haveshow_customized=L;this._col_kind_count_array=F;this._col_fetch_url=D;this._fetch_id=A;this._row_id_array=J;this._table_id=I;this._colpicker_id=B;this._colpicker_anchor_id=B+"_anchor";this._colpicker_checkbox_id_prefix=C;this._colpicker_all_checked=false}GRIDDER.prototype={on_load:function(){this.update_arrow_head()},show_colpicker:function(){var A=get_el(this._colpicker_id);var C=get_el(this._colpicker_anchor_id);get_el(this._colpicker_checkbox_id_prefix+"all").checked=this._colpicker_all_checked;for(var B in this._col_haveshow_array){get_el(this._colpicker_checkbox_id_prefix+B).checked=(this._col_haveshow_array[B]>=2)}var D=YAHOO.util.Dom.getXY(C);A.style.display="";YAHOO.util.Dom.setXY(A,[Math.max(0,D[0]+C.offsetWidth-A.offsetWidth-8),D[1]+C.offsetHeight+4])},hide_colpicker:function(B,A){var C=really_mouse_out(B,A,get_el(this._colpicker_id),get_el(this._colpicker_anchor_id));if(C&&C.className!="fade"){hide_el(this._colpicker_id)}},show_cols:function(A,G,C){var I=get_el(this._table_id).getElementsByTagName("table")[0];for(var E=0;E<A.length;++E){var B=A[E];var D=this._get_col_idx(B);var F=this._get_col_kind(D);show_table_col(I,this._num_header_cols+D,G,this._col_kind_count_array?1:0);var H=this._col_kind_count_array?get_el(this._colpicker_checkbox_id_prefix+"kind_"+F):null;if(G){if(H&&!(this._col_haveshow_array[B]&2)){if(H.style.display=="none"){H.style.display=""}else{++H.colSpan;H.style.display="none";H.style.display=""}}this._col_haveshow_array[B]|=2}else{if(H&&(this._col_haveshow_array[B]&2)){if(H.colSpan==1){H.style.display="none"}else{--H.colSpan}}this._col_haveshow_array[B]&=~2}}this.update_arrow_head();this._col_haveshow_customized=true;if(G&&(C||(this._col_haveshow_array[B]&1)==0)){var J=this;AJAX_fetch(this._col_fetch_url,{fetch_id:this._fetch_id,col_id_array:A,row_id_array:this._row_id_array},function(K){if(K!=""){var O=document.createElement("div");O.innerHTML=K;for(var L=0;L<A.length;++L){var N=A[L];var M=J._get_col_idx(N);var P=O.getElementsByTagName("tr")[L];replace_table_col(I,J._num_header_cols+M,P,J._col_kind_count_array?2:1);J._col_haveshow_array[N]|=1;J.update_arrow_head()}}})}},show_all_cols:function(A){this._colpicker_all_checked=A;var E;var C=0;var B=[];for(var D in this._col_haveshow_array){if(++C>this._num_keep_cols){B.push(D);E=get_el(this._colpicker_checkbox_id_prefix+D);if(E){E.checked=A}}}this.show_cols(B,A)},toggle_row:function(D){var A=D.nextSibling;if(A.nodeType!=1){A=A.nextSibling}var C=YAHOO.util.Dom.getStyle(A,"display")!="none";A.style.display=C?"none":"";var B=D.cells[0];YAHOO.util.Dom.removeClass(B,C?"expanded":"collapsed");YAHOO.util.Dom.addClass(B,C?"collapsed":"expanded")},toggle_all_rows:function(){var D=get_el(this._table_id).getElementsByTagName("table")[0];var C=false;for(var B=0;B<D.rows.length;++B){var E=D.rows[B];if(YAHOO.util.Dom.getStyle(E,"display")=="none"){var A=E.previousSibling;if(A.nodeType!=1){A=A.previousSibling}this.toggle_row(A);C=true}}if(!C){for(var B=0;B<D.rows.length;++B){if((B&1)==1){this.toggle_row(D.rows[B])}}}},update_arrow_head:function(){},set_sort_col_id:function(A){this._sort_col_id=A},get_http_query_string:function(A,F){var D="";var C="";if(this._sort_col_id&&A){D+=C+A+"="+this._sort_col_id;C="&"}if(this._col_haveshow_customized&&F){var B=C+F+"=";for(var E in this._col_haveshow_array){if(this._col_haveshow_array[E]>=2){D+=B+E;B="_";C="&"}}}return D},_get_col_idx:function(C){var B=0;for(var A in this._col_haveshow_array){if(A==C){return B}++B}return 0},_get_col_kind:function(B){if(this._col_kind_count_array){var A=0;for(var C in this._col_kind_count_array){A+=this._col_kind_count_array[C];if(A>B){return parseInt(C)}}}return 0}};var RANKER={init:function(E,F,B,D,A,C){this._gridder=new GRIDDER(1,1,F,B,D,A,__URL__browse_snippet_ranking_column,E,C,"ranktable","critpicker","c_")},on_load:function(){this._gridder.on_load()},show_critpicker:function(){this._gridder.show_colpicker()},hide_critpicker:function(B,A){this._gridder.hide_colpicker(B,A)},show_cols:function(B,A){this._gridder.show_cols(B,A)},show_all_cols:function(A){this._gridder.show_all_cols(A)},show_filterbox:function(B,C){var K=get_el("filterbox");var E=get_el("filterwidget");var D=get_el("filterwidget_"+B);var G=get_el("filterwidget_garage");var J=E.firstChild;if(J){E.removeChild(J);G.appendChild(J)}var I=D.getElementsByTagName("input")[0];I.value=B;G.removeChild(D);E.appendChild(D);var H=YAHOO.util.Dom.getXY(C);var F=get_el("filterbeak");F.style.width=C.offsetWidth+"px";F.style.display="";YAHOO.util.Dom.setXY(F,[H[0],H[1]-F.offsetHeight+6]);K.style.display="";var A=H[0]+(C.offsetWidth-K.offsetWidth)/2;var L=H[1]-F.offsetHeight-K.offsetHeight+8;A=Math.min(Math.max(A,0),YAHOO.util.Dom.getDocumentWidth()-K.offsetWidth);YAHOO.util.Dom.setXY(K,[A,L]);this._filterbox_anchor_el=C},hide_filterbox:function(D,C){var A=get_el("filterbox");var E=get_el("filterbeak");var B=really_mouse_out(D,C,A,E,this._filterbox_anchor_el);if(!B){return }A.style.display="none";E.style.display="none"},apply_filter:function(A){this._reload(A);hide_el("filterbox")},remove_filter:function(C){var D=get_el("filterbar");if(D){var B=D.getElementsByTagName("form");for(var A=0;A<B.length;++A){var E=B[A];if(E.elements[0].value==C){E.parentNode.parentNode.removeChild(E.parentNode);break}}}this._reload()},reload_url:function(A){this._url=A;this._reload()},reload_sorted:function(A){this._gridder.set_sort_col_id(A);this._url=this._url.replace(/i[0-9]+/,"");this._reload()},reload_snapshot:function(){this._do_snapshot=true;this._reload()},_reload:function(F){var A=this._url;var B=A.indexOf("?");if(B>=0){A=A.substr(0,B)}var L="?";var K=this._gridder.get_http_query_string("s","a");if(K){A+=L+K;L="&"}var I=[];var G=get_el("filterbar");if(G){var D=G.getElementsByTagName("form");for(var H=0;H<D.length;++H){var E=this._build_filter_string(D[H]);if(E){I[parseInt(E)]=E}}}var J=get_el("filterbox");if(F&&YAHOO.util.Dom.getStyle(J,"display")!="none"){var E=this._build_filter_string(J.getElementsByTagName("form")[0]);if(E){I[parseInt(E)]=E}}if(I){var C=L+"f=";for(var H in I){A+=C+I[H];C="_";L="&"}}if(this._do_snapshot){A+=L+"snapshot=1";L="&"}browse_to_url(A)},_build_filter_string:function(C){var A=form_to_obj(C);var B=A.crit_id;if("less" in A){if(A.threshold==""){return null}if(A.less){B+="~~"+escape(A.threshold)}else{B+="~"+escape(A.threshold)+"~"}}else{if("skip_val" in A){if(A.skip_val!==""){B+="~"+A.skip_val}}else{for(var D in A){if(D.substr(0,5)=="enum_"){if(A[D]=="off"){B+="~"+D.substr(5)}}}}}if(A.unit_id){B+="~"+A.unit_id}return B},_url:location.href,_filterbox_anchor_el:null,_do_snapshot:false};function RANKER_on_rating_submitted(A,B){RANKER._gridder.show_cols([B.crit_id],true,true)}var PRODHEADER={init:function(E,A,C,D,B){this._gridder=new GRIDDER(0,1,0,C,D,B,__URL__browse_snippet_ranking_column,E,[A],"ranktable","prod_critpicker","pc_")},on_load:function(){this._gridder.on_load()},show_critpicker:function(){this._gridder.show_colpicker()},hide_critpicker:function(B,A){this._gridder.hide_colpicker(B,A)},show_cols:function(B,A){this._gridder.show_cols(B,A)},show_all_cols:function(A){this._gridder.show_all_cols(A)},get_http_query_string:function(){return this._gridder.get_http_query_string(null,"a")}};function PRODHEADER_on_rating_submitted(A,B){PRODHEADER._gridder.show_cols([B.crit_id],true,true)}var REVIEWER={init:function(F,B,G,D,E,C,A){this._gridder=new GRIDDER(0,4,G,D,E,C,__URL__browse_snippet_review_column,F,[B],"reviewtable","review_critpicker","rc_");this._crumb=A},on_load:function(){this._gridder.on_load()},show_critpicker:function(){this._gridder.show_colpicker()},hide_critpicker:function(B,A){this._gridder.hide_colpicker(B,A)},show_cols:function(B,A){this._gridder.show_cols(B,A)},show_all_cols:function(A){this._gridder.show_all_cols(A)},toggle_row:function(A){this._gridder.toggle_row(A)},toggle_all_rows:function(){this._gridder.toggle_all_rows()},vote:function(C,B,A){YAHOO.util.Dom.addClass(C,"spin");AJAX_fetch_json(__URL__edit_ajax_review_vote,{review_id:B,helpful:A,crumb:this._crumb},function(G){var D=get_el("vup_"+B);var E=get_el("vdn_"+B);YAHOO.util.Dom.removeClass(D,"spin");YAHOO.util.Dom.removeClass(E,"spin");if(G.msg=="*"){if(A){YAHOO.util.Dom.addClass(D,"selected");YAHOO.util.Dom.removeClass(E,"selected")}else{YAHOO.util.Dom.addClass(E,"selected");YAHOO.util.Dom.removeClass(D,"selected")}var F=get_el("hf_"+B);F.style.height=Math.round(G.helpfulness*100)+"%";F.parentNode.style.display=""}else{YAHOO.util.Dom.removeClass(D,"selected");YAHOO.util.Dom.removeClass(E,"selected");alert(response.msg)}})},reload_url:function(A){this._url=A;this._reload()},reload_sorted:function(A){this._gridder.set_sort_col_id(A);this._url=this._url.replace(/i[0-9]+/,"");this._reload()},_reload:function(){var B=this._url;var E=B.indexOf("?");if(E>=0){B=B.substr(0,E)}var A="?";var C=PRODHEADER.get_http_query_string();if(C){B+=A+C;A="&"}var D=this._gridder.get_http_query_string("t","b");if(D){B+=A+D;A="&"}browse_to_url(B)},_url:location.href};var SHOPPER={init:function(A,B){this._sort_col_id=A;this._zip_code=B},reload_sorted:function(A){this._sort_col_id=A;this._reload()},reload_zip:function(A){if(!this._zip_code&&this._sort_col_id==5){this._sort_col_id=8}this._zip_code=A;this._reload()},_reload:function(){var B=this._url;var D=B.indexOf("?");if(D>=0){B=B.substr(0,D)}var A="?";var C=PRODHEADER.get_http_query_string();if(C){B+=A+C;A="&"}if(this._sort_col_id){B+=A+"t="+this._sort_col_id;A="&"}if(this._zip_code){B+=A+"z="+this._zip_code;A="&"}browse_to_url(B)},_url:location.href};