﻿/*******************************************************************************************************************************
* Variables Globales ***********************************************************************************************************
*******************************************************************************************************************************/
var initialised = false;
var lang = 0;	//0 = English : 1 = French

var bounds = null;
var map = null;
var mapClicked = false;

var latitude 	=  45.393670;
var longitude = -71.897100;

/*========================================================================================================================*/
function inArray(varElement, varArray)
/*========================================================================================================================*/
{
	var isIn = false;
	
	for(i in varArray)
	{
		if(varArray[i] == varElement)
		{
			isIn = true;
			break;
		}
	}
	
	return isIn;
}

/*========================================================================================================================*/
function mapClick(overlay, latlng, overlaylatlng)
/*========================================================================================================================*/
{
	if(map != null && mapClicked == false)
  	map.enableScrollWheelZoom();
  mapClicked = true;
  document.getElementById("map").style.border = "2px solid #000";
}

/*========================================================================================================================*/
function documentClick(evt)
/*========================================================================================================================*/
{
  if(mapClicked == false)
  {
		if(map != null)
    	map.disableScrollWheelZoom();
			
		mapElement = document.getElementById("map")
		
		if(mapElement != null)
			mapElement.style.border = "";
			//mapElement.style.border = "2px solid #fff";
  }
    
  mapClicked = false;
}

/*========================================================================================================================*/
function isFct(varFct)
/*========================================================================================================================*/
{
	return 'function' == typeof varFct;
}

/*========================================================================================================================*/
function createTabbedMarker(point,htmls,labels)
/*========================================================================================================================*/
{
  // Sample custom marker code created with Google Map Custom Marker Maker
  // http://www.powerhut.co.uk/googlemaps/custom_markers.php
  var mIcon = new GIcon();
  mIcon.image = "../images/markers/Hypershell/image.png";
  mIcon.shadow = '../images/markers/Hypershell/shadow.png';
  mIcon.iconSize = new GSize(30,30);
  mIcon.shadowSize = new GSize(45,30);
  mIcon.iconAnchor = new GPoint(0,30);
  mIcon.infoWindowAnchor = new GPoint(15,0);
  mIcon.printImage = '../images/markers/Hypershell/printImage.gif';
  mIcon.mozPrintImage = '../images/markers/Hypershell/mozPrintImage.gif';
  mIcon.printShadow = '../images/markers/Hypershell/printShadow.gif';
  mIcon.transparent = '../images/markers/Hypershell/transparent.png';
  mIcon.imageMap = [23,0,24,1,25,2,26,3,27,4,27,5,28,6,28,7,29,8,29,9,29,10,29,11,29,12,29,13,29,14,29,15,29,16,28,17,28,18,28,19,27,20,27,21,26,22,25,23,24,24,23,25,22,26,21,27,4,28,2,29,0,29,0,28,0,27,1,26,2,25,3,24,3,23,3,22,3,21,3,20,3,19,3,18,3,17,3,16,3,15,3,14,3,13,3,12,3,11,3,10,3,9,4,8,4,7,4,6,4,5,4,4,4,3,4,2,4,1,4,0];
  
  var marker = new GMarker(point, {icon:mIcon});
  GEvent.addListener(marker, "click", function()
                                        {
                                          var tabs = [];
                                          for (var i=0; i<htmls.length; i++)
                                          {
                                            if(htmls[i] != null && htmls[i] != "")
                                            {
                                              tabs.push(new GInfoWindowTab(labels[i],htmls[i]));
                                            }
                                          }
                                          marker.openInfoWindowTabsHtml(tabs);
                                        }
                    );
  
  return marker;
}

/*========================================================================================================================*/
function InitMap()
/*========================================================================================================================*/
{
  //********** The map itself **********//
	map = null;
  map = new google.maps.Map2(document.getElementById("map"), adsafe = "high");
	if(map != null)
	{
		map.enableGoogleBar();
		map.enableContinuousZoom();
		map.enableScrollWheelZoom();
		map.setUIToDefault();
		
		map.disableScrollWheelZoom();
		GEvent.addListener(map, "click", mapClick);
		GEvent.addListener(map, "movestart", mapClick);
		
		map.setCenter(new google.maps.LatLng(latitude, longitude), 13);
		
		//********** The overview **********//  
		var ovcontrol = new GOverviewMapControl(new GSize(150,150)); 
		map.addControl(ovcontrol);
	}
} 

/*========================================================================================================================*/
function loadGoogleMap()
/*========================================================================================================================*/
{
	var picTabTitles = ["Building", "Bâtisse"];
	var addTabTitles = ["Address", "Addresse"];
	
	var point = new GLatLng(latitude, longitude);
	var marker = createTabbedMarker(point
																	, ["<strong>Hypershell</strong><br /><br />"
																		 		+ "<img id=\"mapImgBuilding\" src=\"../images/contact/740WebVersion.jpg\" width=\"150\" height=\"100\">"
																		 , "<div align=\"left\">"
																		       + "<strong>Hypershell</strong>"
																					 + "<br />"
																					 + "<br />740 Galt Street West, Suite 401"
																					 + "<br />Sherbrooke (Quebec) J1H 1Z3"
																					 + "<br />Phone: (819) 822-3890"
																					 + "<br />Fax: (819) 822-1813"
																					 + "<br />info@hypershell.com"
																				+ "</div>"]
																	  , [picTabTitles[selectedLang], addTabTitles[selectedLang]]);
		
	InitMap();
	map.clearOverlays();
	map.addOverlay(marker);
	map.setCenter(new google.maps.LatLng(latitude + 0.015, longitude - 0.014), 13);
}

/*========================================================================================================================*/
function resetMap()
/*========================================================================================================================*/
{
	loadGoogleMap();
}

/*========================================================================================================================*/
function Start()
/*========================================================================================================================*/
{
	setTimeout(loadGoogleMap, 10);
	
  document.onclick = documentClick;

	roundCorners("pdfDownloadContainer");
	//roundCorners("imgMap");
	roundCorners("map");
	roundCorners("imgBuilding");
	roundCorners("mapImgBuilding");
}

