Search

Please enter a valid search term.

Connected Nation: Ensuring Schools are Tech Ready

(October 18, 2017) - How important is technology in our nation’s public schools? If you ask students, teachers, and parents, it can mean the difference between a future filled with hope and one lived in poverty.

"We want our children to go on to live life even more prosperously than we are. Without technology, they are doomed,” said Bryant Miller, a father interviewed for a new National Geographic documentary film entitled, Without a Net.

“Public education should be the great equalizer,” Arne Duncan, former Secretary of Education, told the filmmakers. “The goal is to break cycles of poverty to give kids the tools, skills, and knowledge they need to enter the middle class. A huge percentage of the jobs of the future are going to be in the technology space.”

It’s a truth that those of us at Connected Nation (CN) believe—America’s children must have access to the internet and technology to live proactive, fulfilled lives. Our mission is to ensure that everyone belongs in a Connected Nation. As part of living out that mission, we are helping school districts identify their technological abilities, and, more importantly, identify where they are lacking in providing technology for their students and teachers.

“We understand that technology provides opportunities for our children no matter where they live or the economic challenges their families may have,” said Lindsay Conrad, CN’s Director of Public Policy. “Our staff believes if we go into these schools, into the classrooms and really assess what each teacher or school is able to do for students and what they can’t yet do, the districts will be able to identify the real areas of need and find solutions to help more students, more children in need.”

Connected Nation has experience helping school districts assess their technology challenges and opportunities. CN partnered with the Alaska Department of Commerce, Community, and Economic Development to undertake the Alaska School Broadband Audit in 2015. This report included validated data gathered through surveys, site visits, and interviews.

Less than a year later, Connected Nation completed the Utah School of Technology Inventory report. The 14-week study looked at both public and charter schools through a partnership with the Utah Education Telehealth Network (UETN). The study was so successful, garnering a remarkable 100% participation rate, that CN and UETN have just launched another iteration of the technology assessment for Utah schools. Working under the provisions of Utah Senate Bill 222, CN is conducting a statewide inventory of technology that has been deployed in Utah's public schools.

“We are already gathering data on the education technology landscape at more than 1,000 school sites via a custom online portal,” Conrad said. “The resulting information will help guide decision making on future investments in education technology across Utah.”

Connected Nation’s hope is that by identifying the areas of the greatest needs, Utah’s kids will have an even greater chance at succeeding and competing as they grow. Utah’s lawmakers and education leaders are taking proactive action for their state’s youth.

This effort comes at a time when technology is the key every kids needs to unlock their future. The statistics show it. The U.S. Department of Labor recently noted that “by 2020, 77% of U.S. jobs will require computer skills.”

But, perhaps, Bryant Miller’s daughter, Jameira, who is in the 12th grade put it best when she told the filmmakers behind Without a Net, “At my high school we lack computers. At any given moment 1 student out of every 8 can use a computer. What I want from high school is just an opportunity to get a good education so that I can go to college. Whatever field I choose to go into, computers are definitely useful.”

Learn more about the ways Connected Nation can help your school or school district improve its technology and internet access by e-mailing us at info@connectednation.org or lconrad@connectednation.org.

Watch the full Without a Net documentary below or head to National Geographic’s website.




.tpPlayer .tpPlayerCard{position:absolute;color:#BEBEBE;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);text-align:left;}.tpPlayer .tpOverlayBackground{position:absolute;width:100%;height:100%;background:rgba(0,0,0,0.6);}.tpPreviewPlayer .tpCurrentTime{left:20px;top:20px;font-size:20px;color:#BEBEBE;text-shadow:0 0 3px #383838, 0 0 3px #383838, 0 0 3px #383838;}:-webkit-full-screen .tpPlayerCard>*{zoom:2;content:"a";}:-webkit-full-screen .tpRelatedHeader{zoom:2;content:"b";}:-webkit-full-screen .tpRelatedFooter{zoom:2;content:"c";}:-webkit-full-screen .tpRelatedItems{zoom:1;}.tpLineFade{width:100%;height:12px;position:absolute;bottom:0;right:0;background:-moz-linear-gradient(top, rgba(0,0,0,0.0) 0, rgba(0,0,0,1.0) 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(0,0,0,0.0)), color-stop(100%, rgba(0,0,0,1.0)));background:-webkit-linear-gradient(top, rgba(0,0,0,0.0) 0, rgba(0,0,0,1.0) 100%);background:-o-linear-gradient(top, rgba(0,0,0,0.0) 0, rgba(0,0,0,1.0) 100%);background:-ms-linear-gradient(top, rgba(0,0,0,0.0) 0, rgba(0,0,0,1.0) 100%);background:linear-gradient(to bottom, rgba(0,0,0,0.0) 0, rgba(0,0,0,1.0) 100%);filter:progid;}.tpOverlayCard{pointer-events:none !important;}.tpPlayerCard input[type="text"],.tpPlayerCard input[type="password"],.tpPlayerCard textarea,.tpPlayerCard .tpTextInput{color:#BEBEBE;border:1px solid #E0E0E0;background-color:#383838;margin:1px !important;padding:0;resize:none;-webkit-appearance:none;-webkit-border-radius:0;}.tpPlayerCard select{color:#BEBEBE;border:1px solid #E0E0E0;background-color:#383838;margin:1px !important;padding:0;resize:none;-webkit-border-radius:0;}.tpPlayer .tpPlayerCard a img{border:0;}.tpControlBackground{background:#000000;}.tpControlBorder{border-color:#E0E0E0;}.tpPlayerCard.tpMenuCard{text-align:center;background:none;}.tpPlayerCard.tpResumePlaybackCard{text-align:center;}.tpPlayerCard .tpMenuButtons{position:absolute;top:50%;width:100%;margin-top:-25px;font-size:0;}.tpMenuCard .tpMenuButtons .tpButton{width:50px;height:50px;margin-right:12px;}.tpMenuCard .tpMenuButtons .tpButton:last-child{margin-right:0;}.tpMenuCard .tpRelatedItems{position:absolute;bottom:0;left:0;}.tpMenuCard .tpMenuButtons.tpHasRelated{top:30%;}.tpRelatedItems{width:100%;height:40%;background:rgba(0,0,0,0.6);}.tpRelatedItems .tpRelatedHeader{text-align:left;height:25px;border-bottom:1px solid #E0E0E0;line-height:25px;}.tpRelatedItems .tpRelatedHeader .tpRange{float:right;margin-right:40px;}.tpRelatedItems .tpRelatedHeader .tpLabel{float:left;margin-left:39px;}.tpRelatedItems .tpRelatedPrevious{float:left;width:30px;height:30px;}.tpRelatedItems .tpRelatedNext{float:left;width:30px;height:30px;margin-left:10px;}.tpRelatedItems .tpRelatedTiles{float:left;display:inline-block;position:relative;}.tpRelatedItems .tpRelatedTiles .tpRelatedTile{display:inline-block;margin-left:10px;font-size:14px;overflow:hidden;position:relative;}.tpRelatedItems .tpRelatedTiles .tpRelatedTile img{border:1px solid #E0E0E0;}.tpRelatedTile .tpRelatedInfo{float:right;text-align:left;margin-left:4px;}.tpRelatedTile h4{margin:0;padding:0;font-size:14px;}.tpRelatedTile span{margin:0;padding:0;font-size:12px;}.tpRelatedItems .tpRelatedFooter{text-align:left;height:25px;line-height:25px;clear:both;margin-left:39px;white-space:nowrap;overflow:hidden;}a.tpButton,div.tpButton{display:inline-block;padding:0;margin:0;border:0;}.tpButton>span{display:inline-block;padding:2px 6px 2px 6px;}.tpResumePlaybackCard .tpMenuButtons .tpButton{width:100px;height:40px;}.tpInfoCard .tpCardBody{padding-bottom:26px !important;overflow:hidden;text-overflow:ellipsis;}.tpInfoCard .tpCardContent{height:100%;overflow:hidden;text-overflow:ellipsis;margin-left:4px;}.tpInfoCard .tpMediaPreview{margin-right:6px;margin-bottom:6px;}.tpInfoCard .tpMetaData>span{margin-bottom:4px;display:block;}.tpMetaData{font-size:14px;}.tpCardHeadline .tpTitle{font-size:16px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;margin-top:6px;}.tpMetaData .tpTitle{font-size:16px;}.tpInfoCard .tpCardExtras{font-size:14px;text-align:left;}.tpInfoCard .tpCopyright{position:absolute;bottom:6px;left:6px;font-size:11px;}.tpRssCard .tpCardForm{width:100%;height:100%;position:relative;float:left;}.tpCopyable::selection,.tpCopyable::-moz-selection{background:rgba(0,0,0,0.75);color:#000000;}.tpPlayerCard{position:relative;}.tpPlayerCard .tpCardHeader{height:26px;padding-left:4px;padding-right:4px;padding-top:0;position:relative;}.tpPlayerCard .tpCardBody{position:absolute;top:0;bottom:0;right:0;left:0;margin-top:25px;padding:2px;background:rgba(0,0,0,0.6);}.tpPlayerCard .tpCardBody .tpCardHeadline h3{margin-top:4px;margin-bottom:8px;font-size:16px;}.tpPlayerCard .tpCardHeader .tpCardTitle{position:absolute;top:2px;left:2px;right:0;line-height:22px;font-size:15px;font-weight:bolder;}.tpPlayerCard .tpCardHeader .tpCardTitle .tpIcon{margin-left:2px;margin-right:2px;width:22px;height:22px;}.tpPlayerCard .tpCardHeader .tpCardTabs{position:absolute;padding-top:3px;top:0;bottom:0;left:0;right:0;font-size:0;text-align:center;z-index:1;}.tpPlayerCard .tpCardHeader .tpCardTabs .tpNavButton{display:inline-block;margin:0;padding:0;width:30px;height:22px;font-size:auto;}.tpPlayerCard .tpCardHeader .tpCardClose{position:absolute;top:2px;right:6px;z-index:10;}.tpMediaPreview,.tpPreview{width:50%;height:50%;float:left;position:relative;top:0;left:0;background:#000000;overflow:hidden;}.tpPreviewPlayer{border:1px solid #E0E0E0;position:absolute;top:0;left:0;bottom:0;right:0;}.tpMediaPreview .tpMediaBorder{position:absolute;top:0;left:0;right:0;bottom:0;border:1px solid white;}.tpMediaPreview img{width:100%;height:auto;padding:0;}.tpCardForm{width:50%;height:50%;position:relative;float:left;}.tpCardForm>div{position:absolute;top:0;left:4px;right:4px;bottom:0;}.tpCardForm h4{margin-left:4px;margin-right:0;margin-bottom:2px;margin-top:4px;font-size:15px;font-weight:normal;color:#BEBEBE;}.tpCardForm input[type="text"],.tpCardForm textarea{width:100%;font-family:inherit;padding:0 0 0 2px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;height:auto;font-size:13px;}.tpCardForm ul{padding:2px;list-style:none;background-color:#383838;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;border:1px solid #E0E0E0;color:#BEBEBE;overflow-x:hidden;overflow-y:hidden;top:24px;bottom:30px;left:2px;right:0;position:absolute;}.tpCardForm .tpPostSiteList{padding:8px;bottom:0;margin:4px;overflow-x:hidden;overflow-y:hidden;}.tpCardForm .tpFormActions{position:absolute;bottom:0;right:0;}.tpCardForm ul li{float:left;font-size:13px;margin-bottom:8px;width:100%;word-wrap:break-word;}.tpCardForm .tpPostSiteList li{width:50%;white-space:nowrap;overflow-x:hidden;overflow-y:hidden;}.tpCardForm ul li a{color:#BEBEBE;text-decoration:none;}.tpCardForm ul li a:hover{text-decoration:underline;}.tpCardForm ul li img{vertical-align:bottom;margin-right:8px;}.tpCardExtras{float:left;width:100%;height:50%;margin:0;font-size:14px;text-align:center;position:relative;}.tpExcerptControls{position:absolute;left:50px;right:50px;top:0;bottom:0;height:30px;margin:auto;display:inline-block;}.tpExcerptInfo{position:absolute;left:20px;right:20px;top:0;bottom:50%;height:16px;margin:auto;display:inline-block;}.tpCardTitle .tpIcon{float:left;}.PlayerLabelFont{font-family: Calibri, "Lucida Sans Unicode", "Lucida Grande", sans-serif;font-size: 12px;color: #F2F2F2;}

.PlayerLabelFont { color : #BEBEBE; }

.PlayerTitleFont { color : #BEBEBE; text-shadow: 1px 1px 1px #383838; }

.PlayerCountdownFont { color : #BEBEBE; text-shadow: 1px 1px 1px #383838; }

.PlayerControlLabelFont { color : #FFFFFF; }

div.PlayerControlLabelHoverFont { color : #FFD700 !important; }

div.PlayerControlLabelSelectedFont { color : #000000 !important; }

(window.NREUM||(NREUM={})).loader_config={xpid:"Uw4AWVVADwIDUVhXAg=="};window.NREUM||(NREUM={}),__nr_require=function(t,n,e){function r(e){if(!n[e]){var o=n[e]={exports:{}};t[e][0].call(o.exports,function(n){var o=t[e][1][n];return r(o||n)},o,o.exports)}return n[e].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o0&&(d-=1)}),s.on("internal-error",function(t){i("ierr",[t,c.now(),!0])})},{}],3:[function(t,n,e){t("loader").features.ins=!0},{}],4:[function(t,n,e){function r(t){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var o=t("ee"),i=t("handle"),a=t(8),s=t(7),c="learResourceTimings",f="addEventListener",u="resourcetimingbufferfull",d="bstResource",l="resource",p="-start",h="-end",m="fn"+p,w="fn"+h,v="bstTimer",y="pushState",g=t("loader");g.features.stn=!0,t(6);var b=NREUM.o.EV;o.on(m,function(t,n){var e=t[0];e instanceof b&&(this.bstStart=g.now())}),o.on(w,function(t,n){var e=t[0];e instanceof b&&i("bst",[e,n,this.bstStart,g.now()])}),a.on(m,function(t,n,e){this.bstStart=g.now(),this.bstType=e}),a.on(w,function(t,n){i(v,[n,this.bstStart,g.now(),this.bstType])}),s.on(m,function(){this.bstStart=g.now()}),s.on(w,function(t,n){i(v,[n,this.bstStart,g.now(),"requestAnimationFrame"])}),o.on(y+p,function(t){this.time=g.now(),this.startPath=location.pathname+location.hash}),o.on(y+h,function(t){i("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),f in window.performance&&(window.performance["c"+c]?window.performance[f](u,function(t){i(d,[window.performance.getEntriesByType(l)]),window.performance["c"+c]()},!1):window.performance[f]("webkit"+u,function(t){i(d,[window.performance.getEntriesByType(l)]),window.performance["webkitC"+c]()},!1)),document[f]("scroll",r,{passive:!0}),document[f]("keypress",r,!1),document[f]("click",r,!1)}},{}],5:[function(t,n,e){function r(t){for(var n=t;n&&!n.hasOwnProperty(u);)n=Object.getPrototypeOf(n);n&&o(n)}function o(t){s.inPlace(t,[u,d],"-",i)}function i(t,n){return t[1]}var a=t("ee").get("events"),s=t(18)(a,!0),c=t("gos"),f=XMLHttpRequest,u="addEventListener",d="removeEventListener";n.exports=a,"getPrototypeOf"in Object?(r(document),r(window),r(f.prototype)):f.prototype.hasOwnProperty(u)&&(o(window),o(f.prototype)),a.on(u+"-start",function(t,n){var e=t[1],r=c(e,"nr@wrapped",function(){function t(){if("function"==typeof e.handleEvent)return e.handleEvent.apply(e,arguments)}var n={object:t,"function":e}[typeof e];return n?s(n,"fn-",null,n.name||"anonymous"):e});this.wrapped=t[1]=r}),a.on(d+"-start",function(t){t[1]=this.wrapped||t[1]})},{}],6:[function(t,n,e){var r=t("ee").get("history"),o=t(18)(r);n.exports=r,o.inPlace(window.history,["pushState","replaceState"],"-")},{}],7:[function(t,n,e){var r=t("ee").get("raf"),o=t(18)(r),i="equestAnimationFrame";n.exports=r,o.inPlace(window,["r"+i,"mozR"+i,"webkitR"+i,"msR"+i],"raf-"),r.on("raf-start",function(t){t[0]=o(t[0],"fn-")})},{}],8:[function(t,n,e){function r(t,n,e){t[0]=a(t[0],"fn-",null,e)}function o(t,n,e){this.method=e,this.timerDuration=isNaN(t[1])?0:+t[1],t[0]=a(t[0],"fn-",this,e)}var i=t("ee").get("timer"),a=t(18)(i),s="setTimeout",c="setInterval",f="clearTimeout",u="-start",d="-";n.exports=i,a.inPlace(window,[s,"setImmediate"],s+d),a.inPlace(window,[c],c+d),a.inPlace(window,[f,"clearImmediate"],f+d),i.on(c+u,r),i.on(s+u,o)},{}],9:[function(t,n,e){function r(t,n){d.inPlace(n,["onreadystatechange"],"fn-",s)}function o(){var t=this,n=u.context(t);t.readyState>3&&!n.resolved&&(n.resolved=!0,u.emit("xhr-resolved",[],t)),d.inPlace(t,y,"fn-",s)}function i(t){g.push(t),h&&(x?x.then(a):w?w(a):(E=-E,O.data=E))}function a(){for(var t=0;t<g.length;t++)r([],g[t]);g.length&&(g=[])}function s(t,n){return n}function c(t,n){for(var e in t)n[e]=t[e];return n}t(5);var f=t("ee"),u=f.get("xhr"),d=t(18)(u),l=NREUM.o,p=l.XHR,h=l.MO,m=l.PR,w=l.SI,v="readystatechange",y=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],g=[];n.exports=u;var b=window.XMLHttpRequest=function(t){var n=new p(t);try{u.emit("new-xhr",[n],n),n.addEventListener(v,o,!1)}catch(e){try{u.emit("internal-error",[e])}catch(r){}}return n};if(c(p,b),b.prototype=p.prototype,d.inPlace(b.prototype,["open","send"],"-xhr-",s),u.on("send-xhr-start",function(t,n){r(t,n),i(n)}),u.on("open-xhr-start",r),h){var x=m&&m.resolve();if(!w&&!m){var E=1,O=document.createTextNode(E);new h(a).observe(O,{characterData:!0})}}else f.on("fn-end",function(t){t[0]&&t[0].type===v||a()})},{}],10:[function(t,n,e){function r(t){var n=this.params,e=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;r34||p<10)||window.opera||t.addEventListener("progress",function(t){n.lastSize=t.loaded},!1)}),f.on("open-xhr-start",function(t){this.params={method:t[0]},i(this,t[1]),this.metrics={}}),f.on("open-xhr-end",function(t,n){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid)}),f.on("send-xhr-start",function(t,n){var e=this.metrics,r=t[0],o=this;if(e&&r){var i=h(r);i&&(e.txSize=i)}this.startTime=a.now(),this.listener=function(t){try{"abort"===t.type&&(o.params.aborted=!0),("load"!==t.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof n.onload))&&o.end(n)}catch(e){try{f.emit("internal-error",[e])}catch(r){}}};for(var s=0;s<d;s++)n.addEventListener(u[s],this.listener,!1)}),f.on("xhr-cb-time",function(t,n,e){this.cbTime+=t,n?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof e.onload||this.end(e)}),f.on("xhr-load-added",function(t,n){var e=""+l(t)+!!n;this.xhrGuids&&!this.xhrGuids[e]&&(this.xhrGuids[e]=!0,this.totalCbs+=1)}),f.on("xhr-load-removed",function(t,n){var e=""+l(t)+!!n;this.xhrGuids&&this.xhrGuids[e]&&(delete this.xhrGuids[e],this.totalCbs-=1)}),f.on("addEventListener-end",function(t,n){n instanceof m&&"load"===t[0]&&f.emit("xhr-load-added",[t[1],t[2]],n)}),f.on("removeEventListener-end",function(t,n){n instanceof m&&"load"===t[0]&&f.emit("xhr-load-removed",[t[1],t[2]],n)}),f.on("fn-start",function(t,n,e){n instanceof m&&("onload"===e&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=a.now()))}),f.on("fn-end",function(t,n){this.xhrCbStart&&f.emit("xhr-cb-time",[a.now()-this.xhrCbStart,this.onload,n],n)})}},{}],11:[function(t,n,e){n.exports=function(t){var n=document.createElement("a"),e=window.location,r={};n.href=t,r.port=n.port;var o=n.href.split("://");!r.port&&o[1]&&(r.port=o[1].split("/")[0].split("@").pop().split(":")[1]),r.port&&"0"!==r.port||(r.port="https"===o[0]?"443":"80"),r.hostname=n.hostname||e.hostname,r.pathname=n.pathname,r.protocol=o[0],"/"!==r.pathname.charAt(0)&&(r.pathname="/"+r.pathname);var i=!n.protocol||":"===n.protocol||n.protocol===e.protocol,a=n.hostname===document.domain&&n.port===e.port;return r.sameOrigin=i&&(!n.hostname||a),r}},{}],12:[function(t,n,e){function r(){}function o(t,n,e){return function(){return i(t,[f.now()].concat(s(arguments)),n?null:this,e),n?void 0:this}}var i=t("handle"),a=t(15),s=t(16),c=t("ee").get("tracer"),f=t("loader"),u=NREUM;"undefined"==typeof window.newrelic&&(newrelic=u);var d=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],l="api-",p=l+"ixn-";a(d,function(t,n){u[n]=o(l+n,!0,"api")}),u.addPageAction=o(l+"addPageAction",!0),u.setCurrentRouteName=o(l+"routeName",!0),n.exports=newrelic,u.interaction=function(){return(new r).get()};var h=r.prototype={createTracer:function(t,n){var e={},r=this,o="function"==typeof n;return i(p+"tracer",[f.now(),t,e],r),function(){if(c.emit((o?"":"no-")+"fn-start",[f.now(),r,o],e),o)try{return n.apply(this,arguments)}finally{c.emit("fn-end",[f.now()],e)}}}};a("setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(t,n){h[n]=o(p+n)}),newrelic.noticeError=function(t){"string"==typeof t&&(t=new Error(t)),i("err",[t,f.now()])}},{}],13:[function(t,n,e){n.exports=function(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return JSON.stringify(t).length}catch(n){return}}}},{}],14:[function(t,n,e){var r=0,o=navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);o&&(r=+o[1]),n.exports=r},{}],15:[function(t,n,e){function r(t,n){var e=[],r="",i=0;for(r in t)o.call(t,r)&&(e[i]=n(r,t[r]),i+=1);return e}var o=Object.prototype.hasOwnProperty;n.exports=r},{}],16:[function(t,n,e){function r(t,n,e){n||(n=0),"undefined"==typeof e&&(e=t?t.length:0);for(var r=-1,o=e-n||0,i=Array(o<0?0:o);++r<o;)i[r]=t[n+r];return i}n.exports=r},{}],17:[function(t,n,e){n.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],18:[function(t,n,e){function r(t){return!(t&&t instanceof Function&&t.apply&&!t[a])}var o=t("ee"),i=t(16),a="nr@original",s=Object.prototype.hasOwnProperty,c=!1;n.exports=function(t,n){function e(t,n,e,o){function nrWrapper(){var r,a,s,c;try{a=this,r=i(arguments),s="function"==typeof e?e(r,a):e||{}}catch(f){l([f,"",[r,a,o],s])}u(n+"start",[r,a,o],s);try{return c=t.apply(a,r)}catch(d){throw u(n+"err",[r,a,d],s),d}finally{u(n+"end",[r,a,c],s)}}return r(t)?t:(n||(n=""),nrWrapper[a]=t,d(t,nrWrapper),nrWrapper)}function f(t,n,o,i){o||(o="");var a,s,c,f="-"===o.charAt(0);for(c=0;c<n.length;c++)s=n[c],a=t[s],r(a)||(t[s]=e(a,f?s+o:o,i,s))}function u(e,r,o){if(!c||n){var i=c;c=!0;try{t.emit(e,r,o,n)}catch(a){l([a,e,r,o])}c=i}}function d(t,n){if(Object.defineProperty&&Object.keys)try{var e=Object.keys(t);return e.forEach(function(e){Object.defineProperty(n,e,{get:function(){return t[e]},set:function(n){return t[e]=n,n}})}),n}catch(r){l([r])}for(var o in t)s.call(t,o)&&(n[o]=t[o]);return n}function l(n){try{t.emit("internal-error",n)}catch(e){}}return t||(t=o),e.inPlace=f,e.flag=a,e}},{}],ee:[function(t,n,e){function r(){}function o(t){function n(t){return t&&t instanceof r?t:t?c(t,s,i):i()}function e(e,r,o,i){if(!l.aborted||i){t&&t(e,r,o);for(var a=n(o),s=h(e),c=s.length,f=0;f<c;f++)s[f].apply(a,r);var d=u[y[e]];return d&&d.push([g,e,r,a]),a}}function p(t,n){v[t]=h(t).concat(n)}function h(t){return v[t]||[]}function m(t){return d[t]=d[t]||o(e)}function w(t,n){f(t,function(t,e){n=n||"feature",y[e]=n,n in u||(u[n]=[])})}var v={},y={},g={on:p,emit:e,get:m,listeners:h,context:n,buffer:w,abort:a,aborted:!1};return g}function i(){return new r}function a(){(u.api||u.feature)&&(l.aborted=!0,u=l.backlog={})}var s="nr@context",c=t("gos"),f=t(15),u={},d={},l=n.exports=o();l.backlog=u},{}],gos:[function(t,n,e){function r(t,n,e){if(o.call(t,n))return t[n];var r=e();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,n,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return t[n]=r,r}var o=Object.prototype.hasOwnProperty;n.exports=r},{}],handle:[function(t,n,e){function r(t,n,e,r){o.buffer([t],r),o.emit(t,n,e)}var o=t("ee").get("handle");n.exports=r,r.ee=o},{}],id:[function(t,n,e){function r(t){var n=typeof t;return!t||"object"!==n&&"function"!==n?-1:t===window?0:a(t,i,function(){return o++})}var o=1,i="nr@id",a=t("gos");n.exports=r},{}],loader:[function(t,n,e){function r(){if(!x++){var t=b.info=NREUM.info,n=l.getElementsByTagName("script")[0];if(setTimeout(u.abort,3e4),!(t&&t.licenseKey&&t.applicationID&&n))return u.abort();f(y,function(n,e){t[n]||(t[n]=e)}),c("mark",["onload",a()+b.offset],null,"api");var e=l.createElement("script");e.src="https://"+t.agent,n.parentNode.insertBefore(e,n)}}function o(){"complete"===l.readyState&&i()}function i(){c("mark",["domContent",a()+b.offset],null,"api")}function a(){return E.exists&&performance.now?Math.round(performance.now()):(s=Math.max((new Date).getTime(),s))-b.offset}var s=(new Date).getTime(),c=t("handle"),f=t(15),u=t("ee"),d=window,l=d.document,p="addEventListener",h="attachEvent",m=d.XMLHttpRequest,w=m&&m.prototype;NREUM.o={ST:setTimeout,SI:d.setImmediate,CT:clearTimeout,XHR:m,REQ:d.Request,EV:d.Event,PR:d.Promise,MO:d.MutationObserver};var v=""+location,y={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1044.min.js"},g=m&&w&&w[p]&&!/CriOS/.test(navigator.userAgent),b=n.exports={offset:s,now:a,origin:v,features:{},xhrWrappable:g};t(12),l[p]?(l[p]("DOMContentLoaded",i,!1),d[p]("load",r,!1)):(l[h]("onreadystatechange",o),d[h]("onload",r)),c("mark",["firstbyte",s],null,"api");var x=0,E=t(17)},{}]},{},["loader",2,10,4,3]);window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","queueTime":0,"licenseKey":"114b3a1f69","agent":"","transactionName":"NFVSbRBSCxFYAUBeWA0fdkwMUBELVgwbQlkKRlVLEVZLA0kSRxlUDF5EXAxHSxRQB0NEDTZDVUs2WggHYw1aUnQMXkRcDEchB00DXVthClVH","applicationID":"7135955","errorBeacon":"bam.nr-data.net","applicationTime":121}

html, body {

height: 100%;

}

body, div, span, p, img, article, section {

margin: 0;

border: 0 none;

padding: 0;

-webkit-box-sizing: border-box;

-moz-box-sizing: border-box;

-ms-box-sizing: border-box;

box-sizing: border-box;

}

body {

font-family: Helvetica, Arial, sans-serif;

font-size: 1.4em;

line-height: 1.5;

overflow: hidden;

}

.video-wrapper, #ngc_player_wrapper, #player {

height: 100%;

width: 100%;

}
























































































0:00








|








56:35





































var Channel = Channel || {}, // global storage for the Channel site;
memFragConfig = { // global object used by the panda header for initialization;
force_desktop: true,
show_app_switcher: false,
headerContainer: "header.page-header div.ngs-header",
mmdbHost: "https://origin-mmdb.nationalgeographic.com",
memcenHost: "https://members.nationalgeographic.com",
notificationsHost: "https://notifications.nationalgeographic.com",
notificationsKey: "2dfca6e94df5b053b0264e1a0a5a4d46a31507d57e6200cb3d",
crossDomain: true,
noSSL: false,
staticMedia: "//assets.nationalgeographic.com/ngs-header/",
refreshOnLogin: true,
refreshOnLogout: true,
serverSideLogin: false,
debug: false,
debug_lvl: 0,
alertContainerSelector: "header.page-header",
whitelist: {
origins: [
"*.nationalgeographic.com",
"*.natgeo.vm"
],
targets: [
"mmdb",
"mc",
"geodata"
]
}
},
// global object for the gigya authentication library (panda header);
__gigyaConf = {
//siteName: "",
enabledProviders: "facebook",
autoLogin: true
},
// configure AddThis metrics (hook it into Google Analytics);
addthis_config = {
pubid: "ra-5361562a5019693c",
data_ga_property: "UA-28236326-1",
data_track_clickback: true,
data_track_textcopy: true,
ui_click: true,
ui_cobrand: "National Geographic",
ui_delay: 200
},
// configure AddThis sharing (define how the share modals work);
addthis_share = {
url: window.location.href,
url_transforms: {
shorten: {
twitter: "bitly",
facebook: "bitly"
}
},
shorteners: {
bitly: {}
}
};
// set the path to the static media (css/js/img);
Channel.staticPath = "//media-channel.nationalgeographic.com/static-media/";

//- set the path to the channel activity log service (so we can track what's trending);

Channel.trendingUrl = "/activity/video/121679/record/";


//- set the instagram public key (client id);
Channel.instagramPublicKey = "e01b0d7346154ed18b1f4881050036cf";





<iframe src="//www.googletagmanager.com/ns.html?id=GTM-S6J5" height="0" width="0" style="display: none; visibility: hidden"></iframe>





function checkDomain() {
var referrerName = document.referrer.split('/')[2];
var search = "nationalgeographic.com";
if (referrerName === undefined || window.location.pathname.indexOf('embed') > -1) {
window.video_autoplay = false;
} else {
referrerName.indexOf(search) <= -1 ? window.video_autoplay = false : window.video_autoplay = true;
}
return window.video_autoplay;
}
var video_auth_resourceId = 'ngcWithout a Net1054257731533TV-G',
video_auth_playlist_url = "http://link.theplatform.com/s/ngc/strwherTuPrr?mbr=true&feed=National%20Geographic%20-%20Titles%20%28NEO%29%20with%20auth",
video_auth_share_url = "http://channel.nationalgeographic.com/without-a-net/videos/without-a-net/",
video_auth_embed_url = "http://channel.nationalgeographic.com/without-a-net/videos/without-a-net/embed/",
video_network = "NGC",
video_series = "Without A Net",
video_title = "Without a Net",
video_length = (parseInt("3395.058", 10) > 420 ) ? "long" : "short",
video_is_auth = "non-auth",
video_is_live = false,
video_autoplay = checkDomain(),
video_ad_type = "CLEAN";
















video::-webkit-media-text-track-container {max-height:320px; top:0px; left:0px; max-width:640px;}











$pdk.cards = {};

$pdk.cards.presenters = {};

/* Move this into a bundle! */

$pdk.ns("pdk.util");
$pdk.ns("pdk.util.Strings");

$pdk.util.getXMLHttpRequestObject = function()
{
var ref = null;
// this is some IE8+ specific XmlHttpRequest object that supports CORS
if (window.XMLHttpRequest)
{
ref = new XMLHttpRequest();
}
else if (window.XDomainRequest)
{
ref = new XDomainRequest();
}
else if (window.ActiveXObject)
{ // Older IE.
ref = new ActiveXObject("MSXML2.XMLHTTP.3.0");
}
return ref;
}

$pdk.util.Strings.doUrlSubstitutions = function(original, vars, start, end)
{

var url = original;

if (vars.release && vars.release.title)
{
var title = vars.release.title.toLowerCase();
title = title.replace(/\W+/g, "-");
url = url.replace(/\{title\}/gi, title);
}
else
{
url = url.replace(/\{title\}/gi, escape(''));
}

if (vars.release && vars.release.url)
{
console.log(vars.release.url.split("/")[6]);
console.log(vars.release.url);
url = url.replace(/\{releasePid\}/gi, vars.release.url.split("?")[0].split("/")[5]);
}
else if (vars.release && vars.release.pid)
{
url = url.replace(/\{releasePid\}/gi, vars.release.pid);
}
else if (vars.clip)
{
url = url.replace(/\{releasePid\}/gi, vars.clip.releasePID);
}

if (vars.release&&vars.release.mediaPID)
{
url = url.replace(/\{mediaPid\}/gi, vars.release.mediaPID);
}

if (vars.clip && vars.clip.baseClip)
{
url = url.replace(/\{guid\}/gi, vars.clip.baseClip.guid);
url = url.replace(/\{id\}/gi, vars.clip.baseClip.contentID);
}
if (vars.release)//the release should be the fallback
{
if (vars.release.guid)
{
url = url.replace(/\{guid\}/gi, vars.release.guid);
}
if (vars.release.id)
{
url = url.replace(/\{id\}/gi, vars.release.id.substr(vars.release.id.lastIndexOf("/") + 1));
}
}

if (vars.player)
{
// if this url has a {playerUrl} token, apply t=start-end on the inner, encoded player Url
if (url.match(/\{playerUrl\}/i))
{
var purl = vars.player.playerurl;
if (start)
{
var delimit = (purl.indexOf("?") >= 0 ? "&" : "?");
purl += delimit + "t=" + Math.floor(start) + (end ? "-" + Math.floor(end) : "");
}

url = url.replace(/\{playerUrl\}/gi, escape($pdk.util.Strings.doUrlSubstitutions(purl.replace(/\{playerUrl\}/gi, ''), vars)));
}
// otherwise, this url must be the playerUrl, so append to the main url
else if (start)
{
// if this is actually an HTML blob
if (url.indexOf("= 0 ? "&" : "?");
url = url.replace(regex, "$1$2" + delimit + "t=" + Math.floor(start) + (end ? "-" + Math.floor(end) : "") + "$3");
}
}
else
{
var delimit = (url.indexOf("?") >= 0 ? "&" : "?");
url += delimit + "t=" + Math.floor(start) + (end ? "-" + Math.floor(end) : "");
}
}
}

return url;
}

$pdk.cards.presenters.tpMenuCardPresenter = function() {
}

$pdk.cards.presenters.tpMenuCardPresenter.prototype.centerTiles = function()
{
var regionHeight = $pdk.jQuery(this.card).find(".tpRelatedItems").outerHeight() - $pdk.jQuery(this.card).find(".tpRelatedHeader").outerHeight() - $pdk.jQuery(this.card).find(".tpRelatedFooter").outerHeight();
var tileHeight = 0;
var originalWidth = 0;

var tiles = $pdk.jQuery(this.card).find(".tpRelatedTile");

for (var i=0; i regionHeight)
{
tiles.css("height", (regionHeight - 4) + "px");
tiles.find("img").css("width", "");
tiles.find("img").css("height", regionHeight-6);
var newWidth = (regionHeight - 4) * originalWidth / tileHeight;
tiles.css("padding-right", Math.floor((originalWidth - newWidth - 2)/2) + "px");
tiles.css("padding-left", Math.floor((originalWidth - newWidth - 2)/2) + "px");
}

// since the tile was resized, let's find the height again...
tileHeight = 0;

for (var i=0; i<tiles.length; i++)
{
tileHeight = Math.floor(Math.max(tileHeight, $pdk.jQuery(tiles[i]).innerHeight()));
originalWidth = Math.floor(Math.max(originalWidth, $pdk.jQuery(tiles[i]).outerWidth()));
}

tiles.css("margin-top", ((regionHeight - tileHeight) / 2) + "px");

// this is a webkit hack to prevent delayed refresh
tiles.css("display", "none");
tiles.attr('offsetHeight');
tiles.css("display", "inline-block");

if (this.is_touch_device)
{
tiles.find(".tpRelatedInfo").css("height", (tileHeight-8) + "px");
}

}

$pdk.cards.presenters.tpMenuCardPresenter.prototype.showRelatedItems = function(entries, total)
{
var tiles = $pdk.jQuery(this.card).find('.tpRelatedTiles');
var tile;
// var next = $pdk.jQuery(this.card).find('.tpRelatedNext');

var regionHeight = $pdk.jQuery(this.card).find(".tpRelatedItems").outerHeight() - $pdk.jQuery(this.card).find(".tpRelatedHeader").outerHeight() - $pdk.jQuery(this.card).find(".tpRelatedFooter").outerHeight();
var tileHeight = 0;
var me = this;

tiles.empty();

for (var i=0; i<total; i++)
{
if (i div").css("opacity", "0.5");
$pdk.jQuery(this.card).find(".tpRelatedPrevious>div").css("pointer-events", "none");
}
else
{
$pdk.jQuery(this.card).find(".tpRelatedPrevious>div").css("opacity", "1.0");
$pdk.jQuery(this.card).find(".tpRelatedPrevious>div").css("pointer-events", "auto");
}

if (this.rangeStart+this.itemsPerPage-1 >= this.totalItems)
{
$pdk.jQuery(this.card).find(".tpRelatedNext>div").css("opacity", "0.5");
$pdk.jQuery(this.card).find(".tpRelatedNext>div").css("pointer-events", "none");
}
else
{
$pdk.jQuery(this.card).find(".tpRelatedNext>div").css("opacity", "1.0");
$pdk.jQuery(this.card).find(".tpRelatedNext>div").css("pointer-events", "auto");
}

var rangeStr = this.initVars.range.replace(/{start}/gi, this.rangeStart).replace(/{end}/gi, Math.min(this.rangeStart+this.itemsPerPage-1, this.totalItems)).replace(/{total}/gi, this.totalItems);

$pdk.jQuery(this.card).find(".tpRange").text(rangeStr)
$pdk.jQuery(this.card).find(".tpRelatedTile").css("margin-top", ((regionHeight - tileHeight) / 2) + "px");
$pdk.jQuery(this.card).find(".tpRelatedNext, .tpRelatedPrevious").css("margin-top", ((regionHeight - 30) / 2) + "px");
}

$pdk.cards.presenters.tpMenuCardPresenter.prototype.createRelatedTile = function(entry, total)
{
var tile = document.createElement("div");
var a = document.createElement("a");
var img = document.createElement("img");

if (this.is_touch_device)
{
var info = document.createElement("div");
info.className = "tpRelatedInfo";
info.style.height = "0px";
}

var me = this;

img.style.opacity = 0;

if (entry && entry.media$content[0].plfile$url)
{
a.href="#";
$pdk.jQuery(a).click(function() {
me.initVars.controller.hidePlayerCard('forms', 'tpMenuCard');
me.initVars.controller.setReleaseURL(entry.media$content[0].plfile$url, true, [me.initVars.player.id]);
return false;
})
}

if (!this.is_touch_device && entry && entry.title)
{
$pdk.jQuery(a).hover(
/* MouseIn */
function() {
$pdk.jQuery(me.card).find(".tpRelatedFooter .tpTitle").text(entry.title);
},
/* MouseOut */
function() {
$pdk.jQuery(me.card).find(".tpRelatedFooter .tpTitle").text('');
}
);
}

a.appendChild(img);
if (entry && entry.plmedia$defaultThumbnailUrl)
{
$pdk.jQuery(img).load(function(e) {
e.target.style.opacity = null;
me.centerTiles();
})

img.src = entry.plmedia$defaultThumbnailUrl;
}
else
{
me.centerTiles();
}
if (entry && (entry.title || entry.description))
{
if (this.is_touch_device)
{
a.appendChild(info);
if (this.initVars.title)
{
var title = this.initVars.title;
title = title.replace(/\{release\.title\}/gi, entry.title);
title = title.replace(/\{release\.description\}/gi, entry.description);
$pdk.jQuery(info).html(title);
var fade = document.createElement("div");
fade.className = "tpLineFade";
info.appendChild(fade);
}
else
{
$pdk.jQuery(info).text(entry.title);
}
}
}

tile.appendChild(a);

tile.className = "tpRelatedTile";

if (this.is_touch_device)
{
info.style.width = (($pdk.jQuery(this.initVars.card).width() - 60 - 10*total - 10) / total - 2)/2 - 10 + "px";
img.style.width = (($pdk.jQuery(this.initVars.card).width() - 60 - 10*total - 10) / total - 2)/2 + "px";
$pdk.jQuery(tile).find(".tpLineFade").css("width", info.style.width);
}
else
{
img.style.width = Math.floor(($pdk.jQuery(this.initVars.card).width() - 60 - 10*total - 10) / total - 3) + "px";
}

return tile;
}

$pdk.cards.presenters.tpMenuCardPresenter.prototype.nextRange = function()
{
if (this.rangeStart this.itemsPerPage)
{
this.rangeStart -= this.itemsPerPage;
this.requestRelatedFeed();
}
}

$pdk.cards.presenters.tpMenuCardPresenter.prototype.hideRelatedUI = function()
{
$pdk.jQuery(this.card).find('.tpRelatedItems').hide();
var buttons = $pdk.jQuery(this.card).find('.tpMenuButtons');
buttons.removeClass("tpHasRelated"); //css("top", "33%");
}

$pdk.cards.presenters.tpMenuCardPresenter.prototype.requestRelatedFeed = function()
{
var me = this;
var request = $pdk.util.getXMLHttpRequestObject();
var delimiter = "?";

if (this.relatedFeed.indexOf("?") >= 0)
{
delimiter = "&";
}

var feedUrl = this.relatedFeed + delimiter + "range=" + this.rangeStart + "-" + (this.rangeStart + this.itemsPerPage - 1) + "&count=true";
feedUrl = $pdk.util.Strings.doUrlSubstitutions(feedUrl, this.initVars)

if (feedUrl.indexOf("form=") >= 0)
{
feedUrl = feedUrl.replace(/([\&\?])form=[^\&\?]+/, "\\$1form=json");
}
else
{
feedUrl += "&form=json";
}

var formatArr = $pdk.env.Detect.getInstance().getPreferredFormats();
var formats = "";

for (var i=0; i

0 ? "|" : "" ) + formatArr[i];
}

if (formats)
{
feedUrl += "&byContent=byFormat%3D" + formats;
}

var onload = function() {
if (this.responseText && this.responseText.length && this.readyState == 4) {
if (this.responseText && this.responseText.length && this.status == 200) {
var json = JSON.parse(request.responseText);
me.totalItems = parseInt(json.totalResults);
var entries = json.entries;
if (entries && entries.length > 0)
{
me.showRelatedItems(entries, me.itemsPerPage);
}
else
{
me.hideRelatedUI();
}
} else {
me.hideRelatedUI();
if (self.console)
window.tpDebug("HTTP error " + request.status + ": " + request.statusText, "cards", "tpMenuCardPresenter", "error");
}
}
}

if ($pdk.isIE)
{
request.onload = onload;
}
else
{
request.onreadystatechange = onload;
}

// IE requires a setTimeout here
setTimeout(function() {
request.open("GET", feedUrl);
request.send(null);
}, 10);
}

$pdk.cards.presenters.tpMenuCardPresenter.prototype.initialize = function(initVars)
{
var me = this;

this.is_touch_device = 'ontouchstart' in document.documentElement;

$pdk.jQuery(this.card).find('.tpRelatedNext').click(function(e) {
me.nextRange();
});

$pdk.jQuery(this.card).find('.tpRelatedPrevious').click(function(e) {
me.previousRange();
});

this.initialized = true;
}

$pdk.cards.presenters.tpMenuCardPresenter.prototype.show = function(initVars)
{

this.card = initVars.card;
this.initVars = initVars;
this.initialize(initVars);

var me = this;
this.$tpBlocker = $pdk.jQuery(this.card).parents(".tpPlayer").find(".tpBlocker");
this.$tpBlocker.css("opacity", 0.5);
this.$tpBlocker.css("display", "");

if ((initVars.player.playerurl === undefined && initVars.player.embeddedplayerhtml === undefined) ||
(initVars.player.allowlink === "false" && initVars.player.emailserviceurl === undefined && initVars.player.embeddedplayerhtml === undefined))
{
$pdk.jQuery(this.card).find(".tpShare").remove();
}

if (initVars.player.rssurl === undefined || initVars.player.allowrss === "false")
{
$pdk.jQuery(this.card).find(".tpRSS").remove();
}

$pdk.jQuery(this.card).find(".tpShare").click(function() {
if((window.fullScreen) || (window.innerWidth == screen.width && window.innerHeight > (screen.height-100)))
{
me.initVars.controller.showFullScreen(false);
setTimeout(function() {
me.initVars.controller.showPlayerCard('forms', 'tpShareCard');
}, 1500);
}
else
{
me.initVars.controller.showPlayerCard('forms', 'tpShareCard');
}
});

$pdk.jQuery(this.card).find(".tpRSS").click(function() {
if((window.fullScreen) || (window.innerWidth == screen.width && window.innerHeight > (screen.height-100)))
{
me.initVars.controller.showFullScreen(false);
setTimeout(function() {
me.initVars.controller.showPlayerCard('forms', 'tpRssCard');
}, 1500);
}
else
{
me.initVars.controller.showPlayerCard('forms', 'tpRssCard');
}
});

$pdk.jQuery(this.card).find(".tpInfo").click(function() {

if((window.fullScreen) || (window.innerWidth == screen.width && window.innerHeight > (screen.height-100)))
{
me.initVars.controller.showFullScreen(false);
setTimeout(function() {
me.initVars.controller.showPlayerCard('forms', 'tpInfoCard');
}, 1500);
}
else
{
me.initVars.controller.showPlayerCard('forms', 'tpInfoCard');
}
});

if (initVars.player.relateditemsurl)
{

var buttons = $pdk.jQuery(this.card).find('.tpMenuButtons');
buttons.addClass("tpHasRelated"); //css("top", "33%");

this.rangeStart = 1;
this.itemsPerPage = parseInt(initVars.itemsPerPage) ? parseInt(initVars.itemsPerPage) : 6;

// we can only fit 6 if we use hovering to display the title
// so on touch devices with divide this by 3
if (this.is_touch_device)
{
// make the related items area bigger, to handle small screens
$pdk.jQuery(this.card).find(".tpRelatedItems").css("height", "50%");

this.itemsPerPage = Math.ceil(this.itemsPerPage / 3);

if (this.itemsPerPage div").css("display", "inline-block");

// hide all forms & selected tabs
$pdk.jQuery(this.card).find(".tpCardForm > div").css("display", "none");
$pdk.jQuery(this.card).find(".tpCardTabs > div[tp\\:selected='true']").css("display", "none");

// show the selected form & tab
$pdk.jQuery(this.card).find(".tpCardForm > div." + formId).css("display", "block");
this.form = $pdk.jQuery(this.card).find(".tpCardForm > div." + formId)[0];

// hide both versions of this icon
$pdk.jQuery(this.card).find(".tpCardTabs > div[href='#" + formId + "']").css("display", "none");

// then show the one that is selected
$pdk.jQuery(this.card).find(".tpCardTabs > div[href='#" + formId + "']").filter("[tp\\:selected='true']").css("display", "inline-block");

this.initForm();

if ($pdk.jQuery(this.form).find("ul").length > 0 && $pdk.jQuery(this.form).find("ul")[0].scrollHeight > $pdk.jQuery(this.form).find("ul").innerHeight())
{
$pdk.jQuery(this.form).find("ul").css("overflow-y", "auto");
}
}

$pdk.cards.presenters.tpShareCardPresenter.prototype.addTabHandlers = function()
{
var me = this;

var tabs = $pdk.jQuery(this.card).find(".tpCardTabs > div").not("div[tp\\:selected='true']");
for (var i=0; i<tabs.length; i++)
{
$pdk.jQuery(tabs[i]).click(function(e) {
me.showForm($pdk.jQuery(this).attr("href").substring(1));
})
}
}

$pdk.cards.presenters.tpShareCardPresenter.prototype.selectTextToCopy = function() {
var content = "";

content = $pdk.jQuery(this.form).find(".tpCopyable")[0];

var sel = window.getSelection();
var r = document.createRange();
r.setStart(content.firstChild, 0);
r.setEnd(content.firstChild, $pdk.jQuery(content).text().length);
if (!$pdk.isIE)
sel.removeAllRanges();
sel.addRange(r);
}

$pdk.cards.presenters.tpShareCardPresenter.prototype.postToSite = function(site)
{
for (var i=0; i= 0)
{
url = url.replace(/\{status\}/gi, "Watching+{title}+{playerUrl}");
}

if (url.indexOf("{title}") >= 0)
{
//this must need url escaping, though
url = url.replace(/\{title\}/gi, encodeURI(this.initVars.release.title));
}

// add tags from clip.baseClip.contentCustomData['tags']

this.start = parseInt($pdk.jQuery(this.card).find(".tpExcerptControls").attr("tp:start"))/1000;

url = $pdk.util.Strings.doUrlSubstitutions(url, this.initVars, this.start);

window.open(url, "Post", "width=600,height=400,location=no,status=no,toolbar=no");
this.initVars.controller.dispatchEvent("OnPost", {sharingSiteId: site, clip: this.initVars.clip, excerpt: {start: this.start, end: this.end, clip: this.initVars.clip}});
}
}
}

$pdk.cards.presenters.tpShareCardPresenter.prototype.initialize = function(initVars)
{
var post, link, embed, email;
post = link = embed = email = true;

$pdk.jQuery(".tpCardClose .tpButton").click(function(e)
{
initVars.controller.hidePlayerCard("forms", "tpShareCard");
})

this.initVars = initVars;

if (initVars.player.playerurl === undefined || initVars.player.allowlink === "false")
{
$pdk.jQuery(this.card).find(".tpCardTabs .tpNavButton[href=#tpLinkForm]").remove();
$pdk.jQuery(this.card).find(".tpCardTabs .tpNavButton[href=#tpPostForm]").remove();
link = false;
post = false;
if (initVars.formId == "tpLinkForm" || initVars.formId == "tpPostForm") initVars.formId = null;
}

if (initVars.player.embeddedplayerhtml === undefined || initVars.player.allowembed === "false")
{
$pdk.jQuery(this.card).find(".tpCardTabs .tpNavButton[href=#tpEmbedForm]").remove();
embed = false;
if (initVars.formId == "tpEmbedForm") initVars.formId = null;
}

if (initVars.player.emailserviceurl === undefined || initVars.player.playerurl === undefined)
{
$pdk.jQuery(this.card).find(".tpCardTabs .tpNavButton[href=#tpEmailForm]").remove();
email = false;
if (initVars.formId == "tpEmailForm") initVars.formId = null;
}

if (!initVars.formId)
{
if (post)
{
initVars.formId = "tpPostForm";
}
else if (link)
{
initVars.formId = "tpLinkForm";
}
else if (email)
{
initVars.formId = "tpEmailForm";
}
else if (embed)
{
initVars.formId = "tpEmbedForm";
}
else
{
initVars.controller.showPlayerCard("forms", "tpMenuCard");
}
}

if (!initVars.clip || !initVars.clip.baseClip || initVars.clip.isAd || initVars.clip.baseClip.isAd || navigator.userAgent.match(/Phone/i))
{
initVars.excerpts = false;
}

if (!initVars.excerpts)
{
$pdk.jQuery(this.card).find(".tpPreview").remove();
$pdk.jQuery(this.card).find(".tpCardExtras").remove();
$pdk.jQuery(this.card).find(".tpCardForm").css("width", "100%").css("height", "100%");
}
else
{
var ratio = $pdk.jQuery(this.card).width() / $pdk.jQuery(this.card).height();
var pixelWidth = $pdk.jQuery(this.card).find(".tpPreview").outerHeight() * ratio;
var percentWidth = Math.floor(100 * (pixelWidth / $pdk.jQuery(this.card).width()));
$pdk.jQuery(this.card).find(".tpPreview").css("width", percentWidth + "%");
$pdk.jQuery(this.card).find(".tpCardForm").css("width", (100-percentWidth) + "%");
}
}

$pdk.cards.presenters.tpShareCardPresenter.prototype.initSelection = function()
{
var me = this;

setTimeout(function() {
me.selectTextToCopy();
}, 100)

$pdk.jQuery(this.form).find(".tpFormActions .tpButton").click(function() {
// IE cannot handle selecting text while the mouse button is being released, so we have to wait a half a second...
var timeout = ($pdk.isIE ? 500 : 1);

setTimeout(function() {
me.selectTextToCopy();
}, timeout);
});
}

$pdk.cards.presenters.tpShareCardPresenter.prototype.initInstructions = function(instructions)
{
// change Ctrl-C to Command-C if on Desktop mac
if (this.is_touch_device)
{
$pdk.jQuery(this.form).find(".tpInstructions").html(instructions)
$pdk.jQuery(this.form).find(".tpFormActions .tpButton").hide();
}
else if (navigator.userAgent.indexOf("Mac OS X") != -1)
{
$pdk.jQuery(this.form).find(".tpInstructions").html($pdk.jQuery(this.form).find(".tpInstructions").html().replace("Ctrl-C", "⌘-C"))
}
}

$pdk.cards.presenters.tpShareCardPresenter.prototype.initSharingSites = function()
{
var enabledSites = (this.initVars.player.sharingsiteids ? this.initVars.player.sharingsiteids.split(",") : ["facebook", "twitter", "tumblr", "googleplus", "digg", "reddit"]);
var me = this;


// old:
// "http://twitter.com/home?status={status}"

// new:
// "https://twitter.com/intent/tweet?url={playerURL}&text=Watching+{title}"

me.sites = [
{id: "facebook", title: "Facebook", icon: 'images/icons/facebook.png', postUrl: "http://www.facebook.com/sharer.php?u={playerURL}&t={title}"},
{id: "twitter", title: "Twitter", icon: 'images/icons/twitter.png', postUrl: "http://twitter.com/intent/tweet?url={playerURL}&text=Watching+{title}"},
{id: "tumblr", title: "Tumblr", icon: 'images/icons/tumblr.png', postUrl: "http://www.tumblr.com/share/video?caption={title}&embed={embeddedPlayerHTML}"},
{id: "googleplus", title: "Google+", icon: 'images/icons/googlePlus.png', postUrl: "https://plus.google.com/share?url={playerURL}"},
{id: "reddit", title: "Reddit", icon: 'images/icons/reddit.png', postUrl: "http://reddit.com/submit?url={playerURL}&title={title}"},
{id: "digg", title: "Digg", icon: 'images/icons/digg.png', postUrl: "http://digg.com/submit?phase=2&url={playerURL}&title={title}&bodytext={description}&media=video"},
{id: "delicious", title: "Delicious", icon: 'images/icons/delicious.png', postUrl: "http://del.icio.us/post?url={playerURL}&title={title}&notes={description}"},
{id: "stumbleupon", title: "StumbleUpon", icon: 'images/icons/stumbleUpon.png', postUrl: "http://www.stumbleupon.com/submit?url={playerURL}&title={title}"},
{id: "myspace", title: "MySpace", icon: 'images/icons/mySpace.png', postUrl: "http://www.myspace.com/Modules/PostTo/Pages/?t={title}&c={embeddedPlayerHTML}&u={playerURL}&l=4"},
{id: "vodpod", title: "VodPod", icon: 'images/icons/vodpod.png', postUrl: "http://vodpod.com/savevideo/popup?t={title}&d={description}&embed={embeddedPlayerHTML}&p={playerURL}&source=theplatform&site={site}"},
{id: "windowslive", title: "Windows Live", icon: 'images/icons/windowsLive.png', postUrl: "http://skydrive.live.com/quickadd.aspx?title={title}&mkt=en-us&url={playerURL}&marklet=1"}
];

// make built in icons relative to PDK
for (var i=0; i= 4)
{
id = site[0];
title = site[1];
icon = site[2];
url = site[3];

siteObject = {id: id, title: title, icon: icon, postUrl: url};

for (var i=0; i<me.sites.length; i++)
{
if (me.sites[i].id == id)
{
me.sites.splice(i, 1, siteObject);
spliced = true;
break;
}
}
}

if (!spliced)
{
me.sites.push(siteObject);
}
}
}

$pdk.jQuery(me.card).find(".tpPostSiteList").empty();

var iconUrl, i;

for (var j=0; j<enabledSites.length; j++)
{
for (var i=0; i<me.sites.length; i++)
{
if (me.sites[i].id == enabledSites[j])
{
iconUrl = me.sites[i].icon;

$pdk.jQuery(me.card).find(".tpPostSiteList").append("


  • REPLACE_THIS_TEXT_WITH_OPENING_IMAGE_TAG src='" + iconUrl + "' />" + me.sites[i].title + "

  • ");
    }
    }
    }

    // if the form is small, don't use two columns...
    if ($pdk.jQuery(me.card).width() < 400)
    {
    $pdk.jQuery(me.card).find(".tpPostSiteList li").css("width", "100%");
    }

    $pdk.jQuery(me.card).find(".tpPostSiteList li a").click(function(e) {
    me.postToSite(this.href.split("#")[1]);
    return false;
    })
    }

    $pdk.cards.presenters.tpShareCardPresenter.prototype.initEmailForm = function()
    {
    var me = this;

    $pdk.jQuery(me.form).find(".tpFormActions .tpSend").click(function(e) {

    var request = $pdk.util.getXMLHttpRequestObject();
    var emailUrl = $pdk.util.Strings.doUrlSubstitutions(me.initVars.player.emailserviceurl, me.initVars);
    var params = "";
    var fromAddr = $pdk.jQuery(me.card).find(".tpEmailFrom").attr("value");
    var toAddr = $pdk.jQuery(me.card).find(".tpEmailTo").attr("value");

    me.start = parseInt($pdk.jQuery(me.card).find(".tpExcerptControls").attr("tp:start"))/1000;

    params += "releaseTitle=" + escape(me.initVars.release.title);
    params += "&message=" + escape($pdk.jQuery(me.card).find(".tpEmailMessage").attr("value"));
    params += "&from=" + escape(fromAddr);
    params += "&to=" + escape(toAddr);
    params += "&releaseDescription=" + escape(me.initVars.release.description);
    params += "&playerURL=" + escape($pdk.util.Strings.doUrlSubstitutions(me.initVars.player.playerurl, me.initVars, me.start));

    request.onreadystatechange = function() {
    if (request.readyState == 4) {
    if (request.status == 200) {
    // email sent
    var json = JSON.parse(request.responseText);
    if (json.isException)
    {
    me.initVars.controller.showPlayerCard("forms", "tpErrorCard", "urn:theplatform:pdk:area:player", {title: 'Error sending email', message: json.message});
    }
    else
    {
    me.initVars.controller.dispatchEvent("OnEmail", {recipientCount: 1, clip: me.initVars.clip, excerpt: {start: me.start, end: me.end, clip: me.initVars.clip}});
    me.initVars.controller.hidePlayerCard("forms", "tpEmailCard");
    }
    }
    else {
    me.initVars.controller.showPlayerCard("forms", "tpErrorCard", "urn:theplatform:pdk:area:player", {title: 'Error sending email', message: 'There was an error connecting to the email service: ' + request.status + ' - ' + request.statusText});
    }
    }
    }

    request.open("POST", emailUrl, true);

    //Send the proper header information along with the request
    if (window.XMLHttpRequest)
    {
    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    }

    request.send(params);
    })

    $pdk.jQuery(me.card).find(".tpFormActions .tpCancel").click(function(e) {
    me.initVars.controller.hidePlayerCard('forms', 'tpEmailCard');
    })

    $pdk.jQuery(me.card).find(".tpEmailTo").focus(function(e) {
    if ($pdk.jQuery(me.card).find(".tpEmailTo").val() === me.initVars.to) {
    $pdk.jQuery(me.card).find(".tpEmailTo").val("");
    }
    });

    $pdk.jQuery(me.card).find(".tpEmailTo").blur(function(e) {
    if ($pdk.jQuery(me.card).find(".tpEmailTo").val() === "") {
    $pdk.jQuery(me.card).find(".tpEmailTo").val(me.initVars.to);
    }
    });

    $pdk.jQuery(me.card).find(".tpEmailFrom").focus(function(e) {
    if ($pdk.jQuery(me.card).find(".tpEmailFrom").val() === me.initVars.from) {
    $pdk.jQuery(me.card).find(".tpEmailFrom").val("");
    }
    });

    $pdk.jQuery(me.card).find(".tpEmailFrom").blur(function(e) {
    if ($pdk.jQuery(me.card).find(".tpEmailFrom").val() === "") {
    $pdk.jQuery(me.card).find(".tpEmailFrom").val(me.initVars.from);
    }
    });

    $pdk.jQuery(me.card).find(".tpEmailMessage").focus(function(e) {
    if ($pdk.jQuery(me.card).find(".tpEmailMessage").val() === me.initVars.message) {
    $pdk.jQuery(me.card).find(".tpEmailMessage").val("");
    }
    });

    $pdk.jQuery(me.card).find(".tpEmailMessage").blur(function(e) {
    if ($pdk.jQuery(me.card).find(".tpEmailMessage").val() === "") {
    $pdk.jQuery(me.card).find(".tpEmailMessage").val(me.initVars.message);
    }
    });
    }

    $pdk.cards.presenters.tpShareCardPresenter.prototype.initForm = function()
    {
    this.start = parseInt($pdk.jQuery(this.card).find(".tpExcerptControls").attr("tp:start"))/1000;

    if(this.clickHandler) {
    $pdk.jQuery(this.card).find(".tpExcerptControls").unbind('click', this.clickHandler);
    this.clickHandler = null;
    }

    if (this.initVars.formId == "tpPostForm")
    {
    this.initSharingSites();
    }
    else if (this.initVars.formId == "tpLinkForm")
    {
    try {


    var me = this;
    var populateLinkForm = function() {
    me.start = parseInt($pdk.jQuery(me.card).find(".tpExcerptControls").attr("tp:start"))/1000;
    $pdk.jQuery(me.form).find(".tpCopyable").text(me.initVars.player.playerurl);
    me.initSelection();
    me.initInstructions(me.initVars.mobileLink);
    var link = $pdk.util.Strings.doUrlSubstitutions($pdk.jQuery(me.form).find(".tpCopyable").html(), me.initVars, me.start);
    $pdk.jQuery(me.form).find(".tpCopyable").html(link);
    };
    populateLinkForm();

    this.clickHandler = function() {
    setTimeout(function() {
    populateLinkForm();
    }, 500)
    };

    $pdk.jQuery(this.card).find(".tpExcerptControls").click(this.clickHandler);
    }
    catch(e)
    {

    }
    }
    else if (this.initVars.formId == "tpEmbedForm")
    {
    try {
    var me = this;
    var populateEmbedForm = function() {
    me.start = parseInt($pdk.jQuery(me.card).find(".tpExcerptControls").attr("tp:start"))/1000;
    $pdk.jQuery(me.form).find(".tpCopyable").text(me.initVars.player.embeddedplayerhtml);
    me.initSelection();
    me.initInstructions(me.initVars.mobileEmbed);
    var code = $pdk.util.Strings.doUrlSubstitutions($pdk.jQuery(me.form).find(".tpCopyable").html(), me.initVars, me.start);
    $pdk.jQuery(me.form).find(".tpCopyable").html(code);
    };
    populateEmbedForm();

    this.clickHandler = function() {
    setTimeout(function() {
    populateEmbedForm();
    }, 500)
    };

    $pdk.jQuery(this.card).find(".tpExcerptControls").click(this.clickHandler);
    }
    catch(e){

    }
    }
    else if (this.initVars.formId == "tpEmailForm")
    {
    this.initEmailForm();
    var tpEmailMessage = $pdk.jQuery(this.card).find(".tpEmailForm .tpEmailMessage");
    var tpFormActions = $pdk.jQuery(this.card).find(".tpEmailForm .tpFormActions");
    var tpEmailForm = $pdk.jQuery(this.card).find(".tpEmailForm");
    tpEmailMessage.height(tpFormActions.position().top - tpEmailMessage.position().top - 6);
    }
    }

    $pdk.cards.presenters.tpShareCardPresenter.prototype.show = function(initVars)
    {
    this.is_touch_device = 'ontouchstart' in document.documentElement;
    this.card = initVars.card;
    this.initialize(initVars);
    this.showForm(initVars.formId);
    this.addTabHandlers();
    }

    $pdk.cards.presenters.tpShareCardPresenter.prototype.hide = function()
    {
    }

    $pdk.cards.presenters.tpInfoCardPresenter = function() {
    }

    $pdk.cards.presenters.tpInfoCardPresenter.prototype.show = function(initVars) {

    $pdk.jQuery(".tpCardClose .tpButton").click(function(e)
    {
    initVars.controller.hidePlayerCard("forms", "tpInfoCard");
    })

    if (initVars.showPreview == "true")
    {
    var preview = initVars.release.url;

    if (preview.indexOf("?"))
    {
    preview = preview.split("?")[0];
    }

    preview += "?format=poster&width=" + $pdk.jQuery(initVars.card).find(".tpMediaPreview").innerWidth() + "&height=" + $pdk.jQuery(initVars.card).find(".tpMediaPreview").innerHeight();

    if (initVars.assetType)
    {
    preview += "&assetType=" + initVars.assetType;
    }

    $pdk.jQuery(initVars.card).find(".tpMediaPreview img").attr('src', preview);
    }
    else
    {
    $pdk.jQuery(initVars.card).find(".tpMediaPreview").remove();
    }

    if (!$pdk.jQuery(initVars.card).find(".tpChapterTitle").text())
    {
    $pdk.jQuery(initVars.card).find(".tpChapterTitle").remove();
    }

    $pdk.jQuery(initVars.card).find(".tpCopyright").text($pdk.jQuery(initVars.card).find(".tpCopyright").text().replace("© ©", "©"));

    var ratings = [];

    for (var i=0; i<initVars.release.ratings.length; i++)
    {
    ratings.push(initVars.release.ratings[i].rating);
    }

    ratings = ratings.join(", ");

    if (ratings)
    {
    $pdk.jQuery(initVars.card).find(".tpRatings").html(ratings);
    }
    else
    {
    $pdk.jQuery(initVars.card).find(".tpRatings").remove();
    }

    var categories = [];

    for (var i=0; i 0)
    {
    durationStr = duration.getHours() + ":" + (duration.getMinutes() < 10 ? "0" : "") + duration.getMinutes() + ":" + (duration.getSeconds() < 10 ? "0" : "") + duration.getSeconds();
    }
    else if (!isNaN(duration.getMinutes()))
    {
    durationStr = duration.getMinutes() + ":" + (duration.getSeconds() < 10 ? "0" : "") + duration.getSeconds();
    }

    if (durationStr)
    {
    $pdk.jQuery(initVars.card).find(".tpDuration").html(durationStr);
    }
    else
    {
    $pdk.jQuery(initVars.card).find(".tpDuration").remove();
    }
    }

    $pdk.cards.presenters.tpInfoCardPresenter.prototype.hide = function()
    {

    }
    $pdk.cards.presenters.tpErrorCardPresenter = function(){};
    $pdk.cards.presenters.tpErrorCardPresenter.prototype.show = function(initVars)
    {
    $pdk.jQuery(initVars.card).find(".tpCardClose .tpButton").click(function()
    {
    if (initVars.playNext === "true")
    {
    initVars.controller.callFunction("nextRelease", []);
    }
    initVars.controller.hidePlayerCard("forms", "tpErrorCard");
    return false;
    });
    };
    $pdk.cards.presenters.tpErrorCardPresenter.prototype.hide = function(initVars){};

    $pdk.cards.presenters.tpLoginCardPresenter = function(){};
    $pdk.cards.presenters.tpLoginCardPresenter.prototype.show = function(initVars)
    {
    $pdk.jQuery(initVars.card).find(".tpUsername").attr("value", initVars.username);
    $pdk.jQuery(initVars.card).find(".tpPassword").attr("value", initVars.password);

    $pdk.jQuery(initVars.card).find(".tpCardClose .tpButton").click(function()
    {
    initVars.controller.dispatchEvent("OnLoginCancel");
    initVars.controller.hidePlayerCard("forms", "tpLoginCard");
    return false;
    });

    $pdk.jQuery(initVars.card).find(".tpFormActions .tpSubmit").click(function()
    {
    var un = $pdk.jQuery(initVars.card).find(".tpUsername").attr("value");
    var pw = $pdk.jQuery(initVars.card).find(".tpPassword").attr("value");
    initVars.controller.dispatchEvent("OnLoginSubmit",{username:un,password:pw});
    return false;
    });

    $pdk.jQuery(initVars.card).find(".tpFormActions .tpCancel").click(function()
    {
    initVars.controller.dispatchEvent("OnLoginCancel");
    initVars.controller.hidePlayerCard("forms", "tpLoginCard");
    return false;
    });
    },
    $pdk.cards.presenters.tpLoginCardPresenter.prototype.hide = function(){ }



    $pdk.cards.addDefaultCards = function() {

    $pdk.cards.presenters.share_config = {
    title: 'Share',
    excerpts: true,

    post: "Post to a site",
    link: "Press Ctrl-C to copy the link",
    embed: "Press Ctrl-C to copy the code",
    mobileLink: "Tap and hold below to copy the link",
    mobileEmbed: "Tap and hold below to copy the code",
    send: 'Send',
    cancel: 'Cancel',
    select: 'Select Text',
    close: 'Close',
    label: 'Play or seek to adjust the time offset.',
    play: 'Play',
    pause: 'Pause',
    message: 'Message',
    to: 'Send to',
    from: 'Your Email'
    }

    $pdk.controller.addPlayerCard("forms", "tpMenuCard", document.getElementById("tpMenuCard"), "urn:theplatform:pdk:area:overlay", {share: 'Share', rss: 'RSS', info: 'Info', label: "Related Items", range: "{start} - {end} of {total}", title: "


    {release.title}


    {release.description}"}, $pdk.cards.presenters.tpMenuCardPresenter, 100, ["*"]);
    $pdk.controller.addPlayerCard("forms", "tpRssCard", document.getElementById("tpRssCard"), "urn:theplatform:pdk:area:player", {title: 'RSS', instructions: "Press Ctrl-C to copy the RSS feed", mobileInstructions: "Select and copy the RSS feed below", select: 'Select Text', close: 'Close'}, $pdk.cards.presenters.tpRssCardPresenter, 100, ["*"]);
    $pdk.controller.addPlayerCard("forms", "tpErrorCard", document.getElementById("tpErrorCard"), "urn:theplatform:pdk:area:player", {title: "Error", message: "There was an error.", close: "Close"}, $pdk.cards.presenters.tpErrorCardPresenter, 100, ["*"]);
    $pdk.controller.addPlayerCard("forms", "tpShareCard", document.getElementById("tpShareCard"), "urn:theplatform:pdk:area:player", $pdk.cards.presenters.share_config, $pdk.cards.presenters.tpShareCardPresenter, 100, ["*"]);
    $pdk.controller.addPlayerCard("forms", "tpPostCard", "



    ", "urn:theplatform:pdk:area:player", {}, $pdk.cards.presenters.tpShareCardPostFormPresenter, 100, ["*"]);
    $pdk.controller.addPlayerCard("forms", "tpLinkCard", "



    ", "urn:theplatform:pdk:area:player", {}, $pdk.cards.presenters.tpShareCardLinkFormPresenter, 100, ["*"]);
    $pdk.controller.addPlayerCard("forms", "tpEmbedCard", "



    ", "urn:theplatform:pdk:area:player", {}, $pdk.cards.presenters.tpShareCardEmbedFormPresenter, 100, ["*"]);
    $pdk.controller.addPlayerCard("forms", "tpEmailCard", "



    ", "urn:theplatform:pdk:area:player", {}, $pdk.cards.presenters.tpShareCardEmailFormPresenter, 100, ["*"]);
    $pdk.controller.addPlayerCard("forms", "tpInfoCard", document.getElementById("tpInfoCard"), "urn:theplatform:pdk:area:player", {title: 'Info', close: 'Close'}, $pdk.cards.presenters.tpInfoCardPresenter, 100, ["*"]);
    $pdk.controller.addPlayerCard("forms", "tpLoginCard", document.getElementById("tpLoginCard"), "urn:theplatform:pdk:area:player", {title: 'Log-in', usernameLabel: 'Username', passwordLabel: 'Password', close: 'Close', submit: 'Submit', cancel: 'Cancel'}, $pdk.cards.presenters.tpLoginCardPresenter, 100, ["*"]);

    }

    $pdk.cards.addDefaultCards();
    $pdk.controller.dispatchEvent("OnCardsLoaded", {});