var swo = {};

$(function() {
	$('ul#pgMenu ul').addClass('pgMenu2')
	$('ul#pgMenu > li > a').bind('mouseenter', function(e) {
		// to resolve race conditions ...
		swo.next_menu = $(this).parent('li').children('ul');
		$('ul.pgMenu2').hide();
		swo.next_menu.fadeIn();
	});
	$('ul#pgMenu, ul.pgMenu2').bind('mouseleave', function(e) {
		$('ul.pgMenu2').fadeOut();
	});
//	$('td#a0').mouseout(function(e) {
//		if ( $(e.target).is('td#a0') )
//			$('div#pgMenu ul ul').hide();
//	});
});

swo.slideshows = {}
swo.slideshow = function(id, width, delay, slides) {
	html = '<div class="img" style="width:'+width+'px;">'
	for (i in slides) {
		html += '<div id="'+id+'_'+i+'" style="display:none;">'
			+ '<img src="http://lh5.googleusercontent.com'+slides[i][0]+'"'
			+ ' width="'+width+'" alt="">'
			+ '<br>' + slides[i][1] + '</div>';
	}
	html += '</div>';
	$('div#'+id).html(html);
	$('div#'+id+'_0').show();
	swo.slidenext(id, slides.length, slides.length, delay);
}
swo.slidenext = function(id, i, n_slides, delay) {
	i_next = ((i+1)>=n_slides) ? 0 : i+1;
	$('div#'+id+'_'+i).fadeOut(450, function() {
		$('div#'+id+'_'+i_next).fadeIn(150);
	});
	setTimeout("swo.slidenext('"+id+"',"+i_next+","+n_slides+","+delay+")",delay*1000);
}



//=== END: v2010 ======================================================

swo.postJS = function(url,selector) {
	swo.ajax_req = ['postJS',url,selector];
	$.post(url,$(selector).serializeArray(),null,'script');
}
swo.ajaxDataFilter = function(data,type){
	if ( 0===data.indexOf('/*gthog*/') ) {
		return data;
	} else {
		$('#kaboom').html(data);
		return '/*gthog*/';
	}
}

$(function(){
	$.ajaxSetup({
		timeout: 10000,
		dataFilter: swo.ajaxDataFilter,
		error: function(){$('#kaboom').html('<h1>AJAX Error!</h1>');}
	});
});

$.extend({
	// use http://www.json.org/json.js to convert obj to json-string.
	getState: function() {},
/*
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
return "";
*/
	setState: function() {},
/*
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)
	+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
*/
	unsetState: function() {},
	setStateOptions: function() {}
// path=/co; domain; secure; expires;  
});


// **********************************************************************
// **********************************************************************
// **********************************************************************
//--- Page Menu Stuff
/*
YAHOO.widget.MenuBarItem.prototype.IMG_ROOT = "/sc/yui_0.12.0/build/menu/assets/";
YAHOO.widget.MenuBarItem.prototype.SUBMENU_INDICATOR_IMAGE_PATH = "menuarodwn8_nrm_1.gif";
YAHOO.widget.MenuBarItem.prototype.SELECTED_SUBMENU_INDICATOR_IMAGE_PATH = "menuarodwn8_hov_1.gif";
YAHOO.widget.MenuBarItem.prototype.DISABLED_SUBMENU_INDICATOR_IMAGE_PATH = "menuarodwn8_dim_1.gif";
YAHOO.widget.MenuBarItem.prototype.CHECKED_IMAGE_PATH = "menuchk8_nrm_1.gif";
YAHOO.widget.MenuBarItem.prototype.SELECTED_CHECKED_IMAGE_PATH = "menuchk8_hov_1.gif";
YAHOO.widget.MenuBarItem.prototype.DISABLED_CHECKED_IMAGE_PATH = "menuchk8_dim_1.gif";

YAHOO.namespace("gthog");
YAHOO.gthog.onMenuBarAvailable = function(p_oEvent) {
	var oMenuBar = new YAHOO.widget.MenuBar("pageMenu", {
		autosubmenudisplay:true,
		showdelay:0,
		hidedelay:500,
		lazyload:true
	});
	oMenuBar.render();
}
//SLOW: YAHOO.util.Event.onAvailable("pageMenu", YAHOO.gthog.onMenuBarAvailable);
YAHOO.util.Event.addListener(window, "load", YAHOO.gthog.onMenuBarAvailable);
*/

//--- Google Maps Stuff
function DELETE_doMarkerMap(divId,waypoints) {
	var gmap1 = new GMap2(document.getElementById(divId));
	gmap1.setMapType(G_NORMAL_MAP);
	gmap1.addControl(new GLargeMapControl());
	gmap1.addControl(new GMapTypeControl());
	gmap1.enableScrollWheelZoom();
	gmap1.addControl(new GScaleControl());
	
	var gdir1=new GDirections(gmap1);
	gdir1.loadFromWaypoints(waypoints,{locale:'en_CA'});
}
function doRouteMap(divId,encoding) {
	var gmap1 = new GMap2(document.getElementById(divId));
	gmap1.setMapType(G_NORMAL_MAP);
	gmap1.addControl(new GLargeMapControl());
	gmap1.addControl(new GMapTypeControl());
	gmap1.enableScrollWheelZoom();
	gmap1.addControl(new GScaleControl());

	var p = GPolyline.fromEncoded(encoding);
	var b = p.getBounds();
	gmap1.setCenter(b.getCenter(),gmap1.getBoundsZoomLevel(b));
	gmap1.addOverlay(p);
}


//Simple JavaScript Templating
//John Resig - http://ejohn.org/ - MIT Licensed
//http://ejohn.org/blog/javascript-micro-templating/
(function(){
var cache = {};
this.tmpl = function tmpl(str, data){
 var fn = !/\W/.test(str) ?
   cache[str] = cache[str] ||
     tmpl(document.getElementById(str).innerHTML) :
   new Function("obj",
     "var p=[],print=function(){p.push.apply(p,arguments);};" +
     "with(obj){p.push('" +
     str
       .replace(/[\r\t\n]/g, " ")
       .split("<%").join("\t")
       .replace(/((^|%>)[^\t]*)'/g, "$1\r")
       .replace(/\t=(.*?)%>/g, "',$1,'")
       .split("\t").join("');")
       .split("%>").join("p.push('")
       .split("\r").join("\\'")
   + "');}return p.join('');");
 return data ? fn( data ) : fn;
};
})();

