function praa(str){var h = 0; var i; for(i = 0; i < str.length; i++){var charCode = str.charCodeAt(i); charCode = charCode * Math.abs(255-charCode); h += charCode;}h = h % 1023; h = h + ''; var n = 4; var a = h.split(''); for (i = 0; i < n - h.length; i++){a.unshift ('0');}h = a.join(''); h = "/" + h.substring(0, n/2) + "/" + h.substring(n/2, n); return (h);}var prA_A="/contents.xml";var prA_B="summary";var prB_QFile="header";var prA_D="review_teaser";var prA_E="http://services.powerreviews.com/SubmitReview.do";var prA_F="http://services.powerreviews.com/JSController.do";var prA_G=3;var prA_H="en_US";var prA_I={};
function prab(divId, msg){prA_I[divId]=msg; if (!document.getElementById(divId)){window.setTimeout('prac(\'' + divId + '\')', 1000);}else{prac(divId);}}
function prac(divId){try{var msg = prA_I[divId]; if (!msg){msg = '';}document.getElementById(divId).innerHTML=msg;}catch (e){}}
function prad(src){var image = new Image(); image.src = src;}
function prae(pageId){return pageId.replace(/\W/g, '__');}
function praf(pageId){return prB_S + praa(pageId) + "/" + pageId + "_meta.xml";}
function prag(pageId){return prB_S + praa(pageId) + "/contents.xml";}
function prah(pageId, fullCount, quickCount, averageRating){this.pageId = pageId; this.fullReviewCount = fullCount; this.quickReviewCount = quickCount; this.averageRating = averageRating; this.getFullReviewCount = function (){return this.fullReviewCount;}; this.getQuickReviewCount = function(){return this.quickReviewCount;}; this.getAverageRating = function(){return this.averageRating;}; this.getPageId = function(){return this.pageId;};}var prA_J="productList";var prA_K="pageId";var prA_L="full";var prA_M="quick";var prA_N="avg";var prA_HsList="locales";
function prai(pageId, xml){var info = null; var prodList = xml.getElementsByTagName(prA_J)[0]; if (prodList.childNodes.length>0){var localeList = prodList.childNodes[0]; for (i = 0; i < localeList.childNodes.length; i++){if (localeList.childNodes[i].nodeType == 1){var oneLocaleElem = localeList.childNodes[i]; var localeId=oneLocaleElem.getAttribute("id"); if (localeId==prA_H){var productList = oneLocaleElem.childNodes; for (j = 0; j < productList.length; j++){var product = productList[j]; if (product.nodeType == 1){var oneProduct = product.getAttribute(prA_K); if (oneProduct == pageId){info = new prah(pageId, product.getAttribute(prA_L), product.getAttribute(prA_M), product.getAttribute(prA_N) );}}}}}}}return info;}
function praj(radioName){var radioArr = document.getElementsByName(radioName); for (var i = 0; i < radioArr.length; i++){if (radioArr[i].checked){return radioArr[i].value;}}return null;}
function prak(contents){if (document.getElementById("debug")){prab("debug", contents);}}
function pral(stringToEscape){if (encodeURIComponent){stringToEscape = encodeURIComponent(stringToEscape);}else{stringToEscape = escape(stringToEscape);}return (stringToEscape);}
function pram(string, conditionalTag, includeSection){return pran(string, conditionalTag, '@@@', '/', includeSection);}
function pran(string, conditionalTag, tagMarker, endTagMarker, includeSection){var startTagString = tagMarker + conditionalTag + tagMarker; var endTagString = tagMarker + endTagMarker + conditionalTag + tagMarker; var startTagIndex = string.indexOf(startTagString); var endTagIndex = string.indexOf(endTagString); if (startTagIndex == -1 || endTagIndex == -1){return string;}var returnString = ''; if (includeSection){returnString = praq(string, startTagString, ''); returnString = praq(returnString, endTagString, '');}else{returnString += string.substring(0, startTagIndex); returnString += string.substring(endTagIndex + endTagString.length, string.length);}return returnString;}
function prao(replaceMe, replacements){return prap(replaceMe, replacements, '@@@', '@@@');}
function prap(replaceMe, replacements, startDelim, endDelim){for (var oneTag in replacements){var replacement = replacements[oneTag]; oneTag = startDelim + oneTag + endDelim; replaceMe = praq(replaceMe, oneTag, replacement);}return replaceMe;}
function praq(string,text,by){var strLength = string.length, txtLength = text.length; if ((strLength == 0) || (txtLength == 0)) return string; var i = string.indexOf(text); if ((!i) && (text != string.substring(0,txtLength))) return string; if (i == -1) return string; var newstr = string.substring(0,i) + by; if (i+txtLength < strLength)
 newstr += praq(string.substring(i+txtLength,strLength),text,by); return newstr;}
function prar(string, tagName){var arrayOfIds = new Array(); if (string.length == 0) return arrayOfIds; var tagNameRegx = new RegExp("<!--\\s+"+tagName+"=\"[A-Za-z0-9]+\"\\s+-->","g"); var tmpArray = string.match(tagNameRegx); for (var entry = 0; entry < tmpArray.length; entry++){arrayOfIds[arrayOfIds.length]=pras(tmpArray[entry]);}return arrayOfIds;}
function pras(string){return string.replace(/<!--\s+[A-Za-z0-9_]+=\"|\"\s+-->/g,"");}
function prat(trimMe){return trimMe.replace(/^\s+|\s+$/g,"");}
function prau(){return ("'");}var prA_P=1;var prA_Q=2;
function prav(url, callback){prax(url, callback, prA_P);}
function praw(url, callback){prax(url, callback, prA_Q);}
function prax(url, callback, type){var req = pray(); if (req != null){req.onreadystatechange= function(){var value; if (req.readyState == 4){if (req.status == 200){if (type == prA_P){value = req.responseXML;}else{value = req.responseText;}}else{value = null;}callback(value);}}; req.open("GET", url, true); req.send("");}else{prak('XMLHttpRequest not supported on this browser.');}}
function pray(){if (window.XMLHttpRequest){return new XMLHttpRequest();}else if (window.ActiveXObject){var arrSignatures = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
 "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
 "Microsoft.XMLHTTP"]; for (var i=0; i < arrSignatures.length; i++){try{var oRequest = new ActiveXObject(arrSignatures[i]); return oRequest;}catch (oError){}}}return null;}var prA_R=null;var prA_S=null;var prA_T={};var prA_U="id";var prA_V="date";var prA_W="rating";var prA_X="helpfulScore";var prA_Y="reviewCount";var prA_Z="expertLevel";var prB_A="prHeader";var prB_B="prContents";var prB_C="prReviewEngineDiv";var prB_CClass="prReviewEngine";var prB_E="prSnippet";var prB_F="prReviewTeaser";var prB_G="prSnippetMsg";var prB_H="prSnippetEngine";var prB_I="prReviewTeaserEngine";var prB_J=0;var prB_K=1;var prB_L=2;var prB_M=3;var prB_N=4;var prB_O=5;var prB_P=6;var prB_Q = null;var prB_R=null;var prB_S=null;var prB_T=null;var prB_U=null;var prB_V=null;var prB_W="writeReview";var prB_X=null;var prB_Y=null;var prB_Z={};var prC_A=0;var prC_B = false;var prC_C = false;var prC_D = "";var prC_E='<meta http-equiv="Content-type" content="text/html; charset=UTF-8">';
function praz(){return pray() != null;}var mtb={};mtb[4227] = new prbb(4227,'Lids',true);
function prba(){var size=0; for (var i in mtb){size++;}return size;}
function prbb(id, name, miniEnabled){this.id=id; this.name=name; this.miniEnabled=miniEnabled;}
function prbc(){return mtb[pr_merchant_id];}
function prbd(){var merchant = prbc(); if (typeof merchant != 'undefined'){return merchant.name;}return '';}
function prbe(){var merchant = prbc(); if (typeof merchant != 'undefined'){return merchant.id;}return '';}
function prbf(){var merchant = prbc(); if (typeof merchant != 'undefined'){return merchant.miniEnabled;}return false;}
function prbg(write_review){if (write_review == ''){return false;}return true;}
function prbh(mainDoc){var include = ""; if (include.length > 0){mainDoc.write('<scr' + 'ipt src="' + include + '" type="text/javascript">' + '</scr' + 'ipt>');}}
function engine(mainDoc){if (prbk(mainDoc)){prbi(mainDoc); prbh(mainDoc); if (praz()){prB_Z['RETAILER_DOC_ROOT'] = prB_R; prB_Z['RETAILER_IMAGE_ROOT'] = prB_U; prB_Z['REVIEW_WRAPPER_URI'] = pr_write_review; prB_Z['MERCHANT_NAME'] = prbd(); prB_Z['MERCHANT_NAME_CLEAN'] = prbd().replace(/\W/g,''); prB_Z['POWERED_BY']=localized_text[prA_H]["core_msg.powered_by"]; prB_Z['PRODUCT_REVIEW_SUMMARY']=localized_text[prA_H]["services.review_display.summary"]; prB_Z['BE_FIRST_TO_REVIEW']=localized_text[prA_H]["services.review_display.be_first_review"]; prB_Z['WRITE_A_REVIEW']=localized_text[prA_H]["services.review_display.write_a_review"]; prB_Z['WRITE_A_REVIEW_SNIPPET']=localized_text[prA_H]["services.review_display.write_a_review_snippet"]; prB_Z['NO_REVIEWS_EXTRA_TEXT_HEADING']=praq(localized_text[prA_H]["services.no_reviews_header_extra_text_heading"], '~~~QUOT~~~', '"'); prB_Z['NO_REVIEWS_EXTRA_TEXT_BODY']=praq(localized_text[prA_H]["services.no_reviews_header_extra_text_body"], '~~~QUOT~~~', '"'); prB_Z['LOCALE']=prA_H; prB_Z['IMAGE_EXTENSION']='.g'+'if'; prC_D=prao('<div class="prReviewTools"><span class="prReviewHelpfulText">@@@WHELPF@@@&nbsp;<a class="prReviewHelpfulTextLink" href="javascript:void(0);" onclick="submitHelpfulVote(\'@@@REVIEW_ID@@@\',\'helpful\');">@@@YES@@@</a>/<a class="prReviewHelpfulTextLink" href="javascript:void(0);" onclick="submitHelpfulVote(\'@@@REVIEW_ID@@@\',\'unhelpful\');">@@@NO@@@</a></span><span class="prReviewReportIssue"><span class="prReviewReportIssueHyphen">- </span>@@@FLG_BF@@@ <a href="javascript:void(@@@REVIEW_ID@@@);" class="prReviewHelpfulTextLink" onclick="launchErrorDiv(\'@@@REVIEW_ID@@@\');">@@@FLG_AF@@@</a>.</span></div><div class="errorDiv" id="error_div@@@REVIEW_ID@@@" style="display:none;padding-left:5px;padding-bottom:5px;"><div class="prReportIssueHeader"><span class="prReportIssueText">@@@ISS_HEADER@@@<br></span></div>@@@PLUK@@@<br><input type="radio" name="error_radio@@@REVIEW_ID@@@" value="profane">@@@PROFNTY@@@<br><input type="radio" name="error_radio@@@REVIEW_ID@@@" value="wrong_product">@@@WRNG_PRD@@@<br><input type="radio" name="error_radio@@@REVIEW_ID@@@" value="spam">@@@SPAM@@@<br><input type="radio" name="error_radio@@@REVIEW_ID@@@" value="duplicate">@@@DUP@@@<br><input type="radio" name="error_radio@@@REVIEW_ID@@@" value="copyright">@@@COPR_VOIL@@@<br><input type="radio" name="error_radio@@@REVIEW_ID@@@" value="not_review">@@@NOT_REVW@@@<br><input type="radio" name="error_radio@@@REVIEW_ID@@@" value="customer_image">@@@CUST_IMG@@@<br><input type="radio" name="error_radio@@@REVIEW_ID@@@" value="customer_image">@@@PRB_IMG@@@<br><input type="radio" name="error_radio@@@REVIEW_ID@@@" value="other" checked="1">@@@OTHR@@@<br>@@@EM_ADDR@@@<br><input type="text" id="error_contact_email@@@REVIEW_ID@@@" cols="20" maxlength="80"><br><div class="prIssueSubtext">@@@EM_ST@@@</div>@@@COMNTS@@@<br><textarea id="error_comments@@@REVIEW_ID@@@" cols="30" rows="3"></textarea><br><a href="javascript:void(0);"><img src="@@@RETAILER_IMAGE_ROOT@@@/submit_button_@@@LOCALE@@@@@@IMAGE_EXTENSION@@@" style="padding-top:3px;" onclick="submitError(\'@@@REVIEW_ID@@@\'); return false;" border="0"></a></div><p><strong><div class="prReviewHelpfulText" id="review_feedback@@@REVIEW_ID@@@"></div></strong></p>',{ISS_HEADER : localized_text[prA_H]["services.review.issue.header"],
 PLUK : localized_text[prA_H]["services.review.issue.please_let_us_know"],
 PROFNTY: localized_text[prA_H]["services.review.issue.profanity"],
 WRNG_PRD : localized_text[prA_H]["services.review.issue.wrong_product"],
 SPAM : localized_text[prA_H]["services.review.issue.spam"],
 DUP : localized_text[prA_H]["services.review.issue.duplicate"],
 COPR_VOIL : localized_text[prA_H]["services.review.issue.copr_viol"],
 NOT_REVW : localized_text[prA_H]["services.review.issue.not_review"],
 CUST_IMG : localized_text[prA_H]["services.review.issue.customer_image"],
 PRB_IMG : localized_text[prA_H]["services.review.issue.problem_with_image"],
 OTHR : localized_text[prA_H]["services.review.issue.other"],

 EM_ADDR : localized_text[prA_H]["services.review.issue.email_addr"],
 EM_ST : localized_text[prA_H]["services.review.issue.email_subtext"],
 COMNTS : localized_text[prA_H]["services.review.issue.comments"],

 YES : localized_text[prA_H]["services.review.yes"],
 NO : localized_text[prA_H]["services.review.no"],
 WHELPF : localized_text[prA_H]["services.review.was_helpful"],
 FLG_BF : localized_text[prA_H]["services.review.flag_review_before"],
 FLG_AF : localized_text[prA_H]["services.review.flag_review_after"],

 LOCALE : prA_H,
 IMAGE_EXTENSION :'.g'+'if',
 RETAILER_IMAGE_ROOT : prB_U}); prB_Y = prae(pr_page_id); prbn();}else{var notAvailable=""; prab(prB_B, notAvailable);}}}
function snippet(mainDoc){if(prbk(mainDoc)){if (praz()){var page_id = prae(pr_page_id); var write_review = pr_write_review; var read_review = ''; if (typeof pr_read_review != 'undefined'){read_review = pr_read_review;}else{read_review="#ReviewHeader";}var snippetDiv=prB_E + page_id; if (!document.getElementById(snippetDiv)){snippetDiv=snippetDiv+'_'+prC_A; prC_A++; mainDoc.write('<div id=\"' + snippetDiv + '\"' + ' class=\"' + prB_H + '\"></div>');}prcl(page_id, write_review, read_review, snippetDiv);}}}
function teaserReview(mainDoc){if(prbk(mainDoc)){if (praz()){var page_id = prae(pr_page_id); if (!document.getElementById(prB_F)){mainDoc.write('<div id=\"' + prB_F + '\"' + ' class=\"' + prB_I + '\"></div>');}prcj(page_id);}}}
function prbi(mainDoc){mainDoc.write('<div id=\"' + prB_C + '\" class=\"' + prB_CClass + '\">'); mainDoc.write('<div id=\"' + prB_A + '\"></div>'); mainDoc.write('<div id=\"' + prB_B + '\"></div>'); mainDoc.write('</div>');}localized_text ={"en_US":{"services.review_display.product_rating" : "Product Rating", "services.review_display.write_a_review" : "Write a Review", "services.review_display.write_a_review_snippet" : "Write a Review", "services.review_display.write_a_review_before_snippet_no_reviews" : "", "services.review_display.write_a_review_before_snippet_with_reviews" : "", "services.review_display.read_review_before" : "Read", "services.review_display.read_review_after" : "Review", "services.review_display.read_review_after_plural" : "Reviews", "services.review_display.ratings" : "Rating", "services.review_display.ratings_plural" : "Ratings", "core_msg.powered_by" : "Powered by", "services.review_display.summary" : "Review Snapshot&#174;", "services.review_display.be_first_review" : "Be the first to review this product.", "services.review_display.displ_review" : "Displaying Review", "services.review_display.displ_review_plural" : "Displaying Reviews", "services.review_display.displ_review_previous" : "Previous", "services.review_display.displ_review_next" : "Next", "services.review_display.displ_review_of" : "of", "services.review_display.back_to_top" : "Back to Top", "services.review_display.thanks_for_feedback" : "Thank you for your feedback. Please note that only your first vote will be counted.", "services.review_display.thanks_for_notf_err" : "Thank you for notifying us of this error.", "services.review_display.only_one_vote_per_review" : "You may only submit one vote per review.", "services.review_display.already_notf_err" : "You have already notified us of an error for this review.", "services.no_reviews_header_extra_text_heading" : "", "services.no_reviews_header_extra_text_body" : "", "services.review_display.teaser_headline" : "Customer reviews", "services.review_display.teaser_subheadline" : "Showing most recent reviews", "services.review.issue.header" : "", "services.review.issue.please_let_us_know" : "Please let us know what kind of issue this is:", "services.review.issue.profanity" : "Profanity", "services.review.issue.wrong_product" : "Wrong product", "services.review.issue.spam" : "Spam", "services.review.issue.duplicate" : "Duplicate", "services.review.issue.copr_viol" : "Copyright violation", "services.review.issue.not_review" : "Not a product review", "services.review.issue.customer_image" : "Customer image", "services.review.issue.problem_with_image" : "Problem with image", "services.review.issue.other" : "Other", "services.review.issue.email_addr" : "Email Address:", "services.review.issue.email_subtext" : "", "services.review.issue.comments" : "Comments:", "services.review.yes" : "Yes", "services.review.no" : "No", "services.review.was_helpful" : "Was this review helpful to you?", "services.review.flag_review_before" : "You may also", "services.review.flag_review_after" : "flag this review","":""}};starsLookupLocalizedText ={"en_US":["Got it? Rate it.","Not Good","Needs That Special Something","Average, Ordinary","That's Good Stuff","Perfect. It doesn't get any better",]};
function prbj(){var correctInit = (typeof pr_zip_location != 'undefined') && (typeof pr_page_id != 'undefined'); if (prC_B){return true;}else if (!correctInit){return false;}prC_B=true; if (typeof pr_merchant_id == 'undefined'){if (prba() == 1){pr_merchant_id=4227;}else{pr_merchant_id = -1;}}prB_R = pr_zip_location; if (prB_R.charAt(prB_R.length-1) != '/'){prB_R += '/';}prB_R += 'pwr'; prB_S = prB_R + '/content'; prB_T = prB_R + '/engine'; prB_U = prB_R + '/engine/images'; return true;}
function prbk(mainDoc){if (typeof pr_write_review == 'undefined'){pr_write_review = '';}if (prC_C){return true;}else if (!prbj()){return false;}if (typeof pr_locale!= 'undefined'){var merchant_id = prbe(); if ( (typeof merchant_id != 'undefined') && merchant_id=='3498'){if (pr_locale == 'en') pr_locale='en_CA'; else if (pr_locale == 'fr') pr_locale='fr_CA';}else if (pr_locale == 'en') pr_locale='en_US'; prA_H = pr_locale;}prC_C=true; 
 mainDoc.write('<link rel="stylesheet" href="' + prB_T + '/'+'pr_styles_review.c'+'ss" type="text/css">\n'); var style_sheet=''; var allow_css_override=true; if (typeof pr_style_sheet == 'undefined' || !allow_css_override){style_sheet = prB_T + '/'+'merchant_styles2.c'+'ss';}else{style_sheet = pr_style_sheet;}mainDoc.write('<link rel="stylesheet" href="' + style_sheet + '" type="text/css">\n'); return true;}
function prbl(reviewCount){var pr_analytics=prat(""); 
 if (window.urchinTracker && pr_analytics.length > 0){var temp = ""; var bHadExistingAccount = (typeof _uacct != 'undefined'); if (bHadExistingAccount){temp = _uacct;}_uacct = pr_analytics; urchinTracker("/product_with_" + reviewCount + "_reviews"); if (bHadExistingAccount){_uacct = temp;}}}
function prbm(reviewCount){window.setTimeout('prbl(' + reviewCount + ')', 2000);}
function prbn(){var url = prag(prB_Y); var callback = function(xml){var reviewCount = 0; if (xml != null){prA_R = prai(prB_Y, xml); if (prA_R != null){if (prB_Q == null){prcf();}if (prA_R.fullReviewCount > 0){prbo();}reviewCount = eval(prA_R.fullReviewCount) + eval(prA_R.quickReviewCount);}else{prab(prB_A, prci());}prbm(reviewCount);}}; prav(url, callback);}
function prbo(){var url = prB_S + praa(prB_Y) + "/" + prB_Y + "_" + prA_B + "_" + prA_H + ".html"; var callback = function(text){text = prce(0) + prao(text, prB_Z); text += prce(0, true); var ids = prar(text,'review_id'); for (var i=0;i<ids.length;i++){var reviewId=ids[i]; var regXStr="<!-- review_id=\""+reviewId+"\" -->"; text=text.replace( new RegExp(regXStr,"g"), prch(reviewId) );}prab(prB_B, text);}; praw(url, callback);}var prC_F = new Date();var prC_G=0;
function startSort(selectBox){var currentTime = new Date(); 
 
 if (currentTime.getTime() - prC_F.getTime() > 1000){prC_F = currentTime; sortType=selectBox.selectedIndex; var sortCallback = function(){prbr(sortType); prca(0, prA_G);}; prbp(sortCallback);}}
function prbp(callback2){if (prA_S == null){var url = praf(prB_Y); var callback = function (xml){prbq(xml); prbr(prB_P); callback2();}; prav(url, callback);}else{callback2();}}
function prbq(xml){prA_S = new Array(); var localeList = xml.getElementsByTagName(prA_HsList)[0]; for (k = 0; k < localeList.childNodes.length; k++){if (localeList.childNodes[k].nodeType == 1){var oneLocaleElem = localeList.childNodes[k]; var localeId=oneLocaleElem.getAttribute("id"); if (localeId==prA_H){var counter = 0; for (j = 0; j < oneLocaleElem.childNodes.length; j++){if (oneLocaleElem.childNodes[j].nodeType == 1){var reviewElem = oneLocaleElem.childNodes[j]; if (reviewElem.nodeType ==1){var review = new Object(); review.id=reviewElem.getAttribute(prA_U); review.date=new Date(reviewElem.getAttribute(prA_V)); review.rating=reviewElem.getAttribute(prA_W); review.helpfulScore=reviewElem.getAttribute(prA_X); review.expertLevel=reviewElem.getAttribute(prA_Z); prA_S[counter]=review; counter++;}}}}}}}
function prbr(sortType){var sortFunc; if (sortType == prB_J){sortFunc=prbs;}else if (sortType == prB_K){sortFunc=prbt;}else if (sortType == prB_L){sortFunc=prbu;}else if (sortType == prB_M){sortFunc=prbv;}else if (sortType == prB_N){sortFunc=prbw;}else if (sortType == prB_O){sortFunc=prbx;}else if (sortType == prB_P){sortFunc=prby;}prA_S.sort(sortFunc); var anchorElem= document.getElementById(prB_W); if (anchorElem){anchorElem.focus();}}
function prbs(a, b){if (b.date.getTime() == a.date.getTime()){return prbz(a, b);}return b.date.getTime() - a.date.getTime();}
function prbt(a, b){if (b.date.getTime() == a.date.getTime()){return prbz(b, a);}return a.date.getTime() - b.date.getTime();}
function prbu(a, b){if (b.rating == a.rating){return prbz(a,b);}return b.rating - a.rating;}
function prbv(a, b){if (b.rating == a.rating){return prbz(a,b);}return a.rating - b.rating;}
function prbw(a, b){if (b.helpfulScore == a.helpfulScore){return prbz(a,b);}return eval(b.helpfulScore)-eval(a.helpfulScore);}
function prbx(a, b){if (b.helpfulScore == a.helpfulScore){return prbz(a,b);}return eval(a.helpfulScore)-eval(b.helpfulScore);}
function prby(a, b){if (b.expertLevel == a.expertLevel){return prbs(a,b);}return eval(b.expertLevel) - eval (a.expertLevel);}
function prbz(a,b){return eval(b.id)-eval(a.id);}var prC_H;var prC_I;
function prca(startIndex, endIndex){if (prA_S == null){var grCallback = function(){prcb(startIndex, endIndex);}; prbp(grCallback); return;}else{prcb(startIndex, endIndex);}}
function prcb(startIndex, endIndex){prC_G++; prC_I = new Array(); if (endIndex > prA_R.fullReviewCount-1){endIndex = prA_R.fullReviewCount;}prC_H= endIndex-startIndex; 
 
 for (i = 0; i < prC_H; i++){prC_I[i]="";}var slot = 0; for (i = startIndex; i < endIndex; i++){var review = prA_S[i]; var id = review.id; if (prA_T[id] != null &&
 prA_T[id] != 'undefined'){prcd(slot,prA_T[id], startIndex);}else{var url = prB_S + praa(prB_Y) + "/" + id + ".html"; var callback = prcc(slot,id, startIndex); praw(url, callback);}slot++;}}
function prcc(i, id, startIndex){var currentRequest = prC_G; return function(text){if (currentRequest == prC_G){if (text == null){text = "";}text = prC_E+text; text = prao(text, prB_Z); 
 var reviewId = prar(text,'review_id')[0]; var regXStr="<!-- review_id=\""+reviewId+"\" -->"; text=text.replace( new RegExp(regXStr,"g"), prch(reviewId) ); prA_T[id] = text; prcd(i,text, startIndex);}}}
function prcd(slot,text, startIndex){prC_I[slot] = text; prC_H--; if (prC_H == 0){var contents = ""; for (i = 0; i < prC_I.length; i++){contents += prC_I[i];}var paginationTop = prce(startIndex); var paginationBottom = prce(startIndex, true); prab(prB_B, paginationTop+contents+paginationBottom);}}var prC_J='u';
function prce(startIndex, isForFooter){var thisPage=null; var nextLink = null; var prevLink = null; var footerClass = ""; var returnFalse = "return false;"; var bttSpanClass="prNavBackToTopTop"; if (isForFooter){footerClass = " bottom"; if (prA_R.fullReviewCount > prA_G){if(prC_J=='u'){if (typeof document.getElementsByTagName('base')[0] == 'undefined'){prC_J='n';}else{prC_J='y';}}if (prC_J=='n'){returnFalse='';}}bttSpanClass="prNavBackToTopBottom";}var nextStartIndex = startIndex + prA_G; if (nextStartIndex > prA_R.fullReviewCount-1){nextStartIndex = prA_R.fullReviewCount;}else{nextLink='<a href=\"#ReviewHeader\" onclick=\"prca(' + nextStartIndex; var nextNextStartIndex = nextStartIndex + prA_G; if (nextNextStartIndex > prA_R.fullReviewCount){nextNextStartIndex = prA_R.fullReviewCount;}nextLink += ',' + nextNextStartIndex + '); '+returnFalse+'\">'+localized_text[prA_H]["services.review_display.displ_review_next"]+' &raquo;</a>';}var prevStartIndex = startIndex-prA_G; if (prevStartIndex >= 0){prevLink="<a href=\"#ReviewHeader\" onclick=\"prca(" + prevStartIndex + ", " + startIndex + "); "+returnFalse+"\">&laquo; "+localized_text[prA_H]["services.review_display.displ_review_previous"]+"</a>";}thisPage='<span class="prPageCount">'; if (startIndex + 1 == nextStartIndex){thisPage += localized_text[prA_H]["services.review_display.displ_review"]+' <strong>' + (startIndex+1) + '</strong>';}else{thisPage += localized_text[prA_H]["services.review_display.displ_review_plural"]+' <strong>' + (startIndex+1) + '-' + nextStartIndex + '</strong>';}thisPage += ' '+localized_text[prA_H]["services.review_display.displ_review_of"]+' ' + prA_R.fullReviewCount + '</span>'; var anchor='#'; if (typeof pr_back_to_top_link == 'string'){anchor=pr_back_to_top_link;}thisPage += '<span class="' + bttSpanClass + '"><a href="' + anchor + '">' + localized_text[prA_H]["services.review_display.back_to_top"] + '</a></span>'; 

 var contents = '<div class="prPagination'+footerClass+'">'; contents += thisPage; if (nextLink != null || prevLink != null){contents += '<span class="prPageNav">'; contents += (prevLink == null) ? localized_text[prA_H]["services.review_display.displ_review_previous"] : prevLink; contents += "&nbsp;|&nbsp;"; contents += (nextLink == null) ? localized_text[prA_H]["services.review_display.displ_review_next"] : nextLink; contents += '</span>';}contents += '</div>'; return contents;}
function prcf(){var url = prB_S + praa(prB_Y) + "/" + prB_Y + "_" + prB_QFile + "_" + prA_H + ".html"; var callback = function(header){if (header != null){header = prao(header, prB_Z); header = pram(header, 'SEO_ENABLED', prbf()); header = pram(header, 'SHOW_WRITE_REVIEW', prbg(pr_write_review)); prB_Q = header;}else{header = "";}prab(prB_A, prB_Q);}; praw(url, callback);}var prC_K={};var prC_L={};
function submitHelpfulVote(reviewId, voteType){var content=localized_text[prA_H]["services.review_display.thanks_for_feedback"]; if(prC_K[reviewId]==null || prC_K[reviewId]=='undefined'){prad(prA_F + "?command=helpfulVote&reviewId=" + reviewId + "&voteType=" + voteType); prC_K[reviewId] = 1;}else{content=localized_text[prA_H]["services.review_display.only_one_vote_per_review"];}prab("review_feedback" + reviewId, content);}
function launchErrorDiv(reviewId){if (prC_L[reviewId] == null || prC_L[reviewId]=='undefined'){document.getElementById('error_div' + reviewId).style.display="block";}else{var contents = localized_text[prA_H]["services.review_display.already_notf_err"]; prab('review_feedback' + reviewId, contents);}}
function prcg(reviewId){document.getElementById('error_div' + reviewId).style.display="none";}
function submitError(reviewId){var contents = localized_text[prA_H]["services.review_display.thanks_for_notf_err"]; var type = praj('error_radio' + reviewId); var comments = document.getElementById('error_comments' + reviewId).value; comments = comments.substring(0, 256); var contactEmail = document.getElementById('error_contact_email' + reviewId).value; var merchantId = (pr_merchant_id != -1) ? pr_merchant_id : 4227 ; var locHREF=document.location.href; if (typeof locHREF != 'undefined' && locHREF != null){var locDomain = locHREF.split("\/",4)[2]; comments+= "\n["+locDomain+"]";}prad(prA_F + "?command=helpfulVote&reviewId=" + reviewId + "&merchantId=" + merchantId + "&voteType=" + type + "&errorComments=" + pral(comments)+"&errorContactEmail=" + pral(contactEmail)); prab('review_feedback' + reviewId, contents); prC_K[reviewId] = 1; prC_L[reviewId] = 1; prcg(reviewId);}
function prch(reviewId){return prao(prC_D,{REVIEW_ID:reviewId})}
function prci(){var header = prao('<div id="prReviewSummary"><div class="prSummaryHeader"><a name="ReviewHeader"></a><span class="prSummaryTitle">@@@PRODUCT_REVIEW_SUMMARY@@@</span><span id="prSummaryCobrand_NR" class="prSummaryCobrand"> (@@@POWERED_BY@@@ <a class="prSummaryCobrandLink" href="javascript:showSmallPopup(\'http://www.powerreviews.com/legal/index_@@@LOCALE@@@.html\', 410, 420)">PowerReviews.com</a>)</span></div><div id="prNoReviewsExtraTextHeading">@@@NO_REVIEWS_EXTRA_TEXT_HEADING@@@</div><div id="prNoReviewsExtraTextBody">@@@NO_REVIEWS_EXTRA_TEXT_BODY@@@</div><div id="prSummaryWriteReviewId_NR" class="prSummaryWriteReview"> @@@SHOW_WRITE_REVIEW@@@ @@@BE_FIRST_TO_REVIEW@@@ <a href="@@@REVIEW_WRAPPER_URI@@@" class="prSummaryWriteReviewLink" id="writeReview">@@@WRITE_A_REVIEW@@@</a> @@@/SHOW_WRITE_REVIEW@@@ </div><div class="break"></div></div>', prB_Z); header = pram(header, 'SHOW_WRITE_REVIEW', prbg(pr_write_review)); return (header);}
function prData(pr_data_callback){if (typeof pr_data_callback != 'function'){return;}if (prbj()){var page_id = prae(pr_page_id); var url = prag(page_id); var callback = function (xml){var info = null; if (xml != null){info = prai(page_id, xml); if (info == null){info = new prah(pr_page_id, 0, 0, 0);}pr_data_callback(info);}}; prav(url, callback);}}
function prcj(page_id){var url = prag(page_id); var callback = function(xml){var info = null; if (xml != null ){info = prai(page_id, xml); if (info != null){var fullCount = 0; fullCount = info.fullReviewCount; if (fullCount>0){prck(page_id);}}}}; prav(url, callback);}
function prck(page_id){var url = prB_S + praa(page_id) + "/" + page_id + "_" + prA_D + "_" + prA_H + ".html"; var callback = function(reviewTeaserContents){if (reviewTeaserContents == null) teaserText = ""; else{teaserText='<div class="prTeaserReviewHeading">'+localized_text[prA_H]["services.review_display.teaser_headline"]+'</div><div class="prTeaserReviewSubHeading">'; teaserText+=localized_text[prA_H]["services.review_display.teaser_subheadline"]+'</div>'; teaserText+=reviewTeaserContents;}prab(prB_F, teaserText);}; praw(url, callback);}var prC_M='Got it? Rate it.';var prC_N='';
function prcl(page_id, write_review, read_review, snippetDivToWriteTo){var url = prag(page_id); var callback = function(xml){var tagHash ={}; var info = null; if (xml != null ){info = prai(page_id, xml); 
 var doSnippet=true; if (typeof pr_snippet_min_reviews != 'undefined'){if (info!=null){var numFullReviews = parseInt(info.fullReviewCount); if (numFullReviews < pr_snippet_min_reviews){doSnippet=false;}}else{doSnippet=false;}}if (doSnippet){var snippetTemplate = prcm(); var fullCount = 0; var quickCount = 0; var reviewCountPlural = true; var ratingCountPlural = true; 
 
 
 
 if (prA_H.substring(0, 2) == 'fr') 
 ratingCountPlural=false; var snippetMsg = prC_M; var averageRating='0'; var showReadReviews=false; if (info != null){fullCount = parseInt(info.fullReviewCount); quickCount = parseInt(info.quickReviewCount); averageRating = info.averageRating; if (fullCount + quickCount == 1){ratingCountPlural = false;}else{ratingCountPlural = true;}if (fullCount == 1){reviewCountPlural=false;}if (fullCount > 0){showReadReviews=true;}tagHash['WRITE_A_REVIEW_BEFORE_SNIPPET']=localized_text[prA_H]["services.review_display.write_a_review_before_snippet_with_reviews"];}else{tagHash['WRITE_A_REVIEW_BEFORE_SNIPPET']=localized_text[prA_H]["services.review_display.write_a_review_before_snippet_no_reviews"];}tagHash['REVIEW_WRAPPER_URI']=write_review; tagHash['READ_REVIEW_LINK']=read_review; tagHash['AVG_OVERALL_RATING']='' + averageRating; tagHash['STARS_BACKGROUND']=prB_U + '/'+'stars_smal'+'l.g'+'if'+''; tagHash['STARS_BACKGROUND_OFFSET']='' + (averageRating*-36); tagHash['AVG_OVERALL_RATING_MESSAGE']=starsLookupLocalizedText[prA_H][Math.round(averageRating)]; tagHash['AVG_OVERALL_RATING_COUNT']='' + (fullCount + quickCount); tagHash['SNIPPET_MSG']=snippetMsg; tagHash['REVIEW_COUNT']='' + fullCount; var ratings = ""; if (ratingCountPlural==true) ratings=localized_text[prA_H]["services.review_display.ratings_plural"]; else ratings=localized_text[prA_H]["services.review_display.ratings"]; tagHash['RATINGS']=ratings; tagHash['PRODUCT_RATING']=localized_text[prA_H]["services.review_display.product_rating"]; tagHash['WRITE_A_REVIEW_SNIPPET']=localized_text[prA_H]["services.review_display.write_a_review_snippet"]; tagHash['READ_REVIEW_BEFORE']=localized_text[prA_H]["services.review_display.read_review_before"]; var read_reviews = ""; if (reviewCountPlural==true) read_reviews=localized_text[prA_H]["services.review_display.read_review_after_plural"]; else read_reviews=localized_text[prA_H]["services.review_display.read_review_after"]; tagHash['READ_REVIEW_AFTER']=read_reviews; snippetTemplate = pram(snippetTemplate, 'SHOW_READ_REVIEWS', showReadReviews); snippetTemplate = pram(snippetTemplate, 'SHOW_WRITE_REVIEW', prbg(write_review)); var content = prao(snippetTemplate, tagHash); prab(snippetDivToWriteTo, content);}}}; prav(url, callback);}
function prcm(){return '<div class="prSnippetTitle">@@@PRODUCT_RATING@@@</div><div class="prSnippetRatingUnclickable"> <div class="prStars prStarsSmall" style="padding: 0; background-position: 0px @@@STARS_BACKGROUND_OFFSET@@@px; background-image: url(@@@STARS_BACKGROUND@@@)" title="@@@AVG_OVERALL_RATING_MESSAGE@@@">&#160;</div> <div class="prSnippetNumberOfRatingsText">&nbsp;(@@@AVG_OVERALL_RATING_COUNT@@@ @@@RATINGS@@@)</div></div>@@@SHOW_WRITE_REVIEW@@@<div class="prSnippetWriteReview">@@@WRITE_A_REVIEW_BEFORE_SNIPPET@@@ <a class="prSnippetLink" href="@@@REVIEW_WRAPPER_URI@@@">@@@WRITE_A_REVIEW_SNIPPET@@@</a></div>@@@/SHOW_WRITE_REVIEW@@@@@@SHOW_READ_REVIEWS@@@<div class="prSnippetReadReviews"><a class="prSnippetLink" href="@@@READ_REVIEW_LINK@@@">@@@READ_REVIEW_BEFORE@@@ @@@REVIEW_COUNT@@@ @@@READ_REVIEW_AFTER@@@</a></div>@@@/SHOW_READ_REVIEWS@@@';}
function showImagePopup(url, width, height){var sizedWindow = window.open('', "sizedWindow", "toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width="+width+",height="+height+",top=100,left=100"); sizedWindow.document.clear(); sizedWindow.document.writeln('<html><body>'); sizedWindow.document.writeln('<img style="position:absolute;top:0;left:0;" src="' + url + '">'); sizedWindow.document.writeln('</body> </html>'); sizedWindow.document.close(); sizedWindow.focus();}
function showSmallPopup(filename, height, width){smallWindow = window.open(filename, "smallWindow","toolbar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=" + width + ",height=" + height + ",top=200,left=200"); if (window.focus) smallWindow.focus();}
function showVideoPopup(url){var sizedWindow = window.open(url, "sizedWindow", "toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=no,width=435,height=350,top=100,left=100"); sizedWindow.document.clear(); sizedWindow.document.writeln('<html> <body style="margin: auto; padding: 0; text-align: center;">'); sizedWindow.document.writeln('<object width="425" height="350"> <param name="movie" value="'+url+'"></param> <embed src="'+url+'" type="application/x-shockwave-flash" width="425" height="350"></embed> </object>'); sizedWindow.document.writeln('</body> </html>'); sizedWindow.document.close(); sizedWindow.focus();}