CINXE.COM

NFL Fantasy - Perfect Challenge - NFL.com

<!DOCTYPE html> <!--[if lt IE 7 ]><html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml" class="ie ie6"><![endif]--> <!--[if IE 7 ]><html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml" class="ie ie7"><![endif]--> <!--[if IE 8 ]><html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml" class="ie ie8"><![endif]--> <!--[if IE 9 ]><html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml" class="ie ie9"><![endif]--> <!--[if (gt IE 9)|!(IE)]><!--><html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml"><!--<![endif]--><head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("http://landing.fantasy.nfl.com/perfect-challenge?icampaign=Perfect_Nav_signup","20120503035649","https://web.archive.org/","web","/_static/", "1336017409"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <title>NFL Fantasy - Perfect Challenge - NFL.com</title> <script type="text/javascript" src="https://web.archive.org/web/20120503035649js_/http://www.nfl.com/widget/partner/includes"></script> <script type="text/javascript">nfl.partner.createHead();</script> <link rel="shortcut icon" href="https://web.archive.org/web/20120503035649im_/http://i.nflcdn.com/static/site/3.10/img/favicon.png" type="image/png"/> <!-- ADD ANY CUSTOM HEAD ELEMENTS HERE --> <link rel="stylesheet" type="text/css" href="/web/20120503035649cs_/http://landing.fantasy.nfl.com/static/css/1335390742/bmZsRm9udHMuY3NzO3BlcmZlY3RDaGFsbGVuZ2UuY3Nz.css"/> <script type="text/javascript"> //FB.init({appId:nfl.constants.FACEBOOK_APP_ID, channelUrl:nfl.constants.SITE_URL+"/ptnr/fb/channel.html", status:true, cookie:true, xfbml:true}); window.fbAsyncInit = function() { FB.init({ appId : nfl.constants.FACEBOOK_APP_ID, channelUrl : nfl.constants.SITE_URL+"/ptnr/fb/channel.html", status : true, cookie : true, xfbml : true }); }; // Load the SDK Asynchronously (function(d){ var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;} js = d.createElement('script'); js.id = id; js.async = true; js.src = "//web.archive.org/web/20120503035649/http://connect.facebook.net/en_US/all.js"; d.getElementsByTagName('head')[0].appendChild(js); }(document)); </script><meta name="description" content="Check out the all-new fantasy game from the NFL, featuring great weekly prizes and a chance to win one million dollars. Be among the first to know when the game opens!"/> <meta property="og:title" content="NFL Perfect Challenge"/> <meta property="og:type" content="article"/> <meta property="og:image" content="https://web.archive.org/web/20120503035649im_/http://i.nflcdn.com/static/site/3.10/img/global/nfl-logo.png"/> <meta property="og:description" content="Check out the all-new fantasy game from the NFL, featuring great weekly prizes and a chance to win one million dollars. Be among the first to know when the game opens!"/> <meta property="fb:app_id" content="108273802559405"/><script> YUI.add('nfl-video-html5', function(Y) { function supportsHTML5VideoElement() { if (Y.UA.ie >= 9) { return true } if (Y.UA.android >= 3) { return true } if (Y.UA.ipad) { return true } if (Y.UA.webkit && !Y.UA.ios) { return true } if (Y.UA.opera) { return true } if (Y.UA.chrome) { return true } if (Y.UA.gecko) { return true } return false } function supportsH264() { if (Y.UA.ie >= 9) { return true } if (Y.UA.android >= 3) { return true } if (Y.UA.webkit && !Y.UA.ios) { return true } if (Y.UA.ipad) { return true } if (Y.UA.opera) { return true } if (Y.UA.chrome) { return true } if (Y.UA.gecko) { return true } return false } function logStart(json) { var __cid = json.ecmId; var s_analytics = s_gi(s_account); s_analytics.linkTrackEvents = 'event6'; s_analytics.linkTrackVars = "eVar7"; s_analytics.eVar4 = __cid; s_analytics.events = 'event6'; void(s_analytics.t()); } function requiresClickToOpen() { return false //return true if (Y.UA.android) { return true; } if (Y.UA.ipad) { return true; } return false //return true } Math.randomByTime = function() { var time, d; d = new Date(); d.setSeconds(Math.floor(d.getUTCSeconds() / 10) * 10); d.setMilliseconds(0); time = d.getTime(); return time; }; Y.namespace('NFL.Video').HTML5Event = { 'AD_LOADED': 'ads:html5:vast:loaded', 'AD_UNLOADED': 'ads:html5:vast:unloaded', 'AD_ERROR': 'ads:html5:vast:error', 'AD_RESUME': 'ads:html5:vast:play' } function HTML5Player() { HTML5Player.superclass.constructor.apply(this, arguments); } Y.namespace('NFL.Video').HTML5Player = Y.extend(HTML5Player, Y.Widget, { initializer: function(config) { // extend with config props this.set('oattrs', config); for (_k in config) { this.set(_k, config[_k]); } // set file and size based on the supplied size keyword size = Y.NFL.Video.PlayerSizes[this.get('size')] || Y.NFL.Video.PlayerSizes['default']; if (this.get('width') === 0) { this.set('width', size.width); } if (this.get('height') === 0) { this.set('height', size.height); } if (!Y.Cookie.exists('h5p')) { Y.Cookie.set('h5p', '0', { path: '/' }); } if (supportsHTML5VideoElement() && supportsH264()) { console.info('HTML5Player: supports HTML5 Video', this.events); this.on(Y.NFL.Video.PlayerEvent.JSON_LOADED, this.onDepLoad, this); this.on(Y.NFL.Video.PlayerEvent.LBALXML_LOADED, this.onDepLoad, this); this.on(Y.NFL.Video.PlayerEvent.HTML5DATALOADED, this.onHTML5DataLoaded, this); this.on(Y.NFL.Video.PlayerEvent.PLAY, this.onStart, this); this.on(Y.NFL.Video.PlayerEvent.PLAYBACK_COMPLETE, this.onEnd, this); this.on(Y.NFL.Video.PlayerEvent.UNAVAILABLE, this.onUnavailable, this); this.on(Y.NFL.Video.PlayerEvent.PLAY_NEXT, this.onPlayNext, this); this.getLoadBalancerXML(); console.log(' autoplay? ' + config.autoplay); console.log(' contentId? ' + config.contentId); if (config.autoplay === true && config.contentId) { this.loadContentId(config.contentId, true); } else { this.loadContentId(config.contentId, false); } } else { console.warn('browser does not support all requirements for NFL HTML5 Video'); } }, onUnavailable: function(event) { console.error('onUnavailable', event) this.get('contentBox').addClass('nfl-video-tag-error'); this.get('srcNode').setContent('<div class="video-error"><h2 class="video-error-message">Video Unavailable</h2></div>'); }, onDepLoad: function(event) { //console.log('onDepLoad',[this.get('loadbalancerXML'),this.get('videoJSON')]); console.log('onDepLoad : ' + this.get('loadbalancerXML') + ' | ' + this.get('videoJSON')); if (this.get('loadbalancerXML') !== null && this.get('videoJSON') !== null) { console.log('firing HTML5DATALOADED: ' + (this.get('loadbalancerXML') !== null && this.get('videoJSON') !== null)); this.fire(Y.NFL.Video.PlayerEvent.HTML5DATALOADED); this.fire(Y.NFL.Video.PlayerEvent.AVAILABLE); } }, onHTML5DataLoaded: function() { console.log('onHTML5DataLoaded'); this.renderUI(); this.bindUI(); }, onStart: function() { if (this.get('videoJSON') === null) { return } logStart(this.get('videoJSON')); }, onEnd: function() { Y.Cookie.set('h5p', parseInt(Y.Cookie.get('h5p')) + 1, { path: '/' }); var nextContentId = this.get('playlist').shift(); if (nextContentId) { this.fire(Y.NFL.Video.PlayerEvent.PLAY_NEXT, { contentId: nextContentId }); } }, renderUI: function() { this.set('autoplay', true); if (this.get('videoJSON') === null) { console.log('renderUI: videoJSON is null'); var content = '<video>' + 'your browser does not support the video tag' + '</video>' + '<div class="video-pre"><div class="video-pre-controls"></div></div>'; this.get('srcNode').setContent(content); setTimeout(Y.bind(function() { this.fire(Y.NFL.Video.PlayerEvent.INITIALIZED); }, this), 1000); return } //Y.UA.ipad = true; console.log('renderUI: has videoJSON'); console.log('loadbalancerXML ', this.get('loadbalancerXML')); var _source = this.getProgSource(this.get('loadbalancerXML')); var _path = _source.protocol + '://' + _source.host + '/' + this.getVideoPathFromJSON(this.get('videoJSON')); var _poster = this.get('videoJSON').imagePaths.m; console.log('renderUI: show video ' + _path); //console.log('renderUI: '+_source.protocol+'://'+_source.host+'/'); if (_path.lastIndexOf('.') < (_path.length - 4)) { this.fire(Y.NFL.Video.PlayerEvent.UNAVAILABLE); return } var content = '<video title="' + this.get('videoJSON').headline + '" src="' + _path + '" width="' + this.get('width') + '" height="' + this.get('height') + '" poster="' + _poster + '">' + 'your browser does not support the video tag' + '</video>' + ((Y.UA.ipad) ? '<div class="video-clicktoplay" style="width: ' + this.get('width') + 'px; height: ' + this.get('height') + 'px"></div>' : '') + '<div class="video-pre"><div class="video-pre-controls"></div></div>'; if (Y.UA.ipad) { this.get('srcNode').addClass('no-controls'); } this.get('srcNode').setContent(content); console.log('rendered HTML 5 player to node'); if (this.html5controls) { this.unplug(Y.NFL.Video.HTML5PlayerControls); } this.plug(Y.NFL.Video.HTML5PlayerControls); //if(this.get('autoplay') === true && this.get('contentId') !== null){ this.bindUI(); } }, onAdPlaying: function() { var _vnode = this.get('videoplayernode'); if (_vnode) { //console.log('adplaying check? '+ ((_vnode.getAttribute('src')).indexOf('nfl.com') <= -1) + ' | '+ _vnode.getAttribute('src')) if ((_vnode.getAttribute('src')).indexOf('nfl.com') <= -1) { // set ad playing class this.set('adIsPlaying', true); this.get('srcNode').addClass('adplaying'); //vnode.removeAttribute('poster'); } else { this.set('adIsPlaying', false); this.get('srcNode').removeClass('adplaying'); } _vnode.removeAttribute('controls'); // there should never ever be controls.. EVAR } }, bindUI: function() { var mediaPlayerName = "HTML5 Video Player", seekStart = 0; this.get('srcNode').one('video').generateID(); this.set('videoplayer', this.get('srcNode').one('video')._node); if (this.get('srcNode').one('.video-clicktoplay')) { this.get('srcNode').one('.video-clicktoplay').on('click', Y.bind(function(vp, e) { vp.get('srcNode').one('video')._node.play(); vp.get('srcNode').removeClass('no-controls'); this.remove(); }, this.get('srcNode').one('.video-clicktoplay'), this)); } /* proxy events */ if (this.get('videoJSON') === null) { console.warn('no video json'); return } if (this.get('videoplayernode').error) { this.fire(Y.NFL.Video.PlayerEvent.UNAVAILABLE); console.error('video player error', this.get('videoplayernode').error.code); } // PLAY this.get('videoplayernode').addEventListener('play', Y.bind(function(obj, e) { if (e.target.currentTime == 0) // Only show on initial Play not Resume { s_analytics.Media.open(obj.get('videoJSON').analyticsName, obj.get('videoJSON').length, mediaPlayerName); } s_analytics.Media.play(mediaPlayerName, e.target.currentTime.toFixed()); obj.fire(Y.NFL.Video.PlayerEvent.PLAY); }, this.get('videoplayer'), this), false); // PAUSE this.get('videoplayernode').addEventListener('pause', Y.bind(function(obj, e) { s_analytics.Media.stop(mediaPlayerName, e.target.currentTime.toFixed()); obj.fire(Y.NFL.Video.PlayerEvent.PAUSE); }, this.get('videoplayer'), this), false); // ENDED this.get('videoplayernode').addEventListener('ended', Y.bind(function(obj, e) { s_analytics.Media.stop(mediaPlayerName, obj.get('videoJSON').length); s_analytics.Media.close(mediaPlayerName); if (!obj.get('adIsPlaying')) { obj.fire(Y.NFL.Video.PlayerEvent.PLAYBACK_COMPLETE); } }, this.get('videoplayer'), this), false); // MOUSE DOWN (seek start) this.get('videoplayernode').addEventListener('mousedown', Y.bind(function(obj, e) { seekStart = e.target.currentTime.toFixed(); }, this.get('videoplayer'), this), false); // MOUSE UP (seek end) this.get('videoplayernode').addEventListener('mouseup', Y.bind(function(obj, e) { var seekEnd = e.target.currentTime.toFixed(); if (seekStart != seekEnd) { s_analytics.Media.stop(mediaPlayerName, seekStart); s_analytics.Media.play(mediaPlayerName, seekEnd); } }, this.get('videoplayer'), this), false); // ERROR this.get('videoplayernode').addEventListener('error', Y.bind(function(obj, e) { obj.fire(Y.NFL.Video.PlayerEvent.UNAVAILABLE); console.error('video player error', e.target.error.code); }, this.get('videoplayer'), this), false); /* set up VAST ADS */ /* set up vast ads handlers */ this.on(Y.NFL.Video.HTML5Event.AD_ERROR, this.playVideo); this.on(Y.NFL.Video.HTML5Event.AD_RESUME, this.playVideo); this.on(Y.NFL.Video.HTML5Event.AD_LOADED, this.pauseVideo); this.on(Y.NFL.Video.HTML5Event.AD_UNLOADED, this.playVideo); this.on(Y.NFL.Video.HTML5Event.AD_ERROR, Y.bind(this.html5controls.render, this.html5controls)); this.on(Y.NFL.Video.HTML5Event.AD_UNLOADED, Y.bind(this.html5controls.render, this.html5controls)); this.on(Y.NFL.Video.HTML5Event.AD_ERROR, Y.bind(function() { this.get('videoplayernode').removeAttribute('controls'); }, this)); //IMO this is a bug, google ads puts "controls" attribute back on video element when it completes. this.on(Y.NFL.Video.HTML5Event.AD_UNLOADED, Y.bind(function() { this.get('videoplayernode').removeAttribute('controls'); }, this)); //IMO this is a bug, google ads puts "controls" attribute back on video element when it completes. /* plug in html5 vast plugin */ if (this.get('showad')) { this.plug(Y.NFL.Video.HTML5VASTLoader); console.info('AD INFO!!!!', this.get('videoplays'), this.get('adRatio')); if (this.get('videoplays') >= this.get('adRatio')) { console.info('PLAY AD!!!!', this.get('videoplays'), this.get('adRatio')); if (this.ads.get('readytorequest')) { this.ads.requestAd({ adTagUrl: this.get('html5DartURL'), adType: 'video' }); } else { this.ads.on('readytorequestChange', Y.bind(function() { this.ads.requestAd({ adTagUrl: this.get('html5DartURL'), adType: 'video' }); }, this)); } Y.Cookie.set('h5p', 0, { path: '/' }); } if (!this.adPlayLoop) { this.adPlayLoop = Y.later(1000, this, Y.bind(this.onAdPlaying, this), [], true); } } console.log('bound ui'); console.info('oattrs', this.get('oattrs')); //this.ads.requestAd(); this.html5controls.render(); }, getVideoPathFromJSON: function(json) { var retVal = json.cdnData.uri; if (typeof json.cdnData.bitrateInfo !== 'undefined') { if (json.cdnData.bitrateInfo.length > 0) { for (var r = 0, len = json.cdnData.bitrateInfo.length; r < len; r++) { var i = json.cdnData.bitrateInfo[r]; if (i.rate <= this.get('bitrateMax')) { retVal = i.path; if (retVal.lastIndexOf('.') < (retVal.length - 4)) { // panic now, no extension, most likely an flv retVal = ''; return ''; } this.set('bitrate', (i.rate / 1000)); } else { break; } } } } return retVal }, getProgSource: function(json) { var _progSources = []; for (var _i = 0; _i < json.types.length; _i++) { if (json.types[_i].typeId === 'progSource') { _progSources[_progSources.length] = json.types[_i]; } } if (_progSources.length > 0) { var count = _progSources.length; var totalWeight = 0; var weightedSources = []; for (var s = 0, l = _progSources.length; s < l; s++) { var weight = parseInt(_progSources[s].weight); totalWeight = totalWeight + weight; for (var i = 0; i < weight; i++) { weightedSources[weightedSources.length] = _progSources[s]; } } var rSourceId = weightedSources[Math.floor(Math.random() * totalWeight)].source; for (var _k = 0; _k < json.sources.length; _k++) { if (json.sources[_k].id === rSourceId) { return json.sources[_k]; } } } return null }, getVideoJSONFile: function(path, autoplay) { Y.log('here') console.log('get video json file: ' + path); autoplay = false; !! autoplay; var _tDS = (new Y.DataSource.IO({ source: path })); _tDS.sendRequest({ callback: { success: Y.bind(function(response) { console.log('video json responded: ' + response.data.responseText); var _tdata = eval('(' + response.data.responseText + ')'); if (_tdata) this.set('contentId', _tdata.ecmId); this.set('videoJSON', _tdata); this.fire(Y.NFL.Video.PlayerEvent.JSON_LOADED); }, this), failure: Y.bind(function(response) { console.log('video json failed: '); this.fire(Y.NFL.Video.PlayerEvent.UNAVAILABLE); }, this) } }); }, getLoadBalancerXML: function() { var _tDS = (new Y.DataSource.IO({ source: '/video?videoUri=/static/content/public/static/html/widgets/videos/load-balancing.xml' })); _tDS.sendRequest({ callback: { success: Y.bind(function(response) { try { var _xml = response.data.responseXML; var _ret = {}; _ret.sources = Y.DataSchema.XML.apply(this.get('LoadBalancerSourcesSchema'), _xml).results; _ret.types = Y.DataSchema.XML.apply(this.get('LoadBalancerTypesSchema'), _xml).results; this.set('loadbalancerXML', _ret); this.fire(Y.NFL.Video.PlayerEvent.LBALXML_LOADED); } catch (e) { console.error('html5 player error', e); } }, this) } }); }, callSWF: function(cmd, args) { console.info('callSWF proxy from html5 player (' + cmd + ')', args); if (typeof this[cmd] === 'function') { this[cmd](args); } }, loadContentId: function(contentId, autoplay) { this.set('autoplay', (typeof autoplay !== 'undefined') ? autoplay : this.get('autoplay')); var _path = '/video?videoUri=/static/embeddablevideo/' + contentId + '.json&random=' + Math.randomByTime(); this.loadJSON(_path, autoplay); }, loadJSON: function(path, autoplay) { autoplay = false; !! autoplay; this.getVideoJSONFile(path, autoplay) }, getVideoPathFromJSON: function(json) { var retVal = json.cdnData.uri; if (typeof json.cdnData.bitrateInfo !== 'undefined') { if (json.cdnData.bitrateInfo.length > 0) { for (var r = 0, len = json.cdnData.bitrateInfo.length; r < len; r++) { var i = json.cdnData.bitrateInfo[r]; if (i.rate <= this.get('bitrateMax')) { retVal = i.path; this.set('bitrate', (i.rate / 1000)); } else { break; } } } } return retVal }, detructor: function(event) { }, onPlayNext: function(e) { console.log('next video', e); this.loadContentId(e.contentId) }, /////////////////////////////////////////////// SWF MIMIC METHODS /////////////////////////////////////// loadVideo: function(args) { Y.log(args) this.loadContentId(args[0], args[1]); }, loadVideoFromJSON: function(path, autoplay) { this.loadJSON(path, autoplay); }, addNextVideo: function(args) { var contentId = args && Y.Lang.isArray(args) && args[0]; if (!contentId) return; this.get('playlist').push(contentId); }, setCountdownEnabled: function(args) { }, playVideo: function(args) { if (typeof this.get('videoplayer') !== 'undefined' && this.get('videoplayer') !== null) { this.get('videoplayernode').play(); } }, pauseVideo: function(args) { if (typeof this.get('videoplayer') !== 'undefined' && this.get('videoplayer') !== null) { this.get('videoplayernode').pause(); } } }, { NAME: 'nfl-video-html5-player', ATTRS: { 'adRatio': { value: 0 }, 'videoplays': { value: 0, getter: function() { return parseInt(Y.Cookie.get('h5p')); } }, 'oattrs': { value: {} }, 'showad': { value: true }, 'adIsPlaying': { value: false }, 'autoplay': { value: false }, 'html5DartURL': { value: "" }, 'size': { value: 'default' }, 'width': { value: 0 }, 'height': { value: 0 }, 'contentId': { value: null }, 'videoplayer': { value: null }, 'videoplayernode': { getter: function() { return Y.Node.getDOMNode(this.get('videoplayer')); } }, 'loadbalancerXML': { value: null }, 'videoJSON': { value: null }, 'bitrateMax': { value: 700000 }, 'bitrate': { value: 700 }, 'playerName': { value: 'default' }, 'playlist': { value: [] }, 'debugging': { value: ((window.location.hash !== '' && (window.location.hash).indexOf('debug=true') > -1) ? true : false) }, 'LoadBalancerSourcesSchema': { value: { metaFields: { streamHQOver: { locator: "//web.archive.org/web/20120503035649/http://vlb/streamHQOver" } }, resultListLocator: '//web.archive.org/web/20120503035649/http://vlb/sources/source', resultFields: [{ key: "id", locator: "@id" }, { key: "protocol", locator: "@protocol" }, { key: "host", locator: "@host" }, { key: "pathprefix", locator: "@pathprefix" }] } }, 'LoadBalancerTypesSchema': { value: { resultListLocator: '//web.archive.org/web/20120503035649/http://vlb/types/type/method', resultFields: [{ key: "source", locator: "@source" }, { key: "weight", locator: "@weight" }, { key: "typeId", locator: "../@id" }] } } } }); function HTML5PlayerControls() { HTML5PlayerControls.superclass.constructor.apply(this, arguments); } Y.namespace('NFL.Video').HTML5PlayerControls = Y.extend(HTML5PlayerControls, Y.Plugin.Base, { initializer: function(config) { this._getTime = function(seconds) { var _t = {}; _t.current = seconds; _t.hours = 0; _t.minutes = Math.floor((seconds / 60)); _t.seconds = Math.round((seconds - Math.floor(_t.minutes * 60))) _t.formatted = (((_t.minutes < 10) ? '0' + _t.minutes : _t.minutes) + ':' + ((_t.seconds < 10) ? '0' + _t.seconds : _t.seconds)); return _t } }, reset: function() { console.info('adcontrols: rest()'); delete this._controls_time; delete this._scrubber_elapsed; delete this._scrubber_totaltime; delete this._scrubber_width; delete this._playernode; if (typeof this.get('host').get('videoplayernode') !== 'undefined') { this.get('host').get('videoplayernode').removeAttribute('controls'); } this.bindUI(); }, render: function() { if (this.get('rendered')) { return } this.renderUI(); this.bindUI(); this.syncUI(); this.set('rendered', true); }, renderUI: function() { var _c = this.get('host').get('srcNode'); var _html = '<div class="video-controls-rel"><div class="video-controls" style="width: ' + (this.get('host').get('width') - 20) + 'px">'; _html += ' <div class="toggle"><button class="play"></button><button class="pause"></button></div>'; _html += ' <div class="scrubber">'; _html += ' <div class="elapsed" style="width: 0px;"></div><div class="scrubhandle" style="top: -11px; left: -20px; position: relative;"></div>'; _html += ' </div>'; _html += ' <div class="time"></div>'; _html += ' <div class="muteunmute"><button class="mute"></button><button class="unmute"></button></div>'; _html += '</div></div>'; _c.append(_html); this.get('host').get('srcNode').one('.video-controls').one('.scrubber').setStyle('width', this.get('host').get('width') - 205) this.set('srcNode', this.get('host').get('.video-controls')) }, onMuteToggle: function(e) { if (typeof this._playernode === 'undefined') { this._playernode = this.get('host').get('videoplayernode'); } if (this._playernode.muted) { this.get('host').get('srcNode').addClass('muted'); } else { this.get('host').get('srcNode').removeClass('muted'); } }, onPlayToggle: function(e) { if (typeof this._playernode === 'undefined') { this._playernode = this.get('host').get('videoplayernode'); } if (this._playernode.paused) { this.get('host').get('srcNode').removeClass('playing'); } else { this.get('host').get('srcNode').addClass('playing'); } }, onElapsed: function(e) { if (typeof this._playernode === 'undefined') { this._playernode = this.get('host').get('videoplayernode'); } if (!this._controls_time) { this._controls_time = this.get('host').get('srcNode').one('.video-controls').one('.time'); } if (!this._scrubber_elapsed) { this._scrubber_elapsed = this.get('host').get('srcNode').one('.video-controls').one('.scrubber').one('.elapsed'); } if (!this._scrubber_handle) { this._scrubber_handle = this.get('host').get('srcNode').one('.video-controls').one('.scrubber').one('.scrubhandle'); } if (!this._scrubber_totaltime) { this._scrubber_totaltime = this._getTime(this.get('host').get('videoplayernode').duration); } if (!this._scrubber_width) { var _sele = this.get('host').get('srcNode').one('.video-controls').one('.scrubber'); this._scrubber_width = parseInt(_sele.getComputedStyle('width')); } var _ct = this._getTime(this.get('host').get('videoplayernode').currentTime); this._controls_time.setContent(_ct.formatted + ' / ' + this._scrubber_totaltime.formatted); //console.log('scrubber width',this._scrubber_width); var totalWidth = this._scrubber_width; var newWidth = (_ct.current * (totalWidth / this._scrubber_totaltime.current)); //console.log('scrubber new width',(Math.floor(newWidth) +'px')); this._scrubber_elapsed.setStyle('width', (Math.floor(newWidth) + 'px')); this._scrubber_handle.setStyle('left', ((Math.floor(newWidth) - 10) + 'px')); }, onScrubberClick: function(e) { console.log('scrubber click', e); //if(e.target === e.currentTarget){ if (e.target.get('className') !== 'scrubhandle') { if (typeof this._playernode === 'undefined') { this._playernode = this.get('host').get('videoplayernode'); } if (!this._scrubber_totaltime) { this._scrubber_totaltime = this._getTime(this.get('host').get('videoplayernode').duration); } var _pX = e.pageX; var _sX = e.currentTarget.getX(); var _sW = parseInt(e.currentTarget.getComputedStyle('width')); var _sH = null; var _sHX = Math.floor(_pX - _sX); // this is the new stop point for the scrubber var _sT = _sHX / (_sW / this.get('host').get('videoplayernode').duration); this._playernode.currentTime = _sT; } //} }, onScrubberHandleDrop: function(e) { console.log('DROP THE HANDLE F000!!', e); if (!this._scrubber_width) { var _sele = this.get('host').get('srcNode').one('.video-controls').one('.scrubber'); this._scrubber_width = parseInt(_sele.getComputedStyle('width')); } if (!this._scrubber_track) { this._scrubber_track = this.get('host').get('srcNode').one('.video-controls').one('.scrubber'); } var _sW = this._scrubber_width; var _sHX = Math.floor(e.pageX - this._scrubber_track.getX()); var _sT = _sHX / (_sW / this.get('host').get('videoplayernode').duration); this._playernode.currentTime = _sT; console.info('new handle position:!!', _sHX); e.stopPropagation(); }, bindUI: function() { if (typeof this._playernode === 'undefined') { this._playernode = this.get('host').get('videoplayernode'); } this.get('host').on(Y.NFL.Video.HTML5Event.AD_UNLOADED, Y.bind(function() { Y.later(1000, this, this.reset, [], false) }, this)); //this.get('host').get('videoplayernode').observe('mousemove',fadeControlsIn); //PlayerInstance.observe('mouseout',fadeControlsOut); this._playernode.addEventListener('timeupdate', Y.bind(this.onElapsed, this)); this._playernode.addEventListener('play', Y.bind(this.onPlayToggle, this)); this._playernode.addEventListener('pause', Y.bind(this.onPlayToggle, this)); this._playernode.addEventListener('volumechange', Y.bind(this.onMuteToggle, this)); this._playernode.addEventListener('ended', Y.bind(this.reset, this)); //attach click handlers to initiate player events this.get('host').get('srcNode').one('.toggle .play').on('click', Y.bind(function() { console.log('play'); this._playernode.play(); }, this), this); this.get('host').get('srcNode').one('.toggle .pause').on('click', Y.bind(function() { console.log('pause'); this._playernode.pause(); }, this), this); this.get('host').get('srcNode').one('.scrubber').on('click', Y.bind(this.onScrubberClick, this), this); this.get('host').get('srcNode').one('.muteunmute .mute').on('click', Y.bind(function() { this._playernode.muted = true; }, this), this); this.get('host').get('srcNode').one('.muteunmute .unmute').on('click', Y.bind(function() { this._playernode.muted = false; }, this), this); //attach scrubhandle to track this._scrubber_track = this.get('host').get('srcNode').one('.video-controls').one('.scrubber'); this._scrubber_handle = this.get('host').get('srcNode').one('.scrubhandle'); this._scrubber_dd = new Y.DD.Drag({ node: this._scrubber_handle }).plug(Y.Plugin.DDConstrained, { constrain2node: this._scrubber_track }).plug(Y.Plugin.DDProxy, { cloneNode: true }); this._scrubber_dd.on('drag:end', Y.bind(this.onScrubberHandleDrop, this)); }, syncUI: function() {} }, { NS: "html5controls", NAME: "nfl-video-html5-controls", ATTRS: { 'rendered': { value: false }, 'handlers': { value: [] }, 'srcNode': { value: null } } }); function HTML5VASTLoader() { HTML5VASTLoader.superclass.constructor.apply(this, arguments); } Y.namespace('NFL.Video').HTML5VASTLoader = Y.extend(HTML5VASTLoader, Y.Plugin.Base, { initializer: function(config) { console.info('HTML5VASTLoader->initializer'); //this.get('host').get('videoplayernode').setAttribute('controls','false'); //alert('what the shit!'); /* event handlers */ this.once('adsloaderChange', Y.bind(this.onAdsloaderChanged, this), this); this.once('jsapiloadedChange', Y.bind(this.loadSDK, this), this); this.get('host').on(Y.NFL.Video.HTML5Event.AD_ERROR, Y.bind(function() { this.get('host').get('videoplayernode').setAttribute('controls', 'true'); }, this)); this.get('host').on(Y.NFL.Video.HTML5Event.AD_UNLOADED, Y.bind(function() { this.get('host').get('videoplayernode').setAttribute('controls', 'true'); }, this)); /* check for jsapi */ if (!Y.one('#googlejsapi')) { // add google jsapi to page this.loadJSAPI(); } else { this.onJSAPILoaded(); } console.info('initialized HTML5VASTLoader..'); }, /* * google jsapi and adsloader methods and handlers */ loadJSAPI: function() { console.info('HTML5VASTLoader->loadJSAPI'); this._jsapicheckloop = null; this._jsapicheckiters = 0; this._checkforjsapi = function(evt) { this._jsapicheckiters = this._jsapicheckiters + 1; if (window.google) { if (this._jsapicheckloop !== null) { try { this._jsapicheckloop.cancel(); } catch (e) {} this._jsapicheckloop = null; } this.onJSAPILoaded(); return } if (this._jsapicheckiters > 20) { // just in case we cancel check after 20 attempts, and throw error try { this._jsapicheckloop.cancel(); this._jsapicheckiters = 0; this._jsapicheckloop = null; this.fire(Y.NFL.Video.HTML5Event.AD_ERROR, e); } catch (e) {} } } if (Y.one('head')) { var _gscript = document.createElement('script'); _gscript.setAttribute('id', 'googlejsapi'); _gscript.setAttribute('type', 'text/javascript'); _gscript.setAttribute('src', 'https://web.archive.org/web/20120503035649/http://www.google.com/jsapi'); Y.one('head').appendChild(_gscript); this._jsapicheckloop = (Y.later(300, this, Y.bind(this._checkforjsapi, this), [], true)); return } }, loadSDK: function() { console.info('HTML5VASTLoader->loadSDK'); this._GOOGLE.load("ima", "1", { "callback": Y.bind(this.onSDKLoaded, this) }); }, onSDKLoaded: function() { console.info('HTML5VASTLoader->onSDKLoaded'); this.set('adsloader', (new this._GOOGLE.ima.AdsLoader())); }, onJSAPILoaded: function() { console.info('HTML5VASTLoader->onJSAPILoaded'); this._GOOGLE = window.google; this.set('jsapiloaded', true); }, /* event handlers */ onAdsloaderChanged: function(e) { console.info('HTML5VASTLoader->onAdsloaderChanged', e.newVal); // set up bindings for handling ads var _al = e.newVal; _al.addEventListener(this._GOOGLE.ima.AdsLoadedEvent.Type.ADS_LOADED, Y.bind(this.onAdLoaded, this), false); _al.addEventListener(this._GOOGLE.ima.AdErrorEvent.Type.AD_ERROR, Y.bind(function(e) { this.get('host').fire(Y.NFL.Video.HTML5Event.AD_ERROR, e); }, this), false); //this.set('adsloader',_al); /* mark plugin as ready to go */ Y.later(500, this, Y.bind(function() { this.set('readytorequest', true) }, this), [], false); }, requestAd: function(_request) { console.info('HTML5VASTLoader->requestAd: this is? ', this.getAttrs()); if (typeof _request === 'undefined' || _request === null) { console.warn('cannot request vast ad without a request object. see http://code.google.com/apis/ima/docs/sdks/googlehtml5_ads.html'); //return this.set('adPath', 'https://web.archive.org/web/20120503035649/http://ad.doubleclick.net/pfadx/nfl.test.videogallery/videohome/html5;s1=videohome;s2=html5;slot=inpage;url=videohome;nfl=ad;!category=;kw=;tile=1;test=;sz=640x360;ord={ord}'.replace('{ord}', window.nfl.constants.AD_RANDOM)); //this.set('adPath','https://web.archive.org/web/20120503035649/http://ad.doubleclick.net/pfadx/AngelaSite;kw=html5linearnonlinear;sz=300x300;ord=5036130;dcmt=text/xml'); console.log('setting ad path to fallback default: ', this.get('adPath')); } else { this.set('adPath', _request.adTagUrl); } _request = { adTagUrl: this.get('adPath'), adType: 'video' } this.get('adsloader').requestAds(_request); }, onAdLoaded: function(adsLoadedEvent) { console.info('HTML5VASTLoader->onAdLoaded', adsLoadedEvent); /* set up event google ad event to local plugin event proxy */ try { var _alevt = adsLoadedEvent; var _aman = adsLoadedEvent.getAdsManager(); _aman.addEventListener(this._GOOGLE.ima.AdErrorEvent.Type.AD_ERROR, Y.bind(function(e) { this.get('host').fire(Y.NFL.Video.HTML5Event.AD_ERROR, _aman); }, this), false); _aman.addEventListener(this._GOOGLE.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, Y.bind(function(e) { this.get('host').fire(Y.NFL.Video.HTML5Event.AD_LOADED, _aman); }, this), false); _aman.addEventListener(this._GOOGLE.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, Y.bind(function(e) { this.get('host').fire(Y.NFL.Video.HTML5Event.AD_UNLOADED, _aman); }, this), false); if (this.get('clicktrackelement') !== null) { _aman.setClickTrackingElement(this.get('clicktrackelement')); } _aman.play(this.get('host').get('videoplayernode')); // set up timeout to throw error just in case /* Y.later(6000,this,Y.bind(function(_aman){ var _vpn = this.get('host').get('videoplayernode'); var _ct = _vpn.currentTime; if(_ct <= 1){ console.warn('ad did not play within 6 secs. something is wrong. error.',_ct); //something is wrong, video should have started playing by now this.get('host').fire(Y.NFL.Video.HTML5Event.AD_ERROR,_aman); } },this,_aman),[],false); */ } catch (e) { console.log('no idea. ipad sucks.' + e.message); } console.log('set ad manager to play'); }, destructor: function() { } }, { NS: "ads", NAME: "nfl-video-html5-vast", ATTRS: { 'adPath': { value: null }, 'oattrs': { value: null }, 'jsapiloaded': { value: false }, 'adsloader': { value: null }, 'readytorequest': { value: false }, 'clicktrackelement': { value: null } } }); }, "3.2.0", { requires: ['base', 'plugin', 'node', 'widget', 'dd-drag', 'dd-constrain', 'dd-proxy', 'cookie', 'array-extras', 'json-parse', 'event-custom', 'substitute', 'datasource-io', 'datasource-local', 'dataschema-xml', 'dataschema-json'] }); </script></head> <body id="com-nfl"> <script type="text/javascript">nfl.partner.createHeader();</script> <div id="doc"> <div id="doc-wrap"> <div id="main-content" class="content-div default"> <div class="c"> <div id="perfectChallengePage"> <div id="prePrimary"> <script> YUI.add("gallery-overlay-modal",function(Y){ /* * Overlay Modal Plugin * * Oddnut Software * Copyright (c) 2009-2010 Eric Ferraiuolo - http://eric.ferraiuolo.name * YUI BSD License - http://developer.yahoo.com/yui/license.html */ var OverlayModal,OVERLAY_MODAL="overlayModal",HOST="host",BOUNDING_BOX="boundingBox",OVERLAY="overlay",MODAL="modal",MASK="mask",CHANGE="Change",getCN=Y.ClassNameManager.getClassName,isBoolean=Y.Lang.isBoolean,CLASSES={modal:getCN(OVERLAY,MODAL),mask:getCN(OVERLAY,MASK)};OverlayModal=function(config){OverlayModal.superclass.constructor.apply(this,arguments);};Y.mix(OverlayModal,{NAME:OVERLAY_MODAL,NS:MODAL,ATTRS:{mask:{value:true,validator:isBoolean}},CLASSES:CLASSES});Y.extend(OverlayModal,Y.Plugin.Base,{_maskNode:null,_focusHandle:null,_clickHandle:null,initializer:function(config){this.doAfter("renderUI",this.renderUI);this.doAfter("bindUI",this.bindUI);this.doAfter("syncUI",this.syncUI);if(this.get(HOST).get("rendered")){this.renderUI();this.bindUI();this.syncUI();}},destructor:function(){if(this._maskNode){this._maskNode.remove(true);}this._detachFocusHandle();this._detachClickHandle();this.get(HOST).get(BOUNDING_BOX).removeClass(CLASSES.modal);},renderUI:function(){this._maskNode=Y.Node.create("<div></div>");this._maskNode.addClass(CLASSES.mask);this._maskNode.setStyles({position:"fixed",width:"100%",height:"100%",top:"0",left:"0",zIndex:"-1"});this.get(HOST).get(BOUNDING_BOX).addClass(CLASSES.modal);},bindUI:function(){this.after(MASK+CHANGE,this._afterMaskChange);this.get(HOST).after("visibleChange",Y.bind(this._afterHostVisibleChange,this));},syncUI:function(){this._uiSetHostVisible(this.get(HOST).get("visible"));this._uiSetMask(this.get(MASK));},mask:function(){this.set(MASK,true);},unmask:function(){this.set(MASK,false);},_focus:function(){var host=this.get(HOST),bb=host.get(BOUNDING_BOX),oldTI=bb.get("tabIndex");bb.set("tabIndex",0);host.focus();bb.set("tabIndex",oldTI);},_blur:function(){this.get(HOST).blur();},_uiSetHostVisible:function(visible){if(visible){this._attachFocusHandle();this._attachClickHandle();this._focus();}else{this._detachFocusHandle();this._detachClickHandle();this._blur();}},_uiSetMask:function(mask){var bb=this.get(HOST).get(BOUNDING_BOX);if(mask){bb.append(this._maskNode);}else{if(this._maskNode.get("parentNode")===bb){this._maskNode.remove();}}},_attachFocusHandle:function(){if(!this._focusHandle){this._focusHandle=Y.one(document).on("focus",Y.bind(function(e){if(!this.get(HOST).get(BOUNDING_BOX).contains(e.target)){this._focus();}},this));}},_attachClickHandle:function(){if(!this._clickHandle){var bb=this.get(HOST).get(BOUNDING_BOX);this._clickHandle=this._maskNode.on("click",Y.bind(bb.scrollIntoView,bb,false));}},_detachFocusHandle:function(){if(this._focusHandle){this._focusHandle.detach();this._focusHandle=null;}},_detachClickHandle:function(){if(this._clickHandle){this._clickHandle.detach();this._clickHandle=null;}},_afterHostVisibleChange:function(e){this._uiSetHostVisible(e.newVal);},_afterMaskChange:function(e){this._uiSetMask(e.newVal);}});Y.namespace("Plugin").OverlayModal=OverlayModal;},"gallery-2010.02.25-22",{requires:["overlay","plugin","event-focus"]}); YUI.add("nfl-fantasy-perfect-challenge", function(Y){ var isInit = false; var errorOverlay = null; var handlePopupClose = function(e) { if (errorOverlay) { errorOverlay.setStdModContent(Y.WidgetStdMod.BODY, '&nbsp;'); errorOverlay.hide(); errorOverlay = null; Y.one('#errorOverlay').remove(); if (e && e.currentTarget && e.currentTarget.hasClass('popupClose')) { Y.log(e.currentTarget); e.halt(); return false; } } } function getAge(year,month,day) { var today = new Date(); var age = today.getFullYear() - year; var m = today.getMonth() - month; if (m < 0 || (m === 0 && today.getDate() < day)) { age--; } return age; } var launchPopup = function(content){ if ( errorOverlay ) { handlePopupClose(); } var centered = true; errorOverlay = new Y.Overlay({ bodyContent: '<span class="close"></span> <strong>Unsuccessful Submission</strong> <p>'+content+'</p> <em class="close">Close</em>', zIndex: 1000003, shim: true, centered:centered, height: 200, width: 350, id:'errorOverlay' }); errorOverlay.plug(Y.Plugin.OverlayModal); errorOverlay.render(); errorOverlay.blur(); var activity = 'unsuccessful'; var replaceIndex = 3; Y.fire('pageTracking:full', { props: { 'pageName': { value: activity, delimiter: ':', type: 'replace', index: replaceIndex }, 'hier1': { value: activity, delimiter: '|', type: 'replace', index: replaceIndex }, 'prop5': { value: activity, delimiter: '|', type: 'replace', index: replaceIndex }, 'eVar4': { value: activity, delimiter: '|', type: 'replace', index: replaceIndex } } }); } var validateBdayForm = function (e){ var currentTarget = e.currentTarget; var forms = currentTarget.all('.bday'); var dates = []; var cards = []; var isNotValid = false; var emailAddress = currentTarget.one('.emailAddress .text'); if (!emailAddress.get('value') || emailAddress.get('value').indexOf('@') === -1 ) { launchPopup('Please enter an email address'); isNotValid = true; } if ( !isNotValid ) { var isNotValid = forms.some(function(f){ var yearElem = f.one('.birthdateYear select'); var monthElem = f.one('.birthdateMonth select'); var dayElem = f.one('.birthdateDay select'); var items = [yearElem,monthElem,dayElem]; var itemTitles = ['Year', 'Month', 'Day']; var errors = []; for ( var i=0; i< items.length; i++) { var curValue = items[i].get('value'); if ( curValue == '0' ) { errors.push(itemTitles[i]); } } if (errors.length > 0) { var delimiter = ( ', ' ); if ( errors.length == 3 ) { errors[2] = 'and ' + errors[2]; } else if ( errors.length == 2 ) { delimiter = ' and '; } launchPopup('Please Select a ' + errors.join(delimiter)); return true; } //add checks for leap year and 30,31 for month var month = monthElem.get('value'); var day = dayElem.get('value'); var year = yearElem.get('value'); if ( ( month == '04' || month == '06' || month == '09' || month == '11' ) && day == '31' ) { dayElem.set('value', '30') day = '30'; } var dayInt = parseInt(day,10); if (month == '02' && dayInt > 28) { var isValid = false; var message = ''; var leapYears = { 1912: true, 1916: true, 1920: true, 1924: true, 1928: true, 1932: true, 1936: true, 1940: true, 1944: true, 1948: true, 1952: true, 1956: true, 1960: true, 1964: true, 1968: true, 1972: true, 1976: true, 1980: true, 1984: true, 1988: true, 1992: true, 1996: true, 2000: true, 2004: true, 2008: true, 2012: true, 2016: true } if ( (dayInt == 29 && !leapYears[year]) || dayInt > 29 ) { message = 'February '+ dayInt + ', '+ year +' is not a valid date.'; launchPopup(message); return true; } } var age = getAge( year, parseInt(month,10)-1, dayInt ); if ( age < 13 ) { message = 'You must be at least 13 years of age to participate in the Perfect Challenge'; launchPopup(message); return true; } }); } if ( isNotValid ) { e.halt(); return false; } else { return true; } } Y.NflFantasyPerfectChalenge = { init: function(){ if (isInit) { return; } isInit = true; Y.publish('pageTracking:full', {broadcast:2}) Y.one('body').delegate("click", handlePopupClose, '.yui3-overlay-mask'); Y.one('body').delegate("click", handlePopupClose, '.yui3-widget-bd .close'); Y.on('submit', validateBdayForm, Y.one('#perfectChallengeSignUp form')); } } }, "0.1", { requires: [ "node"] }); nfl.use('node', 'nfl-fantasy-perfect-challenge', 'overlay', 'widget-position-align', 'widget-position', 'widget', 'plugin', 'gallery-overlay-modal', function (Y) { Y.NflFantasyPerfectChalenge.init(); }); </script> <div><img src="/web/20120503035649im_/http://landing.fantasy.nfl.com/static/img/art-dec_1335388857.png"/></div> <h1>NFL Fantasy Perfect Challenge</h1> <div id="perfectChallengeSignUp"> <div class="content"> <div class="hd"> <div class="nfl-video-tag nfl-video-large" id="video"></div> </div> <div class="bd"> <form method="post" action="/web/20120503035649/http://landing.fantasy.nfl.com/perfectchallengeentryaddconfirm"> <ul> <li class="emailAddress"> <label for="emailAddress"> Email Address </label> <input class="text" type="email" name="emailAddress" id="emailAddress" value=""/> </li> <li> <label for="month"> Date of Birth </label> <div class="bday"><ul class="formItems"><li class="select birthdateMonth first"><label for="birthdateMonth">Month</label> <select id="birthdateMonth" name="birthdateMonth"><option value="0">Month</option><option value="01">January</option><option value="02">February</option><option value="03">March</option><option value="04">April</option><option value="05">May</option><option value="06">June</option><option value="07">July</option><option value="08">August</option><option value="09">September</option><option value="10">October</option><option value="11">November</option><option value="12">December</option></select><span>/</span></li><li class="select birthdateDay"><label for="birthdateDay">Day</label> <select id="birthdateDay" name="birthdateDay"><option value="0">Day</option><option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option><option value="07">07</option><option value="08">08</option><option value="09">09</option><option value="10">10</option><option value="11">11</option><option value="12">12</option><option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option><option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option><option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option><option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option><option value="29">29</option><option value="30">30</option><option value="31">31</option></select><span>/</span></li><li class="select birthdateYear last"><label for="birthdateYear">Year</label> <select id="birthdateYear" name="birthdateYear"><option value="0">Year</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option><option value="1969">1969</option><option value="1968">1968</option><option value="1967">1967</option><option value="1966">1966</option><option value="1965">1965</option><option value="1964">1964</option><option value="1963">1963</option><option value="1962">1962</option><option value="1961">1961</option><option value="1960">1960</option><option value="1959">1959</option><option value="1958">1958</option><option value="1957">1957</option><option value="1956">1956</option><option value="1955">1955</option><option value="1954">1954</option><option value="1953">1953</option><option value="1952">1952</option><option value="1951">1951</option><option value="1950">1950</option><option value="1949">1949</option><option value="1948">1948</option><option value="1947">1947</option><option value="1946">1946</option><option value="1945">1945</option><option value="1944">1944</option><option value="1943">1943</option><option value="1942">1942</option><option value="1941">1941</option><option value="1940">1940</option><option value="1939">1939</option><option value="1938">1938</option><option value="1937">1937</option><option value="1936">1936</option><option value="1935">1935</option><option value="1934">1934</option><option value="1933">1933</option><option value="1932">1932</option><option value="1931">1931</option><option value="1930">1930</option><option value="1929">1929</option><option value="1928">1928</option><option value="1927">1927</option><option value="1926">1926</option><option value="1925">1925</option><option value="1924">1924</option><option value="1923">1923</option><option value="1922">1922</option><option value="1921">1921</option><option value="1920">1920</option><option value="1919">1919</option><option value="1918">1918</option><option value="1917">1917</option><option value="1916">1916</option><option value="1915">1915</option><option value="1914">1914</option><option value="1913">1913</option><option value="1912">1912</option></select></li></ul></div> </li> <li class="optin"> <input type="checkbox" name="optin" value="1" checked id="optin"/> <label for="optIn"> Receive newsletters and marketing messages from NFL.com </label> </li> <li> <input type="submit" class="submit" name="jSubmit"/> </li> </ul> </form> </div> </div> </div> <script type="text/javascript"> nfl.use('node', 'netsession-installer', function (Y) { Y.NetSessionInstaller.DOWNLOADER = nfl.constants.SITE_URL + '/widgets/videos/downloader'; nfl.createVideoPlayer({ contentId: "09000d5d8278d646", playerName: "modal_player", autoplay: true, containerId: "video", adSetting: "1", wMode: "transparent", bgcolor: "#000000", size: "article", //dartURL: "https://web.archive.org/web/20120503035649/http://ad.doubleclick.net/pfadx/nfl.other/widget/modal/playoff-challenge;s1=widget;s2=modal;s3=playoff-challenge;slot=inpage;url=widget_modal_playoff-challenge;nfl=ad;!category=;kw=;tile=10;test=;sz=640x360;ord=" + (window.adRandom || nfl.constants.AD_RANDOM) + "?", //html5DartURL: ("https://web.archive.org/web/20120503035649/http://ad.doubleclick.net/pfadx/nfl.other/widget/modal/playoff-challenge/html5;s1=widget;s2=modal;s3=playoff-challenge;player=html5;slot=inpage;url=widget_modal_playoff-challenge;nfl=ad;!category=;kw=;tile=10;test=;sz=640x360{dcopt};ord=" + (window.adRandom || nfl.constants.AD_RANDOM) + "?").replace('{dcopt}',''), uniqid: "video" }); }); </script> <div id="perfectChallengeInfo"> <div class="content"> <div class="bd"> <div class="hdWrap"> <h3>Pre-register now</h3> <div id="social-bar"></div> <h3>You could win One Million Dollars</h3> </div> <ul><li class="first">Enter your email to be notified when registration opens</li><li>All-New fantasy football game from the NFL - coming soon!</li><li>Free to play</li><li class="last">Great weekly prizes and the chance to win $1 million</li></ul> <p> No Purchase Necessary. Pre-Register between 8:00 AM ET on 2/2/12 and August 2012. Pre-Registration is open to legal residents of 50 U.S. and DC 18+ years. Void where prohibited. Registration for entry starts August 2012 and ends at the conclusion of the 2012 NFL regular season ("Registration Period"). Subject to Official Rules available at nfl.com/fantasy during Registration Period or by sending a SASE for receipt by 1/28/13 to: Perfect Challenge RULES, P.O. Box 17009, Bridgeport, CT, 06673-7009. </p> <a href="https://web.archive.org/web/20120503035649/http://www.nfl.com/fantasy?home" class="passThrough">NFL.com/Fantasy &gt;</a> <a href="https://web.archive.org/web/20120503035649/http://challengegames.nfl.com/playoffchallenge" class="passThrough passThrough2">NFL Playoff Challenge &gt;</a> </div> <div class="ft"> <div class="imgWrap"> <img src="/web/20120503035649im_/http://landing.fantasy.nfl.com/static/img/perfectMainImage_1330392378.jpg" width="401" height="226" alt="NFL Fantasy Perfect Challenge"/> </div> </div> </div> </div> <script type="text/javascript"> nfl.use('node', 'share-bar', 'netsession-installer', function (Y) { var shareButtons = [ { provider: 'facebook-like', enableCount: true }, { provider: 'share', enableCount: false } ]; var shareBar = new Y.NFL.ShareBar({ shareButtons: shareButtons, render: '#social-bar', linkBack : 'https://web.archive.org/web/20120503035649/http://bit.ly/perfch', title: 'NFL Perfect Challenge', description: 'You could win $1 million with the new game from the NFL, coming soon.', mediaItem: [{ type: 'image', src: 'https://web.archive.org/web/20120503035649/http://i.nflcdn.com/static/site/3.10/img/global/nfl-logo.png', href: 'https://web.archive.org/web/20120503035649/http://bit.ly/perfch' }] }); }); </script> <img src="https://web.archive.org/web/20120503035649im_/https://535.xg4ken.com/media/redir.php?track=1&amp;token=47838c9c-e350-46d0-8f25-df582d2599bf&amp;type=conv&amp;val=0.0&amp;orderId=&amp;promoCode=&amp;valueCurrency=USD" width="1" height="1"> <script type="text/javascript"> var hostProtocol = (("https:" == document.location.protocol) ? "https" : "http"); document.write('<scr'+'ipt src="', hostProtocol+ '://535.xg4ken.com/media/getpx.php?cid=47838c9c-e350-46d0-8f25-df582d2599bf','"type="text/JavaScript"><\/scr'+'ipt>'); </script> <script type="text/javascript"> var params = new Array(); params[0]='id=47838c9c-e350-46d0-8f25-df582d2599bf'; params[1]='type=conv'; params[2]='val=0.0'; params[3]='orderId='; params[4]='promoCode='; params[5]='valueCurrency=USD'; k_trackevent(params,'535'); </script> <noscript> <img src="https://web.archive.org/web/20120503035649im_/https://535.xg4ken.com/media/redir.php?track=1&amp;token=47838c9c-e350-46d0-8f25-df582d2599bf&amp;type=conv&amp;val=0.0&amp;orderId=&amp;promoCode=&amp;valueCurrency=USD" width="1" height="1"> </noscript> <script> YUI.add("page-tracking", function(Y){ var isInit = false; var initialOmnitureDetails = null; var fireOmniture = function(omnitureDetails) { for(var prop in omnitureDetails){ if (omnitureDetails.hasOwnProperty(prop)) { s_analytics[prop] = omnitureDetails[prop]; } } //Y.log('fired page tracking:' + s_analytics.pageName) s_analytics.t(); } var handleFull = function(obj) { var current = {}; for(var prop in initialOmnitureDetails){ if (initialOmnitureDetails.hasOwnProperty(prop)) { var append = ''; if (obj.props[prop]) { var curProp = obj.props[prop]; if (curProp.type == 'replace' && curProp.index && curProp.delimiter) { var curPropChunks = initialOmnitureDetails[prop].split(curProp.delimiter); if ( curPropChunks[curProp.index] ) { curPropChunks[curProp.index] = curProp.value; } current[prop] = curPropChunks.join(curProp.delimiter); } else if (curProp.type == 'replace' && curProp.toReplace ) { current[prop] = initialOmnitureDetails[prop].replace(curProp.toReplace, curProp.value); } } else { current[prop] = initialOmnitureDetails[prop]; } } } fireOmniture(current); } Y.PageTracking = { init: function(initial){ if ( isInit ) { return; } initialOmnitureDetails = initial; var userIdFromCookie = decodeURIComponent(document.cookie).match(/u=([^&]*)/); if (userIdFromCookie) { initial.prop36 = userIdFromCookie[1]; } fireOmniture(initial); Y.Global.on( 'pageTracking:full', handleFull ); isInit = true; } } }, "0.1", { requires: ["node"] }); </script> <script type="text/javascript"> /** Set Report Suite Environment Variable **/ nfl.use('node','event', 'page-tracking', 'overlay', 'widget-position-align', 'widget-position', 'widget', 'plugin', 'gallery-overlay-modal', function (Y) { var init = function(){ Y.PageTracking.init({"pageName":"nfl:fantasy football:perfect challenge:notify","channel":"fantasy","eVar14":"nfl:fantasy football:perfect challenge","prop2":"nfl:fantasy football:perfect challenge","prop3":"free fantasy","hier1":"nfl|fantasy football|perfect challenge|notify","eVar4":"nfl|fantasy football|perfect challenge|notify","prop5":"nfl|fantasy football|perfect challenge|notify","prop23":"nfl:fantasy","server":"nfl.com"}); } Y.on('domready', init); }); </script> </div> </div> </div> <div class="w"></div> <div class="t"></div> </div> </div> </div> <script type="text/javascript">nfl.partner.createFooter();</script> </body> </html> <!-- FILE ARCHIVED ON 03:56:49 May 03, 2012 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 04:54:24 Dec 04, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 1.415 exclusion.robots: 0.062 exclusion.robots.policy: 0.037 esindex: 0.02 cdx.remote: 21.678 LoadShardBlock: 281.278 (3) PetaboxLoader3.datanode: 204.149 (5) PetaboxLoader3.resolve: 201.986 (3) load_resource: 303.549 (2) -->

Pages: 1 2 3 4 5 6 7 8 9 10