﻿
/*_____________________________________________________________________________
Class: ResultItem : CBHMapItem
	mlsnumber: required
	lat: required
	lng: required
*/
var MapResultItem = Class.create(MapItem, {
	initialize: function($super, params)
	{
		this.mlsnumber = params.listItem.select('span.mlsnumber')[0].innerHTML;
		this.listItem = params.listItem;
		params = Object.extend(params, 
		{
			name: this.mlsnumber,
			icon: CBHIcons.homeIcon,
			iconOver: '/assets/images/map/marker_home-highlight.png',
			infoClassName: 'overlay',
			lat: this.listItem.select('input.latitude')[0].value,
			lng: this.listItem.select('input.longitude')[0].value
		});
		$super(params);
		this.html = '';
				
	    GEvent.bind(this.marker, 'mouseover', this, this.marker_Over);
	    GEvent.bind(this.marker, 'mouseout', this, this.marker_Out);
	    GEvent.bind(this.marker, 'click', this, this.marker_Click);
	},
	generateHtml: function()
	{
		//TO DO: populate values
		var base = this;
		
		$('result-overlay-details').select('img.photo')[0].src = 
			this.listItem.select('img.photo')[0].src;
		$('result-overlay-details').select('div.price')[0].innerHTML = 
			this.listItem.select('span.listprice')[0].innerHTML;
		$('result-overlay-details').select('div.community span a')[0].innerHTML =
			this.listItem.select('a.subDivision')[0].innerHTML;
		$('result-overlay-details').select('div.community span a')[0].href =
			this.listItem.select('a.subDivision')[0].href;
		$('result-overlay-details').select('div.squarefeet span.info')[0].innerHTML =
			this.listItem.select('span.squarefeet')[0].innerHTML;
		$('result-overlay-details').select('div.address a')[0].innerHTML =
			this.listItem.select('span.street')[0].innerHTML + ' ' +
			this.listItem.select('span.city')[0].innerHTML + ', ' +
			this.listItem.select('span.state')[0].innerHTML + ' ' +
			this.listItem.select('span.zip')[0].innerHTML + ' ';
		$('result-overlay-details').select('div.beds-baths span.beds')[0].innerHTML =
			this.listItem.select('span.bedrooms')[0].innerHTML;
		$('result-overlay-details').select('div.beds-baths span.baths')[0].innerHTML =
			this.listItem.select('span.bathrooms')[0].innerHTML;
		$('result-overlay-details').select('div.beds-baths span.garage')[0].innerHTML =
			this.listItem.select('span.garage')[0].innerHTML;
		
		$('result-overlay-details').select('a.detail-link').each(function(detailLink)
		{
			detailLink.href += base.mlsnumber;
		});
		
		
		this.html = $('result-overlay-details').innerHTML;
		//this.html = $('div' + this.name).innerHTML;
	},
	marker_Over: function()
	{
		this.marker.setImage(this.params.iconOver);
	},
	marker_Out: function()
	{
		this.marker.setImage(this.icon.image);
	},
	marker_Click: function()
	{
		if (this.html.length == 0)
		{
			this.generateHtml();
			this.window.updateHtml(this.html);
		}
		this.window.show();
	}
});