

function initResizeControl() {
	if ( document.getElementById('map-filters')!= null){
		/* initialisation des transparences */
		
		$$('#map-size .overlay').setOpacity('0.7');
		
		
		
		/* Pour se rappeler de l'état au fil des pages */
		if(Cookie.get('map-size') == 1) {
			retractMap();
		} else {
			expandMap();
		}
		
		/* reduire la map au click */
		$('map-retract').addEvent('click', function() {
			retractMap();
		});
		
		
		/* grandir la map au click */
		$('map-expand').addEvent('click', function() {
			expandMap();
		});
	}
}


function retractMap() {
		//alert($('map-wrapper').getStyle('height'));
		$('map-filters').setStyle('display', 'none');
		$('map-canvas').setStyle('height', 80);
		$('map-wrapper').setStyle('height', 80);
		$('map-retract').setOpacity('0.6');
		$('map-expand').setOpacity('1');
		Cookie.set('map-size', 1);
		map.hideControls();
		map.disableInfoWindow();
}

function expandMap() {
	if ($('map-size') != null){
		map.showControls();
		$('map-filters').setStyle('display', 'block');
		$('map-canvas').setStyle('height', 300);
		$('map-wrapper').setStyle('height', 330);
		$('map-retract').setOpacity('1');
		$('map-expand').setOpacity('0.6');
		Cookie.set('map-size', 2);
		map.showControls();
		map.enableInfoWindow();
	}
}





function mapStyle(style) {
	var style = (style == null) ? 1 : style;
	
	var myEffects = new Fx.Style('map-canvas', 'height', {
		duration: 500,
		transition: Fx.Transitions.Quint.easeOut
	});
	
	
	
	
	if(style == 1) {
		myEffects.start(200);
	} else if(style == 2) {
		myEffects.start(400);
	}
}






function isdefined(variable)
{
    return (!(!( variable||false )));
}






function openInfoWindow(markerId, release) {
	expandMap();
	var marker = markersArray[markerId];
	GEvent.trigger(marker, 'click');
	release.setProperty('href', "#map-canvas");

}


function hideMarkerGroup(group) {
	markerGroups[group].each(function(marker) {
		marker.hide();
	});
}


function showMarkerGroup(group) {
	markerGroups[group].each(function(marker) {
		marker.show();
	});
}




function createCustomMarker(lat, lon, title, small, maximized) {
		var point = new GLatLng(lat, lon, 9);
			
		var baseIcon = new GIcon();
				baseIcon.iconSize = new GSize(24, 21);
				baseIcon.iconAnchor = new GPoint(12, 11);
				baseIcon.infoWindowAnchor = new GPoint(24, 21);
				baseIcon.image = "/images/icones_map/icone_danger.png";
		
		var marker = new GMarker(point, {draggable: false, icon:baseIcon });
		GEvent.addListener(marker, "click", function() {
			/*
			if(isdefined(maximized)) {			
				var infoWindow = marker.openInfoWindowHtml("<h1>"+title+"</h1>"+small, {maxWidth:210, maxTitle: title, maxContent: maximized});
			} else {
			*/
				var infoWindow = marker.openInfoWindowHtml("<h1>"+title+"</h1>"+small, {maxWidth:210});
			//}
			
			
		});
	/*	
		GEvent.addListener(marker, "dragstart", function() {
          map.closeInfoWindow();
        });

        GEvent.addListener(marker, "dragend", function() {
          marker.openInfoWindowHtml(marker.getLatLng().toUrlValue());
        });
		*/
		
	  	return marker;		
	
}







function createMarker(markerInfos) {
		
		/* ligne a ne pas enlever, resoud un bug mooTools */
		var mooMarkerInfos = $E('title', markerInfos);
		
		
		/*	Options possibles 
		
		    - infoHtml (correspond a l'infobulle minimis?e)
    		- icon {sncf, }
    		- maximizedTitle
    		- maximizedHtml */
		
		if(markerInfos.getElement('info_html') != null) {
			var info_html = markerInfos.getElement('info_html').getText();
		}
		
		if(markerInfos.getElement('maximized_title') != null) {
			var maximized_title = markerInfos.getElement('maximized_title').getText();
		}
		if(markerInfos.getElement('maximized_html') != null) {
			var maximized_html = markerInfos.getElement('maximized_html').getText();
		}
		
		
		var icon = markerInfos.getAttribute("icon");
		

		/* version XML */
		
		var point = new GLatLng(parseFloat(markerInfos.getAttribute("lat")), parseFloat(markerInfos.getAttribute("lon")), 9);		
		
		/* icone custom */
		
		if(icon != null) {
			switch(icon) {
				case 'homegarden':			
				var baseIcon = new GIcon();
				baseIcon.shadow = "http://maps.google.fr/mapfiles/ms/micons/homegardenbusiness.shadow.png";
				baseIcon.image = "http://maps.google.fr/mapfiles/ms/micons/homegardenbusiness.png";
				baseIcon.iconSize = new GSize(32, 32);
				baseIcon.shadowSize = new GSize(59, 32);
				baseIcon.iconAnchor = new GPoint(0, 0);
				baseIcon.infoWindowAnchor = new GPoint(0, 0);
				baseIcon.infoShadowAnchor = new GPoint(0, 0);
				break;
				
				case 'sncf':			
				var baseIcon = new GIcon();
				baseIcon.iconSize = new GSize(34, 18);
				baseIcon.shadowSize = new GSize(34, 18);
				baseIcon.iconAnchor = new GPoint(0, 0);
				baseIcon.infoWindowAnchor = new GPoint(0, 0);
				baseIcon.image = "/images/icones_map/picto_transport_train.png";
				baseIcon.shadow = "/images/icones_map/picto_transport_train_ombre.png";
				break;
				
				case 'bluedot':			
				var baseIcon = new GIcon();
				baseIcon.shadow = "/images/icones_map/gmarker.shadow.png";
				baseIcon.image = "/images/icones_map/blue-dot.png";
				baseIcon.iconSize = new GSize(32, 32);
				baseIcon.shadowSize = new GSize(59, 32);
				baseIcon.iconAnchor = new GPoint(0, 0);
				baseIcon.infoWindowAnchor = new GPoint(0, 0);
				baseIcon.infoShadowAnchor = new GPoint(0, 0);
				break;
				
				case 'punaise_rouge':			
				var baseIcon = new GIcon();
				baseIcon.shadow = "/images/icones_map/gmarker.shadow.png";
				baseIcon.image = "/images/icones_map/punaise_rouge.png";
				baseIcon.iconSize = new GSize(32, 32);
				baseIcon.shadowSize = new GSize(32, 32);
				baseIcon.iconAnchor = new GPoint(0, 0);
				baseIcon.infoWindowAnchor = new GPoint(0, 0);
				baseIcon.infoShadowAnchor = new GPoint(0, 0);
				break;
				
				case 'parkings':			
				var baseIcon = new GIcon();
				baseIcon.image = "/images/icones_map/picto_transport_parking.png";
				baseIcon.shadow = "/images/icones_map/picto_transport_parking_ombre.png";
				baseIcon.iconSize = new GSize(33, 23);
				baseIcon.shadowSize = new GSize(33, 23);
				baseIcon.iconAnchor = new GPoint(0, 0);
				baseIcon.infoWindowAnchor = new GPoint(0, 0);
				baseIcon.infoShadowAnchor = new GPoint(0, 0);
				break;
				
				case 'aeroports':			
				var baseIcon = new GIcon();
				baseIcon.image = "/images/icones_map/picto_transport_avion.png";
				baseIcon.shadow = "/images/icones_map/picto_transport_avion_ombre.png";
				baseIcon.iconSize = new GSize(26, 31);
				baseIcon.shadowSize = new GSize(26, 31);
				baseIcon.iconAnchor = new GPoint(0, 0);
				baseIcon.infoWindowAnchor = new GPoint(0, 0);
				baseIcon.infoShadowAnchor = new GPoint(0, 0);
				break;
				
				case 'ports':			
				var baseIcon = new GIcon();
				baseIcon.image = "/images/icones_map/picto_transport_bateau.png";
				baseIcon.shadow = "/images/icones_map/picto_transport_bateau_ombre.png";
				baseIcon.iconSize = new GSize(29, 15);
				baseIcon.shadowSize = new GSize(29, 15);
				baseIcon.iconAnchor = new GPoint(0, 0);
				baseIcon.infoWindowAnchor = new GPoint(0, 0);
				baseIcon.infoShadowAnchor = new GPoint(0, 0);
				break;
				
				case 'autopartage':			
				var baseIcon = new GIcon();
				baseIcon.image = "/images/icones_map/autopartage.png";
				baseIcon.iconSize = new GSize(16, 16);
				baseIcon.shadowSize = new GSize(59, 32);
				baseIcon.iconAnchor = new GPoint(0, 0);
				baseIcon.infoWindowAnchor = new GPoint(0, 0);
				baseIcon.infoShadowAnchor = new GPoint(0, 0);
				break;
				
				default:
			
				var baseIcon = new GIcon();
				baseIcon.shadow = "/images/icones_map/gmarker.shadow.png";
				baseIcon.image = "/images/icones_map/punaise_rouge.png";
				baseIcon.iconSize = new GSize(32, 32);
				baseIcon.shadowSize = new GSize(32, 32);
				baseIcon.iconAnchor = new GPoint(0, 0);
				baseIcon.infoWindowAnchor = new GPoint(0, 0);
				baseIcon.infoShadowAnchor = new GPoint(0, 0);
				break;
			}
			
			markerOptions = { draggable:true, icon:baseIcon };
		} else {
		
			var baseIcon = new GIcon();
			baseIcon.shadow = "/images/icones_map/gmarker.shadow.png";
			baseIcon.image = "/images/icones_map/punaise_rouge.png";
			baseIcon.iconSize = new GSize(32, 32);
			baseIcon.shadowSize = new GSize(32, 32);
			baseIcon.iconAnchor = new GPoint(0, 0);
			baseIcon.infoWindowAnchor = new GPoint(0, 0);
			baseIcon.infoShadowAnchor = new GPoint(0, 0);

			markerOptions = { draggable:true, icon:baseIcon };
		}
		
		
		
		
	  	//var marker = new GMarker(point, markerOptions);
		var marker = new GMarker(point, markerOptions);
		
        GEvent.addListener(marker, "dragstart", function() {
          map.closeInfoWindow();
        });

        GEvent.addListener(marker, "dragend", function() {
          marker.openInfoWindowHtml(marker.getLatLng().toUrlValue());
        });

		GEvent.addListener(marker, "click", function() {
			
			if(isdefined(maximized_html)) {
				if(isdefined(maximized_title) == false) {
					//var maximizedTitle = "default";
				}
				var infoWindow = marker.openInfoWindowHtml(info_html, {maxWidth:300, maxTitle: maximized_title, maxContent: maximized_html});
			} else {
				var infoWindow = marker.openInfoWindowHtml(info_html, {maxWidth:300});
			}
			
			$('custom-maximize').addEvent('click', function() {
				map.getInfoWindow().maximize();
				//alert(infoWindow);
			});
		});
		
		

	  	return marker;		
		
		

}





