
/**
 * Add an event handler to an object
*/
function addEvent(obj, evType, fn)
{ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}


/***
 *	Make the SIFR replacements
*/

function runSifr() {
/* Replacement calls. Please see documentation for more information. */
	
	if(typeof sIFR == "function"){
		//	Setup any configurations
//		sIFR.bIsDisabled: false;
		
		//	Run the list of replacement calls
		sIFR.replaceElement(named({sSelector:"h1.page-title", sFlashSrc:"sifrH1.swf", sColor:"#A32428", sLinkColor:"#000000", sBgColor:"#ffffff", sWmode:"transparent", sHoverColor:"#CCCCCC", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"textalign=left&offsetTop=6"}));
		sIFR.replaceElement(named({sSelector:"div#container h2", sFlashSrc:"sifrH1.swf", sColor:"#A32428", sLinkColor:"#000000", sBgColor:"#ffffff", sWmode:"transparent", sHoverColor:"#CCCCCC", nPaddingTop:0, nPaddingBottom:0, sFlashVars:"textalign=left&offsetTop=6"}));
	};
}


/***
  *	QueryString Parsing
*/
function PageQuery(q) {
	if(q.length > 1)
		this.q = q.substring(1, q.length);
	else
		this.q = null;
	
	this.keyValuePairs = new Array();
	
	if(q) {
		for(var i=0; i < this.q.split("&").length; i++) {
			this.keyValuePairs[i] = this.q.split("&")[i];
		}
	}
	
	
	
	this.getKeyValuePairs = function() { return this.keyValuePairs; }
	
	this.getValue = function(s) {
		for(var j=0; j < this.keyValuePairs.length; j++) {
			if(this.keyValuePairs[j].split("=")[0] == s)
				return this.keyValuePairs[j].split("=")[1];
		}
		return false;
	}
	
	this.getParameters = function() {
		var a = new Array(this.getLength());
		
		for(var j=0; j < this.keyValuePairs.length; j++) {
			a[j] = this.keyValuePairs[j].split("=")[0];
		}
		return a;
	}
	
	this.getLength = function() { return this.keyValuePairs.length; }
}

function queryString(key){
	var page = new PageQuery(window.location.search);
	return unescape(page.getValue(key));
}

function displayItem(key){
	if(queryString(key)=='false') {
		document.write("you didn't enter a ?name=value querystring item.");
	}else{
		document.write(queryString(key));
	}
}


function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

addEvent(window, 'load', runSifr);

var GMapsWrapper =
{
	Init : function()
	{
//		this.InitMap();
		this.SetupLocationToggles();
		this.SetupMapLinks();
	},
	
	
	/**
	 *	Setup location toggles.
	**/
	SetupLocationToggles : function()
	{
		$('.more-info').hide();
		
		$('a.toggle-moreinfo').click(function()
		{
			$(this).siblings('.more-info').toggle(500);
			$(this).toggle(250);
		});
		
		$('.more-info .close-link').click(function()
		{
			$(this).parents('.more-info')
				.toggle(250)
				.siblings('a.toggle-moreinfo').toggle(500);
			return false;
		});										  
	},
	
	
	/**
	 *	Setup Map centering links.
	**/
	SetupMapLinks : function()
	{
		$('a.map-link').click(function()
		{
			var lat = $(this).parent().children('.latitude').text();
			var long = $(this).parent().children('.longitude').text();
			
			map.panTo(new GLatLang(lat,lang));
		});
	},
	
	
	/*
	InitMap : function()
	{
		map = new GMap2($('#map').get());
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		
		//	Add the overlays
		for(i in locations)
		{
			var markerOptions = {title:locations[i].name};
			var newMarker = new GMarker(locations[i].GetLatLong(), markerOptions);
			map.addOverlay(newMarker);	//	Add the overlay
		}
	}
	*/
}

$(document).ready(function()
{
	GMapsWrapper.Init();
});