'+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 { 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: farthing (novel)

Edit

New historical fiction for September — time-travelling with Tracy Chevalier

The Times/The Sunday Times 01 Sep 2024
The author of Girl with a Pearl Earring, Tracy Chevalier, uses her latest novel to play ingenious games with the concept of time ... Evocative in its period detail and gripping in its narrative drive, this is a highly enjoyable novel.
Edit

Seven debut novels by female authors to read in 2024

Harpers Bazaar 28 Feb 2024
Their stories span magical takes on love across centuries, beautifully dissected looks at identity, race and belonging, as well as state-of-the-nation novels, neatly packaged into love stories ... Jack Farthing.
Edit

A Kid for Two Farthings review – Carol Reed’s East End market-street caper still charms

The Observer 21 Feb 2024
It’s a gentle movie, but the dodgy world of wrestling here is not unlike that in Night and the City (as described in both Gerald Kersh’s novel and Jules Dassin’s film) and in its way A Kid for Two ...
  • 1

Most Viewed

×