
Ext.Ajax.on('requestcomplete',function(connection,response,options){try{responseText=Ext.decode(response.responseText);if(response.status==200){redirect='';if(typeof responseText.redirect!='undefined')
redirect=' <a href="'+responseText.redirect+'">Click Here.</a>';if(typeof responseText.success!='undefined'){if(responseText.success){if(options.showFlashSuccess!=undefined){if(options.showFlashSuccess){flashSuccess(responseText.message+redirect);}}else{flashSuccess(responseText.message+redirect);}}else{flashMessage(responseText.message+redirect);}}}else{flashError(responseText.message);}}catch(error){flashError('There was an internal server error');}});function createFlash(message,type){notificationDiv=Ext.DomHelper.append(Ext.fly('notifications'),{tag:'div',id:Ext.id(),'class':'roundedcorners '+type});closeBox=Ext.DomHelper.append(notificationDiv,{tag:'img','class':'closebox',src:'/img/icons/notifications/close.png'});Ext.fly(closeBox).on('click',function(event,target){Ext.fly(target).findParent('div',null,true).fadeOut({remove:true});});messageBody=Ext.DomHelper.append(Ext.fly(notificationDiv),{tag:'p',cn:[{tag:'span',html:message}]});if(typeof type!='undefined'){var icon='';if(type=='success'){icon='/img/icons/notifications/check.png';}else if(type=='error'){icon='/img/icons/notifications/exclamation.png';}
if(icon.length>0){Ext.DomHelper.insertFirst(Ext.fly(messageBody),{tag:'img','class':'icon',src:icon});}}
Ext.fly(notificationDiv).fadeIn();return notificationDiv;}
function flashSuccess(message){element=createFlash(message,'success');new Ext.util.DelayedTask(function(){Ext.fly(element).fadeOut({remove:true});}).delay(10000);}
function flashMessage(message){element=createFlash(message);Ext.fly(element).addClass('message');new Ext.util.DelayedTask(function(){Ext.fly(element).fadeOut({remove:true});}).delay(10000);}
function flashError(message){element=createFlash(message,'error');}
function tabClick(event){if(event.srcElement)
tab_element=event.srcElement;else
tab_element=event.target;while(!Ext.fly(tab_element).hasClass('tab')){tab_element=tab_element.parentNode;}
content_element_id='content_'+Ext.fly(tab_element.parentNode).child('.selected').child('.title').child('.name',true).innerHTML.toLowerCase().replace(/ /g,'_').replace(/_&amp;_/,'_');var content=Ext.fly(content_element_id);if(!content){var content_id=Ext.fly(tab_element.parentNode).child('.selected').child('.title').child('.name',true).id;content_id="content_"+content_id.substring(4);content=Ext.fly(content_id);}
if(content){content.setStyle('display','none');}else{return;}
Ext.fly(tab_element.parentNode).child('.selected').removeClass('selected');Ext.fly(tab_element).addClass('selected');content_element_id='content_'+Ext.fly(tab_element).child('.title').child('.name',true).innerHTML.toLowerCase().replace(/ /g,'_').replace(/_&amp;_/,'_');content=Ext.fly(content_element_id);if(!content){content_id=Ext.fly(tab_element).child('.title').child('.name',true).id;content_id="content_"+content_id.substring(4);content=Ext.fly(content_id);}
if(content){content.setStyle('display','block');}}
function createRequestTooltip(evt,target,o){if(window.userprofile){showRequestTooltip(evt,target,o);}else{Ext.Ajax.request({url:"/users/profile",success:function(response,request){window.userprofile=Ext.decode(response.responseText);showRequestTooltip(evt,target,o);}});}}
function showRequestTooltip(evt,target,o){Ext.select(".request_tooltip").fadeOut({remove:true});var bdy=Ext.getBody();var form_id=Ext.id();var email="";var phone="";if(window.userprofile){var prof=window.userprofile;if(prof["User"]&&prof["User"]["email"]){email=prof["User"]["email"];}
if(prof["UserInfo"]&&prof["UserInfo"]["mobile_phone"]){phone=prof["UserInfo"]["mobile_phone"];}
if(phone.length==0){if(prof["UserInfo"]&&prof["UserInfo"]["office_phone"]){phone=prof["UserInfo"]["office_phone"];}}}
var t=new Ext.Template('<div class="request_tooltip">','<h2>Requesting Info from the CVB?</h2>','<span class="{cls}">{message}</span>','<form name="requestform" id="{form_id}">','<label>Add a note regarding this request here</label>','<textarea name="note"></textarea>','<label>Preferred contact method:</label><br/>','<table class="request_table" border="0" cellspacing="0" cellpadding="0"><tr><td>','<tr><td>Email:</td><td><input type="radio" checked=checked name="contactpref" ','value="email"></td><td><input class="profile" type="text" name="email" value="{email}"/></td></tr>','<tr><td>Phone:</td><td><input type="radio" name="contactpref" ',' value="phone"></td><td><input class="profile" type="text" name="phone" value="{phone}"/></td></tr>','</form>','</div>');var targetElement=Ext.get(target);if(!targetElement.hasClass("request_info")){targetElement=targetElement.parent(".request_info");}
var url="";if(targetElement){url=targetElement.getAttributeNS("mp","listingurl");}
var noteDiv=t.append(bdy,{form_id:form_id,message:"If you're interested in having the CVB contact you"+" to assist you with your meeting please click continue",phone:phone,email:email},true);var pos=evt.getXY();pos[1]=pos[1]-60;noteDiv.setXY(pos);var closeBox=Ext.DomHelper.append(noteDiv,{tag:'div','class':'roundedcorners closebutton button',html:"Close"},true);var continueBox=Ext.DomHelper.append(noteDiv,{tag:'div','class':'button continue',html:'<img src="/img/continue_green_button.png"/>'},true);closeBox.on('click',function(event,target){noteDiv.fadeOut({remove:true});});continueBox.on('click',function(e,t,o){sendRequestInfo(e,target,url,form_id);noteDiv.fadeOut({remove:true});});return noteDiv;}
function sendRequestInfo(event,element,url,form_id){var listing_url='/listings/requestinfo/';if(url&&url.length>0){listing_url=url;}else{var urlArray=document.URL.split('/');var listing=urlArray.slice(-1);listing_url+=listing;}
var el=Ext.get(element);if(el){el.setOpacity(.2);}
var request={url:listing_url};if(form_id&&form_id!=null){request.form=form_id;}
Ext.Ajax.request(request);}
Ext.onReady(function(){Ext.select('#search_go').on('click',function(event,target){if(Ext.fly('search_input').getValue().length>3)
location.href='/listings/search/text*:'+encodeURIComponent(Ext.fly('search_input').getValue());else{flashError("Please input a value greater than 3 characters");}});Ext.select('#search_input').on('keyup',function(event,target){if(event.keyCode==13){location.href='/listings/search/text*:'+encodeURIComponent(Ext.fly('search_input').getValue());event.stopEvent();}});Ext.select('.request_info').on('click',function(e,t,o){createRequestTooltip(e,t,o);});});Ext.onReady(function(){Ext.select('.tooltip').on('mousemove',function(event,target){body=Ext.query('body');if(!Ext.fly('tooltip_overlay')){tooltip=document.createElement('DIV');tooltip.id='tooltip_overlay';body[0].appendChild(tooltip);}
tooltip=Ext.get('tooltip_overlay');tooltip.dom.innerHTML=Ext.fly(target).getAttributeNS('tooltip','text');position_modifier=5;eventX=event.getPageX();eventY=event.getPageY();position_left=eventX+position_modifier;position_top=eventY+position_modifier;body_width=body[0].offsetWidth;tooltip_width=162;if(position_left+tooltip_width>body_width)
position_left=eventX-tooltip_width
tooltip.setStyle('left',position_left+'px');tooltip.setStyle('top',position_top+'px');tooltip.setStyle('display','block');});Ext.select('.tooltip').on('mouseout',function(event,target){tooltip=Ext.get('tooltip_overlay');tooltip.setStyle('display','none');});});Ext.onReady(function(){if(Ext.fly('my_meetings')!==null){Ext.fly('my_meetings').on('click',function(event,target){location.href='/meetings/';});}
Ext.select('.meeting_header').on('click',function(event,target){if(Ext.fly(target).hasClass('full_compare'))
return false;header_element=Ext.fly(target).findParent('.meeting_header',null,true);table_element=header_element.next('table');if(header_element.hasClass('expanded')){table_element.setStyle('display','none');}else{table_element.setStyle('display','block');}
header_element.toggleClass('expanded');});if(Ext.fly('my_meetings_dropdown')!==null){Ext.fly('my_meetings_dropdown').select('.remove').on('click',function(event,target){if(confirm('Are you sure you want to remove this listing from the meeting?')){tr_element=Ext.fly(target).findParent('tr');listing_id=Ext.fly(tr_element).getAttributeNS('listing','id');meeting_id=Ext.fly(tr_element).getAttributeNS('meeting','id');category_id=Ext.fly(tr_element).getAttributeNS('category','id');Ext.Ajax.request({url:'/listings/favorite/',params:{'action':'delete','listing_id':listing_id,'meeting_id':meeting_id,'category_id':category_id},success:function(response,opts){Ext.fly(tr_element).setStyle('display','none');Ext.fly('meeting_header_'+meeting_id).child('.meeting_favorites_count',true).innerHTML=Ext.fly('meeting_header_'+meeting_id).child('.meeting_favorites_count',true).innerHTML-1;}});}});}
if(Ext.fly('my_meetings_dropdown')!==null){Ext.fly('my_meetings_dropdown').select('.compare').on('click',function(event,target){tr_element=Ext.fly(target).findParent('tr');var listing_id=getListingId(tr_element);meeting_id=Ext.fly(tr_element).getAttributeNS('meeting','id');category_id=Ext.fly(tr_element).getAttributeNS('category','id');action=Ext.fly(tr_element).child('.compare').hasClass('add')?'create':'delete';Ext.Ajax.request({url:'/listings/compare/',params:{'action':action,'listing_id':listing_id,'meeting_id':meeting_id,'category_id':category_id},success:function(response,opts){Ext.fly(tr_element).child('.compare').dom.src='/img/icons/16x16/check_'+(action=='create'?'green':'gray')+'.png';Ext.fly(tr_element).child('.compare').toggleClass('add');}});});}});function getListingId(el){var el=Ext.get(el);var par=el.findParent('.listing',10,true);if(par){return par.id;}
if(!el){return null}
var ns="listing";var name="id";if(Ext.isIE){var d=el.dom;var type=typeof d[ns+":"+name];if(['undefined','unknown'].indexOf(type)==-1){return d[ns+":"+name];}else{return null;}}else{return el.getAttributeNS(ns,name);}}
function createInterstital(){interstitial=Ext.fly(Ext.DomHelper.insertFirst(document.body,{id:'interstitial'})).setStyle('display','none');docWidth=(document.body.clientWidth)?document.body.clientWidth:document.width;docHeight=(document.body.clientHeight)?document.body.clientHeight:document.height;interstitial.setWidth(docWidth).setHeight(docHeight);interstitial.fadeIn({endOpacity:0.8});return interstitial;}
function destroyInterstital(){Ext.fly('interstital').fadeOut(null,{remove:true});}
function isUserLoggedIn(){if(Ext.fly('my_meetings'))
return true;else
return false;}
function showLoginInterstitial(){dimmer=createInterstital();content=Ext.get('sign_in_interstitial');content.insertBefore(dimmer);clientWidth=document.documentElement.clientWidth;clientHeight=document.documentElement.clientHeight;content.setX((clientWidth-content.getWidth())/2);content.setStyle('top',(clientHeight-content.getHeight())/2+'px');content.fadeIn();content.setX((clientWidth-content.getWidth())/2);content.setStyle('top',(clientHeight-content.getHeight())/2+'px');Ext.fly('interstitial').on('click',function(event,element){Ext.fly('sign_in_interstitial').fadeOut({remove:false});Ext.fly('interstitial').fadeOut({remove:true});});Ext.select('.close_interstitial').each(function(element){element.on('click',function(event,element){Ext.fly('sign_in_interstitial').fadeOut({remove:false});Ext.fly('interstitial').fadeOut({remove:true});});});}
function toggleFeedback(){var feedback=Ext.get('feedback');if(feedback.hasClass('out')){feedback.shift({x:-249});}else{feedback.shift({x:0});}
feedback.toggleClass('out');}
function sendFeedback(){var feedback_name=Ext.fly('feedback_name').getValue();var feedback_email=Ext.fly('feedback_email').getValue();var feedback_comments=Ext.fly('feedback_comments').getValue();var feedback_visitor=Ext.fly('feedback_visitorid').getValue();error_msg='';if(feedback_name.length==0)
error_msg+='You must enter your name.\n';if(feedback_email.length==0)
error_msg+='You must enter your email address.\n';if(feedback_comments.length==0)
error_msg+='You must enter your feedback.\n';if(error_msg.length==0){toggleFeedback();Ext.fly('feedback_comments').dom.value='Enter your feedback here.';Ext.Ajax.request({url:'/pages/feedback',params:{'from':feedback_name+' <'+feedback_email+'>','feedback':feedback_comments,'visitor_id':feedback_visitor,'referer':location.href}});}else{alert(error_msg);}}
function doSearch(textonly){trackEvent("ClickEvent",'get-results');var pw=Ext.get('plannerpanel_form');var sr=Ext.get('search_refine_form');var url='/listings/search';if(pw!=null){if(pw.dom.neighborhood.value!=-1){url=url+'/neighborhood,:'+pw.dom.neighborhood.value;}
if(pw.dom.footage.value!=-1){var category=Ext.fly(pw.dom.footage).getAttributeNS('search','category');category=category+((category.length>0)?'|':'');url=url+'/'+category+'footage>:'+pw.dom.footage.value;}
if(pw.dom.rooms.value!=-1){var category=Ext.fly(pw.dom.rooms).getAttributeNS('search','category');category=category+((category.length>0)?'|':'');url=url+'/'+category+'rooms>:'+pw.dom.rooms.value;}
if(pw.dom.offsite!=undefined&&pw.dom.offsite[0].checked&&pw.dom.sqft.value!=-1){var category=Ext.fly(pw.dom.sqft).getAttributeNS('search','category');category=category+((category.length>0)?'|':'');url=url+'/'+category+'sqft>:'+pw.dom.sqft.value;}}else if(sr!=null){if(Ext.fly('search_input').getValue().length>0){url=url+'/text*:'+encodeURIComponent(Ext.fly('search_input').getValue());}
if(sr.dom.footage!=undefined&&sr.dom.footage.value!=-1){var category=Ext.fly(sr.dom.footage).getAttributeNS('search','category');category=category+((category.length>0)?'|':'');url=url+'/'+category+'footage>:'+sr.dom.footage.value;}
if(sr.dom.rooms!=undefined&&sr.dom.rooms.value!=-1){var category=Ext.fly(sr.dom.rooms).getAttributeNS('search','category');category=category+((category.length>0)?'|':'');url=url+'/'+category+'rooms>:'+sr.dom.rooms.value;}
if(sr.dom.sqft!=undefined&&sr.dom.sqft.value!=-1){var category=Ext.fly(sr.dom.sqft).getAttributeNS('search','category');category=category+((category.length>0)?'|':'');url=url+'/'+category+'sqft>:'+sr.dom.sqft.value;}
var neighborhoods=(sr.dom.neighborhood!=undefined)?sr.dom.neighborhood:-1;if(neighborhoods!=-1){var category=Ext.select('.icon .category').elements[0].getAttribute('class').split(' ').pop();var neighborhood=[];for(ii=0;ii<neighborhoods.length;ii++){if(neighborhoods[ii].checked){neighborhood.push(neighborhoods[ii].value);}}
neighborhoods=neighborhood.join(',');if(neighborhoods.length==0){neighborhoods=-1;}}
if(neighborhoods!=-1){url=url+'/'+category+'|neighborhood,:'+neighborhoods;}}
location.href=url;}
function trackEvent(category,action){var possibles=['A','B','C','D','E','F','G','H','I',];for(var i=0;i<possibles.length;i++){if(window['pageTracker'+possibles[i]]){var tracker=window['pageTracker'+possibles[i]];tracker._trackEvent(category,action);}}}
Ext.onReady(function(){Ext.select('#feedback img').on('click',toggleFeedback);Ext.select('#feedback #feedback_cancel').on('click',toggleFeedback);Ext.select('#feedback #feedback_send').on('click',sendFeedback);var planning=Ext.get('start_planning');if(planning){planning.on('click',function(){trackEvent("ClickEvent","start_planning");Ext.select('#start').slideOut('l',{remove:true,callback:function(){Ext.select('#plan').show();Ext.select('#plan').slideIn('l');}});})}
if(Ext.ux&&Ext.ux.Lightbox){Ext.ux.Lightbox.regreg('a[rel^=lightbox]');}});
