function AddComment(){}AddComment.currentCount=0;AddComment.maxCount=1000;AddComment.validator=null;AddComment.focus=function(c){var a=$("#comment_Description");a.focus();var b=a.val().length;if(b>0){setCursorPosition(a.get(0),b)}};AddComment.edit=function(a){$("#addComment .loading").show();$("#addComment .data").hide();$("#addComment .header .title").text("Edit Comment");lightboxElement("addComment");$.getJSON("/comments/details/"+a,function(b){$("#addComment #addCommentForm").attr("action","/comments/editcomment");$("#addComment #addCommentForm .content .data").append('<input id="id" class="ignore" type="hidden" value="'+b.Id+'" name="id" />');$("#comment_Description").val(b.Description);$("#addComment .loading").hide();$("#addComment .data").show()});AddComment.initialize()};AddComment.add=function(a){$("#addComment .loading").hide();$("#addComment .data").show();$("#addComment .header .title").text("Add Comment");if(a){$("#comment_Description").html(a)}lightboxElement("addComment");AddComment.initialize()};AddComment.initialize=function(){AddComment.focus();$("#comment_Description").bind("input paste keyup blur focus",AddComment.updateCounter);AddComment.validator=$("#addCommentForm").validate({errorClass:"input-validation-error",errorLabelContainer:$("#addComment .errors"),rules:{"comment.Description":{required:true,noHtml:true,maxlength:AddComment.maxCount}},messages:{"comment.Description":{required:"Comment is required.",noHtml:"HTML is not allowed.",maxlength:"Comments are limited to "+AddComment.maxCount+" characters."}}})};AddComment.submit=function(){if(AddComment.validator.form()){$("#addCommentForm .submit").attr("disabled","true");return true}return false};AddComment.updateCounter=function(d){var b=$("#addComment .counter");var c=$("#addComment .count");var a=$("#comment_Description");if(d.type=="keyup"){a.valid()}if(d.type=="paste"){AddComment.currentCount=a.val().length+clipboardData.getData("text").length}else{AddComment.currentCount=a.val().length}c.text(AddComment.maxCount-AddComment.currentCount);if(AddComment.currentCount>AddComment.maxCount){c.addClass("error")}else{c.removeClass("error")}if(AddComment.currentCount>=(AddComment.maxCount*0.9)){b.show()}else{b.hide()}};function AddDeal(){}AddDeal.validator=null;AddDeal.hideLoading=function(){$("#addDeal .loading").hide()};AddDeal.loadThumbnails=function(b){if(b.Images.length>0){var a=0;$.each(b.Images,function(c){$("#thumbnails").append("<div position="+(c+1)+' score="0" class="thumbnailContainer"><img id="thumbnail'+(c+1)+'" /></div>');$("#thumbnail"+(c+1)).load(function(){if(++a==b.Images.length){AddDeal.loadThumbnailsComplete(b)}}).error(function(){if(++a==b.Images.length){AddDeal.loadThumbnailsComplete(b)}}).attr("src",$.trim(b.Images[c]))})}else{AddDeal.loadThumbnailsComplete(b)}};AddDeal.loadThumbnailsComplete=function(b){$("#thumbnails .thumbnailContainer").each(function(){AddDeal.processThumbnail($(this).find("img"))}).tsort({attr:"score",order:"desc"}).hide();if($("#thumbnails .thumbnailContainer").length>0){$("#thumbnails").append('<div id="noimage" style="diplay:none" class="thumbnailContainer"><img id="noImage" src="/Images/emptyThumbnail.gif" /></div>');var d=$("#thumbnails .thumbnailContainer:first");AddDeal.setActiveThumbnail(d);$("#thumbnailsContainer").removeAttr("style");$("#thumbnailsContainer .previous").click(function(){if($(this).hasClass("enabled")){AddDeal.previousThumbnail()}});$("#thumbnailsContainer .next").click(function(){if($(this).hasClass("enabled")){AddDeal.nextThumbnail()}})}$("#addDeal .preview input, #addDeal .preview textarea").removeClass("ignore");if(b.Suggestion.Url){$("#deal_Url").val(b.Suggestion.Url)}$("#deal_Title").val(b.Suggestion.Title.substring(0,100));$("#deal_Description").val(b.Suggestion.Description.substring(0,1000));$("#deal_Tags").val(b.Suggestion.Tags.join(" "));$("#deal_Price").val(b.Suggestion.Price?b.Suggestion.Price.toFixed(2):"");for(var a=0;a<b.Prices.length;a++){b.Prices[a]=b.Prices[a].toFixed(2).toString()}if(b.Prices.length>1){$("#deal_Price").combobox({arrowURL:"/images/combobox.png",autoShow:false,data:b.Prices});$("#deal_Price").width(49)}$("#deal_Title").Watermark("Title","#AAA");$("#deal_Description").Watermark("Description / instructions / commentary","#AAA");$("#deal_Tags").Watermark("Separate up to five tags with spaces. Combine multiple words into single-words.","#AAA");$("#deal_Tags").autocomplete("/deals/tags",{multiple:true,multipleSeparator:" ",formatItem:function(f){var e=f.toString().split(",");return e[0]+" ("+e[1]+")"},selectFirst:false});var c=$("#addDeal .similar ul");c.html("");$.each(b.Similar,function(){c.append('<li><a href="/deals/details/'+this.Id+"/"+this.Slug+'" target="_blank">'+this.Summary+"</a></li>")});if(b.Similar.length>0){$("#addDeal .similar").show()}AddDeal.hideLoading();$("#addDeal .preview").show();$("#addDeal .whoa").show();$('#addDeal .footer .buttons button[type="submit"]').html("submit");$("#addDeal .footer").show()};AddDeal.nextThumbnail=function(){var a=$(".selectedThumbnail").next();if(a.hasClass("thumbnailContainer")){AddDeal.setActiveThumbnail(a)}};AddDeal.previousThumbnail=function(){var a=$(".selectedThumbnail").prev();if(a.hasClass("thumbnailContainer")){AddDeal.setActiveThumbnail(a)}};AddDeal.processThumbnail=function(e){var d=16;var j=64;var k=e.height();var a=e.width();var g=(k<a)?(k/a).toFixed(3):(a/k).toFixed(3);if((a<d)||(k<d)||(g<0.1)){$(e).parents("div:first").remove()}else{var b=Math.sqrt(k*a);var h=100;if(b>50){h=50}if(b>100){h=10}if(b>200){h=1}var f=50-$(e).parents("div:first").attr("position");var c=(Math.log(f)*(f/h*g*10)*g).toFixed(3);$(e).parents("div:first").attr("score",c);AddDeal.resizeThumbnail(e,j)}};AddDeal.resizeThumbnail=function(f,b){var a=f.height();var d=f.width();if((d>b)||(a>b)){if(d>a){var c=Math.round(b/(d/a));f.css("width",b+"px");f.css("height",c+"px");f.css("padding-top",Math.round((b-c)/2)+"px")}else{if(a>d){var e=Math.round(b/(a/d));f.css("width",Math.round(b/(a/d))+"px");f.css("height",b+"px");f.css("padding-left",Math.round((b-e)/2)+"px")}else{f.css("width",b+"px");f.css("height",b+"px")}}}else{if(a<b){f.css("padding-top",Math.round((b-a)/2)+"px").css("padding-left",Math.round((b-d)/2)+"px")}}};AddDeal.setActiveThumbnail=function(c){var a=$("#thumbnails .thumbnailContainer").removeClass("selectedThumbnail").hide().size();var b=c.addClass("selectedThumbnail").show().find("img").attr("src");if(c.attr("id")!="noimage"){$("#deal_thumbnail").attr("value",b)}else{$("#deal_thumbnail").attr("value","")}selectedThumbnail=$("#thumbnails .thumbnailContainer").index(c)+1;if(selectedThumbnail>1){$("#thumbnailsContainer .previous").addClass("enabled")}else{$("#thumbnailsContainer .previous").removeClass("enabled")}if(selectedThumbnail<a){$("#thumbnailsContainer .next").addClass("enabled")}else{$("#thumbnailsContainer .next").removeClass("enabled")}};AddDeal.show=function(a){if(!User.isAuthenticated){User.loginWithAction("add");return}AddDeal.hideLoading();$("#addDeal .preview").hide();$("#addDeal .preview input, #addDeal .preview textarea").addClass("ignore");$("#thumbnailsContainer").css({left:"-9999px",position:"absolute",display:"block"});$("#thumbnails .thumbnailContainer").remove();$("#thumbnailsContainer .button").removeClass("enabled");$("#deal_thumbnail").attr("value","");lightboxElement("addDeal",{containerCss:{width:"784px"}});AddDeal.validator=$("#addDealForm").validate({errorClass:"input-validation-error",ignore:".ignore",rules:{"deal.Url":{regex:/^(https?):\/\/.+$/i},"deal.Title":{noHtml:true,requiredWithWatermark:true},"deal.Price":{currencyNumberOnly:true},"deal.Description":{noHtml:true},"deal.Tags":{noHtml:true,tagLimit:true}},messages:{"deal.Url":{required:"",regex:""},"deal.Title":{required:"",noHtml:"",requiredWithWatermark:"",maxlength:""},"deal.Price":{currencyNumberOnly:""},"deal.Description":{noHtml:"",maxlength:""},"deal.Tags":{noHtml:"",maxlength:"",tagLimit:""}},focusInvalid:false});$("#deal_Url").removeAttr("disabled").focus();if(a){$("#deal_Url").val(a);setTimeout(AddDeal.submit,100)}};AddDeal.showLoading=function(a){$("#addDeal .loading p").html(a||"Loading...");$("#addDeal .loading").show()};AddDeal.submit=function(){$.Watermark.HideAll();var a=$("#deal_Url");if(a.attr("readonly")){if(AddDeal.validator.form()){$("#addDeal .preview").hide();$("#addDeal #thumbnailsContainer").hide();$("#addDeal .footer").hide();AddDeal.showLoading("Whew, you're all done. Hang in there while we add your deal.");return true}}else{if(AddDeal.validator.element(a)){a.attr("readonly","true").blur();$.ajax({url:"/Deals/Suggest",cache:false,data:{uri:a.val()},dataType:"json",success:function(b){AddDeal.loadThumbnails(b)}});$("#addDeal .footer").hide();AddDeal.showLoading("We're finding the product name, price, and picking out some photos for you to choose from")}}$.Watermark.ShowAll();return false};function AddTattle(){}AddTattle.currentCount=0;AddTattle.maxCount=1000;AddTattle.validator=null;AddTattle.show=function(){if(!User.isAuthenticated){User.loginWithAction("tattle");return}lightboxElement("addTattle");$("#tattle_Description").bind("input paste keyup blur focus",AddTattle.updateCounter);AddTattle.validator=$("#addTattleForm").validate({ignore:".ignore",errorClass:"input-validation-error",errorLabelContainer:$("#addTattle .errors"),rules:{"tattle.Description":{noHtml:true,maxlength:AddTattle.maxCount}},messages:{"tattle.Description":{noHtml:"HTML is not allowed.",maxlength:"Comments are limited to "+AddTattle.maxCount+" characters."}}})};AddTattle.submit=function(){if(AddTattle.validator.form()){$("#addTattleForm .submit").attr("disabled","true");return true}return false};AddTattle.updateCounter=function(d){var b=$("#addTattle .counter");var c=$("#addTattle .count");var a=$("#tattle_Description");if(d.type=="keyup"){a.valid()}if(d.type=="paste"){AddTattle.currentCount=a.val().length+clipboardData.getData("text").length}else{AddTattle.currentCount=a.val().length}c.text(AddTattle.maxCount-AddTattle.currentCount);if(AddTattle.currentCount>AddTattle.maxCount){c.addClass("error")}else{c.removeClass("error")}if(AddTattle.currentCount>=(AddTattle.maxCount*0.9)){b.show()}else{b.hide()}};function AskQuestion(){}AskQuestion.validator=null;AskQuestion.hideLoading=function(){$("#askQuestion .loading").hide()};AskQuestion.show=function(a){if(!User.isAuthenticated){User.loginWithAction("ask");return}AskQuestion.hideLoading();$("#askQuestion .preview").hide();$("#askQuestion .preview input, #askQuestion .preview textarea").addClass("ignore");lightboxElement("askQuestion",{containerCss:{width:"784px"}});AskQuestion.validator=$("#askQuestionForm").validate({errorClass:"input-validation-error",ignore:".ignore",rules:{questionInput:{required:true,noHtml:true},"question.Title":{required:true,noHtml:true,requiredWithWatermark:true},"question.Description":{noHtml:true},"question.Tags":{noHtml:true,tagLimit:true}},messages:{questionInput:{required:"",noHtml:""},"question.Title":{required:"",noHtml:"",requiredWithWatermark:""},"question.Description":{noHtml:"",maxlength:""},"question.Tags":{noHtml:"",maxlength:"",tagLimit:""}},focusInvalid:false});$("#questionInput").removeAttr("disabled").focus();if(a){$("#questionInput").val(a).blur();$("#askQuestion .submit").eq(0).focus();setTimeout(AskQuestion.submit,100)}};AskQuestion.showLoading=function(a){$("#askQuestion .loading p").html(a||"Loading...");$("#askQuestion .loading").show()};AskQuestion.submit=function(){$.Watermark.HideAll();var a=$("#questionInput");if(a.attr("readonly")){if(AskQuestion.validator.form()){$("#askQuestion .preview").hide();$("#askQuestion #thumbnailsContainer").hide();$("#askQuestion .footer").hide();AskQuestion.showLoading("Whew, you're all done. Hang in there while we ask your question.");return true}}else{if(AskQuestion.validator.element(a)){a.attr("readonly","true").blur();$.ajax({url:"/Questions/Suggest",cache:false,data:{question:a.val()},dataType:"json",success:function(b){AskQuestion.suggestSuccess(b)}});$("#askQuestion .footer").hide();AskQuestion.showLoading("We're finding similar questions to help you out")}}$.Watermark.ShowAll();return false};AskQuestion.suggestSuccess=function(a){$("#askQuestion .preview input, #askQuestion .preview textarea").removeClass("ignore");$("#questionInput").addClass("ignore");$("#question_Title").val(a.Suggestion.Title);$("#question_Tags").val(a.Suggestion.Tags.join(" "));$("#question_Title").Watermark("Question","#AAA");$("#question_Description").Watermark("Description","#AAA");$("#question_Tags").Watermark("Separate up to five tags with spaces. Combine multiple words into single-words.","#AAA");$("#question_Tags").autocomplete("/questions/tags",{multiple:true,multipleSeparator:" ",formatItem:function(d){var c=d.toString().split(",");return c[0]+" ("+c[1]+")"},selectFirst:false});var b=$("#askQuestion .similar ul");b.html("");$.each(a.Similar,function(){b.append('<li><a href="/questions/details/'+this.Id+"/"+this.Slug+'" target="_blank">'+this.Title+"</a></li>")});if(a.Similar.length>0){$("#askQuestion .similar").show()}AskQuestion.hideLoading();$("#askQuestion .preview").show();$("#askQuestion .whoa").show();$('#askQuestion .footer .buttons button[type="submit"]').html("submit");$("#askQuestion .footer").show();$("#question_Title").keyup(function(){$("#questionInput").val($(this).val())})};$.validator.addMethod("noHtml",function(c,b){var a=/(.*&#.*)|<\/?\w+((\s+\w+(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)\/?>/gim;if(c.match(a)){return false}return true});$.validator.addMethod("currencyNumberOnly",function(c,b){var a=/^(\d+)?(\.)?(\d{0,2})?$/;if(c.length==0||hasWatermark(b)){return true}if(c.match(a)){return true}return false});$.validator.addMethod("requiredWithWatermark",function(b,a){if(b.length==0||hasWatermark(a)){return false}return true});$.validator.addMethod("regex",function(e,b,d){var a=false;var c=new RegExp(d);return this.optional(b)||c.test(e)});$.validator.addMethod("tagLimit",function(c,b){if(hasWatermark(b)){return true}var a=c.split(" ");var d=0;for(i=0;i<a.length;i++){if(a[i].length){d++}}if(d>5){return false}else{return true}});function hasWatermark(a){var b=$(a).css("color").toLowerCase();if(b=="#aaa"||b=="#aaaaaa"||b=="rgb(170, 170, 170)"){return true}return false}var reputationQtipSettings={position:{adjust:{x:0,y:3},corner:{target:"topMiddle",tooltip:"bottomMiddle"}},style:{backgroundColor:"#000",border:{color:"#000",radius:5},color:"#FFF",fontSize:"1.1em",fontWeight:"bold",lineHeight:"1.2em",tip:{corner:"bottomMiddle",size:{x:12,y:6}},width:150}};$(function(){try{$(".searchBar").corner("5px")}catch(c){}try{$(".dealList").not(".module .dealList").corner("5px")}catch(c){}try{$(".pagination").corner("5px bottom")}catch(c){}try{$("#addDeal .url fieldset").corner("5px")}catch(c){}try{$("#askQuestion .prompt fieldset").corner("5px")}catch(c){}try{$(".module.priceComparison").uncorner()}catch(c){}$(".hproduct").corner("5px");$(".question").corner("5px");$("#rotatorContainer").corner("5px");$(".postAction .vcard").qtip(reputationQtipSettings);$(".hcomment .vcard").qtip(reputationQtipSettings);var f=$.url.param("comment");var b=$.url.param("tattle");var d=$.url.param("add");var a=$.url.param("ask");if(f!=undefined){try{AddComment.add()}catch(c){}}if(b!=undefined){try{AddTattle.show()}catch(c){}}if(d!=undefined){if(d){d=decodeURIComponent(d)}try{AddDeal.show(d)}catch(c){}}if(a!=undefined){if(a){a=decodeURIComponent(a)}try{AskQuestion.show(a)}catch(c){}}Rotator.initialize()});function addVoteForDeal(a){vote("Deal","/Deals/AddVote",a,{dealId:a})}function removeVoteForDeal(a){vote("Deal","/Deals/RemoveVote",a,{dealId:a})}function addVoteForQuestion(a){vote("Question","/Questions/AddVote",a,{questionId:a})}function removeVoteForQuestion(a){vote("Question","/Questions/RemoveVote",a,{questionId:a})}function addVoteForComment(a){vote("Comment","/Comments/AddVote",a,{commentId:a})}function removeVoteForComment(a){vote("Comment","/Comments/RemoveVote",a,{commentId:a})}function vote(d,c,b,f){if(!User.orderCount){lightboxElement("paymentRequired");return}var e=$(".voteFor-"+b);var a=$(".voteForValue-"+b);var g=a.html();e.removeAttr("href");if(e.hasClass("add")){e.removeClass("add").addClass("remove");e.attr("href","javascript:removeVoteFor"+d+'("'+b+'");');e.attr("rev","vote-abstain");e.attr("title","unvote");a.html(++g)}else{e.removeClass("remove").addClass("add");e.attr("href","javascript:addVoteFor"+d+'("'+b+'");');e.attr("rev","vote-for");e.attr("title","vote");a.html(Math.max(--g,0))}$.ajax({cache:false,data:f,dataType:"json",type:"POST",url:c})}function selectRange(c,d,a){if(c.setSelectionRange){c.focus();c.setSelectionRange(d,a)}else{if(c.createTextRange){var b=c.createTextRange();b.collapse(true);b.moveEnd("character",a);b.moveStart("character",d);b.select()}}}function setCursorPosition(b,a){selectRange(b,a,a)}function Rotator(){}Rotator.delay=10000;Rotator.enabled=true;Rotator.interval=null;Rotator.mouseoverTimeout=null;Rotator.initialize=function(){if($("#rotatorContainer").length==0){return}($(".selected")||$(".sponsoredDeal:first")).addClass("selected");Rotator.enabled=(window.location.pathname.indexOf("/feature")==-1)&&(window.location.pathname.indexOf("/sellout")==-1);Rotator.start();$(".sponsoredDeal").mouseover(function(){clearTimeout(Rotator.mouseoverTimeout);Rotator.mouseoverTimeout=setTimeout("Rotator.selectDeal("+$(".sponsoredDeal").index(this)+");",250);$(this).bind("mouseleave",function(){$(this).unbind("mouseleave");clearTimeout(Rotator.mouseoverTimeout)})});$("#rotatorContainer").hover(function(){Rotator.stop()},function(){if(!Rotator.modalShown){Rotator.start()}});$().bind("modal_shown",Rotator.stop);$().bind("modal_closed",Rotator.start)};Rotator.start=function(){if(Rotator.enabled){clearInterval(Rotator.interval);Rotator.interval=setInterval("Rotator.rotate()",Rotator.delay)}};Rotator.stop=function(){clearInterval(Rotator.interval);Rotator.interval=null};Rotator.rotate=function(){var a=$(".sponsoredDeal.selected").next();if(!a.hasClass("sponsoredDeal")){a=$(".sponsoredDeal:first")}Rotator.selectDeal($(".sponsoredDeal").index(a))};Rotator.selectDeal=function(a){$(".dealFader").removeClass("dealFaderSelected");$(".sponsoredDeal").removeClass("selected");$(".dealFader").eq(a).addClass("dealFaderSelected");$(".sponsoredDeal").eq(a).addClass("selected").unbind("mouseleave");$(".dealFader").eq(a).fadeIn("fast",function(){if($(".sponsoredDeal").eq(a).hasClass("selected")){$(".dealFader").not($(".dealFader").eq(a)).fadeOut(1)}})};function Woot(){}Woot.Deals=function(){};Woot.Deals.Sellout=function(){};Woot.Deals.Sellout.show=function(){$.modal.close();lightboxElement("sellout");$("#sellout .dont-show-me-this input").click(function(){if($(this).is(":checked")){$.cookie("sellout.2","false",{expires:365})}else{$.cookie("sellout.2","true")}})};$(function(){if($("#sellout").length==0){return}if(window.location.pathname.indexOf("/sellout")==0&&!$.cookie("sellout.2")){Woot.Deals.Sellout.show()}});function User(){}User.orderCount=null;User.isAuthenticated=false;User.reputationPercentile=0;User.login=function(a){a=a||$.url.attr("relative");$("#modalLoginLink").attr("href","/account/login?returnurl="+escape(a));$("#modalSignupLink").attr("href","/account/signup?returnurl="+escape(a));lightboxElement("loginContainer")};User.loginWithAction=function(b){var a=$.url.attr("relative");if(!$.url.attr("query")){a+="?"+b}else{if(!$.url.param(b)){a+="&"+b}}User.login(a)};