/**
 * dependcies:
 * mootools v1.2 (http://www.mootools.net)
 * Author: Mark Hudson, mark@ritetek.com
 */
 

// set Jade Group Namespace if not already defined
if (typeof JG == "undefined") {
	var JG = {};
}

JG.winLoaded = false;
JG.domReady = false;
JG.section = null;
 
 /* ------------------------------------------------------------------------------------------------
 * Page initialization
 * ------------------------------------------------------------------------------------------------
 */


window.addEvent('domready',function() {
	JG.domReady = true;
	JG.section = document.body.id;
	
	if(JG.section == 'projects') {
		JG.projectsMap.init('#projectsMap');
	}
	else if(JG.section == 'project') {
		new Tabs(document.getElement('.tabbedContent'));
	}
	else if(JG.section == 'gallery') {
		new Tabs(document.getElement('.tabbedContent'));
	}
});

function getArguments() {
	if(window.location.search.split('?').length < 2) return false;
	
	var args = window.location.search.split('?')[1].split('&');
	var response = Array();
	
	for (var i = 0; i < args.length; i++) {
		var pair = args[i].split('=');
		response[pair[0]] = pair[1];
	}
	
	return response;
}

JG.projectsMap = {
	init: function(map) {
		map = document.getElement(map);
		
		this.infoMarkup = '<div class="mapBaloon">'+
		'<img src="media/brands/banner-{brand_id}.gif" alt="{brand}" />'+
		'<h3>{brand}</h3>'+
		//'<h4>Completion Date</h4>'+
		//'<p class="date">{date_completed}</p>'+
		'</div>';
		
		if (GBrowserIsCompatible()) {
			this.map = new GMap2(map);
			this.map.addControl(new GLargeMapControl3D());
			this.map.addControl(new GMapTypeControl());
			this.map.setCenter(new GLatLng(39, -95), 4);
			
			for(var i = 0; i < this.projects.length; i++) {
				var project = this.projects[i];
				var point = new GLatLng(project.lat, project.lng);
				var marker = this.createMarker(point, i);
				this.map.addOverlay(marker);
			}
		}
		else {
			alert("Sorry, the Google Maps API is not compatible with this browser");
		}
	},
	
	createMarker: function(point, i) {
		var color = this.projects[i].type == 'major' ? '#990000' : '#000099';
		var newIcon = IconFactory.createMarkerIcon({width: 32, height: 32, primaryColor: color});
		var marker = new GMarker(point, {icon: newIcon});
		
		if(this.projects[i].linkToPage) {
			GEvent.addListener(marker, "click", function() {
				document.location.href = 'projects.php?id=' + this.projects[i].project_id;
			}.bind(this));
		}
		GEvent.addListener(marker, "mouseover", function() {
			marker.openInfoWindowHtml(this.infoMarkup.substitute(this.projects[i]));
		}.bind(this));
		GEvent.addListener(marker, "mouseout", function() {
			this.map.closeInfoWindow();
		}.bind(this));
		
		return marker;
	}
}