var AuctionPeriodicUpdater=new Class({Implements:[Options,Events],options:{},initialize:function(a){this.setOptions(a);this.interval=this.interval.bind(this);this.resetRequestCountdown=this.resetRequestCountdown.bind(this);this.maxRequestCountdown=600;this.resetRequestCountdown();this.discoverUser();this.discoverAuctions();this.addButtons();$(document.body).addEvent("mousemove",this.resetRequestCountdown);this.connectionIssuesBox=document.id("having_connection_issues");if(this.connectionIssuesBox){this.connectionIssuesBox.set("text","We're having problems talking to the server.  Perhaps you can check your internet connection?")}if($H(this.auctions).getKeys().length){this.start()}else{$log("No Auctions.  Not starting any monitoring processes.")}},discoverAuctions:function(){this.auctions={};$$(".auction_id").get("text").each(function(d){var e=this.auctions[d]={};var c="auction"+d+"_";e.price=document.id(c+"price");e.offRetail=document.id(c+"offretail");e.winner=document.id(c+"winner");e.countdown=document.id(c+"countdown");e.message=document.id(c+"message");e.priceChange=document.id(c+"pricechange");e.downIcon=document.id(c+"downicon");e.timeChange=document.id(c+"timechange");e.bidsNoBids=document.id(c+"bids_nobids");e.userAutobids=document.id(c+"user_autobids");e.userAutobidsEnabled=document.id(c+"autobids_enabled");e.excitement=document.id(c+"excitement");if(e.tiered){e.tiered=e.tiered.get("text")=="true";if(e.tiered){e.bidButton=$$(".bid_button[rel="+d+"]")}}if(e.downIcon){e.downIconFx=new Fx.Tween(e.downIcon,{duration:400});e.downIconFx.set("opacity",0.6)}if(document.id(c+"bids")){e.bidNoBids=document.id(c+"autobids_enabled");var b=e.bids=[];for(var f=0;f<10;f++){var g=c+"bid_"+f+"_";b.push({id:document.id(g+"id"),time:document.id(g+"time"),user:document.id(g+"user"),bidType:document.id(g+"type")})}}},this);this.auctionIds=$H(this.auctions).getKeys().join(",");var a=document.id("main_auction_id");this.mainAuction=a&&a.get("text")},discoverUser:function(){this.user={};this.user.loggedInStatus=document.id("logged_in_status");this.user.isLoggedIn=this.user.loggedInStatus&&(this.user.loggedInStatus.get("text")==="true");this.user.hasAccountDom=document.id("has_account");this.user.hasAccount=this.user.hasAccountDom&&(this.user.hasAccountDom.get("text")==="true")},start:function(){this.request=new Request.JSON({url:"/auctions/live?a="+this.auctionIds+(this.user.isLoggedIn?"&u=1":"")+(this.mainAuction?("&m="+this.mainAuction):""),sendingJson:false,method:"get",noCache:true,dontHandleErrors:true,onSuccess:this.gotAuctionData.bind(this),onFailure:this.failedRequest.bind(this)});this.auctionTimer=setTimeout(this.interval,1000)},interval:function(){this.request.send()},gotAuctionData:function(b){if(this.connectionIssuesBox){this.connectionIssuesBox.setStyle("display","none")}if(b.auctions&&$type(b.auctions)=="array"){var a=true;b.auctions.each(function(e){var d=this.auctions[e.id];if(d){this.updateAuction(e,d);a=a&&d.isEnded}},this);if(a){$clear(this.auctionTimer);this.auctionTimer=null}}if(b.user){this.updateUser(b.user)}if((this.auctionTimer!==null)&&!b.stopIt){if(this.requestCountdown>0){this.requestCountdown--;this.auctionTimer=setTimeout(this.interval,900)}else{var c=new MessageBox({title:"Are you still there?",message:"<br />We haven't noticed any activity from you.<br /><br />If you're still there, click <a href='javascript:;' class='close'>here</a> to return to your auctions.",status:"notice",confusing:true});c.addEvent("hide",function(){this.resetRequestCountdown();this.auctionTimer=setTimeout(this.interval,900)}.bind(this))}}},failedRequest:function(){if(this.connectionIssuesBox){this.connectionIssuesBox.setStyle("display","block")}this.auctionTimer=setTimeout(this.interval,2000)},updateAuction:function(h,j){if(j.price){if(j.oldPriceData&&(j.oldPriceData!=h.price)){j.price.highlight();if(j.priceChange){var i=h.price-j.oldPriceData;if(i>=1||i<=-1){j.priceChange.flash((i<0?"-":"+")+"$"+Math.abs(i).toFixed(2),1000)}else{j.priceChange.flash((i<0?"-":"+")+(Math.abs(i).round(2)*100).round().toString()+"\u00a2",1000)}}if(j.downIconFx){j.downIconFx.set("opacity",1).start("opacity",1,0.5)}}j.price.set("text",(h.price<0?"-$":"$")+Math.abs(h.price).toFixed(2));j.oldPriceData=h.price}if(j.offRetail){j.offRetail.set("text",h.savings[1].round(2)+"%")}if(j.winner){if(j.oldWinnerData&&(j.oldWinnerData!=h.winner)){j.winner.highlight()}j.winner.set("text",h.winner||"-");j.oldWinnerData=h.winner}if(j.countdown){if(j.oldEndTime&&(j.oldEndTime!=h.end_time)){if(j.excitement){j.excitement.set("text","")}j.countdown.highlight();var g=(h.end_time-j.oldEndTime).round();if(j.timeChange){j.timeChange.flash((g>0?"+":"-")+Math.abs(g)+" secs",1000)}}if(h.is_ended){if(j.excitement){j.excitement.set("text","")}var a=j.countdown.get("text")==="Ended";j.countdown.set("text","Ended");document.id("auction"+h.id+"_winnerlabel").set("text","Winner:");j.isEnded=true;if(!a){if(j.message){window.location.href=window.location.href.replace(/#.*/,"")+"?closed=1"}}}else{j.countdown.set("text",h.countdown)}if(h.countdown.match(/^\d+ seconds/)){j.countdown.addClass("near");if(j.tiered&&j.bidButton){var b=parseInt(h.countdown,10),f="Bid";if(b>=45){}else{if(b>=15){f="Bid (x2)"}else{f="Bid (x3)"}}j.bidButton.set("text",f)}}j.oldEndTime=h.end_time}var c=h.bids;if(j.bids&&c){if(j.bidNoBids){j.bidsNoBids.setStyle("display",c.length?"none":(Browser.Engines.trident()?"block":"table-row"))}if(c.length){var e=c[0].id;if(j.bids[0].id.get("text")!=e){var d=0;c.each(function(k){var m=k.id;var l=Date.parse(k.time);j.bids[d].id.set("text",m);j.bids[d].time.set("text",l.format("%I:%M:%S"));j.bids[d].user.set("text",k.user);j.bids[d].bidType.set("text",k.bid_type);d+=1})}}}},updateUser:function(a){if($chk(a.bids_remaining)){this.user.bidsAvailable=this.user.bidsAvailable||document.id("user_bids");if(this.user.bidsAvailable){this.user.bidsAvailable.set("text",a.bids_remaining)}}if($chk(a.bonus_bids_remaining)){this.user.bonusBidsAvailable=this.user.bonusBidsAvailable||document.id("user_bonus_bids");if(this.user.bonusBidsAvailable){this.user.bonusBidsAvailable.set("text",a.bonus_bids_remaining)}}if(a.autobids_remaining){$each(this.auctions,function(b,c){if(b.userAutobidsEnabled){b.userAutobidsEnabled.addClass("disabled").removeClass("enabled")}});$each(a.autobids_remaining,function(c,b){if(this.auctions[b]&&this.auctions[b].userAutobids&&this.auctions[b].userAutobidsEnabled){if(c){this.auctions[b].userAutobidsEnabled.addClass("enabled").removeClass("disabled")}else{this.auctions[b].userAutobidsEnabled.addClass("disabled").removeClass("enabled")}this.auctions[b].userAutobids.set("text",c)}}.bind(this))}},addButtons:function(){$$(".bid_button").each(function(c){var a=c.get("rel");var b=new Request.JSON({url:c.get("href").slice(1),data:{},sendingJson:true,method:"post",onSuccess:this.bidSuccess.bind(this),onFailure:this.bidFailure.bind(this)});c.addEvent("click",function(d){$S(d);this.resetRequestCountdown();b.send()}.bind(this))},this);$$(".bidbuddy_button").each(function(c){var b=c.get("rel");var a=new Request.JSON({url:c.get("href").slice(1),sendingJson:true,method:"post",onSuccess:this.bidSuccess.bind(this),onFailure:this.bidFailure.bind(this)});var d=document.id("autobid_count");c.addEvent("click",function(e){$S(e);this.resetRequestCountdown();var f=d.get("value");if(f==="0"){this.auctions[b].message.flash("Please select a bid quantity.")}else{a.send({data:{count:f,auction_id:b}})}}.bind(this))},this);$$(".cancel_autobids").each(function(b){var a=new Request.JSON({url:b.get("href").slice(1),method:"delete",sendingJson:false,onSuccess:this.bidSuccess.bind(this),onFailure:this.bidFailure.bind(this)});b.addEvent("click",function(c){$S(c);this.resetRequestCountdown();a.send()}.bind(this))},this)},bidSuccess:function(a){$log("Got into bidSuccess with ",a);if(a.message&&this.auctions[a.auction_id]&&this.auctions[a.auction_id].message){this.auctions[a.auction_id].message.flash(a.message)}},bidFailure:function(b){var a=this.request.response.json;if([404,409,422].contains(b.status)&&($type(a)=="object")){}},resetRequestCountdown:function(){this.requestCountdown=this.maxRequestCountdown}});var BuyBidsPanel=new Class({Extends:DarkBox,options:{includeFooter:true,ajaxUrl:"/bid_packs/new",width:"630px"},initialize:function(a){this.parent();this.initialBidpack=a;this.addEvent("ajaxloaded",this.ajaxLoaded.bind(this))},ajaxLoaded:function(a){a.getElements(".tabs li.credit_card").addEvent("click",this.tabClicked.create({bind:this,event:true,arguments:["credit_card"]}));a.getElements(".tabs li.paypal").addEvent("click",this.tabClicked.create({bind:this,event:true,arguments:["paypal"]}));a.getElements(".bid_package_item label, .bid_package_item input[type=radio]").addEvent("click",this.bidpackChangedInternal.bind(this));if(!["B1","B2","B3","B4","B5"].contains(this.initialBidpack)){this.initialBidpack="B3"}a.getElements(".bid_package_item label, .bid_package_item input[type=radio][value="+this.initialBidpack+"]").set("checked",true).fireEvent("click");a.getElements(".use_different_card").addEvent("click",this.useDifferentCard.bind(this));a.getElements(".method_area .credit_card form").each(function(b){b.get("formify").addEvent("submitsuccess",this.formSuccess.bind(this))},this)},tabClicked:function(a,c){var b=$(a.target);b.getParent("ul").getElements("li").removeClass("current");b.addClass("current");this.dom.getElements(".method_area > div").addClass("hidden").removeClass("current").filter(function(d){return d.match("."+c)}).addClass("current").removeClass("hidden")},bidpackChangedInternal:function(){if(this.bidpackChangedTimer){$clear(this.bidpackChangedTimer);this.bidpackChangedTimer=null}this.bidpackChangedTimer=this.bidpackChanged.delay(20,this)},bidpackChanged:function(){var d=this.dom.getElement(".bid_package_item input[type=radio]:checked");var a=d.get("value");var b=d.get("data-desc");var c=d.get("data-price");this.dom.getElement(".method_area .paypal").removeClass("B1").removeClass("B2").removeClass("B3").removeClass("B4").removeClass("B5").addClass(a);this.dom.getElements(".method_area .thing_youre_buying .bid_pack_id").set("value",a);this.dom.getElements(".method_area .thing_youre_buying .desc").set("text",b);this.dom.getElements(".method_area .thing_youre_buying .amount").set("text",c)},useDifferentCard:function(a){$S(a);this.dom.getElements(".method_area .credit_card form").removeClass("current_credit_card");this.dom.getElement("#new_credit_card").addClass("current_credit_card")},formSuccess:function(){this.hide(true)}});var BuyCouponPanel=new Class({Extends:DarkBox,options:{includeFooter:true,ajaxUrl:null,width:"780px"},initialize:function(a){this.options.ajaxUrl=a;$log("The ajaxURL is ",this.options.ajaxUrl);this.parent();this.addEvent("ajaxloaded",this.ajaxLoaded.bind(this))},ajaxLoaded:function(a){$log("ajax loaded for buy coupon panel");a.getElements(".tabs li.credit_card").addEvent("click",this.tabClicked.create({bind:this,event:true,arguments:["credit_card"]}));a.getElements(".tabs li.paypal").addEvent("click",this.tabClicked.create({bind:this,event:true,arguments:["paypal"]}));a.getElements(".use_different_card").addEvent("click",this.useDifferentCard.bind(this));a.getElements(".method_area .credit_card form").each(function(b){b.get("formify").addEvent("submitsuccess",this.formSuccess.bind(this))},this)},tabClicked:function(a,c){var b=$(a.target);b.getParent("ul").getElements("li").removeClass("current");b.addClass("current");this.dom.getElements(".method_area > div").addClass("hidden").removeClass("current").filter(function(d){return d.match("."+c)}).addClass("current").removeClass("hidden")},useDifferentCard:function(a){$S(a);this.dom.getElements(".method_area .credit_card form").removeClass("current_credit_card");this.dom.getElement("#new_credit_card").addClass("current_credit_card")},formSuccess:function(){this.hide(true)}});var CreditCardExtensions=new Class({setupCreditCard:function(){$$(".help_icon").each(function(b){new ToolTip(b)});this.element.getElement(".street_address").formify();this.element.getElement(".name_on_card").formify();var a=this.element.getElement(".card_number");this.cardType=this.element.getElement(".card_type");this.setCardType(this.cardType.get("value"));this.cardField=a.get("formify");a.addEvent("poke",this.detectCardType.create({delay:10,bind:this}));this.periodalCardDetector=this.detectCardType.periodical(100,this)},detectCardType:function(){if(this.element.getElement(".visa_card_logo")){var a=this.cardField.getValue().trim();if(a.match(/^4\d{12}(\d{3})?$/)){this.setCardType("visa")}else{if(a.match(/^(5[1-5]\d{4}|677189)\d{10}$/)){this.setCardType("master")}else{this.setCardType("")}}}else{$clear(this.periodalCardDetector)}},setCardType:function(b){var a=this.element.getElement(".visa_card_logo");var c=this.element.getElement(".mc_card_logo");if(b=="visa"){a.setStyle("opacity",1);c.setStyle("opacity",0.3);this.cardType.set("value","visa")}else{if(b=="master"){a.setStyle("opacity",0.3);c.setStyle("opacity",1);this.cardType.set("value","master")}else{a.setStyle("opacity",1);c.setStyle("opacity",1);this.cardType.set("value","")}}this.cardType.setClass("formify_ignore",!(b=="visa"||b=="master"))}});var CreditCardForm=new Class({Extends:BaseForm,Implements:[CreditCardExtensions],setup:function(){this.setupCreditCard()}});App.page({initialize:function(){$log("Auctions/index: entered");new AuctionPeriodicUpdater();var b=$$(".auction_panel");b.each(function(d){var e=$$(".auction_panel").erase(d);d.addEvents({mouseenter:function(){e.tween("opacity",0.5)},mouseleave:function(){e.tween("opacity",1)},click:function(g){$S(g);var f=this.getElement("h3 a");window.location=f.href}})});var a=document.id("logged_in_status"),c=false;if(a){c=a.get("text")=="true"}if(c){$$(".buy_bids_button").each(function(d){d.addEvent("click",function(e){$S(e);var g=$(e.target);var h=g.getParent("form").getElement("input[type=radio]:checked").get("value");var f=new BuyBidsPanel(h)})})}this.frame1=document.id("frame1");this.frame2=document.id("frame2");this.frame3=document.id("frame3");this.navLinks=$$("#frame_nav a");this.navLinks.addEvent("click",this.frameNavClick.bind(this));this.initializeFrames("frame1");this.frameTimer=this.cycleFrame.delay(10000,this)},initializeFrames:function(e){var c={frame1:[this.frame2,this.frame3,this.frame1],frame2:[this.frame3,this.frame1,this.frame2],frame3:[this.frame1,this.frame2,this.frame3]};this.theFrames=c[e];this.currentFrame=this.theFrames[2];for(var b=0,a=this.theFrames.length-1;b<a;b++){var d=this.theFrames[b];d.setStyles({opacity:1,zIndex:2-b})}this.currentFrame.setStyles({opacity:1,zIndex:3});this.navLinks.setClass("selected",false);document.id(e+"_nav").setClass("selected",true)},frameNavClick:function(a){if(a){$S(a);var c=$(a.target),b=c.get("href").replace("#","");this.initializeFrames(b);$clear(this.frameTimer);this.frameTimer=this.cycleFrame.delay(20000,this);return}},cycleFrame:function(){var a=this.currentFrame.get("tween");a.start("opacity",0).chain(function(){this.currentFrame.setStyles({zIndex:1,opacity:1});this.currentFrame=this.theFrames.shift();this.currentFrame.setStyles({zIndex:3});this.theFrames[0].setStyles({zIndex:2});this.theFrames.push(this.currentFrame);this.navLinks.setClass("selected",false);$(this.currentFrame.get("id")+"_nav").setClass("selected",true);this.frameTimer=this.cycleFrame.delay(8000,this)}.bind(this))}});