1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Use of this source code is governed by a BSD-style license that can be
3ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// found in the LICENSE file.
4ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsencr.define('mobile', function() {
6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  function ChooseNetwork() {
8ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  }
9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  cr.addSingletonGetter(ChooseNetwork);
11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  ChooseNetwork.prototype = {
13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    networks_: [],
14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    showNetworks_: function(networks) {
15ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      this.networks_ = networks;
16ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      if (networks.length == 0) {
18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        $('scanning').hidden = true;
19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        $('no-mobile-networks').hidden = false;
20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        return;
21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      }
22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      var container = $('choosing');
24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      container.innerHTML = '';
25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      for (var i in networks) {
26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        var elem = document.createElement('div');
27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        elem.innerHTML =
28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen            '<input type="radio" name="network" id="network' + i + '" />' +
29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen            '<label for="network' + i + '" id="label' + i + '"></label>';
30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        container.appendChild(elem);
31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        $('label' + i).textContent = networks[i].operatorName;
32ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        if (networks[i].status == 'current') {
33ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen          $('network' + i).checked = true;
34ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen          $('connect').disabled = false;
35ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        } else if (networks[i].status == 'forbidden') {
36ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen          $('network' + i).disabled = true;
37ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen          elem.className = 'disabled';
38ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        } else {
39ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen          $('network' + i).addEventListener('click', function(event) {
40ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen            $('connect').disabled = false;
41ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen          });
42ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        }
43ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      }
44ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      $('scanning').hidden = true;
45ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      $('choosing').hidden = false;
46ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    },
47ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    connect_: function() {
48ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      for (var i in this.networks_) {
49ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        if ($('network' + i).checked) {
50ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen          chrome.send('connect', [ this.networks_[i].networkId ]);
51ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen          ChooseNetwork.close();
52ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen          return;
53ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen        }
54ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      }
55ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    }
56ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  };
57ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
58ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  ChooseNetwork.cancel = function() {
59ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    chrome.send('cancel');
60ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    ChooseNetwork.close();
61ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  };
62ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
63ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  ChooseNetwork.close = function() {
64ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    window.close();
65ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  };
66ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
67ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  ChooseNetwork.connect = function() {
68ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    ChooseNetwork.getInstance().connect_();
69ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  };
70ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
71ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  ChooseNetwork.initialize = function() {
72ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    $('cancel').addEventListener('click', function(event) {
73ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      ChooseNetwork.cancel();
74ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    });
75ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
76ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    $('connect').disabled = true;
77ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    $('connect').addEventListener('click', function(event) {
78ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen      ChooseNetwork.connect();
79ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    });
80ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  };
81ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
82ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  ChooseNetwork.showNetworks = function(networks) {
83ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    ChooseNetwork.getInstance().showNetworks_(networks);
84ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  };
85ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen
86ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  // Export
87ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  return {
88ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen    ChooseNetwork: ChooseNetwork
89ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen  };
90ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen});
91