Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

updating phono 0.2

  • Loading branch information...
commit 19064987cd718ec1e9424b228c4e51fe27af327c 1 parent 8e6d452
@chrismatthieu authored
View
2  Gemfile
@@ -1,6 +1,6 @@
source 'http://rubygems.org'
-gem 'rails', '3.0.0'
+gem 'rails', '3.0.3'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
View
114 Gemfile.lock
@@ -2,79 +2,81 @@ GEM
remote: http://rubygems.org/
specs:
abstract (1.0.0)
- actionmailer (3.0.0)
- actionpack (= 3.0.0)
- mail (~> 2.2.5)
- actionpack (3.0.0)
- activemodel (= 3.0.0)
- activesupport (= 3.0.0)
+ actionmailer (3.0.3)
+ actionpack (= 3.0.3)
+ mail (~> 2.2.9)
+ actionpack (3.0.3)
+ activemodel (= 3.0.3)
+ activesupport (= 3.0.3)
builder (~> 2.1.2)
erubis (~> 2.6.6)
- i18n (~> 0.4.1)
+ i18n (~> 0.4)
rack (~> 1.2.1)
- rack-mount (~> 0.6.12)
- rack-test (~> 0.5.4)
+ rack-mount (~> 0.6.13)
+ rack-test (~> 0.5.6)
tzinfo (~> 0.3.23)
- activemodel (3.0.0)
- activesupport (= 3.0.0)
+ activemodel (3.0.3)
+ activesupport (= 3.0.3)
builder (~> 2.1.2)
- i18n (~> 0.4.1)
- activerecord (3.0.0)
- activemodel (= 3.0.0)
- activesupport (= 3.0.0)
- arel (~> 1.0.0)
+ i18n (~> 0.4)
+ activerecord (3.0.3)
+ activemodel (= 3.0.3)
+ activesupport (= 3.0.3)
+ arel (~> 2.0.2)
tzinfo (~> 0.3.23)
- activeresource (3.0.0)
- activemodel (= 3.0.0)
- activesupport (= 3.0.0)
- activesupport (3.0.0)
- addressable (2.2.1)
- arel (1.0.1)
- activesupport (~> 3.0.0)
+ activeresource (3.0.3)
+ activemodel (= 3.0.3)
+ activesupport (= 3.0.3)
+ activesupport (3.0.3)
+ addressable (2.2.5)
+ arel (2.0.9)
builder (2.1.2)
erubis (2.6.6)
abstract (>= 1.0.0)
- faraday (0.4.6)
- addressable (>= 2.1.1)
- rack (>= 1.0.1)
- i18n (0.4.1)
- json (1.4.6)
- mail (2.2.6.1)
+ faraday (0.6.1)
+ addressable (~> 2.2.4)
+ multipart-post (~> 1.1.0)
+ rack (>= 1.1.0, < 2)
+ i18n (0.5.0)
+ json (1.5.1)
+ mail (2.2.17)
activesupport (>= 2.3.6)
- mime-types
- treetop (>= 1.4.5)
+ i18n (>= 0.4.0)
+ mime-types (~> 1.16)
+ treetop (~> 1.4.8)
mime-types (1.16)
- multi_json (0.0.4)
- mysql2 (0.2.4)
- oauth2 (0.0.13)
- faraday (~> 0.4.1)
- multi_json (>= 0.0.4)
+ multi_json (0.0.5)
+ multipart-post (1.1.0)
+ mysql2 (0.2.7)
+ oauth2 (0.4.1)
+ faraday (~> 0.6.1)
+ multi_json (>= 0.0.5)
polyglot (0.3.1)
- rack (1.2.1)
- rack-mount (0.6.13)
+ rack (1.2.2)
+ rack-mount (0.6.14)
rack (>= 1.0.0)
- rack-test (0.5.6)
+ rack-test (0.5.7)
rack (>= 1.0)
- rails (3.0.0)
- actionmailer (= 3.0.0)
- actionpack (= 3.0.0)
- activerecord (= 3.0.0)
- activeresource (= 3.0.0)
- activesupport (= 3.0.0)
- bundler (~> 1.0.0)
- railties (= 3.0.0)
- railties (3.0.0)
- actionpack (= 3.0.0)
- activesupport (= 3.0.0)
- rake (>= 0.8.4)
- thor (~> 0.14.0)
+ rails (3.0.3)
+ actionmailer (= 3.0.3)
+ actionpack (= 3.0.3)
+ activerecord (= 3.0.3)
+ activeresource (= 3.0.3)
+ activesupport (= 3.0.3)
+ bundler (~> 1.0)
+ railties (= 3.0.3)
+ railties (3.0.3)
+ actionpack (= 3.0.3)
+ activesupport (= 3.0.3)
+ rake (>= 0.8.7)
+ thor (~> 0.14.4)
rake (0.8.7)
rest-client (1.6.1)
mime-types (>= 1.16)
- thor (0.14.3)
- treetop (1.4.8)
+ thor (0.14.6)
+ treetop (1.4.9)
polyglot (>= 0.3.1)
- tzinfo (0.3.23)
+ tzinfo (0.3.26)
PLATFORMS
ruby
@@ -83,5 +85,5 @@ DEPENDENCIES
json
mysql2
oauth2
- rails (= 3.0.0)
+ rails (= 3.0.3)
rest-client
View
4 app/controllers/facebook_controller.rb
@@ -2,8 +2,8 @@ class FacebookController < ApplicationController
def index
#Testing
- session["id"] = "1115105088"
- friends = nil
+ # session["id"] = "1115105088"
+ # friends = nil
if session["id"]
View
627 app/views/facebook/phono.html.erb
@@ -2,397 +2,310 @@
<head>
<meta http-equiv="PRAGMA" content="NO-CACHE" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link href="/stylesheets/phono.css" rel="stylesheet" type="text/css" />
+ <link href="/stylesheets/newphone.css" rel="stylesheet" type="text/css" />
<title>Telephone</title>
- <script src="/javascripts/jquery_1_4_2.js" type="text/javascript" ></script>
+ <script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
+ <script src="http://s.phono.com/releases/0.2/jquery.phono.js"></script>
- <script src="/javascripts/phono-0.8.44504.js" type="text/javascript" ></script>
+ <script type="text/javascript">
+ var phono;
+ var call;
+
+ location.querystring = (function() {
- <script type="text/javascript">
- $(document).ready(function(){
- $(".dialpad_button").click(function(){
- $("#slide_panel").toggle("slow");
- });
- $(".short_button").click(function(){
- $("#short_panel").slideToggle("slow");
- });
+ // The return is a collection of key/value pairs
- });
+ var queryStringDictionary = {};
- function addLink(text)
- {
- var TheTextBox = document.getElementById("dialstring");
- TheTextBox.value = TheTextBox.value + text;
- }
-
- function placeCall()
- {
- var dialString = document.getElementById("dialstring");
- var destString = document.getElementById("destinationTxt");
- var didString = document.getElementById("did");
- // destString.value = "app:9991443313"
- if(dialString.value.substring(0,1) == '1')
- {
- didString.value = dialString.value;
- }
- else
- {
- didString.value = '1' + dialString.value;
- }
-
- // Determine SIP or PSTN
- if(dialString.value.substring(0,1) == 's')
- {
- destString.value = dialString.value;
- }
- else
- {
- // destString.value = "app:9991443313";
- // destString.value = "app:9991457150";
- destString.value = "sip:9991452579@stagingsbc-external.orl.voxeo.net";
+ // Gets the query string, starts with '?'
+
+ var querystring = decodeURI(location.search);
+
+ // document.location.search is empty if no query string
+
+ if (!querystring) {
+ return {};
+ }
+
+ // Remove the '?' via substring(1)
+
+ querystring = querystring.substring(1);
+
+ // '&' seperates key/value pairs
+
+ var pairs = querystring.split("&");
+
+ // Load the key/values of the return collection
+
+ for (var i = 0; i < pairs.length; i++) {
+ var keyValuePair = pairs[i].split("=");
+ queryStringDictionary[keyValuePair[0]]
+ = keyValuePair[1];
+ }
+
+ // toString() returns the key/value pairs concatenated
+
+ queryStringDictionary.toString = function() {
+
+ if (queryStringDictionary.length == 0) {
+ return "";
+ }
+
+ var toString = "?";
+
+ for (var key in queryStringDictionary) {
+ toString += key + "=" +
+ queryStringDictionary[key];
+ }
+
+ return toString;
+ };
+
+ // Return the key/value dictionary
+
+ return queryStringDictionary;
+ })();
- }
-
- makeCall();
- }
- function dialClear()
- {
+ function placeCall()
+ {
var dialString = document.getElementById("dialstring");
- dialString.value = "";
- }
- </script>
-
+ var destString = document.getElementById("destinationTxt");
+ var didString = document.getElementById("did");
+ if(dialString.value.substring(0,1) == '1')
+ {
+ didString.value = dialString.value;
+ }
+ else
+ {
+ didString.value = '1' + dialString.value;
+ }
- </head>
- <body>
-<center>
+ // Determine SIP or PSTN
+ if(dialString.value.substring(0,1) == 's')
+ {
+ destString.value = dialString.value;
+ }
+ else
+ {
+ destString.value = "app:9991443313";
+ }
+ makeCall();
+ }
- <div id="phone01" style="height: 1px; width: 1px"></div>
-</center>
-
- <script type="text/javascript">
- var call;
-
- var phone = $.phono({
- flashMovie:"/phono-0.8.44504.swf",
- tones: true,
- onConnect: function(event) {
- $("#sessionId").val(event.phone.sessionId());
- <% if @did %>
+ $(document).ready(function(){
+ phono = $.phono({
+ apiKey: "f12dc371538c973b3cb200b43b6c594d",
+ onReady: function() {
+ $("#status").html("sip:" + this.sessionId);
+
+ <%if @did %>
+ // if (location.querystring["phone"]){
+ // var dialString = document.getElementById("dialstring");
+ // dialString.value = location.querystring["phone"];
+ // $("a.callme").addClass("phono-ready").text("Call");
+ // $(".digit-hldr").slideDown();
+ // $("a.callme").hide();
+ // $("a.hangup").show().css("display","block");
+ //
+ // placeCall();
makeCall();
<% else %>
$.ajax({ url: '/facebook/update_phonoaddress', data: { 'mysession': $('#sessionId').val()}, type: 'post' })
- $("#callstart").hide();
- $("#callstop").hide();
- $("#answer").hide();
- $("#reject").hide();
- $("#shortlink").hide();
- $("#avatars").hide();
-
-
+
+ // } else {
+
+ $("a.callme").addClass("phono-ready").text("Call");
+ $("a.answer").hide();
+ $("a.reject").hide();
+
+ if( ! this.audio.permission() ){
+ this.audio.showPermissionBox();
+ }
+
+ // };
<% end %>
-
- if( ! event.phone.flashPermissionState() ){
- event.phone.showFlashPermissionBox();
- }
- },
- onIncomingCall: function(event) {
- call = event.call;
- $("#redial").hide();
- $("#shortlink").hide();
- $("#answer").show();
- $("#reject").show();
- $("#dialform").hide();
- $("#dialstart").hide();
- $("#dialclear").hide();
-
- window.focus();
- },
- onAnswer: function(event) {
- $("#answer").hide();
- $("#reject").hide();
- $("#callstop").show();
- $("#dialform").hide();
- $("#dialstart").hide();
- $("#dialclear").hide();
- $("#avatars").show();
-
- call.talking(true);
-
-
- },
- onHangup: function(event) {
- $("#answer").hide();
- $("#reject").hide();
- $("#callstop").hide();
- $("#dialform").show();
- $("#dialstart").show();
- $("#dialclear").show();
- $("#shortlink").hide();
- $("#avatars").hide();
-
-
-
- },
- onDisconnect: function(event) {
- $("#answer").hide();
- $("#reject").hide();
- $("#callstop").hide();
- $("#dialform").show();
- $("#dialstart").show();
- $("#dialclear").show();
- $("#shortlink").hide();
- $("#avatars").hide();
-
-
- },
- onFlashPermissionShow: function(event) {
-
- },
- onFlashPermissionHide: function(event) {
-
- }
- });
- function makeCall() {
- numberToDial = $("#destinationTxt").val();
- // $("#shortlink").show();
- $("#callstop").show();
- $("#redial").hide();
- $("#dialstart").hide();
- $("#dialclear").hide();
+
+ },
+ phone: {
+ onConnect: function(event) {
+ $("#sessionId").val(event.phone.sessionId());
- call = phone.dial(numberToDial, {
- headers: {
- numberToDial: $("#did").val(),
- transfermode: "<%=@transfermode rescue ""%>",
- conf: "<%=@conf rescue ""%>"
- },
+ if( ! event.phone.flashPermissionState() ){
+ event.phone.showFlashPermissionBox();
+ }
+ },
+ onDisconnect: function(event) {
+ $(document).trigger("callHangUp");
+ },
+ onIncomingCall: function(event) {
+ call = event.call;
+ $("a.answer").show().css("display","block");
+ $("a.reject").show().css("display","block");
+ $("a.hangup").hide();
+ $("a.callme").hide();
+
+ window.focus();
+ }
+ }
+
+ });
+
+ $("a.callme").click(function(){
+ $(".digit-hldr").slideDown();
+ $(this).hide();
+ $("a.hangup").show().css("display","block");
+ placeCall();
+ return false;
+ });
+
+ $("a.hangup").click(function(){
+ $(document).trigger("callHangUp");
+ return false;
+ });
+
+ $("a.headset").click(function(){
+ $(this).toggleClass("checked");
+ $(this).parent().toggleClass("headset-enabled");
+ ( $(this).hasClass("headset-enabled") ) ? call.headset(true) : call.headset(false);
+ return false;
+ });
+
+ $("a.answer").click(function(){
+ $(".digit-hldr").slideDown();
+ $(this).hide();
+ $("a.hangup").show().css("display","block");
+ $("a.reject").hide();
+ (call) ? call.answer() : call = null;
+ return false;
+ });
+
+ $("a.reject").click(function(){
+ $(this).hide();
+ (call) ? call.hangup() : call = null;
+ $("a.answer").hide();
+ $("a.hangup").hide();
+ $("a.callme").show();
+ return false;
+
+ });
+
+ $(document).bind("callHangUp", function(){
+ (call) ? call.hangup() : call = null;
+ $(".digit-hldr").slideUp();
+ $("a.hangup").hide();
+ $("a.answer").hide();
+ $("a.reject").hide();
+ $("a.callme").show();
+ });
+
+ $(".digit").click(function(){
+ var thisDigit = $(this).find(".number").text();
+ call.digit(thisDigit);
+ return false;
+ });
+
+ // clear input on focus
+ $('.clearMeFocus').focus(function(){
+ if($(this).val()==this.defaultValue){
+ $(this).val('');
+ }
+ });
+
+ // if field is empty afterward, add text again
+ $('.clearMeFocus').blur(function(){
+ if($(this).val()==''){
+ $(this).val(this.defaultValue);
+ }
+ });
+
+
+ })
+
+ function makeCall() {
+
+ if ( $("#destinationTxt").val().substring(0,1) == 's' || location.querystring["live"] == '1'){
+ numberToDial = $("#destinationTxt").val();
+ } else {
+ numberToDial = $("#did").val();
+ };
+
+ call = phono.phone.dial(numberToDial, {
+ headers: [
+ {
+ name:"numbertodial",
+ value:$("#did").val()
+ }
+ ],
+ tones: true,
onAnswer: function(event) {
- $("#callstart").hide();
- $("#callstop").show();
- $("#redial").hide();
- $("#dialform").hide();
- $("#dialstart").hide();
- $("#dialclear").hide();
- $("#avatars").show();
-
- call.talking(true);
},
onHangup: function() {
- // $("#callstart").toggle("fast");
- // $("#callstop").toggle("fast");
- $("#redial").hide();
- $("#callstop").hide();
- $("#dialform").show();
- $("#dialstart").show();
- $("#dialclear").show();
- $("#shortlink").hide();
- $("#avatars").hide();
-
-
- $.ajax({ url: '/facebook/update_phonoaddress', data: { 'mysession': $('#sessionId').val()}, type: 'post' })
+ $(document).trigger("callHangUp");
},
onDisconnect: function() {
- // $("#callstart").toggle("fast");
- // $("#callstop").toggle("fast");
- $("#redial").hide();
- $("#callstop").hide();
- $("#dialform").show();
- $("#dialstart").show();
- $("#dialclear").show();
- $("#shortlink").hide();
- $("#avatars").hide();
-
-
- $.ajax({ url: '/facebook/update_phonoaddress', data: { 'mysession': $('#sessionId').val()}, type: 'post' })
+ $(document).trigger("callHangUp");
}
});
- }
- function sendIM() {
- destinationJid = $("#destinationJid").val()
- phone.text(destinationJid,"Hello");
- }
-
- // var counter = 0;
- $(document).ready(function() {
- window.setInterval(function() {
- try {
- $("#phoneState").val(phone.state());
- if(call != null) {
- $("#callState").val(call.state());
- }
- }
- catch(e) {
- }
- },500);
- });
-
-
- </script>
-
-<!-- <div class="black_overlay"></div> -->
-<center>
-<div id="phono">
-
- <!-- <div id="phone01" class="flash-hldr"></div> -->
-
- <div id="short_panel" style="display:none;">
- <center><br/>
- Use this link to forward to friends:
- http://phono.com/<%=@linkid%>
-
- <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
- width="110"
- height="14"
- class="clippy"
- id="clippy" >
- <param name="movie" value="/clippy.swf"/>
- <param name="allowScriptAccess" value="always" />
- <param name="quality" value="high" />
- <param name="scale" value="noscale" />
- <param NAME="FlashVars" value="text=http://phono.com/<%=@linkid%>">
+ };
- <param name="bgcolor" value="#000235">
- <param name="wmode" value="opaque">
- <embed src="/clippy.swf"
- width="110"
- height="14"
- name="clippy"
- quality="high"
- allowScriptAccess="always"
- type="application/x-shockwave-flash"
- pluginspage="http://www.macromedia.com/go/getflashplayer"
- FlashVars="text=http://phono.com/<%=@linkid%>"
- bgcolor="#000235"
- wmode="opaque"
- />
- </object>
-
- </center>
+ </script>
+ </head>
+ <body>
+
+ <div id="phono">
+ <div id="dialform">
+ <center><span id="status"></span></center>
+ <center><form name="dialer">
+ <input type="text" id="dialstring" value="Number/SIP Address" class="clearMeFocus">
+ <input type="hidden" id="destinationTxt" value="" />
+ <input type="hidden" id="did" value="" />
+ </form></center>
</div>
+ <a class="callme" href="#">Loading...</a>
+ <a class="hangup" href="#">End Call</a>
+ <a class="answer" href="#">Answer</a>
+ <a class="reject" href="#">Reject</a>
+ <div class="digit-hldr">
+ <div class="headset-hldr">
+ <a class="headset" href="#">Wearing a headset?</a>
+ </div>
+ <a class="digit 1" href="#"><span class="number">1</span></a>
+ <a class="digit middle 2" href="#"><span class="number">2</span><br><span class="abc">ABC</span></a>
+ <a class="digit 3" href="#"><span class="number">3</span><br><span class="abc">DEF</span></a>
- <!div id="slide_panel" style="display:none;">
- <div id="slide_panel">
-
-<!-- <input type="button" value="Mute" onclick="call.muted(true)"/>
- <input type="button" value="Unmute" onclick="call.muted(false)">
-
- <input type="button" value="TonesOn" onclick="call.tones(true)"/>
- <input type="button" value="TonesOff" onclick="call.tones(false)">
- <input type="button" value="Hold" onclick="if(call.hold()){call.hold(false);this.value='Unhold'}else{call.hold(true);this.value='Hold'}"/>
- <input type="text" value="1" onkeypress="call.volume(this.value)"/>
- <br/>
- <input type="button" value="Accept" onClick="call.accept()"/>
- <input type="button" value="Answer" onClick="call.answer()"/>
- <br/>
- <input type="text" id="destinationJid" value="pizzademo@tropo.im"/>
- <input type="button" value="Send" onClick="sendIM()"/>
- <br/>
- -->
- <!-- <hr/> -->
- <center>
-
- <div id="dialform">
- <form name="dialer">
- <input type="hidden" id="phoneState" />
- <input type="hidden" id="callState" />
- <input type="hidden" id="sessionId" />
-
- <input type="text" id="dialstring" value="<%=@display-%>">
- <input type="hidden" id="destinationTxt" value="<%=@phone%>" />
- <input type="hidden" id="did" value="<%=@did%>" />
- <!-- <a href="javascript:window.close()"><img src="/images/delete.gif" align="right" width="25" border="0"></a> -->
- </form>
- </div>
-
- <div class="digit-hldr">
- <a class="digit 1" href="#" onclick="addLink('1');call.digit('1');"><span class="number">1</span></a>
- <a class="digit 2" href="#" onclick="addLink('2');call.digit('2');"><span class="number">2</span><br><span class="abc">ABC</span></a>
- <a class="digit 3" href="#" onclick="addLink('3');call.digit('3');"><span class="number">3</span><br><span class="abc">DEF</span></a>
-
- <a class="digit 4" href="#" onclick="addLink('4');call.digit('4');"><span class="number">4</span><br><span class="abc">GHI</span></a>
- <a class="digit 5" href="#" onclick="addLink('5');call.digit('5');"><span class="number">5</span><br><span class="abc">JKL</span></a>
- <a class="digit 6" href="#" onclick="addLink('6');call.digit('6');"><span class="number">6</span><br><span class="abc">MNO</span></a>
-
- <a class="digit 7" href="#" onclick="addLink('7');call.digit('7');"><span class="number">7</span><br><span class="abc">PQRS</span></a>
- <a class="digit 8" href="#" onclick="addLink('8');call.digit('8');"><span class="number">8</span><br><span class="abc">GHI</span></a>
- <a class="digit 9" href="#" onclick="addLink('9');call.digit('9');"><span class="number">9</span><br><span class="abc">WXYZ</span></a>
-
- <a class="digit *" href="#" onclick="addLink('*');call.digit('*');"><span class="star">*</span></a>
- <a class="digit 0" href="#" onclick="addLink('0');call.digit('0');"><span class="number">0</span><br><span class="abc">+</span></a>
- <a class="digit #" href="#" onclick="addLink('#');call.digit('#');"><span class="number">#</span></a>
- <br class="clearfix">
- </div>
- </center>
- </div>
+ <a class="digit 4" href="#"><span class="number">4</span><br><span class="abc">GHI</span></a>
+ <a class="digit middle 5" href="#"><span class="number">5</span><br><span class="abc">JKL</span></a>
+ <a class="digit 6" href="#"><span class="number">6</span><br><span class="abc">MNO</span></a>
- <center>
-
- <div class="control-hldr">
- <div id="answer" style="display:none;">
- <a href="javascript:call.answer();" class="control-btn call"><span>Answer</span></a>
- <!-- <a href="javascript:call.hangup();" class="control-btn endCall"><span>Reject</span></a> -->
- </div>
- <div id="redial" style="display:none;">
- <a href="javascript:makeCall();" class="control-btn call"><span>Redial</span></a>
- </div>
- <div id="dialstart">
- <a href="javascript:placeCall();" class="control-btn call"><span>Dial</span></a>
- </div>
- <div id="callstart" style="display:none;">
- <a href="javascript:makeCall();" class="control-btn call"><span>Call</span></a>
- </div>
- <div id="callstop" style="display:none;">
- <a href="javascript:call.hangup();" class="control-btn endCall"><span>End</span></a>
- </div>
-
- <a class="logo-icon" title="www.Voxeo.com" target="_blank" href="http://www.voxeo.com"></a>
-
- <div id="reject" style="display:none;">
- <a href="javascript:call.hangup();" class="control-btn endCall"><span>Reject</span></a>
- </div>
-
-
- <!-- <a href="#" class="control-btn talk" onmousedown="call.talking(true)" onmouseup="call.talking(false)"><span>Talk</span></a> -->
- <div id="shortlink" style="display:none;">
- <a class="short_button" href="#"><span class="number">Link</span></a>
- </div>
- <div id="dialclear">
- <a class="control-btn talk" href="javascript:dialClear();"><span class="number">Clear</span></a>
- </div>
- <div id="dialpad" style="display:none;">
- <a class="dialpad_button" href="javascript:call.digit('1');"><span class="number">Dialpad</span></a>
- </div>
- <!-- <a href="javascript:call.answer();" >Answer</a> -->
- <br class="clearfix"/>
- </div>
- </center>
+ <a class="digit 7" href="#"><span class="number">7</span><br><span class="abc">PQRS</span></a>
+ <a class="digit middle 8" href="#"><span class="number">8</span><br><span class="abc">GHI</span></a>
+ <a class="digit 9" href="#"><span class="number">9</span><br><span class="abc">WXYZ</span></a>
-
- </div>
- </center>
- <script type="text/javascript" language="JavaScript">
- document.forms['dialer'].elements['dialstring'].focus();
- </script>
+ <a class="digit bottom-left *" href="#"><span class="star">*</span></a>
+ <a class="digit middle 0" href="#"><span class="number">0</span><br><span class="abc">+</span></a>
+ <a class="digit bottom-right #" href="#"><span class="number">#</span></a>
+ <br class="clearfix">
+ </div>
+ </div>
- <script type="text/javascript">
+ <script type="text/javascript">
-  var _gaq = _gaq || [];
-  _gaq.push(['_setAccount', 'UA-119008-17']);
-  _gaq.push(['_trackPageview']);
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-119008-17']);
+  _gaq.push(['_trackPageview']);
-  (function() {
-    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-  })();
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
- </script>
-
+ </script>
+
</body>
</html>
View
420 public/stylesheets/newphone.css
@@ -0,0 +1,420 @@
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td,
+article, aside, canvas, details, embed,
+figure, figcaption, footer, header, hgroup,
+menu, nav, output, ruby, section, summary,
+time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+}
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure,
+footer, header, hgroup, menu, nav, section {
+ display: block;
+}
+body {
+ line-height: 1;
+}
+ol, ul {
+ list-style: none;
+}
+blockquote, q {
+ quotes: none;
+}
+blockquote:before, blockquote:after,
+q:before, q:after {
+ content: '';
+ content: none;
+}
+table {
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+body{
+ background:#efefef;
+ font-family: Arial, Helvetica, San-Serrif;
+ font-size:80%;
+ color: #333;
+}
+.clearfix{
+ clear:left;
+}
+a{
+ text-decoration:none;
+}
+a:active, a, :focus{
+ outline: none;
+ -moz-outline-style: none;
+}
+
+/* FLASH SETTINGS BOX */
+.flash-hldr{
+ position:absolute;
+ background:#EAEAEA;
+ width:215px;
+ height:138px;
+ top:100px;
+ left:15px;
+ z-index: 1000;
+ visibility: hidden;
+ border:3px solid #DEDEDE;
+}
+
+/* PHONE CLIENT STYLES */
+#phono{
+ width:200px;
+ margin:0 auto;
+ margin-top:50px;
+ background:#0066ac;
+ border:1px solid #015993;
+ border-radius:8px;
+ -moz-border-radius:8px;
+ -webkit-border-radius:8px;
+ -webkit-box-shadow:1px 1px 3px #ccc;
+ background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#0066ac),to(#015993));
+ background:-moz-linear-gradient(0% 90% 90deg, #0066ac, #015993);
+ -webkit-box-shadow:inset 0px 1px 2px #0a80ce, 1px 1px 3px #ccc;
+}
+a.callme{
+ color:#FFF;
+ line-height:40px;
+ font-weight: bold;
+ font-size:18px;
+ text-decoration: none;
+ text-align:center;
+ display:block;
+ text-shadow:0 -1px 1px #333;
+}
+
+a.answer{
+ color:#FFF;
+ line-height:40px;
+ font-weight: bold;
+ font-size:18px;
+ text-decoration: none;
+ text-align:center;
+ display:block;
+ text-shadow:0 -1px 1px #333;
+ display:none;
+}
+a.reject{
+ color:#FFF;
+ line-height:40px;
+ font-weight: bold;
+ font-size:18px;
+ text-decoration: none;
+ text-align:center;
+ display:block;
+ text-shadow:0 -1px 1px #333;
+ display:none;
+}
+
+a.phono-ready{
+ background:url("/images/phone-icon-small.png") no-repeat 40px 12px;
+}
+a.hangup{
+ color:#FFF;
+ line-height:40px;
+ font-weight: bold;
+ font-size:18px;
+ text-decoration: none;
+ text-align:center;
+ text-shadow:0 -1px 1px #333;
+ background:url("/images/hangup-icon-small.png") no-repeat 40px 12px;
+ display:none;
+}
+.digit-hldr{
+ margin:0 auto;
+ width:200px;
+ display:none;
+}
+.digit-hldr .headset-hldr{
+ /*background:#001042;*/
+ padding:5px 0;
+ color:#efefef;
+ text-align:center;
+ font-size:11px;
+}
+.digit-hldr .headset-enabled{
+ background: url("/images/headset-icon.png") no-repeat 20px 50%;
+}
+.digit-hldr .headset-hldr a.headset{
+ text-decoration:none;
+ padding-left:20px;
+ line-height:16px;
+ color:#fff;
+ background:url("/images/checkbox_no.png") no-repeat 0 0;
+}
+.digit-hldr .headset-hldr a.checked{
+ background:url("/images/checkbox_yes.png") no-repeat 0 0;
+}
+a.digit{
+ width:64px;
+ height:28px;
+ float:left;
+ margin:0;
+ padding:3px 0;
+ background:#001042 url("/images/phone-digit-up-blu.png") repeat-x top left;
+ color:#FFF;
+ text-align:center;
+ border:1px solid #004578;
+ text-shadow:0px -1px 1px #000235;
+}
+a.middle{
+ width:66px;
+}
+a.bottom-left{
+ border-radius:0 0 0 8px;
+ -webkit-border-radius:0 0 0 8px;
+ -moz-border-radius:0 0 0 8px;
+}
+a.bottom-right{
+ border-radius:0 0 8px 0;
+ -webkit-border-radius:0 0 8px 0;
+ -moz-border-radius:0 0 8px 0;
+}
+a.digit:hover{
+ background-position:0 -15px;
+ -moz-box-shadow:none;
+ -webkit-box-shadow:none;
+}
+a.digit:active{
+ border:1px solid #007EDA;
+}
+a.digit span.number{
+ font-size:120%;
+ font-weight:bold;
+}
+a.digit span.star{
+ font-size:180%;
+ font-weight:bold;
+}
+a.digit span.abc{
+ font-size:65%;
+}
+.control-hldr{
+ margin:0 auto;
+ margin-top:3px;
+ width:300px;
+}
+.control-hldr a.control-btn{
+ width:75px;
+ height:38px;
+ float:left;
+ margin:2px 2px;
+ padding-top:7px;
+ color:#FFF;
+ text-align:center;
+ line-height:35px;
+ -moz-border-radius:5px;
+ -webkit-border-radius:5px;
+ -moz-box-shadow:0px 1px 1px rgba(0, 0, 0, 0.9);
+ -webkit-box-shadow:0px 1px 1px rgba(0, 0, 0, 0.9);
+ font-size:100%;
+ font-weight:bold;
+}
+.control-hldr a.logo-icon{
+ width:75px;
+ height:38px;
+ float:left;
+ margin:2px 2px;
+ padding-top:7px;
+ background:url("/images/voxeo-icon.png") no-repeat center center;
+}
+.control-hldr a.control-btn:hover{
+ background-position:0 -20px;
+}
+.control-hldr a.call:active{
+ border:1px solid #105217;
+}
+.control-hldr a.talk:active{
+ border:1px solid #1F59AB;
+}
+.control-hldr a.endCall:active{
+ border:1px solid #1F59AB;
+}
+.control-hldr .call{
+ background:#26A91D url("/images/phone-call-up-blu.png") repeat-x top left;
+ border:1px solid #95CC91;
+}
+.control-hldr .call span{
+ background:url("/images/call-icon.png") no-repeat top left;
+ padding-left:20px;
+}
+.control-hldr .endCall{
+ background:#CA2A28 url("/images/phone-endcall-up-blu.png") repeat-x top left;
+ border:1px solid #DE7A7C;
+}
+.control-hldr .endCall span{
+ background:url("/images/hangup-icon.png") no-repeat center left;
+ padding-left:23px;
+}
+.control-hldr .talk{
+ background:#2C79E5 url("/images/phone-talk-up-blu.png") repeat-x top left;
+ border:1px solid #84AAED;
+}
+.control-hldr .talk span{
+/* background:url("/images/mic-icon.png") no-repeat center left;*/
+ padding-left:20px;
+}
+a.dialButton{
+ background:#26A91D url("/images/call-icon.png") no-repeat top left;
+ padding-left:20px;
+ border:1px solid #95CC91;
+}
+
+/* FLASH SETTINGS BOX */
+.flash-hldr{
+ position:absolute;
+ background:#EAEAEA;
+ width:215px;
+ height:138px;
+ top:100px;
+ left:15px;
+ z-index: 1000;
+ visibility: hidden;
+ border:3px solid #DEDEDE;
+}
+
+/* DISABLED OVERLAYS */
+.black_overlay{
+ display: block;
+ position: absolute;
+ top: 0%;
+ left: 0%;
+ width: 100%;
+ height: 100%;
+ background-color: black;
+ z-index:1001;
+ -moz-opacity: 0.8;
+ opacity:.80;
+ filter: alpha(opacity=80);
+}
+
+/* CHAT CLIENT STYLES */
+#chat{
+ background: #004A7D url("/images/phone-background-blu.png") repeat-x top left;
+ border:1px solid #0C0D3B;
+ padding-bottom:5px;
+ border-top:none;
+ height:321px;
+}
+.chat-box{
+ background:#D7E8F2;
+ height:287px;
+ overflow:auto;
+ font-size:85%;
+}
+.chat-txt{
+ position:relative;
+ background:#FFF url("/images/chat-txt-bg.png") repeat-x top left;
+ height:38px;
+ border-top:1px solid #000;
+}
+a.send-btn{
+ float:right;
+ width:50px;
+ height:38px;
+ background:#001042 url("/images/phone-digit-up-blu.png") repeat-x top left;
+ line-height:38px;
+ color:#FFF;
+ text-align:center;
+ text-shadow:1px 1px 1px #000235;
+ font-size:80%;
+ font-weight:bold;
+ border-left:1px solid #0C0D3B;
+}
+textarea.chatInput{
+ position:absolute;
+ top:0;
+ left:0;
+ width:197px;
+ height:37px;
+ border:none;
+ background: none;
+ font-family: Helvetica;
+ font-size:12px;
+ color:#333;
+}
+.chatEntry{
+ -moz-box-shadow:1px 1px 1px rgba(0, 0, 0, 0.1);
+ -webkit-box-shadow:1px 1px 1px rgba(0, 0, 0, 0.1);
+ box-shadow:1px 1px 1px rgba(0, 0, 0, 0.1);
+ margin:5px;
+}
+.inbound{
+ border:1px solid #004B7E;
+}
+.outbound{
+ border:1px solid #333;
+}
+.chatEntry .from{
+ font-size:11px;
+ color:#FFF;
+ padding:3px 5px;
+ /*text-shadow:1px 1px 1px #000;*/
+}
+.fromInbound{
+ background:#0069B2 url("/images/chat-inbound-bg.png") repeat-x bottom left;
+}
+.timeStamp{
+ float:right;
+ font-size:11px;
+ color:#EBEBEB;
+}
+.fromOutbound{
+ background:#7D7D7D url("/images/chat-outbound-bg.png") repeat-x bottom left;
+}
+.chatEntry .body{
+ font-size:11px;
+ color:#333;
+ padding:3px 5px;
+ background:#FFF;
+}
+
+#dialform input:focus, select:focus, textarea:focus {background: none repeat scroll 0 0 #FFFF99; line-height:15px; font-size: 15px;}
+#dialform input, select, textarea {line-height:15px; font-size: 15px; }
+
+#dialform button, input{
+ padding:5px 10px;
+ color:#666666;
+ background-color:#F7F7F7;
+ border:1px solid #CCCCCC;
+ }
+
+a.short_button {
+ width:75px;
+ height:38px;
+ float:left;
+ margin:2px 2px;
+ padding-top:7px;
+/* background:#001042 url("/images/phone-digit-up-blu.png") repeat-x top left;
+*/ color:#FFF;
+ text-align:center;
+ border:1px solid #004578;
+ -moz-border-radius:5px;
+ -webkit-border-radius:5px;
+ -moz-box-shadow:1px 1px 1px rgba(0, 0, 0, 0.4);
+ -webkit-box-shadow:1px 1px 1px rgba(0, 0, 0, 0.4);
+ text-shadow:1px 1px 1px #000235;
+ background:#2C79E5 url("/images/phone-talk-up-blu.png") repeat-x top left;
+ border:1px solid #84AAED;
+}
+a.short_button span.number{
+ font-size:120%;
+ font-weight:bold;
+}
+.a.short_button:active{
+ border:1px solid #1F59AB;
+}
Please sign in to comment.
Something went wrong with that request. Please try again.