var HOMEPAGE={sectionPuffs:$H({buy_new_homes_label:'new_homes',rent_flatshare_label:'flatshare'}),setUp:function(){$$('div.options','#search_tip','#term_legend','#search_term_label').invoke('hide');$$('div.options label','#search_submit').invoke('update','');$('search_form').observe('submit',function(e){HOMEPAGE.submitForm(e)});$$('div.options label').invoke('observe','click',function(e){Event.element(e).fire('option:selected');});$('buy_legend','rent_legend','stats_legend').invoke('observe','click',function(e){Event.element(e).fire('section:selected');});document.observe("section:selected",function(e){var selected_options=Event.element(e).next('fieldset').down('div.options');if(!selected_options.visible()){$$('div.options').each(function(div){if(div.visible()){Effect.Fade(div,{duration:0.2,queue:{position:'start',scope:'search_options'}});Effect.SlideUp(div,{duration:0.2,queue:{position:'start',scope:'search_options'}});}});$('buy_legend','rent_legend','stats_legend').invoke('removeClassName','selected');Event.element(e).addClassName('selected');Effect.SlideDown(selected_options,{duration:0.2,queue:{position:'end',scope:'search_options'}});if(typeof selected_options.select('input[type=radio]').find(function(option){return option.checked})=='undefined'){selected_options.select('label')[0].fire('option:selected');}}});document.observe("option:selected",function(e,initialLoad){if(!Event.element(e).hasClassName('selected')){$$('div.options label').invoke('removeClassName','selected');Event.element(e).addClassName('selected');Event.element(e).next('input[type=radio]').click();if(e.memo.initialLoad==true){if(!$('section_puffs_content').empty()){$('section_puffs').show();}else{HOMEPAGE.loadSectionPuffContent(Event.element(e).id);}}else{if($('section_puffs').visible()){Effect.SlideUp('section_puffs',{duration:0.2});}
HOMEPAGE.loadSectionPuffContent(Event.element(e).id);}};});var options=$$('input[name=br]');var lastSearchType=Cookies.get('lastSearchType');var preSelectedOption=Element.extend((options.find(function(option){return option.checked})||options.find(function(option){return option.value==lastSearchType}))||options[0]);preSelectedOption.up('fieldset').previous('h2.legend').fire('section:selected');preSelectedOption.previous('label').fire('option:selected',{initialLoad:true});var term_field_value=Cookies.get('lastSearchTerm');if(term_field_value){$('term_field').value=term_field_value}else{$('term_field').addClassName('empty');$('term_field').value=sSearchTip;}
$('term_field').observe('focus',function(e){if(this.value==sSearchTip){this.value='';this.removeClassName('empty');}}).observe('blur',function(e){if(this.value.blank()){this.addClassName('empty');this.value=sSearchTip;}})},loadSectionPuffContent:function(sectionPuffId){var sectionPuff=HOMEPAGE.sectionPuffs.get(sectionPuffId);if(typeof sectionPuff!='undefined'){$('section_puffs_content').update('').hide();$('section_puffs').addClassName('loading').hide();Effect.SlideDown('section_puffs',{duration:0.2});Effect.Appear('section_puffs',{duration:0.2});new Ajax.Updater('section_puffs_content','/homepage/section_puff_content',{parameters:{option:sectionPuff},evalScripts:true,onComplete:function(response){$('section_puffs').removeClassName('loading');new Effect.Appear('section_puffs_content',{duration:0.3});}});};},submitForm:function(e){Event.stop(e);if($F('term_field').blank()||($F('term_field')).include('Enter location e.g.')){var new_term=window.prompt('Where would you like to search?','');if(new_term!=null){$('term_field').value=new_term}else{return false};};var form=$('search_form');var searchTerm=escape(escape_term($F('term_field')).toLowerCase());var searchType=$F($$('input[name=br]').find(function(option){return option.checked==true}));Cookies.set('lastSearchType',searchType,365);Cookies.set('lastSearchTerm',$F('term_field'),365);if($A(['area-guide','house-prices','services']).include(searchType)){location='/'+searchType+'/'+searchTerm+'_property';}else if(searchType=="agents"){location='/agents-directory/estate-agents-in_'+searchTerm;}else{form.action='/property/'+searchType+'/'+searchTerm;form.submit();}
$('search_submit').addClassName('disabled');}};
