/**
 * @category    Unic
 * @package     Unic_Dealerlocator
 * @author      Monica Frisoni
 * @version     0.1
 */

var Dealer = {
	map: null,
	mainMarkerImage: null,
	markerImage: null,
	
	init: function(map){
		Dealer.map = map;
	},
	setMainMarkerImage: function(path){
		Dealer.mainMarkerImage = new google.maps.MarkerImage(path,
			      new google.maps.Size(47, 47),
			      new google.maps.Point(0,0),
			      new google.maps.Point(24, 47));
	},
	setMarkerImage: function(path){
		Dealer.markerImage = new google.maps.MarkerImage(path,
			      new google.maps.Size(30, 30),
			      new google.maps.Point(0,0),
			      new google.maps.Point(15, 30));
	},

	addMarker: function(lat, lng, html){
		var latlng = new google.maps.LatLng(lat,lng);
		var marker = new google.maps.Marker({
			position: latlng,
			map: Dealer.map,
			icon: Dealer.markerImage
		});
		var infowindow = new google.maps.InfoWindow({
			content: html
		})
		google.maps.event.addListener(marker, "click", function(){
			infowindow.open(Dealer.map, marker);		
		});
		return marker;
	},
	
	addMainMarker: function(lat, lng, html){
		var latlng = new google.maps.LatLng(lat,lng);
		var marker = new google.maps.Marker({
			position: latlng,
			map: Dealer.map,
			icon: Dealer.mainMarkerImage
		});
		var infowindow = new google.maps.InfoWindow({
			content: html
		})
		google.maps.event.addListener(marker, "click", function(){
			infowindow.open(Dealer.map, marker);		
		});
		return marker;
	},
	mapContainsMarker: function(marker){
		var bounds = Dealer.map.getBounds();
		var latlng = marker.getPosition();
		return bounds.contains(latlng);
	}
}

var UnicDealerBox = Class.create();

UnicDealerBox.prototype = {
		
	currentDisplayed: null,
	
	initialize: function(){
	},
	
	display: function(id){
		this.closeAll();
		if(id != null && $(id) != null){
			this.currentDispalyed = id;
			$(this.currentDispalyed).show();
		}
	},
	
	closeAll: function(){
		if(this.currentDispalyed != null && $(this.currentDispalyed) != null){
			$(this.currentDispalyed).hide();
		}
		
		this.currentDispalyed = null;
	}
}



