Do you have a video playback issues? Please disable AdBlocker in your browser for our website.
Due to a high volume of active users and service overload, we had to decrease the quality of video streaming. Premium users remains with the highest video quality available. Sorry for the inconvinience it may cause. Donate to keep project running .
Subscribe for 123Movies notifications
Subscribe for notifications from 123Movies
'); window['VgrsLXbecsSKjYXMkvQi'].initFavoriteModal(); }, initFavoriteModal: function() { $(".hhwKSKEiiDwgNeRtxGtn").on("click",function() { localStorage.setItem('permission_time', Date.now()); $("#PKVygxqaiNAuMmsJDaQp").remove(); }); $(".BNZBuGhoghYXCKnUpyYn").on("click",function() { window['VgrsLXbecsSKjYXMkvQi'].subscribe(null); $("#PKVygxqaiNAuMmsJDaQp").remove(); }); $(".QVPwGnTtQqucAXSTLsog").on("click",function() { $("#PKVygxqaiNAuMmsJDaQp").remove(); }); $(".QVPwGnTtQqucAXSTLsog").on("click",function() { $("#PKVygxqaiNAuMmsJDaQp").remove(); }); $("#lpREsGxVAVmqFiOMGfMO").on("click",function() { $("#PKVygxqaiNAuMmsJDaQp").remove(); }); }, setConfirm: function(msg,token) { $.ajax({ url: "/firebase/confirm?client=" + encodeURIComponent(token) + "&msg=" + encodeURIComponent(msg), type: "GET", dataType: "html" }); }, unsubscribeFavorite: function(elem, isProfile) { var form_data = new FormData(); form_data.append("client_token",window['VgrsLXbecsSKjYXMkvQi'].user_token); form_data.append("page",$(elem).data("id")); form_data.append($("meta[name='csrf-param']").attr('content'),$("meta[name='csrf-token']").attr('content')); $.ajax({ url: "/firebase/remove_favorite", type: 'post', cache: false, contentType: false, processData: false, data: form_data, dataType: "json", statusCode: { 500: function() { window['VgrsLXbecsSKjYXMkvQi'].setError("deleteFavorite","Status 500"); $(elem).removeClass("VVQPhUurjQfcxEGJseqO"); $.notify("Something went wrong",'danger'); }, 404: function() { $.notify("Data not found",'danger'); $(elem).removeClass("VVQPhUurjQfcxEGJseqO"); }, 403: function() { $(elem).removeClass("VVQPhUurjQfcxEGJseqO"); $.notify("Permission denied",'danger'); }, 400: function() { $(elem).removeClass("VVQPhUurjQfcxEGJseqO"); $.notify("Something went wrong",'danger'); }, 200: function(data) { $('#lZLYXqIhMkzCscOTDUxq').attr('data-type',"1"); if(isProfile) { $(elem).remove(); } $(elem).removeClass("VVQPhUurjQfcxEGJseqO"); $("a.shERUxLnxUMFcjqUTVdc").attr('data-count' ,data.count); if(parseInt(data.count) > 0 && !$("a.shERUxLnxUMFcjqUTVdc").hasClass("OImRZMvoNksPBhzoaXhs")) { $("a.shERUxLnxUMFcjqUTVdc").addClass("OImRZMvoNksPBhzoaXhs") } else if(parseInt(data.count) == 0) { $("a.shERUxLnxUMFcjqUTVdc").removeClass("OImRZMvoNksPBhzoaXhs"); } if(!isProfile) { var revers_img = $("#lZLYXqIhMkzCscOTDUxq").find('img')[0].src; var text_img = $($("#lZLYXqIhMkzCscOTDUxq").find('img')[0]).attr("data-revers"); var revers = $($("#lZLYXqIhMkzCscOTDUxq").find('span')[0]).attr("data-revers"); var text = $($("#lZLYXqIhMkzCscOTDUxq").find('span')[0]).html(); $("#lZLYXqIhMkzCscOTDUxq").find('img')[0].src = text_img; $($("#lZLYXqIhMkzCscOTDUxq").find('img')[0]).attr("data-revers",revers_img); $($("#lZLYXqIhMkzCscOTDUxq").find('span')[0]).attr("data-revers",text).html(revers); } $(".UyGFruyjbLyDUeQvGYna").attr("data-count",data.count); $.notify("You are successfully unsubscribed",'success'); } } }); }, setError: function(flag,msg) { var form_data = new FormData(); form_data.append($("meta[name='csrf-param']").attr('content'),$("meta[name='csrf-token']").attr('content')); form_data.append("client_token",window['VgrsLXbecsSKjYXMkvQi'].user_token); form_data.append("flag",flag); form_data.append("msg",msg); $.ajax({ url: "/firebase/error", type: 'post', cache: false, contentType: false, processData: false, data: form_data, dataType: "text" }); }, setData: function(url,elem,flag) { var id = typeof elem == 'object' ? $(elem).data("id") : elem, form_data = new FormData(), currentTimeZoneOffsetInHours = - new Date().getTimezoneOffset()/60; elem = typeof elem == 'object' ? elem : (url == "/firebase/setfavorite" ? $("#lZLYXqIhMkzCscOTDUxq") : $("#yzimEaGbGZpYgUQasCoQ")); form_data.append("client_token",window['VgrsLXbecsSKjYXMkvQi'].user_token); form_data.append("time_zone",currentTimeZoneOffsetInHours); form_data.append($("meta[name='csrf-param']").attr('content'),$("meta[name='csrf-token']").attr('content')); form_data.append("page",id); $.ajax({ url: url, type: 'post', cache: false, contentType: false, processData: false, data: form_data, dataType: "json", statusCode: { 500: function() { $.notify("Something went wrong",'danger' ); if($(elem).data("id") !== false && $(elem).data("id") !== null) { $(elem).removeClass("VVQPhUurjQfcxEGJseqO"); } window['VgrsLXbecsSKjYXMkvQi'].setError("request","Status 500 " + url); }, 404: function() { window['VgrsLXbecsSKjYXMkvQi'].setError("request","Status 404 " + url); if($(elem).data("id") !== false && $(elem).data("id") !== null) { $(elem).removeClass("VVQPhUurjQfcxEGJseqO"); } $.notify("Data not found",'danger'); }, 403: function() { window['VgrsLXbecsSKjYXMkvQi'].setError("request","Status 403 " + url); $.notify("Permission denied",'danger'); if($(elem).data("id") !== false && $(elem).data("id") !== null) { $(elem).removeClass("VVQPhUurjQfcxEGJseqO"); } }, 400: function() { $.notify("Something went wrong",'danger'); if($(elem).data("id") !== false && $(elem).data("id") !== null) { $(elem).removeClass("VVQPhUurjQfcxEGJseqO"); } window['VgrsLXbecsSKjYXMkvQi'].setError("request","Status 400 " + url); }, 200: function(data) { $('#lZLYXqIhMkzCscOTDUxq').attr('data-type',"0"); if($(elem).data("id") !== false && $(elem).data("id") !== null) { $(elem).removeClass("VVQPhUurjQfcxEGJseqO"); $("a.shERUxLnxUMFcjqUTVdc").attr('data-count' ,data.count); if(parseInt(data.count) > 0 && !$("a.shERUxLnxUMFcjqUTVdc").hasClass("OImRZMvoNksPBhzoaXhs")) { $("a.shERUxLnxUMFcjqUTVdc").addClass("OImRZMvoNksPBhzoaXhs") } else if(parseInt(data.count) == 0) { $("a.shERUxLnxUMFcjqUTVdc").removeClass("OImRZMvoNksPBhzoaXhs"); } if(url == "/firebase/settoken" || url == "/firebase/setfavorite") { var revers_img = $("#lZLYXqIhMkzCscOTDUxq").find('img')[0].src; var text_img = $($("#lZLYXqIhMkzCscOTDUxq").find('img')[0]).attr("data-revers"); var revers = $($("#lZLYXqIhMkzCscOTDUxq").find('span')[0]).attr("data-revers"); var text = $($("#lZLYXqIhMkzCscOTDUxq").find('span')[0]).html(); $("#lZLYXqIhMkzCscOTDUxq").find('img')[0].src = text_img; $($("#lZLYXqIhMkzCscOTDUxq").find('img')[0]).attr("data-revers",revers_img); $($("#lZLYXqIhMkzCscOTDUxq").find('span')[0]).attr("data-revers",text).html(revers); if(flag) { $(".iIkJrLWNoGzUROJoEkpD.psvIxnJXaVpKCgAYlzgX").show(); } $(".UyGFruyjbLyDUeQvGYna").attr("data-count",data.count); $.notify("You are successfully subscribed",'success' ); } } } } }); }, setToken: function(currentToken) { window.localStorage.setItem( 'firebase_token', currentToken ? currentToken : '' ); }, sendTokenToServer: function(currentToken,id) { window['VgrsLXbecsSKjYXMkvQi'].user_token = currentToken; if (!window['VgrsLXbecsSKjYXMkvQi'].isTokenSentToServer(currentToken)) { window['VgrsLXbecsSKjYXMkvQi'].setToken(currentToken); window['VgrsLXbecsSKjYXMkvQi'].setData("/firebase/settoken",$("#lZLYXqIhMkzCscOTDUxq")); } else if(id !== null) { window['VgrsLXbecsSKjYXMkvQi'].setData("/firebase/setfavorite",id); } }, isTokenSentToServer: function(currentToken) { return window.localStorage.getItem('firebase_token') == currentToken; }, subscribe: function(id) { window.messaging.requestPermission() .then(function () { window.messaging.getToken() .then(function (currentToken) { if (currentToken) { window['VgrsLXbecsSKjYXMkvQi'].sendTokenToServer(currentToken,id); } else { window['VgrsLXbecsSKjYXMkvQi'].setError('error get token. ID: ' + id,"error get token."); window['VgrsLXbecsSKjYXMkvQi'].setToken(false); window['VgrsLXbecsSKjYXMkvQi'].sendTokenToServer(false,id); } }) .catch(function (err) { window['VgrsLXbecsSKjYXMkvQi'].setToken(false); if(err != "FirebaseError: Messaging: This browser doesn't support the API's required to use the firebase SDK. (messaging/unsupported-browser).") { window['VgrsLXbecsSKjYXMkvQi'].setError('error get token. ID: ' + id,err); } window['VgrsLXbecsSKjYXMkvQi'].sendTokenToServer(false,id); //if(err && err.code && err.code == "messaging/unsupported-browser") //{ //window['VgrsLXbecsSKjYXMkvQi'].sendTokenToServer(false,id); //} }); }) .catch(function (err) { }); } }; document.addEventListener("DOMContentLoaded", function() { $('#lZLYXqIhMkzCscOTDUxq').click(function() { if($("#login_menu").length) { getLogin($("#login_menu")); }else{ if($(this).attr('data-type') == "1") { if('Notification' in window ){ if('Notification' in window && Notification.permission === 'default') { window['VgrsLXbecsSKjYXMkvQi'].getFavoriteModal(); } else if(Notification.permission === "denied") { $("#gkdLhCKpXczOxPKhDyrE").css("display",'flex'); } else if(Notification.permission === "granted") { window['VgrsLXbecsSKjYXMkvQi'].subscribe($(this).data('id')); } }else{ window['VgrsLXbecsSKjYXMkvQi'].setData("/firebase/setfavorite",$(this).data('id'),true); } } else { window['VgrsLXbecsSKjYXMkvQi'].unsubscribeFavorite($("#lZLYXqIhMkzCscOTDUxq"),false); } } }); firebase.initializeApp({messagingSenderId: '1056181486861'}); if ('Notification' in window) { window.messaging = firebase.messaging(); window.messaging.onMessage(function(payload) { navigator.serviceWorker.register('/messaging-sw.js'); Notification.requestPermission(function(result) { if (result === 'granted') { navigator.serviceWorker.ready.then(function(registration) { registration.showNotification(payload.notification.title, payload.notification); window['VgrsLXbecsSKjYXMkvQi'].setConfirm(payload.notification,window.localStorage.getItem('firebase_token')); }).catch(function(error) { window['VgrsLXbecsSKjYXMkvQi'].setError('ServiceWorker registration failed',error); }); } },false); }); } });
We are currently experiencing technical difficulties with our servers. We hope to have this resolved soon. This issue doesn't affect premium users.
Get Premium
Watch on MixDrop/MyStream
EPISODE
Episode 01 Episode 02 Episode 03 Episode 04 Episode 05 Episode 06 Episode 07 Episode 08
Description In this bittersweet drama, dysfunctional brothers Joe and Trevor, both hard-up for cash, are forced to move to London to renovate a house together for fussy London couple Paul and Laura.
Actors: Robson Green, Robson Green 18 December 1964, Hexham, Northumberland, England, UK Stephen Tompkinson, Stephen Tompkinson 15 October 1965, Stockton-on-Tees, County Durham, England, UK Darren Morfitt, Darren Morfitt 12 September 1973, Hartlepool, England, UK Emily Joyce, Emily Joyce 1969, Woolwich, London, England, UK Neil Stuke, Neil Stuke 1967, Kent, England, UK Lesley Vickerage, Lesley Vickerage 1961, London, England, UK Katherine Wogan, Katherine Wogan 1974 in Maidenhead, Berkshire, England, UK David Westhead, David Westhead 1963, UK Marian McLoughlin, Marian McLoughlin 9 December 1952, Croydon, London, England, UK Stephen Boxer, Stephen Boxer 19 May 1950, Sidcup, Kent, England, UK Stacy Hart, Stacy Hart 28 August 1979 ...»
Director: David Richards, Stephen Whittaker
IMDb: 7.6
Quality:
Duration: 54 min
Keywords: #Darren Morfitt #Grafters #Robson Green #Season 1 #Stephen Tompkinson
COMMENTS (0) Sort by Newest Newest Oldest
User Name
Email
Touching Evil - Season 3 (1997)
Soldier Soldier - Season 6
Reckless - Season 1
The Last Musketeer
Deadly Waters with Captain Lee - Season 1
Bargain Hunt - Season 69
HMP Belmarsh: Evil Behind Bars - Season 1
Accomplice to Murder with Vinnie Politan - Season 2
The Stand Up Sketch Show - Season 6
Country: Genre: Play Now ';