'+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: dumbarton (scottish parliament constituency)

Edit

Scottish Labour deputy leader ‘humbled’ to receive damehood at ceremony

AOL 17 Jan 2024
“It is deeply humbling to receive this honour on behalf of my constituents and in light of 25 years of service in the Scottish Parliament ... in the Scottish Parliament in the years to come.”.
Edit

In praise of Labour’s Dame Jackie Baillie

The Spectator 17 Jan 2024
The Scottish Labour member bestrides the devolution era like a colossus. Elected for her constituency of Dumbarton at the first Scottish parliament election in 1999, Dame Jackie has held it – much to the SNP’s chagrin – at every election since.
  • 1

Most Viewed

×