diff --git a/9781430232766.jpg b/9781430232766.jpg
new file mode 100644
index 0000000..11f5163
Binary files /dev/null and b/9781430232766.jpg differ
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..69d5e5c
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,27 @@
+Freeware License, some rights reserved
+
+Copyright (c) 2011 Damon Oehlman and Sbastien Blanc
+
+Permission is hereby granted, free of charge, to anyone obtaining a copy
+of this software and associated documentation files (the "Software"),
+to work with the Software within the limits of freeware distribution and fair use.
+This includes the rights to use, copy, and modify the Software for personal use.
+Users are also allowed and encouraged to submit corrections and modifications
+to the Software for the benefit of other users.
+
+It is not allowed to reuse, modify, or redistribute the Software for
+commercial use in any way, or for a users educational materials such as books
+or blog articles without prior permission from the copyright holder.
+
+The above copyright notice and this permission notice need to be included
+in all copies or substantial portions of the software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS OR APRESS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
+
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..0d09ed5
--- /dev/null
+++ b/README.md
@@ -0,0 +1,15 @@
+#Apress Source Code
+
+This repository accompanies [*Pro Android Web Apps*](http://www.apress.com/9781430232766) by Damon Oehlman and Sbastien Blanc (Apress, 2011).
+
+![Cover image](9781430232766.jpg)
+
+Download the files as a zip using the green button, or clone the repository to your machine using Git.
+
+##Releases
+
+Release v1.0 corresponds to the code in the published book, without corrections or updates.
+
+##Contributions
+
+See the file Contributing.md for more information on how you can contribute to this repository.
diff --git a/contributing.md b/contributing.md
new file mode 100644
index 0000000..f6005ad
--- /dev/null
+++ b/contributing.md
@@ -0,0 +1,14 @@
+# Contributing to Apress Source Code
+
+Copyright for Apress source code belongs to the author(s). However, under fair use you are encouraged to fork and contribute minor corrections and updates for the benefit of the author(s) and other readers.
+
+## How to Contribute
+
+1. Make sure you have a GitHub account.
+2. Fork the repository for the relevant book.
+3. Create a new branch on which to make your change, e.g.
+`git checkout -b my_code_contribution`
+4. Commit your change. Include a commit message describing the correction. Please note that if your commit message is not clear, the correction will not be accepted.
+5. Submit a pull request.
+
+Thank you for your contribution!
\ No newline at end of file
diff --git a/sidelab-prowebapps-code-6bb4423/.gitignore b/sidelab-prowebapps-code-6bb4423/.gitignore
new file mode 100644
index 0000000..f7983bb
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/.gitignore
@@ -0,0 +1,3 @@
+access.log
+error.log
+.DS_Store
\ No newline at end of file
diff --git a/sidelab-prowebapps-code-6bb4423/README b/sidelab-prowebapps-code-6bb4423/README
new file mode 100644
index 0000000..c096d05
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/README
@@ -0,0 +1,22 @@
+This is the source code that accompanies the Apress book,
+Pro Android Web Apps (http://apress.com/book/view/1430232765), written by
+Damon Oehlman (http://twitter.com/DamonOehlman) and Sébastien Blanc (http://twitter.com/sebi2706).
+
+As this is a book on mobile web applications, the source code is
+primarily comprised of HTML, CSS and Javascript.
+
+Each of the chapters code samples are stored in the snippets directory,
+except in the cases where the sample code for that directory formed part of
+a larger exercise. In these cases that chapter points to the location of the
+source so it can be referenced easily.
+
+While every attempt has been made to make sure this code is bug free, if anything
+has slipped through the cracks please let us know at the Apress Site:
+
+http://apress.com/book/errata/1521
+
+And possibly also submit an issue in the Github Issue Tracker:
+
+http://github.com/sidelab/prowebapps-code/issues
+
+Thanks for your interest in the book :)
\ No newline at end of file
diff --git a/sidelab-prowebapps-code-6bb4423/assets/car.png b/sidelab-prowebapps-code-6bb4423/assets/car.png
new file mode 100644
index 0000000..c4e2dc9
Binary files /dev/null and b/sidelab-prowebapps-code-6bb4423/assets/car.png differ
diff --git a/sidelab-prowebapps-code-6bb4423/assets/car.svg b/sidelab-prowebapps-code-6bb4423/assets/car.svg
new file mode 100644
index 0000000..898c721
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/assets/car.svg
@@ -0,0 +1,585 @@
+
+
+
+
diff --git a/sidelab-prowebapps-code-6bb4423/assets/navigation-arrow-disabled.png b/sidelab-prowebapps-code-6bb4423/assets/navigation-arrow-disabled.png
new file mode 100644
index 0000000..7692d0e
Binary files /dev/null and b/sidelab-prowebapps-code-6bb4423/assets/navigation-arrow-disabled.png differ
diff --git a/sidelab-prowebapps-code-6bb4423/assets/navigation-arrow.png b/sidelab-prowebapps-code-6bb4423/assets/navigation-arrow.png
new file mode 100644
index 0000000..8678d7a
Binary files /dev/null and b/sidelab-prowebapps-code-6bb4423/assets/navigation-arrow.png differ
diff --git a/sidelab-prowebapps-code-6bb4423/assets/navigation-arrow.svg b/sidelab-prowebapps-code-6bb4423/assets/navigation-arrow.svg
new file mode 100644
index 0000000..871d69c
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/assets/navigation-arrow.svg
@@ -0,0 +1,110 @@
+
+
+
+
diff --git a/sidelab-prowebapps-code-6bb4423/assets/pin-active.svg b/sidelab-prowebapps-code-6bb4423/assets/pin-active.svg
new file mode 100644
index 0000000..370a48b
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/assets/pin-active.svg
@@ -0,0 +1,163 @@
+
+
+
+
diff --git a/sidelab-prowebapps-code-6bb4423/assets/pin-inactive.png b/sidelab-prowebapps-code-6bb4423/assets/pin-inactive.png
new file mode 100644
index 0000000..d071b3d
Binary files /dev/null and b/sidelab-prowebapps-code-6bb4423/assets/pin-inactive.png differ
diff --git a/sidelab-prowebapps-code-6bb4423/assets/wheel.png b/sidelab-prowebapps-code-6bb4423/assets/wheel.png
new file mode 100644
index 0000000..558ed62
Binary files /dev/null and b/sidelab-prowebapps-code-6bb4423/assets/wheel.png differ
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/.classpath b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/.classpath
new file mode 100644
index 0000000..1cdff2a
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/.classpath
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/.gitignore b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/.gitignore
new file mode 100644
index 0000000..95cc404
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/.gitignore
@@ -0,0 +1,3 @@
+/gen
+.DS_Store
+/bin
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/.project b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/.project
new file mode 100644
index 0000000..3261c83
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/.project
@@ -0,0 +1,33 @@
+
+
+ Sample
+
+
+
+
+
+ com.android.ide.eclipse.adt.ResourceManagerBuilder
+
+
+
+
+ com.android.ide.eclipse.adt.PreCompilerBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ com.android.ide.eclipse.adt.ApkBuilder
+
+
+
+
+
+ com.android.ide.eclipse.adt.AndroidNature
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/AndroidManifest.xml b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/AndroidManifest.xml
new file mode 100644
index 0000000..ca153b1
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/AndroidManifest.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/README.txt b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/README.txt
new file mode 100644
index 0000000..65ecbee
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/README.txt
@@ -0,0 +1,24 @@
+Get started with Eclipse
+===
+
+1. File > New > Project...
+2. Android Project
+3. Create from existing source
+4. point to this folder
+5. select highest build target (you should have 2.2 installed)
+6. finish
+7. right click on libs/phonegap.jar and add to build path
+8. Run as Android Project
+
+Get started with the command line
+===
+
+1. create local.properties with the android command line tool
+
+$ android update project -p .
+
+2. ensure an emulator or device is plugged in
+
+$ ant debug install && adb logcat
+
+
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/navigation-arrow-disabled.png b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/navigation-arrow-disabled.png
new file mode 100644
index 0000000..7692d0e
Binary files /dev/null and b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/navigation-arrow-disabled.png differ
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/navigation-arrow.png b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/navigation-arrow.png
new file mode 100644
index 0000000..8678d7a
Binary files /dev/null and b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/navigation-arrow.png differ
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/pin-active.png b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/pin-active.png
new file mode 100644
index 0000000..8735432
Binary files /dev/null and b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/pin-active.png differ
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/pin-inactive.png b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/pin-inactive.png
new file mode 100644
index 0000000..d071b3d
Binary files /dev/null and b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/img/pin-inactive.png differ
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/index.html b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/index.html
new file mode 100644
index 0000000..719dd21
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/index.html
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Mapping App Boilerplate
+
+
+
+ Test Text
+
+
+
+
Some Test Content
+
+
+
+
\ No newline at end of file
diff --git a/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/jquery-1.4.2.min.js b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/jquery-1.4.2.min.js
new file mode 100644
index 0000000..7c24308
--- /dev/null
+++ b/sidelab-prowebapps-code-6bb4423/bridges/MapTest/assets/www/jquery-1.4.2.min.js
@@ -0,0 +1,154 @@
+/*!
+ * jQuery JavaScript Library v1.4.2
+ * http://jquery.com/
+ *
+ * Copyright 2010, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2010, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Sat Feb 13 22:33:48 2010 -0500
+ */
+(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,
+Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&
+(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,
+a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===
+"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,
+function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b