﻿
/*_____________________________________________________________________________
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;

        if (this.listItem.select('div.price-slash')[0] == undefined) {
            $('result-overlay-details').select('div.price')[0].innerHTML =
			this.listItem.select('.listprice')[0].innerHTML;
        }
        else {
            $('result-overlay-details').select('div.price')[0].innerHTML =
			this.listItem.select('div.price-slash')[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();
    }
});
