Object.extend(Event,{delegate:function(element,eventName,targetSelector,handler){element=$(element);function selectorMatch(element){return element.match(targetSelector);}
function validateTarget(origin){if(typeof origin!=="undefined"){if(origin.match(targetSelector)){return origin;}
var ancestors=origin.ancestors();return ancestors.find(selectorMatch);}
else{return null;}}
function createDelegation(delegatedEvent){var rawOrigin=Event.element(delegatedEvent);var origin=validateTarget(rawOrigin);if(origin!==null&&(typeof origin!=='undefined')&&(typeof handler==='function')){delegatedEvent.element=function(){return origin;};return handler(delegatedEvent);}}
element.observe(eventName,createDelegation);return element;},delegators:function(element,eventName,rules){element=$(element);function delegateRule(rule){element.delegate(eventName,rule.key,rule.value);}
$H(rules).each(delegateRule);return element;}});Element.addMethods({delegate:Event.delegate,delegators:Event.delegators});Object.extend(document,{delegate:Event.delegate,delegators:Event.delegators});if(typeof(Control)=='undefined')
Control={};var $proc=function(proc){return typeof(proc)=='function'?proc:function(){return proc};};var $value=function(value){return typeof(value)=='function'?value():value;};Object.Event={extend:function(object){object._objectEventSetup=function(event_name){this._observers=this._observers||{};this._observers[event_name]=this._observers[event_name]||[];};object.observe=function(event_name,observer){if(typeof(event_name)=='string'&&typeof(observer)!='undefined'){this._objectEventSetup(event_name);if(!this._observers[event_name].include(observer))
this._observers[event_name].push(observer);}else
for(var e in event_name)
this.observe(e,event_name[e]);};object.stopObserving=function(event_name,observer){this._objectEventSetup(event_name);if(event_name&&observer)
this._observers[event_name]=this._observers[event_name].without(observer);else if(event_name)
this._observers[event_name]=[];else
this._observers={};};object.observeOnce=function(event_name,outer_observer){var inner_observer=function(){outer_observer.apply(this,arguments);this.stopObserving(event_name,inner_observer);}.bind(this);this._objectEventSetup(event_name);this._observers[event_name].push(inner_observer);};object.notify=function(event_name){this._objectEventSetup(event_name);var collected_return_values=[];var args=$A(arguments).slice(1);try{for(var i=0;i<this._observers[event_name].length;++i)
collected_return_values.push(this._observers[event_name][i].apply(this._observers[event_name][i],args)||null);}catch(e){if(e==$break)
return false;else
throw e;}
return collected_return_values;};if(object.prototype){object.prototype._objectEventSetup=object._objectEventSetup;object.prototype.observe=object.observe;object.prototype.stopObserving=object.stopObserving;object.prototype.observeOnce=object.observeOnce;object.prototype.notify=function(event_name){if(object.notify){var args=$A(arguments).slice(1);args.unshift(this);args.unshift(event_name);object.notify.apply(object,args);}
this._objectEventSetup(event_name);var args=$A(arguments).slice(1);var collected_return_values=[];try{if(this.options&&this.options[event_name]&&typeof(this.options[event_name])=='function')
collected_return_values.push(this.options[event_name].apply(this,args)||null);for(var i=0;i<this._observers[event_name].length;++i)
collected_return_values.push(this._observers[event_name][i].apply(this._observers[event_name][i],args)||null);}catch(e){if(e==$break)
return false;else
throw e;}
return collected_return_values;};}}};Element.addMethods({observeOnce:function(element,event_name,outer_callback){var inner_callback=function(){outer_callback.apply(this,arguments);Element.stopObserving(element,event_name,inner_callback);};Element.observe(element,event_name,inner_callback);}});Object.extend(Event,(function(){var cache=Event.cache;function getEventID(element){if(element._prototypeEventID)return element._prototypeEventID[0];arguments.callee.id=arguments.callee.id||1;return element._prototypeEventID=[++arguments.callee.id];}
function getDOMEventName(eventName){if(eventName&&eventName.include(':'))return"dataavailable";if(!Prototype.Browser.IE){eventName={mouseenter:'mouseover',mouseleave:'mouseout'}[eventName]||eventName;}
return eventName;}
function getCacheForID(id){return cache[id]=cache[id]||{};}
function getWrappersForEventName(id,eventName){var c=getCacheForID(id);return c[eventName]=c[eventName]||[];}
function createWrapper(element,eventName,handler){var id=getEventID(element);var c=getWrappersForEventName(id,eventName);if(c.pluck("handler").include(handler)||(typeof handler==="undefined"))return false;var wrapper=function(event){if(!Event||!Event.extend||(event.eventName&&event.eventName!=eventName))
return false;Event.extend(event);handler.call(element,event);};if(!(Prototype.Browser.IE)&&['mouseenter','mouseleave'].include(eventName)){wrapper=wrapper.wrap(function(proceed,event){var rel=event.relatedTarget;var cur=event.currentTarget;if(rel&&rel.nodeType==Node.TEXT_NODE)
rel=rel.parentNode;if(rel&&rel!=cur&&!rel.descendantOf(cur))
return proceed(event);});}
wrapper.handler=handler;c.push(wrapper);return wrapper;}
function findWrapper(id,eventName,handler){var c=getWrappersForEventName(id,eventName);return c.find(function(wrapper){return wrapper.handler==handler});}
function destroyWrapper(id,eventName,handler){var c=getCacheForID(id);if(!c[eventName])return false;c[eventName]=c[eventName].without(findWrapper(id,eventName,handler));}
function destroyCache(){for(var id in cache)
for(var eventName in cache[id])
cache[id][eventName]=null;}
if(window.attachEvent){window.attachEvent("onunload",destroyCache);}
return{observe:function(element,eventName,handler){element=$(element);var name=getDOMEventName(eventName);var wrapper=createWrapper(element,eventName,handler);if(!wrapper)return element;if(element.addEventListener){element.addEventListener(name,wrapper,false);}else{element.attachEvent("on"+name,wrapper);}
return element;},stopObserving:function(element,eventName,handler){element=$(element);var id=getEventID(element),name=getDOMEventName(eventName);if(!handler&&eventName){getWrappersForEventName(id,eventName).each(function(wrapper){element.stopObserving(eventName,wrapper.handler);});return element;}else if(!eventName){Object.keys(getCacheForID(id)).each(function(eventName){element.stopObserving(eventName);});return element;}
var wrapper=findWrapper(id,eventName,handler);if(!wrapper)return element;if(element.removeEventListener){element.removeEventListener(name,wrapper,false);}else{element.detachEvent("on"+name,wrapper);}
destroyWrapper(id,eventName,handler);return element;},fire:function(element,eventName,memo){element=$(element);if(element==document&&document.createEvent&&!element.dispatchEvent)
element=document.documentElement;var event;if(document.createEvent){event=document.createEvent("HTMLEvents");event.initEvent("dataavailable",true,true);}else{event=document.createEventObject();event.eventType="ondataavailable";}
event.eventName=eventName;event.memo=memo||{};if(document.createEvent){element.dispatchEvent(event);}else{element.fireEvent(event.eventType,event);}
return Event.extend(event);}};})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize()});(function(){function wheel(event){var delta;if(event.wheelDelta)
delta=event.wheelDelta/120;else if(event.detail)
delta=-event.detail/3;if(!delta)
return;var custom_event=event.element().fire('mouse:wheel',{delta:delta});if(custom_event.stopped){event.stop();return false;}}
document.observe('mousewheel',wheel);document.observe('DOMMouseScroll',wheel);})();var IframeShim=Class.create({initialize:function(){this.element=new Element('iframe',{style:'position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);display:none',src:'javascript:void(0);',frameborder:0});$(document.body).insert(this.element);},hide:function(){this.element.hide();return this;},show:function(){this.element.show();return this;},positionUnder:function(element){var element=$(element);var offset=element.cumulativeOffset();var dimensions=element.getDimensions();this.element.setStyle({left:offset[0]+'px',top:offset[1]+'px',width:dimensions.width+'px',height:dimensions.height+'px',zIndex:element.getStyle('zIndex')-1}).show();return this;},setBounds:function(bounds){for(prop in bounds)
bounds[prop]+='px';this.element.setStyle(bounds);return this;},destroy:function(){if(this.element)
this.element.remove();return this;}});if(typeof(Prototype)==="undefined"){throw"Control.Tabs requires Prototype to be loaded.";}
if(typeof(Object.Event)==="undefined"){throw"Control.Tabs requires Object.Event to be loaded.";}
Control.Tabs=Class.create({initialize:function(tab_list_container,options){if(!$(tab_list_container)){throw"Control.Tabs could not find the element: "+tab_list_container;}
this.activeContainer=false;this.activeLink=false;this.containers=$H({});this.links=[];Control.Tabs.instances.push(this);this.options={beforeChange:Prototype.emptyFunction,afterChange:Prototype.emptyFunction,hover:false,linkSelector:'li a',setClassOnContainer:false,activeClassName:'active',defaultTab:'first',autoLinkExternal:true,targetRegExp:/#(.+)$/,showFunction:Element.show,hideFunction:Element.hide};Object.extend(this.options,options||{});(typeof(this.options.linkSelector==='string')?$(tab_list_container).select(this.options.linkSelector):this.options.linkSelector($(tab_list_container))).findAll(function(link){return(/^#/).exec(link.href.replace(window.location.href.split('#')[0],''));}).each(function(link){this.addTab(link);}.bind(this));this.containers.values().each(Element.hide);if(this.options.defaultTab==='first'){this.setActiveTab(this.links.first());}
else if(this.options.defaultTab==='last'){this.setActiveTab(this.links.last());}
else{this.setActiveTab(this.options.defaultTab);}
var targets=this.options.targetRegExp.exec(window.location);if(targets&&targets[1]){targets[1].split(',').each(function(target){this.setActiveTab(this.links.find(function(link){return link.key==target;}));}.bind(this));}
if(this.options.autoLinkExternal){$A(document.getElementsByTagName('a')).each(function(a){if(!this.links.include(a)){var clean_href=a.href.replace(window.location.href.split('#')[0],'');if(clean_href.substring(0,1)=='#'){if(this.containers.keys().include(clean_href.substring(1))){$(a).observe('click',function(event,clean_href){this.setActiveTab(clean_href.substring(1));}.bindAsEventListener(this,clean_href));}}}}.bind(this));}},addTab:function(link){this.links.push(link);link.key=link.getAttribute('href').replace(window.location.href.split('#')[0],'').split('/').last().replace(/#/,'');var container=$(link.key);if(!container){throw"Control.Tabs: #"+link.key+" was not found on the page.";}
this.containers.set(link.key,container);link[this.options.hover?'onmouseover':'onclick']=function(link){if(window.event){Event.stop(window.event);}
this.setActiveTab(link);return false;}.bind(this,link);},setActiveTab:function(link){if(!link&&typeof(link)=='undefined')
return;if(typeof(link)=='string'){this.setActiveTab(this.links.find(function(_link){return _link.key==link;}));}else if(typeof(link)=='number'){this.setActiveTab(this.links[link]);}else{if(this.notify('beforeChange',this.activeContainer,this.containers.get(link.key))===false)
return;if(this.activeContainer)
this.options.hideFunction(this.activeContainer);this.links.each(function(item){(this.options.setClassOnContainer?$(item.parentNode):item).removeClassName(this.options.activeClassName);}.bind(this));(this.options.setClassOnContainer?$(link.parentNode):link).addClassName(this.options.activeClassName);this.activeContainer=this.containers.get(link.key);this.activeLink=link;this.options.showFunction(this.containers.get(link.key));this.notify('afterChange',this.containers.get(link.key));}},next:function(){this.links.each(function(link,i){if(this.activeLink==link&&this.links[i+1]){this.setActiveTab(this.links[i+1]);throw $break;}}.bind(this));},previous:function(){this.links.each(function(link,i){if(this.activeLink==link&&this.links[i-1]){this.setActiveTab(this.links[i-1]);throw $break;}}.bind(this));},first:function(){this.setActiveTab(this.links.first());},last:function(){this.setActiveTab(this.links.last());}});Object.extend(Control.Tabs,{instances:[],findByTabId:function(id){return Control.Tabs.instances.find(function(tab){return tab.links.find(function(link){return link.key==id;});});}});Object.Event.extend(Control.Tabs);if(typeof(Draggable)!='undefined'){Draggable.prototype.draw=function(point){var pos=Position.cumulativeOffset(this.element);if(this.options.ghosting){var r=Position.realOffset(this.element);pos[0]+=r[0]-Position.deltaX;pos[1]+=r[1]-Position.deltaY;}
var d=this.currentDelta();pos[0]-=d[0];pos[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){pos[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;pos[1]-=this.options.scroll.scrollTop-this.originalScrollTop;}
var p=[0,1].map(function(i){return(point[i]-pos[i]-this.offset[i])}.bind(this));if(this.options.snap){if(typeof this.options.snap=='function'){p=this.options.snap(p[0],p[1],this);}else{if(this.options.snap instanceof Array){p=p.map(function(v,i){return Math.round(v/this.options.snap[i])*this.options.snap[i]}.bind(this))}else{p=p.map(function(v){return Math.round(v/this.options.snap)*this.options.snap}.bind(this))}}}
if(this.options.onDraw)
this.options.onDraw.bind(this)(p);else{var style=this.element.style;if(this.options.constrainToViewport){var viewport_dimensions=document.viewport.getDimensions();var container_dimensions=this.element.getDimensions();var margin_top=parseInt(this.element.getStyle('margin-top'));var margin_left=parseInt(this.element.getStyle('margin-left'));var boundary=[[0-margin_left,0-margin_top],[(viewport_dimensions.width-container_dimensions.width)-margin_left,(viewport_dimensions.height-container_dimensions.height)-margin_top]];if((!this.options.constraint)||(this.options.constraint=='horizontal')){if((p[0]>=boundary[0][0])&&(p[0]<=boundary[1][0]))
this.element.style.left=p[0]+"px";else
this.element.style.left=((p[0]<boundary[0][0])?boundary[0][0]:boundary[1][0])+"px";}
if((!this.options.constraint)||(this.options.constraint=='vertical')){if((p[1]>=boundary[0][1])&&(p[1]<=boundary[1][1]))
this.element.style.top=p[1]+"px";else
this.element.style.top=((p[1]<=boundary[0][1])?boundary[0][1]:boundary[1][1])+"px";}}else{if((!this.options.constraint)||(this.options.constraint=='horizontal'))
style.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))
style.top=p[1]+"px";}
if(style.visibility=="hidden")
style.visibility="";}};}
if(typeof(Prototype)=="undefined")
throw"Control.Window requires Prototype to be loaded.";if(typeof(IframeShim)=="undefined")
throw"Control.Window requires IframeShim to be loaded.";if(typeof(Object.Event)=="undefined")
throw"Control.Window requires Object.Event to be loaded.";Control.Window=Class.create({initialize:function(container,options){Control.Window.windows.push(this);this.container=false;this.isOpen=false;this.href=false;this.sourceContainer=false;this.ajaxRequest=false;this.remoteContentLoaded=false;this.numberInSequence=Control.Window.windows.length+1;this.indicator=false;this.effects={fade:false,appear:false};this.indicatorEffects={fade:false,appear:false};this.options=Object.extend({beforeOpen:Prototype.emptyFunction,afterOpen:Prototype.emptyFunction,beforeClose:Prototype.emptyFunction,afterClose:Prototype.emptyFunction,height:null,width:null,className:false,position:'center',offsetLeft:0,offsetTop:0,iframe:false,hover:false,indicator:false,closeOnClick:false,iframeshim:true,fade:false,fadeDuration:0.75,draggable:false,onDrag:Prototype.emptyFunction,resizable:false,minHeight:false,minWidth:false,maxHeight:false,maxWidth:false,onResize:Prototype.emptyFunction,constrainToViewport:false,parameters:{},onComplete:Prototype.emptyFunction,onSuccess:Prototype.emptyFunction,onFailure:Prototype.emptyFunction,onException:Prototype.emptyFunction,onRemoteContentLoaded:Prototype.emptyFunction,insertRemoteContentAt:false},options||{});this.indicator=this.options.indicator?$(this.options.indicator):false;if(container){if(typeof(container)==="string"&&container.match(Control.Window.uriRegex))
this.href=container;else{this.container=$(container);this.createDefaultContainer(container);if(this.container&&((this.container.readAttribute('href')&&this.container.readAttribute('href')!='')||(this.options.hover&&this.options.hover!==true))){if(this.options.hover&&this.options.hover!==true)
this.sourceContainer=$(this.options.hover);else{this.sourceContainer=this.container;this.href=this.container.readAttribute('href');var rel=this.href.match(/^#(.+)$/);if(rel&&rel[1]){this.container=$(rel[1]);this.href=false;}else
this.container=false;}
this.sourceContainerOpenHandler=function(event){this.open(event);event.stop();return false;}.bindAsEventListener(this);this.sourceContainerCloseHandler=function(event){this.close(event);}.bindAsEventListener(this);this.sourceContainerMouseMoveHandler=function(event){this.position(event);}.bindAsEventListener(this);if(this.options.hover){this.sourceContainer.observe('mouseenter',this.sourceContainerOpenHandler);this.sourceContainer.observe('mouseleave',this.sourceContainerCloseHandler);if(this.options.position=='mouse')
this.sourceContainer.observe('mousemove',this.sourceContainerMouseMoveHandler);}else
this.sourceContainer.observe('click',this.sourceContainerOpenHandler);}}}
this.createDefaultContainer(container);if(this.options.insertRemoteContentAt===false)
this.options.insertRemoteContentAt=this.container;var styles={margin:0,position:'absolute',zIndex:Control.Window.initialZIndexForWindow()};if(this.options.width)
styles.width=$value(this.options.width)+'px';if(this.options.height)
styles.height=$value(this.options.height)+'px';this.container.setStyle(styles);if(this.options.className)
this.container.addClassName(this.options.className);this.positionHandler=this.position.bindAsEventListener(this);this.outOfBoundsPositionHandler=this.ensureInBounds.bindAsEventListener(this);this.bringToFrontHandler=this.bringToFront.bindAsEventListener(this);this.container.observe('mousedown',this.bringToFrontHandler);this.container.hide();this.closeHandler=this.close.bindAsEventListener(this);if(this.options.iframeshim){this.iFrameShim=new IframeShim();this.iFrameShim.hide();}
this.applyResizable();this.applyDraggable();Event.observe(window,'resize',this.outOfBoundsPositionHandler);this.notify('afterInitialize');},open:function(event){if(this.isOpen){this.bringToFront();return false;}
if(this.options.closeOnClick){if(this.options.closeOnClick===true)
this.closeOnClickContainer=$(document.body);else if(this.options.closeOnClick=='container')
this.closeOnClickContainer=this.container;else if(this.options.closeOnClick=='overlay'){Control.Overlay.load();this.closeOnClickContainer=Control.Overlay.container;}else
this.closeOnClickContainer=$(this.options.closeOnClick);this.closeOnClickContainer.observe('click',this.closeHandler);}
if(this.href&&!this.options.iframe&&!this.remoteContentLoaded){this.remoteContentLoaded=true;if(this.href.match(/\.(jpe?g|gif|png|tiff?)$/i)){var img=new Element('img');img.observe('load',function(img){this.getRemoteContentInsertionTarget().insert(img);this.position();if(this.notify('onRemoteContentLoaded')!==false){if(this.options.indicator)
this.hideIndicator();this.finishOpen();}}.bind(this,img));img.writeAttribute('src',this.href);}else{if(!this.ajaxRequest){if(this.options.indicator)
this.showIndicator();this.ajaxRequest=new Ajax.Request(this.href,{method:'post',parameters:this.options.parameters,onComplete:function(request){this.notify('onComplete',request);this.ajaxRequest=false;}.bind(this),onSuccess:function(request){this.getRemoteContentInsertionTarget().insert(request.responseText);this.notify('onSuccess',request);if(this.notify('onRemoteContentLoaded')!==false){if(this.options.indicator)
this.hideIndicator();this.finishOpen();}}.bind(this),onFailure:function(request){this.notify('onFailure',request);if(this.options.indicator)
this.hideIndicator();}.bind(this),onException:function(request,e){this.notify('onException',request,e);if(this.options.indicator)
this.hideIndicator();}.bind(this)});}}
return true;}else if(this.options.iframe&&!this.remoteContentLoaded){this.remoteContentLoaded=true;if(this.options.indicator)
this.showIndicator();this.getRemoteContentInsertionTarget().insert(Control.Window.iframeTemplate.evaluate({href:this.href}));var iframe=this.container.down('iframe');iframe.onload=function(){this.notify('onRemoteContentLoaded');if(this.options.indicator)
this.hideIndicator();iframe.onload=null;}.bind(this);}
this.finishOpen(event);return true},close:function(event){if(!this.isOpen||this.notify('beforeClose',event)===false)
return false;if(this.options.closeOnClick)
this.closeOnClickContainer.stopObserving('click',this.closeHandler);if(this.options.fade){this.effects.fade=new Effect.Fade(this.container,{queue:{position:'front',scope:'Control.Window'+this.numberInSequence},from:1,to:0,duration:this.options.fadeDuration/2,afterFinish:function(){if(this.iFrameShim)
this.iFrameShim.hide();this.isOpen=false;this.notify('afterClose');}.bind(this)});}else{this.container.hide();if(this.iFrameShim)
this.iFrameShim.hide();}
if(this.ajaxRequest)
this.ajaxRequest.transport.abort();if(!(this.options.draggable||this.options.resizable)&&this.options.position=='center')
Event.stopObserving(window,'resize',this.positionHandler);if(!this.options.draggable&&this.options.position=='center')
Event.stopObserving(window,'scroll',this.positionHandler);if(this.options.indicator)
this.hideIndicator();if(!this.options.fade){this.isOpen=false;this.notify('afterClose');}
return true;},position:function(event){if(this.options.position=='mouse'){var xy=[Event.pointerX(event),Event.pointerY(event)];this.container.setStyle({top:xy[1]+$value(this.options.offsetTop)+'px',left:xy[0]+$value(this.options.offsetLeft)+'px'});return;}
var container_dimensions=this.container.getDimensions();var viewport_dimensions=document.viewport.getDimensions();Position.prepare();var offset_left=(Position.deltaX+Math.floor((viewport_dimensions.width-container_dimensions.width)/2));var offset_top=(Position.deltaY+((viewport_dimensions.height>container_dimensions.height)?Math.floor((viewport_dimensions.height-container_dimensions.height)/2):0));if(this.options.position=='center'){this.container.setStyle({top:(container_dimensions.height<=viewport_dimensions.height)?((offset_top!=null&&offset_top>0)?offset_top:0)+'px':0,left:(container_dimensions.width<=viewport_dimensions.width)?((offset_left!=null&&offset_left>0)?offset_left:0)+'px':0});}else if(this.options.position=='relative'){var xy=this.sourceContainer.cumulativeOffset();var top=xy[1]+$value(this.options.offsetTop);var left=xy[0]+$value(this.options.offsetLeft);this.container.setStyle({top:(container_dimensions.height<=viewport_dimensions.height)?(this.options.constrainToViewport?Math.max(0,Math.min(viewport_dimensions.height-(container_dimensions.height),top)):top)+'px':0,left:(container_dimensions.width<=viewport_dimensions.width)?(this.options.constrainToViewport?Math.max(0,Math.min(viewport_dimensions.width-(container_dimensions.width),left)):left)+'px':0});}else if(this.options.position.length){var top=$value(this.options.position[1])+$value(this.options.offsetTop);var left=$value(this.options.position[0])+$value(this.options.offsetLeft);this.container.setStyle({top:(container_dimensions.height<=viewport_dimensions.height)?(this.options.constrainToViewport?Math.max(0,Math.min(viewport_dimensions.height-(container_dimensions.height),top)):top)+'px':0,left:(container_dimensions.width<=viewport_dimensions.width)?(this.options.constrainToViewport?Math.max(0,Math.min(viewport_dimensions.width-(container_dimensions.width),left)):left)+'px':0});}
if(this.iFrameShim)
this.updateIFrameShimZIndex();},ensureInBounds:function(){if(!this.isOpen)
return;var viewport_dimensions=document.viewport.getDimensions();var container_offset=this.container.cumulativeOffset();var container_dimensions=this.container.getDimensions();if(container_offset.left+container_dimensions.width>viewport_dimensions.width){this.container.setStyle({left:(Math.max(0,viewport_dimensions.width-container_dimensions.width))+'px'});}
if(container_offset.top+container_dimensions.height>viewport_dimensions.height){this.container.setStyle({top:(Math.max(0,viewport_dimensions.height-container_dimensions.height))+'px'});}},bringToFront:function(){Control.Window.bringToFront(this);this.notify('bringToFront');},destroy:function(){this.container.stopObserving('mousedown',this.bringToFrontHandler);if(this.draggable){Resizables.removeObserver(this.container);this.draggable.handle.stopObserving('mousedown',this.bringToFrontHandler);this.draggable.destroy();}
if(this.resizable){Resizables.removeObserver(this.container);this.resizable.handle.stopObserving('mousedown',this.bringToFrontHandler);this.resizable.destroy();}
if(this.container&&!this.sourceContainer)
this.container.remove();if(this.sourceContainer){if(this.options.hover){this.sourceContainer.stopObserving('mouseenter',this.sourceContainerOpenHandler);this.sourceContainer.stopObserving('mouseleave',this.sourceContainerCloseHandler);if(this.options.position=='mouse')
this.sourceContainer.stopObserving('mousemove',this.sourceContainerMouseMoveHandler);}else
this.sourceContainer.stopObserving('click',this.sourceContainerOpenHandler);}
if(this.iFrameShim)
this.iFrameShim.destroy();Event.stopObserving(window,'resize',this.outOfBoundsPositionHandler);Control.Window.windows=Control.Window.windows.without(this);this.notify('afterDestroy');},applyResizable:function(){if(this.options.resizable){if(typeof(Resizable)=="undefined")
throw"Control.Window requires resizable.js to be loaded.";var resizable_handle=null;if(this.options.resizable===true){resizable_handle=new Element('div',{className:'resizable_handle'});this.container.insert(resizable_handle);}else
resizable_handle=$(this.options.resziable);this.resizable=new Resizable(this.container,{handle:resizable_handle,minHeight:this.options.minHeight,minWidth:this.options.minWidth,maxHeight:this.options.constrainToViewport?function(element){return(document.viewport.getDimensions().height-parseInt(element.style.top||0))-(element.getHeight()-parseInt(element.style.height||0));}:this.options.maxHeight,maxWidth:this.options.constrainToViewport?function(element){return(document.viewport.getDimensions().width-parseInt(element.style.left||0))-(element.getWidth()-parseInt(element.style.width||0));}:this.options.maxWidth});this.resizable.handle.observe('mousedown',this.bringToFrontHandler);Resizables.addObserver(new Control.Window.LayoutUpdateObserver(this,function(){if(this.iFrameShim)
this.updateIFrameShimZIndex();this.notify('onResize');}.bind(this)));}},applyDraggable:function(){if(this.options.draggable){if(typeof(Draggables)=="undefined")
throw"Control.Window requires dragdrop.js to be loaded.";var draggable_handle=null;if(this.options.draggable===true){draggable_handle=new Element('div',{className:'draggable_handle'});this.container.insert(draggable_handle);}else
draggable_handle=$(this.options.draggable);this.draggable=new Draggable(this.container,{handle:draggable_handle,constrainToViewport:this.options.constrainToViewport,zindex:this.container.getStyle('z-index'),starteffect:function(){if(Prototype.Browser.IE){this.old_onselectstart=document.onselectstart;document.onselectstart=function(){return false;};}}.bind(this),endeffect:function(){document.onselectstart=this.old_onselectstart;}.bind(this)});this.draggable.handle.observe('mousedown',this.bringToFrontHandler);Draggables.addObserver(new Control.Window.LayoutUpdateObserver(this,function(){if(this.iFrameShim)
this.updateIFrameShimZIndex();this.notify('onDrag');}.bind(this)));}},createDefaultContainer:function(container){if(!this.container){this.container=new Element('div',{id:'control_window_'+this.numberInSequence});$(document.body).insert(this.container);if(typeof(container)==="string"&&$(container)===null&&!container.match(/^#(.+)$/)&&!container.match(Control.Window.uriRegex)){this.container.appendChild(document.createTextNode(container));}}},finishOpen:function(event){this.bringToFront();if(this.options.fade){if(typeof(Effect)=="undefined")
throw"Control.Window requires effects.js to be loaded."
if(this.effects.fade)
this.effects.fade.cancel();this.effects.appear=new Effect.Appear(this.container,{queue:{position:'end',scope:'Control.Window.'+this.numberInSequence},from:0,to:1,duration:this.options.fadeDuration/2,afterFinish:function(){if(this.iFrameShim)
this.updateIFrameShimZIndex();this.isOpen=true;this.notify('afterOpen');}.bind(this)});}else
this.container.show();this.position(event);if(!(this.options.draggable||this.options.resizable)&&this.options.position=='center')
Event.observe(window,'resize',this.positionHandler,false);if(!this.options.draggable&&this.options.position=='center')
Event.observe(window,'scroll',this.positionHandler,false);if(!this.options.fade){this.isOpen=true;this.notify('afterOpen');}
return true;},showIndicator:function(){this.showIndicatorTimeout=window.setTimeout(function(){if(this.options.fade){this.indicatorEffects.appear=new Effect.Appear(this.indicator,{queue:{position:'front',scope:'Control.Window.indicator.'+this.numberInSequence},from:0,to:1,duration:this.options.fadeDuration/2});}else
this.indicator.show();}.bind(this),Control.Window.indicatorTimeout);},hideIndicator:function(){if(this.showIndicatorTimeout)
window.clearTimeout(this.showIndicatorTimeout);this.indicator.hide();},getRemoteContentInsertionTarget:function(){return typeof(this.options.insertRemoteContentAt)=="string"?this.container.down(this.options.insertRemoteContentAt):$(this.options.insertRemoteContentAt);},updateIFrameShimZIndex:function(){if(this.iFrameShim)
this.iFrameShim.positionUnder(this.container);}});Object.extend(Control.Window,{windows:[],baseZIndex:9999,indicatorTimeout:250,iframeTemplate:new Template('<iframe src="#{href}" width="100%" height="100%" frameborder="0"></iframe>'),uriRegex:/^(\/|\#|https?\:\/\/|[\w]+\/)/,bringToFront:function(w){Control.Window.windows=Control.Window.windows.without(w);Control.Window.windows.push(w);Control.Window.windows.each(function(w,i){var z_index=Control.Window.baseZIndex+i;w.container.setStyle({zIndex:z_index});if(w.isOpen){if(w.iFrameShim)
w.updateIFrameShimZIndex();}
if(w.options.draggable)
w.draggable.options.zindex=z_index;});},open:function(container,options){var w=new Control.Window(container,options);w.open();return w;},initialZIndexForWindow:function(w){return Control.Window.baseZIndex+(Control.Window.windows.length-1);}});Object.Event.extend(Control.Window);Control.Window.LayoutUpdateObserver=Class.create({initialize:function(w,observer){this.w=w;this.element=$(w.container);this.observer=observer;},onStart:Prototype.emptyFunction,onEnd:function(event_name,instance){if(instance.element==this.element&&this.iFrameShim)
this.w.updateIFrameShimZIndex();},onResize:function(event_name,instance){if(instance.element==this.element)
this.observer(this.element);},onDrag:function(event_name,instance){if(instance.element==this.element)
this.observer(this.element);}});Control.Overlay={id:'control_overlay',loaded:false,container:false,lastOpacity:0,styles:{position:'fixed',top:0,left:0,bottom:0,right:0,zIndex:9998},ieStyles:{position:'absolute',top:0,left:0,height:"expression(document.body.clientHeight);",width:"expression(document.body.clientWidth);",zIndex:9998},effects:{fade:false,appear:false},load:function(){if(Control.Overlay.loaded){return false;}
Control.Overlay.loaded=true;return true;},unload:function(){if(!Control.Overlay.loaded){return false;}
Event.stopObserving(window,'resize',Control.Overlay.positionOverlay);Control.Overlay.stopObserving('beforeShow',Control.Overlay.positionOverlay);Event.stopObserving(window,'resize',Control.Overlay.positionIFrameShim);Control.Overlay.iFrameShim.destroy();Control.Overlay.container.remove();Control.Overlay.loaded=false;return true;},show:function(opacity,fade){if(Control.Overlay.notify('beforeShow')===false){return false;}
Control.Overlay.lastOpacity=opacity;Control.Overlay.positionIFrameShim();Control.Overlay.iFrameShim.show();if(fade){if(typeof(Effect)==="undefined"){throw"Control.Window requires effects.js to be loaded."}
if(Control.Overlay.effects.fade){Control.Overlay.effects.fade.cancel();}
Control.Overlay.effects.appear=new Effect.Appear(Control.Overlay.container,{queue:{position:'end',scope:'Control.Overlay'},afterFinish:function(){Control.Overlay.notify('afterShow');},from:0,to:Control.Overlay.lastOpacity,duration:(fade===true?0.75:fade)/2});}
else{Control.Overlay.container.setStyle({opacity:opacity||1});Control.Overlay.container.show();Control.Overlay.notify('afterShow');}
return true;},hide:function(fade){return true;if(Control.Overlay.notify('beforeHide')===false)
return false;if(Control.Overlay.effects.appear)
Control.Overlay.effects.appear.cancel();Control.Overlay.iFrameShim.hide();if(fade){Control.Overlay.effects.fade=new Effect.Fade(Control.Overlay.container,{queue:{position:'front',scope:'Control.Overlay'},afterFinish:function(){Control.Overlay.notify('afterHide');},from:Control.Overlay.lastOpacity,to:0,duration:(fade===true?0.75:fade)/2});}else{Control.Overlay.container.hide();Control.Overlay.notify('afterHide');}
return true;},positionIFrameShim:function(){if(Control.Overlay.container.visible())
Control.Overlay.iFrameShim.positionUnder(Control.Overlay.container);},positionOverlay:function(){var dimensions=document.viewport.getDimensions();Control.Overlay.container.setStyle({width:dimensions.width+'px',height:dimensions.height+'px'});}};Object.Event.extend(Control.Overlay);Control.ToolTip=Class.create(Control.Window,{initialize:function($super,container,tooltip,options){$super(tooltip,Object.extend(Object.extend(Control.ToolTip.defaultOptions,options||{}),{position:'mouse',hover:container}));}});Object.extend(Control.ToolTip,{defaultOptions:{offsetLeft:10}});Control.Modal=Class.create(Control.Window,{initialize:function($super,container,options){Control.Modal.InstanceMethods.beforeInitialize.bind(this)();$super(container,Object.extend(Control.Modal.defaultOptions,options||{}));}});Object.extend(Control.Modal,{defaultOptions:{overlayOpacity:0.5,closeOnClick:'overlay'},current:false,open:function(container,options){var modal=new Control.Modal(container,options);modal.open();return modal;},close:function(){if(Control.Modal.current)
Control.Modal.current.close();},InstanceMethods:{beforeInitialize:function(){Control.Overlay.load();this.overlayFinishedOpening=false;this.observe('beforeOpen',Control.Modal.Observers.beforeOpen.bind(this));this.observe('afterOpen',Control.Modal.Observers.afterOpen.bind(this));this.observe('afterClose',Control.Modal.Observers.afterClose.bind(this));}},Observers:{beforeOpen:function(){if(!this.overlayFinishedOpening){Control.Overlay.observeOnce('afterShow',function(){this.overlayFinishedOpening=true;this.open();}.bind(this));Control.Overlay.show(this.options.overlayOpacity,this.options.fade?this.options.fadeDuration:false);throw $break;}else
Control.Window.windows.without(this).invoke('close');},afterOpen:function(){Control.Modal.current=this;},afterClose:function(){Control.Overlay.hide(this.options.fade?this.options.fadeDuration:false);Control.Modal.current=false;this.overlayFinishedOpening=false;}}});Control.LightBox=Class.create(Control.Window,{initialize:function($super,container,options){this.allImagesLoaded=false;if(options.modal){var options=Object.extend(Control.LightBox.defaultOptions,options||{});options=Object.extend(Control.Modal.defaultOptions,options);options=Control.Modal.InstanceMethods.beforeInitialize.bind(this)(options);$super(container,options);}else
$super(container,Object.extend(Control.LightBox.defaultOptions,options||{}));this.hasRemoteContent=this.href&&!this.options.iframe;if(this.hasRemoteContent)
this.observe('onRemoteContentLoaded',Control.LightBox.Observers.onRemoteContentLoaded.bind(this));else
this.applyImageObservers();this.observe('beforeOpen',Control.LightBox.Observers.beforeOpen.bind(this));},applyImageObservers:function(){var images=this.getImages();this.numberImagesToLoad=images.length;this.numberofImagesLoaded=0;images.each(function(image){image.observe('load',function(image){++this.numberofImagesLoaded;if(this.numberImagesToLoad==this.numberofImagesLoaded){this.allImagesLoaded=true;this.onAllImagesLoaded();}}.bind(this,image));image.hide();}.bind(this));},onAllImagesLoaded:function(){this.getImages().each(function(image){this.showImage(image);}.bind(this));if(this.hasRemoteContent){if(this.options.indicator)
this.hideIndicator();this.finishOpen();}else
this.open();},getImages:function(){return this.container.select(Control.LightBox.imageSelector);},showImage:function(image){image.show();}});Object.extend(Control.LightBox,{imageSelector:'img',defaultOptions:{},Observers:{beforeOpen:function(){if(!this.hasRemoteContent&&!this.allImagesLoaded)
throw $break;},onRemoteContentLoaded:function(){this.applyImageObservers();if(!this.allImagesLoaded)
throw $break;}}});LowPro={};LowPro.Version='0.4.1';if(!Element.addMethods)
Element.addMethods=function(o){Object.extend(Element.Methods,o)};DOM={insertAfter:function(element,node,otherNode){element=$(element);if(otherNode.nextSibling)
return element.insertBefore(node,otherNode.nextSibling);else
return element.appendChild(node);},addBefore:function(element,node){element=$(element);return element.parentNode.insertBefore(node,element);},addAfter:function(element,node){element=$(element);return $(element.parentNode).insertAfter(node,element);},replaceElement:function(element,node){$(element).parentNode.replaceChild(node,element);return node;},prependChild:function(element,node){$(element).insertBefore(node,element.firstChild);},appendChildren:function(element,children){element=$(element);if(!(children instanceof Array))
children=Array.prototype.slice.call(arguments,1);children.each(function(child){element.appendChild(child)});return children;}};Element.addMethods(DOM);DOM.Builder={IE_TRANSLATIONS:{'class':'className','for':'htmlFor'},cache:{},ieAttrSet:function(attrs,attr,el){var trans;if(trans=this.IE_TRANSLATIONS[attr])el[trans]=attrs[attr];else if(attr=='style')el.style.cssText=attrs[attr];else if(attr.match(/^on/))el[attr]=new Function(attrs[attr]);else el.setAttribute(attr,attrs[attr]);},getElement:function(tag){var element=DOM.Builder.cache[tag];if(element==null)
element=DOM.Builder.cache[tag]=document.createElement(tag);return element.cloneNode(false);},tagFunc:function(tag){return function(){var attrs,children;if(arguments.length>0){if(arguments[0].nodeName||typeof arguments[0]=="string")
children=arguments;else{attrs=arguments[0];children=Array.prototype.slice.call(arguments,1);};}
return DOM.Builder.create(tag,attrs,children);};},create:function(tag,attrs,children){attrs=attrs||{};children=children||[];tag=tag.toLowerCase();var isIE=navigator.userAgent.match(/MSIE/);var el=(isIE&&attrs.name)?document.createElement("<"+tag+" name="+attrs.name+">"):DOM.Builder.getElement(tag);for(var attr in attrs){if(attrs[attr]===true)attrs[attr]=attr;if(typeof attrs[attr]!='function'){if(isIE)this.ieAttrSet(attrs,attr,el);else el.setAttribute(attr,attrs[attr].toString());}else if(attr.match(/^on(.+)$/)){Event.observe(el,RegExp.$1,attrs[attr]);};}
for(var i=0;i<children.length;i++){if(typeof children[i]=='string')
children[i]=document.createTextNode(children[i]);el.appendChild(children[i]);}
return $(el);}};(function(){var els=("p|div|span|strong|em|img|table|tr|td|th|thead|tbody|tfoot|pre|code|"+"h1|h2|h3|h4|h5|h6|ul|ol|li|form|input|textarea|legend|fieldset|"+"select|option|blockquote|cite|br|hr|dd|dl|dt|address|a|button|abbr|acronym|"+"script|link|style|bdo|ins|del|object|param|col|colgroup|optgroup|caption|"+"label|dfn|kbd|samp|var|embed").split("|");var el,i=0;while(el=els[i++])
window['$'+el]=DOM.Builder.tagFunc(el);})();DOM.Builder.fromHTML=function(html){var root;if(!(root=arguments.callee._root))
root=arguments.callee._root=document.createElement('div');root.innerHTML=html;return root.childNodes[0];};String.prototype.toElement=function(){return DOM.Builder.fromHTML(this);};(function(){var old$=$;$=function(element){if(element&&element.toElement&&element.match(/^<(.+)>$/))
return $(element.toElement());return old$.apply(this,arguments);}})();Object.extend(Event,{_domReady:function(){if(arguments.callee.done)return;arguments.callee.done=true;if(Event._timer)clearInterval(Event._timer);Event._readyCallbacks.each(function(f){f()});Event._readyCallbacks=null;},onReady:function(f){if(!this._readyCallbacks){var domReady=this._domReady;if(domReady.done)return f();if(document.addEventListener)
document.addEventListener("DOMContentLoaded",domReady,false);if(/WebKit/i.test(navigator.userAgent)){this._timer=setInterval(function(){if(/loaded|complete/.test(document.readyState))domReady();},10);}
Event.observe(window,'load',domReady);Event._readyCallbacks=[];}
Event._readyCallbacks.push(f);}});if(typeof Element.Methods.observe=='undefined')Element.addMethods({observe:function(el,event,callback){Event.observe(el,event,callback);},stopObserving:function(el,event,callback){Event.stopObserving(el,event,callback);}});Object.extend(Event,{trigger:function(element,event,fakeEvent){element=$(element);fakeEvent=fakeEvent||{type:event};if(element.events&&element.events[event]){$H(element.events[event]).each(function(cache){cache[1].call(element,fakeEvent);});}}});Event.addBehavior=function(rules){var ab=this.addBehavior;Object.extend(ab.rules,rules);if(!ab.responderApplied){Ajax.Responders.register({onComplete:function(){if(Event.addBehavior.reassignAfterAjax)
setTimeout(function(){ab.unload();ab.load(ab.rules)},10);}});ab.responderApplied=true;}
if(ab.autoTrigger){this.onReady(ab.load.bind(ab,rules));}};Object.extend(Event.addBehavior,{rules:{},cache:[],reassignAfterAjax:true,autoTrigger:true,load:function(rules){for(var selector in rules){var observer=rules[selector];var sels=selector.split(',');sels.each(function(sel){var parts=sel.split(/:(?=[a-z]+$)/),css=parts[0],event=parts[1];$$(css).each(function(element){if(event){$(element).observe(event,observer);Event.addBehavior.cache.push([element,event,observer]);}else{if(!element.$$assigned||!element.$$assigned.include(observer)){if(observer.attach)observer.attach(element);else observer.call($(element));element.$$assigned=element.$$assigned||[];element.$$assigned.push(observer);}}});});}},unload:function(){$A(this.cache).each(function(c){Event.stopObserving.apply(Event,c);});this.cache=[];}});Event.observe(window,'unload',Event.addBehavior.unload.bind(Event.addBehavior));$$$=Event.addBehavior;Behavior={create:function(members){var behavior=function(){var behavior=arguments.callee;if(this==window||$H(this).values().include(behavior)){var args=[];for(var i=0;i<arguments.length;i++)
args.push(arguments[i]);return function(){var initArgs=[this].concat(args);behavior.attach.apply(behavior,initArgs);};}else{var args=(arguments.length==2&&arguments[1]instanceof Array)?arguments[1]:Array.prototype.slice.call(arguments,1);this.element=$(arguments[0]);this.initialize.apply(this,args);behavior._bindEvents(this);behavior.instances.push(this);}};behavior.prototype.initialize=Prototype.K;Object.extend(behavior.prototype,members);Object.extend(behavior,Behavior.ClassMethods);behavior.instances=[];return behavior;},ClassMethods:{attach:function(element){return new this(element,Array.prototype.slice.call(arguments,1));},_bindEvents:function(bound){for(var member in bound)
if(member.match(/^on(.+)/)&&typeof bound[member]=='function')
bound.element.observe(RegExp.$1,bound[member].bindAsEventListener(bound));}}};String.prototype.getIdFromHref=function(){if(this.indexOf("#")!==-1){return this.substring(this.indexOf("#")+1,this.length);}
else{return this;}};if(typeof TestFreaks==="undefined"){TestFreaks={helpers:{}};}
TestFreaks.IMAGE=1;TestFreaks.VIDEO=2;TestFreaks.updateImageContainer=function(element,type){if(type===TestFreaks.IMAGE){TestFreaks.updateImage(element);}
else if(type===TestFreaks.VIDEO){TestFreaks.updateVideo(element);}};TestFreaks.updateVideo=function(element){var image=new Image();image.src=element.src;var image_tag=new Element("img",{src:image.src,height:140,width:199,alt:$("image-container").select("img").first().readAttribute("alt")});var container_height=$("image-container").getHeight();var top_offset=parseInt(Math.max(container_height-image_tag.height,0)/2,10);image_tag.setStyle({position:'relative',top:top_offset+'px',display:'block'});var href=$(element.parentNode).readAttribute("href");var link=new Element("a",{'href':href,"target":'_blank','class':'video_thumbnail'});link.appendChild(image_tag);new VideoBox(link);$("image-container").update(link);TestFreaks.helpers.forceRedraw('gallery');};TestFreaks.updateImage=function(element){var image=new Image();image.src=element.readAttribute("src").sub('/40/','/340x170/');var image_tag=new Element("img",{src:image.src,height:Math.min(170,image.height),width:Math.min(340,image.width),alt:$("image-container").select("img").first().readAttribute("alt")});var container_height=$("image-container").getHeight();var top_offset=parseInt(Math.max(container_height-image_tag.height,0)/2,10);image_tag.setStyle({position:'relative',top:top_offset+'px'});$("image-container").update(image_tag);TestFreaks.helpers.forceRedraw('gallery');};TestFreaks.selectFromListOfLinks=function(idOfUl,options){var ul=$(idOfUl);var links=ul.select("a");var select=new Element("select",{"id":options.id});select.insert(new Element("option",{"value":""}));links.each(function(link){var option=new Element("option",{"value":link.readAttribute("href")});option.appendChild(document.createTextNode(link.innerHTML||link.textContent));select.insert(option);});try{return select;}
finally{ul=null;links=null;select=null;}};TestFreaks.helpers.elementFromEvent=function(event){var element;if(!event){var e=window.event;}
if(event.target){element=e.target;}
else if(e.srcElement){element=e.srcElement;}
if(element.nodeType===3){element=element.parentNode;}
return element;};TestFreaks.helpers.forceRedraw=function(element){$(element).forceRerendering();};TestFreaks.helpers.ids_to_redraw=["lowest_prices","expert_reviews","sponsored_links","user_reviews","freak_description","manufacturer_description"];TestFreaks.helpers.redrawGb=function(){if(Prototype.Browser.IE){for(var i=0,len=TestFreaks.helpers.ids_to_redraw.length;i<len;++i){var element=$(TestFreaks.helpers.ids_to_redraw[i]);if(element){TestFreaks.forceRedraw(element);}}}};TestFreaks.helpers.getIDFromHref=function(href){if(href.indexOf("#")!==-1){return href.substring(href.indexOf("#")+1,href.length);}
else{return false;}};TestFreaks.helpers.createStyleRule=function(selector,declaration){var styleNode=document.createElement("style");styleNode.setAttribute("type","text/css");styleNode.setAttribute("media","screen");if(!Prototype.Browser.IE){styleNode.appendChild(document.createTextNode(selector+" {"+declaration+"}"));}
document.getElementsByTagName("head")[0].appendChild(styleNode);if(Prototype.Browser.IE&&document.styleSheets&&document.styleSheets.length>0){var lastNodeStyle=document.styleSheets[document.styleSheets.length-1];if(typeof(lastNodeStyle.addRule)=="object"){lastNodeStyle.addRule(selector,declaration);}}};TestFreaks.helpers.wbr=function(str,len){return str.replace(RegExp("(\\w{"+len+"})(\\w)","g"),function(all,text,char){return text+"<wbr />"+char;});};function addEbayTracking(link,where){if(ebay_trk_enabled){link.onclick=function(){trackITAction('01',ebay_trk_category,ebay_trk_product,'ebay',null,'ebay',where);};link.s_itt_ocupdate=true;}}
function ebayPriceBox(items){function appendLink(tr,klass,item){var a=tr.appendChild(new Element("td",{"class":klass})).appendChild(new Element("a",{href:item.viewItemURL[0],target:"_blank"}));addEbayTracking(a,"pricebox");return a;}
var tbody=new Element("tbody");for(var i=0;i<items.length;++i){var item=items[i];if(item.title!=null&&item.viewItemURL!=null){var tr=tbody.appendChild(new Element("tr"));appendLink(tr,"retailer",item).appendChild(document.createTextNode(item.title));appendLink(tr,"price",item).appendChild(document.createTextNode(ebaytexts["currency"]+item.sellingStatus[0].convertedCurrentPrice[0].__value__));appendLink(tr,"go",item).appendChild(new Element("span")).appendChild(document.createTextNode(ebaytexts["go"]));}}
if(tbody.childNodes.length>0){var ebay_table=$("ebay-price-table");if(ebay_table!=null){ebay_table.addClassName("loaded");ebay_table.appendChild(tbody);ebay_table.removeAttribute("style");}}else{var ebay_price_box=$("ebay-price-box");if(ebay_price_box!=null){ebay_price_box.style.display="none";}}}
function ebayListItem(item){function linkTo(item){var a=new Element("a",{href:item.viewItemURL[0],target:"_blank"});addEbayTracking(a,"sidebar");return a;}
var li=new Element("li");li.appendChild(linkTo(item)).appendChild(new Element("strong")).appendChild(document.createTextNode(item.title));li.appendChild(linkTo(item)).appendChild(new Element("img",{src:item.galleryURL[0],alt:item.title,"class":"ebay-image"}));var status=item.sellingStatus[0];var ul=li.appendChild(new Element("ul"));ul.appendChild(new Element("li",{"class":"price"})).appendChild(document.createTextNode(ebaytexts["currency"]+status.convertedCurrentPrice[0].__value__));var time=status.timeLeft[0];var info=item.listingInfo[0];if(info.buyItNowAvailable||info.listingType==="FixedPriceItem"){ul.appendChild(new Element("li",{"class":"buyitnow"})).appendChild(linkTo(item)).appendChild(new Element("img",{src:"/images/v2/buyitnow.gif",alt:"",height:15,width:54}));}else if(time==="PT0S"){ul.appendChild(new Element("li",{"class":"notimeleft"})).appendChild(document.createTextNode("BuyItNow"));}else{var tli=ul.appendChild(new Element("li",{"class":"timeleft"}));var tld=[];var timeArray=time.substr(1).split(/[PTHMS]/).compact();if(timeArray.length===3){tli.addClassName("secondsleft");tld.push(timeArray[1]+"s");}else if(timeArray.length===4){if(time[1]!=="T")tld.push(time[1]+ebaytexts['d']);if(timeArray[1]<10)tli.addClassName("lessthantenminutesleft");tld.push(timeArray[1]+ebaytexts['m']);tld.push(timeArray[2]+ebaytexts['s']);}else if(timeArray.length===5){if(time[1]!=="T")tld.push(time[1]+"d");tld.push(timeArray[1]+ebaytexts['h']);tld.push(timeArray[2]+ebaytexts['m']);tld.push(timeArray[3]+ebaytexts['s']);}
tli.appendChild(document.createTextNode(ebaytexts['timeleft']+tld.join(" ")));}
var bids=ul.appendChild(new Element("li",{"class":"bids"}));if(status.bidCount==1){bids.appendChild(document.createTextNode(status.bidCount+ebaytexts["bid"]));}else{bids.appendChild(document.createTextNode((status.bidCount||"0")+ebaytexts["bids"]));}
ul.appendChild(new Element("li",{"class":"go"})).appendChild(linkTo(item)).appendChild(new Element("span")).appendChild(document.createTextNode(ebaytexts['go']));return li;}
function ebayCallback(json){var ul=new Element("ul");var items=json.findItemsAdvancedResponse[0].searchResult[0].item||[];ebayPriceBox(items);for(var i=0;i<items.length;++i){var item=items[i];if(item.title!=null&&item.viewItemURL!=null){ul.appendChild(ebayListItem(items[i]));}}
if(ul.childNodes.length>0){ul.lastChild.addClassName("last");$("ebay").addClassName("loaded");var ebay=$("ebay").select(".content")[0];var header=document.createElement("h3");header.appendChild(document.createTextNode($("product-name").innerHTML+ebaytexts['onebay']));ebay.insert(header);var logo=new Element("img",{src:"/images/ebay.jpg",width:"33",height:"16",style:"float:left; margin: 10px;"});ebay.insert(logo);var description=document.createElement("p");description.appendChild(document.createTextNode(ebaytexts['currentlive']));ebay.insert(description);ebay.insert(ul);}else{var no_hits=new Element("h4",{"class":"no-hits"});no_hits.appendChild(document.createTextNode("No search results"));$("ebay").select(".content")[0].insert(no_hits);}}
TestFreaks.onDomLoad=function(){};document.observe("dom:loaded",TestFreaks.onDomLoad);TestFreaks.onWinLoad=function(){};window.onload=TestFreaks.onWinLoad;var Tip=Class.create();Tip.prototype={zIndex:1200,visible:false,initialize:function(element,content){this.element=$(element);this.content=content;this.options=Object.extend({className:'tooltip',duration:0.3,effect:false,hook:false,offset:(arguments[2]&&arguments[2].hook)?{x:0,y:0}:{x:16,y:16},fixed:false,target:this.element,title:false,viewport:true},arguments[2]||{});this.target=$(this.options.target);if(this.options.hook){this.options.fixed=true;this.options.viewport=false;}
if(this.options.effect){this.scope='';var c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";for(var i=0;i<6;i++){var r=Math.floor(Math.random()*c.length);this.scope+=c.substring(r,r+1);}}
this.setup();},setup:function(){this.element.observe('mousemove',this.showTip.safeBind(this));this.element.observe('mouseout',this.hideTip.safeBind(this));},buildTip:function(){if(Prototype.Browser.IE){this.underlay=document.createElement('iframe');Element.setStyle(this.underlay,{position:'absolute',display:'none',border:0,margin:0,opacity:0.01,padding:0,background:'none',zIndex:this.zIndex});document.body.appendChild(this.underlay);}
this.wrapper=document.createElement('div');Element.setStyle(this.wrapper,{position:'absolute',zIndex:this.zIndex+1,display:'none'});if(this.options.width)this.wrapper.setStyle({width:this.options.width+'px'});this.tooltip=this.wrapper.appendChild(document.createElement('div'));this.tooltip.className=this.options.className;this.tooltip.style.position='relative';if(this.options.title){this.title=this.tooltip.appendChild(document.createElement('div'));this.title.className='title';Element.update(this.title,this.options.title);}
this.tip=this.tooltip.appendChild(document.createElement('div'));this.tip.className='content';Element.update(this.tip,this.content);document.body.appendChild(this.wrapper);var w=this.wrapper.getDimensions();this.wrapper.setStyle({width:w.width+'px',height:w.height+'px'});if(Prototype.Browser.IE)this.underlay.setStyle({width:w.width+'px',height:w.height+'px'});Element.hide(this.tooltip);Element.show(this.wrapper);},showTip:function(event){if(!this.wrapper)this.buildTip();this.positionTip(event);if(this.visible)return;if(Prototype.Browser.IE)this.underlay.show();this.wrapper.show();this.visible=true;if(!this.options.effect){this.tooltip.show();}else{this.tooltip.visualEffect(Effect.PAIRS[this.options.effect][0],{duration:this.options.duration,queue:{scope:this.scope,position:'end'}});}},hideTip:function(event){if(!this.visible)return;if(!this.options.effect){if(Prototype.Browser.IE){this.underlay.hide();}
this.tooltip.hide();this.wrapper.hide();this.visible=false;}
else{this.tooltip.visualEffect(Effect.PAIRS[this.options.effect][1],{duration:this.options.duration,queue:{scope:this.scope,position:'end'},afterFinish:function(){if(Prototype.Browser.IE)this.underlay.hide();this.wrapper.hide();this.visible=false;}.bind(this)});}},positionTip:function(event){var offset={'left':this.options.offset.x,'top':this.options.offset.y};var targetPosition=Position.cumulativeOffset(this.target);var tipd=this.wrapper.getDimensions();var pos={'left':(this.options.fixed)?targetPosition[0]:Event.pointerX(event),'top':(this.options.fixed)?targetPosition[1]:Event.pointerY(event)}
pos.left+=offset.left;pos.top+=offset.top;if(this.options.hook){var dims={'target':this.target.getDimensions(),'tip':tipd}
var hooks={'target':Position.cumulativeOffset(this.target),'tip':Position.cumulativeOffset(this.target)}
for(var z in hooks){switch(this.options.hook[z]){case'topRight':hooks[z][0]+=dims[z].width;break;case'bottomLeft':hooks[z][1]+=dims[z].height;break;case'bottomRight':hooks[z][0]+=dims[z].width;hooks[z][1]+=dims[z].height;break;}}
pos.left+=-1*(hooks.tip[0]-hooks.target[0]);pos.top+=-1*(hooks.tip[1]-hooks.target[1]);}
if(!this.options.fixed&&this.element!==this.target){var elementPosition=Position.cumulativeOffset(this.element);pos.left+=-1*(elementPosition[0]-targetPosition[0]);pos.top+=-1*(elementPosition[1]-targetPosition[1]);}
if(!this.options.fixed&&this.options.viewport){var scroll=this.getScrollOffsets();var viewport=this.viewportSize();var pair={'left':'width','top':'height'};for(var z in pair){if((pos[z]+tipd[pair[z]]-scroll[z])>viewport[pair[z]]){pos[z]=pos[z]-tipd[pair[z]]-2*offset[z];}}}
this.wrapper.setStyle({left:pos.left+'px',top:pos.top+'px'});if(Prototype.Browser.IE)this.underlay.setStyle({left:pos.left+'px',top:pos.top+'px'});},viewportWidth:function(){if(Prototype.Browser.Opera)return document.body.clientWidth;return document.documentElement.clientWidth;},viewportHeight:function(){if(Prototype.Browser.Opera)return document.body.clientHeight;if(Prototype.Browser.WebKit)return this.innerHeight;return document.documentElement.clientHeight;},viewportSize:function(){return{'height':this.viewportHeight(),'width':this.viewportWidth()};},getScrollLeft:function(){return this.pageXOffset||document.documentElement.scrollLeft;},getScrollTop:function(){return this.pageYOffset||document.documentElement.scrollTop;},getScrollOffsets:function(){return{'left':this.getScrollLeft(),'top':this.getScrollTop()}}}
Function.prototype.safeBind=function(){var __method=this,args=$A(arguments),object=args.shift();return function(){if(typeof $A=='function')
return __method.apply(object,args.concat($A(arguments)));}};SearchFormObserver=Class.create({initialize:function(options){this.delay=options.delay||0.5;this.element=$(options.input);this.results=$(options.output);this.callback=options.callback;this.selector=options.querySelector;this.spinner=options.spinner;this.requests={};this.timers=[];this.lastValue=$F(this.element);Event.observe(this.element,'keyup',this.listener.bindAsEventListener(this));},addDelayedRequest:function(url,delay){this.requests[url]=delay;},listener:function(event){var currentValue=$F(this.element);if(this.lastValue===currentValue){return;}
this.timers.each(function(timer){if(timer){clearTimeout(timer);}});this.timers=[]
this.lastValue=currentValue;if(currentValue===""){this.results.hide();}
else{var target=this;$H(this.requests).each(function(r){target.timers.push(setTimeout(target.onTimerEvent.bind(target,r.key),r.value*1000));});this.updateQueryText(currentValue+this.spinner);if(!this.results.visible()){this.results.show();}}},updateQueryText:function(text){$("search-result").select(this.selector).each(function(e){e.innerHTML=text;});},onTimerEvent:function(url){var ajaxParams={method:"GET",parameters:{q:$F(this.element),type:'json'},onSuccess:this.handleResponse.bind(this,$F(this.element)),onFailure:this.updateQueryText.bind(this,$F(this.element))};new Ajax.Request(url,ajaxParams);},handleResponse:function(query,transport){if($F(this.element)===query){$H(transport.responseJSON).each(function(e){$(e.key).update(e.value);});this.callback();}}});document.getElementsByAttribute=function(attribute,parent){return $A(($(parent)||document.body).getElementsByTagName('*')).inject([],function(elements,child){if(Element.readAttribute(child,attribute))
elements.push(Element.extend(child));return elements;});}
document.getElementsByAttributeValue=function(attribute,value,parent){return $A(($(parent)||document.body).getElementsByTagName('*')).inject([],function(elements,child){if(Element.readAttribute(child,attribute)==value)
elements.push(Element.extend(child));return elements;});}
Element.addMethods({getElementsByAttribute:function(element,attribute){return document.getElementsByAttribute(attribute,element);},getElementsByAttributeValue:function(element,attribute,value){return document.getElementsByAttributeValue(attribute,value,element);}});Element.addMethods({makeUnselectable:function(element,cursor){cursor=cursor||'default';element.onselectstart=function(){return false;};element.unselectable="on";element.style.MozUserSelect="none";element.style.cursor=cursor;return element;},makeSelectable:function(element){element.onselectstart=function(){return true;};element.unselectable="off";element.style.MozUserSelect="";element.style.cursor="inherit";return element;}});var Cookie={set:function(name,value,seconds){if(seconds){d=new Date();d.setTime(d.getTime()+(seconds*1000));expiry='; expires='+d.toGMTString();}else
expiry='';document.cookie=name+"="+value+expiry+"; path=/";},get:function(name){nameEQ=name+"=";ca=document.cookie.split(';');for(i=0;i<ca.length;i++){c=ca[i];while(c.charAt(0)==' ')
c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)
return c.substring(nameEQ.length,c.length);}
return null},unset:function(name){Cookie.set(name,'',-1);}}
var Client={browser:false,OS:false,version:false,current_place:0,current_string:'',detect:navigator.userAgent.toLowerCase(),load:function(){if(Client.check("konqueror")){Client.browser="Konqueror";Client.OS="Linux";}else{$H({safari:"Safari",omniweb:"OmniWeb",opera:"Opera",webtv:"WebTV",icab:"iCab",msie:"Internet Explorer"}).each(function(browser){if(!Client.browser&&Client.check(browser[0]))
Client.browser=browser[1];});}
if(!Client.browser&&!Client.check('compatible')){Client.browser="Netscape Navigator"
Client.version=Client.detect.charAt(8);}
if(!Client.version)
Client.version=Client.detect.charAt(Client.current_place+Client.current_string.length);if(!Client.OS){$H({linux:"Linux",x11:"Unix",mac:"Mac",win:"Windows"}).each(function(OS){if(!Client.OS&&Client.check(OS[0]))
Client.OS=OS[1];});if(!Client.OS)
Client.OS="unknown";}},check:function(string){Client.current_string=string;Client.current_place=Client.detect.indexOf(string)+1;return Client.current_place;}};Client.load();Object.extend(window,{openedWindows:{},openCentered:function(location,name,params){this.openedWindows[name]=window.open(location,name,$H({width:800,height:600,left:(screen.width?(screen.width-(params&&params.width?params.width:800))/2:0),top:(screen.height?(screen.height-(params&&params.height?params.height:600))/4:0),dependent:true,directories:true,fullscreen:false,location:true,menubar:true,resizable:true,scrollbars:true,status:true,toolbar:true}).merge(params||{}).inject('',function(str,item){if(item[1]==true)
value='yes';else if(item[1]==false)
value='no';else
value=item[1];return str+item[0]+'='+value+',';}).replace(/\,$/,''));this.openedWindows[name].focus();return this.openedWindows[name];}});if(typeof(Builder)!='undefined'){Builder.Inline={};$A(['div','span','table','tr','td','a','b','i','p','ul','ol','li','h1','h2','h3','h4','h5','h6','blockquote','pre','img']).each(function(tag){Builder.Inline[tag]=function(a,b,c){return Builder.node(a,b,c);}.bind(this,tag);});}
var ContentSwapper=Class.create();ContentSwapper.prototype={initialize:function(first,second,options){this.first=$(first);this.second=$(second);this.options={className:'read-more',moreLinkText:"Read more",lessLinkText:"Read less",linkPosition:"before"};Object.extend(this.options,options||{});this.addLink();this.second.hide();},addLink:function(){var a=$a({'href':'javascript:;','class':this.options.className,'rel':'js','id':this.getLinkId()},this.options.moreLinkText);if(this.options.linkPosition=="before")
this.first.addBefore(a);else if(this.options.linkPosition=="after")
this.second.addAfter(a);a.observe('click',this.swap.bindAsEventListener(this));},swap:function(){if(this.first.visible()){this.first.hide();this.second.show();this.lessText();}
else{this.first.show();this.second.hide();this.moreText();}},lessText:function(){var link=$(this.getLinkId());link.update(this.options.lessLinkText);},moreText:function(){var link=$(this.getLinkId());link.update(this.options.moreLinkText);},getLinkId:function(){return this.first.id+'_'+this.second.id;}};var debug=debug||true;DocumentAppender=Class.create({initialize:function(){this.setBody();return this;},body:function(){return this.documentBody;},setBody:function(){this.documentBody=$(document.getElementsByTagName("body")[0]);},debug:function(){if(window.console&&debug){console.log(arguments);}}});DropDown=Class.create(DocumentAppender,{initialize:function($super,source_element,target_element,options){$super();this.content_loaded=false;this.element=$(source_element);this.dropdown=$(target_element).cloneNode(true);$(target_element).remove();this.previous_content=null;this.drop_down_id=(this.element.id?this.element.id:this.element.tagName)+'_'+(this.dropdown.id?this.dropdown.id:this.dropdown.tagName);this.has_effects=(typeof Effect!=='undefined');this.observers=$H();this.setOptions(options);this.addEventHandlers();this.element.hasTooltip=true;return this;},setOptions:function(options){this.options={openOn:'mouseover',hide_delay:250,show_delay:0,drop_down_div_id:this.drop_down_id,width:200,height:276,beforeShow:Prototype.emptyFunction,afterShow:Prototype.emptyFunction,beforeHide:Prototype.emptyFunction,afterHide:Prototype.emptyFunction,leftOffset:0,topOffset:0,negativeLeftOffset:0,negativeTopOffset:0,className:'drop_down_element',extraClassName:null,useEffects:true,openEffectOptions:{},hideEffectOptions:{},mode:'dropdown',position:'bottom',zIndex:5000,put_over:null,avoid:null};Object.extend(this.options,options||{});this.options.openEffectOptions={duration:0.5,queue:{position:'end',scope:this.options.drop_down_div_id}};this.options.hideEffectOptions={duration:0.5,queue:{position:'end',scope:this.options.drop_down_div_id}};},buildPlaceHolder:function(){this.place_holder=$(this.options.drop_down_div_id)||new Element("div",{'id':this.options.drop_down_div_id,'style':'display:none'}).addClassName(this.options.className);this.place_holder.insert(this.dropdown);if(this.options.extraClassName){this.place_holder.addClassName(this.options.extraClassName);}
this.frameForIE();this.observers.place_holder_mouseover=this.place_holder.observe("mouseover",this.clearDelayedHide.bindAsEventListener(this));this.observers.place_holder_mouseout=this.place_holder.observe("mouseout",this.handleMouseOut.bindAsEventListener(this));this.observers.document_keyup=Event.observe(document,"keyup",this.handleKeyEvent.bindAsEventListener(this));this.body().appendChild(this.place_holder);},addEventHandlers:function(){if(this.options.openOn==='mouseover'){this.observers.element_mouseover=this.element.observe('mouseover',this.handleMouseOver.bindAsEventListener(this));this.observers.element_focus=this.element.observe('focus',this.handleMouseOver.bindAsEventListener(this));}
else if(this.options.openOn==='click'){this.observers.element_click=this.element.observe('click',this.handleMouseOver.bindAsEventListener(this));}
this.observers.element_mouseout=this.element.observe('mouseout',this.handleMouseOut.bindAsEventListener(this));this.observers.element_blur=this.element.observe('blur',this.handleMouseOut.bindAsEventListener(this));},_getPos:function(){var xy=this.element.cumulativeOffset();var h=this.element.getHeight();var w=this.element.getWidth();var dd_width=this.place_holder.getWidth();var dd_height=this.place_holder.getHeight();var pos={left:0,top:0,height:dd_height,width:dd_width};if(this.options.position==="right"){pos.left=xy[0]+w;pos.top=parseInt(xy[1]-dd_height,10);}
else if(this.options.position==="left"){pos.left=parseInt(xy[0]-dd_width,10);pos.top=parseInt(xy[1]-dd_height,10);}
else if(this.options.position==="top"){pos.left=xy[0];pos.top=xy[1]-dd_height;}
else if(this.options.put_over==="parent"){pos.left=parseInt(xy[0]+this.options.leftOffset-this.options.negativeLeftOffset,10);pos.top=parseInt(xy[1]+this.options.topOffset-this.options.negativeTopOffset,10);}
else if(this.options.position==="bottom-right"){pos.left=parseInt(xy[0]-(this.options.width/2)-this.options.leftOffset,10);pos.top=parseInt(xy[1]+h+this.options.topOffset,10);}
else{pos.left=parseInt(xy[0]+this.options.leftOffset,10);pos.top=parseInt(xy[1]+h+this.options.topOffset-this.options.negativeTopOffset,10);}
return pos;},_positionTooltip:function(pos,event){var mouse_position_x=Event.pointerX(event);var mouse_position_y=Event.pointerY(event);pos.top=Math.max(parseInt(mouse_position_y,10),10);if(this.options.position==="right"){pos.left=parseInt(mouse_position_x+this.options.leftOffset,10);}
else if(this.options.position==="left"){pos.left=parseInt(mouse_position_x-this.options.width-this.options.leftOffset,10);}
pos.left=Math.max(pos.left,0);return pos;},position:function(event){var pos={};if(this.options.mode==='tooltip'){pos=this._positionTooltip(pos,event);}
else{pos=this._getPos();}
var style={position:'absolute',zIndex:this.options.zIndex,top:pos.top+"px",left:pos.left+"px",width:this.options.width+'px'};this.place_holder.setStyle(style);if(Prototype.Browser.IE){this.underlay.setStyle({position:'absolute',zIndex:parseInt(this.options.zIndex-1,10),width:this.options.width+'px',height:this.place_holder.getHeight()+'px',top:pos.top,left:pos.left});}},handleMouseOver:function(event){this.clearDelayedHide();if(this.showing){return;}
this.buildPlaceHolder();this.position(event);this.options.beforeShow(this);this.delayedShow();this.options.afterShow(this);},handleMouseOut:function(event){this.clearDelayedShow();this.delayedHide();},handleKeyEvent:function(event){if(this.showing&&(event.keyCode===Event.KEY_ESC)){this.delayedHide();}},hideDropDown:function(){this.options.beforeHide(this);this.hide();this.options.afterHide(this);try{this.place_holder=this.place_holder.remove();}
catch(error){this.debug("Error when removing DropDown from DOM: ",error);}},delayedHide:function(){if(this.delay_hide_timer==null){this.delay_hide_timer=setTimeout(this.hideDropDown.bind(this),this.options.hide_delay);}},clearDelayedHide:function(){if(this.delay_hide_timer!=null){clearTimeout(this.delay_hide_timer);this.delay_hide_timer=null;}},delayedShow:function(){if(this.delay_show_timer==null){this.delay_show_timer=setTimeout(this.show.bind(this),this.options.show_delay);}},clearDelayedShow:function(){if(this.delay_show_timer!=null){clearTimeout(this.delay_show_timer);this.delay_show_timer=null;}},frameForIE:function(){if(Prototype.Browser.IE){this.underlay=document.createElement('iframe');Element.setStyle(this.underlay,{position:'absolute',display:'none',border:0,margin:0,opacity:0.01,padding:0,background:'none',zIndex:400});this.body().appendChild(this.underlay);}},show:function(){if(Prototype.Browser.IE){this.underlay.show();}
if(this.has_effects&&this.options.useEffects){this.open_effect=new Effect.Appear(this.place_holder,this.options.openEffectOptions);}
else{this.place_holder.show();}
this.showing=true;},hide:function(){try{if(Prototype.Browser.IE){this.underlay.hide();}
if(this.has_effects&&this.options.useEffects){this.close_effect=new Effect.Fade(this.place_holder,this.options.hideEffectOptions);}
else{this.place_holder.hide();}}
catch(error){this.debug("Error in hiding DropDown: ",error);}
finally{this.showing=false;}}});if(typeof deconcept=="undefined")var deconcept={};if(typeof deconcept.util=="undefined")deconcept.util={};if(typeof deconcept.SWFObjectUtil=="undefined")deconcept.SWFObjectUtil={};deconcept.SWFObject=function(swf,id,w,h,ver,c,quality,xiRedirectUrl,redirectUrl,detectKey){if(!document.getElementById){return;}
this.DETECT_KEY=detectKey?detectKey:'detectflash';this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params={};this.variables={};this.attributes=[];if(swf){this.setAttribute('swf',swf);}
if(id){this.setAttribute('id',id);}
if(w){this.setAttribute('width',w);}
if(h){this.setAttribute('height',h);}
if(ver){this.setAttribute('version',new deconcept.PlayerVersion(ver.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);}
window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}
if(c){this.addParam('bgcolor',c);}
var q=quality?quality:'high';this.addParam('quality',q);this.setAttribute('useExpressInstall',false);this.setAttribute('doExpressInstall',false);var xir=(xiRedirectUrl)?xiRedirectUrl:window.location;this.setAttribute('xiRedirectUrl',xir);this.setAttribute('redirectUrl','');if(redirectUrl){this.setAttribute('redirectUrl',redirectUrl);}}
deconcept.SWFObject.prototype={useExpressInstall:function(path){this.xiSWFPath=!path?"expressinstall.swf":path;this.setAttribute('useExpressInstall',true);},setAttribute:function(name,value){this.attributes[name]=value;},getAttribute:function(name){return this.attributes[name]||"";},addParam:function(name,value){this.params[name]=value;},getParams:function(){return this.params;},addVariable:function(name,value){this.variables[name]=value;},getVariable:function(name){return this.variables[name]||"";},getVariables:function(){return this.variables;},getVariablePairs:function(){var variablePairs=[];var key;var variables=this.getVariables();for(key in variables){variablePairs[variablePairs.length]=key+"="+variables[key];}
return variablePairs;},getSWFHTML:function(){var swfNode="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute('swf',this.xiSWFPath);}
swfNode='<embed type="application/x-shockwave-flash" src="'+this.getAttribute('swf')+'" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'" style="'+(this.getAttribute('style')||"")+'"';swfNode+=' id="'+this.getAttribute('id')+'" name="'+this.getAttribute('id')+'" ';var params=this.getParams();for(var key in params){swfNode+=[key]+'="'+params[key]+'" ';}
var pairs=this.getVariablePairs().join("&");if(pairs.length>0){swfNode+='flashvars="'+pairs+'"';}
swfNode+='/>';}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute('swf',this.xiSWFPath);}
swfNode='<object id="'+this.getAttribute('id')+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+this.getAttribute('width')+'" height="'+this.getAttribute('height')+'" style="'+(this.getAttribute('style')||"")+'">';swfNode+='<param name="movie" value="'+this.getAttribute('swf')+'" />';var params=this.getParams();for(var key in params){swfNode+='<param name="'+key+'" value="'+params[key]+'" />';}
var pairs=this.getVariablePairs().join("&");if(pairs.length>0){swfNode+='<param name="flashvars" value="'+pairs+'" />';}
swfNode+="</object>";}
return swfNode;},write:function(elementId){if(this.getAttribute('useExpressInstall')){var expressInstallReqVer=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(expressInstallReqVer)&&!this.installedVer.versionIsValid(this.getAttribute('version'))){this.setAttribute('doExpressInstall',true);this.addVariable("MMredirectURL",escape(this.getAttribute('xiRedirectUrl')));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute('doExpressInstall')||this.installedVer.versionIsValid(this.getAttribute('version'))){var n=(typeof elementId=='string')?document.getElementById(elementId):elementId;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute('redirectUrl')!=""){document.location.replace(this.getAttribute('redirectUrl'));}}
return false;}}
deconcept.SWFObjectUtil.getPlayerVersion=function(){var PlayerVersion=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){PlayerVersion=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var counter=3;while(axo){try{counter++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+counter);PlayerVersion=new deconcept.PlayerVersion([counter,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");PlayerVersion=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(PlayerVersion.major==6){return PlayerVersion;}}
try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}
if(axo!=null){PlayerVersion=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return PlayerVersion;}
deconcept.PlayerVersion=function(arrVersion){this.major=arrVersion[0]!=null?parseInt(arrVersion[0]):0;this.minor=arrVersion[1]!=null?parseInt(arrVersion[1]):0;this.rev=arrVersion[2]!=null?parseInt(arrVersion[2]):0;}
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major)return false;if(this.major>fv.major)return true;if(this.minor<fv.minor)return false;if(this.minor>fv.minor)return true;if(this.rev<fv.rev)return false;return true;}
deconcept.util={getRequestParameter:function(param){var q=document.location.search||document.location.hash;if(param==null){return q;}
if(q){var pairs=q.substring(1).split("&");for(var i=0;i<pairs.length;i++){if(pairs[i].substring(0,pairs[i].indexOf("="))==param){return pairs[i].substring((pairs[i].indexOf("=")+1));}}}
return"";}}
deconcept.SWFObjectUtil.cleanupSWFs=function(){var objects=document.getElementsByTagName("OBJECT");for(var i=objects.length-1;i>=0;i--){objects[i].style.display='none';for(var x in objects[i]){if(typeof objects[i][x]=='function'){objects[i][x]=function(){};}}}}
if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];}}
var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;var SearchPlay=Class.create();SearchPlay.prototype={initialize:function(element){this.element=$(element);this.original_value=this.element.defaultValue;Event.observe(this.element,"focus",this.focus.bindAsEventListener(this));Event.observe(this.element,"blur",this.blur.bindAsEventListener(this));},focus:function(event){if($F(this.element)==this.original_value){this.element.value="";}},blur:function(){if(!this.element.present()){this.element.value=this.original_value;}}};var ContentToggler=Class.create();ContentToggler.prototype={initialize:function(toggler,togglee,options){this.toggler=$(toggler);this.togglee=$(togglee);this.options={default_font_size:10,number_of_visible_lines:10,use_effects:true,show_more_text:"Show More",show_less_text:"Show Less"};Object.extend(this.options,options);this.original_height=this.getHeight();this.calculated_height=this.calculateHeight();if(this.calculated_height<this.original_height){this.setupEvents();this.setHeight();this.toggler.is_resizeable=true;}},getHeight:function(){return this.togglee.getHeight();},calculateHeight:function(){if(Prototype.Browser.IE&&parseInt(this.togglee.getStyle("fontSize"))===100){var fontSize=this.options.default_font_size;}
else{var fontSize=parseInt(this.togglee.getStyle("fontSize"));}
return(parseInt(fontSize||this.options.default_font_size)*this.options.number_of_visible_lines)+5;},setHeight:function(){if(this.togglee.getHeight()===this.calculated_height){if(this.options.use_effects){new Effect.Morph(this.togglee,{style:{height:this.original_height+"px"},duration:0.5});}
else{this.togglee.setStyle({height:this.original_height+"px"});}
this.toggler.addClassName("open");this.toggler.innerHTML=this.options.show_less_text;}
else{if(this.options.use_effects){new Effect.Morph(this.togglee,{style:{height:this.calculated_height+"px"},duration:0.5});}
else{this.togglee.setStyle({height:this.calculated_height+"px"});}
this.toggler.removeClassName("open");this.toggler.innerHTML=this.options.show_more_text;}},setupEvents:function(){this.toggler.observe("click",this.setHeight.bindAsEventListener(this));}};var ChildToggler=Class.create();ChildToggler.prototype={initialize:function(clicker,childNodeWrapper,options){this.clicker=$(clicker);this.childNodeWrapper=$(childNodeWrapper);this.childNodes=this.childNodeWrapper.childElements();this.options={number_of_visible_children:5,dont_hide_class_name:"dont_hide_class_name",use_effects:true,hide_on_load:true,before_show:Prototype.emptyFunction,after_show:Prototype.emptyFunction,before_show_element:Prototype.emptyFunction,after_show_element:Prototype.emptyFunction,before_hide:Prototype.emptyFunction,after_hide:Prototype.emptyFunction,before_hide_element:Prototype.emptyFunction,after_hide_element:Prototype.emptyFunction,show_more_text:"Show More",show_less_text:"Show Less",wrap_text_in:'span',parent_node:null};Object.extend(this.options,options);if(this.childNodes.length<=this.options.number_of_visible_children){this.clicker.hide();return false;}
this.clicker.is_enabled=true;this.childNodeWrapper.is_enabled=true;this.hideChildren();this.events();},events:function(){this.clicker.observe("click",this.toggle.bindAsEventListener(this));},toggle:function(){if(this.clicker.is_enabled&&this.childNodeWrapper.is_enabled){if(this.open){this.hideChildren();}
else{this.showChildren();}}},updateClickerInnerHtml:function(text){if(this.options.wrap_text_in){this.clicker.innerHTML='<'+this.options.wrap_text_in+'>'+text+'</'+this.options.wrap_text_in+'>';}
else{this.clicker.innerHTML=text;}},hideChildren:function(){if(this.options.parent_node){this.options.parent_node.removeClassName("more");}
this.updateClickerInnerHtml(this.options.show_more_text);this.options.before_hide(this);for(var i=this.options.number_of_visible_children,len=this.childNodes.length;i<len;++i){var element=$(this.childNodes[i]);if(element.hasClassName(this.options.dont_hide_class_name)){continue;}
this.options.before_hide_element(this);if(this.options.use_effects){new Effect.BlindUp(element);}
else{element.hide();}
this.options.after_hide_element(this);}
this.options.after_hide(this);this.open=false;},showChildren:function(){if(this.options.parent_node){this.options.parent_node.addClassName("more");}
this.updateClickerInnerHtml(this.options.show_less_text);this.options.before_show(this);for(var i=this.options.number_of_visible_children,len=this.childNodes.length;i<len;++i){var element=$(this.childNodes[i]);if(element.hasClassName(this.options.dont_hide_class_name)){continue;}
this.options.before_show_element(this);if(this.options.use_effects){new Effect.BlindDown(element);}
else{element.show();}
this.options.after_show_element(this);}
this.options.after_show(this);this.open=true;}};var fileLoadingImage="/images/v2/loading.gif";var fileBottomNavCloseImage="/images/v2/closelabel.gif";var overlayOpacity=0.8;var animate=true;var resizeSpeed=7;var borderSize=10;var imageArray=new Array;var activeImage;if(animate==true){overlayDuration=0.2;if(resizeSpeed>10){resizeSpeed=10;}
if(resizeSpeed<1){resizeSpeed=1;}
resizeDuration=(11-resizeSpeed)*0.15;}else{overlayDuration=0;resizeDuration=0;}
Object.extend(Element,{getWidth:function(element){element=$(element);return element.offsetWidth;},setWidth:function(element,w){element=$(element);element.style.width=w+"px";},setHeight:function(element,h){element=$(element);element.style.height=h+"px";},setTop:function(element,t){element=$(element);element.style.top=t+"px";},setLeft:function(element,l){element=$(element);element.style.left=l+"px";},setSrc:function(element,src){element=$(element);element.src=src;},setHref:function(element,href){element=$(element);element.href=href;},setInnerHTML:function(element,content){element=$(element);element.innerHTML=content;}});Array.prototype.removeDuplicates=function(){for(i=0;i<this.length;i++){for(j=this.length-1;j>i;j--){if(this[i][0]==this[j][0]){this.splice(j,1);}}}}
Array.prototype.empty=function(){for(i=0;i<=this.length;i++){this.shift();}}
var Lightbox=Class.create();Lightbox.prototype={initialize:function(){this.updateImageList();var objBody=document.getElementsByTagName("body").item(0);var objOverlay=document.createElement("div");objOverlay.setAttribute('id','overlay');objOverlay.style.display='none';objOverlay.onclick=function(){myLightbox.end();}
objBody.appendChild(objOverlay);var objLightbox=document.createElement("div");objLightbox.setAttribute('id','lightbox');objLightbox.style.display='none';objLightbox.onclick=function(e){if(!e)var e=window.event;var clickObj=Event.element(e).id;if(clickObj=='lightbox'){myLightbox.end();}};objBody.appendChild(objLightbox);var objOuterImageContainer=document.createElement("div");objOuterImageContainer.setAttribute('id','outerImageContainer');objLightbox.appendChild(objOuterImageContainer);if(animate){Element.setWidth('outerImageContainer',250);Element.setHeight('outerImageContainer',250);}else{Element.setWidth('outerImageContainer',1);Element.setHeight('outerImageContainer',1);}
var objImageContainer=document.createElement("div");objImageContainer.setAttribute('id','imageContainer');objOuterImageContainer.appendChild(objImageContainer);var objLightboxImage=document.createElement("img");objLightboxImage.setAttribute('id','lightboxImage');objLightboxImage.setAttribute('alt',"");objImageContainer.appendChild(objLightboxImage);var objHoverNav=document.createElement("div");objHoverNav.setAttribute('id','hoverNav');objImageContainer.appendChild(objHoverNav);var objPrevLink=document.createElement("a");objPrevLink.setAttribute('id','prevLink');objPrevLink.setAttribute('href','#');objHoverNav.appendChild(objPrevLink);var objNextLink=document.createElement("a");objNextLink.setAttribute('id','nextLink');objNextLink.setAttribute('href','#');objHoverNav.appendChild(objNextLink);var objLoading=document.createElement("div");objLoading.setAttribute('id','loading');objImageContainer.appendChild(objLoading);var objLoadingLink=document.createElement("a");objLoadingLink.setAttribute('id','loadingLink');objLoadingLink.setAttribute('href','#');objLoadingLink.onclick=function(){myLightbox.end();return false;}
objLoading.appendChild(objLoadingLink);var objLoadingImage=document.createElement("img");objLoadingImage.setAttribute('src',fileLoadingImage);objLoadingImage.setAttribute('alt',"");objLoadingLink.appendChild(objLoadingImage);var objImageDataContainer=document.createElement("div");objImageDataContainer.setAttribute('id','imageDataContainer');objLightbox.appendChild(objImageDataContainer);var objImageData=document.createElement("div");objImageData.setAttribute('id','imageData');objImageDataContainer.appendChild(objImageData);var objImageDetails=document.createElement("div");objImageDetails.setAttribute('id','imageDetails');objImageData.appendChild(objImageDetails);var objCaption=document.createElement("span");objCaption.setAttribute('id','caption');objImageDetails.appendChild(objCaption);var objNumberDisplay=document.createElement("span");objNumberDisplay.setAttribute('id','numberDisplay');objImageDetails.appendChild(objNumberDisplay);var objBottomNav=document.createElement("div");objBottomNav.setAttribute('id','bottomNav');objImageData.appendChild(objBottomNav);var objBottomNavCloseLink=document.createElement("a");objBottomNavCloseLink.setAttribute('id','bottomNavClose');objBottomNavCloseLink.setAttribute('href','#');objBottomNavCloseLink.onclick=function(){myLightbox.end();return false;}
objBottomNav.appendChild(objBottomNavCloseLink);var objBottomNavCloseImage=document.createElement("img");objBottomNavCloseImage.setAttribute('src',fileBottomNavCloseImage);objBottomNavCloseImage.setAttribute('alt',"");objBottomNavCloseLink.appendChild(objBottomNavCloseImage);},updateImageList:function(){if(!document.getElementsByTagName){return;}
var anchors=document.getElementsByTagName('a');var areas=document.getElementsByTagName('area');for(var i=0;i<anchors.length;i++){var anchor=anchors[i];var relAttribute=String(anchor.getAttribute('rel'));if(anchor.getAttribute('href')&&(relAttribute.toLowerCase().match('lightbox'))){anchor.onclick=function(){myLightbox.start(this);return false;}}}
for(var i=0;i<areas.length;i++){var area=areas[i];var relAttribute=String(area.getAttribute('rel'));if(area.getAttribute('href')&&(relAttribute.toLowerCase().match('lightbox'))){area.onclick=function(){myLightbox.start(this);return false;}}}},start:function(imageLink){hideSelectBoxes();hideFlash();var arrayPageSize=getPageSize();Element.setWidth('overlay',arrayPageSize[0]);Element.setHeight('overlay',arrayPageSize[1]);new Effect.Appear('overlay',{duration:overlayDuration,from:0.0,to:overlayOpacity});imageArray=[];imageNum=0;if(!document.getElementsByTagName){return;}
var anchors=document.getElementsByTagName(imageLink.tagName);if((imageLink.getAttribute('rel')=='lightbox')){imageArray.push(new Array(imageLink.getAttribute('href'),imageLink.getAttribute('title')));}else{for(var i=0;i<anchors.length;i++){var anchor=anchors[i];if(anchor.getAttribute('href')&&(anchor.getAttribute('rel')==imageLink.getAttribute('rel'))){imageArray.push(new Array(anchor.getAttribute('href'),anchor.getAttribute('title')));}}
imageArray.removeDuplicates();while(imageArray[imageNum][0]!=imageLink.getAttribute('href')){imageNum++;}}
var arrayPageScroll=getPageScroll();var lightboxTop=arrayPageScroll[1]+(arrayPageSize[3]/10);var lightboxLeft=arrayPageScroll[0];Element.setTop('lightbox',lightboxTop);Element.setLeft('lightbox',lightboxLeft);Element.show('lightbox');this.changeImage(imageNum);},changeImage:function(imageNum){activeImage=imageNum;if(animate){Element.show('loading');}
Element.hide('lightboxImage');Element.hide('hoverNav');Element.hide('prevLink');Element.hide('nextLink');Element.hide('imageDataContainer');Element.hide('numberDisplay');imgPreloader=new Image();imgPreloader.onload=function(){Element.setSrc('lightboxImage',imageArray[activeImage][0]);myLightbox.resizeImageContainer(imgPreloader.width,imgPreloader.height);imgPreloader.onload=function(){};}
imgPreloader.src=imageArray[activeImage][0];},resizeImageContainer:function(imgWidth,imgHeight){this.widthCurrent=Element.getWidth('outerImageContainer');this.heightCurrent=Element.getHeight('outerImageContainer');var widthNew=(imgWidth+(borderSize*2));var heightNew=(imgHeight+(borderSize*2));this.xScale=(widthNew/this.widthCurrent)*100;this.yScale=(heightNew/this.heightCurrent)*100;wDiff=this.widthCurrent-widthNew;hDiff=this.heightCurrent-heightNew;if(!(hDiff==0)){new Effect.Scale('outerImageContainer',this.yScale,{scaleX:false,duration:resizeDuration,queue:'front'});}
if(!(wDiff==0)){new Effect.Scale('outerImageContainer',this.xScale,{scaleY:false,delay:resizeDuration,duration:resizeDuration});}
if((hDiff==0)&&(wDiff==0)){if(navigator.appVersion.indexOf("MSIE")!=-1){pause(250);}else{pause(100);}}
Element.setHeight('prevLink',imgHeight);Element.setHeight('nextLink',imgHeight);Element.setWidth('imageDataContainer',widthNew);this.showImage();},showImage:function(){Element.hide('loading');new Effect.Appear('lightboxImage',{duration:resizeDuration,queue:'end',afterFinish:function(){myLightbox.updateDetails();}});this.preloadNeighborImages();},updateDetails:function(){if(imageArray[activeImage][1]){Element.show('caption');Element.setInnerHTML('caption',imageArray[activeImage][1]);}
if(imageArray.length>1){Element.show('numberDisplay');Element.setInnerHTML('numberDisplay',"Image "+eval(activeImage+1)+" of "+imageArray.length);}
new Effect.Parallel([new Effect.SlideDown('imageDataContainer',{sync:true,duration:resizeDuration,from:0.0,to:1.0}),new Effect.Appear('imageDataContainer',{sync:true,duration:resizeDuration})],{duration:resizeDuration,afterFinish:function(){var arrayPageSize=getPageSize();Element.setHeight('overlay',arrayPageSize[1]);myLightbox.updateNav();}});},updateNav:function(){Element.show('hoverNav');if(activeImage!=0){Element.show('prevLink');document.getElementById('prevLink').onclick=function(){myLightbox.changeImage(activeImage-1);return false;}}
if(activeImage!=(imageArray.length-1)){Element.show('nextLink');document.getElementById('nextLink').onclick=function(){myLightbox.changeImage(activeImage+1);return false;}}
this.enableKeyboardNav();},enableKeyboardNav:function(){document.onkeydown=this.keyboardAction;},disableKeyboardNav:function(){document.onkeydown='';},keyboardAction:function(e){if(e==null){keycode=event.keyCode;escapeKey=27;}else{keycode=e.keyCode;escapeKey=e.DOM_VK_ESCAPE;}
key=String.fromCharCode(keycode).toLowerCase();if((key=='x')||(key=='o')||(key=='c')||(keycode==escapeKey)){myLightbox.end();}else if((key=='p')||(keycode==37)){if(activeImage!=0){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage-1);}}else if((key=='n')||(keycode==39)){if(activeImage!=(imageArray.length-1)){myLightbox.disableKeyboardNav();myLightbox.changeImage(activeImage+1);}}},preloadNeighborImages:function(){if((imageArray.length-1)>activeImage){preloadNextImage=new Image();preloadNextImage.src=imageArray[activeImage+1][0];}
if(activeImage>0){preloadPrevImage=new Image();preloadPrevImage.src=imageArray[activeImage-1][0];}},end:function(){this.disableKeyboardNav();Element.hide('lightbox');new Effect.Fade('overlay',{duration:overlayDuration});showSelectBoxes();showFlash();}}
function getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
arrayPageScroll=new Array(xScroll,yScroll)
return arrayPageScroll;}
function getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;}
function getKey(e){if(e==null){keycode=event.keyCode;}else{keycode=e.which;}
key=String.fromCharCode(keycode).toLowerCase();if(key=='x'){}}
function listenKey(){document.onkeypress=getKey;}
function showSelectBoxes(){var selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="visible";}}
function hideSelectBoxes(){var selects=document.getElementsByTagName("select");for(i=0;i!=selects.length;i++){selects[i].style.visibility="hidden";}}
function showFlash(){var flashObjects=document.getElementsByTagName("object");for(i=0;i<flashObjects.length;i++){flashObjects[i].style.visibility="visible";}
var flashEmbeds=document.getElementsByTagName("embed");for(i=0;i<flashEmbeds.length;i++){flashEmbeds[i].style.visibility="visible";}}
function hideFlash(){var flashObjects=document.getElementsByTagName("object");for(i=0;i<flashObjects.length;i++){flashObjects[i].style.visibility="hidden";}
var flashEmbeds=document.getElementsByTagName("embed");for(i=0;i<flashEmbeds.length;i++){flashEmbeds[i].style.visibility="hidden";}}
function pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}
while(curDate-date<ms);}
function initLightbox(){myLightbox=new Lightbox();}
Event.observe(window,'load',initLightbox,false);var VideoBox=Class.create();VideoBox.prototype={initialize:function(link,options){this.link=link;this.options={height:355,width:425,videoOverlayStyle:{position:"fixed",top:0,left:0,right:0,bottom:0,height:"100%",width:"100%",background:"#333",zIndex:"999"},videoOverlayStyleIE:{position:"absolute",top:0,left:0,right:0,width:"100%",background:"#333",zIndex:"999"},videoWrapperStyle:{position:"absolute",zIndex:"10001",top:"-400px",backgroundColor:"#5A5F16"}};Object.extend(this.options,options);this.build();this.linkClick();this.overlayClick();Event.observe(window,"resize",this._updatePosition.bindAsEventListener(this));this.updatePositionFunction=this._updatePosition.bindAsEventListener(this);},linkClick:function(){this.link.observe('click',this.click.bindAsEventListener(this));},overlayClick:function(){Event.observe(this.videoOverlay,'click',this.hide.bindAsEventListener(this));Event.observe(this.closeButton,'click',this.hide.bindAsEventListener(this));},build:function(){this.timestamp=new Date().valueOf();this.videoWrapper=$div({"id":"video_wrapper_"+this.timestamp,'class':'video_wrapper'});$(this.videoWrapper).setStyle(this.options.videoWrapperStyle);this.videoWrapper.hide();this.closeButton=$div({"class":"close_video"},$span("Click to close"));this.videoWrapper.appendChild(this.closeButton);this.videoBox=$div({"id":"video_box_"+this.timestamp,"class":"video_box"});this.videoWrapper.appendChild(this.videoBox);this.videoOverlay=$div({"class":"video_overlay_"+this.timestamp});this.videoOverlay.hide();},body:function(){return document.getElementsByTagName("body")[0];},add:function(){this.body().appendChild(this.videoWrapper);this.body().appendChild(this.videoOverlay);},remove:function(){this.body().removeChild(this.videoWrapper);this.body().removeChild(this.videoOverlay);},position:function(){this.video();var documentSize=getPageSize();this.videoOverlay.setStyle({'width':documentSize[0]+'px','height':documentSize[1]+'px'});this.start_top="-"+$(this.videoWrapper).getHeight()+"px";this._updatePosition();this.show();},_updatePosition:function(){var documentSize=getPageSize();var scrollOffset=document.viewport.getScrollOffsets();var height=Math.max($(this.videoWrapper).getHeight(),this.options.height);this.target_top=(scrollOffset.top)+Math.round(Math.round(document.viewport.getHeight()/2)-(height/2))+"px";this.videoWrapper.setStyle({"top":this.target_top,"left":Math.round(Math.round(document.viewport.getWidth()/2)-($(this.videoWrapper).getWidth()/2))+"px"});},hide:function(){Event.stopObserving(window,'scroll',this.updatePositionFunction);var self=this;box=this.videoBox;this.videoWrapper.morph({top:this.start_top},{duration:1,transition:Effect.Transitions.sinoidal,afterFinish:function(){this.videoWrapper.hide();Effect.Fade(this.videoOverlay,{"from":0.5,"to":0.0,"transition":Effect.Transitions.linear,"duration":0.2,afterFinish:function(){box.innerHTML="";self.remove();}});this.isVisible=false;}.bind(this)});},show:function(){if(!this.options.ignoreScroll){Event.observe(window,'scroll',this.updatePositionFunction);}
if(Prototype.Browser.IE){$(this.videoOverlay).setStyle(this.options.videoOverlayStyleIE);}
else{$(this.videoOverlay).setStyle(this.options.videoOverlayStyle);}
this._updatePosition();Effect.Appear(this.videoOverlay,{"from":0.0,"to":0.7,"duration":0.5,"transition":Effect.Transitions.sinoidal,afterFinish:function(){this.videoWrapper.morph({"top":this.target_top},{"duration":0.5,"transition":Effect.Transitions.linear,beforeStart:function(){this.videoWrapper.show();}.bind(this)});this.isVisible=true;}.bind(this)});},click:function(event){this.add();this.position();event.stop();},video:function(){if(this.link.href.match("youtube.com")){this.url=this.link.href.replace("watch\?","v\/").replace("v=","");this.embedYouTube(this.url);}
else if(this.link.href.match("video.google.com")){this.url=this.link.href.replace("videoplay","googleplayer.swf");this.embedGoogleVideo(this.url);}
else if(this.link.href.match("video.yahoo.com")){this.embedYahooVideo(this.link.href);}
else if(this.link.href.match("www.dailymotion.com")){this.embedDailyMotionVideo(this.link.href);}},embedVideoByTemplate:function(data,extraParams){var objectString_start='<object width="#{width}" height="#{height}" type="application/x-shockwave-flash" data="#{data}">';var objectString_end='</object>';var paramsString='<param name="movie" value="#{movie}" />';paramsString+='<param name="wmode" value="transparent" />';paramsString+='<param name="allowFullScreen" value="true" />';paramsString+=extraParams;var embedString='';var template=new Template(objectString_start+paramsString+objectString_end);new Insertion.Bottom(this.videoBox,template.evaluate(data));},embedYouTube:function(url){var so=new SWFObject(url+"&amp;autoplay=1&amp;border=0","flvvideo",425,326,"0");so.write(this.videoBox);},embedGoogleVideo:function(url){var data={width:400,height:326,data:url,movie:url};this.embedVideoByTemplate(data);},embedYahooVideo:function(href){var video_id=href.substring(href.indexOf("vid=")+4,href.length);var data={width:512,height:323,data:"http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.1.15",movie:"http://d.yimg.com/static.video.yahoo.com/yep/YV_YEP.swf?ver=2.1.15"};var extraParams='<param name="flashVars" value="id=3174037&vid='+video_id+'&lang=en-us&intl=us&thumbUrl=http://us.i1.yimg.com/us.yimg.com/i/us/sch/cn/v/v2/w52/'+video_id+'_320_240.jpeg" />';this.embedVideoByTemplate(data,extraParams);},embedDailyMotionVideo:function(href){var video_id=href.substring(href.indexOf("/video/")+7,href.indexOf("_"));var data={width:420,height:257,data:"http://www.dailymotion.com/swf/' + video_id + '&v3=1&colors=background:DDDDDD;glow:FFFFFF;foreground:333333;special:FFC300;&related=0",movie:"http://www.dailymotion.com/swf/' + video_id + '&related=0"};this.embedVideoByTemplate(data);}};function getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;}
var Testfreaks;(Testfreaks=function(){var variabels,hidden,usable;variabels={loginWindowTextFields:['user_username','user_password','new_user_username','new_user_email','new_user_password','new_user_password_confirmation']};hidden={submitForm:function(){$("login-form").submit();},submitIfEnterKey:function(event){if(event.keyCode===Event.KEY_RETURN){hidden.submitForm();}}};usable={watchLoginForm:function(){$A(variabels.loginWindowTextFields).each(function(name,index){$(name).observe("keyup",hidden.submitIfEnterKey);});},stopWatchingLoginForm:function(){$A(variabels.loginWindowTextFields).each(function(name,index){$(name).stopObserving("keyup");});}};return usable;}());try{document.execCommand("BackgroundImageCache",false,true);}
catch(error){}
TF=function(){function debug(){if(window.console){console.log(arguments);}}
function addH3ToElement(element){var h3=new Element("h3",{"id":"toggle-all-tables","class":"toggles_all_tables hide"});element.appendChild(h3);}
function addToggleToComparePage(){if($("basic_product_values")){var collapse_text=Translations.intlCollapseSections;var expand_text=Translations.intlExpandSections;$("basic_product_values").select("thead tr td").each(addH3ToElement);}}
function updateSatisfiedCount(node,type){var num=node.innerHTML.match(/\d+/);if(num){var diff=0
if(type==='BestAnswer'||type==='HelpfulAnswer'){diff=1;}
else if(type==='NotHelpfulAnswer'||type==='ReportedAnswer'||type===null){diff=-1;}
var new_num=parseInt(num[0],10)+diff;if(new_num<0){new_num=0;}
new_node=node.innerHTML.replace(num[0],new_num);node.innerHTML=new_node;}}
function rateAnswer(link,type,id){if(link.hasClassName('selected')){return;}
if(type==='BestAnswer'){$$('.answer_rating').each(function(e){if(e.firstDescendant().hasClassName('selected')){e.firstDescendant().removeClassName('selected');updateSatisfiedCount(e.down('.satisfied_users',null));}});}
$A(link.parentNode.parentNode.getElementsByTagName("div")).each(function(e){$(e).removeClassName('selected');});link.addClassName('selected');updateSatisfiedCount($(link).up().down('.satisfied_users'),type);new Ajax.Request('rate_answer/',{method:'post',parameters:{answer_id:id,type:type},onSuccess:Prototype.emptyFunction()});}
var saving={};function postThenContinue(form,continuation){if(saving[form]!==true){saving[form]=true;$(form).request({method:'post',onSuccess:function(transport){saving[form]=false;continuation();}});}}
function showWikiPreview(wikiName){var previewBlock=$(wikiName+"_preview");var wikiForm=$(wikiName+"_form");new Ajax.Request('/wiki/preview',{parameters:{name:wikiName,text:$F(wikiForm.value)},onCreate:function(request){request['timeoutId']=window.setTimeout(function(){if((request.transport.readyState===1||request.transport.readyState===2||request.transport.readyState===3)){request.transport.abort();TF.debug("Ajax Timeout!",nodeId,"will not be updated");}},TestFreak.ajaxTimeout);},onComplete:function(transport){if(transport.readyState!==4){return;}
if(transport.status===200){previewBlock.innerHTML=transport.responseText;wikiForm.hide()
previewBlock.show();window.clearTimeout(transport['timeoutId']);}}});}
function hideWikiPreview(wikiName){$(wikiName+"_form").show();$(wikiName+"_preview").hide();}
function updateWikiPartial(nodeId,url,editable){var node=$(nodeId);if(node){new Ajax.Request(url,{method:"get",parameters:editable?{editable:"true"}:{},onCreate:function(request){request['timeoutId']=window.setTimeout(function(){if((request.transport.readyState===1||request.transport.readyState===2||request.transport.readyState===3)){request.transport.abort();TF.debug("Ajax Timeout!",nodeId,"will not be updated");}},TestFreak.ajaxTimeout);},onComplete:function(transport){if(transport.readyState!==4){return;}
if(transport.status===200){node.innerHTML=transport.responseText;TestFreak.addToolTipDescription(nodeId);window.clearTimeout(transport['timeoutId']);}}});}}
return{addToggleToComparePage:addToggleToComparePage,debug:debug};}();var TestFreak={ajaxTimeout:5000,videoBoxes:[],productImages:[],control_modal_windows:[],withinViewport:function(el){var elOffset=el.cumulativeOffset(),vpOffset=document.viewport.getScrollOffsets(),elDim=el.getDimensions(),vpDim=document.viewport.getDimensions();if(elOffset[1]+elDim.height<vpOffset[1]||elOffset[1]>vpOffset[1]+vpDim.height||elOffset[0]+elDim.width<vpOffset[0]||elOffset[0]>vpOffset[0]+vpDim.width){return false;}
return true;},forceRedraw:function(element){Element.forceRerendering($(element));},redrawGb:function(){if(Prototype.Browser.IE){var ids_to_redraw=["lowest_prices","expert_reviews","sponsored_links","user_reviews","freak_description","manufacturer_description"];for(var i=0,len=ids_to_redraw.length;i<len;++i){var element=$(ids_to_redraw[i]);if(element){TestFreak.forceRedraw(element);}}}},tabHasChanged:function(selected_tab){TestFreak.redrawGb();if(Control.Tabs.findByTabId(selected_tab.id)&&Control.Tabs.findByTabId(selected_tab.id).activeLink.readAttribute("href").include("freak_description")){Control.Tabs.findByTabId(selected_tab.id).activeLink.descendants().each(function(element){if(element.readAttribute("src")){element.setAttribute("src","/images/v2/freak.gif");}});}},tabWillChange:function(previous_tab){if(Control.Tabs.findByTabId(previous_tab.id)&&Control.Tabs.findByTabId(previous_tab.id).activeLink.readAttribute("href").include("freak_description")){Control.Tabs.findByTabId(previous_tab.id).activeLink.descendants().each(function(element){if(element.readAttribute("src")){element.setAttribute("src","/images/v2/gray-freak.gif");}});}},buildSelectFromList:function(className){var h3=$("ul_to_select").select("h3").first();var label=new Element("label",{"for":"changeLocation"});label.appendChild(document.createTextNode(h3.innerHTML||h3.textContent));h3.replace(label);var ul=$("ul_to_select").select("ul").first();var select=TestFreaks.selectFromListOfLinks(ul,{id:"changeLocation"});ul.replace(select);Event.observe(select,'change',function(){location.href=select.options[select.selectedIndex].value;});},buildGroup:function(){var groups=$("box-body").select(".group");groups.each(function(group){var tabs=group.select(".tabs");var first=tabs.shift();var ul=first.select("ul").first();tabs.each(function(tab){var li=tab.select("li").first();li.removeClassName("active");ul.insert(li.cloneNode(true));tab.remove();tab=null;});group=null;});},addToolTip:function(element){if(!$(element).hasAttribute("title")){return false;}
var content=element.readAttribute("title");if(content.empty()){return false;}
var tooltip=new Control.ToolTip(element,content,{className:'generic-tooltip'});element.removeAttribute("title");var img=element.select("img").first();if(Prototype.Browser.IE&&img&&img.readAttribute("alt")){img.removeAttribute("alt");}
if(Prototype.Browser.IE&&element.readAttribute("alt")){element.removeAttribute("alt");}},removeToolTipForDescription:function(id_of_tooltip_element){if($(id_of_tooltip_element)){$(id_of_tooltip_element).remove();}},addToolTipDescription:function(){var selector=(arguments.length===1)?arguments[0]:"bd";var description_tooltip=$(selector).select(".description_tooltip");if(description_tooltip){description_tooltip.each(TestFreak.addToolTipDescriptionToElement);}},addToolTipDescriptionToElement:function(element){var the_link=element.select("a").first();if(the_link){var id_from_href=TestFreaks.helpers.getIDFromHref(the_link.href);var dummy=new Element("div",{"id":"drop_down_"+id_from_href});var the_img=$(the_link).select("img").first().removeAttribute("alt");element.insert(dummy);new DropDown(the_link,dummy,{className:'description_tooltip_tip',show_delay:500,useEffects:!Prototype.Browser.IE,width:200,put_over:"parent",negativeTopOffset:5,negativeLeftOffset:2,afterShow:function(dd){new Ajax.Request('/description_tooltip/'+id_from_href,{method:'get',onSuccess:function(param){$(this.options.drop_down_div_id).innerHTML=param.responseText;}.bind(dd)});}});}},addToolTipsToSearchResults:function(node){if($(node)){$("product_results").select(".search_products_tooltip").each(function(element,idx){if(element.hasTooltip){return;}
var tooltip_id=(element.className.substring(element.className.indexOf("ajax_")+5,element.className.length));if(!$('dummy_'+tooltip_id)){var dummy=new Element("div",{'class':'dummy_tooltip_div','id':'dummy_'+tooltip_id});element.appendChild(dummy);}
else{var dummy=$('dummy_'+tooltip_id);}
new DropDown(element,dummy,{className:'big_product_tooltip',show_delay:1000,width:535,mode:'tooltip',position:'right',leftOffset:20,drop_down_div_id:"search-tooltip"+tooltip_id,afterShow:function(dd){if(dd.content_loaded===false){dd.updater=new Ajax.Updater({success:dd.options.drop_down_div_id,failure:null},'/tooltip',{parameters:{id:tooltip_id},method:'get',onComplete:function(transport){dd.content_loaded=true;dd.updater=null;}});}},beforeHide:function(dropdown){if(dropdown.content_loaded===false){dropdown.updater=null;}
else{dropdown.content_loaded=false;}}});});}},addAndShowFreakScoreToolTip:function(element){var show=element.getElementsBySelector(".freak-score-tooltip").first();show.removeAttribute("style");new DropDown(element,show,{width:200,put_over:"parent",show_delay:500,useEffects:!Prototype.Browser.IE,topOffset:0,leftOffset:element.getWidth(),className:'description_tooltip_tip'}).handleMouseOver();},fixProductBoxImages:function(lis){lis.each(function(li){var dots=li.down('.dots');var image=li.down('img');if(dots&&image){var heightLeft=parseInt(160-dots.getHeight());var top=parseInt(parseInt(heightLeft-image.getHeight())/2);image.setStyle({'position':'relative','top':top+"px"});}});},fixToolTipImage:function(){},fixProductListImages:function(){$("compare-products-form").select(".product-box ul").each(function(ul){var myHeight=ul.getHeight();var picture=ul.down("li.picture img");var label=ul.down("li.picture label");if(picture){var pictureHeight=picture.getHeight();var top=6+parseInt((myHeight-pictureHeight)/2);picture.setStyle({'position':'relative','top':top+'px','margin-bottom':"6px"});}});},parseReadMoreLinks:function(){if(document.getElementById("product-listing-top")){$("product-listing-top").getElementsBySelector("a.read-more").each(function(element){TestFreak.handleReadMoreLink(element);});}},handleReadMoreLink:function(element){if($(element).readAttribute("href")){var href=$(element).href;var read_more_element_id=TestFreak.getIDFromHref(href);if($(read_more_element_id)){$(read_more_element_id).removeClassName("hide");$(read_more_element_id).hide();new Control.Modal($(element),{width:722,offsetTop:20,ignoreScroll:true,className:'read-more-dropdown',fade:true});}}},parseMoreSorts:function(){$$("a.more").each(function(element){TestFreak.handleMoreSortLink(element);});},handleMoreSortLink:function(element){var href=element.href;var read_more_element_id=TestFreak.getIDFromHref(href);if($(read_more_element_id)){$(read_more_element_id).hide();new Control.Modal(element,{width:100,position:'relative',opacity:0,containerClassName:'more-sorts-dropdown',offsetLeft:-60,offsetTop:13});}},getIDFromHref:function(href){return href.substring(href.indexOf("#")+1,href.length);},updateHeight:function(no1,no2){var dimensions=no1.getDimensions();if(Prototype.Browser.IE){no2.setStyle({"height":parseInt(dimensions.height-6)+"px"});}
else{no2.setStyle({"height":parseInt(Math.max(dimensions.height-4))+"px"});}},_getPageHeight:function(){return window.innerHeight||document.documentElement.clientHeight||200;}};Event.onReady(function(){TestFreak.addToolTipDescription();});function docLoaded(){if(document.loggedIn){updateWikiPartial('review_summary_content','_review_summary',false);updateWikiPartial('freak_description_content','_freak_desc',false);}
TestFreak.buildGroup();if($("videos")){var videos=$("videos");if(videos.readAttribute("style")){videos.removeAttribute("style");}}
var tabs=$$('.tabs');if(tabs){tabs.each(function(tab_group){new Control.Tabs(tab_group,{setClassOnContainer:true,afterChange:TestFreak.tabHasChanged,beforeChange:TestFreak.tabWillChange,autoLinkExternal:false});});}
if($('search_q')){new SearchPlay("search_q");}
if($('question_subject')){new SearchPlay('question_subject');}
if($('question_body')){new SearchPlay('question_body');}
if($('answer_body')){new SearchPlay('answer_body');}
$$(".products_tooltip").each(function(element){var dummy=$div({'class':'dummy_tooltip_div'},'');element.appendChild(dummy);var boxType=element.parentNode.parentNode.parentNode.parentNode.id;var tooltip_id=(element.className.substring(element.className.indexOf("ajax_")+5,element.className.length));new DropDown(element,dummy,{className:'big_product_tooltip',show_delay:500,width:366,mode:'tooltip',position:'right',drop_down_div_id:boxType+"_tooltip"+tooltip_id,afterShow:function(dd){if(!this.content_loaded){new Ajax.Updater(dd.options.drop_down_div_id,'/tooltip',{parameters:{id:tooltip_id,no_image:"true"},method:'get'});this.content_loaded=true;}}});});TestFreak.buildSelectFromList();addManufacturerDescriptionHandler(true);if($("basic_product_values")){var collapse_text=Translations.intlCollapseSections;var expand_text=Translations.intlExpandSections;$("basic_product_values").select("thead tr td").each(function(element){var h3=new Element("h3",{"id":"toggle-all-tables","class":"toggles_all_tables hide"});element.appendChild(h3);});}
if($("toggle-all-tables")){$("toggle-all-tables").observe('click',function(){var global_toggle=this;var hide=global_toggle.hasClassName("hide");$("full-page-content").select(".table-wrapper>h3").each(function(element){var table=element.next("table");if(hide){global_toggle.innerHTML=expand_text;global_toggle.removeClassName("hide");global_toggle.addClassName("show");element.addClassName("show");element.removeClassName("hide");table.hide();}
else{global_toggle.innerHTML=collapse_text;global_toggle.addClassName("hide");global_toggle.removeClassName("show");element.addClassName("hide");element.removeClassName("show");table.show();}});});}
if($("full-page-content")){$("full-page-content").select(".table-wrapper>h3").each(function(element){element.addClassName("toggles_adjacent_table");element.addClassName("hide");Event.observe(element,"click",function(event){var element=event.element();var table=element.next("table");if(table.visible()){this.addClassName("show");this.removeClassName("hide");table.hide();}
else{this.addClassName("hide");this.removeClassName("show");table.show();}});});}
$$(".more").each(function(element){element.addClassName("dropdown");if(element.readAttribute("rel")){var searchengines=$(element.readAttribute("rel"));searchengines.down().removeClassName("other_search_engines");searchengines.addClassName("dropdown");searchengines.hide();Position.absolutize(searchengines);}
Event.observe(element,"click",function(event){var menu=$(this.readAttribute("rel"));var offset=Position.cumulativeOffset(this);menu.setStyle({left:"610px",top:"31px",width:"100px"});this.toggleClassName("alive");menu.toggle();return false;});Event.observe(element,"blur",function(){searchengines.hide();this.removeClassName("alive");});});}
function addManufacturerDescriptionHandler(showAll){var readFullDescription=$('manufacturer-description-read-all');if(readFullDescription){Event.observe(readFullDescription,"click",function(e){new Ajax.Updater('manufacturer_description','_man_desc',{method:"get",parameters:{full:showAll},onComplete:function(){addManufacturerDescriptionHandler(!showAll);TestFreak.addToolTipDescription('manufacturer_description');}});Event.stop(e);return false;});}}
Event.onReady(docLoaded);Event.observe(document,'dom:loaded',function(){TestFreak.parseReadMoreLinks();TestFreak.parseMoreSorts();if($("search_q")){$("search_q").setAttribute("autocomplete","off");}
$$(".tooltip").each(function(element){TestFreak.addToolTip(element);});$$(".freak-score-box").each(function(element){element.removeAttribute("title");Event.observe(element,'mouseover',function(){Event.stopObserving(element,'mouseover');TestFreak.addAndShowFreakScoreToolTip(element);})});$$("a.image-pop").each(function(element){new Control.Modal(element);});});Event.observe(window,'load',function(){if($("testfreaks_search_form")&&(location.pathname=="/")){$("testfreaks_search_form").focusFirstElement();}});Event.onReady(function(){if(!$("compare-products-form"))return;var min_for_compare=2;var max_for_compare=5;var compare_message=$("compare_message");if(compare_message)
compare_message.hide();var the_form=$("compare-products-form");if(!(Prototype.Browser.IE&&Client.version==6)){try{$$("#compare-products-form .button-wrapper").each(function(element){var input=element.firstDescendant();var compare_button=$a({href:'javascript:;'},$span(input.value));Event.observe(compare_button,"click",function(){the_form.submit();});input.remove();element.appendChild(compare_button);});}
catch(error){}}
Event.observe(the_form,"submit",function(event){var checkboxes=the_form.getInputs("checkbox","products[]");var checked=0;checkboxes.each(function(checkbox){if(checkbox.checked)
checked++;});if((checked>max_for_compare)||(checked<min_for_compare)){var cm=new Control.Modal.open(compare_message.innerHTML,{width:400,className:'message',overlayClassName:'message_overlay',opacity:0.2,fade:true,overlayDisplay:false});window.setTimeout(function(){cm.close();},5000);Event.stop(event);return false;}
return true;});});document.observe("dom:loaded",function(){if($("extended_categories")){var hover=$("extended_categories").getElementsBySelector("h3").first();var show=$("extended_categories").getElementsBySelector(".outer").first();show.removeAttribute("style");new DropDown(hover,show,{width:360,useEffects:false,negativeTopOffset:(Prototype.Browser.IE?6:0),className:'extended_categories_drop_down',beforeShow:function(dropDownObject){dropDownObject.element.addClassName("over");},afterHide:function(dropDownObject){dropDownObject.element.removeClassName("over");}});}});function updateSatisfiedCount(node,type){var num=node.innerHTML.match(/\d+/);if(num){var diff=0
if(type=='BestAnswer'||type=='HelpfulAnswer'){diff=1;}else if(type=='NotHelpfulAnswer'||type=='ReportedAnswer'||type==null){diff=-1;}
var new_num=parseInt(num[0])+diff;if(new_num<0)
new_num=0;new_node=node.innerHTML.replace(num[0],new_num);node.innerHTML=new_node;}}
function rateAnswer(link,type,id){if(link.hasClassName('selected'))return;if(type=='BestAnswer'){$$('.answer_rating').each(function(e){if(e.firstDescendant().hasClassName('selected')){e.firstDescendant().removeClassName('selected');updateSatisfiedCount(e.down('.satisfied_users',null));}});}
$A(link.parentNode.parentNode.getElementsByTagName("div")).each(function(e){$(e).removeClassName('selected')});link.addClassName('selected');updateSatisfiedCount($(link).up().down('.satisfied_users'),type);new Ajax.Request('rate_answer/',{method:'post',parameters:{answer_id:id,type:type},onSuccess:function(){}});}
var saving={};function postThenContinue(form,continuation){if(saving[form]!=true){saving[form]=true;$(form).request({method:'post',onSuccess:function(transport){saving[form]=false;continuation();}});}}
function postThenAlert(url){if(saving[url]!=true){saving[url]=true;new Ajax.Request(url,{method:"post",onCreate:function(request){request['timeoutId']=window.setTimeout(function(){if((request.transport.readyState===1||request.transport.readyState===2||request.transport.readyState===3)){request.transport.abort();TF.debug("Ajax Timeout!",nodeId,"will not be updated");}},TestFreak.ajaxTimeout);},onComplete:function(transport){saving[url]=false;if(transport.readyState!==4){return;}
if(transport.status===200){if(transport.responseText){alert(transport.responseText)}
window.clearTimeout(transport['timeoutId']);}}});}}
function showWikiPreview(wikiName){var previewBlock=$(wikiName+"_preview");var wikiForm=$(wikiName+"_form");new Ajax.Request('/wiki/preview',{parameters:{name:wikiName,text:$F(wikiForm.value)},onCreate:function(request){request['timeoutId']=window.setTimeout(function(){if((request.transport.readyState===1||request.transport.readyState===2||request.transport.readyState===3)){request.transport.abort();TF.debug("Ajax Timeout!",nodeId,"will not be updated");}},TestFreak.ajaxTimeout);},onComplete:function(transport){if(transport.readyState!==4){return;}
if(transport.status===200){previewBlock.innerHTML=transport.responseText;wikiForm.hide()
previewBlock.show();window.clearTimeout(transport['timeoutId']);}}});}
function hideWikiPreview(wikiName){$(wikiName+"_form").show();$(wikiName+"_preview").hide();}
function updateWikiPartial(nodeId,url,editable){var node=$(nodeId);if(node){new Ajax.Request(url,{method:"get",parameters:editable?{editable:"true"}:{},onCreate:function(request){request['timeoutId']=window.setTimeout(function(){if((request.transport.readyState===1||request.transport.readyState===2||request.transport.readyState===3)){request.transport.abort();TF.debug("Ajax Timeout!",nodeId,"will not be updated");}},TestFreak.ajaxTimeout);},onComplete:function(transport){if(transport.readyState!==4){return;}
if(transport.status===200){node.innerHTML=transport.responseText;TestFreak.addToolTipDescription(nodeId);window.clearTimeout(transport['timeoutId']);}}});}}
function updateTabDiv(nodeId,url){var node=$(nodeId);if(node){new Ajax.Request(url,{method:"get",parameters:{},onCreate:function(request){request['timeoutId']=window.setTimeout(function(){if((request.transport.readyState===1||request.transport.readyState===2||request.transport.readyState===3)){request.transport.abort();TF.debug("Ajax Timeout!",nodeId,"will not be updated");}},10000);},onComplete:function(transport){if(transport.readyState!==4){return;}
if(transport.status===200){node.innerHTML=transport.responseText;new Control.Tabs($('tab_heads'),{setClassOnContainer:true,afterChange:TestFreak.tabHasChanged,beforeChange:TestFreak.tabWillChange,autoLinkExternal:false});Prices.init();window.clearTimeout(transport['timeoutId']);}}});}}
function updatePartial(nodeId,url){var node=$(nodeId);if(node){new Ajax.Request(url,{method:"get",onCreate:function(request){request['timeoutId']=window.setTimeout(function(){if((request.transport.readyState===1||request.transport.readyState===2||request.transport.readyState===3)){request.transport.abort();TF.debug("Ajax Timeout!",nodeId,"will not be updated");}},TestFreak.ajaxTimeout);},onComplete:function(transport){if(transport.readyState!==4){return;}
if(transport.status===200){node.innerHTML=transport.responseText;window.clearTimeout(transport['timeoutId']);}}});}}
function createStyleRule(selector,declaration){var styleNode=document.createElement("style");styleNode.setAttribute("type","text/css");styleNode.setAttribute("media","screen");if(!Prototype.Browser.IE)
styleNode.appendChild(document.createTextNode(selector+" {"+declaration+"}"));document.getElementsByTagName("head")[0].appendChild(styleNode);if(Prototype.Browser.IE&&document.styleSheets&&document.styleSheets.length>0){var lastNodeStyle=document.styleSheets[document.styleSheets.length-1];if(typeof(lastNodeStyle.addRule)==="object")
lastNodeStyle.addRule(selector,declaration);}}
function setLoginName(){function getLoginFromCookie(){var cookies=document.cookie.split(/\s*;\s*/);for(var i=0;i<cookies.length;i++){var pair=cookies[i].split('=');if(pair[0]==="_testfreaks_login"){return pair[1];}}
return null;}
var username=getLoginFromCookie();if(username!=null&&username.length>0){document.username=username;document.loggedIn=true;}else if(username!=null&&username==''){document.loggedIn=false;}}
function setUserStyles(){if(document.username){$(document.getElementsByTagName("body")[0]).addClassName("logged-in");createStyleRule(".visible_for_"+document.username,"display: block;");createStyleRule(".invisible_for_"+document.username,"display: none;");}}
function loginFormSubmitHandler(form){Form.request(form,{method:"post",onCreate:function(request){request['timeoutId']=window.setTimeout(function(){if((request.transport.readyState===1||request.transport.readyState===2||request.transport.readyState===3)){request.transport.abort();TF.debug("Ajax Timeout!",request);}},TestFreak.ajaxTimeout);},onComplete:function(transport){if(transport.readyState!==4){return;}
if(transport.status===200){window.clearTimeout(transport['timeoutId']);}},onSuccess:function(transport){if(transport.responseText.length>1){var currentModal=Control.Modal.current;if(currentModal){currentModal.container.update(transport.responseText);}}
else{document.loggedIn=true;Control.Modal.close();}}});}
function getLogin(continuation){continuation=continuation||function(){};if(document.loggedIn){continuation();}
else{var loginWindow=new Control.Modal(false,{overlayOpacity:0.6,fade:true,className:'login_modal',width:500,height:400,closeOnClick:undefined,constrainToViewport:true,modal:true,afterClose:function(){if(document.loggedIn){setLoginName();TestFreak.setLoginInfo();continuation();}
Testfreaks.stopWatchingLoginForm();}});new Ajax.Updater({success:loginWindow.container},'/signup',{method:'get',onSuccess:function(){loginWindow.open();Testfreaks.watchLoginForm();}});}}
function formSubmitter(f){var form=f;return function(){form.submit();}}
createStyleRule(".picture label input","display: none;");TestFreak.makeFreakDescShorter=function(){if($("wiki_freak_description_form")){var element=$("wiki_freak_description_form");var height_swapper_link=$("wiki_freak_see_more").removeClassName("hide_if_no_js").down("a");TF.debug($("wiki_freak_see_more"));new ContentToggler(height_swapper_link,element,{use_effects:false,show_less_text:Translations.intlSeeLess,show_more_text:Translations.intlSeeMore});}};TestFreak.makeReviewSummaryShorter=function(){if($("wiki_formated")){var element=$("wiki_formated");var swapper=$("review_summary_see_more").removeClassName("hide_if_no_js").down("a");new ContentToggler(swapper,element,{number_of_visible_lines:5,use_effects:false,show_less_text:Translations.intlSeeLess,show_more_text:Translations.intlSeeMore});}};TestFreak.setupFrequentTermTabs=function(){if(document.getElementById("frequent_terms_tabs")){var frequent_terms_tabs=new Control.Tabs($('frequent_terms_tabs'),{defaultTab:'first',activeClassName:'active_frequent_term_tab',autoLinkExternal:false,afterChange:function(new_container){var the_id=parseInt(/([0-9]+)$/.exec(new_container.id)[1]);new Ajax.Updater(new_container.id,'_ft_excerpts/',{parameters:{'frequent_term':the_id},method:"get",onCreate:function(){var the_node=$("frequent_term_"+the_id);the_node.setStyle({'min-height':'60px'});the_node.addClassName("loading");},onComplete:function(req){var the_node=$("frequent_term_"+the_id);the_node.removeClassName("loading");var new_node=the_node.down();new_node.addClassName("frequent_term_element");new_node.setStyle({'overflow':'hidden'});if(!$('ft_'+the_id)){var toggler=$a({href:"javascript:;",'class':'toggle_frequent_terms','id':'ft_'+the_id},$span('See more'));$("frequent_term_"+the_id).appendChild(toggler);new ChildToggler(toggler,new_node,{number_of_visible_children:4,use_effects:false,show_less_text:Translations.intlSeeLess,show_more_text:Translations.intlSeeMore,after_show:function(childToggler){toggler.addClassName("open");},after_hide:function(childToggler){toggler.removeClassName("open");}});}}});}});}};document.observe("dom:loaded",function(){TestFreak.setupFrequentTermTabs();if(document.getElementById("content")){$("content").select("[rel~=videobox]").each(function(element){TestFreak.videoBoxes[element.id]=new VideoBox(element);});}});setLoginName();