//_____________________________________________________________
function IntegrateEmbeds(){
	
	var mapThumbName_str	= 'google-map.gif';
	var videoThumbName_str	= 'video-image.gif';
	var map_rgx				= new RegExp(mapThumbName_str+'$','g');
	var video_rgx			= new RegExp(videoThumbName_str+'$','g');
	
	
	if (GBrowserIsCompatible()) {
		var images_arr	= document.images;
		for (var index_int=0; index_int<images_arr.length; index_int++){
			var image_img	= images_arr[index_int];
			var imgSrc_str	= image_img.src;
			
			// detect map thumbnails and switch for maps
			if(imgSrc_str.match(map_rgx)!=null){
				EmbedMap(image_img);
			}
			
			// detect video thumbnails  and switch for videos
			if(imgSrc_str.match(video_rgx)!=null){
				EmbedVideo(image_img);
			}
		}
	}
};
//_____________________________________________________________
function EmbedVideo(image_img){
	
	var containerClass_str 	= 'googleVideo';
	var externalLinkAlt_str	= 'View at Google Video';
	
	// match video id
	var link_htm			= image_img.parentNode;
	var idMatch_arr			= link_htm.href.match(/docid=(-?\d*)/);
	if(idMatch_arr!=null){
		var videoId_str		= idMatch_arr[1];	
	
		// create a video container
		var container_htm		= document.createElement('div');
		container_htm.className = containerClass_str;
		
		// create video HTML
		var videoEmbed_str 		= '<embed style="width:400px; height:326px;" align="middle" type="application/x-shockwave-flash"';
		videoEmbed_str			+= 'src=http://video.google.com/googleplayer.swf?docId='+videoId_str;
		videoEmbed_str			+= ' allowScriptAccess="sameDomain" quality="best" bgcolor="#ffffff" scale="noScale" wmode="window" salign="TL"  FlashVars="playerMode=embedded"> </embed>';
		
		// create caption
		var caption_str			= '<div class="caption">- '+link_htm.title+'</div>';
		
		// insert into document
		container_htm.innerHTML	= videoEmbed_str+caption_str;
		link_htm.parentNode.appendChild(container_htm);
		link_htm.style.display = 'none';
	}
};
//_____________________________________________________________
function EmbedMap(image_img){
	
	var latLong_rgx			= new RegExp('(ll=)?[^$]*ll=([^,]*),([^,&]*)');
	var mapClass_str		= 'googleMap';
	
	// parse lat/long from containing href
	var link_htm	= image_img.parentNode;
	var href_str	= link_htm.href;
	var latLong_arr	= href_str.match(latLong_rgx);
	if(latLong_arr!=null){
		var lat_flt		= latLong_arr[2];
		var long_flt	= latLong_arr[3];
		
		// remove map image and put text instead
		link_htm.innerHTML = 'View map at Google';
		link_htm.target		= '_blank';
		link_htm.className	= 'googleMapLink';
		
		// insert a GMap container and remove link and image
		var mapContainer_htm	= document.createElement('div');
		mapContainer_htm.className = mapClass_str;
		var parent_htm		= link_htm.parentNode;
		parent_htm.insertBefore(mapContainer_htm,link_htm);
		
		// create a new Google Map and initialise to location
		var map = new GMap2(mapContainer_htm);
		var location_gll	= new GLatLng(lat_flt,long_flt);
		map.setCenter(location_gll,15);
		map.addControl(new GLargeMapControl());
		
		// add a marker
		var marker_mkr		= new GMarker(location_gll);
		map.addOverlay(marker_mkr);
	}
};
//_____________________________________________________________