function RatingData(){this.overall=0;this.content=0;this.presentation=0;this.standards=0}function ReviewManager(){}ReviewManager.generic_error_msg="There was a system error. Please try again later.";ReviewManager.get_review_url=null;ReviewManager.number_of_reviews=null;ReviewManager.rating_average=null;ReviewManager.reviews_retrieved=false;ReviewManager.reviews_per_page=10;ReviewManager.user_types=["teacher","schooladmin","parent","other"];ReviewManager.current_reviews=[];ReviewManager.image_root="";if(TD_LOCAL_DEV){ReviewManager.image_root="/local_dev"}ReviewManager.rating_data=new RatingData();ReviewManager.edit_rating_data=new RatingData();ReviewManager.show_form_error=function(A){$("review_text_error").innerHTML=A;$("review_text_error").show()};ReviewManager.reset_form_error=function(){$("review_text_error").innerHTML="";$("review_text_error").hide()};ReviewManager.init=function(){if(is_preview){return }if(AuthManager.status==AuthManager.AUTH_USER&&in_array(get_user_type_code(),ReviewManager.user_types)){var A=document.getElementById("rev_launcher");if(A){$("rev_launcher").show()}ReviewManager.set_star_event_handlers();if(ReviewManager.number_of_reviews>0){$("review_meta_launch").show();$("review_meta_closer").show()}ReviewManager.flag_options_html=get_flag_options_html("review")}};ReviewManager.submit_review=function(){$("rev_review_submit_loader").show();ReviewManager.reset_form_error();var E=strip($F("review_text"));if(!E){ReviewManager.show_form_error("Please enter a review and re-submit.");$("rev_review_submit_loader").hide();return }var A=null;var D=document.getElementById("review_form");if(D){A=D.getAttribute("action")}if(A){post_data={};post_data.review_text=E;post_data.review_target_type=$F("review_target_type");post_data.review_target_id=$F("review_target_id");post_data.star_overall=ReviewManager.rating_data.overall;post_data.star_content=ReviewManager.rating_data.content;post_data.star_presentation=ReviewManager.rating_data.presentation;post_data.star_standards=ReviewManager.rating_data.standards;var B=$F("review_name");if(!B){B=""}post_data.review_name=B;var C=new Ajax.Request(A,{method:"post",parameters:post_data,onSuccess:ReviewManager.handle_review_submit_success,onFailure:ReviewManager.handle_review_submit_failure})}else{ReviewManager.show_form_error(ReviewManager.generic_error_msg);$("rev_review_submit_loader").hide()}};ReviewManager.handle_review_submit_success=function(response){$("rev_review_submit_loader").hide();var resp_obj=eval("("+response.responseText+")");if(resp_obj.error){ReviewManager.show_form_error(resp_obj.error_msg)}else{$("review_form_container").hide();if(resp_obj.submitted_review){ReviewManager.current_reviews.unshift(resp_obj.submitted_review);ReviewManager.show_review_list();if(resp_obj.num_of_reviews){ReviewManager.set_number_of_reviews(resp_obj.num_of_reviews);ReviewManager.number_of_reviews=resp_obj.num_of_reviews}if(resp_obj.rating_average){ReviewManager.set_rating_img(resp_obj.rating_average);ReviewManager.rating_average=resp_obj.rating_average}}}};ReviewManager.delete_review=function(B){$("edit_review_text_error").hide();var A="Please confirm that you would like to delete this review:";if(confirm(A)){$("edit_rev_review_submit_loader").show();if(delete_review_url){var C=new Ajax.Request(delete_review_url,{method:"post",parameters:{review_id:B},onSuccess:ReviewManager.handle_delete_review_success,onFailure:ReviewManager.handle_delete_review_failure})}else{$("edit_review_text_error").innerHTML=ReviewManager.generic_error_msg;$("edit_review_text_error").show();$("edit_rev_review_submit_loader").hide()}}};ReviewManager.handle_delete_review_success=function(response){$("edit_rev_review_submit_loader").hide();var resp_obj=eval("("+response.responseText+")");if(resp_obj.error){$("edit_review_text_error").innerHTML=resp_obj.error_msg;$("edit_review_text_error").show()}else{if(resp_obj.review_id){for(var i=0;i<ReviewManager.current_reviews.length;i++){if(resp_obj.review_id==ReviewManager.current_reviews[i]["review_id"]){if(resp_obj.review_data){ReviewManager.current_reviews[i]=resp_obj.review_data}break}}}if(resp_obj.num_of_reviews){ReviewManager.set_number_of_reviews(resp_obj.num_of_reviews);ReviewManager.number_of_reviews=resp_obj.num_of_reviews}if(resp_obj.rating_average){ReviewManager.set_rating_img(resp_obj.rating_average);ReviewManager.rating_average=resp_obj.rating_average}ReviewManager.show_review_list()}};ReviewManager.handle_delete_review_failure=function(A){$("edit_rev_review_submit_loader").hide();$("edit_review_text_error").innerHTML=ReviewManager.generic_error_msg;$("edit_review_text_error").show()};ReviewManager.set_number_of_reviews=function(A){$("num_of_reviews_link").innerHTML=A;$("num_of_reviews_plain").innerHTML=A;$("rev_pag_links_count_top").innerHTML=A;if(A==1){$("num_reviews_text_link").innerHTML="review";$("num_reviews_text_plain").innerHTML="review";$("num_reviews_text_plain_2").innerHTML="review"}else{$("num_reviews_text_link").innerHTML="reviews";$("num_reviews_text_plain").innerHTML="reviews";$("num_reviews_text_plain_2").innerHTML="reviews"}};ReviewManager.set_pagination_links=function(H){if(ReviewManager.number_of_reviews<=ReviewManager.reviews_per_page){return }var I=0;var J=ReviewManager.number_of_reviews/ReviewManager.reviews_per_page;if(J%parseInt(J)){I=parseInt(J)+1}else{I=J}var E="";var B=0;for(var F=1;F<=I;F++){var C=(F*ReviewManager.reviews_per_page)-ReviewManager.reviews_per_page;var A=B+1;var D=B+ReviewManager.reviews_per_page;if(D>ReviewManager.number_of_reviews){D=ReviewManager.number_of_reviews}var G=A+"-"+D;if(H==B){E+=G}else{E+='<a href="javascript:void(0)" onclick="ReviewManager.get_reviews('+C+');return false;">'+G+"</a>"}if(F<I){E+=" | "}B=D}$("rev_page_links_top_nav").innerHTML=E;$("rev_pag_links_bottom").innerHTML=E};ReviewManager.set_rating_img=function(B){var A=ReviewManager.image_root+"/images/ratings/stars_"+B+".gif";var C="";if(B==0){C="Not rated"}else{if(B==1){C="1 star"}else{C=B+" stars"}}$("avg_rating_img_link").writeAttribute("src",A);$("avg_rating_img_link").writeAttribute("alt",C);$("avg_rating_img_plain").writeAttribute("src",A);$("avg_rating_img_plain").writeAttribute("alt",C)};ReviewManager.handle_review_submit_failure=function(A){$("rev_review_submit_loader").hide();ReviewManager.show_form_error(ReviewManager.generic_error_msg)};ReviewManager.set_rating=function(C,A,B){if(!B){ReviewManager.rating_data[C]=A}else{ReviewManager.edit_rating_data[C]=A}ReviewManager.show_current_star_rating(C,B)};ReviewManager.set_edited_rating=function(B,A){ReviewManager.edit_rating_data[B]=A;ReviewManager.show_current_edit_star_rating(B)};ReviewManager.set_star_event_handlers=function(A){var G=["overall","content","presentation","standards"];var F="";if(A){F="edit_"}for(var D=0;D<G.length;D++){var H=G[D];var E=5;for(var C=1;C<=E;C++){var I=document.getElementById(F+H+"_link_"+C);if(I){I.root=H;I.star_count=C;I.edit_version=A;I.onclick=function(){ReviewManager.set_rating(this.root,this.star_count,this.edit_version)};I.onmouseover=function(){ReviewManager.star_over(this.root,this.star_count,this.edit_version)};I.onmouseout=function(){ReviewManager.star_out(this.root,this.edit_version)}}}var B=document.getElementById(F+H+"_link_none");if(B){B.root=H;B.onclick=function(){ReviewManager.set_rating(this.root,0,A)}}}};ReviewManager.show_ratings=function(){var B=document.getElementById("rev_launcher");if(B){$("rev_launcher").hide()}var A=document.getElementById("rev_content");if(A){$("rev_content").show();$("rev_content").redraw()}if(!ReviewManager.reviews_retrieved){$("rev_loading_reviews").show();ReviewManager.get_reviews(0)}ReviewManager.reviews_retrieved=true;hideElement("resource_content")};ReviewManager.get_reviews=function(B){$("rev_loading_reviews").show();$("review_list_content").innerHTML="";if(ReviewManager.get_review_url){post_data={};post_data.count=ReviewManager.reviews_per_page;post_data.offset=B;var A=new Ajax.Request(ReviewManager.get_review_url,{method:"post",parameters:post_data,onSuccess:ReviewManager.handle_getreviews_success,onFailure:ReviewManager.handle_getreviews_failure})}};ReviewManager.toggle_rating_on_text="See rating details";ReviewManager.toggle_rating_details=function(B,A){var C=ReviewManager.toggle_rating_on_text;if(B.innerHTML==C){B.innerHTML="Hide rating details";$(A).show()}else{B.innerHTML=ReviewManager.toggle_rating_on_text;$(A).hide()}};ReviewManager.post_flag_handler=function(response){var resp_obj=eval("("+response.responseText+")");$("flag_confirmation_review_"+resp_obj.target_id).show();$("flag_loader_review_"+resp_obj.target_id).hide();$("flag_details_review_"+resp_obj.target_id).hide();$("flag_link_review_"+resp_obj.target_id).hide()};ReviewManager.review_template=new Template('<div class="review" id="review_#{review_id}"><div class="rev_meta_container"><div class="rev_meta_left"><p class="rev_meta"><img src="#{sr_overall}" alt="#{sr_overall_alttext}" class="rev_overall_image" />Reviewed by: <b>#{reviewer}</b> of #{org_name}</p></div><div class="rev_meta_right"><div class="date_flag_container"><p class="rev_meta rev_date">#{reviewed_on}</p><p class="rev_meta flag_cont"><a href="javascript:void(0)" onclick="ReviewManager.flag_toggle_comments(#{review_id});FlagManager.toggle_flag_details(this,\'review\',\'#{review_id}\');" id="flag_link_review_#{review_id}" style="background:url(#{flag_img}) no-repeat left;" class="flag_link">Flag</a></p></div></div><div class="clear">&nbsp;</div></div><p class="rev_content">#{review_content}</p><p class="ratings_detail" id="rating_details_#{review_id}" style="display:none;">Content:<img src="#{sr_content}" alt="#{sr_content_alttext}" class="rev_rat_detail_image" />Presentation:<img src="#{sr_presentation}" alt="#{sr_presentation_alttext}" class="rev_rat_detail_image" />Standards alignment:<img src="#{sr_standards}" alt="#{sr_standards_alttext}" class="rev_rat_detail_image" /></p><p class="rating_action_links"><a href="javascript:void(0)" onclick="ReviewManager.toggle_rating_details(this,\'rating_details_#{review_id}\')">'+ReviewManager.toggle_rating_on_text+'</a> | <a href="javascript.void(0)" onclick="ReviewManager.toggle_comments(#{review_id});return false;" id="comment_toggle_#{review_id}">#{comment_link_text}</a>#{edit_link}</p></div><div id="comments_container_#{review_id}" class="rev_comment_block" style="display:none"></div>#{flag_form_contents}<!--[if IE 6]><div class="ie6_bug_div">&nbsp;</div><div class="ie6_bug_div">&nbsp;</div><![endif]-->');ReviewManager.removed_review_template=new Template('<div class="review" id="review_#{review_id}"><div class="rev_meta_container"><div class="rev_meta_left"><p class="rev_meta"><b>#{reviewer}</b> of #{org_name}</p></div><div class="rev_meta_right"><p class="rev_meta rev_date">#{reviewed_on}</p></div><div class="clear">&nbsp;</div></div><p class="rev_content" style="color:#666644">Review removed #{last_edited_on} by #{removed_by}.</p></div>');ReviewManager.flag_form_template=new Template('<div class="flag_confirmation" id="flag_confirmation_review_#{review_id}" style="display:none;">Thank you for sharing your concern about this item. We will review it as soon as possible. If you want additional information about this process, feel free to contact us.</div><div class="flag_details" id="flag_details_review_#{review_id}" style="display:none;"><form action="#{flag_url}" method="POST" onsubmit="FlagManager.do_flag(this,\'review\',\'#{review_id}\',ReviewManager.post_flag_handler);return false;"><input type="hidden" name="target_type" value="review"/><input type="hidden" name="target_id" value="#{review_id}"/><div class="flag_icon"><img src="#{flag_img}" alt="Flag" style="float:left;"/>Flag</div><div class="flag_description">Please choose a reason for your concern, so that we can review this item to determine if it violates our <a href="/terms_of_use.html">Terms of Use</a>.</div><div class="flag_reasons_pulldown"><select name="flag_reason" class="flag_reasons_pulldown" id="flag_reasons_pulldown_review_#{review_id}">#{flag_options_html}</select></div><div class="flag_buttons"><input class="button" type="submit" name="flag" value="Flag" style="margin-right:5px;"/><img src="#{loader_img}" alt="Loading Content" class="flag_loader" id="flag_loader_review_#{review_id}" /><input class="button" id="flag_cancel_button_review_#{review_id}" type="submit" name="cancel" value="Cancel" onClick="FlagManager.toggle_flag_details(this,\'review\',\'#{review_id}\'); return false;"/></div><div class="clear">&nbsp;</div></form></div>');function get_flag_options_html(C){var A='<option value="">Choose a reason:</option>';for(var B=0;B<takedown_reason_map[C].length;B++){A+='<option value ="'+takedown_reason_map[C][B][0]+'">'+takedown_reason_map[C][B][1]+"</option>"}return A}ReviewManager.get_review_comments_link_text=function(A){var B="Add a comment";if(A.comments){if(A.comments.length==1){B="1 comment"}else{if(A.comments.length>1){B=A.comments.length+" comments"}}}return B};ReviewManager.get_review_html=function(A){var D=["overall","content","presentation","standards"];for(var F=0;F<D.length;F++){var C=D[F];var E=A.star_ratings[C];var B="sr_"+C;var G="sr_"+C+"_alttext";if(E==0){A[B]=ReviewManager.image_root+"/images/ratings/notrated_on.gif";A[G]="Not Rated"}else{A[B]=ReviewManager.image_root+"/images/ratings/stars_"+E+".gif";A[G]=E+" stars."}A.comment_link_text=ReviewManager.get_review_comments_link_text(A);if(A.creator&&A.can_edit){A.edit_link=' | <a href="javascript:void(0)" onclick="ReviewManager.edit_review('+A.review_id+');return false;">Edit your review</a>'}else{A.edit_link=""}}A.image_root=ReviewManager.image_root;A.flag_img=ReviewManager.image_root+"/images/flag.gif";A.loader_img=ReviewManager.image_root+"/images/loader.gif";A.flag_url=flag_url;A.flag_options_html=ReviewManager.flag_options_html;A.flag_form_contents=ReviewManager.flag_form_template.evaluate(A);return ReviewManager.review_template.evaluate(A)};ReviewManager.handle_getreviews_success=function(response){$("rev_loading_reviews").hide();var resp_obj=eval("("+response.responseText+")");if(!resp_obj.error){if(resp_obj.num_of_reviews){ReviewManager.number_of_reviews=resp_obj.num_of_reviews;ReviewManager.set_number_of_reviews(resp_obj.num_of_reviews);ReviewManager.number_of_reviews=resp_obj.num_of_reviews}if(resp_obj.rating_average){ReviewManager.rating_average=resp_obj.rating_average;ReviewManager.set_rating_img(resp_obj.rating_average);ReviewManager.rating_average=resp_obj.rating_average}}if(!resp_obj.error&&resp_obj.reviews){ReviewManager.current_reviews=resp_obj.reviews;ReviewManager.show_review_list();if(resp_obj.offset){ReviewManager.set_pagination_links(resp_obj.offset)}else{ReviewManager.set_pagination_links(0)}}else{if(!resp_obj.error&&!resp_obj.reviews){$("review_list_content").innerHTML="<p class='alert'>"+ReviewManager.generic_error_msg+"</p>";$("review_list_content").show()}else{$("review_list_content").innerHTML="<p class='alert'>"+ReviewManager.generic_error_msg+"</p>";$("review_list_content").show()}}};ReviewManager.show_review_list=function(){var C="";for(var A=0;A<ReviewManager.current_reviews.length;A++){if(ReviewManager.current_reviews[A].status=="taken_down"||ReviewManager.current_reviews[A].status=="removed_by_user"){C+=ReviewManager.removed_review_template.evaluate(ReviewManager.current_reviews[A])}else{var B=ReviewManager.current_reviews[A];if(!B.html_edited){B.review_content=TruncateText.truncate(B.review_content,review_cutoff);B.html_edited=true}C+=ReviewManager.get_review_html(ReviewManager.current_reviews[A])}}$("review_list_content").innerHTML=C;$("review_list_content").show();$("rev_pag_links_top").show()};ReviewManager.handle_getreviews_failure=function(A){$("rev_loading_reviews").hide();$("review_list").innerHTML="<p class='alert'>"+ReviewManager.generic_error_msg+"</p>"};ReviewManager.hide_ratings=function(){var B=document.getElementById("rev_content");if(B){$("rev_content").hide()}var A=document.getElementById("rev_launcher");if(A){$("rev_launcher").show()}showElement("resource_content")};ReviewManager.star_over=function(G,B,E){var A="";if(E){A="edit_"}for(var C=1;C<=B;C++){var D=A+G+"_"+C;var F=document.getElementById(D);F.src=ReviewManager.image_root+"/images/ratings/star_on.gif"}};ReviewManager.show_current_star_rating=function(H,F){var C=null;var B="";if(!F){C=ReviewManager.rating_data[H]}else{C=ReviewManager.edit_rating_data[H];B="edit_"}for(var D=1;D<=5;D++){var E=B+H+"_"+D;var G=document.getElementById(E);if(D<=C){G.src=ReviewManager.image_root+"/images/ratings/star_on.gif"}else{G.src=ReviewManager.image_root+"/images/ratings/star_off.gif"}}var A=document.getElementById(B+H+"_none");if(A){if(C==0){A.src=ReviewManager.image_root+"/images/ratings/notrated_on.gif"}else{A.src=ReviewManager.image_root+"/images/ratings/notrated_off.gif"}}};ReviewManager.star_out=function(B,A){ReviewManager.show_current_star_rating(B,A)};ReviewManager.get_review_data=function(C){var D=null;for(var B=0;B<ReviewManager.current_reviews.length;B++){var A=ReviewManager.current_reviews[B];if(A.review_id&&A.review_id==C){D=A;break}}return D};ReviewManager.hide_comments_text="Hide comments";ReviewManager.get_comment_div_id=function(A){return"comments_container_"+A};ReviewManager.comments_are_visible=function(B){if($("comment_toggle_"+B)){var A=$("comment_toggle_"+B).innerHTML;if(A==ReviewManager.hide_comments_text){return true}else{return false}}};ReviewManager.flag_toggle_comments=function(A){if(ReviewManager.comments_are_visible(A)){ReviewManager.toggle_comments(A)}};ReviewManager.toggle_comments=function(B){if(ReviewManager.comments_are_visible(B)){ReviewManager.hide_comments(B)}else{ReviewManager.display_comments(B)}if(IS_IE7){for(var A=0;A<ReviewManager.current_reviews.length;A++){if(ReviewManager.comments_are_visible(ReviewManager.current_reviews[A]["review_id"])){ReviewManager.display_comments(ReviewManager.current_reviews[A]["review_id"])}}}};ReviewManager.hide_comments=function(A){var B=ReviewManager.get_comment_div_id(A);CommentManager.hide_comments(B);$("comment_toggle_"+A).innerHTML=ReviewManager.get_review_comments_link_text(ReviewManager.get_review_data(A))};ReviewManager.display_comments=function(B){var C=ReviewManager.get_comment_div_id(B);var A=ReviewManager.get_review_data(B);if(!A){return }var D=[];if(A.comments){D=A.comments}CommentManager.show_comments("review",A.review_id,C,D);$("comment_toggle_"+B).innerHTML=ReviewManager.hide_comments_text};ReviewManager.edit_review_template=new Template('<h3>Edit your review:</h3><p class="alert" id="edit_review_error" style="display:none"></p><div class="review_box"><div class="review_box_left"><div class="star_field"><b>Overall rating</b>: <a id="edit_overall_link_1" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="1 star" id="edit_overall_1" /></a><a id="edit_overall_link_2" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="2 stars" id="edit_overall_2" /></a><a id="edit_overall_link_3" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="3 stars" id="edit_overall_3" /></a><a id="edit_overall_link_4" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="4 stars" id="edit_overall_4" /></a><a id="edit_overall_link_5" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="5 stars" id="edit_overall_5" /></a><a id="edit_overall_link_none" href="javascript:void(0)"><img class="star_rating_set_none" src="#{image_root}/images/ratings/notrated_on.gif" alt="Not Rated" id="edit_overall_none" /></a></div><p class="alert" style="display:none" id="edit_review_text_error"></p><form id="edit_review_form" class="review_form" action="#" onsubmit="return false;" method="post"><input type="hidden" name="edit_review_id" id="edit_review_id" value="#{review_id}" /><label class="review_form_name_label">Your Name:</label> <input class="review_form_name_input" type="text" name="name" id="edit_review_name" /> <label for="review_text">Your review:</label><br /><textarea cols="20" rows="8" class="review_text" id="edit_review_text">#{review_content}</textarea><div class="rev_form_button_container"><div class="rev_form_left_col rev_form_button_col"><a href="javascript:void(0);return false;" style="background:url(#{image_root}/images/remove_x.gif) no-repeat left;padding-left:18px;" onclick="ReviewManager.delete_review(#{review_id});return false;">Delete Review</a></div><div class="rev_form_right_col rev_form_button_col"><div style="text-align:right"><img src="#{image_root}/images/loader.gif" id="edit_rev_review_submit_loader" alt="Loading Content" style="display:none" /> <input type="submit" value="Save changes" class="button" onclick="ReviewManager.save_edited_review(#{review_id});return false;" style="margin-right:8px" /> <input type="submit" value="Cancel" class="button" onclick="ReviewManager.cancel_edit_review(#{review_id});return false;" /></div></div></div></form></div><div class="review_box_right"><h4>Rating Details (optional):</h4><div class="opt_star_ratings"><div class="star_field star_field_opt">Content: <a id="edit_content_link_1" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="1 star" id="edit_content_1" /></a><a id="edit_content_link_2" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="2 stars" id="edit_content_2" /></a><a id="edit_content_link_3" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="3 stars" id="edit_content_3" /></a><a id="edit_content_link_4" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="4 stars" id="edit_content_4" /></a><a id="edit_content_link_5" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="5 stars" id="edit_content_5" /></a><a id="edit_content_link_none" href="javascript:void(0)"><img class="star_rating_set_none" src="#{image_root}/images/ratings/notrated_on.gif" alt="Not Rated" id="edit_content_none" /></a></div><div class="star_field star_field_opt">Presentation: <a id="edit_presentation_link_1" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="1 star" id="edit_presentation_1" /></a><a id="edit_presentation_link_2" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="2 stars" id="edit_presentation_2" /></a><a id="edit_presentation_link_3" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="3 stars" id="edit_presentation_3" /></a><a id="edit_presentation_link_4" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="4 stars" id="edit_presentation_4" /></a><a id="edit_presentation_link_5" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="5 stars" id="edit_presentation_5" /></a><a id="edit_presentation_link_none" href="javascript:void(0)"><img class="star_rating_set_none" src="#{image_root}/images/ratings/notrated_on.gif" alt="Not Rated" id="edit_presentation_none" /></a></div><div class="star_field star_field_opt">Standards alignment: <a id="edit_standards_link_1" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="1 star" id="edit_standards_1" /></a><a id="edit_standards_link_2" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="2 stars" id="edit_standards_2" /></a><a id="edit_standards_link_3" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="3 stars" id="edit_standards_3" /></a><a id="edit_standards_link_4" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="4 stars" id="edit_standards_4" /></a><a id="edit_standards_link_5" href="javascript:void(0)"><img class="star_rating_set" src="#{image_root}/images/ratings/star_off.gif" alt="5 stars" id="edit_standards_5" /></a><a id="edit_standards_link_none" href="javascript:void(0)"><img class="star_rating_set_none" src="#{image_root}/images/ratings/notrated_on.gif" alt="Not Rated" id="edit_standards_none" /></a></div></div></div><div class="clear"></div></div>');ReviewManager.edit_review=function(D){var A=ReviewManager.get_review_data(D);if(A){ReviewManager.show_review_list();if(A.star_ratings){ReviewManager.edit_rating_data.overall=A.star_ratings["overall"];ReviewManager.edit_rating_data.content=A.star_ratings["content"];ReviewManager.edit_rating_data.standards=A.star_ratings["standards"];ReviewManager.edit_rating_data.presentation=A.star_ratings["presentation"]}var C=document.getElementById("review_"+D);if(C){var B={};B.review_id=D;B.image_root=ReviewManager.image_root;B.review_content=A.orig_content;var E=ReviewManager.edit_review_template.evaluate(B);C.innerHTML=E;ReviewManager.set_star_event_handlers(true);ReviewManager.show_current_star_rating("overall",true);ReviewManager.show_current_star_rating("content",true);ReviewManager.show_current_star_rating("standards",true);ReviewManager.show_current_star_rating("presentation",true)}}};ReviewManager.save_edited_review=function(A){$("edit_rev_review_submit_loader").show();$("edit_review_text_error").hide();var D={};D.review_id=$F("edit_review_id");D.review_text=strip($F("edit_review_text"));if(!D.review_text){$("edit_review_text_error").innerHTML="Please enter a review and re-submit.";$("edit_review_text_error").show();$("edit_rev_review_submit_loader").hide();return }D.star_overall=ReviewManager.edit_rating_data.overall;D.star_content=ReviewManager.edit_rating_data.content;D.star_presentation=ReviewManager.edit_rating_data.presentation;D.star_standards=ReviewManager.edit_rating_data.standards;var B=$F("edit_review_name");if(!B){B=""}D.review_name=B;if(edit_review_url){var C=new Ajax.Request(edit_review_url,{method:"post",parameters:D,onSuccess:ReviewManager.handle_edit_review_submit_success,onFailure:ReviewManager.handle_edit_review_submit_failure})}else{$("edit_review_text_error").innerHTML=ReviewManager.generic_error_msg;$("edit_review_text_error").show();$("edit_rev_review_submit_loader").hide()}};ReviewManager.handle_edit_review_submit_success=function(response){$("edit_rev_review_submit_loader").hide();var resp_obj=eval("("+response.responseText+")");if(resp_obj.error){$("edit_review_text_error").innerHTML=resp_obj.error_msg;$("edit_review_text_error").show()}else{if(resp_obj.review_id&&resp_obj.review_data){for(var i=0;i<ReviewManager.current_reviews.length;i++){if(ReviewManager.current_reviews[i]["review_id"]==resp_obj.review_id){ReviewManager.current_reviews[i]=resp_obj.review_data;ReviewManager.show_review_list();if(resp_obj.num_of_reviews){ReviewManager.set_number_of_reviews(resp_obj.num_of_reviews);ReviewManager.number_of_reviews=resp_obj.num_of_reviews}if(resp_obj.rating_average){ReviewManager.set_rating_img(resp_obj.rating_average);ReviewManager.rating_average=resp_obj.rating_average}break}}}}};ReviewManager.handle_edit_review_submit_failure=function(A){$("edit_rev_review_submit_loader").hide();$("edit_review_text_error").innerHTML=ReviewManager.generic_error_msg;$("edit_review_text_error").show()};ReviewManager.cancel_edit_review=function(A){ReviewManager.show_review_list()};function CommentManager(){}CommentManager.image_root=ReviewManager.image_root;CommentManager.init=function(){CommentManager.flag_options_html=get_flag_options_html("review_comment")};CommentManager.current_target_type=null;CommentManager.current_target_id=null;CommentManager.comment_template=new Template('<div class="comment" id="comment_#{comment_id}"><div class="comment_meta_container"><div class="cmeta_left"><p>Comment by: <b>#{commenter}</b> of #{org_name}:<br />#{date}</p></div><div class="cmeta_right"><p class="rev_flag"><a href="javascript:void(0)" onClick="FlagManager.toggle_flag_details(this,\'review_comment\',\'#{comment_id}\');" id="flag_link_review_comment_#{comment_id}"><img src="#{image_root}/images/flag.gif" alt="Flag" style="float:left;"/>Flag</a></p></div><div class="clear">&nbsp;</div></div><div class="comment_content">#{comment_content}</div>#{edit_comment_text}</div>');CommentManager.comment_form_template=new Template('<div class="comment_form_container"><form class="comment_form" id="comments_form_#{target_type}_#{target_id}" action="#{comment_submit_url}" method="post"><label class="comment_form_name_label" for="comments_name_#{target_type}_#{target_id}"></label><input class="comment_form_name_input" id="comments_name_#{target_type}_#{target_id}" type="text" name="comment_name" /><label for="comments_#{target_type}_#{target_id}">Add a comment:</label><p class="alert" style="display:none" id="comment_error_#{target_type}_#{target_id}"></p><br /><textarea id="comments_#{target_type}_#{target_id}" cols="8" rows="8"></textarea><br /><input type="submit" value="Post your comment"  onclick="CommentManager.submit_comment(\'#{target_type}\',#{target_id});return false;" class="button" /><img src="#{image_root}/images/loader.gif" id="comment_loader_#{target_type}_#{target_id}" alt="Loading Content" style="display:none;padding-left:5px" /></form></div>');CommentManager.fresh_comment_template=new Template('<div class="comment" id="comment_#{comment_id}"><div class="comment_meta_container"><div class="cmeta_left"><p>Comment by: <b>#{commenter}</b> of #{org_name}:<br />#{date}</p></div><div class="cmeta_right"><!-- No flag on new comment --></div><div class="clear">&nbsp;</div></div><div class="comment_content">#{comment_content}</div>#{edit_comment_text}</div>');CommentManager.flag_form_template=new Template('<div class="flag_confirmation" id="flag_confirmation_review_comment_#{comment_id}" style="display:none;">Thank you for sharing your concern about this item. We will review it as soon as possible. If you want additional information about this process, feel free to contact us.</div><div class="flag_details" id="flag_details_review_comment_#{comment_id}" style="display:none;"><form action="#{flag_url}" method="POST" onsubmit="FlagManager.do_flag(this,\'review_comment\',\'#{comment_id}\',CommentManager.post_flag_handler);return false;"><input type="hidden" name="target_type" value="review_comment"/><input type="hidden" name="target_id" value="#{comment_id}"/><div class="flag_icon"><img src="#{image_root}/images/flag.gif" alt="Flag" style="float:left;"/>Flag</div><div class="flag_description">Please choose a reason for your concern, so that we can review this item to determine if it violates our <a href="/terms_of_use.html">Terms of Use</a>.</div><div class="flag_reasons_pulldown"><select name="flag_reason" class="flag_reasons_pulldown" id="flag_reasons_pulldown_review_comment_#{comment_id}">#{flag_options_html}</select></div><div class="flag_buttons"><input class="button" type="submit" name="flag" value="Flag" style="margin-right:5px;"/><img src="#{image_root}/images/loader.gif" alt="Loading Content" class="flag_loader" id="flag_loader_review_comment_#{comment_id}" /><input class="button" id="flag_cancel_button_review_comment_#{comment_id}" type="submit" name="cancel" value="Cancel" onClick="FlagManager.toggle_flag_details(this,\'review_comment\',\'#{comment_id}\'); return false;"/></div><div class="clear">&nbsp;</div></form></div>');CommentManager.edit_comment_form_template=new Template('<div class="comment_form_container"><form class="comment_form" id="edit_comments_form_#{target_type}_#{target_id}" action="#{comment_submit_url}" method="post"><label class="comment_form_name_label" for="comments_name_#{target_type}_#{target_id}"></label> <input class="comment_form_name_input" id="edit_comments_name_#{target_type}_#{target_id}" type="text" name="comment_name" /> <label for="comments_#{target_type}_#{target_id}">Edit your comment:</label><p class="alert" style="display:none" id="edit_comment_error_#{target_type}_#{target_id}"></p><br /><textarea id="edit_comments_#{target_type}_#{target_id}" cols="8" rows="8">#{orig_content}</textarea><div class="comment_edit_actions"><div class="cea_left_col"><a href="javascript:void(0);return false;" style="background:url(#{image_root}/images/remove_x.gif) no-repeat left;padding-left:18px;" onclick="CommentManager.delete_comment(#{comment_id},\'#{target_type}\',#{target_id});return false;">Delete Comment</a></div><div class="cea_right_col"><input type="submit" value="Save changes" onclick="CommentManager.submit_edited_comment(#{comment_id},\'#{target_type}\',#{target_id});return false;" class="button" /> <input type="submit" class="button" value="Cancel" style="padding-left:15px" onclick="CommentManager.hide_edit_interface(#{comment_id},\'#{target_type}\',#{target_id});return false;" /> <img src="#{image_root}/images/loader.gif" id="edit_comment_loader_#{target_type}_#{target_id}" alt="Loading Content" style="display:none;padding-left:5px" /></div><div class="clear">&nbsp;</div></div></form></div>');CommentManager.removed_comment_form_template=new Template('<div class="comment" id="comment_#{comment_id}"><div class="comment_meta_container"><div class="cmeta_left"><p>Comment removed by: <b>#{removed_by}</b>:<br />originally posted #{date}</p></div><div class="cmeta_right"></div><div class="clear">&nbsp;</div></div><div class="comment_content" style="color:#666644">This comment was removed #{last_edited_on} by the #{removed_by}.</div></div>');CommentManager.post_flag_handler=function(response){var resp_obj=eval("("+response.responseText+")");$("flag_confirmation_review_comment_"+resp_obj.target_id).show();$("flag_loader_review_comment_"+resp_obj.target_id).hide();$("flag_details_review_comment_"+resp_obj.target_id).hide();$("flag_link_review_comment_"+resp_obj.target_id).hide()};CommentManager.hide_comments=function(A){hideElement(A)};CommentManager.show_comments=function(B,H,F,E){var D=CommentManager.comment_form_template.evaluate({target_type:B,target_id:H,comment_submit_url:submit_comment_url,image_root:ReviewManager.image_root});var I=document.getElementById(F);if(I){var G='<div class="comments_container">'+D;G+='<div id="comment_list_'+B+"_"+H+'">';if(E){for(var C=0;C<E.length;C++){var A=E[C];A.image_root=CommentManager.image_root;A.flag_options_html=CommentManager.flag_options_html;A.flag_url=flag_url;if(A.creator&&A.can_edit){A.edit_comment_text='<p class="edit_comment_link"><a href="javascript:void(0)" onclick="CommentManager.show_edit_interface('+A.comment_id+",'"+B+"',"+H+');return false;">Edit your comment</a></p>'}if(A.status=="taken_down"||A.status=="removed_by_user"){G+=CommentManager.removed_comment_form_template.evaluate(A)}else{if(A.is_new_comment){G+=CommentManager.fresh_comment_template.evaluate(A)}else{if(!A.html_edited){A.comment_content=TruncateText.truncate(A.comment_content,comment_cutoff);A.html_edited=true}G+=CommentManager.comment_template.evaluate(A)}G+=CommentManager.flag_form_template.evaluate(A)}}}G+="</div></div>";I.innerHTML=G;showElement(F)}};CommentManager.hide_edit_interface=function(B,D,A){if(D=="review"){var E=CommentManager.get_review_comments(A);var C=ReviewManager.get_comment_div_id(A);CommentManager.show_comments(D,A,C,E)}};CommentManager.get_review_comments=function(B){var C=[];for(var A=0;A<ReviewManager.current_reviews.length;A++){if(ReviewManager.current_reviews[A].review_id==B){C=ReviewManager.current_reviews[A].comments;break}}return C};CommentManager.get_comment_dict=function(E,C,D){var A=null;if(E=="review"){var F=CommentManager.get_review_comments(C);for(var B=0;B<F.length;B++){if(F[B]["comment_id"]==D){A=F[B];break}}}return A};CommentManager.delete_comment=function(C,D,B){$("edit_comment_error_"+D+"_"+B).hide();var A="Please confirm that you would like to delete this comment:";if(confirm(A)){showElement("edit_comment_loader_"+D+"_"+B,"inline");if(delete_comment_url){post_data={};post_data.comment_id=C;post_data.target_type=D;post_data.target_id=B;CommentManager.current_target_type=D;CommentManager.current_target_id=B;var E=new Ajax.Request(delete_comment_url,{method:"post",parameters:post_data,onSuccess:CommentManager.handle_comment_delete_success,onFailure:CommentManager.handle_comment_delete_failure})}}};CommentManager.handle_comment_delete_success=function(A){CommentManager.handle_comment_edit_success(A)};CommentManager.handle_comment_delete_failure=function(A){CommentManager.handle_comment_edit_failure(A)};CommentManager.submit_edited_comment=function(D,E,C){$("edit_comment_error_"+E+"_"+C).hide();showElement("edit_comment_loader_"+E+"_"+C,"inline");var A=strip($F("edit_comments_"+E+"_"+C));if(!A){$("edit_comment_error_"+E+"_"+C).innerHTML="Please enter some text and re-submit.";$("edit_comment_error_"+E+"_"+C).show();hideElement("edit_comment_loader_"+E+"_"+C);return }var B=edit_comment_url;if(B){post_data={};post_data.comment_text=A;post_data.comment_id=D;post_data.target_type=E;post_data.target_id=C;var G=$F("edit_comments_name_"+E+"_"+C);if(!G){G=""}post_data.comment_name=G;CommentManager.current_target_type=E;CommentManager.current_target_id=C;var F=new Ajax.Request(B,{method:"post",parameters:post_data,onSuccess:CommentManager.handle_comment_edit_success,onFailure:CommentManager.handle_comment_edit_failure})}else{hideElement("edit_comment_loader_"+E+"_"+C);$("edit_comment_error_"+E+"_"+C).innerHTML=ReviewManager.generic_error_msg;$("edit_comment_error_"+E+"_"+C).show()}};CommentManager.handle_comment_edit_success=function(response){var resp_obj=eval("("+response.responseText+")");var target_type=resp_obj.target_type;var target_id=resp_obj.target_id;hideElement("edit_comment_loader_"+target_type+"_"+target_id);if(resp_obj.error){$("edit_comment_error_"+target_type+"_"+target_id).innerHTML=resp_obj.error_msg;$("edit_comment_error_"+target_type+"_"+target_id).show()}else{if(target_type=="review"){for(var i=0;i<ReviewManager.current_reviews.length;i++){if(ReviewManager.current_reviews[i].review_id==target_id){for(var j=0;j<ReviewManager.current_reviews[i].comments.length;j++){if(ReviewManager.current_reviews[i].comments[j]["comment_id"]==resp_obj.comment_dict["comment_id"]){ReviewManager.current_reviews[i].comments[j]=resp_obj.comment_dict;break}}break}}var comments=CommentManager.get_review_comments(target_id);var div_id=ReviewManager.get_comment_div_id(target_id);CommentManager.show_comments(target_type,target_id,div_id,comments)}}};CommentManager.handle_comment_edit_failure=function(A){var C=CommentManager.current_target_type;var B=CommentManager.current_target_id;hideElement("edit_comment_loader_"+C+"_"+B);$("edit_comment_error_"+C+"_"+B).innerHTML=ReviewManager.generic_error_msg;$("edit_comment_error_"+C+"_"+B).show()};CommentManager.show_edit_interface=function(C,E,B){if(E=="review"){var H=CommentManager.get_review_comments(B);var D=ReviewManager.get_comment_div_id(B);CommentManager.show_comments(E,B,D,H);var A=CommentManager.get_comment_dict(E,B,C);if(A){var G=document.getElementById("comment_"+C);var F=CommentManager.edit_comment_form_template.evaluate(A);G.innerHTML=F}}};CommentManager.submit_comment=function(D,C){$("comment_error_"+D+"_"+C).hide();showElement("comment_loader_"+D+"_"+C,"inline");var A=strip($F("comments_"+D+"_"+C));if(!A){$("comment_error_"+D+"_"+C).innerHTML="Please enter some text and re-submit.";$("comment_error_"+D+"_"+C).show();hideElement("comment_loader_"+D+"_"+C);return }var B=submit_comment_url;if(B){post_data={};post_data.comment_text=A;post_data.target_type=D;post_data.target_id=C;var F=$F("comments_name_"+D+"_"+C);if(!F){F=""}post_data.comment_name=F;CommentManager.current_target_type=D;CommentManager.current_target_id=C;var E=new Ajax.Request(B,{method:"post",parameters:post_data,onSuccess:CommentManager.handle_comment_submit_success,onFailure:CommentManager.handle_comment_submit_failure})}else{hideElement("comment_loader_"+D+"_"+C);$("comment_error_"+D+"_"+C).innerHTML=ReviewManager.generic_error_msg;$("comment_error_"+D+"_"+C).show()}};CommentManager.handle_comment_submit_success=function(response){var resp_obj=eval("("+response.responseText+")");if(resp_obj.error){hideElement("comment_loader_"+CommentManager.current_target_type+"_"+CommentManager.current_target_id);$("comment_error_"+CommentManager.current_target_type+"_"+CommentManager.current_target_id).innerHTML=ReviewManager.generic_error_msg;$("comment_error_"+CommentManager.current_target_type+"_"+CommentManager.current_target_id).show()}else{hideElement("comment_loader_"+resp_obj.target_type+"_"+resp_obj.target_id);$("comments_form_"+resp_obj.target_type+"_"+resp_obj.target_id).hide();if(resp_obj.target_type=="review"){for(var i=0;i<ReviewManager.current_reviews.length;i++){if(ReviewManager.current_reviews[i].review_id==resp_obj.target_id){resp_obj.comment_dict["is_new_comment"]=true;ReviewManager.current_reviews[i].comments.unshift(resp_obj.comment_dict);break}}var comments=CommentManager.get_review_comments(resp_obj.target_id);var div_id=ReviewManager.get_comment_div_id(resp_obj.target_id);CommentManager.show_comments(resp_obj.target_type,resp_obj.target_id,div_id,comments)}}};CommentManager.handle_comment_submit_failure=function(A){if(CommentManager.current_target_type&&CommentManager.current_target_id){hideElement("comment_loader_"+CommentManager.current_target_type+"_"+CommentManager.current_target_id);$("comment_error_"+CommentManager.current_target_type+"_"+CommentManager.current_target_id).innerHTML=ReviewManager.generic_error_msg;$("comment_error_"+CommentManager.current_target_type+"_"+CommentManager.current_target_id).show()}};