
    var map, infoWindow, myStrokeWeight, myZoomLevel, Checks, CheckMarkers, StationMarkers, metroControlDiv;
	var Checks = new Array();
    var CheckMarkers = new Array();
    var StationMarkers = new Array();

    window.onload = function () {


        //#region initialize

				
		function MetroControl(controlDiv, map) {

		  controlDiv.style.padding = '7px';

		  var controlUI = document.createElement('DIV');
		  controlUI.style.backgroundColor = 'white';
		  controlUI.style.borderStyle = 'solid';
		  controlUI.style.borderWidth = '1px';
		  controlUI.style.cursor = 'pointer';
		  controlUI.style.textAlign = 'center';
		  controlUI.title = 'Cliquer pour afficher les lignes de metro';
		  controlDiv.appendChild(controlUI);

		  var controlText = document.createElement('DIV');
		  controlText.style.fontFamily = 'Arial,sans-serif';
		  controlText.style.fontSize = '13px';
		  controlText.style.paddingLeft = '5px';
		  controlText.style.paddingRight = '5px';
		  controlText.innerHTML = '<img src=images/checkbox-unchecked15.png /> Afficher les lignes de Metro';
		  controlUI.appendChild(controlText);

		  google.maps.event.addDomListener(controlUI, 'click', function() {
				showMetro();
				if (polyline_M1.map != null) {
					controlText.innerHTML = '<img src=images/checkbox-checked15.png /> Afficher les lignes de Metro';
					controlUI.title = 'Cliquer pour enlever les lignes de metro';
				}
				else {
					controlText.innerHTML = '<img src=images/checkbox-unchecked15.png /> Afficher les lignes de Metro';
					controlUI.title = 'Cliquer pour afficher les lignes de metro';
				}
			});
		}
		
		function expandCarte(controlDiv, map) {

		  controlDiv.style.padding = '7px';

		  var controlUI = document.createElement('DIV');
		  controlUI.title = 'Agrandir la carte';
		  controlUI.style.cursor = 'pointer';
		  controlDiv.appendChild(controlUI);

		  var controlText = document.createElement('DIV');
		  controlText.innerHTML = '<img id="boutonAgrandir" src="images/agrandir2.png" /> ';
		  controlUI.appendChild(controlText);

		  google.maps.event.addDomListener(controlUI, 'click', function() {
				if ($("img[id=boutonAgrandir]").attr("title") == "Minimiser la carte") {
					fermerBox();
//					controlText.innerHTML = '<img id="boutonAgrandir" src="images/popup-closeButton2.png" /> ';
//					controlUI.title = 'Minimiser la carte';
				}
				else {
					tailleCarte();
//					controlText.innerHTML = '<img id="boutonAgrandir" src="images/agrandir2.png" /> ';
//					controlUI.title = 'Agrandir la carte';				
				}
			});
		}

		setCity(ville);
		
        // Creating a MapOptions object with the required properties
        var options = {
            zoom: 13,
            center: positionStart,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        // Creating the map  
        map = new google.maps.Map(document.getElementById('map'), options);

		metroControlDiv = document.createElement('DIV');
		var metroControl = new MetroControl(metroControlDiv, map);
		metroControlDiv.index = 1;
		map.controls[google.maps.ControlPosition.TOP_RIGHT].push(metroControlDiv);
		
		var aggrandirControlDiv = document.createElement('DIV');
		var aggrandirControl = new expandCarte(aggrandirControlDiv, map);
		aggrandirControlDiv.index = 1;
		map.controls[google.maps.ControlPosition.RIGHT_TOP].push(aggrandirControlDiv);
		
        myZoomLevel = map.getZoom();

        google.maps.event.addListener(map, 'zoom_changed', function () {
            myZoomLevel = map.getZoom();
			refreshStrokeWeight();
			refreshAllLines();
			refreshAllCheckMarkers();
		});
		premierAffichage();
        // #endregion

    };


	function premierAffichage() {
		var timer = setTimeout("refreshAllCheckMarkers()", 500);
	}	

function setCity(ville) {
	switch (ville) {
		default: { 
			positionStart = new google.maps.LatLng(48.85538968678794, 2.344476442337071);
			if (map != null) {
				map.setCenter(positionStart);
			}
			break;
		}
		case 1: { //Paris
			positionStart = new google.maps.LatLng(48.85538968678794, 2.344476442337071);
			if (map != null) {
				map.setCenter(positionStart);
			}
			break;
		}
		case 2: { //Lille
			positionStart = new google.maps.LatLng(50.63718, 3.06302);
			if (map != null) {
				map.setCenter(positionStart);
			}
			break;
		}
		case 3: { //Lyon
			positionStart = new google.maps.LatLng(45.76730, 4.83433);
			if (map != null) {
				map.setCenter(positionStart);
			}
			break;
		}
		case 4: { //Toulouse
			positionStart = new google.maps.LatLng(43.60436, 1.44295);
			if (map != null) {
				map.setCenter(positionStart);
			}
			break;
		}
	}
}


