
YAHOO.namespace("housemath");YAHOO.namespace("extension");YAHOO.housemath.showads=function(){getEl('yahooads').dom.src='/application/ads';};swaplogo=function(){$('city').show();var eff=new Effect.Parallel([new Effect.Scale('house',75),new Effect.Scale('city',200),new Effect.MoveBy('house',13,13)],{duration:1.5});};YAHOO.housemath.locationmap=function(locations)
{this.map={};locationobj=Ext.util.JSON.decode(locations);for(iLoc=0;iLoc<locationobj.length;iLoc++)
{locationinfo=locationobj[iLoc][1]
for(var iScen in locationinfo['scenarios'])
{pic=locationinfo.scenarios[iScen].pic;displayname=locationinfo.scenarios[iScen].displayname
this.map[iScen]={pic:pic,displayname:displayname}}}}
YAHOO.housemath.locationmap.prototype={getPicture:function(analysisid){return"/images/locations/"+this.map[analysisid].pic;},getDisplayName:function(analysisid){return this.map[analysisid].displayname;}};swaplogo2=function(){var anim=new Ext.Animator();var house=new Ext.Actor('house',anim);var city=new Ext.Actor('city',anim);pos=house.getXY();city.setRelativePositioned(10000);house.setRelativePositioned(10001);anim.startCapture();anim.beginSync();house.fade(0.35);city.animate({width:{from:0,to:50},height:{from:0,to:50}},0.35,YAHOO.util.Easing.easeOut);anim.endSync();anim.stopCapture();anim.play();};faderesults=function(){YAHOO.util.Dom.addClass(thelayout.tabs.id,'faded');};unfaderesults=function(){YAHOO.util.Dom.removeClass('tabsres','faded');};YAHOO.fisheye=function(el){var me;if(el){this.init(el);}};YAHOO.fisheye.prototype={init:function(el)
{elem=getEl(el);elem.setRelativePositioned(100);YAHOO.util.Event.addListener(el,'mouseover',this.grow);YAHOO.util.Event.addListener(el,'mouseout',this.shrink);},grow:function(e)
{elem=getEl(this);elem.setRelativePositioned(120);var anim=new YAHOO.util.Anim(this,{width:{to:110},height:{to:75},left:{to:-5},top:{to:-2},opacity:{to:1.0}},0.2,YAHOO.util.Easing.easeOut);anim.animate();},shrink:function(e)
{var anim=new YAHOO.util.Anim(this,{width:{to:100},height:{to:70},left:{to:0},top:{to:0},opacity:{to:0.7}},0.2,YAHOO.util.Easing.easeIn);anim.animate();el=getEl(this);el.setRelativePositioned(100);}};YAHOO.housemath.Overlay=function(el,userConfig){YAHOO.housemath.Overlay.superclass.constructor.call(this,el,userConfig);YAHOO.util.Dom.replaceClass(this.element,'overlay','overlay2');};YAHOO.extend(YAHOO.housemath.Overlay,YAHOO.widget.Overlay);YAHOO.housemath.Dialog=function(el,userConfig){YAHOO.housemath.Overlay.superclass.constructor.call(this,el,userConfig);YAHOO.util.Dom.replaceClass(this.element,'overlay','overlay2');};YAHOO.extend(YAHOO.housemath.Dialog,YAHOO.widget.Dialog);YAHOO.housemath.OverlayMask=function(el,what,userConfig){whatel=getEl(what);whatbox=whatel.getBox();config={width:whatbox.width,height:whatbox.height,x:whatbox.x,y:whatbox.y};YAHOO.housemath.OverlayMask.superclass.constructor.call(this,el,config);YAHOO.util.Dom.replaceClass(this.element,'overlay','maskoverlay');};YAHOO.extend(YAHOO.housemath.OverlayMask,YAHOO.widget.Overlay);YAHOO.housemath.OverlayMask.prototype.mask=function(){this.render(document.body);this.show();themask=getEl(this.element.id);themask.setOpacity(0.2);themask.setAbsolutePositioned(101);};fadeAnimate=function(el,where){this.el=el;this.where=where;};fadeAnimate.prototype={fadeResult:function(div){YAHOO.util.Dom.addClass(div,'faded');},unfadeResult:function(div){YAHOO.util.Dom.removeClass(div,'faded');},showRecalc:function()
{var anim=new Ext.Animator();var rec=new Ext.Actor(this.el,anim);var where=new Ext.Actor(this.where,anim);recel=getEl(this.el);tabbox=getEl(this.where).getBox();buttbox=recel.getBox();newx=tabbox.x+tabbox.width/2-buttbox.width/2;newy=tabbox.y+tabbox.height/2-buttbox.height/2;recel.setLocation(newx,newy);anim.startCapture();anim.beginSync();rec.appear(0.5);anim.endSync();anim.stopCapture();anim.play();resulttabs=YAHOO.util.Dom.getElementsByClassName('resulttab','div','intabs');YAHOO.util.Dom.batch(resulttabs,this.fadeResult);},hideRecalc:function()
{var anim=new Ext.Animator();var rec=new Ext.Actor(this.el,anim);var where=new Ext.Actor(this.where,anim);anim.startCapture();anim.beginSync();rec.setAbsolutePositioned(100);rec.fade(0.5);anim.endSync();anim.stopCapture();anim.play();resulttabs=YAHOO.util.Dom.getElementsByClassName('resulttab','div','intabs');YAHOO.util.Dom.batch(resulttabs,this.unfadeResult);},positionRecalc:function(where)
{rec=getEl(this.el);tabbox=getEl(this.where).getBox();buttbox=rec.getBox();newx=tabbox.x+tabbox.width/2-buttbox.width/2;newy=tabbox.y+tabbox.height/2-buttbox.height/2;rec.setLocation(newx,newy);rec.setOpacity(0.0);rec.hide();}};chartSwap=function(chartdiv,waitingdiv,image,loadurl){this.chartel=getEl(chartdiv);this.waitel=getEl(waitingdiv);this.image=getEl(image);this.loadurl=loadurl;};chartSwap.prototype={loaded:function(e){var anim=new Ext.Animator();var waiting=new Ext.Actor(this.waitel.dom,anim);var chart=new Ext.Actor(this.chartel.dom,anim);var chartpic=new Ext.Actor(this.image.dom,anim);this.waitel.hide();this.chartel.show();this.chartel.setStyle('visibility','inherit');anim.startCapture();anim.beginSync();this.chartel.animate({width:{to:495}},0.35);anim.endSync();anim.stopCapture();anim.play();},go:function(){var anim=new Ext.Animator();this.waitel.show();this.chartel.hide();this.chartel.setSize(0,330);chartpic=getEl('chartimage');this.image.on("load",this.loaded,this,true);this.image.dom.src=this.loadurl;}};chartFlip=function(chartdiv,waitingdiv,image,flipimage,loadurl){this.chartel=getEl(chartdiv);this.waitel=getEl(waitingdiv);this.image=getEl(image);this.image.setVisible(true);this.image.setSize(420,310);this.flipimage=getEl(flipimage);this.flipimage.setVisible(false);this.flipimage.setSize(420,310);this.loadurl=loadurl;};chartFlip.prototype={loaded:function(e){var anim=new Ext.Animator();var waiting=new Ext.Actor(this.waitel.dom,anim);var chart=new Ext.Actor(this.chartel.dom,anim);var chartpic=new Ext.Actor(this.image.dom,anim);var chartpicflip=new Ext.Actor(this.flipimage.dom,anim);chart.alignTo(waiting,'tl');anim.startCapture();anim.beginSync();chartpicflip.toggle(true,1.0);anim.endSync();anim.beginSync();chartpic.toggle(true,1.0);anim.endSync();anim.stopCapture();anim.play(this.swap);},swap:function(){topel=getEl('chartpic');botel=getEl('charpicflip');temp=topel.id;topel.id=botel.id;botel.id=temp;},go:function(){var anim=new Ext.Animator();this.flipimage.on("load",this.loaded,this,true);this.flipimage.dom.src=this.loadurl;}};YAHOO.housemath.carousel=function(chartcount)
{this.config={numVisible:4,animationSpeed:0.25,scrollInc:1,navMargin:40,prevElementID:"prev-arrow",nextElementID:"next-arrow",size:chartcount,prevButtonStateHandler:this.handlePrevButtonState,nextButtonStateHandler:this.handleNextButtonState,orientation:"horizontal",wrap:false}
YAHOO.housemath.carousel.superclass.constructor.call(this);this.init('chart-carousel',this.config);};YAHOO.extendX(YAHOO.housemath.carousel,YAHOO.extension.Carousel,{init:function(){YAHOO.housemath.carousel.superclass.init.call(this,'chart-carousel',this.config);},handlePrevButtonState:function(type,args){var enabling=args[0];var leftImage=args[1];if(enabling){leftImage.src="/images/car/left-enabled.gif";}else{leftImage.src="/images/car/left-disabled.gif";}},handleNextButtonState:function(type,args){var enabling=args[0];var rightImage=args[1];if(enabling){rightImage.src="/images/car/right-enabled.gif";}else{rightImage.src="/images/car/right-disabled.gif";}}});var resetTab=function(tabs,active)
{tabs.activate(active.id);};var selectTab=function(tabid)
{tabs.activate(tabid);};var highlightTab=function(tabid)
{var tab=thelayout.tabs.getTab(tabid);var tabel=getEl(tab.pnode.dom.id);var inner=tabel.getChildrenByTagName('em')[0];inner.addClass('tab-hi');};var unhighlightTab=function(tabid)
{var tab=thelayout.tabs.getTab(tabid);var tabel=getEl(tab.pnode.dom.id);var inner=tabel.getChildrenByTagName('em')[0];inner.removeClass('tab-hi');};var highlightSection=function(section)
{var findsec=thelayout.pgrid.findSection(section);if(findesc)
{findsec.id='tohi';sec=getEl('tohi');headers=sec.getChildrenByClassName('ygrid-cell-header-text');for(var i=0;i<headers.length;i++)
{headers[i].addClass('ygrid-section-hi');}}};var unhighlightSection=function(section)
{var sec=getEl('tohi');if(sec)
{headers=sec.getChildrenByClassName('ygrid-cell-header-text');for(var i=0;i<headers.length;i++)
{headers[i].removeClass('ygrid-section-hi');}
findsec.id='';}};function tt(where,what){jx=new Ajax.Updater('','/content/tt?where='+where+'&what='+what,{asynchronous:true,evalScripts:true});};function closett(){this.destroy(true);};function ttshow(ctxt,hd,bd,wd,ht){element=getEl(ctxt);getEl('dialogs').update('');var dh=Ext.DomHelper;dlg=new Ext.BasicDialog('',{autoCreate:true,title:hd,height:ht,width:wd,x:element.getRight()+5,y:element.getTop(),autoScroll:true,shim:true,shadow:true,resizable:false,animateTarget:element});dlg.body.update(bd);dlg.addListener('hide',closett,dlg,true)
dlg.show();};Ext.ChartDialog=function(ctxt,chartid,title){element=getEl(ctxt);this.chartid=chartid;this.config={autoCreate:true,title:title,height:400,width:380,autoScroll:true,shim:true,shadow:true,resizable:false,animateTarget:element};this.callback={success:this.gotbody,failure:this.gotbody}
Ext.ChartDialog.superclass.constructor.call(this,'',this.config);var mgr=this.body.getUpdateManager();mgr.update('graphs/statgraph','graphid='+chartid);this.addListener('hide',this.closeme,this,true);Ext.DialogManager.HMregister(chartid,this.id);};YAHOO.extendX(Ext.ChartDialog,Ext.BasicDialog,{closeme:function(){Ext.DialogManager.HMunregister(this.chartid);this.destroy(true);},gotbody:function(o){alert(this);}});ctrOvl=function(conf){wherebox=conf.where.getBox();whatbox=conf.what.getBox();cxy=[wherebox.x+wherebox.width/2-whatbox.width/2,100];overlay=new YAHOO.widget.Overlay(conf.what.id,{visible:true,xy:cxy});overlay.render(document.body);overlay.show();}
refreshads=function(words){$('yahooads').src='/application/ads?words='+words}
HMLayout=function(options){this.key=null;if(options.key){this.key=options.key;}
if(options.analysisid){this.analysisid=options.analysisid;}
this.panelname='';this.firstload=true;this.reportmap={};this.chartcount=0;};HMLayout.prototype={layoutloaded:function()
{alert('loaded');},loadCarousel:function()
{this.carousel=new YAHOO.housemath.carousel(this.chartcount);this.carousel.init();},getReport:function(reportname)
{return this.reportmap[reportname];},getReportById:function(id)
{for(reportname in this.reportmap)
{if(this.reportmap[reportname]==id)
{return reportname;}}},addReport:function(reportname,id)
{this.reportmap[reportname]=id;},init:function(){var outerlayout=new Ext.BorderLayout(document.body,{hideOnLayout:false,east:{split:false,initialSize:130,minWidth:130,collapsible:false,shim:true},center:{initialSize:900,minSize:900,autoScroll:false,shim:true}});var innerlayout=new Ext.BorderLayout('innercontent',{hideOnLayout:false,north:{split:false,initialSize:50,minSize:50},south:{split:false,initialSize:20},west:{split:false,initialSize:284,minSize:284,maxSize:284,autoScroll:false,fitToFrame:false,shim:true},center:{autoScroll:true,tabPosition:'top',maxSize:570,initialSize:500,alwaysShowTabs:true,minSize:570}});this.innerlayout=innerlayout;deallayoutconfig={hideOnLayout:false,north:{split:false,initialSize:135,minSize:135},center:{titlebar:true,initialSize:276,maxSize:276,monitorWindowResize:true,fitToFrame:true,autoScroll:true,shim:true,resizeEl:'parameters-grid'}};if(Ext.util.Browser.isIE)
{deallayoutconfig.center.autoScroll=true;};var deallayout=new Ext.BorderLayout('deal',deallayoutconfig);this.deallayout=deallayout;this.outerlayout=outerlayout;outerlayout.beginUpdate();deallayout.beginUpdate();this.pgrid=new Ext.grid.JSONParameterGrid('parameters-grid',{key:this.key,analysisid:this.analysisid,submiturl:'report/calculate',outdiv:'out'});this.pgrid.render();wherewhatttitle="<span class='wherewhat'>Where and what are you buying?</span>"
deallayout.add('north',new Ext.ContentPanel('dealhead',{fitToFrame:false,title:wherewhatttitle}));gridpanel=new Ext.GridPanel(this.pgrid);deallayout.add('center',gridpanel,{fitToFrame:true,autoScroll:false});gridpanel.grid.monitorWindowResize=true;if(!Ext.util.Browser.isIE)
{gridpanel.grid.autoHeight=true;}
if(Ext.util.Browser.isIE)
{gridpanel.grid.monitorWindowResize=true;};this.gridpanel=gridpanel
deallayout.endUpdate();innerlayout.add('north',new Ext.ContentPanel('banner',{fitToFrame:false}));this.results=innerlayout.getRegion('center').el;gridpane=new Ext.ContentPanel('footer');innerlayout.add('south',gridpane);contentPanel=new Ext.ContentPanel('tintro',"Instructions");innerlayout.add('center',contentPanel);innerlayout.add('west',new Ext.NestedLayoutPanel(deallayout,{fitToFrame:true,autosScroll:true}));outerlayout.add('center',new Ext.NestedLayoutPanel(innerlayout,{fitToFrame:true}));outerlayout.add('east',new Ext.ContentPanel('gads',{fitToFrame:false}));this.tabs=innerlayout.getRegion('center').tabs;selhtml=getEl('locationselect').dom.innerHTML;Ext.DomHelper.overwrite('locationselect',{tag:'locationselect',html:selhtml});outerlayout.endUpdate();if(this.key)
{this.pgrid.loadkey(this.key);}
else if(this.analysisid)
{this.pgrid.load(this.analysisid);}
this.pgrid.render();if(Ext.util.Browser.isSafari)
{var dt=new Ext.util.DelayedTask(YAHOO.housemath.SwapScenarios,thelayout,[thelayout.pgrid,"nyccondo"]);dt.delay(500);}}};YAHOO.housemath.ChartContentPanel=function(chartcount,el,config){this.chartcount=chartcount;this.loaded=false;YAHOO.housemath.ChartContentPanel.superclass.constructor.call(this,el,config);};YAHOO.extendX(YAHOO.housemath.ChartContentPanel,Ext.ContentPanel,{getChartCount:function()
{return this.chartcount;}});toolbuttons=[{className:'hm-save',tooltip:'Save this analysis'},{className:'hm-open',tooltip:'Open Saved analysis'},{className:'hm-pdf',tooltip:'Get PDF report'},{className:'hm-mail',tooltip:'Email me a report'},{className:'hm-help',tooltip:'Help'}]
addLinkToBar=function(link)
{if(document.tb)
{if(getEl('linktobutton'))
{Ext.DomHelper.overwrite('linktobutton',{tag:'span',id:'linktobutton',html:link,title:'Drag this link to bookmark THIS particular analysis.'});}
else
{linkel=document.tb.addText("");Ext.DomHelper.overwrite(linkel,{tag:'span',id:'linktobutton',html:link,title:'Drag this link to bookmark THIS particular analysis.'});}}}
setUpToolbar=function()
{tb=new Ext.Toolbar('bar');tb.add($('b'));tb.addSeparator();tbpdf=tb.addButton({tooltip:"Get PDF",className:'hm-pdf',click:function(){alert('not');document.location.href='report/getPDF'}});tb.addSeparator();this.first=tb.addButton({tooltip:"Huh?",className:'hm-help'});}
setUpToolbarNL=function()
{document.tb=new Ext.Toolbar('bar');tb=document.tb;tb.add($('b'));tb.addSeparator();tbpdf=tb.addButton({tooltip:"Get PDF",className:'hm-pdf',click:function(){document.location.href='report/getPDF'}});tb.addSeparator();this.first=tb.addButton({tooltip:"Huh?",className:'hm-help'});tb.addSeparator();}
setUpToolbarD=function()
{tb=new Ext.Toolbar('bar');tb.add($('b'));tb.addSeparator();tbpdf=tb.addButton({tooltip:"Get PDF",className:'hm-pdf',click:function(){new Ajax.Request('/user/loginajx',{asynchronous:true,evalScripts:true});return false;}});this.first=tb.addButton({tooltip:"Email me a report",className:'hm-mail'});tb.addSeparator();this.first=tb.addButton({tooltip:"Huh?",className:'hm-help'});}
YAHOO.housemath.NewsLayout=function(dialoghtml){this.dialoghtml=dialoghtml;this.options={title:"What's New?",modal:false,resizable:true,draggable:true,width:500,height:400,shadow:true,minWidth:300,minHeight:300,autoHeight:true,shim:true,autoCreate:true,west:{split:true,initialSize:100,minSize:100,maxSize:250,titlebar:true,collapsible:true,animate:true},center:{autoScroll:true,fitToFrame:true}}
YAHOO.housemath.NewsLayout.superclass.constructor.call(this,'',this.options)
this.addKeyListener(27,this.hide,this);this.addButton('Close',this.hide,this);}
YAHOO.extendX(YAHOO.housemath.NewsLayout,Ext.LayoutDialog,{show:function(){if(!getEl('news-content'))
{this.dlgdiv=Ext.DomHelper.append(document.body,{tag:'div',id:'news-content',style:'visibility: hidden',html:''})}
Ext.DomHelper.overwrite('news-content',{html:this.dialoghtml})
var layout=this.getLayout();layout.beginUpdate();newspanel=new Ext.ContentPanel('newscontents',{title:"News",fitToFrame:true});geekpanel=new Ext.ContentPanel('geekcontents',{title:"Technical News",fitToFrame:true});this.contentpanel=layout.add('west',new Ext.ContentPanel('newstoc',{title:'Contents'}));this.newspanel=layout.add('center',newspanel,{fitToFrame:true});this.geekpanel=layout.add('center',geekpanel,{fitToFrame:true});layout.endUpdate();YAHOO.housemath.NewsLayout.superclass.show.call(this);layout.getRegion('center').showPanel(this.newspanel);}});showNews=function(dialoghtml)
{var options={}
if(!document.newsdialog)
{document.newsdialog=new YAHOO.housemath.NewsLayout(dialoghtml);}
document.newsdialog.show()}
SaveLayout=function(){var dialog,showBtn;}
SaveLayout.prototype={init:function(dialoghtml){this.options={modal:true,resizable:true,draggable:true,width:600,height:400,shadow:false,minWidth:300,minHeight:300,shim:true,west:{split:true,initialSize:150,minSize:100,maxSize:250,titlebar:true,collapsible:true,animate:true},center:{autoScroll:true,tabPosition:'top',closeOnTab:true,alwaysShowTabs:false}};if(!this.dlgdiv)
{this.dlgdiv=Ext.DomHelper.append(document.body,{tag:'div',id:'dlg',style:'visibility: hidden',html:''})}
Ext.DomHelper.overwrite('dlg',{html:dialoghtml})},showDialog:function(extoptions){options=this.options;if(extoptions.x){options.x=extoptions.x};if(extoptions.y){options.y=extoptions.y};if(extoptions.width){options.width=extoptions.width};if(extoptions.height){options.height=extoptions.height};dialog=new Ext.LayoutDialog("hello-dlg",options);dialog.addKeyListener(27,dialog.hide,dialog);dialog.addButton('Close',dialog.hide,dialog);dialog.addButton('Submit',dialog.hide,dialog);var layout=dialog.getLayout();dialog.beginUpdate();layout.add('west',new Ext.ContentPanel('west',{title:'West'}));layout.add('center',new Ext.ContentPanel('center',{title:'Inner Tab'}));dialog.endUpdate();dialog.addListener('hide',this.hideDialog,this,true);document.dlg=dialog;dialog.show();},hideDialog:function(e){Ext.DomHelper.overwrite('dlg',{html:''})}};showSave=function(dialoghtml)
{options={height:100}
if(typeof(document.dlg)!="undefined"){}
tabbox=thelayout.tabs.el.getBox();options.x=tabbox.x;options.y=tabbox.y;options.width=tabbox.width;options.height=tabbox.height;document.dlg=new SaveLayout();document.dlg.init(dialoghtml);document.dlg.showDialog(options);}
Ext.DialogManager.hmdialogs={};Ext.DialogManager.HMregister=function(graphid,dialogid)
{this.hmdialogs[graphid]=dialogid;};Ext.DialogManager.HMunregister=function(graphid)
{this.hmdialogs[graphid]=null;};Ext.DialogManager.HMgetdialog=function(graphid)
{if(this.hmdialogs[graphid]==null)
{return this.get(this.hmdialogs[graphid])}
else
{return null;}};