/**
 *	Local variables and HTML code for Boydgroup Website map styling and controls.
 *  Copyright 2011, Adnet Communications, unless otherwise noted
 *	Author: James Clarke
 */


// PARAMS() METHODS:
// .locationListing <-- returns html for list below map
// .locationData <-- returns html for Info Balloon
// .setupLocalFunctions <-- event handlers for page elements






	//IDs for HTML ELements	
	var mapEl = 'map_main'; 			// the map element
	var dimEl = 'dim_main'; 			// element to dim page, unused?
	var locationsEl = 'locations_main'; // locations container element id
	var routeEl = 'route_main'; 		// route container element id
	var helpEl = 'HelpText';			// help text for selecting booking location
	
	//IDs for HTML Form ELements
	var addressInput = 'street_main'; 	//street name
	var addressSubmit = 'findUs_main'; 	//submit button
	var zipInput = 'zip_main';		 	//zipcode/postalcode
	var zipSubmit = 'findZip_main'; 	//submit button
	
	//State polygon styling
	var stateColor = '#003893';			// !!! now baked into ProcomputedPolys.js - either recompute or edit manually.
	var stateOpacity = 0.3;				// global opacity for state outlines
	var stateOverOpacity = 0.6; 		// global mouseover opacity for state outlines
	
		//Find Us search box element ids
	var smallMapEl = "locMap"; // location page interactive map
	var mapContainerEl = 'mapBg';
	var searchAddress = "street";
	var searchButton = "findUs";
	var searchMapDim = 'dim';
	var searchMap = 'map';
	var locationPageURL = "http://www.boydgroup.com/Location.asp"; // appended with RID to open location page
	
		
	// set initial map center point (Lat/Long), set initial zoom level
	var myPoint = new GLatLng(49.9020004272,-97.2119979858); // initial center point (Lat/Long)
	var myCenterPoint = myPoint;	
	var loc_zoom = 15;	
	var zoom = 4;						//initial zoom level
	

	function PARAMS(){
		return this;
	}
	
	PARAMS.prototype.stateStyles = {
			color:stateColor,
			opacity:stateOpacity,
			overOpacity:stateOverOpacity
		}

	/** RETURNS HTML FOR NEAREST LOCATIONS LIST **/ 	
	PARAMS.prototype.locationListing = function(obj){
	
		var	html = '<div class="location">';
		   html += '<img src="http://www.boydgroup.com/i/common2011/map-blank.gif" style="background: url(http://maps.google.com/maps/api/staticmap?center='+obj.Lat+','+obj.Long+'&zoom=12&size=400x280&maptype=roadmap&markers=color:blue|label:!|'+obj.Lat+','+obj.Long+'&sensor=false) no-repeat center center">';
		   html += '<div class="inner">';
		   html += '<div class="address">';
		   html += '<h2>'+obj.Name+'</h2>';
		   html += '<p>'+obj.FullAddress+'</p>';
		   html += ' <a href="http://www.boydgroup.com/Location.asp?ReportID='+obj.RID+'" class="largeButton"><b>Go to this location</b></a>'; // need link
		   html += '</div>';
		   html += '<div class="phone">';
		   html += '<h3>Phone:</h3>';
		   html += '<h2>'+obj.Phone+'</h2>';
		   html += '<div class="directions"><b>Fax: '+obj.Fax+'</b><br /><b>Email: <a href="mailto:'+obj.Email+'">'+obj.Email+'</a></b></div>';
		   html += '<div class="directions"><a href="javascript:void(0)" class="smallButton" onclick="GMapLarge.getDirections(new GLatLng('+obj.Lat+','+obj.Long+'))"><b>Get Directions</b></a>';
		   html += '<form method=post action="http://www.boydgroup.com/Booking.asp" NAME=linkform>';
		   html += '<input type=hidden name="Email" size=20 value="'+obj.Email+'">';
		   html += '<input type=hidden name="Email2" size=20 value="'+obj.Email2+'">';
		   html += '<input type=hidden name="Name" value="'+obj.Name+'">';
		   html += '<input type=hidden name="Address" value="'+obj.FullAddress+'">';
		   html += '<input type=hidden name="Phone" value="'+obj.Phone+'">';
	//  html += '<input type=image src="http://www.boydgroup.com/i/common2011/BookAppointment.gif"></form>';
		   html += '</div>';
		   html += '</div>';
		   html += '<div class="clear"></div>';
		   html += '</div>';       
		   html += '<div class="clear"></div>';
		   html += '</div>';
		   
		   return html;
	}
	
	/** RETURNS HTML FOR INFO BALLOON**/ 
	PARAMS.prototype.locationData = function(obj){
			
		var html = '<div class="balloon">';
			html += '<h2>'+obj.Name+'</h2>';
			html += '<div class="logo">'
			
			if(obj.Name.toLowerCase().match('boyd')){
				html += '<img src="http://www.boydgroup.com/i/common2011/boyd-logo.gif" />';
			}else if(obj.Name.toLowerCase().match('gerber')){
				html += '<img src="http://www.boydgroup.com/i/common2011/gerber-logo.gif" />';
			}else if(obj.Name.toLowerCase().match('true')){
				html += '<img src="http://www.boydgroup.com/i/common2011/true2form-logo.gif" />';
			}else if(obj.Name.toLowerCase().match('anvil')){
				html += '<img src="http://www.boydgroup.com/i/common2011/anvil-logo.gif" />';
			}else if(obj.Name.toLowerCase().match('cars')){
				html += '<img src="http://www.boydgroup.com/i/common2011/cars-logo.png" />';
			}else if(obj.Name.toLowerCase().match('master')){
				html += '<img src="http://www.boydgroup.com/i/common/master-logo.png" />';
			}
			html += '<br><br><a href="javascript:void(0)" class="smallButton" onclick="GMapLarge.getDirections(new GLatLng('+obj.Lat+','+obj.Long+'))"><b>Get Directions</b></a><br><a href="http://www.boydgroup.com/Location.asp?ReportID='+obj.RID+'" class="smallButton"><b>Go to this location</b></a>';
			html += '</div>';
			
			html += '<p>'+obj.FullAddress+'<br /><br />';
		
			html += 'Hours of Operation:<br />';
			html += obj.Hours+'<br /><br />';
		
			html += 'Phone:'+obj.Phone+'<br />';
			html += 'Fax:'+obj.Fax+'<br />';
			html += 'Email: <a href="mailto:'+obj.Email+'">'+obj.Email+'</a></p>';
			html += '</div>';

		return html;

	}
	
	
	PARAMS.prototype.setupLocalFunctions = function (){
	
	
		//check if location is opened as a picking session [book appointment]
		if(UTILS.getSearchString() == 1){
			document.getElementById(helpEl).style.display = 'block';
		}else{
			document.getElementById(helpEl).style.display = 'none';	
		}
		
		// stuff for find box
		document.getElementById(addressInput).onfocus = function(){
				if(this.value == "Enter your address"){
					this.value = "";
				}
			}
		document.getElementById(addressInput).onkeypress = function(e){
			if(window.event){
				keyPressed = window.event.keyCode; // IE
			}else{
				keyPressed = e.which; // Firefox
			}
			if(keyPressed == 13){ // on enter, submit address
				address = document.getElementById(addressInput).value;
				GMapLarge.showAddress();
			}
		}
		document.getElementById(addressSubmit).onclick = function(){
			address = document.getElementById(addressInput).value;	
			GMapLarge.showAddress();
		}
		document.getElementById(zipSubmit).onclick = function(){
			address = document.getElementById(zipInput).value;
			GMapLarge.showAddress();
		}
		
		document.getElementById(zipInput).onkeypress = function(e){
			if(window.event){
				keyPressed = window.event.keyCode; // IE
			}else{
				keyPressed = e.which; // Firefox
			}
			if(keyPressed == 13){ // on enter, submit zip
				address = document.getElementById(zipInput).value;
				GMapLarge.showAddress();
			}
		}
		
	}
	
		
	// icon definitions	
	var userIcon = new GIcon();
		userIcon.image = "http://www.boydgroup.com/i/common2011/user_marker5.png";
		userIcon.shadow = "http://www.boydgroup.com/i/common2011/user_shadow.png";
		userIcon.iconSize = new GSize(28, 27);
		userIcon.shadowSize = new GSize(28, 27);
		userIcon.iconAnchor = new GPoint(11, 28);
		userIcon.infoWindowAnchor = new GPoint(5, 1);
	var markerOptions = {draggable: true, title:'You Are Here, Drag to Move', icon:userIcon };
		
	var boydIcon = new GIcon();
		boydIcon.image = "http://www.boydgroup.com/i/common2011/boyd_marker2.png";
		boydIcon.shadow = "http://www.boydgroup.com/i/common2011/boyd_shadow.png";
		boydIcon.iconSize = new GSize(25, 24);
		boydIcon.shadowSize = new GSize(25, 24);
		boydIcon.iconAnchor = new GPoint(9, 24);
		boydIcon.infoWindowAnchor = new GPoint(5, 1);
	var boydMarkerOptions = { icon:boydIcon };

	var anvilIcon = new GIcon();
		anvilIcon.image = "http://www.boydgroup.com/i/common2011/anvil_marker.png";
		anvilIcon.shadow = "http://www.boydgroup.com/i/common2011/anvil_shadow.png";
		anvilIcon.iconSize = new GSize(25, 24);
		anvilIcon.shadowSize = new GSize(25, 24);
		anvilIcon.iconAnchor = new GPoint(9, 24);
		anvilIcon.infoWindowAnchor = new GPoint(5, 1);
	var anvilMarkerOptions = { icon:anvilIcon };
	
	var true2Icon = new GIcon();
		true2Icon.image = "http://www.boydgroup.com/i/common2011/true2form_marker2.png";
		true2Icon.shadow = "http://www.boydgroup.com/i/common2011/true2form_shadow.png";
		true2Icon.iconSize = new GSize(25, 24);
		true2Icon.shadowSize = new GSize(25, 24);
		true2Icon.iconAnchor = new GPoint(9, 24);
		true2Icon.infoWindowAnchor = new GPoint(5, 1);
	var true2MarkerOptions = { icon:true2Icon };
		
	var gerberIcon = new GIcon();
		gerberIcon.image = "http://www.boydgroup.com/i/common2011/gerber_marker3.png";
		gerberIcon.shadow = "http://www.boydgroup.com/i/common2011/gerber_shadow.png";
		gerberIcon.iconSize = new GSize(25, 24);
		gerberIcon.shadowSize = new GSize(25, 24);
		gerberIcon.iconAnchor = new GPoint(9, 24);
		gerberIcon.infoWindowAnchor = new GPoint(5, 1);
	var gerberMarkerOptions = { icon:gerberIcon };			

	var carsIcon = new GIcon();
		carsIcon.image = "http://www.boydgroup.com/i/common2011/cars_marker.png";
		carsIcon.shadow = "http://www.boydgroup.com/i/common2011/boyd_shadow.png";
		carsIcon.iconSize = new GSize(25, 24);
		carsIcon.shadowSize = new GSize(25, 24);
		carsIcon.iconAnchor = new GPoint(9, 24);
		carsIcon.infoWindowAnchor = new GPoint(5, 1);
	var carsMarkerOptions = { icon:carsIcon };	
	
	var masterIcon = new GIcon();
		masterIcon.image = "http://www.boydgroup.com/i/common/master_marker.png";
		masterIcon.shadow = "http://www.boydgroup.com/i/common/boyd_shadow.png";
		masterIcon.iconSize = new GSize(25, 24);
		masterIcon.shadowSize = new GSize(25, 24);
		masterIcon.iconAnchor = new GPoint(9, 24);
		masterIcon.infoWindowAnchor = new GPoint(5, 1);
	var masterMarkerOptions = { icon:masterIcon };	


	function showAllLocations(p){
		//localize 
		GMapLarge.showAllLocations(p);	
	}

var PARAMS = new PARAMS();
