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')});$$('#'+module.id+' ul.nodes 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'));var kappcbs=kapp.pageCallbacks;for(var i=0;i<kappcbs.length;i++){if(typeof(kappcbs[i])=="function"){kappcbs[i].call()}else if(kappcbs[i].functionName){var name=kappcbs[i].functionName.replace(/kapp\./,'');var functionObj=window.kapp[name];if(functionObj){functionObj.apply(this,kappcbs[i].args?kappcbs[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(){$('homep_woot_combo').select('.wthumbnails li').each(function(e_li){Event.observe(e_li,'click',kapp.woot.selectWootDeal.bindAsEventListener(e_li),true)})};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.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(document.all)kapp.log.click(ev,false)}};kapp.accordian.in_mod=function(mod){var id=document.getElementById(mod);if(!id)return;$(id).select('ul.accordian').each(function(list){list.select(list.parentNode.parentNode.parentNode.className.match(/m_recipes/)?'li.item':'li').each(function(item){if(!list.current){list.current=item;item.addClassName('on')}var nodes=kapp.accordian.no_text_nodes(item.childNodes);item.pb=list;item.module=nodes[1];item.header=nodes[0];kapp.accordian.no_text_nodes(item.header.childNodes)[0].removeAttribute('href');Event.observe(item.header,'click',kapp.accordian.change.bind(item))})})};kapp.accordian.no_text_nodes=function(arr){var results=[];for(var i=0;i<arr.length;i++){if(arr[i].nodeType==1)results.push(arr[i])}return results};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>'+'<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='';var vp=document.viewport;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=vp.getScrollOffsets()[1]+vp.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 vp=document.viewport;var elBottomOffset=el.cumulativeOffset()[1]+el.getHeight()-10,vpBottomOffset=vp.getScrollOffsets()[1]+vp.getHeight();if(elBottomOffset>vpBottomOffset){return elBottomOffset-vpBottomOffset}return false};kapp.upOrDown=function(element){var vp=document.viewport;return(element.cumulativeOffset()[1]-vp.getScrollOffsets()[1]>(vp.getScrollOffsets()[1]+vp.getDimensions().height)-(element.cumulativeOffset()[1]+element.getDimensions().height))?"above":"below"};kapp.namespace("kapp.favicon");kapp.addFaviconEvents=function(){$A(document.getElementsByTagName('IMG')).each(function(img){if(img.className.match(/favicon/i)){var h=img.getAttribute('k_hovertext');if(h!=null){Event.observe(img,'mouseover',kapp.favicon.showFaviconTooltip.bindAsEventListener(img));Event.observe(img,'mouseout',kapp.favicon.showFaviconTooltip.bindAsEventListener(img));var parent=img.parentNode;if(parent.className.match(/image/i))parent.removeAttribute('title');img.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 pair=i.getAttribute('k_bound_image').split(':');kapp.image.boundImage(i,{width:pair[0],height:pair[1]})})};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(){var mods=$A(document.body.getElementsByTagName('A'));if(mods.length>0){mods.each(function(video){var vc=video.className;if(vc.match(/video_embedded/i)){vc+=' log_ajaxclick';Event.observe(video,'click',kapp.video.handleVideoClick.bindAsEventListener(video))}else if(vc.match(/embed_autoload/i)){kapp.video.videoAutoLoad(video)}})}};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.leftarrow=arrows[0];i.rightarrow=arrows[1];i.container=i.down('div.container');i.list=i.down('ul');i.listitems=i.list.select('li');i.itemsize=i.listitems[0].offsetWidth;var temp_windowsize=i.offsetWidth-(arrows[0].offsetWidth*2+7);i.numvisible=Math.floor(temp_windowsize/i.itemsize);if(i.listitems.length<=i.numvisible){i.leftarrow.hide();i.rightarrow.hide();i.container.style.left='0';return}i.windowsize=i.numvisible*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.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));i.leftarrow.removeClassName('arrowoff');i.rightarrow.removeClassName('arrowoff');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};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))}};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.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')};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)};
