var Clientcide={version:"2.1.0",setAssetLocation:function(B){var A=function(C){return C.replace(/\/\//g,"/")
};
if(window.StickyWin&&StickyWin.UI){StickyWin.UI.implement({options:{baseHref:A(B+"/stickyWinHTML/")}});
if(StickyWin.Alert){StickyWin.Alert.implement({options:{baseHref:B+"/simple.error.popup"}})
}if(StickyWin.UI.Pointy){StickyWin.UI.Pointy.implement({options:{baseHref:A(B+"/PointyTip/")}})
}}if(window.TagMaker){TagMaker.implement({options:{baseHref:A(B+"/tips/")}})
}if(window.ProductPicker){ProductPicker.implement({options:{baseHref:A(B+"/Picker")}})
}if(window.Autocompleter){Autocompleter.Base.implement({options:{baseHref:A(B+"/autocompleter/")}})
}if(window.Lightbox){Lightbox.implement({options:{assetBaseUrl:A(B+"/slimbox/")}})
}if(window.Waiter){Waiter.implement({options:{baseHref:A(B+"/waiter/")}})
}},preLoadCss:function(){if(window.StickyWin&&StickyWin.ui){StickyWin.ui()
}if(window.StickyWin&&StickyWin.pointy){StickyWin.pointy()
}Clientcide.preloaded=true;
return true
},preloaded:false};
(function(){if(!window.addEvent){return 
}var A=function(){if(window.dbug){dbug.log("preloading clientcide css")
}if(!Clientcide.preloaded){Clientcide.preLoadCss()
}};
window.addEvent("domready",A);
window.addEvent("load",A)
})();
setCNETAssetBaseHref=Clientcide.setAssetLocation;
var dbug={logged:[],timers:{},firebug:false,enabled:false,log:function(){dbug.logged.push(arguments)
},nolog:function(A){dbug.logged.push(arguments)
},time:function(A){dbug.timers[A]=new Date().getTime()
},timeEnd:function(B){if(dbug.timers[B]){var A=new Date().getTime()-dbug.timers[B];
dbug.timers[B]=false;
dbug.log("%s: %s",B,A)
}else{dbug.log("no such timer: %s",B)
}},enable:function(B){var A=window.firebug?firebug.d.console.cmd:window.console;
if((!!window.console&&!!window.console.warn)||window.firebug){try{dbug.enabled=true;
dbug.log=function(){(A.debug||A.log).apply(A,arguments)
};
dbug.time=function(){A.time.apply(A,arguments)
};
dbug.timeEnd=function(){A.timeEnd.apply(A,arguments)
};
if(!B){dbug.log("enabling dbug")
}for(var C=0;
C<dbug.logged.length;
C++){dbug.log.apply(A,dbug.logged[C])
}dbug.logged=[]
}catch(D){dbug.enable.delay(400)
}}},disable:function(){if(dbug.firebug){dbug.enabled=false
}dbug.log=dbug.nolog;
dbug.time=function(){};
dbug.timeEnd=function(){}
},cookie:function(D){var C=document.cookie.match("(?:^|;)\\s*jsdebug=([^;]*)");
var B=C?unescape(C[1]):false;
if((!$defined(D)&&B!="true")||($defined(D)&&D)){dbug.enable();
dbug.log("setting debugging cookie");
var A=new Date();
A.setTime(A.getTime()+(24*60*60*1000));
document.cookie="jsdebug=true;expires="+A.toGMTString()+";path=/;"
}else{dbug.disableCookie()
}},disableCookie:function(){dbug.log("disabling debugging cookie");
document.cookie="jsdebug=false;path=/;"
}};
(function(){var D=!!window.console||!!window.firebug;
var B=window.firebug?window.firebug.d.console.cmd:window.console;
var C=["debug","info","warn","error","assert","dir","dirxml"];
var A=["trace","group","groupEnd","profile","profileEnd","count"];
function E(H,F){for(var G=0;
G<H.length;
G++){dbug[H[G]]=(D&&B[H[G]])?B[H[G]]:F
}}E(C,dbug.log);
E(A,function(){})
})();
if((!!window.console&&!!window.console.warn)||window.firebug){dbug.firebug=true;
var value=document.cookie.match("(?:^|;)\\s*jsdebug=([^;]*)");
var debugCookie=value?unescape(value[1]):false;
if(window.location.href.indexOf("jsdebug=true")>0||debugCookie=="true"){dbug.enable()
}if(debugCookie=="true"){dbug.log("debugging cookie enabled")
}if(window.location.href.indexOf("jsdebugCookie=true")>0){dbug.cookie();
if(!dbug.enabled){dbug.enable()
}}if(window.location.href.indexOf("jsdebugCookie=false")>0){dbug.disableCookie()
}}Class.ToElement=new Class({toElement:function(){return this.element
}});
var ToElement=Class.ToElement;
var StyleWriter=new Class({createStyle:function(A,B){window.addEvent("domready",function(){try{if(document.id(B)&&B){return 
}var C=new Element("style",{id:B||""}).inject($$("head")[0]);
if(Browser.Engine.trident){C.styleSheet.cssText=A
}else{C.set("text",A)
}}catch(D){dbug.log("error: %s",D)
}}.bind(this))
}});
var StickyWin=new Class({Binds:["destroy","hide","togglepin","esc"],Implements:[Options,Events,StyleWriter,Class.ToElement],options:{closeClassName:"closeSticky",pinClassName:"pinSticky",content:"",zIndex:10000,className:"",width:false,height:false,timeout:-1,allowMultipleByClass:false,allowMultiple:true,showNow:true,useIframeShim:true,iframeShimSelector:"",destroyOnClose:false,closeOnClickOut:false,closeOnEsc:false},css:'.SWclearfix:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}'+".SWclearfix {display: inline-table;} * html .SWclearfix {height: 1%;} .SWclearfix {display: block;}",initialize:function(A){this.options.inject=this.options.inject||{target:document.body,where:"bottom"};
this.setOptions(A);
this.id=this.options.id||"StickyWin_"+new Date().getTime();
this.makeWindow();
if(this.options.content){this.setContent(this.options.content)
}if(this.options.timeout>0){this.addEvent("onDisplay",function(){this.hide.delay(this.options.timeout,this)
}.bind(this))
}this.createStyle(this.css,"StickyWinClearFix");
if(this.options.closeOnClickOut||this.options.closeOnEsc){this.attach()
}if(this.options.destroyOnClose){this.addEvent("close",this.destroy)
}if(this.options.showNow){this.show()
}},attach:function(A){var C=$pick(A,true)?"addEvents":"removeEvents";
var B={};
if(this.options.closeOnClickOut){B.click=this.esc
}if(this.options.closeOnEsc){B.keyup=this.esc
}document[C](B)
},esc:function(A){if(A.key=="esc"){this.hide()
}if(A.type=="click"&&this.element!=A.target&&!this.element.hasChild(A.target)){this.hide()
}},makeWindow:function(){this.destroyOthers();
if(!document.id(this.id)){this.win=new Element("div",{id:this.id}).addClass(this.options.className).addClass("StickyWinInstance").addClass("SWclearfix").setStyles({display:"none",position:"absolute",zIndex:this.options.zIndex}).inject(this.options.inject.target,this.options.inject.where).store("StickyWin",this)
}else{this.win=document.id(this.id)
}this.element=this.win;
if(this.options.width&&$type(this.options.width.toInt())=="number"){this.win.setStyle("width",this.options.width.toInt())
}if(this.options.height&&$type(this.options.height.toInt())=="number"){this.win.setStyle("height",this.options.height.toInt())
}return this
},show:function(A){this.showWin();
if(!A){this.fireEvent("display")
}if(this.options.useIframeShim){this.showIframeShim()
}this.visible=true;
return this
},showWin:function(){if(!this.positioned){this.position()
}this.win.show()
},hide:function(A){if($type(A)=="event"||!A){this.fireEvent("close")
}this.hideWin();
if(this.options.useIframeShim){this.hideIframeShim()
}this.visible=false;
return this
},hideWin:function(){this.win.setStyle("display","none")
},destroyOthers:function(){if(!this.options.allowMultipleByClass||!this.options.allowMultiple){$$("div.StickyWinInstance").each(function(A){if(!this.options.allowMultiple||(!this.options.allowMultipleByClass&&A.hasClass(this.options.className))){A.retrieve("StickyWin").destroy()
}},this)
}},setContent:function(A){if(this.win.getChildren().length>0){this.win.empty()
}if($type(A)=="string"){this.win.set("html",A)
}else{if(document.id(A)){this.win.adopt(A)
}}this.win.getElements("."+this.options.closeClassName).each(function(B){B.addEvent("click",this.hide)
},this);
this.win.getElements("."+this.options.pinClassName).each(function(B){B.addEvent("click",this.togglepin)
},this);
return this
},position:function(A){this.positioned=true;
this.setOptions(A);
this.win.position({allowNegative:$pick(this.options.allowNegative,this.options.relativeTo!=document.body),relativeTo:this.options.relativeTo,position:this.options.position,offset:this.options.offset,edge:this.options.edge});
if(this.shim){this.shim.position()
}return this
},pin:function(A){if(!this.win.pin){dbug.log("you must include element.pin.js!");
return this
}this.pinned=$pick(A,true);
this.win.pin(A);
return this
},unpin:function(){return this.pin(false)
},togglepin:function(){return this.pin(!this.pinned)
},makeIframeShim:function(){if(!this.shim){var A=(this.options.iframeShimSelector)?this.win.getElement(this.options.iframeShimSelector):this.win;
this.shim=new IframeShim(A,{display:false,name:"StickyWinShim"})
}},showIframeShim:function(){if(this.options.useIframeShim){this.makeIframeShim();
this.shim.show()
}},hideIframeShim:function(){if(this.shim){this.shim.hide()
}},destroy:function(){if(this.win){this.win.destroy()
}if(this.options.useIframeShim&&this.shim){this.shim.destroy()
}if(document.id("modalOverlay")){document.id("modalOverlay").destroy()
}this.fireEvent("destroy")
}});
StickyWin.UI=new Class({Implements:[Options,Class.ToElement,StyleWriter],options:{width:300,css:"div.DefaultStickyWin {font-family:verdana; font-size:11px; line-height: 13px;}"+"div.DefaultStickyWin div.top_ul{background:url({%baseHref%}full.png) top left no-repeat; height:30px; width:15px; float:left}"+"div.DefaultStickyWin div.top_ur{position:relative; left:0px !important; left:-4px; background:url({%baseHref%}full.png) top right !important; height:30px; margin:0px 0px 0px 15px !important; margin-right:-4px; padding:0px}"+"div.DefaultStickyWin h1.caption{clear: none !important; margin:0px !important; overflow: hidden; padding:0 !important; font-weight:bold; color:#555; font-size:14px !important; position:relative; top:8px !important; left:5px !important; float: left; height: 22px !important;}"+"div.DefaultStickyWin div.middle, div.DefaultStickyWin div.closeBody {background:url({%baseHref%}body.png) top left repeat-y; margin:0px 20px 0px 0px !important;	margin-bottom: -3px; position: relative;	top: 0px !important; top: -3px;}"+"div.DefaultStickyWin div.body{background:url({%baseHref%}body.png) top right repeat-y; padding:8px 30px 8px 0px !important; margin-left:5px !important; position:relative; right:-20px !important; z-index: 1;}"+"div.DefaultStickyWin div.bottom{clear:both;}"+"div.DefaultStickyWin div.bottom_ll{background:url({%baseHref%}full.png) bottom left no-repeat; width:15px; height:15px; float:left}"+"div.DefaultStickyWin div.bottom_lr{background:url({%baseHref%}full.png) bottom right; position:relative; left:0px !important; left:-4px; margin:0px 0px 0px 15px !important; margin-right:-4px; height:15px}"+"div.DefaultStickyWin div.closeButtons{text-align: center; background:url({%baseHref%}body.png) top right repeat-y; padding: 4px 30px 8px 0px; margin-left:5px; position:relative; right:-20px}"+"div.DefaultStickyWin a.button:hover{background:url({%baseHref%}big_button_over.gif) repeat-x}"+"div.DefaultStickyWin a.button {background:url({%baseHref%}big_button.gif) repeat-x; margin: 2px 8px 2px 8px; padding: 2px 12px; cursor:pointer; border: 1px solid #999 !important; text-decoration:none; color: #000 !important;}"+"div.DefaultStickyWin div.closeButton{width:13px; height:13px; background:url({%baseHref%}closebtn.gif) no-repeat; position: absolute; right: 0px; margin:10px 15px 0px 0px !important; cursor:pointer;top:0px}"+"div.DefaultStickyWin div.dragHandle {	width: 11px;	height: 25px;	position: relative;	top: 5px;	left: -3px;	cursor: move;	background: url({%baseHref%}drag_corner.gif); float: left;}",cornerHandle:false,cssClass:"",baseHref:"http://www.cnet.com/html/rb/assets/global/stickyWinHTML/",buttons:[],cssId:"defaultStickyWinStyle",cssClassName:"DefaultStickyWin",closeButton:true},initialize:function(){var A=this.getArgs(arguments);
this.setOptions(A.options);
this.legacy();
var B=this.options.css.substitute({baseHref:this.options.baseHref},/\\?\{%([^}]+)%\}/g);
if(Browser.Engine.trident4){B=B.replace(/png/g,"gif")
}this.createStyle(B,this.options.cssId);
this.build();
if(A.caption||A.body){this.setContent(A.caption,A.body)
}},getArgs:function(){return StickyWin.UI.getArgs.apply(this,arguments)
},legacy:function(){var A=this.options;
if(A.confirmTxt){A.buttons.push({text:A.confirmTxt,onClick:A.onConfirm||$empty})
}if(A.closeTxt){A.buttons.push({text:A.closeTxt,onClick:A.onClose||$empty})
}},build:function(){var B=this.options;
var A=new Element("div",{"class":B.cssClassName});
if(B.width){A.setStyle("width",B.width)
}this.element=A;
this.element.store("StickyWinUI",this);
if(B.cssClass){A.addClass(B.cssClass)
}var C=new Element("div").addClass("body");
this.body=C;
var E=new Element("div").addClass("top_ur");
this.top_ur=E;
this.top=new Element("div").addClass("top").adopt(new Element("div").addClass("top_ul")).adopt(E);
A.adopt(this.top);
if(B.cornerHandle){new Element("div").addClass("dragHandle").inject(E,"top")
}A.adopt(new Element("div").addClass("middle").adopt(C));
if(B.buttons.length>0){var D=new Element("div").addClass("closeButtons");
B.buttons.each(function(G){if(G.properties&&G.properties.className){G.properties["class"]=G.properties.className;
delete G.properties.className
}var F=$merge({"class":"closeSticky"},G.properties);
new Element("a").addEvent("click",G.onClick||$empty).appendText(G.text).inject(D).set(F).addClass("button")
});
A.adopt(new Element("div").addClass("closeBody").adopt(D))
}A.adopt(new Element("div").addClass("bottom").adopt(new Element("div").addClass("bottom_ll")).adopt(new Element("div").addClass("bottom_lr")));
if(this.options.closeButton){A.adopt(new Element("div").addClass("closeButton").addClass("closeSticky"))
}return this
},makeCaption:function(A){if(!A){return this.destroyCaption()
}this.caption=A;
var B=this.options;
var C=new Element("h1").addClass("caption");
if(B.width){C.setStyle("width",(B.width-(B.cornerHandle?55:40)-(B.closeButton?10:0)))
}if(document.id(this.caption)){C.adopt(this.caption)
}else{C.set("html",this.caption)
}this.top_ur.adopt(C);
this.h1=C;
if(!this.options.cornerHandle){this.h1.addClass("dragHandle")
}return this
},destroyCaption:function(){if(this.h1){this.h1.destroy();
this.h1=null
}return this
},setContent:function(){var C=this.getArgs.apply(this,arguments);
var B=C.caption;
var A=C.body;
if(this.h1){this.destroyCaption()
}this.makeCaption(B);
if(document.id(A)){this.body.empty().adopt(A)
}else{this.body.set("html",A)
}return this
}});
StickyWin.UI.getArgs=function(){var A=$type(arguments[0])=="arguments"?arguments[0]:arguments;
var D=A[0],C=A[1];
var B=Array.link(A,{options:Object.type});
if(A.length==3||(!B.options&&A.length==2)){B.caption=D;
B.body=C
}else{if(($type(C)=="object"||!C)&&D&&$type(D)!="object"){B.body=D
}}return B
};
StickyWin.ui=function(B,A,C){return document.id(new StickyWin.UI(B,A,C))
};
StickyWin.UI.Pointy=new Class({Extends:StickyWin.UI,options:{theme:"dark",themes:{dark:{bgColor:"#333",fgColor:"#ddd",imgset:"dark"},light:{bgColor:"#ccc",fgColor:"#333",imgset:"light"}},css:"div.DefaultPointyTip {vertical-align: auto; position: relative;}"+"div.DefaultPointyTip * {text-align:left !important}"+"div.DefaultPointyTip .pointyWrapper div.body{background: {%bgColor%}; color: {%fgColor%}; left: 0px; right: 0px !important;padding:  0px 10px !important;margin-left: 0px !important;font-family: verdana;font-size: 11px;line-height: 13px;position: relative;}"+"div.DefaultPointyTip .pointyWrapper div.top {position: relative;height: 25px; overflow: visible;}"+"div.DefaultPointyTip .pointyWrapper div.top_ul{background: url({%baseHref%}{%imgset%}_back.png) top left no-repeat;width: 8px;height: 25px; position: absolute; left: 0px;}"+"div.DefaultPointyTip .pointyWrapper div.top_ur{background: url({%baseHref%}{%imgset%}_back.png) top right !important;margin: 0 0 0 8px !important;height: 25px;position: relative;left: 0px !important;padding: 0;}"+"div.DefaultPointyTip .pointyWrapper h1.caption{color: {%fgColor%};left: 0px !important;top: 4px !important;clear: none !important;overflow: hidden;font-weight: 700;font-size: 12px !important;position: relative;float: left;height: 22px !important;margin: 0 !important;padding: 0 !important;}"+"div.DefaultPointyTip .pointyWrapper div.middle, div.DefaultPointyTip .pointyWrapper div.closeBody{background:  {%bgColor%};margin: 0 0px 0 0 !important;position: relative;top: 0 !important;}"+"div.DefaultPointyTip .pointyWrapper div.bottom {clear: both; width: 100% !important; background: none; height: 6px} "+"div.DefaultPointyTip .pointyWrapper div.bottom_ll{font-size:1; background: url({%baseHref%}{%imgset%}_back.png) bottom left no-repeat;width: 6px;height: 6px;position: absolute; left: 0px;}"+"div.DefaultPointyTip .pointyWrapper div.bottom_lr{font-size:1; background: url({%baseHref%}{%imgset%}_back.png) bottom right;height: 6px;margin: 0 0 0 6px !important;position: relative;left: 0 !important;}"+"div.DefaultPointyTip .pointyWrapper div.noCaption{ height: 6px; overflow: hidden}"+"div.DefaultPointyTip .pointyWrapper div.closeButton{width:13px; height:13px; background:url({%baseHref%}{%imgset%}_x.png) no-repeat; position: absolute; right: 0px; margin:0px !important; cursor:pointer; z-index: 1; top: 4px;}"+"div.DefaultPointyTip .pointyWrapper div.pointyDivot {background: url({%divot%}) no-repeat;}",baseHref:"http://github.com/anutron/clientcide/raw/master/Assets/PointyTip/",divot:"{%baseHref%}{%imgset%}_divot.png",divotSize:22,direction:12,cssId:"defaultPointyTipStyle",cssClassName:"DefaultPointyTip"},initialize:function(){var A=this.getArgs(arguments);
this.setOptions(A.options);
$extend(this.options,this.options.themes[this.options.theme]);
this.options.divot=this.options.divot.substitute(this.options,/\\?\{%([^}]+)%\}/g);
if(Browser.Engine.trident4){this.options.divot=this.options.divot.replace(/png/g,"gif")
}this.options.css=this.options.css.substitute(this.options,/\\?\{%([^}]+)%\}/g);
if(A.options&&A.options.theme){while(!this.id){var C=$random(0,999999999);
if(!StickyWin.UI.Pointy[C]){StickyWin.UI.Pointy[C]=this;
this.id=C
}}this.options.css=this.options.css.replace(/div\.DefaultPointyTip/g,"div#pointy_"+this.id);
this.options.cssId="pointyTipStyle_"+this.id
}if($type(this.options.direction)=="string"){var B={left:9,right:3,up:12,down:6};
this.options.direction=B[this.options.direction]
}this.parent(A.caption,A.body,this.options);
if(this.id){document.id(this).set("id","pointy_"+this.id)
}},build:function(){this.parent();
var C=this.options;
this.pointyWrapper=new Element("div",{"class":"pointyWrapper"}).inject(document.id(this));
document.id(this).getChildren().each(function(F){if(F!=this.pointyWrapper){this.pointyWrapper.grab(F)
}},this);
var A=C.divotSize;
var D=A;
var E=(C.width-C.divotSize)/2;
var B=function(){switch(C.direction){case 12:case 1:case 11:return{height:D/2};
case 5:case 6:case 7:return{height:D/2,backgroundPosition:"0 -"+D/2+"px"};
case 8:case 9:case 10:return{width:A/2};
case 2:case 3:case 4:return{width:A/2,backgroundPosition:"100%"}
}};
this.pointer=new Element("div",{styles:$extend({width:A,height:D,overflow:"hidden"},B()),"class":"pointyDivot pointy_"+C.direction}).inject(this.pointyWrapper)
},expose:function(){if(document.id(this).getStyle("display")!="none"&&document.id(document.body).hasChild(document.id(this))){return $empty
}document.id(this).setStyles({visibility:"hidden",position:"absolute"});
var A;
if(!document.body.hasChild(document.id(this))){document.id(this).inject(document.body);
A=true
}return(function(){if(A){document.id(this).dispose()
}document.id(this).setStyles({visibility:"visible",position:"relative"})
}).bind(this)
},positionPointer:function(A){if(!this.pointer){return 
}var B=A||this.options;
var E;
var D=B.direction;
switch(D){case 12:case 1:case 11:E={edge:{x:"center",y:"bottom"},position:{x:D==12?"center":D==1?"right":"left",y:"top"},offset:{x:(D==12?0:D==1?-1:1)*B.divotSize,y:1}};
break;
case 2:case 3:case 4:E={edge:{x:"left",y:"center"},position:{x:"right",y:D==3?"center":D==2?"top":"bottom"},offset:{x:-1,y:(D==3?0:D==4?-1:1)*B.divotSize}};
break;
case 5:case 6:case 7:E={edge:{x:"center",y:"top"},position:{x:D==6?"center":D==5?"right":"left",y:"bottom"},offset:{x:(D==6?0:D==5?-1:1)*B.divotSize,y:-1}};
break;
case 8:case 9:case 10:E={edge:{x:"right",y:"center"},position:{x:"left",y:D==9?"center":D==10?"top":"bottom"},offset:{x:1,y:(D==9?0:D==8?-1:1)*B.divotSize}};
break
}var C=this.expose();
this.pointer.position($extend({relativeTo:this.pointyWrapper},E,A));
C()
},setContent:function(B,A){this.parent(B,A);
this.top[this.h1?"removeClass":"addClass"]("noCaption");
if(Browser.Engine.trident4){document.id(this).getElements(".bottom_ll, .bottom_lr").setStyle("font-size",1)
}if(this.options.closeButton){this.body.setStyle("margin-right",6)
}this.positionPointer();
return this
},makeCaption:function(A){this.parent(A);
if(this.options.width&&this.h1){this.h1.setStyle("width",(this.options.width-(this.options.closeButton?25:15)))
}}});
StickyWin.UI.pointy=function(B,A,C){return document.id(new StickyWin.UI.Pointy(B,A,C))
};
StickyWin.ui.pointy=StickyWin.UI.pointy;
StickyWin.PointyTip=new Class({Extends:StickyWin,options:{point:"left",pointyOptions:{}},initialize:function(){var A=this.getArgs(arguments);
this.setOptions(A.options);
var B=this.options.pointyOptions;
var D=B.direction;
if(!D){var C={left:9,right:3,up:12,down:6};
D=C[this.options.point];
if(!D){D=this.options.point
}B.direction=D
}if(!B.width){B.width=this.options.width
}this.pointy=new StickyWin.UI.Pointy(A.caption,A.body,B);
this.options.content=null;
this.setOptions(A.options,this.getPositionSettings());
this.parent(this.options);
this.win.empty().adopt(document.id(this.pointy));
this.attachHandlers(this.win);
if(this.options.showNow){this.position()
}},getArgs:function(){return StickyWin.UI.getArgs.apply(this,arguments)
},getPositionSettings:function(){var A=this.pointy.options.divotSize;
var B=this.options.point;
switch(B){case"left":case 8:case 9:case 10:return{edge:{x:"left",y:B==10?"top":B==8?"bottom":"center"},position:{x:"right",y:"center"},offset:{x:A}};
case"right":case 2:case 3:case 4:return{edge:{x:"right",y:B==2?"top":B==4?"bottom":"center"},position:{x:"left",y:"center"},offset:{x:-A}};
case"up":case 11:case 12:case 1:return{edge:{x:B==11?"left":B==1?"right":"center",y:"top"},position:{x:"center",y:"bottom"},offset:{y:A,x:B==11?-A:B==1?A:0}};
case"down":case 5:case 6:case 7:return{edge:{x:B==7?"left":B==5?"right":"center",y:"bottom"},position:{x:"center",y:"top"},offset:{y:-A,x:B==7?-A:B==5?A:0}}
}},setContent:function(){var A=this.getArgs(arguments);
this.pointy.setContent(A.caption,A.body);
[this.pointy.h1,this.pointy.body].each(this.attachHandlers,this);
if(this.visible){this.position()
}return this
},showWin:function(){this.parent();
this.pointy.positionPointer()
},position:function(A){this.parent(A);
this.pointy.positionPointer()
},attachHandlers:function(A){if(!A){return 
}A.getElements("."+this.options.closeClassName).addEvent("click",function(){this.hide()
}.bind(this));
A.getElements("."+this.options.pinClassName).addEvent("click",function(){this.togglepin()
}.bind(this))
}});
var Waiter=new Class({Implements:[Options,Events,Chain,Class.Occlude],options:{baseHref:"http://www.cnet.com/html/rb/assets/global/waiter/",containerProps:{styles:{position:"absolute","text-align":"center"},"class":"waiterContainer"},containerPosition:{},msg:false,msgProps:{styles:{"text-align":"center",fontWeight:"bold"},"class":"waiterMsg"},img:{src:"waiter.gif",styles:{width:24,height:24},"class":"waiterImg"},layer:{styles:{width:0,height:0,position:"absolute",zIndex:999,display:"none",opacity:0.9,background:"#fff"},"class":"waitingDiv"},useIframeShim:true,fxOptions:{},injectWhere:null},property:"Waiter",initialize:function(B,A){this.element=document.id(B)||document.id(document.body);
if(this.occlude()){return this.occluded
}this.setOptions(A);
this.build();
this.place(B)
},build:function(){this.waiterContainer=new Element("div",this.options.containerProps);
if(this.options.msg){this.msgContainer=new Element("div",this.options.msgProps);
this.waiterContainer.adopt(this.msgContainer);
if(!document.id(this.options.msg)){this.msg=new Element("p").appendText(this.options.msg)
}else{this.msg=document.id(this.options.msg)
}this.msgContainer.adopt(this.msg)
}if(this.options.img){this.waiterImg=document.id(this.options.img.id)||new Element("img",$merge(this.options.img,{src:this.options.baseHref+this.options.img.src})).inject(this.waiterContainer)
}this.waiterOverlay=document.id(this.options.layer.id)||new Element("div").adopt(this.waiterContainer);
this.waiterOverlay.set(this.options.layer);
try{if(this.options.useIframeShim){this.shim=new IframeShim(this.waiterOverlay,this.options.iframeShimOptions)
}}catch(A){dbug.log("Waiter attempting to use IframeShim but failed; did you include IframeShim? Error: ",A);
this.options.useIframeShim=false
}this.waiterFx=this.waiterFx||new Fx.Elements($$(this.waiterContainer,this.waiterOverlay),this.options.fxOptions)
},place:function(B,A){var A=A||this.options.injectWhere||B==document.body?"inside":"after";
this.waiterOverlay.inject(B,A)
},toggle:function(B,A){B=document.id(B)||document.id(this.active)||document.id(this.element);
this.place(B);
if(!document.id(B)){return this
}if(this.active&&B!=this.active){return this.stop(this.start.bind(this,B))
}if((!this.active||A)&&A!==false){this.start(B)
}else{if(this.active&&!A){this.stop()
}}return this
},reset:function(){this.waiterFx.cancel().set({0:{opacity:[0]},1:{opacity:[0]}})
},start:function(A){this.reset();
A=document.id(A)||document.id(this.element);
this.place(A);
var B=function(){var C=A.getComputedSize();
this.active=A;
this.waiterOverlay.setStyles({width:this.options.layer.width||C.totalWidth,height:this.options.layer.height||C.totalHeight,display:"block"}).position({relativeTo:A,position:"upperLeft"});
this.waiterContainer.position($merge({relativeTo:this.waiterOverlay},this.options.containerPosition));
if(this.options.useIframeShim){this.shim.show()
}this.waiterFx.start({0:{opacity:[1]},1:{opacity:[this.options.layer.styles.opacity]}}).chain(function(){if(this.active==A){this.fireEvent("onShow",A)
}this.callChain()
}.bind(this))
}.bind(this);
if(this.active&&this.active!=A){this.stop(B)
}else{B()
}return this
},stop:function(A){if(!this.active){if($type(A)=="function"){A.attempt()
}return this
}this.waiterFx.cancel();
this.waiterFx.clearChain();
this.waiterFx.start({0:{opacity:[0]},1:{opacity:[0]}}).chain(function(){this.active=null;
this.waiterOverlay.hide();
if(this.options.useIframeShim){this.shim.hide()
}this.fireEvent("onHide",this.active);
this.callChain();
this.clearChain();
if($type(A)=="function"){A.attempt()
}}.bind(this));
return this
}});
if(window.Request){Request=Class.refactor(Request,{options:{useWaiter:false,waiterOptions:{},waiterTarget:false},initialize:function(A){this._send=this.send;
this.send=function(B){if(this.waiter){this.waiter.start().chain(this._send.bind(this,B))
}else{this._send(B)
}return this
};
this.previous(A);
if(this.options.useWaiter&&(document.id(this.options.update)||document.id(this.options.waiterTarget))){this.waiter=new Waiter(this.options.waiterTarget||this.options.update,this.options.waiterOptions);
["onComplete","onException","onCancel"].each(function(B){this.addEvent(B,this.waiter.stop.bind(this.waiter))
},this)
}}})
}Element.Properties.waiter={set:function(A){var B=this.retrieve("waiter");
return this.eliminate("waiter").store("waiter:options",A)
},get:function(A){if(A||!this.retrieve("waiter")){if(A||!this.retrieve("waiter:options")){this.set("waiter",A)
}this.store("waiter",new Waiter(this,this.retrieve("waiter:options")))
}return this.retrieve("waiter")
}};
Element.implement({wait:function(A){this.get("waiter",A).start();
return this
},release:function(){var A=Array.link(arguments,{options:Object.type,callback:Function.type});
this.get("waiter",A.options).stop(A.callback);
return this
}});
var MooScroller=new Class({Implements:[Options,Events],options:{maxThumbSize:10,mode:"vertical",width:0,scrollSteps:10,wheel:true,scrollLinks:{forward:"scrollForward",back:"scrollBack"},hideWhenNoOverflow:true},initialize:function(D,A,B){this.setOptions(B);
this.horz=(this.options.mode=="horizontal");
this.content=document.id(D).setStyle("overflow","hidden");
this.knob=document.id(A);
this.track=this.knob.getParent();
this.setPositions();
if(this.horz&&this.options.width){this.wrapper=new Element("div");
this.content.getChildren().each(function(E){this.wrapper.adopt(E)
},this);
this.wrapper.inject(this.content).setStyle("width",this.options.width)
}this.bound={"start":this.start.bind(this),"end":this.end.bind(this),"drag":this.drag.bind(this),"wheel":this.wheel.bind(this),"page":this.page.bind(this)};
this.position={};
this.mouse={};
this.update();
this.attach();
var C=function(){$clear(this.scrolling)
}.bind(this);
["forward","back"].each(function(E){var F=document.id(this.options.scrollLinks[E]);
if(F){F.addEvents({mousedown:function(){this.scrolling=this[E].periodical(50,this)
}.bind(this),mouseup:C.bind(this),click:C.bind(this)})
}},this);
this.knob.addEvent("click",C.bind(this));
window.addEvent("domready",function(){try{document.id(document.body).addEvent("mouseup",C.bind(this))
}catch(E){}}.bind(this))
},setPositions:function(){[this.track,this.knob].each(function(A){if(A.getStyle("position")=="static"){A.setStyle("position","relative")
}})
},toElement:function(){return this.content
},update:function(){var A=this.horz?"Width":"Height";
this.contentSize=this.content["offset"+A];
this.contentScrollSize=this.content["scroll"+A];
this.trackSize=this.track["offset"+A];
this.contentRatio=this.contentSize/this.contentScrollSize;
this.knobSize=(this.trackSize*this.contentRatio).limit(this.options.maxThumbSize,this.trackSize);
if(this.options.hideWhenNoOverflow){this.hidden=this.knobSize==this.trackSize;
this.track.setStyle("opacity",this.hidden?0:1)
}this.scrollRatio=this.contentScrollSize/this.trackSize;
this.knob.setStyle(A.toLowerCase(),this.knobSize);
this.updateThumbFromContentScroll();
this.updateContentFromThumbPosition()
},updateContentFromThumbPosition:function(){this.content[this.horz?"scrollLeft":"scrollTop"]=this.position.now*this.scrollRatio
},updateThumbFromContentScroll:function(){this.position.now=(this.content[this.horz?"scrollLeft":"scrollTop"]/this.scrollRatio).limit(0,(this.trackSize-this.knobSize));
this.knob.setStyle(this.horz?"left":"top",this.position.now)
},attach:function(){this.knob.addEvent("mousedown",this.bound.start);
if(this.options.scrollSteps){this.content.addEvent("mousewheel",this.bound.wheel)
}this.track.addEvent("mouseup",this.bound.page)
},wheel:function(A){if(this.hidden){return 
}this.scroll(-(A.wheel*this.options.scrollSteps));
this.updateThumbFromContentScroll();
A.stop()
},scroll:function(A){A=A||this.options.scrollSteps;
this.content[this.horz?"scrollLeft":"scrollTop"]+=A;
this.updateThumbFromContentScroll();
this.fireEvent("onScroll",A)
},forward:function(A){this.scroll(A)
},back:function(A){A=A||this.options.scrollSteps;
this.scroll(-A)
},page:function(C){var B=this.horz?"x":"y";
var A=(C.page[B]>this.knob.getPosition()[B]);
this.scroll((A?1:-1)*this.content["offset"+(this.horz?"Width":"Height")]);
this.updateThumbFromContentScroll();
this.fireEvent("onPage",A);
C.stop()
},start:function(B){var A=this.horz?"x":"y";
this.mouse.start=B.page[A];
this.position.start=this.knob.getStyle(this.horz?"left":"top").toInt();
document.addEvent("mousemove",this.bound.drag);
document.addEvent("mouseup",this.bound.end);
this.knob.addEvent("mouseup",this.bound.end);
B.stop()
},end:function(A){document.removeEvent("mousemove",this.bound.drag);
document.removeEvent("mouseup",this.bound.end);
this.knob.removeEvent("mouseup",this.bound.end);
A.stop()
},drag:function(B){var A=this.horz?"x":"y";
this.mouse.now=B.page[A];
this.position.now=(this.position.start+(this.mouse.now-this.mouse.start)).limit(0,(this.trackSize-this.knobSize));
this.updateContentFromThumbPosition();
this.updateThumbFromContentScroll();
B.stop()
}});