var overview = {
	
	initialize: function() {
		if ($('map')){
			overviewMap = new msMaps('map', estateCenter, {
				custom: estateMapTiles, mapTypeControl: false, mapControl: false, mapTiles: config['baseURI']+'assets/estates/'+ iEstate.toInt() +'/map/tiles/'
			});
		}
        
		Site.setType('overview');
		if(Site.sUser) {
			Site.sUser.updateRegister(7, iEstate, EstateName);
			Site.sUser.showAgent(7);
		}
		
		if($('feature_0')) {
			$$('.prevButton').addEvent('click', function(el){
				var tmp = utils.stripChar('_', this.id, 1).toInt();
				$$('#feature_'+tmp, '#buildExtra_'+tmp).addClass('none');
				$$('#feature_'+(tmp-1),'#buildExtra_'+(tmp-1)).removeClass('none');
			});
			$$('.nextButton').addEvent('click', function(el){
				var tmp = utils.stripChar('_', this.id, 1).toInt();
				$$('#feature_'+tmp, '#buildExtra_'+tmp).addClass('none');
				$$('#feature_'+(tmp+1),'#buildExtra_'+(tmp+1)).removeClass('none');
			});
			

			var ToolTipPos = {};
			

			switch($('overview').title) {
				case 'Home': 		ToolTipPos = {'x': -35, 'y': -75}; break;
				case 'Apartment': 	ToolTipPos = {'x': -65, 'y': -75}; break;				
			}
			
			var nexPrevTips = new Tips($$('a.prevButton', 'a.nextButton'), {
				className: 'detailLabel',
				offsets: ToolTipPos, fixed: true
			});	
			var browseTips = new Tips($$('a.browse'), {
				className: 'detailLabel',
				offsets: {'x': -66, 'y': -78}, fixed: true
			});	
		};
		
		$$('.rightPanel label.drops').each(function(el){
			el.addEvent('click', function() {
				overview.setDropChoice(el);
			});
		});
		$$('.rightPanel label.radio').each(function(el){
			var radioID = utils.stripChar('_', el.id, 1);

			if($(radioID).disabled) return;
			
			el.addEvent('click', function() {
				$(radioID).checked = true;
				$$('#'+el.getParent().id + ' label').removeClass('selected');
				el.addClass('selected');
				el.getParent().getParent().addClass('checked');
			});
		});
		
		if ($('formLog')) {
			var logWarning = $('formLog').addClass('none');
			var warningFX = new Fx.Styles(logWarning,{
							duration: 1000,
							wait: false,
							transition: Fx.Transitions.Quad.easeOut
			});			
		};
		
		//Changing the action of the Submit button to see if results will show on the next page before moving to it.
		if($('showResults')) {
			$('showResults').addEvent('click', function(e){
					ed = new Event(e).stop();
					logWarning.addClass('none').setHTML('');
					var searchTmp = [];
					$$('#quickBrowse input[type="radio"]').each(function(el){
						if(el.checked == true) {
							if(el.name == 'price') {
							    searchTmp.push('"MinPrice": "' + utils.stripChar('|', el.value, 0) + '", "MaxPrice": "' + utils.stripChar('|', el.value, 1) + '"');
							} else {
							    searchTmp.push('"' + el.name.capitalize() + '": "' + el.value + '"');
							}
						}
					});
			    var tmpObject = Json.evaluate('{'+searchTmp.join(",")+'}'); // Now we have searchTmp as an array it seems pointless to do a join and then immediately evaluate, but it needs the braces...

			    var countURI = config['baseURI'] + 'Json/' + $('searchType').value +'s/Get' + $('searchType').value +'SearchCount.aspx?' + Object.toQueryString(tmpObject);

					var request = new Json.Remote(countURI, {
						method: 'get',
						onComplete: function(obj) {
							if(obj.count > 0) $('quickBrowse').submit();
							else {
								logWarning.removeClass('none').setHTML('Your search criteria above has no results make a change and try again.');
								warningFX.start({
									'background-color': ['#fff','#f0f9f8'],
									'opacity': [0,1]
								});
							}
						}
					
					}).send();
			});			
		}
		if($('clearResults')) {
			$('clearResults').addEvent('click', function(){
				$$('#quickBrowse input[type="radio"]').each(function(el){ el.checked = false; });
				$$('div.dd_wrapper span.light').each(function(el){ el.setHTML(el.title); });
				$$('.dd_wrapper', 'div.rad_wrapper').removeClass('checked');
				$$('div.rad_wrapper .radio').removeClass('selected');
				$('formLog').setHTML('');

			});
		}
	},

	setDropChoice: function(el) {
		var id = utils.stripChar('_', el.id, 0);
            $(utils.stripChar('_', el.id, 1)).checked = true;  // For the benefit of IE6, doesn't seem to check the radio button automatically when the radio button is hidden.
//		(el.getText()); // commented this as it didn't seem to be doing anything.
//		(id); // commented this as it didn't seem to be doing anything.
		if($(id+'_choice')) $(id+'_choice').setHTML(el.getText());
		if($(id+'Details').hasClass('checked') != true) $(id+'Details').addClass('checked');
		this.dropDown(id+'_options');
	},
	currentOpen: null,
	dropDown: function(panel) {
		if($(panel).hasClass('none')) {
			$(panel).removeClass('none');
			this.myTimer = this.myFunction.delay(4000, this);
			currentOpen = panel;
		} else {
			$(panel).addClass('none');
			myTimer = $clear(this.myTimer);			
		}
		$$('.dd_option_panel').each(function(node){
			if(node != $(panel)) $(node).addClass('none');
		});
		
	},
	myFunction: function(panel) {
		this.dropDown(currentOpen);
		myTimer = $clear(this.myTimer);	
	}
	
};
