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 sUserAgent = navigator.userAgent;var fAppVersion = parseFloat(navigator.appVersion);var prA_A = "";var prA_B = "";
function prab(sVersion1, sVersion2){var aVersion1 = sVersion1.split("."); var aVersion2 = sVersion2.split("."); 
 if (aVersion1.length > aVersion2.length){for (var i=0; i < aVersion1.length - aVersion2.length; i++){aVersion2.push("0");}}else if (aVersion1.length < aVersion2.length){for (var i=0; i < aVersion2.length - aVersion1.length; i++){aVersion1.push("0");}}for (var i=0; i < aVersion1.length; i++){if (aVersion1[i] < aVersion2[i]){return -1;}else if (aVersion1[i] > aVersion2[i]){return 1;}}return 0;}var isOpera = sUserAgent.indexOf("Opera") > -1;var isMinOpera4 = isMinOpera5 = isMinOpera6 = isMinOpera7 = isMinOpera7_5 = false;if (isOpera){var fOperaVersion; if(navigator.appName == "Opera"){fOperaVersion = fAppVersion;}else{var reOperaVersion = new RegExp("Opera (\\d+\\.\\d+)"); reOperaVersion.test(sUserAgent); fOperaVersion = parseFloat(RegExp["$1"]);}if (isMinOpera4 = fOperaVersion >= 4) prA_A = "Opera4"; if (isMinOpera5 = fOperaVersion >= 5) prA_A = "Opera5"; if (isMinOpera6 = fOperaVersion >= 6) prA_A = "Opera6"; if (isMinOpera7 = fOperaVersion >= 7) prA_A = "Opera7"; if (isMinOpera7_5 = fOperaVersion >= 7.5) prA_A = "Opera7.5";}var isKHTML = sUserAgent.indexOf("KHTML") > -1 
 || sUserAgent.indexOf("Konqueror") > -1 
 || sUserAgent.indexOf("AppleWebKit") > -1; 
 
var isSafari = isMinSafari1 = isMinSafari1_2 = false;var isMinKonq2_2 = isMinKonq3 = isMinKonq3_1 = isMinKonq3_2 = false;if (isKHTML){isSafari = sUserAgent.indexOf("AppleWebKit") > -1; isKonq = sUserAgent.indexOf("Konqueror") > -1; if (isSafari){var reAppleWebKit = new RegExp("AppleWebKit\\/(\\d+(?:\\.\\d*)?)"); reAppleWebKit.test(sUserAgent); var fAppleWebKitVersion = parseFloat(RegExp["$1"]); if (isMinSafari1 = fAppleWebKitVersion >= 85) prA_A = "Safari1"; if (isMinSafari1_2 = fAppleWebKitVersion >= 124) prA_A = "Safari1.2";}else if (isKonq){var reKonq = new RegExp("Konqueror\\/(\\d+(?:\\.\\d+(?:\\.\\d)?)?)"); reKonq.test(sUserAgent); if (isMinKonq2_2 = prab(RegExp["$1"], "2.2") >= 0) prA_A = "Konqueror2.2"; if (isMinKonq3 = prab(RegExp["$1"], "3.0") >= 0) prA_A = "Konqueror3.0"; if (isMinKonq3_1 = prab(RegExp["$1"], "3.1") >= 0) prA_A = "Konqueror3.1"; if (isMinKonq3_2 = prab(RegExp["$1"], "3.2") >= 0) prA_A = "Konqueror3.2";}}var isIE = sUserAgent.indexOf("compatible") > -1 
 && sUserAgent.indexOf("MSIE") > -1
 && !isOpera; 
var isMinIE4 = isMinIE5 = isMinIE5_5 = isMinIE6 = false;if (isIE){var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); reIE.test(sUserAgent); var fIEVersion = parseFloat(RegExp["$1"]); if (isMinIE4 = fIEVersion >= 4) prA_A = "IE4"; if (isMinIE5 = fIEVersion >= 5) prA_A = "IE5"; if (isMinIE5_5 = fIEVersion >= 5.5) prA_A = "IE5.5"; if (isMinIE6 = fIEVersion >= 6.0) prA_A = "IE6.0";}var isMoz = sUserAgent.indexOf("Gecko") > -1
 && !isKHTML;var isMinMoz1 = sMinMoz1_4 = isMinMoz1_5 = false;if (isMoz){var reMoz = new RegExp("rv:(\\d+\\.\\d+(?:\\.\\d+)?)"); reMoz.test(sUserAgent); if (isMinMoz1 = prab(RegExp["$1"], "1.0") >= 0) prA_A = "Mozilla1.0"; if (isMinMoz1_4 = prab(RegExp["$1"], "1.4") >= 0) prA_A = "Mozilla1.4"; if (isMinMoz1_5 = prab(RegExp["$1"], "1.5") >= 0) prA_A = "Mozilla1.5";}var isNS4 = !isIE && !isOpera && !isMoz && !isKHTML 
 && (sUserAgent.indexOf("Mozilla") == 0) 
 && (navigator.appName == "Netscape")
 && (fAppVersion >= 4.0);var isMinNS4 = isMinNS4_5 = isMinNS4_7 = isMinNS4_8 = false;if (isNS4){if (isMinNS4 = true) prA_A = "Netscape4"; if (isMinNS4_5 = fAppVersion >= 4.5) prA_A = "Netscape4.5"; if (isMinNS4_7 = fAppVersion >= 4.7) prA_A = "Netscape4.7"; if (isMinNS4_8 = fAppVersion >= 4.8) prA_A = "Netscape4.8";}var isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows");var isMac = (navigator.platform == "Mac68K") || (navigator.platform == "MacPPC") 
 || (navigator.platform == "Macintosh");var isUnix = (navigator.platform == "X11") && !isWin && !isMac;var isWin95 = isWin98 = isWinNT4 = isWin2K = isWinME = isWinXP = false;var isMac68K = isMacPPC = false;var isSunOS = isMinSunOS4 = isMinSunOS5 = isMinSunOS5_5 = false;if (isWin){if (isWin95 = sUserAgent.indexOf("Win95") > -1
 || sUserAgent.indexOf("Windows 95") > -1) prA_B = "Win95"; if (isWin98 = sUserAgent.indexOf("Win98") > -1
 || sUserAgent.indexOf("Windows 98") > -1) prA_B = "Win98"; if (isWinME = sUserAgent.indexOf("Win 9x 4.90") > -1
 || sUserAgent.indexOf("Windows ME") > -1) prA_B = "WinME"; if (isWin2K = sUserAgent.indexOf("Windows NT 5.0") > -1
 || sUserAgent.indexOf("Windows 2000") > -1) prA_B = "Win2k"; if (isWinXP = sUserAgent.indexOf("Windows NT 5.1") > -1
 || sUserAgent.indexOf("Windows XP") > -1) prA_B = "WinXP"; if (isWinNT4 = ((sUserAgent.indexOf("WinNT") > -1
 || sUserAgent.indexOf("Windows NT") > -1
 || sUserAgent.indexOf("WinNT4.0") > -1
 || sUserAgent.indexOf("Windows NT 4.0") > -1)
 && (!isWinME && !isWin2K && !isWinXP))) prA_B = "WinNT4";}if (isMac){if (isMac68K = sUserAgent.indexOf("Mac_68000") > -1
 || sUserAgent.indexOf("68K") > -1) prA_B = "Mac68k"; if (isMacPPC = sUserAgent.indexOf("Mac_PowerPC") > -1
 || sUserAgent.indexOf("PPC") > -1) prA_B = "MacPPC";}if (isUnix){if (isSunOS = sUserAgent.indexOf("SunOS") > -1) prA_B = "SunOS"; if (isSunOS){var reSunOS = new RegExp("SunOS (\\d+\\.\\d+(?:\\.\\d+)?)"); reSunOS.test(sUserAgent); isMinSunOS4 = prab(RegExp["$1"], "4.0") >= 0; isMinSunOS5 = prab(RegExp["$1"], "5.0") >= 0; isMinSunOS5_5 = prab(RegExp["$1"], "5.5") >= 0;}}var prA_C="/contents.xml";var prA_D="summary";var prA_E="header";var prA_F="http://services.powerreviews.com/SubmitReview.do";var prA_G="http://services.powerreviews.com/JSController.do";var prA_H=10;var prA_I="en";var prA_J={};
function prac(divId, msg){prA_J[divId]=msg; if (!document.getElementById(divId)){window.setTimeout('prad(\'' + divId + '\')', 1000);}else{prad(divId);}}
function prad(divId){try{var msg = prA_J[divId]; if (!msg){msg = '';}document.getElementById(divId).innerHTML=msg;}catch (e){}}
function prae(src){var image = new Image(); image.src = src;}
function praf(pageId){return pageId.replace(/\W/g, '__');}
function prag(pageId){return prB_R + praa(pageId) + "/" + pageId + "_meta.xml";}
function prah(pageId){return prB_R + praa(pageId) + "/contents.xml";}
function prai(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_K="productList";var prA_L="pageId";var prA_M="full";var prA_N="quick";var prA_O="avg";var prA_IsList="locales";
function praj(pageId, xml){var info = null; var prodList = xml.getElementsByTagName(prA_K)[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_I){var productList = oneLocaleElem.childNodes; for (j = 0; j < productList.length; j++){var product = productList[j]; if (product.nodeType == 1){var oneProduct = product.getAttribute(prA_L); if (oneProduct == pageId){info = new prai(pageId, product.getAttribute(prA_M), product.getAttribute(prA_N), product.getAttribute(prA_O) );}}}}}}}return info;}
function prak(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 pral(contents){if (document.getElementById("debug")){prac("debug", contents);}}
function pram(stringToEscape){if (encodeURIComponent){stringToEscape = encodeURIComponent(stringToEscape);}else{stringToEscape = escape(stringToEscape);}return (stringToEscape);}
function pran(string, conditionalTag, includeSection){return prao(string, conditionalTag, '@@@', '/', includeSection);}
function prao(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 = prar(string, startTagString, ''); returnString = prar(returnString, endTagString, '');}else{returnString += string.substring(0, startTagIndex); returnString += string.substring(endTagIndex + endTagString.length, string.length);}return returnString;}
function prap(replaceMe, replacements){return praq(replaceMe, replacements, '@@@', '@@@');}
function praq(replaceMe, replacements, startDelim, endDelim){for (var oneTag in replacements){var replacement = replacements[oneTag]; oneTag = startDelim + oneTag + endDelim; replaceMe = prar(replaceMe, oneTag, replacement);}return replaceMe;}
function prar(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 += prar(string.substring(i+txtLength,strLength),text,by); return newstr;}
function showSmallPopup(filename){smallWindow = window.open(filename, "smallWindow","toolbar=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=450,height=450"); if (window.focus) smallWindow.focus();}
function pras(trimMe){return trimMe.replace(/^\s+|\s+$/g,"");}
function prat(){return ("'");}var prA_Q=1;var prA_R=2;
function prau(url, callback){praw(url, callback, prA_Q);}
function prav(url, callback){praw(url, callback, prA_R);}
function praw(url, callback, type){var req = prax(); if (req != null){req.onreadystatechange= function(){var value; if (req.readyState == 4){if (req.status == 200){if (type == prA_Q){value = req.responseXML;}else{value = req.responseText;}}else{value = null;}callback(value);}}; req.open("GET", url, true); req.send("");}else{pral('XMLHttpRequest not supported on this browser.');}}
function prax(){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_S=null;var prA_T=null;var prA_U={};var prA_V="id";var prA_W="date";var prA_X="rating";var prA_Y="helpfulScore";var prA_Z="reviewCount";var prB_A="expertLevel";var prB_B="prHeader";var prB_C="prContents";var prB_D="prReviewEngineDiv";var prB_E="prReviewEngine";var prB_F="prSnippet";var prB_G="prSnippetMsg";var prB_H="prSnippetEngine";var prB_I=0;var prB_J=1;var prB_K=2;var prB_L=3;var prB_M=4;var prB_N=5;var prB_O=6;var prB_P = null;var prB_Q=null;var prB_R=null;var prB_S=null;var prB_T=null;var prB_U=null;var prB_V="writeReview";var prB_W=null;var prB_X=null;var prB_Y={};var prB_Z = false;var prC_A = false;var prC_B='';
function pray(){if (isIE){return (isWin && (isMinIE5));}else if (isOpera){return isMinOpera7_5;}else if (isKHTML){return isMinSafari1_2;}else if (isMoz){return isMinMoz1;}else if (isNS4){return false;}return false;}var mtb={};mtb[7609] = new prba(7609,'Elastic Path',true);
function praz(){var size=0; for (var i in mtb){size++;}return size;}
function prba(id, name, miniEnabled){this.id=id; this.name=name; this.miniEnabled=miniEnabled;}
function getprba(){return mtb[pr_merchant_id];}
function prbc(){var merchant = getprba(); if (typeof merchant != 'undefined'){return merchant.name;}return '';}
function prbd(){var merchant = getprba(); if (typeof merchant != 'undefined'){return merchant.miniEnabled;}return false;}
function prbe(){if (typeof pr_write_review == 'undefined'){return false;}return true;}
function prbf(mainDoc){var include = ""; if (include.length > 0){mainDoc.write('<scr' + 'ipt src="' + include + '" type="text/javascript">' + '</scr' + 'ipt>');}}
function engine(mainDoc){if (prbi(mainDoc)){prbg(mainDoc); prbf(mainDoc); if (pray()){prB_Y['RETAILER_DOC_ROOT'] = prB_Q; prB_Y['RETAILER_IMAGE_ROOT'] = prB_T; prB_Y['REVIEW_WRAPPER_URI'] = prC_B; prB_Y['MERCHANT_NAME'] = prbc(); prB_Y['MERCHANT_NAME_CLEAN'] = prbc().replace(/\W/g,''); prB_Y['POWERED_BY']=localized_text[prA_I]["core_msg.powered_by"]; prB_Y['PRODUCT_REVIEW_SUMMARY']=localized_text[prA_I]["services.review_display.summary"]; prB_Y['BE_FIRST_TO_REVIEW']=localized_text[prA_I]["services.review_display.be_first_review"]; prB_Y['WRITE_A_REVIEW']=localized_text[prA_I]["services.review_display.write_a_review"]; prB_Y['LOCALE']=prA_I; prB_Y['IMAGE_EXTENSION']='.g'+'if'; prB_X = praf(pr_page_id); prbl();}else{var notAvailable=""; prac(prB_C, notAvailable);}}}
function snippet(mainDoc){if(prbi(mainDoc)){if (pray()){var page_id = praf(pr_page_id); 
 var read_review = ''; if (typeof pr_read_review != 'undefined'){read_review = pr_read_review;}else{read_review="#ReviewHeader";}mainDoc.write('<div id=\"' + prB_F + page_id + '\"' + ' class=\"' + prB_H + '\"></div>'); prcg(page_id, read_review);}}}
function prbg(mainDoc){mainDoc.write('<div id=\"' + prB_D + '\" class=\"' + prB_E + '\">'); mainDoc.write('<div id=\"' + prB_B + '\"></div>'); mainDoc.write('<div id=\"' + prB_C + '\"></div>'); mainDoc.write('</div>');}localized_text ={"en":{"services.review_display.product_rating" : "Product Rating", "services.review_display.write_a_review" : "Write a Review", "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" : "Product Reviews Summary", "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.thanks_for_feedback" : "Thank you for your feedback.", "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.","":""},
 "fr":{"services.review_display.product_rating" : "Appréciation de ce produit", "services.review_display.write_a_review" : "Écrire une évaluation", "services.review_display.read_review_before" : "Lire", "services.review_display.read_review_after" : "évaluation", "services.review_display.read_review_after_plural" : "évaluations", "services.review_display.ratings" : "appréciation", "services.review_display.ratings_plural" : "appréciations", "core_msg.powered_by" : "Développé par", "services.review_display.summary" : "Résumé des évaluations de ce produit", "services.review_display.be_first_review" : "Soyez le premier à évaluer ce produit.", "services.review_display.displ_review" : "Affichage de l'évaluation", "services.review_display.displ_review_plural" : "Affichage des évaluations", "services.review_display.displ_review_previous" : "Précédente", "services.review_display.displ_review_next" : "Suivante", "services.review_display.displ_review_of" : "de", "services.review_display.thanks_for_feedback" : "Merci de votre commentaire.", "services.review_display.thanks_for_notf_err" : "Merci de nous informer de cette erreur.", "services.review_display.only_one_vote_per_review" : "Vous pouvez seulement soumettre une voix par revue.", "services.review_display.already_notf_err" : "Vous nous avez déjà informés d'une erreur pour cette revue.","":""}};starsLookupLocalizedText ={"en":["Got it? Rate it.","Not Good","Needs That Special Something","Average, Ordinary","That's Good Stuff","Perfect. It doesn't get any better",],
 "fr":["Vous l'avez ? Notez-le.","Pas bon","Place à amélioration","Moyen, ordinaire","Bon produit","Parfait. On ne peut rêver mieux",]};
function prbh(){var correctInit = (typeof pr_zip_location != 'undefined') && (typeof pr_page_id != 'undefined'); if (prB_Z){return true;}else if (!correctInit){return false;}prB_Z=true; if (typeof pr_merchant_id == 'undefined'){if (praz() == 1){pr_merchant_id=7609;}else{pr_merchant_id = -1;}}prB_Q = pr_zip_location; if (prB_Q.charAt(prB_Q.length-1) != '/'){prB_Q += '/';}prB_Q += 'pwr'; prB_R = prB_Q + '/content'; prB_S = prB_Q + '/engine'; prB_T = prB_Q + '/engine/images'; return true;}
function prbi(mainDoc){if (typeof pr_write_review != 'undefined'){prC_B = pr_write_review;}if (prC_A){return true;}else if (!prbh()){return false;}if (typeof pr_locale!= 'undefined')
 prA_I = pr_locale; prC_A=true; 
 mainDoc.write('<link rel="stylesheet" href="' + prB_S + '/'+'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_S + '/'+'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 prbj(reviewCount){var pr_analytics=pras(""); 
 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 prbk(reviewCount){window.setTimeout('prbj(' + reviewCount + ')', 2000);}
function prbl(){var url = prah(prB_X); var callback = function(xml){var reviewCount = 0; if (xml != null){prA_S = praj(prB_X, xml); if (prA_S != null){if (prB_P == null){prcd();}if (prA_S.fullReviewCount > 0){prbm();}reviewCount = eval(prA_S.fullReviewCount) + eval(prA_S.quickReviewCount);}else{prac(prB_B, prcf());}prbk(reviewCount);}}; prau(url, callback);}
function prbm(){var url = prB_R + praa(prB_X) + "/" + prB_X + "_" + prA_D + "_" + prA_I + ".html"; var callback = function(text){text = prcc(0) + prap(text, prB_Y); text += prcc(0, true); prac(prB_C, text);}; prav(url, callback);}var prC_C = new Date();var prC_D=0;
function startSort(selectBox){var currentTime = new Date(); 
 
 if (currentTime.getTime() - prC_C.getTime() > 1000){prC_C = currentTime; sortType=selectBox.selectedIndex; var sortCallback = function(){prbp(sortType); prby(0, prA_H);}; prbn(sortCallback);}}
function prbn(callback2){if (prA_T == null){var url = prag(prB_X); var callback = function (xml){prbo(xml); prbp(prB_O); callback2();}; prau(url, callback);}else{callback2();}}
function prbo(xml){prA_T = new Array(); var localeList = xml.getElementsByTagName(prA_IsList)[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_I){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_V); review.date=new Date(reviewElem.getAttribute(prA_W)); review.rating=reviewElem.getAttribute(prA_X); review.helpfulScore=reviewElem.getAttribute(prA_Y); review.expertLevel=reviewElem.getAttribute(prB_A); prA_T[counter]=review; counter++;}}}}}}}
function prbp(sortType){var sortFunc; if (sortType == prB_I){sortFunc=prbq;}else if (sortType == prB_J){sortFunc=prbr;}else if (sortType == prB_K){sortFunc=prbs;}else if (sortType == prB_L){sortFunc=prbt;}else if (sortType == prB_M){sortFunc=prbu;}else if (sortType == prB_N){sortFunc=prbv;}else if (sortType == prB_O){sortFunc=prbw;}prA_T.sort(sortFunc); document.getElementById(prB_V).focus();}
function prbq(a, b){if (b.date.getTime() == a.date.getTime()){return prbx(a, b);}return b.date.getTime() - a.date.getTime();}
function prbr(a, b){if (b.date.getTime() == a.date.getTime()){return prbx(b, a);}return a.date.getTime() - b.date.getTime();}
function prbs(a, b){if (b.rating == a.rating){return prbx(a,b);}return b.rating - a.rating;}
function prbt(a, b){if (b.rating == a.rating){return prbx(a,b);}return a.rating - b.rating;}
function prbu(a, b){if (b.helpfulScore == a.helpfulScore){return prbx(a,b);}return eval(b.helpfulScore)-eval(a.helpfulScore);}
function prbv(a, b){if (b.helpfulScore == a.helpfulScore){return prbx(a,b);}return eval(a.helpfulScore)-eval(b.helpfulScore);}
function prbw(a, b){if (b.expertLevel == a.expertLevel){return prbq(a,b);}return eval(b.expertLevel) - eval (a.expertLevel);}
function prbx(a,b){return eval(b.id)-eval(a.id);}var prC_E;var prC_F;
function prby(startIndex, endIndex){if (prA_T == null){var grCallback = function(){prbz(startIndex, endIndex);}; prbn(grCallback); return;}else{prbz(startIndex, endIndex);}}
function prbz(startIndex, endIndex){prC_D++; prC_F = new Array(); if (endIndex > prA_S.fullReviewCount-1){endIndex = prA_S.fullReviewCount;}prC_E= endIndex-startIndex; 
 
 for (i = 0; i < prC_E; i++){prC_F[i]="";}var slot = 0; for (i = startIndex; i < endIndex; i++){var review = prA_T[i]; var id = review.id; if (prA_U[id] != null &&
 prA_U[id] != 'undefined'){prcb(slot,prA_U[id], startIndex);}else{var url = prB_R + praa(prB_X) + "/" + id + ".html"; var callback = prca(slot,id, startIndex); prav(url, callback);}slot++;}}
function prca(i, id, startIndex){var currentRequest = prC_D; return function(text){if (currentRequest == prC_D){if (text == null){text = "";}text = prap(text, prB_Y); prA_U[id] = text; prcb(i,text, startIndex);}}}
function prcb(slot,text, startIndex){prC_F[slot] = text; prC_E--; if (prC_E == 0){var contents = ""; for (i = 0; i < prC_F.length; i++){contents += prC_F[i];}var paginationTop = prcc(startIndex); var paginationBottom = prcc(startIndex, true); prac(prB_C, paginationTop+contents+paginationBottom);}}
function prcc(startIndex, isForFooter){var thisPage=null; var nextLink = null; var prevLink = null; var footerClass = ""; var returnFalse = "return false;"; if (isForFooter){footerClass = " bottom"; returnFalse = "";}var nextStartIndex = startIndex + prA_H; if (nextStartIndex > prA_S.fullReviewCount-1){nextStartIndex = prA_S.fullReviewCount;}else{nextLink='<a href=\"#ReviewHeader\" onclick=\"prby(' + nextStartIndex; var nextNextStartIndex = nextStartIndex + prA_H; if (nextNextStartIndex > prA_S.fullReviewCount){nextNextStartIndex = prA_S.fullReviewCount;}nextLink += ',' + nextNextStartIndex + '); '+returnFalse+'\">'+localized_text[prA_I]["services.review_display.displ_review_next"]+' &raquo;</a>';}var prevStartIndex = startIndex-prA_H; if (prevStartIndex >= 0){prevLink="<a href=\"#ReviewHeader\" onclick=\"prby(" + prevStartIndex + ", " + startIndex + "); "+returnFalse+"\">&laquo; "+localized_text[prA_I]["services.review_display.displ_review_previous"]+"</a>";}thisPage='<span class="prPageCount">'; if (startIndex + 1 == nextStartIndex){thisPage += localized_text[prA_I]["services.review_display.displ_review"]+' <strong>' + (startIndex+1) + '</strong>';}else{thisPage += localized_text[prA_I]["services.review_display.displ_review_plural"]+' <strong>' + (startIndex+1) + '-' + nextStartIndex + '</strong>';}thisPage += ' '+localized_text[prA_I]["services.review_display.displ_review_of"]+' ' + prA_S.fullReviewCount + '</span>'; var contents = '<div class="prPagination'+footerClass+'">'; contents += thisPage; if (nextLink != null || prevLink != null){contents += '<span class="prPageNav">'; contents += (prevLink == null) ? localized_text[prA_I]["services.review_display.displ_review_previous"] : prevLink; contents += "&nbsp;|&nbsp;"; contents += (nextLink == null) ? localized_text[prA_I]["services.review_display.displ_review_next"] : nextLink; contents += '</span>';}contents += '</div>'; return contents;}
function prcd(){var url = prB_R + praa(prB_X) + "/" + prB_X + "_" + prA_E + "_" + prA_I + ".html"; var callback = function(header){if (header != null){header = prap(header, prB_Y); header = pran(header, 'SEO_ENABLED', prbd()); header = pran(header, 'SHOW_WRITE_REVIEW', prbe()); prB_P = header;}else{header = "";}prac(prB_B, prB_P);}; prav(url, callback);}var prC_G={};var prC_H={};
function submitHelpfulVote(reviewId, voteType){var content=localized_text[prA_I]["services.review_display.thanks_for_feedback"]; if(prC_G[reviewId]==null || prC_G[reviewId]=='undefined'){prae(prA_G + "?command=helpfulVote&reviewId=" + reviewId + "&voteType=" + voteType); prC_G[reviewId] = 1;}else{content=localized_text[prA_I]["services.review_display.only_one_vote_per_review"];}prac("review_feedback" + reviewId, content);}
function launchErrorDiv(reviewId){if (prC_H[reviewId] == null || prC_H[reviewId]=='undefined'){document.getElementById('error_div' + reviewId).style.display="block";}else{var contents = localized_text[prA_I]["services.review_display.already_notf_err"]; prac('review_feedback' + reviewId, contents);}}
function prce(reviewId){document.getElementById('error_div' + reviewId).style.display="none";}
function submitError(reviewId){var contents = localized_text[prA_I]["services.review_display.thanks_for_notf_err"]; var type = prak('error_radio' + reviewId); var comments = document.getElementById('error_comments' + reviewId).value; var contactEmail = document.getElementById('error_contact_email' + reviewId).value; comments = comments.substring(0, 256); prae(prA_G + "?command=helpfulVote&reviewId=" + reviewId + "&merchantId=" + pr_merchant_id + "&voteType=" + type + "&errorComments=" + pram(comments)+"&errorContactEmail=" + pram(contactEmail)); prac('review_feedback' + reviewId, contents); prC_G[reviewId] = 1; prC_H[reviewId] = 1; prce(reviewId);}
function prcf(){var header = prap('<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@@@&nbsp;<a class="prSummaryCobrandLink" href="javascript:showSmallPopup(\'http://www.powerreviews.com/legal/index_@@@LOCALE@@@.html\', 410, 420)">PowerReviews.com</a>)</span></div><!--prSummaryHeader--><div id="prSummaryWriteReviewId_NR" class="prSummaryWriteReview">@@@SHOW_WRITE_REVIEW@@@@@@BE_FIRST_TO_REVIEW@@@ <a href="@@@REVIEW_WRAPPER_URI@@@" id="writeReview">@@@WRITE_A_REVIEW@@@</a>@@@/SHOW_WRITE_REVIEW@@@</div><!--prSummaryWriteReview--></div><!--prReviewSummary-->', prB_Y); header = pran(header, 'SHOW_WRITE_REVIEW', prbe()); return (header);}
function prData(pr_data_callback){if (typeof pr_data_callback != 'function'){return;}if (prbh()){var page_id = praf(pr_page_id); var url = prah(page_id); var callback = function (xml){var info = null; if (xml != null){info = praj(page_id, xml); if (info == null){info = new prai(pr_page_id, 0, 0, 0);}pr_data_callback(info);}}; prau(url, callback);}}var prC_I='Got it? Rate it.';var prC_J='';
function prcg(page_id, read_review){var url = prah(page_id); var callback = function(xml){var tagHash ={}; var info = null; if (xml != null ){info = praj(page_id, xml); var snippetTemplate = prch(); var fullCount = 0; var quickCount = 0; var reviewCountPlural = true; var ratingCountPlural = true; 
 
 
 
 if (prA_I == 'fr')
 ratingCountPlural=false; var snippetMsg = prC_I; var averageRating='0'; var showReadReviews=false; if (info != null){fullCount = eval(info.fullReviewCount); quickCount = eval(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['REVIEW_WRAPPER_URI']=prC_B; tagHash['READ_REVIEW_LINK']=read_review; tagHash['AVG_OVERALL_RATING']='' + averageRating; tagHash['STARS_BACKGROUND']=prB_T + '/'+'stars_smal'+'l.g'+'if'+''; tagHash['STARS_BACKGROUND_OFFSET']='' + (averageRating*-36); tagHash['AVG_OVERALL_RATING_MESSAGE']=starsLookupLocalizedText[prA_I][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_I]["services.review_display.ratings_plural"]; else ratings=localized_text[prA_I]["services.review_display.ratings"]; tagHash['RATINGS']=ratings; tagHash['PRODUCT_RATING']=localized_text[prA_I]["services.review_display.product_rating"]; tagHash['WRITE_A_REVIEW']=localized_text[prA_I]["services.review_display.write_a_review"]; tagHash['READ_REVIEW_BEFORE']=localized_text[prA_I]["services.review_display.read_review_before"]; var read_reviews = ""; if (reviewCountPlural==true) read_reviews=localized_text[prA_I]["services.review_display.read_review_after_plural"]; else read_reviews=localized_text[prA_I]["services.review_display.read_review_after"]; tagHash['READ_REVIEW_AFTER']=read_reviews; snippetTemplate = pran(snippetTemplate, 'SHOW_READ_REVIEWS', showReadReviews); snippetTemplate = pran(snippetTemplate, 'SHOW_WRITE_REVIEW', prbe()); var content = prap(snippetTemplate, tagHash); prac(prB_F + page_id, content);}}; prau(url, callback);}
function prch(){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"><a class="prSnippetLink" href="@@@REVIEW_WRAPPER_URI@@@">@@@WRITE_A_REVIEW@@@</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 prci(){prA_U={}; prC_G={};}
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><head> <title>PowerReviews.com</title></head><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> <head> <title>PowerReviews.com</title> </head> <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();}