kapp.namespace("kapp.log.ext");kapp.log.ext.filters=['xpopup.js','127.0.0.1:1030/js.cgi','quant.js','injection_graph_func.js','Permission denied to call method Location.toString','Error loading script'];kapp.log.ext.ldtime=function(){var load_start=typeof(kapp.log.load_start)=='function'?kapp.log.load_start():kapp.log.load_start;kapp.log.putt("loadt",(new Date()).getTime()-load_start,'i')};kapp.log.ext.onerr=function(msg,url,linenumber){var length=kapp.log.ext.filters.length;for(var i=0;i<length;i++){var filter=kapp.log.ext.filters[i];if(url.indexOf(filter)!=-1||msg.indexOf(filter)!=-1){return}}kapp.log.custom('jserror',{'msg':msg,'linenum':linenumber,'url':document.location,'err_url':url})};Event.observe(window,"load",kapp.log.ext.ldtime.bindAsEventListener(kapp.log.ext));try{window.onerror=kapp.log.ext.onerr.bind(kapp.log.ext)}catch(err){}kapp.dailydose={};kapp.dailydose.returnHandler=function(){};kapp.Blog=function(blogName,signupId,formId,messageId){if(!formId)return;this.blogName=blogName;this.message=$(messageId);this.signupElem=$(signupId);this.formElem=$(formId);this.emailElem=this.formElem.down('input.text');this.submitElem=this.formElem.down('input.submit');this.type=this.formElem.down('input.type').value;var thisObj=this;Event.observe(this.emailElem,'click',this.enableSend.bind(this));Event.observe(this.emailElem,'blur',function(){thisObj.emailElem.addClassName('tdisabled');thisObj.submitElem.addClassName('sdisabled');if(thisObj.emailElem.value.blank())thisObj.emailElem.value='Enter your email'});Event.observe(this.formElem,'submit',this.send.bind(this))};kapp.Blog.prototype.enableSend=function(){this.submitElem.removeAttribute('disabled');this.submitElem.removeClassName('sdisabled');this.emailElem.value='';this.emailElem.removeClassName('tdisabled')};kapp.Blog.prototype.send=function(){this.message.show();this.formElem.style.background='transparent url(/images/loading.gif) top right no-repeat';kapp.dailydose.returnHandler=this.returnHandler.bind(this);kapp.JSONrequest(this.formElem.action+'?'+this.formElem.serialize());this.success=0;window.setTimeout(this.error.bind(this),5000)};kapp.Blog.prototype.returnHandler=function(response){this.formElem.style.background='none';this.success=response["status"];this.message.innerHTML=response['status']==1?"Congratulations! You will begin receiving your "+this.blogName+" shortly.<br/>":"There was some kind of problem. We'll work on it!<br/>"};kapp.Blog.prototype.error=function(){this.formElem.style.background='none';if(this.success==0){this.message.innerHTML="There was some kind of problem. We'll work on it!<br/>"}};kapp.Search=function(formElem,inputElem,submitElem){if(!inputElem)return;this.formElem=formElem;this.inputElem=inputElem;this.submitElem=submitElem;this.defaultValue=this.inputElem.getAttribute('k_defaultValue')?this.inputElem.getAttribute('k_defaultValue'):this.inputElem.value;this.kosmixSite=this.formElem.getAttribute('k_kosmixSite')?this.formElem.getAttribute('k_kosmixSite'):'';this.defaultDisabled=this.submitElem.getAttribute('k_disabled')=='disabled';if(this.defaultDisabled){this.inputElem.toggleClassName('tdisabled');this.submitElem.toggleClassName('sdisabled')}this.activateCallback=this.activateInput.bindAsEventListener(this);this.confirmCallback=this.confirmInput.bindAsEventListener(this);this.setEvents()};kapp.Search.prototype.setEvents=function(){Event.observe(this.inputElem,'click',this.activateCallback);Event.observe(this.inputElem,'keydown',this.activateCallback);Event.observe(this.submitElem,'click',this.confirmCallback)};kapp.Search.prototype.activateInput=function(event){if(this.defaultDisabled){this.inputElem.removeClassName('tdisabled');this.submitElem.removeAttribute('k_disabled');this.submitElem.removeClassName('sdisabled')}Event.stopObserving(this.inputElem,'click',this.activateCallback);Event.stopObserving(this.inputElem,'keydown',this.activateCallback);Event.observe(this.inputElem,'blur',this.confirmCallback)};kapp.Search.prototype.confirmInput=function(event){if(this.inputElem.value.blank()){this.lastEmpty=true;this.defaultDisabled=true;this.inputElem.addClassName('tdisabled');this.submitElem.setAttribute('k_disabled','disabled');this.submitElem.addClassName('sdisabled');this.setEvents()}else if(event.target==this.submitElem&&event.type=='click'&&this.lastEmpty){this.ignoreClick=true}else{this.lastEmpty=false;this.lastEvent=event}};kapp.Search.prototype.submit=function(){var query=this.inputElem.value;var site=this.kosmixSite;if(this.ignoreClick||this.submitElem.getAttribute('k_disabled')=='disabled'){this.ignoreClick=false;return false}var queryEncode=kapp.encode(query);if(!queryEncode){return false}if(site=='righthealth'){action='http://www.righthealth.com/topic/'+queryEncode}else{action='http://www.kosmix.com/topic/'+queryEncode}if(stickyParams){for(var key in stickyParams){if(key=='q'||key=="forcepage"||key=="file"||key=="p"){continue}this.formElem.appendChild(new Element('input',{'style':'display: none;','name':key,'value':stickyParams[key]}))}}this.inputElem.removeAttribute('name');this.submitElem.removeAttribute('name');kl.put('searchtext',query);this.formElem.action=action;this.formElem.submit()};kapp.namespace("kapp.util");kapp.util.isVisible=function(element){var elOffset=element.cumulativeOffset();vpOffset=document.viewport.getScrollOffsets();elDim=element.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};kapp.nudgeIntoViewport=function(element){var el={'left':parseInt(element.style.left,10),'right':parseInt(element.style.left,10)+parseInt(element.getDimensions().width,10),'top':parseInt(element.style.top,10),'bottom':parseInt(element.style.top,10)+parseInt(element.getDimensions().height,10)};var vp={'left':document.viewport.getScrollOffsets()[0],'right':document.viewport.getScrollOffsets()[0]+document.viewport.getDimensions().width,'top':document.viewport.getScrollOffsets()[1],'bottom':document.viewport.getScrollOffsets()[1]+document.viewport.getDimensions().height};if(el.right>vp.right){element.setStyle({left:el.left-(el.right-vp.right)-7+'px'})}if(el.left<vp.left){element.setStyle({left:'0px'})}if(el.top<vp.top){element.setStyle({top:'0px'})}if(el.bottom>vp.bottom){element.setStyle({top:el.top-(el.bottom-vp.bottom)-7+'px'})}};kapp.addShadow=function(elem){if(!elem.next('.rsideshadow'))elem.innerHTML=elem.innerHTML+'<div class="rsideshadow"></div><div class="bsideshadow"></div><div class="brcornershadow"></div>'};kapp.util.switchTo=function(event){var id=this.id;var module=this.up('.module');if(!module){return}$$('#'+module.id+' .switchItem').each(function(d){if(d.hasClassName(id)){if(d.style.display=='none'){if(!Prototype.Browser.IE){new Effect.BlindDown(d,{duration:.2});new Effect.Appear(d,{duration:.2})}else{d.show()}}}else if(d.style.display!='none'){if(!Prototype.Browser.IE){new Effect.BlindUp(d,{duration:.2});new Effect.Fade(d,{duration:.2})}else{d.hide()}}});$$('#'+module.id+' ul.legend li.switcher').each(function(l){l.removeClassName('item_on')});this.addClassName('item_on');kapp.ads.refreshAds()};Event.observe(window,"load",function(){$$(".switcher").each(function(s){Event.observe(s,"click",kapp.util.switchTo);var link=s.down('a');if(link){link.removeAttribute('href')}if(Prototype.Browser.IE){Event.observe(s,"mouseover",function(){s.setStyle({textDecoration:'underline'})});Event.observe(s,"mouseout",function(){s.setStyle({textDecoration:'none'})})}})});kapp.util.slideTo=function(element){g=this.id;$$('.slideItem').each(function(d){if(d.hasClassName(g)){if(!kapp.util.isVisible(d)){new Effect.ScrollTo(d,{duration:.2})}new Effect.Highlight(d,{duration:1.2})}});$$('ul.legend li').each(function(l){l.removeClassName('item_on')});this.addClassName('item_on')};Event.observe(window,"load",function(){$$(".slider").each(function(s){Event.observe(s,"click",kapp.util.slideTo)})});kapp.util.slideToTop=function(){new Effect.ScrollTo(document.body.immediateDescendants()[0],{duration:.2})};Event.observe(window,"load",function(){$$(".slideToTop").each(function(s){Event.observe(s,"click",kapp.util.slideToTop)})});kapp.util.showMoreLink=function(ev,options){var id=this.id;var baseClassName=options['baseClassName']?options['baseClassName']:'more_tree';var dur=options['duration']?options['duration']:0.2;var showMore=this.parentNode.hasClassName('viewmore');var lists=$$('.'+baseClassName+'.'+id);this.parentNode.removeClassName(showMore?'viewmore':'viewless');this.parentNode.addClassName(showMore?'viewless':'viewmore');lists.each(function(l){if(showMore){new Effect.BlindDown(l,{duration:dur});new Effect.Appear(l,{duration:dur})}else{new Effect.BlindUp(l,{duration:dur});new Effect.Fade(l,{duration:dur})}})};kapp.util.setTextSize=function(element){var newTextSize=this.getAttribute('k_ts');b=document.body;if(b.hasClassName('ts_small'))b.removeClassName('ts_small');if(b.hasClassName('ts_medium'))b.removeClassName('ts_medium');if(b.hasClassName('ts_large'))b.removeClassName('ts_large');b.addClassName('ts_'+newTextSize);document.cookie="k_textsize=ts_"+newTextSize+"; expires=Sun, 08-Sep-2018 12:06:22 GMT; path=/"};Event.observe(window,"load",function(){$$("#textsize a").each(function(s){Event.observe(s,"click",kapp.util.setTextSize)})});Event.observe(window,"load",function(){$$(".m_tree .more_tree_link").each(function(s){Event.observe(s,"click",kapp.util.showMoreLink.bindAsEventListener(s,{baseClassName:'more_tree'}))});$$(".m_tree .more_cats_link").each(function(s){Event.observe(s,"click",kapp.util.showMoreLink.bindAsEventListener(s,{baseClassName:'m_tree ',duration:0.4}))})});kapp.util.bound_dims=function(dims,bounds){if(dims.width==0||dims.height==0||bounds.width==0||bounds.height==0)return{'width':0,'height':0};w_ratio=bounds.width/dims.width;h_ratio=bounds.height/dims.height;if(w_ratio>=1&&h_ratio>=1)return dims;ret={'width':0,'height':0};if(w_ratio>h_ratio){ret.width=dims.width*h_ratio;ret.height=dims.height*h_ratio}else{ret.width=dims.width*w_ratio;ret.height=dims.height*w_ratio}return ret};kapp.util.readCookie=function(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var 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};kapp.util.topNavArrowHandler=function(e){if(!e)return;if(e.findElement().hasClassName('arrow')){arrow_button=e.findElement()}else{arrow_button=e.findElement().up('.arrow')}if(arrow_button){kapp.util.showSubNav(arrow_button)}Event.stop(e)};kapp.util.outsideSubNavClickHandler=function(e){if(!e)return;if(!(e.findElement().hasClassName('top_nav_submenu')||e.findElement().up('.top_nav_submenu'))&&!(e.findElement().hasClassName('.arrow')||e.findElement().up('.arrow'))){kapp.util.hideSubNavs()}};kapp.util.showSubNav=function(arrow_button){kapp.util.hideSubNavs();submenu=arrow_button.up('.top_nav_button').down('.top_nav_submenu');if(submenu){submenu.addClassName('on');arrow_button.addClassName('on');submenu.show()}};kapp.util.hideSubNavs=function(){$$('.top_nav_submenu').invoke('hide');$$('.top_nav_submenu.on').invoke('removeClassName','on');$$('.top_nav .arrow.on').invoke('removeClassName','on')};kapp.util.refresh=function(module){module=$(module);if(module){module.submit_return=function(resp){if(resp.responseText){var ins=this.down('.mcontent .bd')||this.down('.bd')||this;ins.replace(resp.responseText);kapp.ugc.init()}};var url="/kjax/html/module/"+module.id.gsub(/:.*/,'')+"?q="+searchParams["q"]+"";module.submitter=new Ajax.Request(url,{'onComplete':kapp.util.watchforcomplete.bind(module)})}else{console.log("not a module")}};kapp.util.watchforcomplete=function(){this.style.opacity=.6;var m=false;if(!this.c)this.c=0;this.c++;try{eval('if(this.submitter.transport.readyState>1) m = true;')}catch(err){};if(m){this.style.opacity=1;this.submit_return.bind(this)(this.submitter.transport)}else if(this.c<33){setTimeout(kapp.ugc.watchforcomplete.bind(this),300)}};$$('.top_nav .arrow').invoke('observe','click',kapp.util.topNavArrowHandler);document.body.observe("mousedown",kapp.util.outsideSubNavClickHandler);kapp.util.nav_by_source=function(e){if(!e)return false;if(e.findElement().hasClassName('sourcenav')){nav_button=e.findElement()}else{nav_button=e.findElement().up('.sourcenav')}target=$(nav_button.readAttribute('k_target_id'));if(nav_button){kapp.util.sourceNavEffects(target)}return false};kapp.util.blinkColor=function(el){new Effect.Pulsate(el,{pulses:8,duration:2.0,from:0.4,queue:{position:'front',scope:"sourcenav_select_link_pulse",limit:1}})};kapp.util.sourceNavEffects=function(el){new Effect.ScrollTo(el,{duration:0.6,offset:-100,queue:{position:'front',scope:"sourcenav_select_"+el.id,limit:2}});new Effect.Highlight(el,{startcolor:'#C2EF86',duration:2.0,queue:{position:'end',scope:"sourcenav_select_"+el.id,limit:2}})};$$('#source_index .sourcenav').invoke('observe','click',kapp.util.nav_by_source);kapp.util.tooltipClick=function(ev){el=Event.element(ev);if(!el.hasClassName('tooltip_button')){el=el.up('.tooltip_button')}if(!el){return}if(el.hasClassName('on')){if(el_tooltip){el.tooltip.hide()}}else{kapp.util.hideTooltips();kapp.util.showTooltip(el);Event.stop(ev)}};kapp.util.showTooltip=function(el){text=el.readAttribute('k_tooltip_text');if(!text){return}if(!el.tooltip){text=decodeURIComponent(el.readAttribute('k_tooltip_text'));tooltip=new Element('div');tooltip.addClassName('k_tooltip');content=new Element('div');content.addClassName('k_tooltip_content');content.innerHTML=text;top_shadow_box=new Element('div').addClassName('top_shadow_box');top_box=new Element('div').addClassName('top_box');top_shadow_box.insert({'top':top_box});bottom_box_m=new Element('div').addClassName('bottom_box_m');bottom_box_l=new Element('div').addClassName('bottom_box_l');bottom_box_r=new Element('div').addClassName('bottom_box_r');bottom_shadow_box=new Element('div').addClassName('bottom_shadow_box');bottom_shadow_box.insert({'top':bottom_box_r});bottom_shadow_box.insert({'top':bottom_box_m});bottom_shadow_box.insert({'top':bottom_box_l});tooltip.insert({'top':bottom_shadow_box});tooltip.insert({'top':content});tooltip.insert({'top':top_shadow_box});$('bd').insert({'top':tooltip});el.tooltip=tooltip}else{tooltip=el.tooltip}var leftOffset=0;var topOffset=0;if(Prototype.Browser.IE){leftOffset=$('bd').cumulativeOffset()[0];topOffset=$('bd').cumulativeOffset()[1]}tooltip.setStyle({left:(el.cumulativeOffset()[0]-tooltip.getDimensions().width-leftOffset+100)+'px',top:(el.cumulativeOffset()[1]-tooltip.getDimensions().height-topOffset-(-3))+'px',display:'none',visibility:''});if(el.curEffect){el.curEffect.cancel()}el.addClassName('on');tooltip_on_src="";el.writeAttribute('src',tooltip_on_src);el.curEffect=new Effect.Appear(tooltip,{duration:.2,afterFinish:function(effect){tooltip=effect.element;if(kapp.util.topAboveViewport(tooltip)){new Effect.ScrollTo(tooltip,{offset:-30,duration:0.3})}}})};kapp.util.hideTooltips=function(){$$('.tooltip_button.on').each(function(el){kapp.util.hideTooltip(el)})};kapp.util.hideTooltip=function(el){tooltip_off_src="/images/k2.2/badge_editors_notes_off.png";if(el.tooltip){new Effect.Fade(el.tooltip,{duration:.2});el.removeClassName('on');el.writeAttribute('src',tooltip_off_src)}};$$('.tooltip_button').invoke('observe','click',kapp.util.tooltipClick);Event.observe(document.body,'click',kapp.util.hideTooltips);kapp.util.topAboveViewport=function(el){var elOffset=el.cumulativeOffset(),vpOffset=document.viewport.getScrollOffsets();if(elOffset[1]<vpOffset[1]){return true}return false};kapp.konami=[38,38,40,40,37,39,37,39,66,65];kapp.konami_pos=-1;kapp.funds=[70,85,78,68];kapp.funds_pos=-1;Event.observe(document,"keydown",function(ev){if(ev.keyCode==kapp.konami[kapp.konami_pos+1]){kapp.konami_pos+=1;Event.stop(ev)}else{kapp.konami_pos=-1};if(kapp.konami_pos==(kapp.konami.length-1)){document.fire("kosmix:konami")};if(ev.shiftKey&&ev.keyCode==kapp.funds[kapp.funds_pos+1]){kapp.funds_pos+=1;Event.stop(ev)}else{kapp.funds_pos=-1};if(kapp.funds_pos==(kapp.funds.length-1)){document.fire("kosmix:simcity_funds")}});kapp.init=function(){this.javascript=true;this.home=document.location.protocol+"//"+document.location.host};kapp.pageInit=function(){this.search=new kapp.Search($('searchForm'),$('searchText'),$('searchSubmit'));for(var i=0;i<kapp.pageCallbacks.length;i++){if(typeof(kapp.pageCallbacks[i])=="function"){kapp.pageCallbacks[i].call()}else if(kapp.pageCallbacks[i].functionName){var name=kapp.pageCallbacks[i].functionName.replace(/kapp\./,'');var functionObj=window.kapp[name];if(functionObj){functionObj.apply(this,kapp.pageCallbacks[i].args?kapp.pageCallbacks[i].args:[])}}}};kapp.addShadow=function(elem){elem.appendChild(new Element('div',{'class':'rsideshadow','style':'height:'+elem.getDimensions().height+'px;'}));elem.appendChild(new Element('div',{'class':'bsideshadow'}));elem.appendChild(new Element('div',{'class':'brcornershadow','style':'top:'+elem.getDimensions().height+'px;left:'+elem.getDimensions().width+'px;'}))};kapp.addConnectionEvents=function(){$$('.why_link').each(function(i){var g=kapp.ConnectionTooltip.bind(i);Event.observe(i,'mouseover',g);Event.observe(i,'mouseout',g);i.removeAttribute('title')})};kapp.pageCallbacks.push({'functionName':'kapp.addConnectionEvents'});kapp.alert=new Class.create({defaults:$H({icon:false,fixed:false}),initialize:function(level,msg,opts){if(!level||!msg)return false;opts=this.defaults.merge(opts)._object;icon=opts.icon;if(!icon){var icon=level+'.png'};fixed=opts.fixed;if(!fixed)var fixed=false;icon='/images/message/'+icon;this.el=new Element('div',{'class':'alert '+level+(fixed?' fixed':''),'style':'display:none;'}).update('<div class="msg"><img src="'+icon+'" width="16" height="16"/>'+msg+'</div><div class="close">&nbsp;</div>');var c=this.el.down('.close');Event.observe(c,'click',this.kill.bind(this));document.body.appendChild(this.el)},show:function(level,msg,icon){new Effect.BlindDown(this.el,{duration:.75})},kill:function(){new Effect.BlindUp(this.el,{duration:.2})}});kapp.ConnectionTooltip=function(event){if(!this.tooltip){var concept=this.next().innerHTML;var contenthtml='<div class="container"><div class="content">Find out how <strong>'+concept+'</strong> is related to <strong>'+searchParams["qtitle"]+'</strong>.</div></div><div class="rsideshadow"></div><div class="bsideshadow"></div><div class="brcornershadow"></div>';var content=new Element('div',{'id':this.up('div.module').id+'_favhover','class':'favicon_tooltip','style':'visibility:hidden;'}).update(contenthtml);this.tooltip=content;$('bd').appendChild(content);content.down('.rsideshadow').style.height=content.down('.content').getDimensions().height+'px';content.down('.brcornershadow').style.top=content.down('.content').getDimensions().height+'px'}var leftOffset=0;var topOffset=0;if(Prototype.Browser.IE){leftOffset=$('bd').cumulativeOffset()[0];topOffset=$('bd').cumulativeOffset()[1]}this.tooltip.setStyle({left:(this.cumulativeOffset()[0]+this.getDimensions().width-leftOffset-1)+'px',top:(this.cumulativeOffset()[1]+this.getDimensions().height-topOffset-1)+'px',display:'none',visibility:''});if(event.type=="mouseover"){if(this.curEffect){this.curEffect.cancel()}this.tooltip.style.zIndex='100';this.curEffect=new Effect.Appear(this.tooltip,{duration:.15})}else{if(this.curEffect){this.curEffect.cancel()}this.curEffect=new Effect.Fade(this.tooltip,{duration:.15})}};kapp.showPreview=function(ev){if($('related_preview'))$('related_preview').remove();var contenthtml='<div class="loading content"></div>';var content=new Element('div',{'id':'related_preview','class':'content',style:'visibility:hidden;'}).update(contenthtml);kapp.addShadow(content);$('bd').appendChild(content);$('related_preview').setStyle({left:(this.cumulativeOffset()[0]+this.getDimensions().width+1)+'px',top:(this.cumulativeOffset()[1]+this.getDimensions().height+1)+'px',display:'none',visibility:''});kapp.nudgeIntoViewport($('related_preview'));new Effect.Appear($('related_preview'),{duration:.2,to:.8});if(this.readAttribute('k_query')){if(this.readAttribute('k_module')){mod=this.readAttribute('k_module')}else{mod='wiki'}this.kjax=new kapp.KJAX.Module(mod,{'q':this.readAttribute('k_query')},{'readyCallback':kapp.updatePreview.bind(this)});this.kjax.query=this.readAttribute('k_query');this.timeout=setTimeout(kapp.errorPreview.bind(this),3000)}Event.stop(ev);Event.observe(document.body,'click',kapp.previewBodyClick.bind($('related_preview')))};kapp.previewBodyClick=function(ev){if(!ev.target.up('#related_preview'))kapp.hidePreview()};kapp.hidePreview=function(){if($('related_preview'))$('related_preview').remove();Event.stopObserving(document.body,'click',kapp.previewBodyClick.bind($('related_preview')))};kapp.errorPreview=function(){var contenthtml='<div class="container"><div class="content"><h4>Preview for <a class="in low" href="/topic/'+escape(this.kjax.params.q_callout_query)+'">'+this.kjax.query+'</a></h4><br/><p>Hmm. We\'re having a problem retreiving the preview for this topic.</p><br/>You can still <a class="in low" href="/topic/'+escape(this.kjax.query)+'"><strong>go to '+this.kjax.query+' on Kosmix&nbsp;&raquo;</strong></a><br/>or&nbsp;<strong><a title="'+this.kjax.query+'"href="http://www.google.com/search?site=&hl=en&q='+this.kjax.query+'"'+this.kjax.query+'">search for '+this.kjax.query+'</a></strong> on Google</div></div><div class="rsideshadow"></div><div class="bsideshadow"></div><div class="brcornershadow"></div>';$('related_preview').update(contenthtml);new Effect.Appear($('related_preview'),{duration:.1,from:.8,to:1})};kapp.process_wiki=function(ret){var wikiText=ret.xmldoc.evaluate('//Results/module/Definition/Defn',ret.xmldoc,null,XPathResult.STRING_TYPE,null);if(!wikiText){return false}if(escape(ret.params.q_callout_query)!=escape(searchParams['qtitle'])){var contenthtml='<div class="container"><div class="content"><h4>Preview for <a class="in low" href="/topic/'+escape(ret.params.q_callout_query)+'">'+ret.params.q_callout_query+'</a></h4><br/><p class="source"><a title="Wikipedia" class="image" rel="no_follow" href="http://en.wikipedia.org"><img width="16" height="16" alt="Wikipedia" class="favicon" src="/images/icons/wikipedia.org.png"/></a><a title="Wikipedia" rel="no_follow" href="http://en.wikipedia.org">Wikipedia</a></p><p>'+wikiText.stringValue.truncate(200)+'</p><br/><a class="in low" href="/topic/'+escape(ret.params.q_callout_query)+'"><strong>Go to '+ret.params.q_callout_query+' on Kosmix&nbsp;&raquo;</strong></a><div class="hr" style="width:100%;margin:1em auto;border-top:1px dotted #bbb;"></div><p class="footnote"><a href="/topic/'+escape(ret.params.q_callout_query+' and '+searchParams['qtitle'])+'">Learn more about \''+ret.params.q_callout_query+' and '+searchParams['qtitle']+'\' on Kosmix&nbsp;&raquo;</a></p></div></div>'}else{var contenthtml='<div class="container"><div class="content"><h4>Preview for <a class="in low" href="/topic/'+escape(ret.params.q_callout_query)+'">'+ret.params.q_callout_query+'</a></h4><br/><p class="source"><a title="Wikipedia" class="image" rel="no_follow" href="http://en.wikipedia.org"><img width="16" height="16" alt="Wikipedia" class="favicon" src="/images/icons/wikipedia.org.png"/></a><a title="Wikipedia" rel="no_follow" href="http://en.wikipedia.org">Wikipedia</a></p><p>'+wikiText.stringValue.truncate(200)+'</p><br/><a class="in low" href="/topic/'+escape(ret.params.q_callout_query)+'"><strong>Go to '+ret.params.q_callout_query+' on Kosmix&nbsp;&raquo;</strong></a></div></div>'};return(contenthtml)};kapp.process_meehive_news=function(ret){var newsnodes=ret.xmldoc.evaluate('//Results/module/results/channel/result',ret.xmldoc,null,XPathResult.ANY_TYPE,null);var contenthtml='<div class="container"><div class="content"><h4>Preview for <a class="in low" href="/topic/'+escape(ret.query)+'">'+ret.query+'</a></h4><br/><p class="source"><a title="MeeHive" class="image" rel="no_follow" href="http://meehive.com"><img width="16" height="16" alt="MeeHive" class="favicon" src="/images/icons/meehive.com.png"/></a><a title="MeeHive" rel="no_follow" href="http://meehive.com">MeeHive</a></p><p>';var out=0;var hsh={};while(item=newsnodes.iterateNext()){hsh={};$A(item.childNodes).each(function(node){hsh[node.localName]=node});contenthtml+='<p class="footnote">'+hsh['date'].textContent+'</p><a href="'+hsh['url'].textContent+'">'+hsh['title'].textContent+'</a><br/><p>'+hsh['snippet'].textContent.truncate(60)+'</p><br/>';out++;if(out>1)break};contenthtml+='</p></div></div>';return contenthtml};kapp.updatePreview=function(){var txt=eval('kapp.process_'+this.kjax.module+'(this.kjax);');if(!txt){kapp.errorPreview.bind(this);return}clearTimeout(this.timeout);$('related_preview').update(txt);kapp.addShadow($('related_preview'));new Effect.Appear($('related_preview'),{duration:.1,from:.8,to:1})};kapp.showKosmosTooltip=function(event){if(!$('kosmos_content')){var kosmostext='<h4>What\'s this?</h4>'+$('kosmos_dialog').tooltiptext+'';var contenthtml='<div class="container"><div class="content">'+kosmostext+'</div></div><div class="rsideshadow"></div><div class="bsideshadow"></div><div class="brcornershadow"></div>';var content=new Element('div',{'id':'kosmos_content','class':'content',style:'visibility:hidden;'}).update(contenthtml);$('bd').appendChild(content);content.down('.rsideshadow').style.height=content.down('.content').getDimensions().height+'px';content.down('.brcornershadow').style.top=content.down('.content').getDimensions().height+'px';content.down('.brcornershadow').style.left=content.down('.content').getDimensions().width+'px'}var leftOffset=0;var topOffset=0;if(Prototype.Browser.IE){leftOffset=$('bd').cumulativeOffset()[0];topOffset=$('bd').cumulativeOffset()[1]}$('kosmos_content').setStyle({left:($('kosmos_dialog').cumulativeOffset()[0]-$('kosmos_content').getDimensions().width-leftOffset+13)+'px',top:($('kosmos_dialog').cumulativeOffset()[1]-$('kosmos_content').getDimensions().height-topOffset-6)+'px',display:'none',visibility:''});if($('kosmos_dialog').curEffect){$('kosmos_dialog').curEffect.cancel()}$('kosmos_dialog').curEffect=new Effect.Appear($('kosmos_content'),{duration:.2});Event.stop(event);Event.observe(document.body,'click',kapp.ktooltipBodyClick.bind($('kosmos_content')))};kapp.ktooltipBodyClick=function(ev){if(!ev.target.up('#kosmos_dialog'))kapp.hideTooltip()};kapp.hideTooltip=function(){if($('kosmos_content'))new Effect.Fade($('kosmos_content'),{duration:.2});Event.stopObserving(document.body,'click',kapp.ktooltipBodyClick.bind($('kosmos_content')))};kapp.JSONrequest=function(url){if($('tmpscript')){$('tmpscript').remove()}json=document.createElement('script');json.setAttribute('type','text/javascript');json.setAttribute('id','tmpscript');json.setAttribute('charset',"utf-8");json.setAttribute('src',url+'&noCacheIE='+(new Date()).getTime());$$('head')[0].appendChild(json)};kapp.enableFeedback=function(){Event.observe($('k_yes'),'click',kapp.feedback.enableSend);Event.observe($('k_no'),'click',kapp.feedback.enableSend);Event.observe($('k_textarea'),'click',kapp.feedback.clearValue.bindAsEventListener($('k_textarea')))};kapp.setupRadios=function(){$$('#bd .m_feedback input[type=radio]').each(function(c){kapp.feedback.replaceRadio(c)})};kapp.namespace("kapp.feedback");kapp.feedback.enableSend=function(){if($('k_textarea').style.display=='none')new Effect.BlindDown('k_textarea',{duration:.2});Event.observe($('k_textarea'),'keyup',kapp.feedback.smartSize);this.down('.radio_replaced').fire('kapp:click');var submit=$('k_feedback').k_submit;submit.removeAttribute('disabled');submit.removeClassName('disabled')};kapp.feedback.send=function(){var radioValue=$('k_yes').checked?'Yes':'No';var feedbackText=$('k_textarea').value;$('k_feedback').down('.footnote').innerHTML='Sending...';kapp.log.custom('feedback',{'satisfied':radioValue,'feedbackText':feedbackText,'query':$('k_queryUrl').value})};kapp.feedback.confirm=function(success){if(success){$$('#bd .m_feedback .hd h2').each(function(s){s.innerHTML='We received your feedback.<br/>Thanks!'});new Effect.BlindUp($('feedback_form'),{duration:.2});new Effect.Fade($('feedback_form'),{duration:.2})}else{$('k_feedback').innerHTML='<p>Sorry, there was a problem sending your feedback. Please try again later!</p>';$$('#bd .m_feedback .hd h2').each(function(s){s.innerHTML='Sorry, there was a problem sending your feedback.<br/>Please try again later!'});new Effect.BlindUp($('feedback_form'),{duration:.2});new Effect.Fade($('feedback_form'),{duration:.2})}};kapp.feedback.clearValue=function(){this.value='';this.style.color='#000';Event.stopObserving(this,'click',this.clearCallback);Event.stopObserving(this,'keydown',this.clearCallback)};kapp.feedback.replaceRadio=function(element){element=$(element);var newRadio=new Element('div',{'class':'radio_replaced','id':element.id+'Radio'});if(element.checked)newRadio.addClassName('on');newRadio.inputBox=element;element.hide();element.parentNode.insertBefore(newRadio,element.nextSibling);Event.observe(newRadio,"click",kapp.feedback.toggleRadio);Event.observe(newRadio,"kapp:click",kapp.feedback.toggleRadio)};kapp.feedback.toggleRadio=function(){if(!this.inputBox.checked){$$('.radio_replaced').each(function(r){r.removeClassName('on');r.inputBox.checked=false});this.addClassName('on');this.inputBox.checked=true}};kapp.feedback.smartSize=function(event){b=0;if(this.type=='textarea'){a=$A(this.value.split('\n'));b+=a.length+1;a.each(function(l){if(l.length>=this.cols){b+=Math.floor(l.length/this.cols)}});if(b>this.rows){this.rows=b}}};kapp.encode=function(s){var r=s;r=r.strip();r=r.replace(/_/g,'__');r=r.replace(/\s+/g,'_');r=encodeURIComponent(r);r=r.replace(/\//g,'%2F');return r};kapp.clearValue=function(){this.value='';Event.stopObserving(this,'click',this.clearCallback);Event.stopObserving(this,'keydown',this.clearCallback)};kapp.namespace('kapp.woot');kapp.woot.selectWootDeal=function(e){panel_class=this.getAttribute('k_panel');$$('.wthumbnails li').each(function(e_li){e_li.removeClassName('active')});this.addClassName('active');$$('.wresults li.active').each(function(e_li){old_id=e_li.getAttribute('id')});old_id=document.getElementById(old_id);new_id=document.getElementById('thumb_'+panel_class);new Effect.Fade(old_id,{duration:.5,queue:'front'});new Effect.Appear($(new_id),{duration:.5,queue:'end'});old_id.removeClassName('active');new_id.addClassName('active')};kapp.woot.setupEvents=function(){$$('.wthumbnails li').each(function(e_li){Event.observe(e_li,'click',kapp.woot.selectWootDeal.bindAsEventListener(e_li),true)})};Event.observe(window,'load',kapp.woot.setupEvents);kapp.initPerModuleFeedback=function(){function createFeedbackWidget(parent){var feedbackWidget=document.createElement('div');feedbackWidget.className='feedbackWidget';feedbackWidget.style.display='none';var feedbackBackground=document.createElement('div');feedbackBackground.className='feedbackBackground';feedbackWidget.appendChild(feedbackBackground);var relevantButton=document.createElement('a');var notRelevantButton=document.createElement('a');relevantButton.className='relevant';notRelevantButton.className='notRelevant';feedbackWidget.appendChild(relevantButton);feedbackWidget.appendChild(notRelevantButton);function observeHover(button,className){Event.observe(button,'mouseover',function(){if(!feedbackWidget.hasClassName('selected')){feedbackWidget.addClassName(className)}});Event.observe(button,'mouseout',function(){if(!feedbackWidget.hasClassName('selected')){feedbackWidget.removeClassName(className)}})}observeHover(relevantButton,'relevant');observeHover(notRelevantButton,'notRelevant');function observeClick(button,classNameOn,classNameOff){Event.observe(button,'click',function(){feedbackWidget.removeClassName(classNameOff);if(feedbackWidget.hasClassName(classNameOn)){if(feedbackWidget.hasClassName('selected')){feedbackWidget.removeClassName(classNameOn)}feedbackWidget.toggleClassName('selected')}else{feedbackWidget.addClassName(classNameOn);feedbackWidget.addClassName('selected')}var feedbackValue=0;if(feedbackWidget.hasClassName('selected')){feedbackValue=feedbackWidget.hasClassName('relevant')?1:-1}kapp.log.put('feedback_'+parent.id,feedbackValue);if(feedbackWidget.hasClassName('selected')){feedbackBackground.addClassName('selected')}else{feedbackBackground.removeClassName('selected')}})}observeClick(relevantButton,'relevant','notRelevant');observeClick(notRelevantButton,'notRelevant','relevant');parent.appendChild(feedbackWidget);feedbackWidget=$(feedbackWidget);feedbackBackground=$(feedbackBackground);var version=parseFloat(navigator.appVersion.split('MSIE')[1]);if((version>=5.5)&&(version<7)&&(document.body.filters)){var img_url=feedbackBackground.getStyle('backgroundImage');img_url=img_url.substring(img_url.indexOf('"')+1,img_url.lastIndexOf('"'));var filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+img_url+"')";feedbackBackground.style.filter=filter;feedbackBackground.style.backgroundImage="none"}function wrapMouseObserver(element,type,observer){if(!Prototype.Browser.IE){Event.observe(element,type,function(event){var currentTarget=$(event.currentTarget);var relatedTarget=$(event.relatedTarget);if(relatedTarget==currentTarget)return;if(relatedTarget&&relatedTarget.childOf(currentTarget))return;observer(event)})}else{type=(type=='mouseover')?'mouseenter':'mouseleave';Event.observe(element,type,observer)}};wrapMouseObserver(parent,'mouseover',function(){feedbackWidget.show()});wrapMouseObserver(parent,'mouseout',function(){if(!feedbackWidget.hasClassName('selected')){feedbackWidget.hide()}})}var version=parseFloat(navigator.appVersion.split('MSIE')[1]);if(!Prototype.Browser.IE||version<8){$$('div.show_feedback_widget').each(createFeedbackWidget)}};kapp.pageCallbacks.push('kapp.initPerModuleFeedback');kapp.namespace("kapp.tabs");kapp.tabs.hovato_delay=500;kapp.tabs.hovato_enabled=true;kapp.tabs.switchTo=function(ev){if(ev)kapp.tabs.stopRotato.bind(this).call();nthis=$(this.getAttribute('k_module'));nthis.tab=this;var bd=nthis.up('.bd');kapp.log.click(ev,kapp.log.user_props.browser.indexOf('IE')!=0);if(!bd.current){this.siblings().each(function(s){if(s.hasClassName('active')){bd.current=$(s.getAttribute('k_module'));bd.current.tab=s}})};if(bd.current==nthis)return false;kapp.tabs.switcher(bd,nthis)};kapp.tabs.switcher=function(bd,to){var tmp_height=bd.getDimensions().height;if(tmp_height<20)tmp_height=to.getDimensions().height;bd.style.height=tmp_height+'px';bd.style.overflow='hidden';bd.style.clear='both';bd.style.position='relative';bd.current.style.position='absolute';to.style.position='absolute';bd.current.style.top='0';to.style.top='0';new Effect.Fade(bd.current,{duration:.5,queue:'t_switch'});new Effect.Morph(bd,{style:'height:'+to.getDimensions().height+'px',duration:.5,afterFinish:function(){this.style.overflow='visible'}.bind(bd),queue:'t_switch'});if(Prototype.Browser.IE&&to.down('table')){to.show();to.style.position='relative'}else{new Effect.Appear(to,{duration:.5,queue:'t_switch',afterFinish:function(){this.style.position='relative'}.bind(to)})}if(to.tab.refreshAds){kapp.ads.refreshAds()}bd.current.tab.removeClassName('active');to.tab.addClassName('active');bd.current=to};kapp.tabs.startRotato=function(){var first=this.select('li')[0];var bd=this.up('.mcontent').down('.bd');bd.rotato_start=first;bd.rotato_timer=4000;bd.rotato=setTimeout(kapp.tabs.next.bind(first),bd.rotato_timer)};kapp.tabs.stopRotato=function(){var bd=this.up('.mcontent').down('.bd');clearTimeout(bd.rotato)};kapp.tabs.next=function(){var bd=this.up('.mcontent').down('.bd');var nexty=this.next('li');if(!nexty)nexty=bd.rotato_start;kapp.tabs.switchTo.bind(nexty).call();bd.rotato=setTimeout(kapp.tabs.next.bind(nexty),bd.rotato_timer)};kapp.tabs.Hovatover=function(){if(kapp.tabs.hovato_enabled)this.hv=setTimeout(kapp.tabs.switchTo.bind(this),kapp.tabs.hovato_delay)};kapp.tabs.Hovatout=function(){if(this.hv)clearTimeout(this.hv)};$$("ul.tabs").each(function(u){u.select('li').each(function(s){if(s.hasClassName('active')){var bd=s.up('.mcontent').down('.bd');bd.current=$(s.getAttribute('k_module'));if(!bd.current){var sn=s.next();sn.addClassName('active');s.remove()}else{bd.current.style.display='block'}};if(s.getAttribute('k_module')&&$(s.getAttribute('k_module')))$(s.getAttribute('k_module')).tab=s;s.refreshAds=s.hasClassName('refreshAds');Event.observe(s,"click",kapp.tabs.switchTo.bind(s))});if(u.hasClassName('rotato')){Event.observe(window,'load',kapp.tabs.startRotato.bind(u))};if(u.hasClassName('hovato')){u.select('li').each(function(s){if(s.getAttribute('k_module')&&$(s.getAttribute('k_module')))$(s.getAttribute('k_module')).tab=s;Event.observe(s,"mouseover",kapp.tabs.Hovatover.bind(s));Event.observe(s,"mouseout",kapp.tabs.Hovatout.bind(s))})}});kapp.namespace('kapp.accordian');kapp.accordian.change=function(ev){Event.stop(ev);if(this!=this.pb.current){new Effect.Parallel([new Effect.BlindUp(this.pb.current.module),new Effect.BlindDown(this.module)]);this.pb.current.removeClassName('on');this.pb.current=this;this.pb.current.addClassName('on');if(Prototype.Browser.IE){kapp.log.click(ev,false)}}};$$('.pageblock.accordian').each(function(p){p.getElementsBySelector('.module .hd').each(function(h){if(!p.current){p.current=h;h.addClassName('on')}h.pb=p;h.addClassName('log_ajaxclick');h.select('a').each(function(a){a.addClassName('log_ajaxclick')});md=h.up('.module');m=new Element('div',{'style':'padding:0;margin:0;overflow:hidden;'});if(!h.hasClassName('on'))m.setStyle({display:'none'});p.down('.bd').insertBefore(m,md);m.appendChild(md);md.setStyle({display:'block'});h.module=m;br=new Element('div',{'class':'clr'}).update('&nbsp;');if(!Prototype.Browser.IE){p.down('.bd').insertBefore(br,m.nextSibling)}p.down('.bd').insertBefore(h,m);Event.observe(h,'click',kapp.accordian.change.bind(h))})});$$('ul.accordian').each(function(list){isrecipes=list.up('div.m_recipes');if(isrecipes){list.select('li.item').each(function(item){if(!list.current){list.current=item;item.addClassName('on')}item.pb=list;item.module=item.down('div.content');item.header=item.down('div.header');item.header.down('a').removeAttribute('href');Event.observe(item.header,'click',kapp.accordian.change.bind(item))})}else{list.select('li').each(function(item){if(!list.current){list.current=item;item.addClassName('on')}item.pb=list;item.module=item.down('div.content');item.header=item.down('div.header');item.header.down('a').removeAttribute('href');Event.observe(item.header,'click',kapp.accordian.change.bind(item))})}});kapp.namespace('kapp.nav');kapp.nav.timeout=50;kapp.nav.itemOver=function(){if(this.hidetimer)clearTimeout(this.hidetimer);this.timer=setTimeout(kapp.nav.pop.bind(this),kapp.nav.timeout)};kapp.nav.itemOut=function(){if(this.clicked)return false;if(this.timer)clearTimeout(this.timer);if(this.popped)this.hidetimer=setTimeout(kapp.nav.unpop.bind(this),kapp.nav.timeout)};kapp.nav.pop=function(){if(kapp.nav.current){func=kapp.nav.unpop.bind(kapp.nav.current);func()}if(this.effect)this.effect.cancel();this.addClassName('on');this.effect=new Effect.Appear(this.menu,{duration:0.2});this.popped=true;kapp.nav.current=this};kapp.nav.unpop=function(){if(this.effect)this.effect.cancel();kapp.nav.current=false;this.removeClassName('on');this.effect=new Effect.Fade(this.menu,{duration:0.2});this.popped=false};kapp.nav.click=function(){if(this.popped&&!this.effect){this.clicked=false;func=kapp.nav.unpop.bind(this)}else{this.clicked=true;func=kapp.nav.pop.bind(this)}func()};$$('ul.topicnav > li').each(function(s){if(!s.hasClassName('nopop')){s.popped=false;Event.observe(s,'mouseover',kapp.nav.itemOver.bind(s));Event.observe(s,'mouseout',kapp.nav.itemOut.bind(s));o=s.down('span.open');var clickable=!s.hasClassName("noclick");if(o&&clickable){Event.observe(o,'click',kapp.nav.click.bind(s))}s.menu=s.down('.menu');s.menu.down('.divider .middle').setStyle({width:s.getDimensions().width+'px'});if(s.getDimensions().width>180){s.menu.removeClassName('down');s.menu.addClassName('up')}}});$$('ul.topicnav .allcats').each(function(a){var s=a.up('li');var clickable=!a.hasClassName("noclick");if(s&&clickable){Event.observe(a,'click',kapp.nav.click.bind(s))}});kapp.namespace("kapp.image");kapp.addImageEvents=function(){$$('ul.images li.popup_thumb img.thumb').each(function(i){Event.observe(i,'mouseover',kapp.showImagePopup.bindAsEventListener(i));Event.observe(i,'mouseout',kapp.showImagePopup.bindAsEventListener(i))});$$('ul.images li.popup_text img.custom').each(function(i){Event.observe(i,'mouseover',kapp.showTextPopup.bindAsEventListener(i));Event.observe(i,'mouseout',kapp.showTextPopup.bindAsEventListener(i))});$$('ul.largeimages a.image').each(function(i){Event.observe(i,'click',kapp.image.replaceFeaturedImage.bindAsEventListener(i))});$$('ul.teamimages li.nopopup_thumb').each(function(i){Event.observe(i,'click',kapp.image.replaceCorpImage.bindAsEventListener(i))});document.numPops={}};kapp.image.removeActiveStyle=function(e){Selector.findChildElements(this.parentNode,['.on']).each(function(i){new Effect.Morph(i,{style:'off',duration:5,delay:1.5})})};kapp.image.replaceCorpImage=function(ev){var listID=this.parentNode.getAttribute('id');listPosition=listID.indexOf("_list");baseID=listID.substring(0,listPosition);Selector.findChildElements(this.parentNode,['.nopopup_thumb']).each(function(i){i.removeClassName('on')});this.addClassName('on');this.addClassName('on');var divID=baseID+'_image';var div=document.getElementById(divID);var container=document.getElementById(baseID+'_container');var newDiv=kapp.image.createCorpImage(divID,this.getAttribute('k_largesrc'),this.getAttribute('k_name'),this.getAttribute('k_title'),this.getAttribute('k_desc'));container.update(newDiv);Effect.Appear(newDiv,{duration:0.15})};kapp.image.createCorpImage=function(divID,imageSrc,name,title,desc){var html='<img src="'+imageSrc+'" alt="'+name+'" />'+'<div class="meta">'+'<h4>'+name+'</h4>'+(title?'<p class="footnote">'+title+'</p>':'')+(desc?'<p>'+desc+'</p>':'')+'</div>';var newDiv=new Element('div',{'id':divID,'class':'largeimage',style:'display:none;'}).update(html);return newDiv};kapp.image.replaceFeaturedImage=function(ev){Event.stop(ev);var listItem=this.parentNode.parentNode;var listID=listItem.parentNode.getAttribute('id');listPosition=listID.indexOf("_list");baseID=listID.substring(0,listPosition);Selector.findChildElements(listItem.parentNode,['.nopopup_thumb']).each(function(i){i.removeClassName('on')});this.addClassName('on');listItem.addClassName('on');var divID=baseID+'_image';var div=document.getElementById(divID);var container=document.getElementById(baseID+'_container');var newDiv=kapp.image.createFeaturedImage(divID,listItem.getAttribute('k_largeurl'),listItem.getAttribute('k_largesrc'),listItem.getAttribute('k_largetitle'),listItem.getAttribute('k_largeowner'),listItem.getAttribute('k_largeownerurl'),listItem.getAttribute('k_largetags'),listItem.getAttribute('k_largedate'));container.update(newDiv);Effect.Appear(newDiv,{duration:0.15})};kapp.image.createFeaturedImage=function(divID,imageURL,imageSrc,imageTitle,imageOwner,imageOwnerURL,imageTags,imageDate){var html='<a href="'+imageURL+'"><img src="'+imageSrc+'" alt="'+imageTitle+'" /></a>'+'<div class="meta">'+'<a class="title" href="'+imageURL+'">'+imageTitle+'</a><br/>'+(imageOwner?'<p>by <a href="'+imageOwnerURL+'" rel="nofollow" title="'+imageOwner+'">'+imageOwner+'</a></p>':'')+(imageTags?'<p>'+imageTags+'</p>':'')+(imageDate?'<p>'+imageDate+'</p>':'')+'</div>';var newDiv=new Element('div',{'id':divID,'class':'largeimage',style:'display:none;'}).update(html);return newDiv};kapp.pageCallbacks.push({'functionName':'kapp.addImageEvents'});kapp.addPopup=function(listItem,image){var imageLoaded=typeof(image)!='string';var imgsrc=imageLoaded?image.src.split('/'):'';var popAbove=kapp.upOrDown(listItem)=="above";var html='<div class="topbottom">'+'<div class="corner topleft"></div>'+'<div class="corner topright"></div>'+'<div class="top"></div>'+'</div>'+(!popAbove?'<div class="arrow toparrow"></div>':'')+'<div class="container">'+'<div class="leftside"></div>'+'<div class="rightside"></div>'+'<div class="content">'+(!imageLoaded?'<div class="loading">':'')+'<img src="'+(imageLoaded?image.src:'/images/loading.gif')+'" class="main" alt="'+(imageLoaded?image.src:image)+'"/>'+(!imageLoaded?'</div>':'')+'</div>'+'</div>'+'<div class="topbottom">'+'<div class="corner bottomleft"></div>'+'<div class="corner bottomright"></div>'+'<div class="bottom"></div>'+'</div>'+(popAbove?'<div class="arrow"></div>':'');var offset=listItem.cumulativeOffset();var popup='';var toppos='';var leftpos='';if(imageLoaded){if(Prototype.Browser.IE){leftpos=offset["left"]-((image.width-50)/2+11);toppos=popAbove?offset["top"]-(image.height+25):offset["top"]-120}else{leftpos=offset["left"]-((image.width-50)/2+11);toppos=popAbove?offset["top"]-(image.height+32):offset["top"]+56}var width=image.width+22;popup=new Element('div',{'class':'popup',style:'z-index:99;visibility:hidden;left:'+leftpos+'px;top:'+toppos+'px;'+'width:'+width+'px;'}).update(html)}else{var width=100;if(Prototype.Browser.IE){popup=new Element('div',{'class':'popup',style:'z-index:99;visibility:hidden;left:'+(offset["left"]-12)+'px;top:'+(popAbove?offset["top"]-92:offset["top"]+50)+'px;width:100px;'}).update(html)}else{popup=new Element('div',{'class':'popup',style:'z-index:99visibility:hidden;left:'+(offset["left"]-12)+'px;top:'+(popAbove?offset["top"]-92:offset["top"]+50)+'px;width:100px;'}).update(html)}}document.body.appendChild(popup);listItem.popup=popup;if(!imageLoaded){var loadImage=new Image();Event.observe(loadImage,'load',kapp.loadComplete.bindAsEventListener(loadImage,popup,offset,popAbove,listItem));loadImage.src=listItem.getAttribute('k_imagesrc')}popup.setStyle({visibility:'visible'});popup.direction=popAbove;return popup};kapp.loadComplete=function(event,popup,offset,popAbove,listItem){var imageElem=$(popup).down('img.main');var width=this.width;var height=this.height;var maxdim=listItem.getAttribute('k_maxdim');if(maxdim){var dims=maxdim.split(',');var newdims=kapp.util.bound_dims(this,{"width":dims[0],"height":dims[1]});console.log.apply(console,[this.width,this.height,dims,newdims]);width=parseInt(newdims["width"],10);height=parseInt(newdims["height"],10);imageElem.setAttribute('width',width)}if(Prototype.Browser.IE){var leftPos=(offset["left"]-((width-50)/2+11))+'px';var topPos=(popAbove?offset["top"]-height-30:offset["top"]+56)+'px'}else{var leftPos=(offset["left"]-((width-50)/2+11))+'px';var topPos=(popAbove?offset["top"]-height-27:offset["top"]+56)+'px'}imageElem.hide();imageElem.src=this.src;new Effect.Parallel([new Effect.Morph(popup,{style:{width:width+22+'px',left:leftPos,top:topPos}}),new Effect.Morph($(popup).down('div.loading'),{style:{width:width+'px',height:height+'px'}}),new Effect.Appear(imageElem)],{duration:0.5})};kapp.showImagePopup=function(event){var parent=$(this).up('li.popup_thumb',0);upDown=kapp.upOrDown(this)=='above';if(!parent.popup||!parent.popup.direction==upDown){if(parent.popup){parent.popup.remove()}var imageSrc=parent.getAttribute('k_imagesrc');if(imageSrc===null||imageSrc.blank()||this.src==imageSrc){parent.popup=kapp.addPopup(parent,this)}else{parent.popup=kapp.addPopup(parent,imageSrc)}}if(event.type=="mouseover"&&parent.style.zIndex!='1'){parent.style.zIndex='1';parent.popup.show();if(document.numPops[parent.up('.module').id]){document.numPops[parent.up('.module').id]++}else{document.numPops[parent.up('.module').id]=1}if(kapp.log.imp)kapp.log.put('img_pop_'+parent.up('.module').id,document.numPops[parent.up('.module').id])}else if(event.type=="mouseout"){parent.style.zIndex='0';parent.popup.hide()}};kapp.showTextPopup=function(event){var parent=$(this).up('li.popup_text',0);var divborder=parent.down('div.img');upDown=kapp.upOrDown(this)=='above';if(!parent.popup||!parent.popup.direction==upDown){if(parent.popup){parent.popup.remove()}parent.popup=kapp.addTextup(parent,this)}if(event.type=="mouseover"&&parent.style.zIndex!='1'){divborder.addClassName('on');parent.style.zIndex='1';parent.popup.show();if(document.numPops[parent.up('.module').id]){document.numPops[parent.up('.module').id]++}else{document.numPops[parent.up('.module').id]=1}}else if(event.type=="mouseout"){divborder.removeClassName('on');parent.style.zIndex='0';parent.popup.hide()}};kapp.addTextup=function(listItem,image){var title=listItem.getAttribute('k_title');var size=listItem.getAttribute('k_size');var site=listItem.getAttribute('k_site');var owner=listItem.getAttribute('k_owner');var html='<div class="top">&nbsp;</div>'+'<div class="container"><div class="content">'+'<p style="font-weight:bold">'+title+'</p>';if(owner!=''){html+='<p class="footnote">From: <span class="url">'+owner+'</span></p>'}html+='<p class="url">'+site+'</p>'+'</div></div>'+'<div class="bottom">&nbsp;</div>';var offset=listItem.cumulativeOffset();var popup='';var toppos='';var leftpos='';if(Prototype.Browser.IE){leftpos=offset["left"]-50;toppos=offset["top"]+image.getHeight()+10}else{leftpos=offset["left"]-50;toppos=offset["top"]+image.getHeight()+10}var width=230;popup=new Element('div',{'class':'textup',style:'z-index:99;visibility:hidden;left:'+leftpos+'px;top:'+toppos+'px;'+'width:'+width+'px;'}).update(html);document.body.appendChild(popup);listItem.popup=popup;var offsetTextup=listItem.popup.cumulativeOffset();bottombox=popup.cumulativeOffset()[1]+popup.getHeight();bottomScreen=document.viewport.getScrollOffsets()[1]+document.viewport.getHeight();Prototype.Browser.IE6=Prototype.Browser.IE&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))==6;if(kapp.image.bottomBelowViewport(popup)&&!Prototype.Browser.IE6){popup.style.top=(offset["top"]-popup.getHeight())-5+'px'}popup.setStyle({visibility:'visible'});return popup};kapp.image.bottomBelowViewport=function(el){var elBottomOffset=el.cumulativeOffset()[1]+el.getHeight()-10,vpBottomOffset=document.viewport.getScrollOffsets()[1]+document.viewport.getHeight();if(elBottomOffset>vpBottomOffset){return elBottomOffset-vpBottomOffset}return false};kapp.upOrDown=function(element){return(element.cumulativeOffset()[1]-document.viewport.getScrollOffsets()[1]>(document.viewport.getScrollOffsets()[1]+document.viewport.getDimensions().height)-(element.cumulativeOffset()[1]+element.getDimensions().height))?"above":"below"};kapp.namespace("kapp.favicon");kapp.addFaviconEvents=function(){$$('img.favicon[@k_hovertext]').each(function(i){if(i.getAttribute('k_hovertext')!=null){Event.observe(i,'mouseover',kapp.favicon.showFaviconTooltip.bindAsEventListener(i));Event.observe(i,'mouseout',kapp.favicon.showFaviconTooltip.bindAsEventListener(i));im=i.up('a.image');if(im)im.removeAttribute('title');i.removeAttribute('alt')}})};kapp.pageCallbacks.push({'functionName':'kapp.addFaviconEvents'});kapp.favicon.startTooltipTimer=function(){this.timeout=window.setTimeout(kapp.favicon.showFaviconTooltip,500,this)};kapp.favicon.showFaviconTooltip=function(event){if(!this.tooltip){var kosmostext=this.getAttribute('k_hovertext');var contenthtml='<div class="container"><div class="content">'+kosmostext+'</div></div><div class="rsideshadow"></div><div class="bsideshadow"></div><div class="brcornershadow"></div>';var content=new Element('div',{'id':this.up('div.module').id+'_favhover','class':'favicon_tooltip','style':'visibility:hidden;'}).update(contenthtml);this.tooltip=content;$('bd').appendChild(content);content.down('.rsideshadow').style.height=content.down('.content').getDimensions().height+'px';content.down('.brcornershadow').style.top=content.down('.content').getDimensions().height+'px'}this.tooltip.setStyle({left:(this.cumulativeOffset()[0]+this.getDimensions().width-1)+'px',top:(this.cumulativeOffset()[1]+this.getDimensions().height-1)+'px',display:'none',visibility:''});if(event.type=="mouseover"){if(this.curEffect){this.curEffect.cancel()}this.tooltip.style.zIndex='1';this.curEffect=new Effect.Appear(this.tooltip,{duration:.15})}else{if(this.curEffect){this.curEffect.cancel()}this.curEffect=new Effect.Fade(this.tooltip,{duration:.15})}};kapp.image.initFeatured=function(id){$$('.nopopup_thumb').each(function(i){if(i.getAttribute('k_large-url'))Event.observe(i,'click',kapp.image.swapFeatured.bind(i))})};kapp.image.swapFeatured=function(ev){mymodule=this.up('.module');if(mymodule){lic=mymodule.down('.largeimage_container');li=lic.down('.largeimage');html='<div class="meta"><a class="title" href="'+this.getAttribute('k_source-url')+'">'+this.getAttribute('k_title')+'</a>';if(this.getAttribute('k_owner'))html+=' <span class="footnote">by <a href="'+this.getAttribute('k_owner-url')+'" rel="nofollow" title="'+this.getAttribute('k_owner')+'">'+this.getAttribute('k_owner')+'</a></span>';html+='</div>';html+='<a href="'+this.getAttribute('k_source-url')+'"><img src="'+this.getAttribute('k_large-url')+'" alt="'+this.getAttribute('k_title')+'"/></a>';li.update(html);Selector.findChildElements(mymodule,['.nopopup_thumb']).each(function(i){i.removeClassName('on')});this.addClassName('on');Event.stop(ev)}};kapp.image.initFeatured();kapp.image.boundImage=function(img,bounds){var dims=kapp.util.bound_dims(img.getDimensions(),bounds);img.setAttribute('width',dims.width);img.setAttribute('height',dims.height)};kapp.image.getBounded=function(){$$('img[k_bound_image]').each(function(i){var bounds={width:i.getAttribute('k_bound_image').split(':')[0],height:i.getAttribute('k_bound_image').split(':')[1]};kapp.image.boundImage(i,bounds)})};Event.observe(window,'load',kapp.image.getBounded);kapp.namespace('kapp.video');kapp.video.defaultWidth='624';kapp.video.defaultHeight='450';kapp.video.dimBounds={'width':300,'height':300};kapp.video.handleVideoClick=function(ev){vid_container=this.up('div.module div.bd').down('.video_embed_container');kapp.video.v_obj=vid_container;if(this.up('.video')!=vid_container.currentThumb){vid_url=this.getAttribute('k_embed_id');vid_type=this.getAttribute('k_embed_type');vid_container.playerTitle=this.getAttribute('k_embed_title');vid_container.playerLink=this.getAttribute('href');vid_container.playerType=this.getAttribute('k_embed_type');$$('.videos .current').each(function(e_vid){e_vid.removeClassName('current')});vid_container.currentThumb=this.up('.video');vid_container.currentThumb.addClassName('current');vid_width=this.hasAttribute('k_embed_width')?this.getAttribute('k_embed_width'):kapp.video.defaultWidth;vid_height=this.hasAttribute('k_embed_height')?this.getAttribute('k_embed_height'):kapp.video.defaultHeight;if(this.up('div.module').hasClassName('col4')){vid_container.dimBounds={'width':624,'height':450}}else{vid_container.dimBounds=kapp.video.dimBounds}dims=kapp.util.bound_dims({'width':vid_width,'height':vid_height},vid_container.dimBounds);kapp.video.embed_by_type(vid_type,vid_url,vid_container,dims.width,dims.height,true)}Event.stop(ev)};kapp.video.videoAutoLoad=function(elem){vid_container=elem.up('div.module div.bd').down('.video_embed_container');kapp.video.v_obj=vid_container;vid_url=elem.getAttribute('k_embed_id');vid_type=elem.getAttribute('k_embed_type');vid_container.playerTitle=elem.getAttribute('k_embed_title');vid_container.playerLink=elem.getAttribute('href');vid_container.playerType=elem.getAttribute('k_embed_type');if(vid_container.currentThumb)vid_container.currentThumb.removeClassName('current');vid_container.currentThumb=elem;vid_container.currentThumb.addClassName('current');vid_width=elem.hasAttribute('k_embed_width')?elem.getAttribute('k_embed_width'):kapp.video.defaultWidth;vid_height=elem.hasAttribute('k_embed_height')?elem.getAttribute('k_embed_height'):kapp.video.defaultHeight;if(elem.up('div.module').hasClassName('col4')){vid_container.dimBounds={'width':624,'height':450}}else{vid_container.dimBounds=kapp.video.dimBounds}dims=kapp.util.bound_dims({'width':vid_width,'height':vid_height},vid_container.dimBounds);kapp.video.embed_by_type(vid_type,vid_url,vid_container,dims.width,dims.height,false)};kapp.video.embed_by_type=function(type,id,container,width,height,autoload){eval('container.v_obj = new kapp.video.'+type+'("'+id+'",'+width+','+height+');');eval('kapp.video.'+type+'_obj = container.v_obj;kapp.video.'+type+'_obj.container = container;');kapp.video.embedWhenReady(container,type,autoload)};kapp.video.embedWhenReady=function(elem,type,autoload){if(elem.v_obj&&elem.v_obj.ready){if(!elem)elem=document.body;kapp.video.embed(elem,elem.v_obj.embed_code(elem.v_obj.video_url,autoload))}else{window.setTimeout(kapp.video.embedWhenReady,100,elem)}};kapp.video.embed=function(elem,code){var viewMsg=(elem.playerType!='Generic'?'View this video at '+elem.playerType:'Go to the original page for the video')+'&nbsp;&raquo;';if(elem.playerType.match("YouTube")){elem.playerHeader='<div class="v_head"><h4><span>Playing:</span>&nbsp;'+elem.playerTitle.truncate(40)+'</h4><div class="video_close_btn floatright"> </div><br/><a href="'+elem.playerLink+'">'+viewMsg+'</a></div><div class="clr"></div>';code=elem.playerHeader+code}else{elem.playerHeader='<div class="v_head"><h4><span>Playing:</span>&nbsp;'+elem.playerTitle.truncate(40)+' &middot; <span class="footnote"><a href="'+elem.playerLink+'">'+viewMsg+'</a></span></h4><div class="video_close_btn">&nbsp;</div><div class="clr">&nbsp;</div></div>';code=elem.playerHeader+code}if(!elem.embedDiv){elem.embedDiv=new Element('div',{'id':'video_embed','class':'content','style':'padding-bottom:12px;'}).update(code);elem.appendChild(elem.embedDiv)}else{elem.embedDiv.update(code)}elem.embedContainer=elem;Event.observe(elem.embedDiv.down('.video_close_btn'),'click',kapp.video.hidePanel.bindAsEventListener(elem));kapp.video.showPanel(elem.embedContainer);if(elem.hasClassName("embed_loader")){new Effect.BlindUp(elem.down(".content"),{duration:.3})}};kapp.video.showPanel=function(elem){if(elem.getStyle('display')=='none')new Effect.BlindDown(elem,{duration:.3})};kapp.video.hidePanel=function(elem){if(this.embedContainer.style.display!='none')new Effect.BlindUp(this.embedContainer,{duration:.3});if(this.currentThumb)this.currentThumb.removeClassName('current');this.playerTitle='No video selected';this.currentThumb=null};kapp.video.setupEvents=function(){$$('.video_embedded').each(function(e_vid){e_vid.addClassName('log_ajaxclick');Event.observe(e_vid,'click',kapp.video.handleVideoClick.bindAsEventListener(e_vid),true)});$$('.embed_autoload').each(function(e_vid){kapp.video.videoAutoLoad(e_vid)})};Event.observe(window,'load',kapp.video.setupEvents);function jsonFlickrApi(rsp){if(rsp.sizes.size){rsp.sizes.size.each(function(sz){if(sz.media=='video'){kapp.video.Flickr_obj.video_url=sz.source;dims={'width':sz.width,'height':sz.height};dims=kapp.util.bound_dims(dims,kapp.video.Flickr_obj.container.dimBounds);kapp.video.Flickr_obj.video_width=dims.width;kapp.video.Flickr_obj.video_height=dims.height;kapp.video.Flickr_obj.ready=true;return true}})}return false};kapp.video.Generic=function(v_id,d_width,d_height){this.embed_code=function(v_id,autoload){if(!d_width)d_width=this.video_width;if(!d_height)d_height=this.video_height;autoplay='&autoplay=0';if(autoload){autoplay='&autoplay=1'}return'<object type="application/x-shockwave-flash" data="'+v_id+autoplay+'" width="'+d_width+'" height="'+d_height+'"><param name="movie" value="'+v_id+'" /><param name="FlashVars" value="playerMode=embedded" /><param name="wmode" value="transparent" /></object>'};this.video_width=d_width;this.video_height=d_height;this.video_url=v_id;this.ready=true};kapp.video.Flickr=function(v_id,d_width,d_height){this.get_url=function(video_id){var url='http://api.flickr.com/services/rest/?method=flickr.photos.getsizes&photo_id='+video_id+'&api_key=50176c9a2ed9b19dd0879eb295808b3c&format=json';kapp.JSONrequest(url)};this.embed_code=function(video_url,autoload){autoplay='flickr_noAutoPlay=true&';if(autoload){autoplay='flickr_noAutoPlay=false&'}return'<embed width="'+this.video_width+'" height="'+this.video_height+'" flashvars="flickr_notracking=true&flickr_h='+this.video_height+'&flickr_w='+this.video_width+'&flickr_no_logo=true&onsite=true&'+autoplay+'photo_id='+this.video_id+'&amp;flickr_doSmall=true" allowscriptaccess="always" allowfullscreen="true" quality="high" bgcolor="#000000" base="." name="stewart_swf2752911446" id="stewart_swf2752911446" style="visibility: visible;" src="http://flickr.com/apps/video/stewart.swf" type="application/x-shockwave-flash"/>'};this.video_id=v_id;this.video_width=d_width;this.video_height=d_height;this.ready=false;this.video_url='';this.get_url(this.video_id)};kapp.video.YouTube=function(v_id,d_width,d_height){this.embed_code=function(v_id,autoload){if(!d_width)d_width=this.video_width;if(!d_height)d_height=this.video_height;autoplay='&autoplay=0';if(autoload){autoplay='&autoplay=1'}return'<object class="youTube" type="application/x-shockwave-flash" data="'+v_id+autoplay+'" width="'+d_width+'" height="'+d_height+'"><param name="movie" value="'+v_id+'" /><param name="FlashVars" value="playerMode=embedded" /><param name="wmode" value="transparent" /></object>'};this.video_width=d_width;this.video_height=d_height;this.video_url=v_id;this.ready=true};kapp.video.HowCast=function(v_id,d_width,d_height){this.embed_code=function(v_id,autoload){autoplay='&autoplay=0';if(autoload){autoplay='&autoplay=1'}return'<object type="application/x-shockwave-flash" data="http://www.howcast.com/flash/howcast_player.swf?file='+v_id+'" width="'+d_width+'" height="'+d_height+'"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file='+v_id+'" /><param name="FlashVars" value="playerMode=embedded" /><param name="wmode" value="transparent" /></object>'};this.video_width=d_width;this.video_height=d_height;this.video_url=v_id;this.ready=true};kapp.video.Hulu=function(v_id,d_width,d_height){this.embed_code=function(v_id,autoload){if(!d_width)d_width=this.video_width;if(!d_height)d_height=this.video_height;return'<object type="application/x-shockwave-flash" width="'+d_width+'" height="'+d_height+'" data="'+v_id+'"><param name="movie" value="'+v_id+'" /><param name="wmode" value="transparent" /><param name="autoplay" value="true" /></object>'};this.video_width=d_width;this.video_height=d_height;this.video_url=v_id;this.ready=true};kapp.video.Metacafe=function(v_id,d_width,d_height){this.embed_code=function(v_id,autoload){if(!d_width)d_width=this.video_width;if(!d_height)d_height=this.video_height;autoplay='autoPlay=no';if(autoload){autoplay='autoPlay=yes'}return'<object type="application/x-shockwave-flash" width="'+d_width+'" height="'+d_height+'" data="'+v_id+'?playerVars='+autoplay+'"><param name="movie" value="'+v_id+'?playerVars=autoPlay=yes" /><param name="wmode" value="transparent" /></object>'};this.video_width=d_width;this.video_height=d_height;this.video_url=v_id;this.ready=true};kapp.video.Vimeo=function(v_id,d_width,d_height){this.embed_code=function(v_id,autoload){if(!d_width)d_width=this.video_width;if(!d_height)d_height=this.video_height;autoplay='&amp;autoplay=0';if(autoload){autoplay='&amp;autoplay=1'}return'<object width="'+d_width+'" height="'+d_height+'">	<param name="allowfullscreen" value="true" />	<param name="allowscriptaccess" value="always" />	<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id='+v_id+'&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1'+autoplay+'" />	<embed src="http://vimeo.com/moogaloop.swf?clip_id='+v_id+'&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1'+autoplay+'" type="application/x-shockwave-flash" allowfullscreen="true" quality="high" scalemode="showAll" allowscriptaccess="always" width="'+d_width+'" height="'+d_height+'"></embed></object>'};this.video_width=d_width;this.video_height=d_height;this.video_url=v_id;this.ready=true};kapp.video.VimeoRSS=function(v_id,d_width,d_height){this.embed_code=function(v_id,autoload){if(!d_width)d_width=this.video_width;if(!d_height)d_height=this.video_height;autoplay='&amp;autoplay=0';if(autoload){autoplay='&amp;autoplay=1'}return'<object width="'+d_width+'" height="'+d_height+'">	<param name="allowfullscreen" value="true" />	<param name="allowscriptaccess" value="always" />	<param name="movie" value="'+v_id+'&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1'+autoplay+'" />	<embed src="'+v_id+'&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1'+autoplay+'" type="application/x-shockwave-flash" allowfullscreen="true" quality="high" scalemode="showAll" allowscriptaccess="always" width="'+d_width+'" height="'+d_height+'"></embed></object>'};this.video_width=d_width;this.video_height=d_height;this.video_url=v_id;this.ready=true};kapp.namespace('kapp.carousel');kapp.carousel.addCarousels=function(){$$('div.bd div.carousel').each(function(i){var arrows=i.select('div.arrow');i.container=i.down('div.container');i.list=i.down('ul');i.listitems=i.list.select('li');i.itemsize=i.listitems[0].offsetWidth;i.windowsize=i.offsetWidth-50;i.numvisible=Math.floor(i.windowsize/i.itemsize);i.numsections=Math.floor((i.listitems.length*i.itemsize)/i.windowsize);i.numleftover=i.listitems.length%i.numvisible;i.leftoveroffset=Math.ceil(i.numleftover/i.numvisible*i.windowsize);i.sectionindex=1;i.leftarrow=arrows[0];i.rightarrow=arrows[1];i.container.style.width=i.windowsize+'px';i.list.style.width=i.listitems.length*i.itemsize+'px';var item_on=i.list.select('li.item_on');if(item_on[0]&&item_on[0].offsetLeft!=0){var windowindex=i.sectionindex=Math.ceil(item_on[0].offsetLeft/(i.windowsize-1));var offset=0;if(windowindex>i.numsections){offset=i.leftoveroffset;windowindex-=1}windowindex-=1;i.list.style.left=-1*Math.floor(windowindex)*i.windowsize-offset+'px'}i.leftarrow.observe('click',kapp.carousel.move.bindAsEventListener(i,1));i.leftarrow.observe('mouseover',kapp.carousel.activateArrow.bindAsEventListener(i,1));i.leftarrow.observe('mouseout',kapp.carousel.activateArrow.bindAsEventListener(i,1));i.rightarrow.observe('click',kapp.carousel.move.bindAsEventListener(i,-1));i.rightarrow.observe('mouseover',kapp.carousel.activateArrow.bindAsEventListener(i,-1));i.rightarrow.observe('mouseout',kapp.carousel.activateArrow.bindAsEventListener(i,-1));kapp.carousel.afterFinish.apply(i)})};kapp.carousel.activateArrow=function(ev){var isLeft=arguments[1]==1;var arrow=isLeft?this.leftarrow:this.rightarrow;if(arrow.isdisabled){return}if(ev.type=='mouseover'){arrow.style.backgroundPosition=isLeft?'-20px 0':'-60px 0'}else{arrow.style.backgroundPosition=isLeft?'0 0':'-40px 0'}};kapp.carousel.move=function(ev){if(this.isMoving){return}var direction=arguments[1];var isLeft=direction==1;if(isLeft&&this.leftarrow.isdisabled||!isLeft&&this.rightarrow.isdisabled){return}this.isMoving=true;var sectionindex=this.sectionindex-direction;var useLeftover=sectionindex>this.numsections||(sectionindex==this.numsections&&isLeft);var offset=(useLeftover?this.leftoveroffset:this.windowsize)*direction;var duration=(useLeftover?this.numleftover/this.numvisible:1);this.sectionindex+=-1*direction;var options={'x':offset,'afterFinish':kapp.carousel.afterFinish.bind(this),'duration':duration};new Effect.Move(this.list,options)};kapp.carousel.beforeStart=function(){};kapp.carousel.afterFinish=function(){if(this.hiddenArrow){this.hiddenArrow.removeClassName('arrowoff');this.hiddenArrow.isdisabled=false;this.hiddenArrow=null}if(this.sectionindex==1||this.sectionindex>this.numsections){this.hiddenArrow=this.sectionindex==1?this.leftarrow:this.rightarrow;this.hiddenArrow.style.backgroundPosition=this.sectionindex==1?'0 0':'-40px 0';this.hiddenArrow.addClassName('arrowoff');this.hiddenArrow.isdisabled=true}this.isMoving=false};Event.observe(window,'load',kapp.carousel.addCarousels);kapp.namespace("kapp.KJAX");kapp.KJAX.Request=function(url,params){this.ready=false;if(params['readyCallback'])this.readyCallback=params['readyCallback'];format=(params['format'])?params['format']:'xml';type=(params['method']=='post')?'post':'request';this.url=window.location.protocol+'//'+window.location.host+'/kjax/'+format+'/'+type+'/'+escape(url).replace(/\//g,'%2F');if(params['post_vars']&&typeof params['post_vars']=='array'){for(var param in params['post_vars']){this.url+='/'+escape(param)+':'+escape(params['post_vars'][param])}};this.successCallback=function(resp){if(resp.responseXML)this.xmldoc=resp.responseXML;if(resp.responseJSON)this.json=resp.responseJSON;if(resp.responseText&&!this.xmldoc&&!this.json)this.text=resp.responseText;document.currentModule2=this;this.ready=true;if(this.readyCallback)this.readyCallback()};this.params={method:'get',asynchronous:true,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:'',evalJSON:true,evalJS:true,onSuccess:this.successCallback.bind(this)};Object.extend(this.params,params||{});new Ajax.Request(this.url,this.params)};kapp.KJAX.Module=function(module,m_params,params){this.ready=false;this.module=module;if(params['readyCallback'])this.readyCallback=params['readyCallback'];format=(params['format'])?params['format']:'raw';this.url=window.location.protocol+'//'+window.location.host+'/kjax/'+format+'/module/'+escape(module);for(var param in m_params){this.url+='/'+escape(param)+':'+escape(m_params[param])};this.successCallback=function(resp){if(resp.responseXML)this.xmldoc=resp.responseXML;if(resp.responseJSON)this.json=resp.responseJSON;if(resp.responseText)this.text=resp.responseText;if(this.xmldoc&&this.xmldoc.getElementsByTagName('module')[0])this.params=loadParams(this.xmldoc.getElementsByTagName('module')[0]);document.currentModule=this;this.ready=true;if(this.readyCallback)this.readyCallback()};loadParams=function(node){params=[];$A(node.attributes).each(function(a){params[a.nodeName]=a.nodeValue});return params};this.params={method:'get',asynchronous:true,contentType:'application/x-www-form-urlencoded',encoding:'UTF-8',parameters:'',evalJSON:true,evalJS:true,onSuccess:this.successCallback.bind(this)};Object.extend(this.params,params||{});this.request=new Ajax.Request(this.url,this.params)};kapp.KJAX.runOnReady=function(elem,callback){if(elem.ready){callback()}else{window.setTimeout(kapp.KJAX.runOnReady,100,elem,callback.bind(this))}};kapp.namespace('kapp.vast');kapp.vast.submitVastListings=function(e){Event.stop(e);make=kapp.vast.hiddenInputValue('vast_make');model=kapp.vast.hiddenInputValue('vast_model');var location=kapp.vast.getLocationValue('location_vast');location=location.replace(/ /,'_');location=location.replace(/-/,'_');var url="http://www.vast.com/cars/used-for-sale-"+make+"."+model+"/location-"+location+"/vehicle_condition-All";window.location=url};kapp.vast.getLocationValue=function(e){var inputBox=document.getElementById(e);var val=inputBox.value;if(val==''){var val=kapp.vast.hiddenInputValue('default_location')}return val};kapp.vast.hiddenInputValue=function(e){var input=document.getElementById(e);return input.value};kapp.vast.setupEvents=function(){if($('vast_form')){Event.observe($('vast_form'),'submit',kapp.vast.submitVastListings,false)}};Event.observe(window,'load',kapp.vast.setupEvents);kapp.namespace('kapp.autos_explorer');kapp.autos_explorer.setupEvents=function(){if($('autos_explorer_form')){Event.observe($('autos_explorer_form'),'submit',kapp.autos_explorer.submitThisExploreForm,false)}if($('rrail_go_button')){kapp.autos_explorer.disableElement('rrail_go_button')}};Event.observe(window,'load',kapp.autos_explorer.setupEvents);kapp.autos_explorer.getModel=function(e,obj){var selectedMake=kapp.autos_explorer.getOptionValue(e);var modelArray=kapp.autos_explorer.models[selectedMake];kapp.autos_explorer.removeAllOptions(obj);kapp.autos_explorer.undisableElement(obj);kapp.autos_explorer.undisableElement('rrail_go_button');if(selectedMake!='0'){kapp.autos_explorer.createOptions(modelArray,obj,selectedMake)}else{kapp.autos_explorer.disableElement(obj)}};kapp.autos_explorer.submitExploreForm=function(e){var make=kapp.autos_explorer.getOptionValue('auto_make');var model=kapp.autos_explorer.getOptionValue('auto_model');var makeModel;(model=='0')?makeModel=make:makeModel=make+' '+model;makeModel=makeModel.replace(/ /,'_');makeModel=makeModel.replace(/-/,'_');var url="/topic/"+makeModel+"";if(make=='0'){url="Autos"}window.location=url};kapp.autos_explorer.submitThisExploreForm=function(e){Event.stop(e);kapp.autos_explorer.submitExploreForm(e)};kapp.autos_explorer.createOptions=function(models,id,selectedMake){var selectBox=document.getElementById(id);var option=document.createElement("option");option.text="Select "+selectedMake+" Model";option.value="0";selectBox.options.add(option);for(var i=0;i<models.length;i++){var option=document.createElement("option");option.text=models[i];option.value=models[i];selectBox.options.add(option)}};kapp.autos_explorer.removeAllOptions=function(e){var selectBox=document.getElementById(e);for(var i=selectBox.options.length;i>=0;i--){selectBox.remove(i)}};kapp.autos_explorer.undisableElement=function(e){var elem=document.getElementById(e);elem.disabled=false};kapp.autos_explorer.disableElement=function(e){var elem=document.getElementById(e);elem.disabled=true};kapp.autos_explorer.getOptionValue=function(e){var selectBox=document.getElementById(e);var val=selectBox.options[selectBox.selectedIndex].value;if(val==''){var val=selectBox.options[selectBox.selectedIndex].text}return val};kapp.autos_explorer.models={'Select Make':[],'Acura':['NSX','TL','RL','Integra','TSX','RSX','CL','MDX','SLX','RDX'],'AM General':['Hummer'],'Audi':['S6','A4','A6','A8 L','A8','Allroad','S8','S4','RS 4','S5','Cabriolet','TT','RS6','A3','R8','Q7','A5'],'Bentley':['Continental Flying Spur','Continental GT','Arnage','Azure','Continental'],'BMW':['Z4-Series','X3-Series','X5-Series','5-Series','Z8-Series','7-Series','1-Series','3-Series','Z3-Series','6-Series','8-Series'],'Buick':['Rendezvous','Century','Terraza','LeSabre','Riviera','LaCrosse','Enclave','Lucerne','Park Avenue','Rainier','Regal','Skylark'],'Cadillac':['Concours','DTS','CTS','CTS-V','Escalade ESV','Eldorado','STS-V','Seville','XLR-V','Escalade','Escalade EXT','XLR','d\'Elegance','STS','DeVille DTS','DeVille','Catera','SRX','DeVille DHS'],'Chevrolet':['Venture Cargo Van','Silverado 2500 Crew Cab','Silverado 2500HD','Prizm','Silverado 2500','Tracker','Colorado','Silverado 1500','Express RV Cutaway','Astro Passenger','Express Passenger','Monte Carlo','Tahoe','G RV Cutaway','Impala','C/K 2500','Blazer','C 3500 HD','Silverado 3500','Aveo','Silverado 3500 Classic','Corvette','TrailBlazer','HHR','SSR','Express Commercial Cutaway','Silverado SS','C/K 2500 Crew Cab','Express Cargo Van','Forward Control Chassis','Avalanche','Malibu','Cavalier','C/K 1500 Work','P Forward Control Chassis','Astro Cargo Van','Silverado 1500HD','Suburban','Uplander Cargo Van','Uplander','Silverado 1500 Classic Hybrid','Malibu Maxx','S-10','Metro','C/K 3500','Silverado 3500HD','C/K 1500','Lumina','Venture','Silverado 1500HD Classic','Camaro','Silverado 1500 Crew Cab','C/K 3500 Crew Cab','G Commercial Cutaway','Cobalt','Silverado 1500 Classic','Equinox','Chevy Cargo Van','New Tahoe','Express Van','Silverado 1500 Hybrid','Tahoe Hybrid','Motor Home Chassis','P Motor Home Chassis','Silverado '],'Chrysler':['Crossfire','Concorde','PT Cruiser','Pacifica','Town & Country SWB','Sebring Conv','Cirrus','Sebring','Town & Country','Aspen','300M','Sebring Sdn','Prowler','Sebring Cpe','LHS','300-Series','Voyager','Town & Country LWB'],'Daewoo':['Leganza','Nubira','Lanos'],'Dodge':['Durango','Avenger','Dakota','Stratus','Grand Caravan C/V','Grand Caravan','Ram 5500','Ram 3500','Ram SRT-10','Ram 1500','Stratus Cpe','Ram 2500','Ram BR3500','Caravan C/V','Ram Wagon','Viper','Intrepid','Sprinter Wagon','Sprinter','Ram Van','Charger','Stratus Sdn','Neon','Caravan','Magnum','Ram BR2500','Ram 4500','Challenger','Ram BR2500 Chassis Cab','Caliber','Nitro'],'Eagle':['Vision','Talon'],'Ferrari':['599 GTB Fiorano','575M Maranello','612 Scaglietti','430','360','456M','ENZO'],'Ford':['Super Duty F-550 DRW','F-150','Super Duty F-450 DRW','Super Duty F-350 SRW','Super Duty F-250','Expedition','Mustang','Ranger','Expedition EL','Escape','GT','Explorer','F-800','Econoline Commercial Chassis','Contour','F-350 Crew Cab','Focus','Econoline Cargo Van','Super Duty E-550 Cutaway','Super Duty F-550','Escort','Explorer Sport Trac','Econoline Commercial Cutaway','Taurus','Excursion','F-350 Chassis Cab','Super Duty E-350 DRW','Econoline Wagon','Freestar Wagon','Five Hundred','F-150 Heritage','Super Duty F-350 DRW','Crown Victoria','Windstar Cargo Van','Explorer Sport','Aerostar Wagon','Windstar Wagon','Super Duty F-650','Freestar Cargo Van','F-250','Taurus X','Aspire','F-250 HD Crew Cab','Super Duty F-750','Super Duty E-550 DRW','F-250 Standard','Freestyle','Club Wagon','Super Duty F-450','F-350','Aerostar Cargo Van','Econoline RV Cutaway','F-150 Standard','Fusion','Thunderbird','Super Duty E-450 DRW','F-250 Work Series','F-150 Work Series','F-Super Duty Chassis Cab','Edge','F-250 HD','Probe','ZX2','F-1'],'Geo':['Prizm','Metro','Tracker'],'GMC':['Savana Cutaway','Sierra 3500','Yukon XL','Safari Passenger','Savana Passenger','Sierra Denali','Yukon XL Denali','Sierra 1500 Crew Cab','Suburban','Sierra 2500','Sierra 3500 Crew Cab','Yukon','Savana Camper Special','Savana Cargo Van','Yukon Denali','Sierra 1500HD','Sierra 2500HD Classic','Jimmy','G Savana Camper Special','Denali','New Sierra 2500','Classic Sierra 2500','Sierra 2500HD','Envoy','Sonoma','Envoy XL','Sierra 1500 Classic Hybrid','P Forward Control Chassis','Safari Cargo Van','G Savana Special','Sierra 3500HD','Sierra 2500 Crew Cab','School Bus Chassis','Yukon Hybrid','Sierra 3500 Classic','Canyon','Classic Sierra Crew Cab','Envoy XUV','Sierra 3500 HD','Savana Special','Sierra 1500','New Sierra 1500','Classic Sierra 3500','Sierra 1500 Special','Sierra 1500 Classic','Sierra 1500 Hybrid','P School Bus Chassis','Forward Control Chassis','Classic Sierra 3500 HD','Acadia','Sierra Classic 1500','Sierra Denali Classic','Sierra 1500HD Classic','Savana RV Cutaway'],'Honda':['S2000','Civic Sdn','Civic Si','Accord Hybrid','Accord Sdn','Passport','Fit','Insight','Accord Cpe','Odyssey','CR-V','Pilot','Prelude','Civic Hybrid','Element','Ridgeline','Civic','Civic Cpe','Civic del Sol','Accord Wgn'],'HUMMER':['H1','H2','H3'],'Hyundai':['Veracruz','Santa Fe','Tucson','Tiburon','XG300','Entourage','Accent','Sonata','XG350','Azera','Elantra'],'Infiniti':['FX35','G35 Sedan','QX56','M45','Q45','FX45','I35','G20','QX4','M35','G35 Coupe','G37 Coupe','I30','EX35','J30'],'Isuzu':['Rodeo Sport','Amigo','Ascender','Rodeo','Hombre','VehiCROSS','i-290','i-370','i-280','Trooper','Axiom','Oasis','i-350'],'Jaguar':['XJ','S-TYPE','XK','XK8','X-TYPE','XF'],'Jeep':['Grand Cherokee','Cherokee','Wrangler','Liberty','Patriot','Compass','Commander'],'Kia':['Optima','Rio','Sephia','Amanti','Sportage','Sedona','Spectra','Sorento','Rondo'],'Lamborghini':['Gallardo','Murcielago'],'Land Rover':['Discovery','Range Rover','LR3','LR2','Discovery Series II','Freelander','Defender 90','Range Rover Sport'],'Lexus':['SC 430','RX 330','LX 470','RX 300 Luxury SUV','LS 600h L','LS 430','GS 300 Luxury Perform Sdn','GS 300','GS 430','IS 350','GS 460','ES 300','SC 400 Luxury Sport Cpe','SC 400','ES 350','GX 470','LS 460','ES 330','GS 400','IS 300','RX 300','GS 350','GS 400 Luxury Perform Sdn','RX 350','SC 300 Luxury Sport Cpe','SC 300','IS 250','LS 400 Luxury Sdn','LS 400','RX 400h','GS 450h','LX 450 Luxury Wagon','LX 470 Luxury SUV','LX 470 Luxury Wagon','ES 300 Luxury Sport Sdn'],'Lincoln':['Town Car','Navigator','Navigator L','Aviator','LS','MKZ','Continental','Mark VIII','MKS','Blackwood','Zephyr','Mark LT','MKX'],'Lotus':['Esprit','Exige','Elise'],'Maserati':['Spyder','GranSport','Quattroporte','Coupe','GranTurismo'],'Maybach':['62','57','62S','57S'],'Mazda':['RX-8','B-Series 2WD Truck','Tribute SUV','MPV','MX6','Protege','B-Series 4WD Truck','Millenia','MAZDA6','Protege5','Tribute','626','CX-7','MAZDA3','MX-5 Miata','CX-9','MAZDA5','B-Series Truck'],'Mercedes Benz':['SLK Class','G Class','CL Class','CLK Class','M Class','S Class','GL Class','E Class','C Class','SL Class','R Class','SLR McLaren','CLS Class'],'Mercury':['Grand Marquis','Villager','Mountaineer','Sable','Marauder','Milan','Monterey','Cougar','Mariner','Tracer','Villager Wgn','Mystique','Montego'],'MINI':['Cooper Clubman','Cooper Hardtop','Cooper Convertible'],'Mitsubishi':['Galant','Outlander','Diamante','Eclipse','Montero Sport','Montero','Lancer','Endeavor','Mirage','Raider','3000GT'],'Nissan':['Murano','Quest','Sentra','Pathfinder Armada','Xterra','Maxima','Frontier','Frontier 2WD','350Z','Altima','Frontier 4WD','Versa','Titan','Trucks 2WD','Armada','Titan (2008.5)','Pathfinder','240SX','200SX','Trucks 4WD','Rogue'],'Oldsmobile':['Intrigue','Bravada','Cutlass','Silhouette','Aurora','Regency','Alero','LSS','88','Cutlass Supreme','Achieva'],'Panoz':['Esperante'],'Plymouth':['Breeze','Neon','Prowler','Voyager'],'Pontiac':['Aztek','G6','G8','Sunfire','Grand Prix','Bonneville','GTO','G5','Montana','Firebird','Grand Am','Torrent','Trans Sport','Vibe','Solstice','Montana SV6'],'Porsche':['Boxster','911 Carrera 4','Cayenne','911 Carrera','Cayman','Carrera GT'],'Rolls-Royce':['Park Ward','Phantom Drophead Coupe','Silver Seraph','Phantom','Corniche'],'Saab':['9-2X','9-3','9-5','9-7X','9000','900'],'Saturn':['SW','Aura','SC 2dr','LW','VUE','Sky','Ion','SC 3dr','Outlook','SW RHD','LS','SL','Astra','Relay','L-Series'],'Scion':['tC','xB','xD','xA'],'Smart':['fortwo'],'Subaru':['Impreza Sedan (Natl)','Forester (Natl)','Legacy Sedan (Natl)','Impreza Coupe','Legacy Sedan (NY/NJ)','Impreza Wagon (Natl)','Legacy Wagon','Legacy Sedan','Impreza Sedan','Baja (Natl)','Impreza Wagon (NY/NJ)','Forester','Legacy Wagon (Natl)','Impreza Wagon','Tribeca (Natl)','B9 Tribeca (Natl)','Legacy Outback (Natl)','Impreza Sedan (NY/NJ)','Legacy Wagon (NY/NJ)','SVX','Baja','Forester (NY/NJ)'],'Suzuki':['Reno','Grand Vitara','Esteem','Forenza','Aerio','XL7','Vitara','XL-7','Swift','Verona','Vitara V6','SX4','X-90','Sidekick'],'Toyota':['Tundra 4WD Truck','Sienna','Celica','MR2 Spyder','T100','Avalon','Tacoma','Tundra','Supra','Camry','Land Cruiser','Corolla','Prius','Sequoia','4Runner','Echo','Highlander','RAV4','Matrix','Tercel','Camry Solara','Highlander Hybrid','FJ Cruiser','Tundra 2WD Truck','Paseo','Yaris','Previa','Camry Hybrid'],'Volkswagen':['Passat Sedan','New Beetle','Rabbit','Passat','Passat Wagon','Cabrio','Golf','Touareg','Jetta','New Beetle Convertible','Jetta Sedan','New Jetta','New Beetle Coupe','EuroVan','GTI','Jetta Sedan A5','Jetta Wagon','New GTI','R32','Phaeton','New Passat','New Cabrio','Eos','New Golf','GLI'],'Volvo':['S40','V70','XC70','S60','C70','S80','XC90','V40','V50','960','S70','C30','V90','850','S90']};document.t_updater={};document.t_updater.comeback=function(){};kapp.twitter=function(q,module,count){this.query=q;this.interval=30000;this.container=module.down('.tweets');this.now=new Date();this.footer=module.down('.ft');this.loading=module.down('.loading');this.start=function(){var parm=this.last?'&since_id='+this.last:'';var b=new Element('script',{'k_type':'twitter','src':'http://search.twitter.com/search.json?q='+this.query+'&count=10&callback=document.t_updater.comeback'+parm,'type':'text/javascript'});document.body.appendChild(b)};this.comeback=function(r){if(!r.results||r.results[0]==null&&(!this.container.down('.item'))){module.style.display='none'}else if(this.loading){if(this.loading){this.loading.style.display='none'}if(this.footer){this.footer.style.display='block'}this.container.addClassName('min-height')}$$('script[k_type_twitter]').each(function(k){k.remove()});if(r.results&&r.results[0]){this.last=r.results[0].id;r.results.reverse().each(function(b){this.container=module.down('.tweets');this.featured=module.down('.featured');var timeSince=kapp.twitter.timeSinceEvents(b.created_at,this.now);this.tweet=this.featured?'<div class="image"><a href="http://twitter.com/'+b.from_user+'"  title="'+b.from_user+'"><img src="'+b.profile_image_url+'" width="48" height="48" alt="'+b.from_user+'"></a></div><div class="content"><p>'+kapp.twitter.parseString(b.text)+'</p><p class="footnote"><a href="http://twitter.com/'+b.from_user+'" title="'+b.from_user+'">'+b.from_user+'</a> - '+timeSince+'</p>':'<div class="image"><a href="http://twitter.com/'+b.from_user+'"  title="'+b.from_user+'"><img src="'+b.profile_image_url+'" width="24" height="24" alt="'+b.from_user+'"></a></div><div class="content"><p><a href="http://twitter.com/'+b.from_user+'" title="'+b.from_user+'">'+b.from_user+'</a>: '+kapp.twitter.parseString(b.text)+'</p><p class="footnote">'+timeSince+'</p>';li=new Element('li',{'class':'item','style':'display:none;'}).update(this.tweet);this.container.insert({'top':li});Effect.SlideDown(li,{duration:0.3,queue:'down'});if(this.container.select('.item').length>5){this.container.select('.item').last().remove()}})}else{}this.to=setTimeout(this.start.bind(this),this.interval)};this.stop=function(){clearTimeout(this.to)};this.start.bind(this).call()};kapp.twitter.setupEvents=function(){$$('.m_twitter').each(function(e_tweet){document.t_updater=new kapp.twitter(searchParams['q'],e_tweet,0)});$$('.m_twitter_anon').each(function(e_tweet){query=e_tweet.down('.tweet_query').value;console.debug(query);document.t_updater=new kapp.twitter(query,e_tweet,0)})};kapp.twitter.parseString=function(string){var newString=string.replace(/(http\:\/\/[a-z0-9\_\.\-\/\$\&\+\,\=\;\?]*)/gi,"<a href='$1'>$1</a>");newString=newString.replace(/\@([a-z0-9_]+)/gi,"<a href='http://twitter.com/$1'>@$1</a>");return newString};kapp.twitter.timeSinceEvents=function(pastEvent,currentTime){var now=new Date();now=Date.parse(now);var date=Date.parse(pastEvent);var GMT=0;var minutes=1000;var timesince=now-date;return(kapp.twitter.distance_of_time_in_words(timesince/minutes))};kapp.twitter.distance_of_time_in_words=function(time){var seconds=parseInt(time,10);var minutes=Math.round(seconds/60);var hours=Math.round(seconds/3600);switch(true){case(seconds<20):return(' less than 20 seconds ago');case(seconds<40):return(' half a minute ago');case(seconds<90):return(' 1 minute ago');case(minutes<50):return(minutes+' minutes ago');case(minutes<95):return('about 1 hour ago');case(minutes<1080):return(hours+' hours ago');case(minutes<1440):return('one day ago');case(minutes<2880):return('about one day ago');default:return(Math.round(hours/24)+' days ago')}};Prototype.Browser.IE6=Prototype.Browser.IE&&parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf("MSIE")+5))==6;if(!Prototype.Browser.IE6){Event.observe(document,'dom:loaded',kapp.twitter.setupEvents)}else{Event.observe(window,'load',kapp.twitter.setupEvents)}kapp.DictionarySearch=function(formElem,inputElem,submitElem){kapp.Search.apply(this,[formElem,inputElem,submitElem]);var defaultvalue=this.inputElem.getAttribute('k_defaultvalue');if(defaultvalue&&!defaultvalue.blank()){var thisObj=this;Event.observe(this.inputElem,'focus',function(){if(thisObj.inputElem.value==defaultvalue){thisObj.inputElem.value=''}});this.confirmCallback=function(ev){thisObj.confirmInput(ev);if(thisObj.inputElem.value.blank()){thisObj.inputElem.value=defaultvalue}}}};kapp.DictionarySearch.prototype=new kapp.Search();kapp.DictionarySearch.prototype.submit=function(){var query=this.inputElem.value;if(this.ignoreClick||this.submitElem.getAttribute('k_disabled')=='disabled'){this.ignoreClick=false;return false}var queryEncode=kapp.encode(query);if(!queryEncode){return false}action='http://www.righthealth.com/topic/'+queryEncode;this.inputElem.removeAttribute('name');this.submitElem.removeAttribute('name');this.formElem.action=action;this.formElem.submit()};kapp.setUpDefinitions=function(definitions){if(!definitions){return}var items=definitions.getElementsBySelector('li');items.each(function(d){var link=d.down('div.header a');d.callback=function(ev){var item_on=definitions.item_on;if(item_on!=undefined){item_on.down('div.content').hide();item_on.removeClassName('item_on');item_on.down('div.header a').observe('click',item_on.callback)}new Effect.BlindDown(d.down('div.content'),{duration:0.2,afterFinish:function(){link.stopObserving('click')}});d.addClassName('item_on');definitions.item_on=d};link.observe('click',d.callback.bindAsEventListener())})};kapp.namespace('k');kapp.k.init=false;kapp.namespace('kapp.jobs');kapp.jobs=function(mname,mode){var views=$$('#'+mname+' .view');views.map=$(mname).down('.map_tab');if(mode=='jobs_indeed'){var h=$$('head')[0];h.s=new Element('script',{'type':'text/javascript','src':'http://www.indeed.com/ads/apiresults.js'});h.appendChild(h.s)}$$('#'+mname+' .job_listing .header').each(function(s){s.obj={};s.obj.det=s.next('.job_details');s.obj.sign=s.down('.sign');Event.observe(s,'mouseover',function(e){this.style.cursor='pointer';this.style.backgroundColor='#eee'});Event.observe(s,'mouseout',function(e){this.style.cursor='auto';if(!this.hasClassName('selected')&&!this.hasClassName('expanded'))this.style.backgroundColor='#fff'});if(s.obj.det){Event.observe(s,'click',function(e){if(s.obj.det.style.display=='none'){s.obj.sign.className='sign up';this.addClassName('selected');Effect.BlindDown(s.obj.det,{duration:0.2})}else{s.obj.sign.className='sign down';this.removeClassName('selected');Effect.BlindUp(s.obj.det,{duration:0.2})}})}});views.view_options=$$('#'+mname+' .view_option');views.job_det=$$('#'+mname+' .job_details');views.show_more=$(mname).down('.show_more');views.footer_more=$(mname).down('.footer_more');views.opts=$(mname).down('.options');views.each(function(s){Event.observe(s,'click',function(e){views.view_options.each(function(s){s.style.display="none"});if(views.opts)s.up('.views').down('.options').style.display="block";views.each(function(s){s.removeClassName('selected')});this.addClassName('selected');views.child=this.readAttribute('child');s.up('.bd').down('.'+views.child).style.display="block";if(views.child=='map_view'){s.up('.views').down('.options').style.display="none";if(views.show_more)views.show_more.style.display='none';views.footer_more.style.display='inline';new Function('google_map_'+mname+'_load()').call()}else if(views.show_more){views.show_more.style.display='block';views.footer_more.style.display='none'}else{views.footer_more.style.display='inline'}})});if(views.opts){views.action=$(mname).down('.action');Event.observe(views.action,'mouseover',function(e){this.style.cursor='pointer';this.style.textDecoration='underline'});Event.observe(views.action,'mouseout',function(e){this.style.cursor='auto';this.style.textDecoration='none'});Event.observe($(mname).down('.action'),'click',function(e){if(this.innerHTML=="Expand All"){views.action.update('Hide All');views.job_det.each(function(s){s.head=s.previous('.header');if(s.style.display=="none")Effect.BlindDown(s,{duration:0.6});s.head.style.backgroundColor='#eee';s.head.addClassName('expanded');s.head.down('.sign').className="sign up"})}else{views.action.update('Expand All');views.job_det.each(function(s){s.head=s.previous('.header');if(s.style.display!="none")Effect.BlindUp(s,{duration:0.6});s.head.removeClassName('expanded');s.head.removeClassName('selected');s.head.style.backgroundColor='#fff';s.head.down('.sign').className="sign down"})}})}$$('#'+mname+' .job_listing.extended').each(function(s){Event.observe(s,'mouseover',function(e){this.addClassName('hover')});Event.observe(s,'mouseout',function(e){this.removeClassName('hover')});Event.observe(s,'click',function(e){window.location.href=this.readAttribute('outlink')})});if(views.show_more){Event.observe(views.show_more,'click',function(e){$(mname).down('.jobs_content').select('ul.view_option').each(function(ul){if(ul.style.display!='none')this.list=ul}.bind(this));Effect.Fade(this,{duration:0.2,queue:'front'});Effect.BlindDown(this.list.next('.second_results'),{duration:0.4,queue:'end'});Effect.Appear(this.next('.footer_more'),{duration:0.2,queue:'end'})})}};kapp.namespace('kapp.google_books');kapp.google_books=function(){$$('.m_books').each(function(node){var isbn=node.down('.preview_book').readAttribute('isbn');node.select('.books').each(function(s){if(s.readAttribute('isbn')==isbn&&isbn!=''){s.down('.loaded').style.display='block';s.addClassName('selected')}Event.observe(s,'click',function(e){isbn=s.readAttribute('isbn').split(',');changeDetails(s);if(isbn!=''){changeBook(isbn,node)}})})});function changeDetails(node){var book_det=$$('.m_books .book_details')[0];book_det.title=node.readAttribute('title');book_det.author=node.readAttribute('author');book_det.published=node.readAttribute('published');book_det.publisher=node.readAttribute('publisher');book_det.ih='<div class="title">';if(book_det.title!=''){book_det.ih+='<h3>'+book_det.title+'</h3>'}if(book_det.author!=''){book_det.ih+='By: <strong>'+book_det.author+'</strong>'}book_det.ih+='</div>';if(book_det.published!=''&&book_det.publisher!=''){book_det.ih+='<div class="isbn">'+book_det.published+' '+book_det.publisher+'</div>'}book_det.ih+='<br class="clr"/>';book_det.update(book_det.ih)};function changeBook(isbn,node){if(!isbn||isbn==""){return null}var h=$$('head')[0];h.t=node.down('.google_book');h.t.innerHTML='';changeSelection(node,isbn);loadBook(h.t.id,isbn)};function changeSelection(node,isbn){node.select('.books').each(function(s){var obj={};obj.isbn=s.readAttribute('isbn');if(obj.isbn==isbn&&isbn!=''){s.down('.loaded').style.display='block';s.addClassName('selected')}else if(isbn!=''){s.down('.loaded').style.display='none';s.removeClassName('selected')}})};function loadBook(target,isbn){google.load("books","0");var initialize=function(){var viewer=new google.books.DefaultViewer($(target));viewer.load(isbn)};google.setOnLoadCallback(initialize())}};kapp.namespace('kapp.image_popup');kapp.image_popup.init=function(){$$('.popup_image').each(function(img){if(img.up().readAttribute('popup_exception')!=img.down('img.custom').src){Event.observe(img,'mouseover',function(e){img.margin=5;img.maxW=300;img.maxH=300;img.pl=parseFloat(this.getStyle('paddingLeft').gsub(/px/,''));img.pr=parseFloat(this.getStyle('paddingRight').gsub(/px/,''));img.bl=parseFloat(this.getStyle('borderLeftWidth').gsub(/px/,''));img.br=parseFloat(this.getStyle('borderRightWidth').gsub(/px/,''));img.dim=this.getDimensions();img.w=img.dim.width+img.pl+img.pr+img.bl+img.br;img.offset=Element.cumulativeOffset(this);img.cont_top=img.offset[1]-img.dim.height-img.margin;if(img.w>img.dim.width||img.w==img.dim.width){img.cont_left=(img.offset[0]-((img.w-img.dim.width)/2))}else if(img.w<img.dim.width){img.cont_left=(img.offset[0]+((img.w-img.dim.width)/2))}img.obj=this.down('img');img.src=img.obj.readAttribute('popup_large')?img.obj.readAttribute('popup_large'):this.down('img.custom').src;img.exception=this.up(0).readAttribute('popup_exception');img.uid='listings_popup_'+Math.floor(Math.random()*10000001);img.cont_div=new Element('div',{'class':'listing_popup_img','style':'top:'+img.cont_top+'px;left:'+img.cont_left+'px;width:'+img.w+'px;height:'+img.dim.height+'px;'});img.cont_div.innerHTML="<img src=\""+img.src+"\" id=\""+img.uid+"\" style=\"display:none\" />";document.body.appendChild(img.cont_div);Event.observe(img.uid,'load',function(e){try{img.cont_div=this.up(".listing_popup_img");img.cont_dim=this.getDimensions();img.cont_div.style.display="none";img.cont_div.style.width=img.cont_dim.width+'px';img.cont_div.style.height=img.cont_dim.height+'px';if(navigator.userAgent.match(/MSIE\s6/i)){if(img.cont_dim.width>img.maxW){this.style.width=img.maxW+'px'}if(img.cont_dim.height>img.maxH){this.style.height=img.maxH+'px'}img.cont_div.style.top=img.cont_top+img.dim.height-img.cont_dim.height<0?img.cont_top+2*img.dim.height+2*img.margin+'px':img.cont_top+img.dim.height-img.cont_dim.height+'px';img.cont_div.l=img.cont_left+((img.dim.width-img.cont_dim.width)/2);img.cont_div.style.left=img.cont_div.l<=10?'10px':img.cont_div.l+'px'}else{img.cont_div.style.top=img.cont_top+img.dim.height-img.cont_dim.height<0?img.cont_top+2*img.dim.height+2*img.margin+'px':img.cont_top+img.dim.height-img.cont_dim.height+'px';img.cont_div.l=img.cont_div.l=img.cont_left+((img.dim.width-img.cont_dim.width)/2);img.cont_div.style.left=img.cont_div.l<=10?'10px':img.cont_div.l+'px'}this.style.display="block";Effect.Appear(img.cont_div,{duration:0.2})}catch(err){}});return true});Event.observe(img,'mouseout',function(e){$$('.listing_popup_img').each(function(t){t.parentNode.removeChild(t);return true})})}})}();kapp.namespace("kapp.neighborhoods");kapp.neighborhoods.init=function(module_params){var module=this;module.globals={'shim':module.down('.shim'),'search_box':module.down('.search_box'),'views':$$('#'+module_params.name+' .view'),'err':module.down('.error'),'tabs_loader':module.down('.tabs_loader')};module.opts={'neighborhood_local':{'proxy':'/proxy/google_ajax_api?q=#query#+#zip#','callback':google_api_callback,'more_results':true},'neighborhood_local_yelp':{'proxy':'/proxy/yelp_api?q=#query#&z=#zip#','callback':yelp_api_callback,'more_results':false}};module.globals.shim.setOpacity(0.3);loadEvents(module,module_params);function loadEvents(module,module_params){module.globals.views.each(function(view){view.q=view.readAttribute('k_query');view.z=view.readAttribute('k_zip');view.t=view.readAttribute('k_title').gsub(/\+/,' ');Event.observe(view,'click',function(e){window.resultStart=0;no_results('hide');proxy_api(view,'tabs')})});if(module.opts[module_params.mode].more_results){$("google_map_"+module_params.name+"_ul").appendChild(new Element("li",{"class":"more_results"}).update("<span class='next'>Next &raquo;</span>"));Event.observe($(module_params.name).down('.next'),'click',function(){window.resultStart=(window.resultStart+1)||1;proxy_api(module.select('.view.selected')[0],'moreresults')})}Event.observe(module.down('.search_pane'),'click',function(e){module.globals.shim.style.display="block";setTimeout(function(){module.select('.search_box')[0].focus()},10);loader(null,'search')});Event.observe(module.down('.close'),'click',function(e){module.globals.shim.style.display="none";close_search()});Event.observe(window,'unload',function(){module.globals.search_box.value=""});Event.observe(module.globals.search_box,'keypress',function(e){e.t=e.target.value;if(Event.KEY_RETURN==e.keyCode&&e.t!=''){submit_search(e.t,module_params.zip)}});Event.observe(module.down('.search_button'),'click',function(e){e.prev=this.previous('input').value;if(e.target==this&&e.prev!=''){submit_search(e.prev,module_params.zip)}})}function proxy_api(obj,loadType){obj.url=module.opts[module_params.mode].proxy;if(obj.url.match(/#zip#/i))obj.url=obj.url.replace('#zip#',obj.z);if(obj.url.match(/#query#/i))obj.url=obj.url.replace('#query#',obj.q);if(loadType=='search'){close_search();loader(obj.t,'tabs')}if(loadType=='tabs'){loader(obj.t,'tabs');module.globals.views.each(function(sibling_views){sibling_views.removeClassName('selected')});obj.addClassName('selected')}if(loadType=="moreresults"){obj.url+="&start="+(window.resultStart*8)}new Ajax.Request(obj.url,{method:'get',onSuccess:function(transport){transport.results=module.opts[module_params.mode].callback.apply(obj.t,[transport.responseJSON,loadType]);if(!transport.results){no_results('show')}},onFailure:function(){return false}})}function close_search(){Effect.Fade(module.down('.search_loader'),{duration:0.2});module.globals.search_box.value=""}function submit_search(val,zip){module.globals.shim.style.display="none";var obj={};obj.t=val;obj.q=obj.t;obj.z=zip;no_results('hide');proxy_api(obj,'search')}function no_results(choice){var obj={};obj.err=module.down(".error");obj.nr=module.down('.noResults');if(obj.err.style.display!="none"){error('hide')}choice=="show"?Effect.BlindDown(obj.nr,{duration:0.4}):Effect.BlindUp(obj.nr,{duration:0.4})}function error(choice){var obj={};obj.err=module.down(".error");obj.nr=module.down('.noResults');if(obj.nr.style.display!="none"){no_results('hide')}choice=="show"?Effect.BlindDown(obj.err,{duration:0.4}):Effect.BlindUp(obj.err,{duration:0.4})}function yelp_api_callback(obj,loadType){obj.ul_title=loadType=='tabs'?this:"Results";if(obj.length==0){Effect.Fade(module.globals.tabs_loader,{duration:0.8});return false}obj.build_html='<li class="header"><span>'+obj.ul_title+'</span></li>';obj.map=window['google_map_'+module_params.name];setTimeout(function(){mapLoaded.call(obj.map)},3000);obj.map.setZoom(1);obj.map.clearOverlays();obj.map.markers=[];obj.businesses.each(function(s,t){fields=$H({'thumbnail':s.photo_url_small||'','title':s.name||'','url':s.url||'','address':s.address1||'','city':s.city||'','zip':s.zip||'','state':s.state||'','phone':s.phone||'','reviews':s.review_count||'','rating_thumbnail':s.rating_img_url_small||'','rating_thumbnail_large':s.rating_img_url||''});fields.each(function(field){if(field[0]=='phone'&&field[1].match(/([0-9]{3})([0-9]{3})([0-9]{4})/)){fields['phone']=field[1].gsub(/([0-9]{3})([0-9]{3})([0-9]{4})/,'(#{1}) #{2}-#{3}')}else{fields[field[0]]=field[1]}});s.lat=parseFloat(s.latitude);s.lng=parseFloat(s.longitude);obj.map['latlng_'+t]=new google.maps.LatLng(s.lat,s.lng);obj.map['point_'+t]=new google.maps.Marker(obj.map['latlng_'+t],{draggable:true});s.markerAttr={'marker':obj.map['point_'+t],'lat':s.lat,'lng':s.lng};obj.map.markers.push(s.markerAttr);obj.map.addOverlay(obj.map['point_'+t]);obj.map['bubble_'+t]="<div class='gmap_infobubble yelp' style='margin:0 0 10px 0;width:225px;min-height:125px;'>";if(fields.thumbnail!=''){obj.map['bubble_'+t]+="<div class='thumbnail'><img src='"+fields.thumbnail+"'></div>";obj.map['bubble_'+t]+="<div class='iw_content yelp' style='margin-left:55px;'>"}else{obj.map['bubble_'+t]+="<div class='iw_content yelp'>"}obj.map['bubble_'+t]+="<div class='title'><a href='"+fields.url+"'>"+fields.title+"</a></div>";obj.map['bubble_'+t]+="<div class='address'>"+fields.address+"</div>";obj.map['bubble_'+t]+="<div class='citystate'>"+fields.city+", "+fields.state+" "+fields.zip+"</div>";obj.map['bubble_'+t]+="<div class='phone'>"+fields.phone+"</div>";obj.map['bubble_'+t]+="<div class='ratings'><img src='"+fields.rating_thumbnail_large+"'><p class='reviews'>"+fields.reviews+" reviews</p></div>";obj.map['bubble_'+t]+="<br class='clr' /></div></div>";google.maps.Event.addListener(obj.map['point_'+t],"click",function(){this.openInfoWindowHtml(obj.map['bubble_'+t])});obj.build_html+='<li id=\"google_map_'+module_params.name+'_link_'+t+'\" class="detailed"><span>'+fields.title.truncate(32)+'</span><p><img src="'+fields.rating_thumbnail+'"></p></li>'});obj.map.bounds=obj.map.getBounds();obj.map.sw=obj.map.bounds.getSouthWest();obj.map.ne=obj.map.bounds.getNorthEast();$('google_map_'+module_params.name+'_ul').update(obj.build_html);$$('#google_map_'+module_params.name+'_ul .detailed').each(function(li,t){google.maps.Event.bindDom(li,'click',obj.map.markers[t]['marker'],function(e){this.openInfoWindowHtml(obj.map['bubble_'+t])});obj.map.bounds.extend(obj.map.markers[t]['marker'].getPoint())});obj.map.setCenter(avgPts(obj));deExtend(obj,obj.map.getZoom(),avgPts(obj));return true}function google_api_callback(obj,loadType){try{obj=obj.responseData;obj.ul_title=loadType=='tabs'?this:"Results";if(obj.length==0){Effect.Fade(module.globals.tabs_loader,{duration:0.8});return false}obj.build_html='<li class="header"><span>'+obj.ul_title+'</span></li>';obj.map=window['google_map_'+module_params.name];setTimeout(function(){mapLoaded.call(obj.map)},3000);obj.map.setZoom(1);obj.map.clearOverlays();obj.map.markers=[];obj.results.each(function(s,t){fields=$H({'title':s.title||'','url':s.url||'','street':s.streetAddress||'','address':(function(){try{return s.addressLines}catch(err){return''}}.call()),'phone':(function(){try{return s.phoneNumbers[0].number.toString()}catch(err){return''}}.call())});fields.each(function(field){if(typeof field[1]=='undefined'){fields[field[0]]=''}else if(typeof field[1]!="string"){fields[field[0]]=field[1].join("<br/>").gsub(/<(\/|)(b|strong|em|i|u)>/i,'')}else{fields[field[0]]=field[1].gsub(/<(\/|)(b|strong|em|i|u)>/i,'')}});s.lat=parseFloat(s.lat);s.lng=parseFloat(s.lng);obj.map['latlng_'+t]=new google.maps.LatLng(s.lat,s.lng);obj.map['point_'+t]=new google.maps.Marker(obj.map['latlng_'+t],{draggable:true});s.markerAttr={'marker':obj.map['point_'+t],'lat':s.lat,'lng':s.lng};obj.map.markers.push(s.markerAttr);obj.map.addOverlay(obj.map['point_'+t]);obj.map['bubble_'+t]="<div class='gmap_infobubble' style='margin:0 0 10px 0;width:225px;min-height:125px;'>";obj.map['bubble_'+t]+="<div class='title'><a href='"+fields.url+"'>"+fields.title+"</a></div>";obj.map['bubble_'+t]+="<div class='address'>"+fields.address+"</div>";obj.map['bubble_'+t]+="<div class='phone'>"+fields.phone+"</div>";obj.map['bubble_'+t]+="<br class='clr' /></div>";google.maps.Event.addListener(obj.map['point_'+t],"click",function(){this.openInfoWindowHtml(obj.map['bubble_'+t])});obj.build_html+='<li id=\"google_map_'+module_params.name+'_link_'+t+'\" class="detailed"><span>'+fields.title.truncate(32)+'</span><p>'+fields.street+'</p></li>'});if(loadType!='search'&&module.opts[module_params.mode].more_results){obj.build_html+='<li class="more_results">';if(window.resultStart>0){obj.build_html+='<span class="prev">&laquo; Prev</span> '}if(window.resultStart<(obj.cursor.pages.length-1)){obj.build_html+='<span class="next">Next &raquo;</span>'}obj.build_html+='</li>'}obj.map.bounds=obj.map.getBounds();obj.map.sw=obj.map.bounds.getSouthWest();obj.map.ne=obj.map.bounds.getNorthEast();$('google_map_'+module_params.name+'_ul').update(obj.build_html);$$('#google_map_'+module_params.name+'_ul .detailed').each(function(li,t){google.maps.Event.bindDom(li,'click',obj.map.markers[t]['marker'],function(e){this.openInfoWindowHtml(obj.map['bubble_'+t])});obj.map.bounds.extend(obj.map.markers[t]['marker'].getPoint())});obj.map.setCenter(avgPts(obj));deExtend(obj,obj.map.getZoom(),avgPts(obj));if(loadType!='search'&&module.opts[module_params.mode].more_results){if($(module_params.name).down('.next'))Event.observe($(module_params.name).down('.next'),'click',function(){window.resultStart=(window.resultStart+1)||1;proxy_api(module.select('.view.selected')[0],'moreresults')});if($(module_params.name).down('.prev')){Event.observe($(module_params.name).down('.prev'),'click',function(){window.resultStart=window.resultStart-1;proxy_api(module.select('.view.selected')[0],'moreresults')})}}}catch(err){error('show')}return true}function mapLoaded(){this.isLoaded()?Effect.Fade(module.globals.tabs_loader,{duration:0.8}):mapLoaded.call(this)}function avgPts(obj){obj.sumLat=0;obj.sumLng=0;obj.map.markers.each(function(marker){obj.sumLat+=parseFloat(marker.lat);obj.sumLng+=parseFloat(marker.lng)});obj.avgLat=(obj.sumLat/obj.map.markers.length);obj.avgLng=(obj.sumLng/obj.map.markers.length);return new google.maps.LatLng(obj.avgLat,obj.avgLng)}function deExtend(obj,zoom,center){var map_bounds=true;obj.map.markers.each(function(marker){obj.map.bounds=obj.map.getBounds();if(!obj.map.bounds.containsLatLng(new google.maps.LatLng(marker.lat,marker.lng))||zoom==19)map_bounds=false});if(map_bounds){obj.map.panTo(obj.map.getCenter());obj.map.setZoom(obj.map.getZoom()+1);deExtend(obj,obj.map.getZoom(),center)}else{obj.map.panTo(obj.map.getCenter());obj.map.setZoom(obj.map.getZoom()-1)}}function loader(category,loadType){var obj={};obj.cont=module.down('.neighborhood_content');obj.cont.dim=obj.cont.getDimensions();obj.loader=module.select('.neighborhood_content .'+loadType+'_loader')[0];if(loadType=='tabs')obj.loader.down('span').innerHTML=category.truncate(20);obj.loader.dim=obj.loader.getDimensions();obj.loader.style.top=(obj.cont.dim.height/2)-(obj.loader.dim.height/2)+'px';obj.loader.style.left=(obj.cont.dim.width/2)-(obj.loader.dim.width/2)+'px';obj.loader.style.display="block"}};kapp.namespace('kapp.miniato');kapp.miniato.init=function(mod_name,mod){function InitSourceCall(mod){this.mod=mod;this.mod_name=mod_name;this.prep_canvas();this.count=0;this.call_source();kapp.miniato.start_timeout(mod_name,this.count)}InitSourceCall.prototype.prep_canvas=function(){var base=$(this.mod_name);base.div=document.createElement('div');base.div.className='miniato';base.div.innerHTML='<div class="secondary_sources"><div class="loader"><div class="icon"></div><br class="clr"/></div></div></div>';base.down('.mcontent').appendChild(base.div)};InitSourceCall.prototype.call_source=function(){var obj={};obj.keymap=['source','query','attribution_url'];obj.count=0;this.mod.each(function(source,count){var hsh={};hsh['destination']='source_'+(count+1);hsh['keymap']=source.km;hsh['count']=count;source.attr.split("|").each(function(attr,count){hsh[obj.keymap[count]]=attr});new AJAXSource(hsh);this.count=++count}.bind(this))};function AJAXSource(attr){if(typeof attr.source==undefined||attr.source=='')return false;this.attr=attr;this.attr.query=this.sanitize_query();this.m=function(){return{'proxyUrl':'/proxy/all?url=','baseUrl':window.location.protocol+'//'+window.location.host+'/api/','debugBaseUrl':'http://chimborazo.preview.sandbox.kosmix.com/api/','q':attr.query,'params':'?p=pm&mod='+attr.source,'destination':attr.destination,'attribution':attr.attribution,'results':2}}();this.get_source()}AJAXSource.prototype.sanitize_query=function(){return this.attr.query.replace(/(\%2f)+|(\s)+/gi,'_').replace(/\&/g,'%26').replace(/[\!\@\#\$\%\^\*\(\)\.\,\'\"\|\{\}\[\]\~\`]+/g,'')};AJAXSource.prototype.create_proxy_url=function(){return this.m.proxyUrl+escape(this.m.debugBaseUrl+this.m.q+this.m.params)};AJAXSource.prototype.create_ajax_url=function(){return this.m.baseUrl+this.m.q+this.m.params};AJAXSource.prototype.get_source=function(){var obj={};obj.url='';if(document.URL.match(/local\.kosmix\.com/i)||document.URL.match(/[0-9\.]+:[0-9]{4}/)){obj.url=this.create_proxy_url()}else obj.url=this.create_ajax_url();if(typeof obj.url==undefined||obj.url=='')return false;new Ajax.Request(obj.url,{method:'get',onSuccess:function(transport){this.callback=new SourceCB(transport,this.m,this.attr)}.bind(this),onFailure:function(){$(mod_name).down('secondary_sources').style.display='none'}.bind(this)})};function SourceCB(obj,m,attr){this.m=m;this.attr=attr;if(!obj||!obj.responseJSON)this.kill_sources();this.base=obj.responseJSON.body[0];this.attribution=this.base.attribution;this.results=this.base.results;this.mod=this.base.module_name;this.create_zone();if(typeof this[this.mod]=='function')this[this.mod].call(this);else this.results_renderer(this)}SourceCB.prototype.create_zone=function(){var base=$(mod_name);base.div=document.createElement('div');base.div.className="secondary "+this.attr.destination;base.div.style.display="none";$(mod_name).down('.secondary_sources').appendChild(base.div)};SourceCB.prototype.kill_sources=function(){var handle=$(mod_name);clearTimeout(window[mod_name]);Effect.BlindUp(handle.down('.secondary_sources'),{duration:'0.2'});Effect.BlindUp(handle.down('.loader'),{duration:'0.2'})};SourceCB.prototype.results_renderer=function(){var obj={};obj.r=this.results;obj.html=this.construct_attribution();obj.base=$(mod_name).down('.secondary.'+this.attr.destination);obj.r.each(function(result,count){var attr=this.keymap_result(result);if(count<this.m.results){obj.html+="<div class='result "+this.attr.source+"'>";if(attr.image)obj.html+="<div class='image'><img src='"+attr.image+"' /></div>";obj.html+=attr.image?"<div class='content' style='width:210px;'>":"<div class='content'>";if(attr.title&&attr.url)obj.html+="<p class='title'><a title='"+attr.title+"' href='"+attr.url+"'>"+attr.title+"</a></p>";if(attr.list_price)obj.html+='<span class="list_price">'+attr.list_price+'</span>';if(attr.price)obj.html+='<span class="price">'+attr.price+'</span>';if(attr.author)obj.html+="<p class='author'>Author: "+attr.author+"</p>";if(attr.snippet)obj.html+="<p class='snippet'>"+attr.snippet.truncate(90)+"</p>";obj.html+="</div><br class='clr'></div>"}}.bind(this));obj.base.innerHTML=obj.html;obj.base.writeAttribute('loaded','true')};SourceCB.prototype.construct_attribution=function(){return"<p class='source'><a class='image sm_mfavicon' rel='nofollow' href='http://www."+this.pretty_attribution()+"'><img class='favicon' width='16' height='16' onerror='this.hide();' src='/images/icons/"+this.pretty_attribution(true)+".png' /></a><a class='sm_mattr' href='http://www."+this.pretty_attribution()+"'>"+this.attribution+"</a></p>"};SourceCB.prototype.pretty_attribution=function(path){if(path)return this.attr.attribution_url.replace(/(http(s|):\/{2})|(w{3}([0-9]+|)\.)/gi,'').replace(/\/[a-z\.]+/gi,'');return this.attr.attribution_url.replace(/(http(s|):\/{2})|(w{3}([0-9]+|)\.)/gi,'')};SourceCB.prototype.keymap_result=function(result){var attr={};this.attr.keymap.split('|').each(function(pair){var tuple=pair.split(':');tuple.v=result[tuple[1]];if(tuple.v&&tuple.v!='')attr[tuple[0]]=tuple.v});return attr};new InitSourceCall(mod)};kapp.miniato.start_timeout=function(mod_name,count){var obj={};obj.success=true;obj.mod=$(mod_name);obj.secondary=obj.mod.select('.secondary');obj.secondary.each(function(s){if(!s.hasAttribute('loaded'))obj.success=false});if(obj.success&&obj.secondary.length==count){obj.secondary.each(function(source){Effect.Appear(source,{duration:'0.8'})});Effect.BlindUp.delay(0.4,obj.mod.down('.loader'),{duration:'0.2'});return true}else window[mod_name]=setTimeout(function(){kapp.miniato.start_timeout(mod_name,count)},300)};kapp.namespace('kapp.hotels');kapp.hotels.init=function(){var obj={};obj.base=$$('.m_ianitem')[0];obj.main_photo=obj.base.select('.mainPhoto img')[0];obj.category_number=obj.main_photo.readAttribute('category');obj.all_tabs=obj.base.select('.tab');obj.all_slides=obj.base.select('.slide');obj.all_photos=obj.base.select('.photo');if(obj.category_number>0)obj.base.down('.category').update(imgCateg[obj.category_number]);obj.all_tabs.each(function(tab){Event.observe(tab,'mouseover',function(e){if(!tab.hasClassName('selected'))this.style.backgroundColor='#6DBD01'});Event.observe(tab,'mouseout',function(e){if(!tab.hasClassName('selected'))this.removeAttribute('style')});Event.observe(tab,'click',function(e){obj.all_tabs.each(function(tab_s){tab_s.removeClassName('selected');tab_s.removeAttribute('style')});obj.all_slides.each(function(slide){if(slide.style.display!='none')obj.slide_displayed=slide});tab.addClassName('selected');Effect.Fade(obj.slide_displayed,{duration:'0.4',queue:'front'}),Effect.Appear(obj.base.down('.'+tab.readAttribute('child')),{duration:'0.4',queue:'end'})})});obj.all_photos.each(function(photo){Event.observe(photo,'mouseover',function(e){if(!photo.hasClassName('selected'))this.style.borderColor='#6DBD01'});Event.observe(photo,'mouseout',function(e){if(!photo.hasClassName('selected'))this.removeAttribute('style')});Event.observe(photo,'click',function(){obj.main_photo.style.display='none';obj.main_photo.src=photo.down('img').src;obj.all_photos.each(function(photo_s){photo_s.removeClassName('selected');photo_s.removeAttribute('style')});photo.addClassName('selected');obj.category_number=photo.readAttribute('category');if(obj.category_number>0)obj.base.down('.category').update(imgCateg[obj.category_number]);Effect.Appear(obj.main_photo,{duration:'0.6'})})});obj.all_photos[0].addClassName('selected');obj.all_photos.each(function(photo){});Event.observe($('arrival'),'click',function(){this.value=="mm/dd/yyyy"?this.value='':this.value});Event.observe($('departure'),'click',function(){this.value=="mm/dd/yyyy"?this.value='':this.value});function submitHotelDates(){var arrival=$('arrival').value;var departure=$('departure').value;var arr_match=/([0|1]{1}[0-9]{1}(\/){1})([0-3]{1}[0-9]{1}(\/){1})((20){1})([0-9]{2}){1}/.test(arrival);var dep_match=/([0|1]{1}[0-9]{1}(\/){1})([0-3]{1}[0-9]{1}(\/){1})((20){1})([0-9]{2}){1}/.test(departure);arrival=arrival.split("/");arrival.month=arrival[0];arrival.day=arrival[1];arrival.year=arrival[2];departure=departure.split("/");departure.month=parseFloat(departure[0]);departure.day=departure[1];departure.year=departure[2];var construct=arrival.year+arrival.month+arrival.day;var nights='';var error=new Element('div',{id:'error'});if($('arrival').value==''||$('departure').value==''){if(!$('error')){error.update("Please select arrival/departure dates.");$('allDates').insert(error,{before:$('spons')})}return false}else if(!arr_match||!dep_match){if(!$('error')){error.update("Please format your dates to the following: mm/dd/yyyy");$('allDates').insert(error,{before:$('spons')})}return false}else if(parseFloat(departure.month)-parseFloat(arrival.month)>1||parseFloat(departure.year)-parseFloat(arrival.year)>1){if(!$('error')){error.update("Your length of stay cannot be more than 28 days.");$('allDates').insert(error,{before:$('spons')})}return false}else if(parseFloat(departure.year)-parseFloat(arrival.year)<0||(parseFloat(departure.month)-parseFloat(arrival.month)<0&&parseFloat(departure.month)-parseFloat(arrival.month)!=-11)){if(!$('error')){error.update("Your arrival date must be before departure date.");$('allDates').insert(error,{before:$('spons')})}return false}else if((departure.month<arrival.month&&departure.year==arrival.year)||(departure.month==arrival.month&&departure.day<=arrival.day)){if(!$('error')){error.update("Your arrival date must be before departure date.");$('allDates').insert(error,{before:$('spons')})}return false}else if(departure.month==arrival.month&&departure.year==arrival.year){nights=parseFloat(departure.day)-parseFloat(arrival.day)}else if(departure.month!=arrival.month){if(parseFloat(departure.year)%4==0){nights=(30+daysInMonths[parseFloat(arrival.month)])-parseFloat(arrival.day)+parseFloat(departure.day)+1}else{nights=(30+daysInMonths[parseFloat(arrival.month)])-parseFloat(arrival.day)+parseFloat(departure.day)}}construct+="-"+nights;var actionUrl="http://travel.ian.com/hotel/propertydetails/<%=hotelid%>/?currencyCode=USD&additionalDataString=vrBookingSource|index&locale=en_US&travelDetail=["+construct+"]2&cid=236353";$('calendarForm').writeAttribute('action',actionUrl);document.hotForm.submit()}};
