
var lats;
var longs;
var adds;
var homeLat;
var homeLong;
var currentRegion1;
var lastNumDiv=0;
var isCampaignPage;
var isFindDealerClick;
var startAddressIndex;
var maxPageSize;
var isShowAll;
var pageNumber;

function gInit() {

	if (!lats || !lats.length || lats.length ==0) {
		return ;
	}
    
	var target = document.getElementById("map_canvas");
    if (target) {
		if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map_canvas"));
	    
		map.setCenter(new GLatLng(37.4419, -122.1419), 13);
		map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
		
		// Create a base icon for all of our markers that specifies the
		// shadow, icon dimensions, etc.
		var baseIcon = new GIcon();
		baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
		baseIcon.iconSize = new GSize(20, 34);
		baseIcon.shadowSize = new GSize(37, 34);
		baseIcon.iconAnchor = new GPoint(9, 34);
		baseIcon.infoWindowAnchor = new GPoint(9, 2);
		baseIcon.infoShadowAnchor = new GPoint(18, 25);
	    
		// Creates a marker at the given point
		// Clicking the marker will hide it
		function createMarker(point, number, address, linkIndex) {
			var numberedIcon = new GIcon(baseIcon);
			numberedIcon.image = "/img/maps/markers/iconr" + number + ".png";
	        
			// Set up our GMarkerOptions object
			markerOptions = { icon:numberedIcon };
		
			var marker = new GMarker(point, markerOptions);
			marker.value = number;
			GEvent.addListener(marker,"click", function() {createPopup(number, address, point)} );

			var linkElement = document.getElementById("linkNum"+linkIndex);
			if (linkElement)
			linkElement.onclick = function() {createPopupAndScroll(linkIndex, address, point) };

			return marker;
		}
		
		function createPopupAndScroll(number, address, point) {
			createPopup(number, address, point);
			window.scrollTo(0,document.getElementById("map_canvas").offsetTop);
			
		}
		
		function createPopup(number, address, point) {
		    var recordNumber=number;
		    if(pageNumber>0)
		    {
		        recordNumber=maxPageSize* (pageNumber - 1);
		        recordNumber=recordNumber+number;
		    }
		    
			var myHtml = "<table><tr><td valign=top><b>" + recordNumber + ".</b></td><td class='address-location'>" + address + "</td></tr></table><br/>";

			map.openInfoWindowHtml(point, myHtml , {onOpenFn : function(){
				if (typeof common != 'undefined') {
					if (j$.browser.msie) {
						j$(".address-location a[data-location]").click(common.drivingDirections.showDirectionsDialog);
					}
				}
			}});
		
			showSelectDiv(number);
			map.setCenter(zoomToBounds.getCenter())
			map.setZoom(9);

		}
			
		function SetActiveTabTab()
		{
			if (isCampaignPage == 'True')
			{
				document.getElementById('TabText0').className = 'dealerslideshowTabOnText';
				document.getElementById('TabContent0').style.display = 'block';
				document.getElementById('Tab0').className = 'dealerslideshowTabOn';

				document.getElementById('TabText1').className = 'dealerslideshowTabOffText';
				document.getElementById('TabContent1').style.display = 'none';
				document.getElementById('Tab1').className = 'dealerslideshowTabOff';
				$('dealerContainer').addClassName('hideMaplinks');
				$('selectLabelDiv').addClassName('displayNone');

			}
			else  {
			    if ($('TabContent1') != null) {
			        if (document.getElementById('TabContent1').style.display == 'block' )
			        {
				        document.getElementById('TabText1').className = 'dealerslideshowTabOnText';
				        document.getElementById('TabContent1').style.display = 'block';
				        document.getElementById('Tab1').className = 'dealerslideshowTabOn';

				        document.getElementById('TabText0').className = 'dealerslideshowTabOffText';
				        document.getElementById('TabContent0').style.display = 'none';
				        document.getElementById('Tab0').className = 'dealerslideshowTabOff';
			        }
			    }
			}
		}			
			
		function showSelectDiv(number) {

			var divElement = document.getElementById("divNum"+number);
			if (lastNumDiv != 0)
			{
				$("divNum"+lastNumDiv).removeClassName('selectedDealer');
			}
			if (divElement)
			{
				$("divNum"+number).addClassName('selectedDealer');
				lastNumDiv = number;
			}
		}
		
		// Creates a marker at the given point
		// This is a hidden marker
		function createHomeMarker(point) {
		
			var marker = new GMarker(point);
			return marker;
		}
	    
		var zoomToBounds = new GLatLngBounds();
	    
		if (!(homeLat == 0 && homeLong ==0)) {
			var point = new GLatLng(homeLat,homeLong);
			map.addOverlay(createHomeMarker(point));
			zoomToBounds.extend(point);
		}
	    
	    var addressIndex = startAddressIndex;
	    var displayIndex = 0;	    
		for (var i = startAddressIndex; i < lats.length; i++) {
			if (!(lats[i]==0 && longs[i]==0)) {
			    var point = new GLatLng(lats[i],longs[i]);
			    map.addOverlay(createMarker(point,displayIndex+1,adds[addressIndex], addressIndex+1));
			    zoomToBounds.extend(point);
    		    displayIndex++;
            }

			if(isShowAll == 'false'){
    	        if (displayIndex == maxPageSize)
	                break;
	        }

			addressIndex++;
			
		}
		map.setCenter(zoomToBounds.getCenter());
		var zoomLevel = map.getBoundsZoomLevel(zoomToBounds);
		if (zoomLevel > 16) {
			zoomLevel = 16;
		}
		
		map.setZoom(zoomLevel);
		}
    }

    if (isFindDealerClick != 'True')
		SetActiveTabTab();
  
}
/* functionality moved to common.js 

function showLocation(toAddress) {
	var fromAddress = document.getElementById("txtLocationID").value;
	//$('messageOverlay').popup.hide();
	j$('#messageOverlay').dialog('close')
	openPopup(encodeURI('../DrivingDirections/default.html?title='+document.title+ '&to='+ trimWhitespace(toAddress)+ '&from='+trimWhitespace(fromAddress))); return false;
	return false;
}
*/
function keyPress(toAddress){

	var key = null; 
	if(typeof event =='object') 
		key = event;
	if(event.keyCode == 13) {
		return showLocation(toAddress);
	}
	return true;
}

/*
function drivingDirectionClick(address) {
	new Popup('messageOverlay',null,{modal:true},{position:'center'});
	var addressTo = document.getElementById('toAddress');
	addressTo.value = address;
	$('messageOverlay').popup.show(); 

	var divElement = document.getElementById('popup_overlay');
    divElement.onclick = function () { $('messageOverlay').popup.hide() };
    var elements = $$('select'); // implicitly hide select drop downs for browser bug
    for (var i = 0; i < elements.length; i++) {
		 elements[i].hide();
	}	
}*/
