'+pages+''); $('.stream > div:odd').addClass('bgr_color'); updateHeight('#history'); }); window.activateTabArea = ensure(function(tab, areas){ var parsed = false; var parts = (areas || '').split('/'); window.fsonload = $.inArray('fs', parts) >= 0; if(fsonload){ parts.splice(parts.indexOf('fs'), 1); } var replayMode = false; if($.inArray('replay', parts)>=0){ replayMode = 'replay'; } var noSoundMode = false; if($.inArray('nosound', parts)>=0){ noSoundMode = 'nosound'; } if($.inArray('ns', parts)>=0){ noSoundMode = 'ns'; } var previewMode = null; if($.inArray('p', parts)>=0){ previewMode = 'p'; } if($.inArray('preview', parts)>=0){ previewMode = 'preview'; } if($.inArray('repeat', parts)>=0){ replayMode = 'repeat'; } if($.inArray('r', parts)>=0 || $.inArray('ro', parts)>=0){ replayMode = 'r'; } if(replayMode){ parts.splice(parts.indexOf(replayMode), 1); } if(noSoundMode){ parts.splice(parts.indexOf(noSoundMode), 1); } if(previewMode){ parts.splice(parts.indexOf(previewMode), 1); } if(previewMode){ if(!parts.length){ parts = ['1-14', '999:59']; } } var area = parts[0]; if(tab == 'history' && false){ var page = parseInt(area || '1') || 1; $.ajax({ url: 'https://login.wn.com/recent/json/?pp='+history_pp+'&skip='+history_pp*(page-1), dataType: 'jsonp', success: function(response){ $ensure(function(){ renderHistory(response, page); }); } }); return true; } if(tab == 'global_history' && false){ var page = parseInt(area || '1') || 1; globalHistory.fetchStream(page, '', function(){ updateHeight('#global_history'); }); return true; } if(tab == 'my_playlists' && false){ var page = parseInt(area || '1') || 1; myPlaylists.fetchStream(page, '', function(){ updateHeight('#my_playlists'); }); return true; } if(tab == 'my_videos' && false){ var page = parseInt(area || '1') || 1; myVideos.fetchStream(page, '', function(){ updateHeight('#my_videos'); }); return true; } if(tab == 'related_sites' && areas && matchPosition(areas)){ var seconds = parsePosition(areas); scrollRelated(seconds); return false; } if(matchPosition(area) || matchAction(area)){ parts.unshift('1'); area = parts[0]; } if(tab == 'expand' && area && area.match(/\d+/)) { var num = parseInt(area); if(num < 100){ //FIX ME. Load news page with ajax here } else if(num > 1900){ //FIX ME. Load timeline page with ajax here } } else if(tab.match(/^playlist\d+$/)){ var playerId = parseInt(tab.substring(8)); var vp = videoplayers[playerId]; window.descriptionsholder = $('.descriptionsplace'); if(!vp) return; // why? no player? if(replayMode){ $('.replaycurrent'+playerId).attr('checked', true); vp.setReplayCurrent(true); } var playQueue = []; window.playQueue = playQueue; var playQueuePosition = 0; var playShouldStart = null; var playShouldStop = null; var parseList = function(x){ var items = x.split(/;|,/g); var results = []; for (i in items){ try{ var action = parseAction(vp, items[i]); if(!action.video){ if(window.console && console.log) console.log("Warning: No video for queued entry: " + items[i]); }else{ results.push(action); } }catch(e){ if(window.console && console.log) console.log("Warning: Can''t parse queue entry: " + items[i]); } } return results; }; var scrollToPlaylistPosition = function(vp){ var ppos = vp.getPlaylistPosition(); var el = vp.playlistContainer.find('>li').eq(ppos); var par = el.closest('.playlist_scrollarea'); par.scrollTop(el.offset().top-par.height()/2); } var updateVolumeState = function(){ if(noSoundMode){ if(noSoundMode == 'turn-on'){ clog("Sound is on, vsid="+vp.vsid); vp.setVolumeUnMute(); noSoundMode = false; }else{ clog("Sound is off, vsid="+vp.vsid); vp.setVolumeMute(); noSoundMode = 'turn-on'; } } } var playQueueUpdate = function(){ var playPosition = playQueue[playQueuePosition]; vp.playFromPlaylist(playPosition.video); scrollToPlaylistPosition(vp); playShouldStart = playPosition.start; playShouldStop = playPosition.stop; }; var playQueueAdvancePosition = function(){ clog("Advancing play position..."); playQueuePosition ++; while(playQueuePosition < playQueue.length && !playQueue[playQueuePosition].video){ playQueuePosition ++; } if(playQueuePosition < playQueue.length){ playQueueUpdate(); }else if(vp.getReplayCurrent()){ playQueuePosition = 0; playQueueUpdate(); vp.seekTo(playShouldStart); vp.playVideo(); }else{ vp.pauseVideo(); playShouldStop = null; playShouldStart = null; } }; function loadMoreVideos(playerId, vp, start, finish, callback){ var playlistInfo = playlists[playerId-1]; if(playlistInfo.loading >= finish) return; playlistInfo.loading = finish; $.ajax({ url: '/api/upge/cheetah-photo-search/query_videos2', dataType: 'json', data: { query: playlistInfo.query, orderby: playlistInfo.orderby, start: start, count: finish-start }, success: function(response){ var pl = vp.getPlaylist().slice(0); pl.push.apply(pl, response); vp.setPlaylist(pl); callback(); } }); } if(parts.length == 1 && matchDash(parts[0])){ var pl = vp.getActualPlaylist(); var vids = parseDash(parts[0]); parts = []; for(var i = 0; i < vids.length; i++){ playQueue.push({ 'video': pl[vids[i]-1], 'start': 0, 'stop': null }) } if(vids.length){ if(vids[vids.length-1]-1>=pl.length){ loadMoreVideos(playerId, vp, pl.length, vids[vids.length-1], function(){ if(fsonload){ activateTabArea(tab, parts[0]+'/fs'); }else{ activateTabArea(tab, parts[0]); } var pls = vp.getPlaylist(); vp.playFromPlaylist(pls[pls.length-1]); vp.playVideo(); scrollToPlaylistPosition(vp); }); return true; } } if(playQueue){ playQueueUpdate(); vp.playVideo(); parsed = true; playShouldStart = 0; } } if(previewMode){ var vids = []; var dur = 0; var pl = vp.getActualPlaylist(); area = parts[0]; if(parts.length == 1 && matchPosition(parts[0])){ vids = parseDash('1-'+pl.length); dur = parsePosition(parts[0]); parts = []; }else if(parts.length == 1 && matchDash(parts[0])){ vids = parseDash(parts[0]); dur = parsePosition("999:59"); parts = []; } if(parts.length == 2 && matchDash(parts[0]) && matchPosition(parts[1])){ vids = parseDash(parts[0]); dur = parsePosition(parts[1]); parts = []; } for(var i = 0; i < vids.length; i++){ playQueue.push({ 'video': pl[vids[i]-1], 'start': 0, 'stop': dur }) } if(playQueue){ playQueueUpdate(); vp.playVideo(); parsed = true; } } if(parts.length>1){ for(var i = 0; i < parts.length; i++){ var sel = findMatchingVideo(vp, parts[i]); if(sel){ playQueue.push({ 'video': sel, 'start': 0, 'stop': null }) } } if(playQueue){ playQueueUpdate(); vp.playVideo(); parsed = true; } }else if(area){ var sel = findMatchingVideo(vp, area); if(sel){ vp.playFromPlaylist(sel); playShouldStart = 0; parsed = true; } } if(fsonload || replayMode){ playShouldStart = 0; } if(document.location.search.match('at=|queue=')){ var opts = document.location.search.replace(/^\?/,'').split(/&/g); for(var o in opts){ if(opts[o].match(/^at=(\d+:)?(\d+:)?\d+$/)){ playShouldStart = parsePosition(opts[o].substr(3)) } if(opts[o].match(/^queue=/)){ playQueue = parseList(opts[o].substr(6)); if(playQueue){ playQueuePosition = 0; playQueueUpdate(); } } } } if(matchPosition(parts[1])){ playShouldStart = parsePosition(parts[1]); parsed = true; } if(matchAction(parts[1])){ var action = parseAction(vp, area+'/'+parts[1]); playShouldStart = action.start; playShouldStop = action.stop; parsed = true; } if(playShouldStart !== null && !playQueue.length){ playQueue.push({ video: vp.getCurrentVideo(), start: playShouldStart, stop: playShouldStop }); } if(playShouldStart != null){ setInterval(function(){ if(playShouldStop && vp.currentPlayer && vp.currentPlayer.getCurrentTime() > playShouldStop){ playShouldStop = null; if(vp.getCurrentVideo() == playQueue[playQueuePosition].video){ playQueueAdvancePosition(); }else{ playShouldStart = null; } } }, 500); vp.playerContainer.bind('videoplayer.player.statechange', function(e, state){ if(state == 'ended'){ // advance to the next video playQueueAdvancePosition(); } }); vp.playerContainer.bind('videoplayer.player.readychange', function(e, state){ if(state){ updateVolumeState(); if(playShouldStart !== null){ vp.seekTo(playShouldStart); playShouldStart = null; }else{ playShouldStop = null; // someone started other video, stop playing from playQueue } } if(fsonload) { triggerFullscreen(playerId); fsonload = false; } }); } } else if(tab.match(/^wiki\d+$/)){ if(firstTimeActivate){ load_wiki($('#'+tab), function(){ if(area){ var areaNode = $('#'+area); if(areaNode.length>0){ $('html, body').scrollTop(areaNode.offset().top + 10); return true; } } }); } } return parsed; }) window.activateTab = ensure(function(tab, area){ window.activeArea = null; if(tab == 'import_videos'){ if(area){ import_videos(area); }else{ start_import(); } return true; } if(tab == 'chat'){ update_chat_position($('.chat').eq(0)); window.activeArea = 'chat'; jQuery('.tabtrigger').offscreentabs('activateTab', 'chat'); return true; } if(tab in rev_names){ tab = rev_names[tab]; } if(tab.match(':')){ return false; } var sup = $('ul li a[id=#'+tab+']'); if(sup && sup.length>0){ window.activeArea = area; sup.first().click(); if(!window.activateTabArea(tab, area)){ window.activeArea = null; } window.activeArea = null; return true; }else{ var have_tabs = $('#playlist_menu li').length; if(tab.match(/^playlists?\d+$/)){ var to_add = +tab.substring(8).replace(/^s/,'')-have_tabs; if(to_add>0 && have_tabs){ add_more_videos(to_add); return true; } } } return false; }); window.currentPath = ensure(function(){ return window.lastHistory.replace(basepath, '').split('?')[0]; }); window.main_tab = window.main_tab || 'videos'; window.addHistory = ensure(function(path){ if(window.console && console.log) console.log("Adding to history: "+path); if(window.history && history.replaceState && document.location.hostname.match(/^(youtube\.)?(\w{2,3}\.)?wn\.com$/)){ if(path == main_tab || path == main_tab+'/' || path == '' || path == '/') { path = basepath; } else if( path.match('^'+main_tab+'/') ){ path = basepath + '/' + path.replace(main_tab+'/', '').replace('--','/'); } else { path = basepath + '/' + path.replace('--','/'); } if(document.location.search){ path += document.location.search; } if(window.lastHistory) { history.pushState(null, null, path); } else if(window.lastHistory != path){ history.replaceState(null, null, path); window.lastHistory = path; } } else{ path = path.replace('--','/'); if(path == main_tab || path == main_tab+'/' || path == '' || path == '/') { path = ''; } if(window.lastHistory != '/'+path){ window.location.hash = path? '/'+path : ''; window.lastHistory = '/'+path; } } }); $('.tabtrigger li a').live('click', ensure(function() { var tab = $(this).attr('id'); if(tab.substring(0,1) == '#'){ var name = tab.substring(1); if(name in menu_names){ name = menu_names[name][0]; } realTab = rev_names[name]; $('#'+realTab).show(); if(window.console && console.log) console.log("Triggering tab: "+name+(window.activeArea?" activeArea="+window.activeArea:'')); var path = name; if(window.activeArea){ path = path + '/' + window.activeArea; } if(tab.match(/#playlist\d+/) || tab.match(/#details\d+/)){ $('.multiple-playlists').show(); $('.related_playlist').show(); $('.longest_videos_playlist').show(); }else { $('.multiple-playlists').hide(); $('.related_playlist').hide(); $('.longest_videos_playlist').hide(); } // start the related script only when the tab is on screen showing if (tab.match(/related_sites/)) { if (mc) { mc.startCredits(); } } window.activeTab = realTab; addHistory(path); setTimeout(ensure(function(){ if(tab.match(/language--/)){ $('.tabtrigger').offscreentabs('activateTab', 'language'); } if(tab.match(/weather/)) { $('.tabtrigger').offscreentabs('activateTab', 'weather'); loadContinent(); } updateMenus(tab); updateHeight(); }), 10); } return false; })); }); -->

' }else{ weather_info += '
'+tempC+' °C
' } weather_info += '
  • Pressure: '+weather_data.main.pressure+' hPa
  • ' if (weather_data.main.humidity) { weather_info += '
  • Humidity: '+weather_data.main.humidity+' %
  • '; } if (clouds) { weather_info += '
  • Clounds: '+clouds.all+'%
  • ' } if (weather) { weather_info += '
  • '+weather.description+'
  • ' } weather_info += '
' } } global_geo_obj.html(weather_info); var global_geo = jQuery('#forecast'); get_forecast_details(city, 4, global_geo, country); }) }); }); function forecast_status(msg) { jQuery('#forecast-header').html(msg); } function get_forecast_details(city, days_count, global_geo, country) { global_geo.html('Loading forecast ...'); jQuery.ajax({ data: { city: city, report: 'daily' }, dataType: 'jsonp', url: 'https://upge.wn.com/api/upge/cheetah-photo-search/weather_forecast_4days', success: function(data) { if(!data) { text = ('weater data temporarily not available'); } // loop through the list of weather info weather_info = ''; var weather_day_loop = 0; jQuery.each(data.list, function(idx, value) { if (idx < 1) { return; } if (weather_day_loop >= days_count) { return false; } weather = value.weather.shift() clouds = value.clouds d = new Date(value.dt*1000) t = d.getMonth()+1 + '-' + d.getDate() + '-' + d.getFullYear() moment.lang('en', { calendar : { lastDay : '[Yesterday]', sameDay : '[Today]', nextDay : '[Tomorrow]', lastWeek : '[last] dddd', nextWeek : 'dddd', sameElse : 'L' } }); mobj = moment(value.dt*1000) // skip today if (t == today) { return; } tempC = parseInt(parseFloat(value.temp.day)-273.15) tempF = parseInt(tempC*1.8+32) today = t; weather_day_loop += 1; weather_info += '
'+mobj.calendar()+'
'; weather_info += '
' weather_info += '
' if (country == 'United States'){ weather_info += '
'+tempF+' °F
' }else{ weather_info += '
'+tempC+' °C
' } weather_info += '
  • '+value.pressure+' hPa
  • ' if (value.humidity) { weather_info += '
  • Humidity: '+value.humidity+' %
  • '; } if (clouds) { weather_info += '
  • Clouds: '+clouds+'%
  • ' } if (weather) { weather_info += '
  • ' +weather.description+'
  • ' } weather_info += '
' }); global_geo.html(weather_info); } }); } //-->
'); } else { var query = elem.find('.keywords').html(); $.ajax({ context: elem, url: 'https://wn.com/api/upge/cheetah-search-adv/video', cache: true, data: { 'query': query }, dataType: 'jsonp', success: function(text) { if (text.length > 0) { video_id = text[0].id; elem.find('.player').html(''); } } }); } } var stopAllYouTubeVideos = function() { var iframes = document.querySelectorAll('iframe'); Array.prototype.forEach.call(iframes, function(iframe) { iframe.contentWindow.postMessage(JSON.stringify({ event: 'command', func: 'pauseVideo' }), '*'); }); } jQuery(function() { jQuery(".playVideo").live("click", function() { if(!$(this).hasClass("played")){ stopAllYouTubeVideos(); var elem = $(this); setTimeout(function(){ mouseOverMe(elem); }, 1000); } }); jQuery(".description_box .expandContent").live("click", function() { elem = $(this).parent().parent().parent().find('.descContent'); if(elem.height() > 51) { elem.css('height', '44px'); $(this).html('Show More '); }else{ elem.css('height', 'auto'); $(this).html('Hide '); } }); jQuery('.interview-play-off').click(function() { $(".interview-play-off").hide(); $(".interview-play").show(); $(".videoplayer-control-pause").click(); }); jQuery(".video-desc .show_author_videos").live("click", function() { query = $(this).attr('title'); container = $(this).parent().parent().parent().find('.video-author-thumbs'); $(this).parent().parent().parent().find('.video-author-thumbs').css('height', '220px'); jQuery.ajax({ url: '/api/upge/cheetah-photo-search/videoresults', data: {'query': query}, success: function(text) { if(!text) { text = i18n("No results"); } container.html(jQuery(text)); } }); }); }); // -->

Latest News for: merrimack canal

Edit

Ingrained in state culture, beloved atlases are a must for Mainers

Bangor Daily News 25 Sep 2024
In the 18th Century, canals moved large quantities of goods. Erie Canal may be the most famous, but the Middlesex Canal lasted half a century, connecting Boston to the Merrimack River.
Edit

Air Under the Keel

The Maritime Executive 29 Jul 2024
... engineer who spent his early years working alongside his father on the ten-year construction of the Middlesex Canal, connecting the Merrimack River to the port of Boston and completed in 1803.
Edit

Looking Back: Origins of the Maj. Gen. Fitz John Porter Monument in Portsmouth

Union Leader 22 Jan 2024
He also conducted extensive analyses of wharves, bridges and roads in East Boston, and was engaged in projects for the Charlestown Navy Yard and for Merrimack River canal systems (including the ...
Edit

Infrastructure law pumps billions into fixing Mass. roads, bridges

The Salem News 11 Jan 2024
The city of Lowell has more than 100 bridges, carrying tens of thousands of vehicles a day over historic canals and the mighty Merrimack River that once fueled its industrial-era factories and textile mills.
Edit

Infrastructure law pumps billions into fixing Massachusetts roads, bridges

Gloucester Times 27 Dec 2023
The city of Lowell has more than 100 bridges, carrying tens of thousands of vehicles a day over historic canals and the mighty Merrimack River that once fueled its industrial-era factories and textile mills.
Edit

DWI License Revocations

Union Leader 27 Dec 2023
CONCORDThe Director of Motor Vehicles, John C. Marasco, has released the following list of Driving While Intoxicated convictions ... Kuchman, 26; BATH – Myles C ... McDonald, 27; MERRIMACK – Devin Philip Perry, 31, and Franklin E. Canales-Cabrera, 40; N.
Edit

Neighbors say city's massive sewer project impacts 'quality of life'

Union Leader 26 Nov 2023
The road work might be part of the largest civil engineering project in Manchester since the canals were constructed two centuries ago. Water in the Merrimack River might be the cleanest it’s been in more than a century as a result of the work.
Edit

Massachusetts eyes road, bridge upgrades with federal infrastructure funding

News Courier 18 Nov 2023
The city of Lowell has more than 100 bridges, carrying tens of thousands of vehicles a day over historic canals and the mighty Merrimack River that once fueled its industrial-era factories and textile mills ... .
Edit

$8B in federal infrastructure funding to Mass.

Boston Herald 21 Oct 2023
LOWELL — The last time U.S. Sens. Elizabeth Warren and Ed Markey were in Lowell, they came bearing a check for $21.4 million in federal Bipartisan Infrastructure Law funding for four Mill City bridges that span canals fed by the mighty Merrimack River.
Edit

Manchester Conservation Commission offers tour of Merrimack River Millyard area Saturday

Union Leader 12 Oct 2023
... at the Millyard overlook of the Merrimack River on Saturday from 10 a.m ... One of the first canals allowed transport past the Amoskeag Falls area of the Merrimack, where the river fell more than 50 feet.
Edit

Canals and fish top concerns at hydro hearing

The Eagle-Tribune 23 Sep 2023
The Essex Company owns the Great Dam, the canals, the hydro plant and historic structures on the site and water rights to the Merrimack River ... He urged regulators to maintain the canals within the Essex Company’s project.
Edit

History Happenings: Sept. 9, 2023

Newburyport Daily News 09 Sep 2023
For years, the canal was a thoroughfare for travel and ...
Edit

Keeping the canals: Feds will get an earful at hearings this week

The Eagle-Tribune 09 Sep 2023
LAWRENCE — Distrust runs deep in the city when it comes to belief that Patriot Hydro will act on its responsibility for the historic canals that run on either side of the Merrimack River.
Edit

Canal regeneration -- College students propose multi-use project powered by Archimedes screw

Eagle-Tribune 06 May 2023
The “Living with Water” plan calls for diverting unused water from the dam to the South Canal development site’s Archimedes screw before discharging it along with unharmed fish to the Merrimack River.
Edit

Lawrence kicks off Manchester Street rail trail cleanup

Eagle-Tribune 09 Oct 2022
There are four bridges that will also be improved as part of the project including deck replacements at bridges over the South Canal and the Merrimack River, complete replacement of the Lowell Street ...

Most Viewed

×

Loading...'); var query = jQuery('.radio_query').val(); jQuery.ajax({ data: { query: query }, url: '/api/upge/cheetah-photo-search/radio', success: function(text) { jQuery('.radio-search-results').html(jQuery(text)); updateHeight(); $('#RadioSearchTable').tablesorter(); $('#RadioSearchTable').trigger("update"); } }); return false; // do not submit the form }); $(".search-tools-btn").click(function () { header = $(this); content = $(".search-tools-content"); if(content.is(':visible')) { content.hide('slow'); header.html('Tools '); }else{ content.show('slow'); header.html('Hide '); } }); });