CINXE.COM
<!DOCTYPE html> <html lang="en-SG" ng-app="app" ng-controller="IndexCtrl" as-init-audio as-dev-toggles> <head prefix="og: http://ogp.me/ns#"><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("https://onefm.airtimesurveys.com/","20200411212839","https://web.archive.org/","web","/_static/", "1586640519"); </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 --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://web.archive.org/web/20200411212839/https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-T6WBWV');</script> <style> .ng-hide { display: none !important; } </style> <title ng-bind="title">ONE FM VIP</title> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1"/> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"/> <meta property="og:image" content="https://web.archive.org/web/20200411212839im_/https://service.airtimesurveys.com/Content/themes/external/apps/v2/au.com.xtrainsights.web.onefm/images/icons/icon_1024x1024.png"/> <meta property="og:image:width" content="1024"/> <meta property="og:image:height" content="1024"/> <!--Favicon for desktop--> <link rel="icon" type="image/png" ng-href="{{themeIcon('icon_16x16.ico')}}"/> <!--Ios native look--> <meta name="apple-mobile-web-app-capable" content="yes"/> <link rel="apple-touch-icon" sizes="76x76" ng-href="{{themeIcon('icon_76x76.png')}}"/> <link rel="apple-touch-icon" sizes="120x120" ng-href="{{themeIcon('icon_120x120.png')}}"/> <link rel="apple-touch-icon" sizes="152x152" ng-href="{{themeIcon('icon_152x152.png')}}"/> <!--Android native look --> <meta name="mobile-web-app-capable" content="yes"/> <link rel="shortcut icon" sizes="196x196" ng-href="{{themeIcon('icon_196x196.png')}}"/> <script> /*Must be first. IE10 mobile viewport fix*/ if ("-ms-user-select" in document.documentElement.style && navigator.userAgent.match(/IEMobile\/10\.0/)) { var msViewportStyle = document.createElement("style"); msViewportStyle.appendChild(document.createTextNode("@-ms-viewport{width:auto!important}")); document.getElementsByTagName("head")[0].appendChild(msViewportStyle); } </script> <link href="/web/20200411212839cs_/https://onefm.airtimesurveys.com/bundles/styles/all?v=kdUNW6mQrmhtb3Vlnd201JJuuJN56R4f2L-FGuvvGLc1" rel="stylesheet"/> <link href="/web/20200411212839cs_/https://onefm.airtimesurveys.com/bundles/styles/app?v=GdyIaQWZKwe_lqAMV0qxoEiVAdK4GlKKQi0lKEN0BDA1" rel="stylesheet"/> <link rel="stylesheet" ng-href="{{themeUrl('app.css')}}"/> <!--[if lte IE 9]> <link href="/Content/ie9-and-down/ie9-and-down.css" rel="stylesheet"/> <![endif]--> <!--[if IE 9]> <script src="/bundles/scripts/xdomain.js" data-slave="https://service.airtimesurveys.com/Remote/v2/CorsProxy?proxy=https%3A%2F%2Fonefm.airtimesurveys.com%2Fbundles%2Fscripts%2Fxdomain.js"></script> <![endif]--> </head> <body> <noscript><iframe src="https://web.archive.org/web/20200411212839if_/https://www.googletagmanager.com/ns.html?id=GTM-T6WBWV" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <script> window.dataLayer.push({"ver":"4.71.12"}); </script> <div> <div ng-include="'/App/public/layout/main.html'"></div> <div id="splash-page" ng-show="false"> <div class="page-splash"> <div class="page-splash-message"> Loading ... </div> <div class="progress progress-striped active page-progress-bar"> <div class="bar"></div> </div> </div> </div> </div> <div id="fb-root"></div> <script id="/App/directives/asAudioSliderProgressBar.template.html" type="text/ng-template"><div id="sliderProgressBar"> <div class="bufferBar {{ showBufferBar ? '' : 'hide' }}"> <div class="bufferBar-slot" ng-repeat="songBuffer in songsBuffer" ng-style="{'width': songBuffer.loadProgress * songBuffer.metadata.Seconds / secondsTotal * 100 +'%'}"> </div> </div> <div class="playButton-group"> <span class="glyphicon {{ isPlayingSong ? 'glyphicon-play' : (secondsPlayed / secondsTotal >= 0.99 ? 'glyphicon-stop' : 'glyphicon-pause') }}"></span> </div> <div class="playBar-group"> <div class="wave-back"> <div class="wave-top playBar" ng-style="{'width': secondsPlayed / secondsTotal * 100 + '%' }"></div> </div> </div> <div class="progressStatus"> <span class="seconds-percentage">{{ (secondsPlayed / secondsTotal > 1 ? 1 : secondsPlayed / secondsTotal) * 100 | number:0 }} %</span> <span class="seconds-count">{{ secondsPlayed | number:1 }} / {{ secondsTotal | number:1 }}</span> <span class="songs-percentage">{{ (songsPlayed / songsTotal > 1 ? 1 : songsPlayed / songsTotal) * 100 | number:0 }} %</span> <span class="songs-count">{{ songsPlayed }} / {{ songsTotal }}</span> </div> </div> </script><script id="/App/directives/asFbShareCasualSurvey.template.html" type="text/ng-template"><div class="fb-share-casual-survey"> <span ng-if="hasTopSong && hasFacebookAuth"> <p class="fb-share-caption">{{ caption }}</p> <button class="btn btn-facebook" type="button" ng-click="openShareDialog()"> <i class="fa fa-facebook-f"></i> <span translate>{{ buttonLabel }}</span> </button> </span> </div></script><script id="/App/home/dashboard/dashboard.html" type="text/ng-template"><section id="dashboard-view" class="mainbar dashboard" ng-controller="DashboardCtrl as vm"> <section class="container"> <div class="row"> <div class="col-md-12"> <div ng-include="'/App/home/dashboard/widgets/news.html'"></div> <div ng-include="'/App/home/dashboard/widgets/activesurveys.html'"></div> <div ng-include="'/App/home/dashboard/widgets/yourtopsongs.html'"></div> <div ng-include="'/App/home/dashboard/widgets/otherstopsongs.html'"></div> <div ng-include="'/App/home/dashboard/widgets/songsyouvotedon.html'"></div> <div ng-include="'/App/home/dashboard/widgets/messagetheboss.html'"></div> <div ng-include="'/App/home/dashboard/widgets/referfriends.html'"></div> <div class="col-md-6 widget wgrey" ng-if="widgets.Custom.Enabled"> <div cc-widget-header icon="fa fa-bullhorn" title="{{widgets.Custom.Heading}}" allow-collapse="true"></div> <div class="widget-content collapse"> <div ng-bind-html="widgets.Custom.Content | trustedHtml"></div> </div> </div> <div class="col-md-6 widget wgrey clearfix" ng-if="widgets.SocialMedia.Enabled"> <div cc-widget-header icon="fa fa-facebook-square" title="{{widgets.SocialMedia.Heading}}" allow-collapse="true"></div> <div class="widget-content collapse"> <div ng-bind-html="widgets.SocialMedia.Content | trustedHtml"></div> </div> </div> <div class="col-md-6 widget wgrey" ng-if="widgets.ExternalSurveys.Enabled"> <div cc-widget-header icon="fa fa-trophy" title="{{widgets.ExternalSurveys.Heading}}" allow-collapse="true"></div> <div class="widget-content collapse"> <div ng-bind-html="widgets.ExternalSurveys.Content | trustedHtml"></div> </div> </div> </div> </div> </section> </section> </script><script id="/App/home/dashboard/widgets/activesurveys.html" type="text/ng-template"><div class="widget activeSurveys wgrey" ng-controller="ActiveSurveysCtrl as vm" ng-if="widgets.ActiveSurveys.Enabled" ng-class="{'col-md-6': widgets.News.Enabled, 'col-md-12': !widgets.News.Enabled}"> <div cc-widget-header icon="glyphicon-edit" title="{{widgets.ActiveSurveys.Heading}}" right-flag="{{vm.surveys.length}}" allow-collapse="true"></div> <div class="widget-content"> <div ng-bind-html="widgets.ActiveSurveys.Content | trustedHtml"></div> <div ng-if="vm.isLoading" translate>Loading</div> <div ng-if="!vm.isLoading"> <h4 ng-show="!vm.surveys.length" translate>NoActiveSurveys</h4> <h4 ng-show="!vm.surveys.length && channel.LastCompletedSurveyDate"> <span translate>YourLastCompletedSurveyWas</span> <span am-time-ago="channel.LastCompletedSurveyDate|utcToLocal"></span>. </h4> <div ng-show="vm.surveys.length"> <h4 translate>OneOrMoreActiveSurveys</h4> <div class="activeSurveysList"> <div ng-repeat="survey in vm.surveys"> <div class="btnEdge"> <a tabindex="0" class="btn btn-primary bvlBtn" ng-if="vm.canStart(survey)" ng-click="vm.enterSurvey(survey)" translate>Start</a> <a tabindex="0" class="btn btn-primary bvlBtn" ng-if="vm.canResume(survey)" ng-click="vm.enterSurvey(survey)" translate>Resume</a> <a tabindex="0" class="btn btn-warning bvlBtn" ng-if="vm.canPreview(survey)" ng-click="vm.enterSurvey(survey)" translate>Preview</a> <a tabindex="0" class="btn btn-primary bvlBtn" ng-if="vm.canSync(survey)" ng-disabled="true"><span translate>SendingAnswers</span> <img src="/Content/App/Images/spinner-small.gif" ng-show="vm.isSyncing" /></a> </div> <div class="surveyClose center" ng-if="vm.canStart(survey) || vm.canResume(survey) || vm.canSync(survey)"><b ng-if="survey.Name">{{survey.Name}}</b> <span translate>Closes</span>: <span am-time-ago="survey.Schedule.EndDate|utcToLocal" ng-if="survey.Schedule.EndDate"></span><span ng-if="!survey.Schedule.EndDate" translate>NotAvailable</span></div> <div class="surveyClose center" ng-if="vm.canPreview(survey)"><b ng-if="survey.Name">{{survey.Name}}</b> <span ng-if="survey.Schedule.StartDate"><span translate>Begins</span>: <span am-time-ago="survey.Schedule.StartDate|utcToLocal"></span></span></div> </div> </div> </div> </div> </div> </div> </script><script id="/App/home/dashboard/widgets/messagetheboss.html" type="text/ng-template"><div class="col-md-6 widget wgrey msgBoss" ng-controller="MessageTheBossCtrl as vm" ng-if="widgets.MessageTheBoss.Enabled"> <div cc-widget-header icon="fa fa-paper-plane-o" title="{{widgets.MessageTheBoss.Heading}}" allow-collapse="true"></div> <div class="widget-content collapse"> <div ng-repeat="alert in vm.alerts"> <div ng-class="alert.type" class="alert alert-dismissable"> <button type="button" class="close" dismiss="alert" aria-hidden="true" ng-click="vm.closeAlert($index)">×</button> {{alert.msg}} </div> </div> <div ng-bind-html="widgets.MessageTheBoss.Content | trustedHtml"></div> <form name="form" ng-disabled="vm.isSending" role="form" novalidate> <div class="form-group"> <textarea rows="5" name="Message" id="Message" ng-model="vm.message" class="form-control" ng-disabled="vm.isSending"></textarea> </div> <div class="btnEdge"> <button class="btn btn-primary bvlBtn" ng-click="vm.send(vm.message)" ng-disabled="form.$invalid || form.$pristine || vm.isSending || !vm.message.length" translate>Send</button> </div> </form> </div> </div> </script><script id="/App/home/dashboard/widgets/news.html" type="text/ng-template"><div class="col-md-6 widget newsfeed wgrey" ng-controller="NewsCtrl as vm" ng-if="widgets.News.Enabled"> <div class="col-md-3 channel-logo bvlLogo" ng-style="{'background':'url('+channel.LogoUrl+') no-repeat 50% 50%', '-webkit-background-size':'contain', '-moz-background-size':'contain', '-o-background-size':'contain', 'background-size':'contain'}"></div> <div cc-widget-header title="{{widgets.News.Heading}}" allow-collapse="true"> </div> <div class="widget-content"> <div id="newsContent" ng-bind-html="widgets.News.Content | trustedHtml"></div> <div class="btnEdge newspeek-readmore widget-height-150" as-widget-peek="newsContent" as-widget-height="150"> <button class="btn btn-primary btn-block bvlBtn" translate>ExpandFullArticle</button> </div> </div> </div> </script><script id="/App/home/dashboard/widgets/otherstopsongs.html" type="text/ng-template"><div class="col-md-6 widget votehistory wgrey" ng-controller="OthersTopSongsCtrl as vm" ng-if="widgets.OthersTopSongs.Enabled"> <div cc-widget-header icon="fa fa-users" title="{{widgets.OthersTopSongs.Heading}}" allow-collapse="true" ng-class="{'widget-active': vm.songs.length}"></div> <div class="widget-content" ng-class="{collapse: !vm.songs.length}"> <div ng-bind-html="widgets.OthersTopSongs.Content | trustedHtml"></div> <div ng-if="vm.isLoading" translate>Loading</div> <div ng-if="!vm.isLoading"> <p> <h4 ng-if="vm.isSyncing" translate>HangOnStillSavingAnswers</h4> <h4 ng-if="!vm.isSyncing"> <div ng-if="vm.hasActiveSurveys"> <a ui-sref="survey({channelId: channelId, surveyId: 'auto'})" ng-bind-html="'NewSurveyIsActiveClickHereToDoIt' | translate"></a> <div ng-if="vm.latestSurveyCompletedDate"> <span translate>YourLastCompletedSurveyWas</span> <span am-time-ago="vm.latestSurveyCompletedDate|utcToLocal"></span> </div> </div> <span ng-if="!vm.hasActiveSurveys && !vm.latestSurveyId" translate>NotYetCompletedRecentSurvey</span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && !vm.songs.length" translate>NoSongsInLastCompletedSurvey</span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && !vm.songs.length" am-time-ago="vm.latestSurveyCompletedDate|utcToLocal"></span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && vm.songs.length" translate>YourLastCompletedSurveyWas</span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && vm.songs.length" am-time-ago="vm.latestSurveyCompletedDate|utcToLocal"></span> </h4> </p> <table ng-if="vm.songs.length && !vm.isSyncing" class="table table-striped table-hover table-bordered"> <thead> <tr> <th field-name="Artist" style="width: 50%"> <span class="fa-stack"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-microphone fa-stack-1x fa-inverse"></i></span> <span translate>Artist</span> </th> <th field-name="Title" style="width: 50%"> <span class="fa-stack"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-music fa-stack-1x fa-inverse"></i></span> <span translate>Title</span> </th> <th class="playCell"> <span class="fa-stack"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-volume-up fa-stack-1x fa-inverse"></i></span> </th> </tr> </thead> <tbody> <tr ng-repeat="row in (vm.songs|orderBy:sortColumn:sortDirection)"> <td style="width: 50%">{{row.Artist}}</td> <td style="width: 50%"> {{row.Title}} </td> <td class="btnEdge playButton" style="width: 90px"> <div class="btn-group" ng-if="row.ServicesLinks.length"> <button class="btn btn-primary bvlBtn" ng-click="vm.play(row)"> <span class="glyphicon" ng-class="vm.isPlaying(row) ? 'glyphicon-stop' : 'glyphicon-play'"></span> </button> <button type="button" class="btn btn-primary bvlBtn dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="caret"></span> <span class="sr-only">Toggle Dropdown</span> </button> <ul class="dropdown-menu"> <li ng-repeat="serviceLink in row.ServicesLinks"> <a target="_blank" ng-if="serviceLink.Url" ng-href="{{serviceLink.Url}}"> <img ng-src="{{'/Content/App/Images/Icons/'+serviceLink.Name+'.png'}}" title="{{serviceLink.Name}}" /> {{serviceLink.Name}} </a> </li> </ul> </div> <button ng-if="!row.ServicesLinks.length" class="btn btn-primary bvlBtn" ng-click="vm.play(row)" style="width:80px; margin: 2px"> <span class="glyphicon" ng-class="vm.isPlaying(row) ? 'glyphicon-stop' : 'glyphicon-play'"></span> </button> </td> </tr> </tbody> </table> </div> </div> </div> </script><script id="/App/home/dashboard/widgets/referfriends.html" type="text/ng-template"><div class="col-md-6 widget wgrey referFriends clearfix" ng-controller="ReferFriendsCtrl as vm" ng-if="widgets.ReferFriends.Enabled"> <div cc-widget-header icon="fa fa-envelope-o" title="{{widgets.ReferFriends.Heading}}" allow-collapse="true"></div> <div class="widget-content collapse"> <div ng-repeat="alert in vm.alerts"> <div ng-class="alert.type" class="alert alert-dismissable"> <button type="button" class="close" dismiss="alert" aria-hidden="true" ng-click="vm.closeAlert($index)">×</button> {{alert.msg}} </div> </div> <div ng-bind-html="widgets.ReferFriends.Content | trustedHtml"></div> <form name="form" ng-disabled="vm.isSending" role="form" novalidate> <div class="form-group"> <div class="row" ng-repeat="email in vm.referEmails"> <input type="email" ng-model="email.email" placeholder="{{'EnterEmailAddress'|translate}}" class="form-control" /> </div> </div> <div class="btnEdge"> <button class="btn btn-success bvlBtn" ng-click="vm.addReferEmail()" ng-disabled="vm.referEmails.length > 4" translate>AddMore</button> </div> <div class="btnEdge referSend"> <button class="btn btn-primary bvlBtn" ng-click="vm.send()" ng-disabled="form.$invalid || form.$pristine || vm.isSending" translate>Send</button> </div> </form> </div> </div> </script><script id="/App/home/dashboard/widgets/songsyouvotedon.html" type="text/ng-template"><div class="col-md-6 widget votehistory wgrey clearfix" ng-controller="SongsYouVotedOnCtrl as vm" ng-if="widgets.SongsYouVotedOn.Enabled"> <div cc-widget-header icon="glyphicon-list" title="{{widgets.SongsYouVotedOn.Heading}}" allow-collapse="true" ng-class="{'widget-active': vm.songs.length}"></div> <div class="widget-content" ng-class="{collapse: !vm.songs.length}"> <div ng-bind-html="widgets.SongsYouVotedOn.Content | trustedHtml"></div> <div ng-if="vm.isLoading" translate>Loading</div> <div ng-if="!vm.isLoading"> <p> <h4 ng-if="vm.isSyncing" translate>HangOnStillSavingAnswers</h4> <h4 ng-if="!vm.isSyncing"> <div ng-if="vm.hasActiveSurveys"> <a ui-sref="survey({channelId: channelId, surveyId: 'auto'})" ng-bind-html="'NewSurveyIsActiveClickHereToDoIt' | translate"></a> <div ng-if="vm.latestSurveyCompletedDate"> <span translate>YourLastCompletedSurveyWas</span> <span am-time-ago="vm.latestSurveyCompletedDate|utcToLocal"></span> </div> </div> <span ng-if="!vm.hasActiveSurveys && !vm.latestSurveyId" translate>NotYetCompletedRecentSurvey</span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && !vm.songs.length" translate>NoSongsInLastCompletedSurvey</span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && !vm.songs.length" am-time-ago="vm.latestSurveyCompletedDate|utcToLocal"></span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && vm.songs.length" translate>YourLastCompletedSurveyWas</span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && vm.songs.length" am-time-ago="vm.latestSurveyCompletedDate|utcToLocal"></span> </h4> </p> <table ng-if="vm.songs.length && !vm.isSyncing" class="table table-striped table-hover table-bordered"> <thead> <tr class="searchTbl"> <td colspan="4"> <span class="form-group" style="width: 100%"> <input type="search" class="form-control" placeholder="{{'Search'|translate}}" ng-model="search" /> </span> </td> </tr> <tr> <th field-name="Artist" style="width: 50%" ng-click="sortBy('Artist')"> <span class="fa-stack"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-microphone fa-stack-1x fa-inverse"></i></span> <span translate>Artist</span> </th> <th field-name="Title" style="width: 50%" ng-click="sortBy('Title')"> <span class="fa-stack"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-music fa-stack-1x fa-inverse"></i></span> <span translate>Title</span> </th> <th class="playCell"> <span class="fa-stack"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-volume-up fa-stack-1x fa-inverse"></i></span> </th> </tr> </thead> <tbody> <tr ng-repeat="row in (vm.songs|filter:search|orderBy:sortColumn:sortDirection).slice((pagination.currentPage-1)*pagination.itemsPerPage,pagination.currentPage*pagination.itemsPerPage) track by $index"> <td style="width: 50%">{{row.Artist}}</td> <td style="width: 50%">{{row.Title}}</td> <td class="btnEdge playButton" style="width: 90px"> <div class="btn-group" ng-if="row.ServicesLinks.length"> <button class="btn btn-primary bvlBtn" ng-click="vm.play(row)"> <span class="glyphicon" ng-class="vm.isPlaying(row) ? 'glyphicon-stop' : 'glyphicon-play'"></span> </button> <button type="button" class="btn btn-primary bvlBtn dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="caret"></span> <span class="sr-only">Toggle Dropdown</span> </button> <ul class="dropdown-menu"> <li ng-repeat="serviceLink in row.ServicesLinks"> <a target="_blank" ng-if="serviceLink.Url" ng-href="{{serviceLink.Url}}"> <img ng-src="{{'/Content/App/Images/Icons/'+serviceLink.Name+'.png'}}" title="{{serviceLink.Name}}" /> {{serviceLink.Name}} </a> </li> </ul> </div> <button ng-if="!row.ServicesLinks.length" class="btn btn-primary bvlBtn" ng-click="vm.play(row)" style="width:80px; margin: 2px"> <span class="glyphicon" ng-class="vm.isPlaying(row) ? 'glyphicon-stop' : 'glyphicon-play'"></span> </button> </td> </tr> </tbody> <tfoot ng-if="vm.songs.length > pagination.itemsPerPage"> <tr> <td colspan="4"> <div class="pull-right"> <uib-pagination ng-model="pagination.currentPage" total-items="vm.songs.length" items-per-page="pagination.itemsPerPage" next-text="›" previous-text="‹" /> </div> </td> </tr> </tfoot> </table> </div> </div> </div> </script><script id="/App/home/dashboard/widgets/yourtopsongs.html" type="text/ng-template"><div class="col-md-6 widget votehistory wgrey clearfix" ng-controller="YourTopSongsCtrl as vm" ng-if="widgets.YourTopSongs.Enabled"> <div cc-widget-header icon="fa fa-thumbs-o-up" title="{{widgets.YourTopSongs.Heading}}" allow-collapse="true" ng-class="{'widget-active': vm.songs.length}"></div> <div class="widget-content" ng-class="{collapse: !vm.songs.length}"> <div ng-bind-html="widgets.YourTopSongs.Content | trustedHtml"></div> <div ng-if="vm.isLoading" translate>Loading</div> <div ng-if="!vm.isLoading"> <p> <h4 ng-if="vm.isSyncing" translate>HangOnStillSavingAnswers</h4> <h4 ng-if="!vm.isSyncing"> <div ng-if="vm.hasActiveSurveys"> <a ui-sref="survey({channelId: channelId, surveyId: 'auto'})" ng-bind-html="'NewSurveyIsActiveClickHereToDoIt' | translate"></a> <div ng-if="vm.latestSurveyCompletedDate"> <span translate>YourLastCompletedSurveyWas</span> <span am-time-ago="vm.latestSurveyCompletedDate|utcToLocal"></span> </div> </div> <span ng-if="!vm.hasActiveSurveys && !vm.latestSurveyId" translate>NotYetCompletedRecentSurvey</span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && !vm.songs.length" translate>NoSongsInLastCompletedSurvey</span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && !vm.songs.length" am-time-ago="vm.latestSurveyCompletedDate|utcToLocal"></span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && vm.songs.length" translate>YourLastCompletedSurveyWas</span> <span ng-if="!vm.hasActiveSurveys && vm.latestSurveyCompletedDate && vm.songs.length" am-time-ago="vm.latestSurveyCompletedDate|utcToLocal"></span> </h4> </p> <div ng-if="vm.songs.length && !vm.isSyncing"> <table class="table table-striped table-hover table-bordered"> <thead> <tr> <th field-name="Artist" style="width: 50%"> <span class="fa-stack"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-microphone fa-stack-1x fa-inverse"></i></span> <span translate>Artist</span> </th> <th field-name="Title" style="width: 50%"> <span class="fa-stack"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-music fa-stack-1x fa-inverse"></i></span> <span translate>Title</span> </th> <th class="playCell"> <span class="fa-stack"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-volume-up fa-stack-1x fa-inverse"></i></span> </th> </tr> </thead> <tbody> <tr ng-repeat="row in (vm.songs|orderBy:sortColumn:sortDirection)"> <td style="">{{row.Artist}}</td> <td style="">{{row.Title}}</td> <td class="btnEdge playButton" style="width: 90px"> <div class="btn-group" ng-if="row.ServicesLinks.length"> <button class="btn btn-primary bvlBtn" ng-click="vm.play(row)"> <span class="glyphicon" ng-class="vm.isPlaying(row) ? 'glyphicon-stop' : 'glyphicon-play'"></span> </button> <button type="button" class="btn btn-primary bvlBtn dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <span class="caret"></span> <span class="sr-only">Toggle Dropdown</span> </button> <ul class="dropdown-menu"> <li ng-repeat="serviceLink in row.ServicesLinks"> <a target="_blank" ng-if="serviceLink.Url" ng-href="{{serviceLink.Url}}"> <img ng-src="{{'/Content/App/Images/Icons/'+serviceLink.Name+'.png'}}" title="{{serviceLink.Name}}"/> {{serviceLink.Name}} </a> </li> </ul> </div> <button ng-if="!row.ServicesLinks.length" class="btn btn-primary bvlBtn" ng-click="vm.play(row)" style="width: 80px; margin: 2px"> <span class="glyphicon" ng-class="vm.isPlaying(row) ? 'glyphicon-stop' : 'glyphicon-play'"></span> </button> </td> </tr> </tbody> </table> <as-fb-share-casual-survey ng-if="vm.latestSurveyIsCasual" data-survey-id="{{vm.latestSurveyId}}" data-caption=""></as-fb-share-casual-survey> </div> </div> </div> </div> </script><script id="/App/home/layout/shell.html" type="text/ng-template"><div data-ng-controller="ShellCtrl as vm"> <div data-ng-show="vm.isBusy" class="page-splash dissolve-animation"> <div data-cc-spinner="vm.spinnerOptions"></div> <div class="page-splash-message page-splash-message-subtle waitMsg" ng-if="vm.useWaitMessage" translate>PleaseWait</div> <div class="page-splash-message page-splash-message-subtle clickMsg" ng-if="vm.useClickMessage" translate>TouchOrClickWhenReady</div> </div> <div ng-show="vm.isAuthenticated()"> <header class="clearfix"> <div data-ng-include="'/App/home/layout/topnav.html'"></div> </header> <div class="left-drawer sidebar sidebar-filler" data-snap-drawer> <div data-ng-include="'/App/home/layout/sidebar.html'" ng-if="!vm.isExternalRespondent()"></div> </div> <div class="content shell-content" data-snap-content snap-options="{disable:'right', touchToDrag:false, clickToDrag:false, maxPosition:200, minPosition:200}"> <section class="container-fluid"> <div ng-if="vm.isAuthenticated()" ui-view="private" class="shuffle-animation" autoscroll="true"> </div> </section> </div> </div> <div ng-if="!vm.isAuthenticated()" ui-view="public" autoscroll="true"></div> </div> </script><script id="/App/home/layout/sidebar.html" type="text/ng-template"><div ng-controller="SidebarCtrl as vm"> <div class="sidebar-inner"> <ul class="navi" ng-if="!vm.isCasualRespondent()"> <li class="nlightblue fade-selection-animation" ng-class="vm.isCurrent(route)" ng-repeat="route in vm.routes"> <a ng-href="{{route.url}}" ng-bind-html="(route.state.settings.icon + ' ' + (route.state.settings.content|translate)) | trustedHtml"></a> </li> <li class="ngreen fade-selection-animation navFaq"> <a href="" ng-click="vm.showFaq()"><i class="fa fa-question-circle fa-lg"></i> <span translate>FAQ</span></a> </li> </ul> <ul class="navi-bottomlinks navi text-right" ng-if="vm.channel && (vm.channel.PrivacyPolicyUrl || vm.channel.ContestRulesUrl || vm.channel.ContactDetailsUrl)"> <li class="nav-header deadLink" style="width:100%; border:0;"><a style="padding:5px 30px 5px 5px; min-height:0;" translate>Links</a></li> <li class="ngreen fade-selection-animation" ng-if="vm.channel.PrivacyPolicyUrl"> <a ng-href="{{vm.channel.PrivacyPolicyUrl}}" target="_blank" translate>PrivacyPolicy</a> </li> <li class="ngreen fade-selection-animation" ng-if="vm.channel.ContestRulesUrl"> <a ng-href="{{vm.channel.ContestRulesUrl}}" target="_blank" translate>TermsOfService</a> </li> <li class="ngreen fade-selection-animation" ng-if="vm.channel.ContactDetailsUrl"> <a ng-href="{{vm.channel.ContactDetailsUrl}}" target="_blank" translate>ContactDetails</a> </li> </ul> </div> </div> </script><script id="/App/home/layout/topnav.html" type="text/ng-template"><nav class="navbar navbar-fixed-top navbar-inverse" role="navigation"> <div class="container-fluid"> <div class="navbar-header" ng-controller="TopNavCtrl as vm"> <a class="btn pull-left navbar-btn navbar-toggle visible-lg visible-md visible-sm visible-xs" snap-toggle ng-if="!vm.isExternalRespondent()" href=""> <span class="sr-only" translate>ToggleMenu</span> <span translate>Menu</span> </a> <a class="navbar-brand" ng-if="vm.homePageUrl" ng-href="{{vm.homePageUrl}}" target="_blank"><span class="brand-title"></span></a> <span class="navbar-brand" ng-if="!vm.homePageUrl"><span class="brand-title"></span></span> <a href="" class="navbar-btn navbar-help pull-right navFaq" ng-click="vm.showFaq()"><i class="fa fa-question-circle fa-2x"></i></a> </div> </div> </nav></script><script id="/App/home/layout/widgetheader.html" type="text/ng-template"><div class="page-title pull-left"><i class="glyphicon {{icon}}"></i> {{title}}</div> <small class="page-title-subtle" data-ng-show="subtitle">({{subtitle}})</small> <div class="widget-icons pull-right" data-ng-if="allowCollapse"> <a data-cc-widget-minimize></a> </div> <b class="pull-right notifnum" data-ng-if="rightFlag">{{rightFlag}}</b> <small class="pull-right page-title-subtle" data-ng-show="rightText">{{rightText}}</small> <div class="clearfix"></div></script><script id="/App/home/memberships/memberships.html" type="text/ng-template"><section class="mainbar memberships" data-ng-controller="MembershipsCtrl as vm"> <section class="container-fluid" style="margin-left:1%;"> <div class="row" ng-if="vm.channels.length === 0"> <div class="unregistered-channels" data-ng-include="'/App/public/registration/registration.list.html'" data-onload="displayAsList = true"></div> </div> <div ng-if="vm.channels.length"> <form class="form-search" role="search" ng-if="vm.channels.length > 5"> <div class="input-group"> <span class="input-group-addon"><span class="glyphicon glyphicon-search"></span></span> <input type="search" class="form-control input-sm col-xs-12" placeholder="{{'Search'|translate}}" ng-model="vm.channelFilter"/> </div> </form> <div ng-repeat="channel in vm.channels | filter:{Name:vm.channelFilter}" class="channel-filter"> <div ng-class="(vm.channels.length==1) ? 'col-md-6 col-md-offset-3 channel-card' : 'col-md-6 channel-card'"> <a class="channel-link" ng-click="vm.navigateTo(channel)" href=""> <div class="row"> <div class="col-xs-4"> <div class="channel-logo bvlLogo" ng-style="{'background':'url('+channel.LogoUrl+') no-repeat 50% 50%', '-webkit-background-size':'contain', '-moz-background-size':'contain', '-o-background-size':'contain', 'background-size':'contain'}"> </div> </div> <div class="col-xs-8"> <h3>{{channel.Name}}</h3> <h5>{{vm.getNews(channel).Heading}}</h5> </div> </div> </a> </div> </div> </div> </section> </section> </script><script id="/App/home/survey/survey.html" type="text/ng-template"><section class="mainbar surveyPage" data-ng-controller="SurveyCtrl as vm"> <div class="container"> <div class="row"> <div class="col-md-8 surveyContent center-block"> <div class="surveyDialog" ng-show="isShowingDialog()"> </div> <div ng-if="surveyService.currentQuestion && !isShowingDialog()"> <div class="navigation-button-group btn-group btn-group-top"> <div ng-if="surveyService.currentQuestion.Category !== 'Normal_SurveyClosed'"> <div ng-if="!isPreviewMode()"> <div class="btnEdge pull-left" ng-if="isUndoAllowed()"> <button type="button" class="btn btn-lg btn-success bvlBtn" ng-click="undoQuestion()"><span class="Undo" translate>Undo</span><span class="glyphicon glyphicon-arrow-left"></span></button> </div> <div class="btnEdge pull-right" ng-if="isNextManual()"> <button type="button" class="btn btn-lg btn-primary bvlBtn" ng-click="nextQuestion()" ng-if="!isSurveyCompleted" ng-disabled="!isNextAllowed()"><span class="Save" translate>Next</span><span class="glyphicon glyphicon-arrow-right"></span></button> <button type="button" class="btn btn-lg btn-primary bvlBtn" ng-click="doneSurvey()" ng-if="isSurveyCompleted && !isExternalRespondent()"><span class="Save" translate>Done</span><span class="fa fa-check"></span></button> </div> </div> <div ng-if="isPreviewMode() && !surveyService.currentQuestion.IsTemplate"> <div class="btnEdge pull-left"> <button type="button" class="btn btn-lg btn-warning bvlBtn" ng-click="previewBackQuestion()" ng-disabled="!isPreviewBackAllowed()"><span class="Undo" translate>PreviewBack</span><span class="glyphicon glyphicon-arrow-left"></span></button> </div> <div class="btnEdge pull-right"> <button type="button" class="btn btn-lg btn-warning bvlBtn" ng-click="previewNextQuestion()" ng-disabled="!isPreviewNextAllowed()"><span class="Save" translate>PreviewNext</span><span class="glyphicon glyphicon-arrow-right"></span></button> </div> </div> </div> <div ng-if="surveyService.currentQuestion.Category === 'Normal_SurveyClosed'"> <div class="btnEdge pull-right"> <button type="button" class="btn btn-lg btn-primary bvlBtn" ng-click="confirmSurveyClose()"><span class="Save" translate>OK</span><span class="fa fa-check"></span></button> </div> </div> <hr style="clear: both;" /> </div> <as-static-progress-bar></as-static-progress-bar> <div as-affix offset-bottom="60" bind-html-compile="surveyService.currentQuestion.Text" role="status" aria-atomic="true" ng-if="surveyService.currentQuestion.QuestionType!=='AUDIOPOD'" class="qstnText {{vm.expandQuestion ? 'expand' : ''}}" ng-click="vm.expandQuestion = !vm.expandQuestion"></div> <div ng-repeat="question in questions" ng-attr-id="{{'question'+surveyService.currentQuestion.Id}}" ng-class="'question'+surveyService.currentQuestion.Id" ng-if="surveyService.currentQuestion.Id === question.Id" ng-controller="QuestionCtrl as vm"> <div ng-if="surveyService.currentQuestion.Category !== 'Normal_SurveyCompleted' && surveyService.currentQuestion.Category !== 'Normal_SurveyClosed'" ng-switch="surveyService.currentQuestion.QuestionType" class="qstnType"> <div ng-switch-when="AUDIO"> <div ng-include="'/App/home/survey/questions/questionradio.html'"></div> </div> <div ng-switch-when="RADIO"> <div ng-include="'/App/home/survey/questions/questionradio.html'"></div> </div> <div ng-switch-when="CHECKBOX"> <div ng-include="'/App/home/survey/questions/questioncheckbox.html'"></div> </div> <div ng-switch-when="BREAK"> <div ng-include="'/App/home/survey/questions/questionbreak.html'"></div> </div> <div ng-switch-when="TEXT"> <div ng-include="'/App/home/survey/questions/questiontext.html'"></div> </div> <div ng-switch-when="AUDIOPOD"> <div ng-include="'/App/home/survey/questions/questionaudiopod.html'"></div> </div> <div ng-switch-when="DATE"> <div ng-include="'/App/home/survey/questions/questiondate.html'"></div> </div> </div> <div ng-if="surveyService.currentQuestion.Category === 'Normal_SurveyCompleted'" class="qstnType"> <div ng-include="'/App/home/survey/questions/surveycompleted.html'"></div> </div> <div ng-if="surveyService.currentQuestion.Category === 'Normal_SurveyClosed'" class="qstnType"> <div ng-include="'/App/home/survey/questions/surveyclosed.html'"></div> </div> </div> <div class="navigation-button-group btn-group btn-group-bottom"> <hr /> <div ng-if="surveyService.currentQuestion.Category !== 'Normal_SurveyClosed'"> <div ng-if="!isPreviewMode()"> <div class="btnEdge pull-left" ng-if="isUndoAllowed()"> <button type="button" class="btn btn-lg btn-success bvlBtn" ng-click="undoQuestion()"><span class="Undo" translate>Undo</span><span class="glyphicon glyphicon-arrow-left"></span></button> </div> <div class="btnEdge pull-right" ng-if="isNextManual()"> <button type="button" class="btn btn-lg btn-primary bvlBtn" ng-click="nextQuestion()" ng-if="!isSurveyCompleted" ng-disabled="!isNextAllowed()"><span class="Save" translate>Next</span><span class="glyphicon glyphicon-arrow-right"></span></button> <button type="button" class="btn btn-lg btn-primary bvlBtn" ng-click="doneSurvey()" ng-if="isSurveyCompleted && !isExternalRespondent()"><span class="Save" translate>Done</span><span class="fa fa-check"></span></button> </div> </div> <div ng-if="isPreviewMode() && !surveyService.currentQuestion.IsTemplate"> <div class="btnEdge pull-left"> <button type="button" class="btn btn-lg btn-warning bvlBtn" ng-click="previewBackQuestion()" ng-disabled="!isPreviewBackAllowed()"><span class="Undo" translate>PreviewBack</span><span class="glyphicon glyphicon-arrow-left"></span></button> </div> <div class="btnEdge pull-right"> <button type="button" class="btn btn-lg btn-warning bvlBtn" ng-click="previewNextQuestion()" ng-disabled="!isPreviewNextAllowed()"><span class="Save" translate>PreviewNext</span><span class="glyphicon glyphicon-arrow-right"></span></button> </div> </div> </div> <div ng-if="surveyService.currentQuestion.Category === 'Normal_SurveyClosed'"> <div class="btnEdge pull-right"> <button type="button" class="btn btn-lg btn-primary bvlBtn" ng-click="confirmSurveyClose()"><span class="Save" translate>OK</span><span class="fa fa-check"></span></button> </div> </div> </div> </div> </div> </div> </div> </section> </script><script id="/App/home/survey/questions/questionaudiopod.html" type="text/ng-template"><form ng-controller="QuestionAudioPodCtrl as vm" class="audioPod questionForm" as-jump-to-top> <div class="audiopodHeader"> </div> <div id="compWrapper"> <div id="greyoverlay"></div> <div id="buffering"></div> <as-audio-slider-progress-bar show-buffer-bar="false" ng-if="survey.Options.EnablePodProgressBar"></as-audio-slider-progress-bar> <div id="vSlide" style="-ms-touch-action:none"> <as-audio-slider ng-model="vm.answer" settings="vm.sliderSettings" controls="vm.sliderControls" playlist="vm.songsList" scores-promise="vm.scoresPromise"></as-audio-slider> <div id="scale" ng-class="vm.currentQuestion.ScaleType.toLowerCase() + 'Scale'"> <div id="scaleLabels"> <div class="scaleLabel scaleLabelLove" data-range-lo="81" data-range-hi="100"><p translate>ILoveIt</p></div> <div class="scaleLabel scaleLabelLike" data-range-lo="61" data-range-hi="80"><p translate>ILikeIt</p></div> <div class="scaleLabel scaleLabelOkay" data-range-lo="41" data-range-hi="60"><p translate>ItsOkay</p></div> <div class="scaleLabel scaleLabelDislike" data-range-lo="21" data-range-hi="40"><p translate>IDislikeIt</p></div> <div class="scaleLabel scaleLabelHate" data-range-lo="1" data-range-hi="20"><p translate>IHateIt</p></div> <div class="scaleLabel scaleLabelUnfamiliar" data-range-lo="0" data-range-hi="0"><p><span translate>Unfamiliar</span><br /><small translate>IDontKnowIt</small></p></div> </div> <div aria-live="assertive"> <div id="sliderScoreStatus"></div> <div id="scaleLabelsStatus"></div> </div> </div> </div> <div id="psuedoBurn"> <div id="scale-buttons" class="scale-buttons"> <button id="notTiredButton" class="not-tired-button burn-button btnEdge" data-burn-value="0" ng-show="vm.burnOptions.ShowNotTired"> <span class="not-tired-text br bvlBtn">{{vm.burnOptions.NotTiredText}}</span> </button> <button id="tiredButton" class="tired-button burn-button btnEdge" data-burn-value="100" ng-show="vm.burnOptions.ShowLittleTired"> <span class="tired-text br bvlBtn">{{vm.burnOptions.LittleTiredText}}</span> </button> <button id="veryTiredButton" class="very-tired-button burn-button btnEdge" data-burn-value="200" ng-show="vm.burnOptions.ShowVeryTired"> <span class="very-tired-text br bvlBtn">{{vm.burnOptions.VeryTiredText}}</span> </button> <button id="unfamiliarButton" class="unfamiliar-button btnEdge" data-burn-value="-1" ng-show="vm.burnOptions.ShowUnfamiliar"> <span class="unfamiliar-text br bvlBtn">{{vm.burnOptions.UnfamiliarText}}</span> </button> <button id="nextSongButton" class="next-song-button btnEdge" disabled> <span id="nextSongText" class="next-song-text br bvlBtn">{{'MoveSlider'|translate}}</span> </button> </div> </div> <div class="widget wgrey helpBtn"> <div data-cc-widget-header icon="fa fa-question-circle fa-lg" title="{{'Help'|translate}}" data-allow-collapse="true" ng-click="showHelp=!showHelp"></div> <div class="widget-content col-lg-12 collapse" aria-hidden="{{!showHelp}}"> <div bind-html-compile="vm.currentQuestion.Text" aria-atomic="true" role="note" aria-live="assertive"></div> <a href="" class="help-FAQ <!--showFaq-->" ng-click="vm.showFaq()"><i class="fa fa-question-circle fa-lg"></i> <span translate>FAQ</span></a> </div> </div> </div> </form> </script><script id="/App/home/survey/questions/questionbreak.html" type="text/ng-template"><form ng-controller="QuestionBreakCtrl as vm" class="questionForm" as-jump-to-top> </form></script><script id="/App/home/survey/questions/questioncheckbox.html" type="text/ng-template"><form ng-controller="QuestionCheckboxCtrl as vm" class="content-columns questionForm" as-jump-to-top> <div class="checkbox col-sm-4 btnEdge choiceDiv{{$index}}" ng-repeat="choice in vm.currentQuestion.Choices"> <input id="checkbox{{choice.Id}}" type="checkbox" ng-value="choice.Id" ng-model="vm.selection[choice.Id]" ng-change="vm.setAnswers()" class="choiceInput{{$index}}" /> <label for="checkbox{{choice.Id}}"> <span bind-html-compile="choice.Name"></span> <span class="branchToLabel" ng-if="choice.BranchQuestionName && vm.isPreviewMode()">{{'WhenUncheckedBranchToQuestion' | translate: {branchQuestionName: choice.BranchQuestionName} }}</span> </label> </div> </form> </script><script id="/App/home/survey/questions/questiondate.html" type="text/ng-template"><form ng-controller="QuestionDateCtrl as vm" class="questionForm" as-jump-to-top> <as-date-input name="dob" ng-change="vm.setAnswers()" ng-class="form-control" ng-model="vm.answer" date-time-mask-parts="vm.dateOfBirthMaskParts" ignore-timezone="true" past-date-only="true"></as-date-input> </form></script><script id="/App/home/survey/questions/questionradio.html" type="text/ng-template"><form ng-controller="QuestionRadioCtrl as vm" class="questionForm" as-jump-to-top> <div class="radio col-sm-6 btnEdge choiceDiv{{$index}}" ng-repeat="choice in vm.currentQuestion.Choices"> <input id="radio{{choice.Id}}" type="radio" name="Question{{vm.currentQuestion.Id}}" ng-value="choice.Id" ng-model="vm.selection" ng-change="vm.setAnswers()" class="choiceInput{{$index}}" /> <label for="radio{{choice.Id}}"> <span bind-html-compile="choice.Name"></span> <span class="branchToLabel" ng-if="choice.BranchQuestionName && vm.isPreviewMode()">{{'BranchToQuestion' | translate: {branchQuestionName: choice.BranchQuestionName} }}</span> </label> </div> </form></script><script id="/App/home/survey/questions/questiontext.html" type="text/ng-template"><form ng-controller="QuestionTextCtrl as vm" class="qstnTextbox questionForm" as-jump-to-top> <!-- TODO: Move all recording elements and logic to a directive --> <div class="qstnTextbox-input-wrapper"> <div ng-if="vm.recordingObject" class="recording-object btn-group"> <button class="btn btn-primary btn-play-recording" ng-click="vm.playRecording()" ng-if="!vm.isPlayingRecording()"> <span class="glyphicon glyphicon-play icon"></span> <span ng-bind-html="vm.recordingObject.seconds | number: 0"></span>s </button> <button class="btn btn-primary btn-stop-playing-recording" ng-click="vm.stopPlayingRecording()" ng-if="vm.isPlayingRecording()"> <span class="glyphicon glyphicon-stop icon"></span> <span ng-bind-html="vm.recordingObject.seconds | number: 0"></span>s </button> <button class="btn btn-primary btn-delete-recording" ng-click="vm.deleteRecording()"> <span class="glyphicon glyphicon-remove icon"></span> </button> </div> <textarea class="form-control" rows="5" ng-model="vm.answer" ng-change="vm.setAnswers()" ng-disabled="vm.answerType === vm.answerTypeEnum.audio && vm.getPermissionStatus() !== vm.permissionStatusEnum.denied" as-auto-focus></textarea> </div> <div ng-if="(vm.isAudioRecorderSupported() && vm.isAudioRecorderEnabled()) || vm.isInIOS11WebView()" style="padding-top: 20px"> <div ng-if="vm.recordingObject"> <button class="btn-lg btn btn-default btn-record-start" ng-click="vm.startRecordingAudio()" ng-disabled="vm.isEncodingAudio()"> <i class="fa fa-microphone icon"></i> <span translate>RecordAgain</span> </button> </div> <div ng-if="!vm.recordingObject"> <button class="btn-lg btn-default btn btn-record-start" ng-if="!vm.isRecordingAudio()" ng-click="vm.startRecordingAudio()" ng-disabled="vm.isEncodingAudio() || vm.iOS11WebViewWarning"> <span ng-if="!vm.isEncodingAudio()"> <i ng-class="['fa icon', vm.canRecordAudio() ? 'fa-microphone' : 'fa-microphone-slash']"></i> <span translate>RecordVoiceMessage</span> </span> <span ng-if="vm.isEncodingAudio()"><span translate>Processing</span> {{ (vm.getEncodingProgress() * 100) | number: 1 }}%</span> </button> <button class="btn-lg btn-default btn btn-record-stop" ng-if="vm.isRecordingAudio()" ng-click="vm.stopRecordingAudio()"> <i class="fa fa-circle icon"></i> <span translate>StopRecording</span> (<span ng-bind-html="vm.getRecordingTimeLeft() | number: 0"></span>s) </button> </div> <p class="text-danger" ng-if="vm.isInIOS11WebView()"> {{ vm.iOS11WebViewWarning | translate }} </p> <p class="text-danger" ng-if="vm.getPermissionStatus() === vm.permissionStatusEnum.denied" translate> MicrophoneAccessDenied </p> <p ng-if="vm.getPermissionStatus() !== vm.permissionStatusEnum.denied"><a ng-click="vm.showVoiceRecordingFaq()" style="padding:10px 0;display: inline-block;"><span translate>WhatIsThis</span> <i class="fa fa-question-circle"></i></a></p> </div> </form></script><script id="/App/home/survey/questions/surveyclosed.html" type="text/ng-template"><form ng-controller="SurveyClosedCtrl as vm" class="questionForm" as-jump-to-top> </form></script><script id="/App/home/survey/questions/surveycompleted.html" type="text/ng-template"><form ng-controller="SurveyCompletedCtrl as vm" class="questionForm" as-jump-to-top> <section class="mainbar dashboard"> <section class="container"> <div ng-controller="ActiveSurveysCtrl as vm"> <div ng-if="vm.surveys.length"> <h4 translate>OneOrMoreActiveSurveysCompletePage</h4> <div class="activeSurveysList"> <div ng-repeat="survey in vm.surveys"> <div class="btnEdge" style="display:inline-block;"> <button class="btn btn-primary btn-lg bvlBtn" ng-if="vm.canStart(survey)" ng-click="vm.enterSurvey(survey)" translate>Start</button> <button class="btn btn-primary btn-lg bvlBtn" ng-if="vm.canResume(survey)" ng-click="vm.enterSurvey(survey)" translate>Resume</button> <button class="btn btn-warning btn-lg bvlBtn" ng-if="vm.canPreview(survey)" ng-click="vm.enterSurvey(survey)" translate>Preview</button> <button class="btn btn-primary btn-lg bvlBtn" ng-if="vm.canSync(survey)" ng-disabled="true"><span translate>SendingAnswers</span> <img src="/Content/App/Images/spinner-small.gif" ng-show="vm.isSyncing" /></button> </div> <div class="surveyClose center" ng-if="vm.canStart(survey) || vm.canResume(survey) || vm.canSync(survey)"><b ng-if="survey.Name">{{survey.Name}}</b> <span translate>Closes</span>: <span am-time-ago="survey.Schedule.EndDate|utcToLocal" ng-if="survey.Schedule.EndDate"></span><span ng-if="!survey.Schedule.EndDate" translate>NotAvailable</span></div> <div class="surveyClose center" ng-if="vm.canPreview(survey)"><b ng-if="survey.Name">{{survey.Name}}</b> <span ng-if="survey.Schedule.StartDate"><span translate>Begins</span>: <span am-time-ago="survey.Schedule.StartDate|utcToLocal"></span></span></div> </div> </div> </div> </div> </section> <section class="container"> <div class="row"> <div class="col-md-12"> <div ng-include="'/App/home/dashboard/widgets/yourtopsongs.html'"></div> <div ng-include="'/App/home/dashboard/widgets/otherstopsongs.html'"></div> </div> </div> </section> </section> </form></script><script id="/App/home/unsubscribe/unsubscribe.html" type="text/ng-template"><section id="unsubscribe-view" class="unsubscribePage" data-ng-controller="UnsubscribeCtrl as vm"> <form name="vm.unsubForm" method="post" role="form"> <div ng-switch="vm.currentPage" class="form-pages-container"> <div ng-switch-when="1" class="form-page"> <div class="form-group"> <h3 class="text-center" ng-bind-html="'Unsubscribe' | translate: vm.appResources"></h3> </div> <div class="form-group" v-if="vm.channels.length > 1"> <p ng-bind-html="'SelectMembershipsToUnsubFrom' | translate: vm.appResources"></p> <p><a href="javascript:" ng-click="vm.selectAllMemberships()" ng-show="vm.channels.length >= 3" ng-bind-html="'SelectAll' | translate: vm.appResources"></a></p> </div> <div class="form-group unsubChannels" v-if="vm.channels.length > 1"> <div class="checkbox" ng-repeat="channel in vm.channels"> <input id="unsubChannel{{channel.Id}}" type="checkbox" name="unsubFeedback" ng-model="vm.unsubMemberships[channel.MembershipGuid]" ng-required="true"/> <label for="unsubChannel{{channel.Id}}" translate>{{ channel.Name }}</label> </div> </div> </div> <div ng-switch-when="2" class="form-page"> <div class="form-group"> <h3 class="text-center" ng-bind-html="'UnsubscribeTitle' | translate: vm.appResources"></h3> </div> <div class="form-group" bind-html-compile="'UnsubscribeMessage' | translate: vm.appResources"> </div> <div class="form-group unsubFeedbackChoices"> <div class="radio" ng-if="'UnsubFeedback1' | translate: vm.appResources | isNotEmpty"> <input id="unsubFeedback1" type="radio" name="unsubFeedback" ng-value="'UnsubFeedback1' | translate: vm.appResources" ng-model="vm.unsubFeedback"/> <label for="unsubFeedback1" ng-bind-html="'UnsubFeedback1' | translate: vm.appResources"></label> </div> <div class="radio" ng-if="'UnsubFeedback2' | translate: vm.appResources | isNotEmpty"> <input id="unsubFeedback2" type="radio" name="unsubFeedback" ng-value="'UnsubFeedback2' | translate: vm.appResources" ng-model="vm.unsubFeedback"/> <label for="unsubFeedback2" ng-bind-html="'UnsubFeedback2' | translate: vm.appResources"></label> </div> <div class="radio" ng-if="'UnsubFeedback3' | translate: vm.appResources | isNotEmpty"> <input id="unsubFeedback3" type="radio" name="unsubFeedback" ng-value="'UnsubFeedback3' | translate: vm.appResources" ng-model="vm.unsubFeedback"/> <label for="unsubFeedback3" ng-bind-html="'UnsubFeedback3' | translate: vm.appResources"></label> </div> <div class="radio" ng-if="'UnsubFeedback4' | translate: vm.appResources | isNotEmpty"> <input id="unsubFeedback4" type="radio" name="unsubFeedback" ng-value="'UnsubFeedback4' | translate: vm.appResources" ng-model="vm.unsubFeedback"/> <label for="unsubFeedback4" ng-bind-html="'UnsubFeedback4' | translate: vm.appResources"></label> </div> <div class="radio" ng-if="'UnsubFeedback5' | translate: vm.appResources | isNotEmpty"> <input id="unsubFeedback5" type="radio" name="unsubFeedback" ng-value="'UnsubFeedback5' | translate: vm.appResources" ng-model="vm.unsubFeedback"/> <label for="unsubFeedback5" ng-bind-html="'UnsubFeedback5' | translate: vm.appResources"></label> </div> <div class="radio"> <input id="unsubFeedbackOther" type="radio" ng-checked="vm.unsubFeedback === vm.unsubFeedbackCustom" ng-click="vm.onUnsubCustomFeedback()"/> <label for="unsubFeedbackOther"> <span ng-hide="vm.unsubFeedback === vm.unsubFeedbackCustom" ng-bind-html="vm.unsubFeedbackCustom || ('UnsubFeedbackOther' | translate: vm.appResources)"></span> <input ng-show="vm.unsubFeedback === vm.unsubFeedbackCustom" type="text" class="form-control unsubFeedbackCustom" placeholder="{{ 'PleaseSpecify' | translate }}" ng-change="vm.unsubFeedback = vm.unsubFeedbackCustom" ng-model="vm.unsubFeedbackCustom"/> </label> </div> </div> </div> <div ng-switch-when="3" class="form-page"> <div class="form-group text-center"> <h3 ng-bind-html="'UnsubscribeCompletedTitle'| translate: vm.appResources "></h3> <p ng-bind-html="'UnsubscribeCompletedMessage' | translate: vm.appResources"></p> </div> </div> </div> <div class="form-group submit-button-group"> <div class="btnEdge"> <button class="btn btn-lg btn-primary bvlBtn main-submit-btn" type="button" ng-click="vm.next()" ng-disabled="vm.isProcessing || (vm.currentPage === 1 && !vm.getUnsubMembershipGuids().length)"> <span ng-show="vm.isProcessing" class="loading-icon"> <i class="fa fa-circle-o-notch"></i> </span> <span ng-show="!vm.isProcessing"> {{ ['Next', 'Unsubscribe', 'Done'][vm.currentPage-1] | translate: vm.appResources }} </span> </button> </div> </div> <div class="form-group"> <div class="btnEdge main-back-btn-edge" ng-hide="vm.currentPage >= 3"> <button ng-click="vm.back()" class="btn btn-lg btn-success bvlBtn main-back-btn" translate> Back </button> </div> </div> </form> </section> </script><script id="/App/public/activation/activation.html" type="text/ng-template"><section class="login" data-ng-controller="ActivationCtrl as vm"> <section class="container"> <div class="row row-centered"> <div class="col-md-11 col-centered"> <div id="logo"> </div> <div class="loginForm"> <form class="form-signin" method="post" role="form"> <div class="form-group"> <h5 data-ng-bind-html="vm.activationMessage"></h5> <h5 ng-if="vm.surveys.length" translate>OneOrMoreActiveSurveys</h5> </div> <div class="signInMethods"> <div class="btnEdge pull-right signIn"> <button class="btn btn-lg btn-primary bvlBtn" type="button" ng-click="vm.loginOrDoSurvey()" translate> {{ vm.surveys.length ? 'Start' : 'SignIn' | translate }} </button> </div> </div> </form> </div> </div> </div> </section> </section> </script><script id="/App/public/confirmemail/confirmemail.html" type="text/ng-template"><section class="login"> <section class="container"> <div class="row row-centered"> <div class="col-md-11 col-centered"> <div id="logo"> </div> <div class="loginForm"> <form class="form-signin" method="post" role="form"> <div class="form-group"> <h2 translate>EmailConfirmed</h2> </div> <div class="form-group"> <h5 translate>EmailConfirmedYouCanNowLogin</h5> </div> <div class="signInMethods"> <div class="btnEdge pull-right signIn"> <button class="btn btn-lg btn-primary bvlBtn" type="button" ui-sref="login" translate>Done</button> </div> </div> </form> </div> </div> </div> </section> </section> </script><script id="/App/public/faq/faq.html" type="text/ng-template"><div ng-controller="FaqCtrl as vm" class="faq"> <div class="modal-header"> <h3 class="modal-title"><i class="fa fa-question-circle fa-lg"></i>{{'FAQ' | translate}}<a ng-click="ok()" class="pull-right"><i class="fa fa-close"></i></a></h3> </div> <div class="modal-body"> <form class="form-search" role="search" ng-if="vm.sections.length > 5"> <div class="input-group"> <span class="input-group-addon"><span class="glyphicon glyphicon-search"></span></span> <input type="search" class="form-control input-sm col-xs-12" placeholder="{{'Search'|translate}}" ng-model="vm.faqFilter" /> </div> </form> <uib-accordion close-others="true"> <uib-accordion-group ng-repeat="section in vm.sections | orderBy:'order'" ng-init="questionTranslated = (section.question|translate)" ng-if="section.id!='stillStuck'" ng-show="questionTranslated.toLowerCase().indexOf(vm.faqFilter.toString().toLowerCase()) > -1" heading="{{questionTranslated}}" panel-class="panel-default {{section.isOpen ? 'accordion-open' : ''}}" is-open="section.isOpen"> <span ng-bind-html="section.answer|translate"></span> </uib-accordion-group> <uib-accordion-group ng-repeat="section in vm.sections | filter:{id:'stillStuck'}" heading="{{section.question|translate}}" panel-class="panel-default stillStuck {{section.isOpen ? 'accordion-open' : ''}}" is-open="section.isOpen"> <span ng-bind-html="section.answer|translate"></span> </uib-accordion-group> </uib-accordion> </div> <div class="modal-footer"> <button class="btn btn-primary" ng-click="ok()" translate>Close</button> </div> </div></script><script id="/App/public/layout/main.html" type="text/ng-template"><div ng-controller="MainCtrl as vm"> <div ng-include="'/App/home/layout/shell.html'"></div> <div data-ng-show="vm.isLoading" class="page-splash dissolve-animation"> <div data-cc-spinner="vm.spinnerOptions"></div> <div class="page-splash-message page-splash-message-subtle">{{vm.busyMessage}}</div> </div> </div> </script><script id="/App/public/login/login.html" type="text/ng-template"><section data-ng-controller="LoginCtrl as vm" class="login"> <div ui-view></div> </section> </script><script id="/App/public/login/default/login.default.html" type="text/ng-template"><section data-ng-controller="LoginDefaultCtrl as vm" > <section class="container"> <div class="row row-centered"> <div class="col-md-11 col-centered"> <div id="logo"> </div> <div data-ng-include="'/App/public/login/form/login.form.html'"></div> <div class="registerHere col-xs-12"> <span class="btnEdge"> <span class="bvlBtn btnSqr"> <a ui-sref="registration.list" translate>RegisterHere</a> </span> </span> </div> <div class="showFaq col-xs-12"> <span class="btnEdge"> <span class="bvlBtn btnSqr"> <a href="" ng-click="vm.showFaq()" tabindex="0" translate>FAQ</a> </span> </span> </div> </div> </div> </section> </section> </script><script id="/App/public/login/dialog/login.dialog.html" type="text/ng-template"><div class="loginDialog" ng-init="modal = {}"> <div class="modal-header"> <h3 class="modal-title">{{modal.title || 'Login' | translate}}<a ng-click="cancel()" class="pull-right"><i class="fa fa-close"></i></a></h3> </div> <div class="modal-body loginForm" data-ng-include="'/App/public/login/form/login.form.html'" data-onload="prefillEmail = prefillEmail"></div> </div></script><script id="/App/public/login/form/login.form.html" type="text/ng-template"><div class="loginForm" data-ng-controller="LoginFormCtrl as vm"> <div ng-if="vm.showRequestPasswordReset" ng-include="'/App/public/resetpassword/resetpassword.form.html'" class="forgotPassContent"></div> <form ng-if="!vm.showRequestPasswordReset" class="form-signin" method="post" role="form" autofill-submit="vm.login(vm.credentials)"> <div class="form-group"> <div class="login-glyph"><i class="fa fa-envelope fa-fw fa-lg"></i></div> <input type="email" id="email" class="form-control" autofill placeholder="{{'EmailAddress'|translate}}" ng-model="vm.credentials.email" autocomplete="username" /> </div> <div class="form-group"> <div class="login-glyph clear"><i class="fa fa-lock fa-fw fa-lg"></i></div> <input type="password" id="password" class="form-control" autofill placeholder="{{'Password'|translate}}" ng-model="vm.credentials.password" autocomplete="current-password" /> </div> <div class="signInMethods"> <div class="btnEdge pull-right signIn"> <button class="btn btn-lg btn-primary bvlBtn" type="submit" translate>SignIn</button> </div> <div class="btnEdge facebookLogin" ng-if="vm.hasFacebookAuth"> <button type="button" class="btn btn-lg btn-facebook bvlBtn" ng-click="vm.fbLogin()" title="{{'LoginWithFacebook'|translate}}" translate> LoginWithFacebook </button> </div> </div> </form> <div class="forgotPass col-xs-12"> <div ng-if="!vm.showRequestPasswordReset"> <span class="btnEdge"> <span class="bvlBtn btnSqr"> <a href="" ng-click="vm.toggleRequestPasswordReset(true)" translate>ResetPassword</a> </span> </span> </div> <div ng-if="vm.showRequestPasswordReset" class="backBtn"> <span class="btnEdge"> <span class="bvlBtn btnSqr"> <a href="" ng-click="vm.toggleRequestPasswordReset(false)" translate>Back</a> </span> </span> </div> </div> </div></script><script id="/App/public/login/username/login.username.html" type="text/ng-template"><section data-ng-controller="LoginUsernameCtrl as vm"> <section class="container"> <div class="row row-centered"> <div class="col-md-11 col-centered"> <div id="logo"> </div> <form class="form-signin usernameForm" method="post" role="form" autofill-submit="vm.login(vm.credentials)"> <div class="form-group"> <div class="login-glyph clear"><i class="fa fa-user fa-fw fa-lg"></i></div> <input type="text" id="username" class="form-control" autofill placeholder="{{'Username'|translate}}" ng-model="vm.credentials.username" autocomplete="username" /> </div> <div class="btnEdge signIn"> <button class="btn btn-lg btn-primary col-xs-12 col-sm-4 bvlBtn" type="submit" translate>SignIn</button> </div> </form> </div> </div> <div class="row row-centered"> <div class="col-md-11 col-centered extras"> <div class="showFaq col-xs-12"> <span class="btnEdge"> <span class="bvlBtn btnSqr"> <a href="" ng-click="vm.showFaq()" translate>FAQ</a> </span> </span> </div> </div> </div> </section> </section> </script><script id="/App/public/registration/registration.form.html" type="text/ng-template"><section id="mydetails-view" class="registrationPage" data-ng-controller="RegistrationFormCtrl as vm" ng-init="vm.currentPage = 1"> <form class="form-signin" name="vm.registrationForm" method="post" role="form"> <div class="registrationLogo" ng-style="{'background-image':'url('+vm.channelResources.ChannelLogoUrl+')'}"> </div> <div class="form-group" ng-if="vm.formMode === FORM_MODES.casual"> <h2 class="text-center" translate>MyDetails</h2> </div> <div class="row" ng-if="vm.hasContactPage || vm.hasCustomRegoPage"> <div class="page-progress-bar" ng-if="!vm.useCasualForm" ng-style="{'left': vm.hasContactPage && vm.hasCustomRegoPage ? '10%' : '23%'}"> <div class="page-num personal {{ {true: 'active'}[vm.currentPage == 1] }} {{ {true: 'progressed'}[vm.currentPage > 1] }}"> <span translate>RegistrationPersonal</span> </div> <div class="page-num contact {{ {true: 'active'}[vm.currentPage == 2] }} {{ {true: 'progressed'}[vm.currentPage > 2] }} {{ {true: 'last-page'}[!vm.hasCustomRegoPage] }}" ng-if="vm.hasContactPage"> <span translate>RegistrationContact</span> </div> <div class="page-num listening {{ {true: 'active'}[vm.currentPage == 3] }} {{ {true: 'progressed'}[vm.currentPage > 3] }} last-page" ng-if="vm.hasCustomRegoPage"> <span translate>RegistrationListening</span> </div> </div> </div> <div class="alert alert-warning" ng-if="vm.formMode === FORM_MODES.confirm" ng-show="vm.currentPage < 4 " translate>RegistrationConfirmYourDetails</div> <div ng-switch="vm.currentPage" class="form-pages-container" ng-attr-style="{{ vm.useCasualForm ? 'min-height: auto' : ''}}"> <div ng-if="vm.useCasualForm" ng-switch-when="1" class="form-page"> <div data-ng-include="'/App/public/registration/form.pages/registration.form.casual.html'"></div> </div> <div ng-if="!vm.useCasualForm"> <div ng-switch-when="1" class="form-page"> <div data-ng-include="'/App/public/registration/form.pages/registration.form.personal.html'"></div> </div> <div ng-switch-when="2" class="form-page"> <div data-ng-include="'/App/public/registration/form.pages/registration.form.contacts.html'"></div> </div> <div ng-switch-when="3" class="form-page"> <div data-ng-include="'/App/public/registration/form.pages/registration.form.custom.html'"></div> </div> </div> <div ng-switch-when="4" class="form-page"> <div data-ng-include="'/App/public/registration/form.pages/registration.form.complete.html'"></div> </div> </div> <div class="form-group submit-button-group"> <div class="btnEdge"> <button class="btn btn-lg btn-primary bvlBtn main-submit-btn" ng-if="vm.currentPage > 3 && !vm.usingFacebook && vm.formMode == FORM_MODES.new" ng-disabled="vm.isProcessing" as-link-to-inbox email="vm.formModel.PersonEmail" search-sender="@airtimesurveys.com" translate> <span ng-show="vm.isProcessing" class="loading-icon"> <i class="fa fa-circle-o-notch"></i> </span> <span ng-show="!vm.isProcessing"> <span translate>CheckInbox</span> <i class="fa fa-chevron-right"></i> </span> </button> <button class="btn btn-lg btn-primary bvlBtn main-submit-btn" type="button" ng-click="vm.next()" ng-disabled="vm.isProcessing"> <span ng-show="vm.isProcessing" class="loading-icon"> <i class="fa fa-circle-o-notch"></i> </span> <span ng-show="!vm.isProcessing"> {{ vm.currentPage >= 3 || vm.useCasualForm ? 'Done' : 'Next' | translate }} </span> </button> </div> </div> <div class="row"> <div class="col-xs-12 text-center"> <div class="btnEdge main-back-btn-edge" ng-hide="vm.currentPage > 3"> <a tabindex="0" ng-click="vm.back()" class="btn btn-lg btn-success bvlBtn main-back-btn" translate>Back</a> </div> <div ng-if="(vm.formMode === FORM_MODES.edit || vm.rescreenType === 'Consent') && vm.currentPage < 4"> <hr /> <a ui-sref="unsubscribe" translate>Unsubscribe</a> </div> </div> </div> </form> </section></script><script id="/App/public/registration/registration.list.html" type="text/ng-template"><section class="mainbar registration" data-ng-controller="RegistrationCtrl as vm"> <section class="container-fluid"> <div class="row" ng-if="!displayAsList"> <div class="col-md-12"> <h3 class="text-center" translate>SelectChannelToJoin</h3> </div> </div> <div class="row" ng-if="vm.channels.length === 0 && !displayAsList"> <p class="noRegistration" translate>RegistrationUnavailable</p> </div> <div ng-if="vm.channels.length"> <div ng-repeat="channel in vm.channels | filter: vm.excludeChannelsFilter"> <div ng-class="(vm.channels.length==1) ? 'col-md-6 col-md-offset-3 channel-card' : 'col-md-6 channel-card'"> <a class="channel-link" ui-sref="registration.form({channelId:channel.Id})"> <div class="row"> <div class="col-xs-4"> <div class="channel-logo bvlLogo" ng-style="{'background':'url('+channel.LogoUrl+') no-repeat 50% 50%', '-webkit-background-size':'contain', '-moz-background-size':'contain', '-o-background-size':'contain', 'background-size':'contain'}"> </div> </div> <div class="col-xs-8" style="line-height: normal"> <h3>{{channel.Name}}</h3> <p class="channel-description" ng-if="displayAsList" translate>NoMembershipsInChannel</p> </div> </div> </a> </div> </div> </div> <div class="row row-centered" ng-if="!displayAsList"> <div class="back col-xs-12"> <span class="btnEdge"> <span class=" bvlBtn btnSqr"> <a ui-sref="login" translate>Back</a> </span> </span> </div> </div> </section> </section> </script><script id="/App/public/registration/form.pages/registration.form.casual.html" type="text/ng-template"><div class="form-group givenName-group tooltip-used" ng-if="vm.screener.IncludeGivenName"> <div class="fieldName-group"> <label class="fieldName givenName {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonGivenName] }}" for="givenname" translate>GivenNameLabel</label> <input id="givenname" name="givenname" type="text" class="form-control input-md" ng-required="vm.screener.RequireGivenName" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonGivenName"> </div> <div class="tooltip-group"> <a href="javascript:void(0)" class="rego-helper" tabindex="-1"><i class="fa fa-question-circle"></i></a> <span class="rego-tooltip" translate>RegoToolTipGivenName</span> </div> <div ng-messages="vm.registrationForm.givenname.$error" ng-if="vm.registrationForm.givenname.$touched" class="input-error-group"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div class="form-group" ng-if="vm.screener.IncludeFamilyName"> <label class="fieldName familyname {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonFamilyName] }}" for="familyname" translate>FamilyNameLabel</label> <input id="familyname" name="familyname" type="text" class="form-control input-md" ng-required="vm.screener.RequireFamilyName" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonFamilyName"> <div ng-messages="vm.registrationForm.familyname.$error" ng-if="vm.registrationForm.familyname.$touched"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div class="form-group tooltip-used" ng-if="vm.screener.IncludeEmail"> <div class="fieldName-group"> <label ng-class="['fieldName email', {'true': 'showPlaceHolder'}[!vm.registrationForm.email.$viewValue]]" for="email" translate>EmailAddressLabel</label> <input type="email" id="email" name="email" class="form-control" ng-model="vm.formModel.PersonEmail" ng-required="vm.screener.RequireEmail" ng-disabled="vm.isProcessing" ng-pattern="vm.emailPattern" /> </div> <div class="tooltip-group"> <a href="javascript:void(0)" class="rego-helper" tabindex="-1"><i class="fa fa-question-circle"></i></a> <span class="rego-tooltip" translate>RegoToolTipEmailAddress</span> </div> <div ng-messages="vm.registrationForm.email.$error" ng-if="vm.registrationForm.email.$touched" class="input-error-group"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> <div ng-message="email, pattern"> <div class="input-error-msg" translate>InvalidEmail</div> </div> </div> </div> <div class="form-group tooltip-used" ng-if="vm.screener.IncludeDaytimePhone"> <div class="fieldName-group"> <label class="fieldName daytimePhone {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonContactDaytimePhone] }}" for="daytimephone" translate>DaytimePhoneLabel</label> <input id="daytimephone" name="daytimephone" type="tel" class="form-control input-md" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonContactDaytimePhone" ng-required="vm.screener.RequireDaytimePhone"> </div> <div class="tooltip-group"> <a href="javascript:void(0)" class="rego-helper" tabindex="-1"><i class="fa fa-question-circle"></i></a> <span class="rego-tooltip" translate>RegoToolTipContactNumberCasualONLY</span> </div> <div ng-messages="vm.registrationForm.daytimephone.$error" ng-if="vm.registrationForm.daytimephone.$touched" class="input-error-group"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div class="form-group tooltip-used" ng-if="vm.screener.IncludeMobilePhone"> <div class="fieldName-group"> <label class="fieldName mobilePhone {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonContactMobilePhone] }}" for="mobilephone" translate>MobilePhoneLabel</label> <input id="mobilephone" name="mobilephone" type="tel" class="form-control input-md" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonContactMobilePhone" ng-required="vm.screener.RequireMobilePhone"> </div> <div class="tooltip-group"> <a href="javascript:void(0)" class="rego-helper" tabindex="-1"><i class="fa fa-question-circle"></i></a> <span class="rego-tooltip" translate>RegoToolTipContactNumberCasualONLY</span> </div> <div ng-messages="vm.registrationForm.mobilephone.$error" ng-if="vm.registrationForm.mobilephone.$touched" class="input-error-group"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div ng-bind-html="'ConsentHeader' | translate:vm.channelResources"></div> <div class="form-group optins-group"> <div ng-messages="vm.registrationForm.optInsPrizeDraw.$error" ng-if="vm.registrationForm.optInsPrizeDraw.$touched"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> <div class="checkbox"> <input id="optIn-0" type="checkbox" name="optInsPrizeDraw" value="" ng-model="vm.formModel.OptInsPrizeDraw" ng-required="true" /> <label for="optIn-0" ng-bind-html="(vm.getConsentingAuthority() === CONSENTING_AUTHORITY.guardian ? 'OptInsPrizeDrawGuardian' : 'OptInsPrizeDraw') | translate: vm.channelResources"></label> </div> </div> <div class="form-group consent-footer" ng-if="'ConsentFooter' | translate: vm.channelResources"> <div class="alert alert-warning" ng-bind-html="'ConsentFooter' | translate: vm.channelResources"></div> </div> </script><script id="/App/public/registration/form.pages/registration.form.complete.html" type="text/ng-template"><div class="form-group completionPage"> <div class="panel panel-success"> <div class="panel-heading"> <h5 class="text-center animated tada" ng-bind-html="vm.formMode === FORM_MODES.new || vm.usingFacebook ? 'RegistrationDoneTitle' : 'DetailsSavedTitle' | translate:{GivenName: vm.formModel.PersonGivenName}"></h5> </div> <div class="panel-body"> <p class="text-center completion-indicator" ng-switch="(vm.formMode == FORM_MODES.new && !vm.usingFacebook) || (vm.formMode == FORM_MODES.edit && vm.formModel.PersonEmail != vm.oldEmail)"> <i ng-switch-when="true" class="fa fa-envelope animated bounceIn"></i> <i ng-switch-default class="fa fa-check-circle animated bounceIn"></i> </p> <div ng-if="vm.usingFacebook"> <p translate>ThankYouFacebookRegistrationDone</p> </div> <div ng-if="!vm.usingFacebook" ng-switch="vm.formMode === FORM_MODES.new"> <div ng-switch-when="true"> <p translate>ThankYouRegistrationDonePleaseActivate</p> <p><button ng-init="resendEmailAttempt = 0" ng-disabled="resendEmailAttempt > 1" ng-click="vm.submitForm(); resendEmailAttempt = resendEmailAttempt + 1" class="btn btn-default btn-block" translate>ResendActivationEmail</button></p> </div> <div ng-switch-default> <p translate>YourDetailsAreSaved</p> <p ng-if="vm.formModel.PersonEmail != vm.oldEmail && !vm.isCasualRespondent()" ng-bind-html="'EmailChangedPleaseConfirm' | translate: vm.formModel"></p> </div> </div> <as-fb-share-casual-survey ng-if="vm.isCasualRespondent()"></as-fb-share-casual-survey> </div> </div> </div></script><script id="/App/public/registration/form.pages/registration.form.contacts.html" type="text/ng-template"><div class="form-group" ng-if="vm.formMode === FORM_MODES.new"> <div class="alert alert-info registrationGuide animated fadeInRight" role="alert"> <span ng-bind-html="'RegistrationTellUsWhereYouLive' | translate:vm.formModel"></span> </div> </div> <div class="tooltip-used contact-details-tooltip"> <div class="tooltip-group"> <a href="javascript:void(0)" class="rego-helper"><i class="fa fa-question-circle"></i></a> <span class="rego-tooltip" translate>RegoToolTipContactDetails</span> </div> </div> <div class="form-group" ng-if="vm.screener.IncludeStreetAddress"> <label class="fieldName streetaddress {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonContactAddress] }}" for="streetaddress" translate>StreetAddress</label> <input id="streetaddress" name="streetaddress" type="text" class="form-control input-md" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonContactAddress" ng-required="vm.screener.RequireStreetAddress"> <div ng-messages="vm.registrationForm.streetaddress.$error" ng-if="vm.registrationForm.streetaddress.$touched"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div class="form-group" ng-if="vm.screener.IncludeSuburb"> <label class="fieldName suburb {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonContactSuburb] }}" for="suburb" translate>Suburb</label> <input id="suburb" name="suburb" type="text" class="form-control input-md" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonContactSuburb" ng-required="vm.screener.RequireSuburb"> <div ng-messages="vm.registrationForm.suburb.$error" ng-if="vm.registrationForm.suburb.$touched"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div class="form-group" ng-if="vm.screener.IncludeCity"> <label class="fieldName city {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonContactCity] }}" for="city" translate>CityLabel</label> <input id="city" name="city" type="text" class="form-control input-md" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonContactCity" ng-required="vm.screener.RequireCity"> <div ng-messages="vm.registrationForm.city.$error" ng-if="vm.registrationForm.city.$touched"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div class="form-group country-group" ng-if="vm.screener.IncludeCountry"> <select id="country" name="country" class="form-control" ng-disabled="!vm.countryNames.length || vm.isProcessing" ng-model="vm.formModel.PersonContactCountry" ng-required="vm.screener.RequireCountry" ng-options="country for country in vm.countryNames"> <option value="" translate>PleaseSelectACountry</option> </select> <div ng-messages="vm.registrationForm.country.$error" ng-if="vm.registrationForm.country.$touched"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div class="form-group postcode-group" ng-if="vm.screener.IncludePostalCode"> <label class="fieldName postCode {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonContactPostcode] }}" for="postcode" translate>PostalCodeLabel</label> <input id="postcode" name="postcode" type="text" class="form-control input-md" required="" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonContactPostcode" ng-required="vm.screener.RequirePostalCode"> <div ng-messages="vm.registrationForm.postcode.$error" ng-if="vm.registrationForm.postcode.$touched"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div class="form-group state-group" ng-if="vm.screener.IncludeState"> <label class="fieldName state {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonContactState] }}" for="state" translate>StateLabel</label> <input id="state" name="state" type="text" class="form-control input-md" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonContactState" ng-required="vm.screener.RequireState"> <div ng-messages="vm.registrationForm.state.$error" ng-if="vm.registrationForm.state.$touched"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div class="form-group" ng-if="vm.screener.IncludeDaytimePhone"> <label class="fieldName daytimePhone {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonContactDaytimePhone] }}" for="daytimephone" translate>DaytimePhoneLabel</label> <input id="daytimephone" name="daytimephone" type="tel" class="form-control input-md" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonContactDaytimePhone" ng-required="vm.screener.RequireDaytimePhone"> <div ng-messages="vm.registrationForm.daytimephone.$error" ng-if="vm.registrationForm.daytimephone.$touched"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <div class="form-group" ng-if="vm.screener.IncludeMobilePhone"> <label class="fieldName mobilePhone {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonContactMobilePhone] }}" for="mobilephone" translate>MobilePhoneLabel</label> <input id="mobilephone" name="mobilephone" type="tel" class="form-control input-md" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonContactMobilePhone" ng-required="vm.screener.RequireMobilePhone"> <div ng-messages="vm.registrationForm.mobilephone.$error" ng-if="vm.registrationForm.mobilephone.$touched"> <div ng-message="required"> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </div> </div> </div> <!-- tTis 'Area' custom question is hardcodedly put in here because they fit better in Contacts page --> <uib-accordion close-others="vm.formMode !== FORM_MODES.confirm" ng-init="firstOpen = true"> <uib-accordion-group ng-repeat="profileQuestion in vm.profileQuestions | filter: { Name: 'Area', QuestionType: 'RADIO' }" heading="{{profileQuestion.Text}}" panel-class="panel-default form-group customQuestion {{ {true: 'required'}[profileQuestion.Required] }} {{vm.hasAnswer(vm.profileQuestionsAnswers[profileQuestion.Id]) ? 'answered' : 'ng-invalid'}}" is-open="firstOpen" template-url="/App/public/registration/form.pages/registration.form.custom.template.html"> <div class="flex-parent"> <div class="radio" ng-repeat="choice in profileQuestion.Choices"> <input id="radio{{choice.Id}}" type="radio" name="Question{{profileQuestion.Id}}" ng-value="choice.Id" ng-disabled="vm.isProcessing" ng-required="profileQuestion.Required" ng-model="vm.profileQuestionsAnswers[profileQuestion.Id].ChoiceId" /> <label for="radio{{choice.Id}}" ng-bind-html="choice.Name"></label> </div> </div> </uib-accordion-group> </uib-accordion></script><script id="/App/public/registration/form.pages/registration.form.custom.html" type="text/ng-template"><div class="form-group" ng-if="vm.formMode === FORM_MODES.new"> <div class="alert alert-info registrationGuide animated fadeInRight listeningGuide" role="alert"> <span ng-bind-html="'RegistrationTellUsAboutListeningRadio' | translate:vm.formModel"></span> </div> </div> <div class="tooltip-used custom-details-tooltip"> <div class="tooltip-group"> <a href="javascript:void(0)" class="rego-helper" tabindex="-1"><i class="fa fa-question-circle"></i></a> <span class="rego-tooltip" translate>RegoToolTipCustomDetails</span> </div> </div> <uib-accordion close-others="vm.formMode !== FORM_MODES.confirm" ng-init="firstOpen = true"> <!-- Exclude 'Race' and 'Area' questions, because they are hardcodedly put in the other pages --> <uib-accordion-group ng-repeat="profileQuestion in vm.profileQuestions | filter: { Name: '!Race' } | filter: { Name: '!Area' } " heading="{{profileQuestion.Text}}" panel-class="panel-default form-group customQuestion {{ {true: 'required'}[profileQuestion.Required] }} {{vm.hasAnswer(vm.profileQuestionsAnswers[profileQuestion.Id]) ? 'answered' : 'ng-invalid'}}" is-open="firstOpen" template-url="/App/public/registration/form.pages/registration.form.custom.template.html"> <div ng-switch="profileQuestion.QuestionType"> <div ng-switch-when="AUDIO"> <div class="form-group"> <a class="play-button" ng-click="!vm.isPlayingAudio(profileQuestion.Audio) ? vm.playAudio(profileQuestion.Audio) : vm.stopAllAudio()" href=""> <div class="progress"> <div class="progress-bar" role="progressbar" ng-attr-style="{{vm.isPlayingAudio(profileQuestion.Audio) ? 'width: 100%; transition-duration: '+profileQuestion.Audio.Seconds+'s' : ''}}"> <span class="play-button-indicator"> <span ng-if="vm.isLoadingAudio(profileQuestion.Audio)"> <span class="glyphicon glyphicon-option-horizontal animated infinite rubberBand"></span> </span> <span class="glyphicon {{vm.isPlayingAudio(profileQuestion.Audio) ? 'glyphicon-stop' : 'glyphicon-play' }}" ng-if="!vm.isLoadingAudio(profileQuestion.Audio)"></span> </span> </div> </div> </a> </div> <div class="form-group animated fadeInDown audioRadio flex-parent" ng-show="vm.hasPlayedAudio(profileQuestion.Audio) || vm.hasAnswer(vm.profileQuestionsAnswers[profileQuestion.Id])"> <div class="radio" ng-repeat="choice in profileQuestion.Choices"> <input id="radio{{choice.Id}}" type="radio" name="Question{{profileQuestion.Id}}" ng-value="choice.Id" ng-disabled="vm.isProcessing" ng-required="profileQuestion.Required" ng-model="vm.profileQuestionsAnswers[profileQuestion.Id].ChoiceId" /> <label for="radio{{choice.Id}}" ng-bind-html="choice.Name"></label> </div> </div> </div> <div ng-switch-when="RADIO" class="flex-parent"> <div class="radio" ng-repeat="choice in profileQuestion.Choices"> <input id="radio{{choice.Id}}" type="radio" name="Question{{profileQuestion.Id}}" ng-value="choice.Id" ng-disabled="vm.isProcessing" ng-required="profileQuestion.Required" ng-model="vm.profileQuestionsAnswers[profileQuestion.Id].ChoiceId" /> <label for="radio{{choice.Id}}" ng-bind-html="choice.Name"></label> </div> </div> <div ng-switch-when="CHECKBOX" class="flex-parent"> <div class="checkbox" ng-repeat="choice in profileQuestion.Choices"> <input id="checkbox{{choice.Id}}" type="checkbox" ng-value="choice.Id" ng-disabled="vm.isProcessing" ng-required="profileQuestion.Required && !vm.hasAnswer(vm.profileQuestionsAnswers[profileQuestion.Id])" ng-model="vm.profileQuestionsAnswers[profileQuestion.Id][choice.Id]" /> <label for="checkbox{{choice.Id}}" ng-bind-html="choice.Name"></label> </div> </div> <div ng-switch-when="TEXT"> <textarea style="resize: none" class="form-control" name="Question{{profileQuestion.Id}}" ng-disabled="vm.isProcessing" ng-required="profileQuestion.Required" ng-model="vm.profileQuestionsAnswers[profileQuestion.Id].Text"></textarea> </div> </div> </uib-accordion-group> </uib-accordion></script><script id="/App/public/registration/form.pages/registration.form.custom.template.html" type="text/ng-template"><div class="panel {{panelClass || 'panel-default'}}"> <div class="panel-heading"> <h4 class="panel-title"> <a href tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading"> <span ng-bind-html="heading"></span> <div class="input-error-msg" translate>ThisFieldIsRequired</div> </a> </h4> </div> <div class="panel-collapse collapse" uib-collapse="!isOpen"> <div class="panel-body" ng-transclude></div> </div> </div> </script><script id="/App/public/registration/form.pages/registration.form.personal.html" type="text/ng-template"><div ng-if="vm.formMode !== FORM_MODES.confirm || vm.rescreenType !== 'Consent'"> <div class="form-group" ng-if="vm.formMode === FORM_MODES.new"> <div class="alert alert-info registrationGuide animated fadeInUp" role="alert"> <b ng-bind-html="'RegistrationWelcome' | translate: vm.channelResources"></b> <br /> <span ng-switch="vm.registrationForm.givenname.$touched && !!vm.formModel.PersonGivenName"> <span ng-switch-when="true"> <span ng-bind-html="'RegistrationNiceToMeetYou' | translate:vm.formModel"></span> </span> <span ng-switch-default translate> RegistrationTellUsMoreAboutYou </span> </span> </div> </div> <div class="form-group" ng-if="vm.hasFacebookAuth && vm.formMode === FORM_MODES.new"> <div><p style="text-align:center;" translate>SignUpFacebookHeader</p></div> <div class="btn btn-facebook fill-form-using-fb-btn animated fadeInUp" ng-click="vm.fillFormUsingFb()" ng-hide="!vm.showFillFormUsingFbButton" ng-disabled="vm.isProcessing" translate> ContinueWithFacebook </div> </div> <div class="form-group givenName-group tooltip-used" ng-if="vm.screener.IncludeGivenName"> <div class="fieldName-group"> <label class="fieldName givenName {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonGivenName] }}" for="givenname" translate>GivenNameLabel</label> <input id="givenname" name="givenname" type="text" class="form-control input-md" ng-required="vm.screener.RequireGivenName" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonGivenName"> </div> <div class="tooltip-group"> <a href="javascript:void(0)" class="rego-helper"><i class="fa fa-question-circle"></i></a> <span class="rego-tooltip" translate>RegoToolTipGivenName</span> </div> <ng-messages for="vm.registrationForm.givenname.$error" ng-if="vm.registrationForm.givenname.$touched" class="input-error-group"> <ng-message when="required"><div class="input-error-msg" translate>ThisFieldIsRequired</div></ng-message> </ng-messages> </div> <div class="form-group" ng-if="vm.screener.IncludeFamilyName"> <div class="fieldName-group"> <label class="fieldName familyname {{ {'true': 'showPlaceHolder'}[!vm.formModel.PersonFamilyName] }}" for="familyname" translate>FamilyNameLabel</label> <input id="familyname" name="familyname" type="text" class="form-control input-md" ng-required="vm.screener.RequireFamilyName" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonFamilyName"> </div> <ng-messages for="vm.registrationForm.familyname.$error" ng-if="vm.registrationForm.familyname.$touched"> <ng-message when="required"><div class="input-error-msg" translate>ThisFieldIsRequired</div></ng-message> </ng-messages> </div> <div class="form-group tooltip-used"> <div ng-show="!vm.usingFacebook" class="fieldName-group"> <label ng-class="['fieldName email', {'true': 'showPlaceHolder'}[!vm.registrationForm.email.$viewValue]]" for="email" translate>EmailAddressLabel</label> <input type="email" id="email" name="email" class="form-control" ng-model="vm.formModel.PersonEmail" ng-required="vm.screener.RequireEmail" ng-disabled="vm.isProcessing || vm.usingFacebook" ng-pattern="vm.emailPattern" /> </div> <div class="tooltip-group"> <a href="javascript:void(0)" class="rego-helper"><i class="fa fa-question-circle"></i></a> <span class="rego-tooltip" translate>RegoToolTipEmailAddress</span> </div> <div ng-if="vm.usingFacebook"class="input-group facebookGroup" title="{{'YouAreUsingYourFacebookEmail' | translate}}"> <label class="fieldName email" translate>EmailAddressLabel</label> <input type="text" class="form-control" readonly="" value="{{vm.formModel.PersonEmail}}"> <span class="input-group-addon email-facebook-verified"><i class="fa fa-facebook-f"></i></span> </div> <ng-messages for="vm.registrationForm.email.$error" ng-if="vm.registrationForm.email.$touched" class="input-error-group"> <ng-message when="required"><div class="input-error-msg" translate>ThisFieldIsRequired</div></ng-message> <ng-message when="email, pattern"><div class="input-error-msg" translate>InvalidEmail</div></ng-message> </ng-messages> </div> <div class="form-group" ng-if="vm.screener.IncludePassword"> <label class="fieldName password {{ {'true': 'showPlaceHolder'}[!vm.formModel.Password] }}" for="password" translate>PasswordLabel</label> <div class="input-group"> <input type="{{vm.showPassword ? 'text' : 'password'}}" id="password" name="password" class="form-control" ng-model="vm.formModel.Password" ng-required="vm.screener.RequireEmail" ng-disabled="vm.isProcessing" /> <span class="input-group-btn"> <button ng-click="vm.showPassword=!vm.showPassword" class="btn btn-default btn-sm btn-show" type="button">{{vm.showPassword ? 'Hide' : 'Show' | translate}}</button> </span> </div> <ng-messages for="vm.registrationForm.password.$error" ng-if="vm.registrationForm.password.$touched"> <ng-message when="required"><div class="input-error-msg" translate>ThisFieldIsRequired</div></ng-message> </ng-messages> </div> <div class="row"> <div class="col-xs-12"> <div class="form-group gender-group " ng-if="vm.screener.IncludeGender"> <div class="tooltip-used"> <label class="fieldName gender" for="gender" translate>GenderLabel</label> <div class="tooltip-group"> <a href="javascript:void(0)" class="rego-helper"><i class="fa fa-question-circle"></i></a> <span class="rego-tooltip" translate>RegoToolTipGender</span> </div> </div> <div class="radioGroup"> <div class="radio male"> <input type="radio" name="gender" id="gender-M" value="M" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonPersonalGender" ng-required="true"> <label for="gender-M" translate>Male</label> </div> <div class="radio female"> <input type="radio" name="gender" id="gender-F" value="F" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonPersonalGender" ng-required="true"> <label for="gender-F" translate>Female</label> </div> <div class="radio other"> <input type="radio" name="gender" id="gender-O" value="O" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonPersonalGender" ng-required="true"> <label for="gender-O" translate>Other</label> </div> <div class="radio preferNotToSay"> <input type="radio" name="gender" id="gender-P" value="P" ng-disabled="vm.isProcessing" ng-model="vm.formModel.PersonPersonalGender" ng-required="true"> <label for="gender-P" translate>PreferNotToSay</label> </div> </div> <ng-messages for="vm.registrationForm.gender.$error" ng-if="vm.registrationForm.gender.$touched" class="input-error-group"> <ng-message when="required"><div class="input-error-msg" translate>ThisFieldIsRequired</div></ng-message> </ng-messages> </div> </div> <div class="col-xs-12" ng-if="vm.screener.IncludeDateOfBirth"> <div class="form-group dob-group ng-touched tooltip-used"> <label class="fieldName dob" for="dob" translate>DateOfBirthLabel</label> <div class="dob-input-group"> <as-date-input name="dob" ng-class="form-control" ng-disabled="vm.isProcessing" ng-required="vm.screener.RequireDateOfBirth" ng-model="vm.dateOfBirth" ignore-timezone="true" past-date-only="true" date-time-mask-parts="vm.dateOfBirthMaskParts" ng-change="vm.onDateOfBirthChange()"></as-date-input> </div> <div class="tooltip-group"> <a href="javascript:void(0)" class="rego-helper"><i class="fa fa-question-circle"></i></a> <span class="rego-tooltip" translate>RegoToolTipDateOfBirth</span> </div> <ng-messages for="vm.registrationForm.dob.$error" ng-if="vm.registrationForm.dob.$touched" class="input-error-group"> <ng-message when="valid"><div class="input-error-msg" translate>PleaseSpecifyValidDate</div></ng-message> <ng-message when="required"><div class="input-error-msg" translate>ThisFieldIsRequired</div></ng-message> </ng-messages> </div> </div> <!-- This 'Race' custom question is hardcodedly put in here because they fit better in Personal page --> <div class="col-xs-12" ng-if="(vm.profileQuestions | filter: { Name: 'Race', QuestionType: 'RADIO' }).length"> <uib-accordion close-others="vm.formMode !== FORM_MODES.confirm" ng-init="firstOpen = true"> <uib-accordion-group ng-repeat="profileQuestion in vm.profileQuestions | filter: { Name: 'Race', QuestionType: 'RADIO' }" heading="{{profileQuestion.Text}}" panel-class="panel-default form-group customQuestion {{ {true: 'required'}[profileQuestion.Required] }} {{vm.hasAnswer(vm.profileQuestionsAnswers[profileQuestion.Id]) ? 'answered' : 'ng-invalid'}}" is-open="firstOpen" template-url="/App/public/registration/form.pages/registration.form.custom.template.html"> <div class="flex-parent"> <div class="radio" ng-repeat="choice in profileQuestion.Choices"> <input id="radio{{choice.Id}}" type="radio" name="Question{{profileQuestion.Id}}" ng-value="choice.Id" ng-disabled="vm.isProcessing" ng-required="profileQuestion.Required" ng-model="vm.profileQuestionsAnswers[profileQuestion.Id].ChoiceId" /> <label for="radio{{choice.Id}}" ng-bind-html="choice.Name"></label> </div> </div> </uib-accordion-group> </uib-accordion> </div> </div> </div> <!--<div class="row" ng-if="vm.formMode == FORM_MODES.new || vm.rescreenType === 'Everything' || vm.rescreenType === 'Consent'">--> <div class="row"> <div class="col-xs-12"> <div class="form-group optins-group"> <div ng-bind-html="'ConsentHeader' | translate:vm.channelResources"></div> <div ng-if="vm.screener.IncludeOptInAcceptedTerms" class="optin-box"> <div class="checkbox"> <input id="optIn-terms" type="checkbox" name="optInsAcceptedTerms" value="" ng-model="vm.formModel.OptInsAcceptedTerms" ng-required="vm.screener.RequireOptInAcceptedTerms" /> <label for="optIn-terms" ng-bind-html="(vm.getConsentingAuthority() === CONSENTING_AUTHORITY.guardian ? 'OptInsAcceptedTermsGuardian' : 'OptInsAcceptedTerms') | translate:vm.channelResources"></label> </div> <ng-messages for="vm.registrationForm.optInsAcceptedTerms.$error" ng-if="vm.registrationForm.optInsAcceptedTerms.$touched"> <ng-message when="required"><div class="input-error-msg" translate>ThisFieldIsRequired</div></ng-message> </ng-messages> </div> <div ng-if="vm.screener.IncludeOptInSurveys" class="optin-box"> <div class="checkbox" ng-if="vm.screener.RequireOptInSurveys"> <input id="optIn-surveys" type="checkbox" name="optInsSurveys" value="" ng-model="vm.formModel.OptInsSurveys" required /> <label for="optIn-surveys" ng-bind-html="(vm.getConsentingAuthority() === CONSENTING_AUTHORITY.guardian ? 'OptInsSurveysGuardian' : 'OptInsSurveys') | translate:vm.channelResources"></label> </div> <div ng-if="!vm.screener.RequireOptInSurveys"> <div ng-bind-html="(vm.getConsentingAuthority() === CONSENTING_AUTHORITY.guardian ? 'OptInsSurveysGuardian' : 'OptInsSurveys') | translate:vm.channelResources"></div> <div class="radio"> <input id="optIn-surveysYes" type="radio" name="optInsSurveys" ng-value="true" ng-model="vm.formModel.OptInsSurveys" required /> <label for="optIn-surveysYes" translate>Yes</label> </div> <div class="radio"> <input id="optIn-surveysNo" type="radio" name="optInsSurveys" ng-value="false" ng-model="vm.formModel.OptInsSurveys" required /> <label for="optIn-surveysNo" translate>No</label> </div> </div> </div> <ng-messages for="vm.registrationForm.optInsSurveys.$error" ng-if="vm.registrationForm.optInsSurveys.$touched"> <ng-message when="required"><div class="input-error-msg" translate>ThisFieldIsRequired</div></ng-message> </ng-messages> <div ng-if="vm.screener.IncludeOptInNewsletters" class="optin-box"> <div class="checkbox" ng-if="vm.screener.RequireOptInNewsletters"> <input id="optIn-newsletters" type="checkbox" name="optInsNewsletters" value="" ng-model="vm.formModel.OptInsNewsletters" required /> <label for="optIn-newsletters" ng-bind-html="'OptInsNewsletters' | translate:vm.channelResources"></label> </div> <div ng-if="!vm.screener.RequireOptInNewsletters"> <div ng-bind-html="'OptInsNewsletters' | translate:vm.channelResources"></div> <div class="radio"> <input id="optIn-newslettersYes" type="radio" name="optInsNewsletters" ng-value="true" ng-model="vm.formModel.OptInsNewsletters" required /> <label for="optIn-newslettersYes" translate>Yes</label> </div> <div class="radio"> <input id="optIn-newslettersNo" type="radio" name="optInsNewsletters" ng-value="false" ng-model="vm.formModel.OptInsNewsletters" required /> <label for="optIn-newslettersNo" translate>No</label> </div> </div> </div> <ng-messages for="vm.registrationForm.optInsNewsletters.$error" ng-if="vm.registrationForm.optInsNewsletters.$touched"> <ng-message when="required"><div class="input-error-msg" translate>ThisFieldIsRequired</div></ng-message> </ng-messages> <div ng-if="vm.panels.length" ng-repeat="panel in vm.panels"> <ng-form name="optInsPanelForm"> <div class="optin-box"> <div>{{'SignMeUpToPanel' | translate: {PanelName: panel.Name} }}</div> <div class="radio"> <input id="optIn-panel{{panel.Id}}Yes" type="radio" name="optInsPanel{{panel.Id}}" ng-value="true" ng-model="vm.formModel.Panels[panel.Id]" required/> <label for="optIn-panel{{panel.Id}}Yes" translate>Yes</label> </div> <div class="radio"> <input id="optIn-panel{{panel.Id}}No" type="radio" name="optInsPanel{{panel.Id}}" ng-value="false" ng-model="vm.formModel.Panels[panel.Id]" required/> <label for="optIn-panel{{panel.Id}}No" translate>No</label> </div> </div> <ng-messages for="optInsPanelForm['optInsPanel' + panel.Id].$error" ng-if="optInsPanelForm['optInsPanel' + panel.Id].$touched"> <ng-message when="required"><div class="input-error-msg" translate>ThisFieldIsRequired</div></ng-message> </ng-messages> </ng-form> </div> <div class="form-group consent-footer" ng-if="'ConsentFooter' | translate: vm.channelResources"> <div class="alert alert-warning" ng-bind-html="'ConsentFooter' | translate: vm.channelResources"></div> </div> </div> </div> </div></script><script id="/App/public/resetpassword/newpassword.html" type="text/ng-template"><section data-ng-controller="NewPasswordCtrl as vm" class="login"> <section class="container"> <div class="row row-centered"> <div class="col-md-11 col-centered"> <div id="logo"> </div> <div class="loginForm"> <form class="form-signin" method="post" role="form" ng-submit="vm.send()"> <div class="form-group"> <h2 translate>ResetPassword</h2> </div> <div class="form-group" ng-if="!vm.resetSuccess"> <div class="login-glyph clear"><i class="fa fa-lock fa-fw fa-lg"></i> </div> <input type="password" id="password" class="form-control" autofill placeholder="{{'NewPassword'|translate}}" ng-model="vm.resetPasswordModel.NewPassword"/> </div> <div class="form-group" ng-if="!vm.resetSuccess"> <div class="login-glyph clear"> <i class="fa fa-lock fa-fw fa-lg"></i> </div> <input type="password" id="confirmpassword" class="form-control" autofill placeholder="{{'ConfirmPassword'|translate}}" ng-model="vm.resetPasswordModel.ConfirmPassword"/> </div> <div class="form-group" ng-if="vm.resetSuccess"> <h5 translate>ResetPasswordSuccess</h5> </div> <div class="signInMethods"> <div class="btnEdge pull-right signIn" ng-if="!vm.resetSuccess"> <button class="btn btn-lg btn-primary bvlBtn" type="submit" ng-disabled="!vm.resetPasswordModel.NewPassword || vm.resetPasswordModel.NewPassword != vm.resetPasswordModel.ConfirmPassword" translate>ResetPassword</button> </div> <div class="btnEdge pull-right signIn"> <button class="btn btn-lg btn-success bvlBtn" type="button" ui-sref="login" translate>Back</button> </div> </div> </form> </div> </div> </div> </section> </section> </script><script id="/App/public/resetpassword/resetpassword.form.html" type="text/ng-template"><div class="loginForm"> <div ng-controller="ResetPasswordFormCtrl as vm" class="passRecover"> <form class="form-signin" method="post" role="form" autofill-submit="vm.request(vm.email)" name="vm.form"> <div class="form-group"> <h2 translate>ResetPassword</h2> <h5 ng-if="!vm.requestSuccess" translate>PleaseEnterEmailBelow</h5> <h5 ng-if="vm.requestSuccess" translate>ResetPasswordLinkHasBeenEmailed</h5> </div> <div class="form-group" ng-if="!vm.requestSuccess"> <div class="login-glyph"><i class="fa fa-envelope fa-fw fa-lg"></i></div> <input type="email" id="email" class="form-control" autofill placeholder="{{'EmailAddress'|translate}}" name="email" ng-model="vm.email" ng-disabled="vm.isProcessing" required /> </div> <div class="btnEdge sendEmail" ng-if="!vm.requestSuccess"> <button class="btn btn-lg btn-primary col-xs-12 bvlBtn" type="submit" ng-disabled="vm.isProcessing || vm.form.email.$invalid" translate>SendEmail</button> </div> </form> </div> </div></script><script id="/App/public/resetpassword/resetpassword.html" type="text/ng-template"><section class="login" ng-controller="ResetPasswordCtrl as vm"> <section class="container"> <div class="row row-centered"> <div class="col-md-11 col-centered"> <div id="logo"> </div> <div class="loginForm"> <div ng-include="'/App/public/resetpassword/resetpassword.form.html'" class="forgotPassContent"></div> <div class="forgotPass col-xs-12"> <div class="backBtn"> <span class="btnEdge"> <span class="bvlBtn btnSqr"> <a href="#/" translate>Back</a> </span> </span> </div> </div> </div> <div class="showFaq col-xs-12"> <span class="btnEdge"> <span class="bvlBtn btnSqr"> <a href="" ng-click="vm.showFaq()" translate>FAQ</a> </span> </span> </div> </div> </div> </section> </section></script> <script>var appConfig = [{"devMode":false,"failMode":false,"title":"ONE FM VIP","themes":{"url":"https://web.archive.org/web/20200411212839/https://service.airtimesurveys.com/Content/themes/external/apps/v2/{{AppCode}}/{{FilePath}}","appOverride":null},"resources":{"CultureName":"en-SG","ShortDatePattern":"d/M/yyyy","DateSeparator":"/","Strings":{"AddMore":"Add more","Alert":"Alert","AlreadyAMemberLoginNow":"Already a member? Click here to login","AlreadyCompletedSurvey":"You have already completed this survey","ANewSurveyIsAvailable":"A new survey is available!","Artist":"Artist","AudioPlayerError":"AudioPlayer error:","Back":"Back","Begins":"Begins","BranchToQuestion":"Branch to: {{branchQuestionName}}","Cancel":"Cancel","CantRememberPassword":"Can't remember your password?","CasualSurveyDoneShareOnFacebook":"Your most voted song is {{songTitle}} by {{songArtist}}! Share it on your Facebook?","CasualSurveyFacebookShareInvite":"What's your top pick? Vote now to have your say and WIN! See {ChannelName} website for details.","CasualSurveyFacebookShareInviteTitle":"My {ChannelName} top pick is {SongTitle} by {SongArtist}!","CheckEmailToConfirmAndActivateAccount":"Please check your email to confirm and activate your account","CheckInbox":"Check Inbox","City":"City","CityLabel":"I live in the City","Close":"Close","Closes":"Closes","ConfirmPassword":"Confirm Password","ConfirmPasswordMismatch":"Confirmation password didn't match","ConfirmYourEmail":"Confirm your email","ConsentFooter":"<ul>\n<li>Read our <a href=\"{{ChannelPrivacyPolicyUrl}}\" target=\"_blank\">Privacy Notice</a> for more information on how we use and collect your personal information.</li>\n<li>You can change your mind at anytime by unsubscribing from any of our email communications, through the survey platform or by <a href=\"mailto:support@airtimesurveys.com\" target=\"_blank\">contacting us</a>.</li>\n</ul>","ConsentHeader":"{{null}}","ContactDetails":"Contact Details","ContinueWithFacebook":"Continue with Facebook","Country":"Country","Dashboard":"Dashboard","DateOfBirth":"Date Of Birth","DateOfBirthLabel":"I was born","DaytimePhone":"Daytime Phone","DaytimePhoneLabel":"Call my daytime phone","DetailsSavedTitle":"Saved!","Done":"Done","EmailAddress":"Email Address","EmailAddressLabel":"You can email me at","EmailAddressNotFound":"Email address not found","EmailChangedPleaseConfirm":"We have sent a confirmation email to <b>{{PersonEmail}}</b>. Until you've confirmed it, your account's email will remain unchanged","EmailConfirmed":"Email Confirmed","EmailConfirmedYouCanNowLogin":"You can now login with your new email.","EmailIncorrect":"The Email you have entered is not registered","EmailIsAlreadyRegistered":"This email is already registered","EnterEmailAddress":"Enter email address","ErrorLoadingAudio":"Error loading audio","ErrorPlayingAudio":"Error playing audio","ErrorSendingRegistrationEmail":"There was a problem sending registration email, please try again!","ErrorSyncingAnswers":"There was an error getting/setting cached, unsynced answers. This may be due to local storage being disabled or full on your device. If you're using Private Browsing mode in Safari on iOS, please disable it.","ExpandFullArticle":"Expand full article","Facebook":"Facebook","FacebookAccessTokenFailedValidation":"Facebook access token failed to validate","FacebookEmailAddressMissing":"Unable to authenticate using Facebook because email address is unavailable","FacebookEmailNotFoundInAirtime":"Ensure your Facebook email is the same as your survey membership","FacebookEmailNotRegistered":"Your Facebook email is not yet registered as member","FacebookIosInAppBrowserNotSupportedMessage":"Please open the Menu below and choose '<u>Open in Safari</u>' <i class='pull-right fa fa-chevron-down'></i>","FailedPasswordRecovery":"Failed to request password recovery:","FailedToLoadSession":"Failed to load session","FailedToSaveSession":"Failed to save session","FailedToSyncAnswers":"Oops, there's a delay sending your answers. Don't worry, we'll continue to resend periodically.","FamilyName":"Family Name","FamilyNameLabel":"And my family name is","FAQ":"FAQ","FAQAudioPlayerErrorA":"You will likely see this error if you are using the built-in web browser on an old version of Android or Apple iOS, or using an old desktop web browser and don't have Flash installed. See the <a target=\"faq#supportedBrowsers\">list of supported browsers</a>.<br/>It is highly recommend that you use <a target='_blank' href='https://web.archive.org/web/20200411212839/https://www.google.com/chrome'>Chrome</a>, or update your preferred browser to a recent version if at all possible.","FAQAudioPlayerErrorQ":"I keep getting an error: \"Audio Player Error: unable to play audio on this particular browser or device.\"","FAQBrowserSupportVoiceRecordingBtnA":"Below is the list of supported browsers for the “Record Voice Message” button. If you are experiencing issues, try updating your browser to the latest version. Minimum supported versions are:\n<ul>\n<li>Microsoft Edge version 12</li>\n<li>Firefox version 36</li>\n<li>Google Chrome version 53</li>\n<li>Safari version 11</li>\n<li>Opera version 40</li>\n<li>Chrome for Android version 69</li>\n<li>Firefox for Android version 62</li>\n<li>Opera Mobile version 46</li>\n</ul>","FAQBrowserSupportVoiceRecordingBtnQ":"Which browsers support the “Record Voice Message” button?","FAQCantLoginA":"Go back to your email and double check that you have used the correct username and password. Alternatively, you can click the link in the email which will log you in automatically.<br/>If neither of these options work, it could be that your browser is unsupported (see <a target='faq#supportedBrowsers'>supported browsers</a>). Update to the latest browser version, or click the link in the footer of your email which will take you back to the Classic website which supports older desktop browsers.","FAQCantLoginQ":"I can't log in","FAQCantSeeSliderA":"The web app may not have finished loading properly, or your internet connection has dropped out. Try refreshing the page.<br/>Alternatively, the graphics may have been updated since you last logged in. Try <a target=\"faq#howDoIClearCache\">clearing your cache</a>.","FAQCantSeeSliderQ":"I can't see the slider","FAQCantSeeVoiceRecordingBtnA":"Sometimes a question may prompt you to record your response instead of typing it. If you do not see the “Record Voice Message” button (as pictured below) then you may be using an <a target=\"faq#browserSupportVoiceRecordingBtn\">unsupported device and/browser</a>. We recommend: updating your browser to the latest version, using a different browser to complete the survey, or typing your response instead.<br/><img class=\"img-responsive\" src=\"/Content/App/Images/FAQ/at-voice-button.JPG\" />","FAQCantSeeVoiceRecordingBtnQ":"Why can’t I see the “Record Voice Message” button?","FAQClickedEmailLinkButCantLoginA":"There could have been an error when you clicked the link. Copy the username and password details from the email into the login page. If you still can't log in your browser may be incompatible with the web app (see <a target='faq#supportedBrowsers'>supported browsers</a>).","FAQClickedEmailLinkButCantLoginQ":"I clicked on the link in the email but I get errors and can't log in","FAQDisabledVoiceRecordingBtnA":"If you see a disabled “Record Voice Message” button (as pictured below) it is likely you told the browser it did not have permission to access your microphone. You need to enable browser permission to access your microphone before you can use this feature. <br/><img class=\"img-responsive\" src=\"/Content/App/Images/FAQ/at-voice-button-disabled.JPG\" /><br/>\nBelow is a list of links highlighting how to change your browser permissions:\n<ul><li><a target=\"_blank\" href=\"https://support.mozilla.org/en-US/questions/1235882#answer-1160295\">Firefox</a></li>\n<li><a target=\"_blank\" href=\"https://support.google.com/chrome/answer/2693767?hl=en\"> Google Chrome</a></li>\n<li><a target=\"_blank\" href=\"https://support.microsoft.com/en-au/help/4468232/windows-10-camera-microphone-and-privacy-microsoft-privacy\">Microsoft Edge</a></li>\n<li><a target=\"_blank\" href=\"https://support.apple.com/en-au/guide/safari/websites-ibrwe2159f50/mac\">Safari</a></li>\n<li><a target=\"_blank\" href=\"https://www.imore.com/how-manage-privacy-and-security-settings-safari-iphone-and-ipad#camera\">iOS Safari</a></li></ul> Alternatively, you can <a target=\"faq#howDoIClearCache\">reset your browser cache</a> (ensure you reset site settings), so that the browser asks permission to access your microphone again.","FAQDisabledVoiceRecordingBtnQ":"Why is the “Record Voice Message” button disabled?","FAQFacebookAppMobileStuckLoadingA":"<ol>\n<li>In the Facebook App on your phone, go to App Settings (towards the bottom of Facebook's menu)</li>\n<li>Turn on the 'Always open links with external browser' option</li>\n<li>Try reopening the link again</li>\n</ol>","FAQFacebookAppMobileStuckLoadingQ":"I opened the Facebook App on my phone, but it gets stuck on the Loading screen.","FAQFacebookErrorChangingStateA":"Try <a target=\"faq#resetFacebookAppPermission\">resetting the Facebook App permission</a>","FAQFacebookErrorChangingStateQ":"I'm using the Facebook App, and keep seeing the red message \"Error changing state\"","FAQFacebookLoginNothingHappenedA":"In order for the Facebook login to work you must ensure that you are currently logged into Facebook on the device that you are using. Once you are logged into Facebook you can click the Facebook button on the Airtime login page. Ensure that you grant the Facebook App permission when it first prompts you, and then you will automatically be signed in.<br/><br/>If problems still occur, this may be due to Facebook and Airtime emails not matching, or your Facebook privacy settings withholding your email address. If they do not match, you will have to log into Airtime manually, or click on the link in your email.<br/><br/>Otherwise, you can <a href=\"https://www.facebook.com/help/162801153783275\" target=\"_blank\">update your Facebook email with your Airtime email</a>, and set it as your <b>primary email address</b>.<br/>Or, if this still doesn't work, try <a class=\"\" target=\"faq#resetFacebookAppPermission\">resetting the Facebook App permission.</a>","FAQFacebookLoginNothingHappenedQ":"I tried to use the Facebook login but nothing happened","FAQHowDoIClearCacheA":"Some problems may occur if your device is caching old information. Try logging out of the application and refreshing the page. If this still doesn't solve the problem you might have to \"clear the cache\". Below is a list of links highlighting how to clear your cache for each browser:\n<ul>\n<li><a target=\"_blank\" href=\"https://support.mozilla.org/en-US/kb/how-clear-firefox-cache\">Firefox</a></li>\n<li><a target=\"_blank\" href=\"https://support.google.com/chrome/answer/95582?hl=en\">Chrome</a></li>\n<li><a target=\"_blank\" href=\"http://www.refreshyourcache.com/en/internet-explorer-11/\">Internet Explorer</a></li>\n<li><a target=\"_blank\" href=\"https://support.apple.com/kb/PH5041\">Safari</a></li>\n<li><a target=\"_blank\" href=\"https://discussions.apple.com/message/22166627\">iOS Safari</a></li>\n<li><a target=\"_blank\" href=\"http://androidadvices.com/remove-browser-history-cache-form-data-in-android-devices/\">Android Browser</a></li>\n</ul>","FAQHowDoIClearCacheQ":"How do I clear my cache?","FAQOnlySeeSpinnerNothingHappensA":"<img class=\"img-responsive\" src=\"/Content/App/Images/FAQ/spinner.jpg\" /><br/>Check that your internet connection hasn't dropped out and refresh the page.<br/>Otherwise, the website may have updated since you last used it. Try <a target='faq#howDoIClearCache'>clearing your cache</a> to see if that solves the problem. If these don't work, you probably need to update your browser.","FAQOnlySeeSpinnerNothingHappensQ":"All I see is a spinner and nothing happens","FAQPrivacyPolicyA":"Please refer to the <a href=\"https://airtimesurveys.com/privacy.aspx\" target=\"_blank\" title=\"View Privacy Policy\">Privacy Policy</a> for information on how your personal data is collected, used and/or processed by Airtime Surveys.","FAQPrivacyPolicyQ":"How is my personal data collected, used and/or processed by Airtime Surveys?","FAQResetFacebookAppPermissionA":"<ol>\n<li>Open up your <b><a target=\"_blank\" href=\"https://www.facebook.com/settings?tab=applications\">Facebook App settings</a></b></li>\n<li>Find the App from the list<br/><img src=\"Content/App/Images/FAQ/facebook-app-settings.jpg\" class=\"img-responsive\" /><br/></li>\n<li>Click the <b>X</b> button and click <b>Remove</b> to delete the app</li>\n<li>Try opening the App again. Make sure you select <b>Okay</b> when the app asks for your permission. <img src=\"Content/App/Images/FAQ/facebook-app-permission.jpg\" class=\"img-responsive\" /></li>\n</ol>","FAQResetFacebookAppPermissionQ":"How do I reset the Facebook App permission?","FAQSongsWontPlayA":"<i>Before you start the survey</i>, make sure you have volume settings turned up on your device. Check if the audio on your device is working properly and other audio-enabled apps are making sound. Also, a rare bug in the Safari Mobile browser can allow other apps or webpages to trigger distorted audio playback. Close other background applications and any other audio or video enabled web pages, then reload the app.<br/>If you're on an <b>iOS device</b>, make sure that the Silent mode switch on the side of the device is not turned on. If you change this setting, refresh the page before starting the survey as the browser will remember your previous settings.<br/><img src=\"/Content/App/Images/FAQ/iphone-silent-switch.jpg\" class=\"img-responsive\" /><br/><br/><b>Still not hearing anything?</b><br/>Check your internet connection hasn't dropped out since you finished the last question. If there is a spinner on the screen, tap the display. On some devices the app needs to be prompted to resume loading the audio if there has been an interruption. <br/>If this doesn't solve your problem close the browser, go back to the email you received and click the link again. You will be brought back to the last question that was saved.resx","FAQSongsWontPlayQ":"The songs won't play and I can't hear audio","FAQStillStuckA":"We're sorry for the inconvenience. You can report the issue to our support team at <a href=\"mailto:support@airtimesurveys.com\" target=\"_blank\">support@airtimesurveys.com</a>. To help us identify your problems faster, it will be better if you could also send us the screenshot of the problem/page, as detailed a description as you can, and the best way to contact you.<br/><a href=\"http://www.take-a-screenshot.org/\" target=\"_blank\">How to take a screenshot.</a><br/><br/>We appreciate your input and hope to give you the best experience on our survey platform!","FAQStillStuckQ":"I'm still stuck","FAQSupportedBrowsersA":"Currently all modern desktop browsers are supported, including <b>Chrome</b>, <b>Firefox</b>, <b>Opera</b>, <b>Safari</b>, <b>Edge</b> and <b>IE11+</b>. On smart devices the app supports: <b>Chrome</b> & <b>Firefox on Android</b>; and <b>Safari</b> & <b>Chrome on iOS 6+</b>. To a limited extent, some features are supported in <b>Android native browser</b> and <b>Opera Mobile</b> but some older browser versions are not. If you are experiencing issues, you can try updating your browser to the latest version.<br/><br/>We typically recommend <a target='_blank' href='https://web.archive.org/web/20200411212839/https://www.google.com/chrome'>Chrome</a> browser for better experience and stability.","FAQSupportedBrowsersQ":"Which web browsers are supported?","FAQWhatIsVoiceRecordingBtnA":"The “Record Voice Message” button allows you to verbally record your response to the survey question, rather than typing it. It allows you to tell the radio station what you really think. Your recording may be used on air for station promotional material and research purposes. Check the radio stations Privacy Policy for details.","FAQWhatIsVoiceRecordingBtnQ":"What is the “Record Voice Message” button and why do I see it?","Female":"Female","Gender":"Gender","GenderLabel":"I am","GivenName":"Given Name","GivenNameLabel":"Hi, my given name is","HangOnStillSavingAnswers":"Hang on. We're still saving your answers...","HaventCompletedSurvey":"You haven't completed the survey.","Help":"Help","Hide":"Hide","IAgree":"I agree","IAgreeGuardian":"My parent/legal-guardian agrees","IDislikeIt":"I Dislike It","IDontKnowIt":"I don't know it","IHateIt":"I Hate It","ILikeIt":"I Like It","ILoveIt":"I Love It","ImOverNYearsOld":"I am over {{age}} years old","IncorrectEmailAddressOrPassword":"Incorrect email address or password","IncorrectLoginCredentials":"Incorrect login credentials","InvalidAuthenticationTicket":"Invalid or expired ticket","InvalidEmail":"Invalid email","ItsOkay":"It's Okay","IWouldLikeToParticipateInSurveys":"I would like to receive invitations to do surveys","Links":"Links","LittleTired":"Little Tired","Loading":"Loading ...","LoginFailure":"Failed to login:","LoginSuccess":"Logged in successfully","LoginWithFacebook":"Login with Facebook","Logout":"Logout","Male":"Male","Memberships":"Memberships","Menu":"Menu","MessageSuccessfullySent":"Your message has been successfully sent!","MicrophoneAccessDenied":"You have denied access to microphone. Please allow access in order to use audio recording.","MissingScoresForSong":"Missing scores for song:","MissingValidFinalScoreForSong":"Missing valid final score for song:","MobilePhone":"Mobile Phone","MobilePhoneLabel":"Call my mobile","MoveSlider":"Move Slider to Rate Song","MyDetails":"My Details","NewPassword":"New Password","NewPasswordTooShort":"Password must be at least 4 characters in length","NewSurveyIsActiveClickHereToDoIt":"There's a new survey currently underway. Click here to do it.","Next":"Next","NextSong":"Next Song","No":"No","NoActiveSurveys":"There are currently no active surveys that you have not yet completed. Check back again later.","NoAudioSupportInBrowser":"Unable to play audio on this particular browser or device","NoMemberships":"Your account is not currently subscribed for anything!","NoMembershipsInChannel":"You do not currently have any active memberships in this channel.","NoSongsInLastCompletedSurvey":"There were no songs in your last completed survey from","NotAMember":"Not a member?","NotAvailable":"N/A","NotTired":"Not Tired","NotYetCompletedRecentSurvey":"You have not yet completed any surveys.","NowPlaying":"Now Playing","OneOrMoreActiveSurveys":"One or more surveys are currently underway, select a Start button below to begin right now!","OneOrMoreActiveSurveysCompletePage":"It looks like there are more surveys available! Hit the Start button to begin right now.","OptInsAcceptedTerms":"I agree to <a href=\"{{ChannelTermsOfServiceUrl}}\" target=\"_blank\">Terms & Conditions</a>.","OptInsAcceptedTermsGuardian":"My parent/legal-guardian agrees to the <a href=\"{{ChannelTermsOfServiceUrl}}\" target=\"_blank\">Terms & Conditions</a>.","OptInsNewsletters":"I would like to receive the {{ChannelName}} newsletters.","OptInsPrizeDraw":"I agree to <a href=\"{{ChannelTermsOfServiceUrl}}\" target=\"_blank\">Terms & Conditions</a> and wish to be contacted if I win.","OptInsPrizeDrawGuardian":"My parent/legal-guardian agrees to the <a href=\"{{ChannelTermsOfServiceUrl}}\" target=\"_blank\">Terms & Conditions</a> and gives consent for me to be contacted if I win.","OptInsSurveys":"I agree for my data to be used for research purposes. Feel free to email me invitations to participate in surveys and competitions.","OptInsSurveysGuardian":"I agree for my data to be used for research purposes. Feel free to email me invitations to participate in surveys and competitions.","OrSignInWith":"Or sign in with:","Other":"Other","Password":"Password","PasswordLabel":"My password will be","PlaylistDoesNotContainSongs":"This playlist does not contain any songs.","PleaseEnterEmailBelow":"Please enter your email address below.","PleaseSelectACountry":"-- I live in the Country --","PleaseSpecify":"Please Specify","PleaseSpecifyValidDate":"Please specify a valid date","PleaseWait":"Please wait ...","PopulateFormWithFacebook":"Save time, sign up with <b>Facebook</b> <i class=\"fa fa-facebook-official\"></i>","PostalCode":"Post Code","PostalCodeLabel":"My post code is","PreferNotToSay":"Prefer not to say","Preview":"Preview","PreviewBack":"Preview Back","PreviewNext":"Preview Next","PrivacyPolicy":"Privacy Policy","ProblemSendingMessage":"There was a problem sending your message, please try again later!","ProblemSendingReferrals":"There was a problem sending the referral emails, please try again later!","ProblemSubmittingForm":"There was a problem submitting the form, please try again later!","Processing":"Processing...","RecordAgain":"Record again","RecordVoiceMessage":"Record voice message","ReferralsSuccessfullySent":"Referral emails have been successfully sent!","Register":"Register","RegisterHere":"Register Here","RegistrationCompleted":"Registration Completed!","RegistrationConfirmYourDetails":"Are all of your details below correct?","RegistrationContact":"Contact","RegistrationDoneTitle":"Woohoo!<br/>Welcome, <b>{{GivenName}}</b>!","RegistrationListening":"Listening","RegistrationNiceToMeetYou":"Nice to meet you, <b>{{PersonGivenName}}</b>","RegistrationPersonal":"Personal","RegistrationTellUsAboutListeningRadio":"<b>Great! You're almost there!</b> <br/>Now tell us more about how you would usually listen to radio.","RegistrationTellUsMoreAboutYou":"First, tell us a little more about yourself.","RegistrationTellUsWhereYouLive":"<b>Too easy, {{PersonGivenName}}!</b> <br/>Now tell us where you live.","RegistrationUnavailable":"Sorry, registration is not available at this time.","RegistrationWelcome":"Welcome! Thanks for deciding to join us!","RegoToolTipContactDetails":"We need your contact details so we can get in touch about awesome prizes, events and exclusive content.","RegoToolTipContactNumberCasualONLY":"Tell us your number so we can contact you if you win.","RegoToolTipCustomDetails":"Let us know a little more about you and how you use radio so we can make decisions based on the opinions of people with similar experiences.","RegoToolTipDateOfBirth":"Your Date of Birth will help us appropriately attribute the opinions of people similar in age.","RegoToolTipEmailAddress":"We need your email address so we can contact you.","RegoToolTipGender":"Tell us your Gender so that the opinions of people just like you are correctly represented in the survey results.","RegoToolTipGivenName":"Let us know your name so we can address you.","RemovingExpiredAnswers":"Removing unsynced answers for expired survey","ResendActivationEmail":"Resend activation email","ResetPassword":"Reset Password","ResetPasswordLinkHasBeenEmailed":"An email to containing a link to reset your password has been sent to you.","ResetPasswordSuccess":"Your new password has been successfully saved!","Resume":"Resume","Search":"Search","SelectAll":"Select all","SelectChannelToJoin":"Select the station you wish to join","Selected":"Selected","SelectMembershipsToUnsubFrom":"Select memberships that you want to unsubscribe from:","Send":"Send","SendEmail":"Send Email","SendingAnswers":"Sending Answers ...","Share":"Share","Show":"Show","SignIn":"Sign In","SignUpFacebookHeader":"In a hurry?","SomeoneWasAttemptingToUseYourEmail":"Someone was attempting to use your email","SorrySurveyHasEnded":"Sorry, the survey has already ended.","Start":"Start","State":"State ","StateLabel":"In the State of","StopRecording":"Stop recording","StreetAddress":"Street Address","Submit":"Submit","Suburb":"Suburb","SurveyClosed":"Survey Closed","SurveyCompleted":"Survey Completed","SurveyHasNotStarted":"Survey has not yet started","TermsOfService":"Terms of Service","ThankYouFacebookRegistrationDone":"Thanks for registering!<br/>\n\nYou can now start logging in using your Facebook account.","ThankYouForYourAnswer":"Thank you, we've received your answer. Please press Next to continue the survey.","ThankYouRegistrationDonePleaseActivate":"Thanks for registering!<br/>\n\nWe've sent you a confirmation email, you just need to click on the link in the email to verify your email address.\n\nCheck your junk mail folder if you haven't received it within a few minutes.","ThisFieldIsRequired":"This field is required","Title":"Title","ToggleMenu":"Toggle menu","TouchOrClickWhenReady":"Please touch or click when you are ready ...","Undo":"Undo","Unfamiliar":"Unfamiliar","UnsubFeedback1":"Moving away","UnsubFeedback2":"Different email","UnsubFeedback3":"Never win","UnsubFeedback4":"Listen to different stations","UnsubFeedback5":"Received too many emails from {{AppTitle}}","UnsubFeedbackOther":"Other...","Unsubscribe":"Unsubscribe","UnsubscribeCompletedMessage":"You have successfully unsubscribed.","UnsubscribeCompletedTitle":"You'll be missed.","UnsubscribeMessage":"<p class=\"text-center\">\n <a data-as-play-audio=\"https://airtime.azureedge.net/media/hooks/17467-908129D743550519CED21018269B800E.m4a\" autoplay=\"true\" playing-text=\"🎵 Stop\" stopping-text=\"🎵 Play\"></a>\n</p>\n<p></p>\n<p>It doesn’t have to end this way you know.</p>\n<p></p>\n<p>We’ve really appreciated your feedback and would like you to reconsider. If you’d like to hang around click <b>Back</b> and put it down to a \"moment\".</p>\n<p>However we respect your decision and your right to move on. You can also let us know why you unsubscribed below.</p>\n<p></p>\n<p>All the best and thanks again!</p>","UnsubscribeTitle":"\"Ooh baby, give me one more chance!\"","Username":"Username","UsernameIsAlreadyRegistered":"This username is already registered","UsernameLabel":"I'd like my username to be","VeryTired":"Very Tired","VoiceRecordingDisabledIOS11WebView":"Please go to the menu at the bottom right corner and select \"Open in browser\"","WhatIsThis":"What is this","WhenUncheckedBranchToQuestion":"When unchecked, branch to: {{branchQuestionName}}","Yes":"Yes","YouAgreeToReceiveEmailFromUsContaining":"You agree to receive email from us containing:","YouAreUsingYourFacebookEmail":"You are using your Facebook email","YourDetailsAreSaved":"Thanks! Your details have been successfully saved.","YourLastCompletedSurveyWas":"Your last completed survey was"}},"webapi":{"url":"https://web.archive.org/web/20200411212839/https://service.airtimesurveys.com/Remote/","timeout":"30000","appId":"au.com.xtrainsights.web.onefm"},"signalr":{"url":"https://web.archive.org/web/20200411212839/https://service.airtimesurveys.com/signalr","logging":false},"authProviders":{"Facebook":{"clientId":"1558326887819848"}},"logger":{"traceEnabled":false,"debugEnabled":true,"infoEnabled":true,"successEnabled":true,"warnEnabled":true,"errorEnabled":true,"fatalEnabled":true},"toast":{"showSyncWarnings":false},"unsupported":{"url":"/Unsupported"},"version":"4.71.12"}][0];</script> <script src="/web/20200411212839js_/https://onefm.airtimesurveys.com/bundles/scripts/all.js?v=_nKdCQJ_rHGQKq0rIPkSnRBGJ2PSH4ILzN-0Q7jt8YI1"></script> <script src="https://web.archive.org/web/20200411212839js_/https://service.airtimesurveys.com/signalr/hubs"></script> <script src="/web/20200411212839js_/https://onefm.airtimesurveys.com/bundles/scripts/app.js?v=VGKAQEP0oYvWSMUol8zU5EVk2p5vX2l-ykrvIPIZuqc1"></script> </body> </html> <!-- FILE ARCHIVED ON 21:28:39 Apr 11, 2020 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 17:18:10 Dec 12, 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: 0.829 exclusion.robots: 0.039 exclusion.robots.policy: 0.025 esindex: 0.015 cdx.remote: 6.273 LoadShardBlock: 248.957 (3) PetaboxLoader3.datanode: 101.632 (4) PetaboxLoader3.resolve: 356.463 (2) load_resource: 265.77 -->