You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by mw...@apache.org on 2013/01/23 02:32:44 UTC

[5/11] Version 2.4.0rc1

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/media/media.release.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/media/media.release.md b/docs/en/2.4.0rc1/cordova/media/media.release.md
new file mode 100644
index 0000000..dc6e2e4
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/media/media.release.md
@@ -0,0 +1,156 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+media.release
+=================
+
+Releases the underlying operating systems audio resources.
+
+    media.release();
+
+
+Description
+-----------
+
+Function `media.release` is a synchronous function that releases the underlying operating systems audio resources.  This function is particularly important for Android as there are a finite amount of OpenCore instances for media playback.  Developers should call the 'release' function when they no longer need the Media resource.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 and 8
+- Tizen
+- Windows 8
+
+Quick Example
+-------------
+
+        // Audio player
+        //
+        var my_media = new Media(src, onSuccess, onError);
+        
+        my_media.play();
+        my_media.stop();
+        my_media.release();
+
+Full Example
+------------
+
+        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                              "http://www.w3.org/TR/html4/strict.dtd">
+        <html>
+          <head>
+            <title>Media Example</title>
+        
+            <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+            <script type="text/javascript" charset="utf-8">
+        
+            // Wait for Cordova to load
+            //
+            document.addEventListener("deviceready", onDeviceReady, false);
+        
+            // Cordova is ready
+            //
+            function onDeviceReady() {
+                playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
+            }
+        
+            // Audio player
+            //
+            var my_media = null;
+            var mediaTimer = null;
+        
+            // Play audio
+            //
+            function playAudio(src) {
+                // Create Media object from src
+                my_media = new Media(src, onSuccess, onError);
+        
+                // Play audio
+                my_media.play();
+        
+                // Update my_media position every second
+                if (mediaTimer == null) {
+                    mediaTimer = setInterval(function() {
+                        // get my_media position
+                        my_media.getCurrentPosition(
+                            // success callback
+                            function(position) {
+                                if (position > -1) {
+                                    setAudioPosition((position) + " sec");
+                                }
+                            },
+                            // error callback
+                            function(e) {
+                                console.log("Error getting pos=" + e);
+                                setAudioPosition("Error: " + e);
+                            }
+                        );
+                    }, 1000);
+                }
+            }
+        
+            // Pause audio
+            // 
+            function pauseAudio() {
+                if (my_media) {
+                    my_media.pause();
+                }
+            }
+        
+            // Stop audio
+            // 
+            function stopAudio() {
+                if (my_media) {
+                    my_media.stop();
+                }
+                clearInterval(mediaTimer);
+                mediaTimer = null;
+            }
+        
+            // onSuccess Callback
+            //
+            function onSuccess() {
+                console.log("playAudio():Audio Success");
+            }
+        
+            // onError Callback 
+            //
+            function onError(error) {
+                alert('code: '    + error.code    + '\n' + 
+                      'message: ' + error.message + '\n');
+            }
+        
+            // Set audio position
+            // 
+            function setAudioPosition(position) {
+                document.getElementById('audio_position').innerHTML = position;
+            }
+        
+            </script>
+          </head>
+          <body>
+            <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
+            <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
+            <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
+            <p id="audio_position"></p>
+          </body>
+        </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/media/media.seekTo.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/media/media.seekTo.md b/docs/en/2.4.0rc1/cordova/media/media.seekTo.md
new file mode 100644
index 0000000..8911110
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/media/media.seekTo.md
@@ -0,0 +1,159 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+media.seekTo
+========================
+
+Sets the current position within an audio file.
+
+    media.seekTo(milliseconds);
+
+Parameters
+----------
+
+- __milliseconds__: The position to set the playback position within the audio in milliseconds. .
+
+
+Description
+-----------
+
+Function `media.seekTo` is an asynchronous function that updates the current position of the underlying audio file of a Media object. Also updates the ___position__ parameter within the Media object. 
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iOS
+- Windows Phone 7 and 8
+- Tizen
+- Windows 8
+
+Quick Example
+-------------
+
+        // Audio player
+        //
+        var my_media = new Media(src, onSuccess, onError);
+		my_media.play();
+        // SeekTo to 10 seconds after 5 seconds
+        setTimeout(function() {
+            my_media.seekTo(10000);
+        }, 5000);
+
+
+Full Example
+------------
+
+        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                      "http://www.w3.org/TR/html4/strict.dtd">
+        <html>
+          <head>
+            <title>Media Example</title>
+        
+            <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+            <script type="text/javascript" charset="utf-8">
+        
+            // Wait for Cordova to load
+            //
+            document.addEventListener("deviceready", onDeviceReady, false);
+        
+            // Cordova is ready
+            //
+            function onDeviceReady() {
+                playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
+            }
+        
+            // Audio player
+            //
+            var my_media = null;
+            var mediaTimer = null;
+        
+            // Play audio
+            //
+            function playAudio(src) {
+                // Create Media object from src
+                my_media = new Media(src, onSuccess, onError);
+        
+                // Play audio
+                my_media.play();
+                // Update media position every second
+        		mediaTimer = setInterval(function() {
+            		// get media position
+           			my_media.getCurrentPosition(
+                		// success callback
+                		function(position) {
+                    		if (position > -1) {
+                        		setAudioPosition(position + " sec");
+                    		}
+                		},
+                		// error callback
+                		function(e) {
+                    		console.log("Error getting pos=" + e);
+                		}
+            		);
+        		}, 1000);
+        		// SeekTo to 10 seconds after 5 seconds
+        		setTimeout(function() {
+            		my_media.seekTo(10000);
+           		}, 5000);
+     		}
+        
+            // Stop audio
+            // 
+            function stopAudio() {
+                if (my_media) {
+                    my_media.stop();
+                }
+                clearInterval(mediaTimer);
+                mediaTimer = null;
+            }
+        
+            // onSuccess Callback
+            //
+            function onSuccess() {
+                console.log("playAudio():Audio Success");
+            }
+        
+            // onError Callback 
+            //
+            function onError(error) {
+                alert('code: '    + error.code    + '\n' + 
+                      'message: ' + error.message + '\n');
+            }
+        
+            // Set audio position
+            // 
+            function setAudioPosition(position) {
+                document.getElementById('audio_position').innerHTML = position;
+            }
+        
+            </script>
+          </head>
+          <body>
+            <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
+            <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
+            <p id="audio_position"></p>
+          </body>
+        </html>
+
+BlackBerry WebWorks Quirks
+----------
+
+- This API is not supported on BlackBerry OS 5 devices.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/media/media.startRecord.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/media/media.startRecord.md b/docs/en/2.4.0rc1/cordova/media/media.startRecord.md
new file mode 100644
index 0000000..87a1785
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/media/media.startRecord.md
@@ -0,0 +1,152 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+media.startRecord
+=================
+
+Starts recording an audio file.
+
+    media.startRecord();
+
+
+Description
+-----------
+
+Function `media.startRecord` is a synchronous function that starts recording an audio file.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 and 8
+- Windows 8
+    
+Quick Example
+-------------
+
+    // Record audio
+    // 
+    function recordAudio() {
+        var src = "myrecording.mp3";
+        var mediaRec = new Media(src,
+            // success callback
+            function() {
+                console.log("recordAudio():Audio Success");
+            },
+            
+            // error callback
+            function(err) {
+                console.log("recordAudio():Audio Error: "+ err.code);
+            });
+
+        // Record audio
+        mediaRec.startRecord();
+    }
+
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Device Properties Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Record audio
+        // 
+        function recordAudio() {
+            var src = "myrecording.amr";
+            var mediaRec = new Media(src, onSuccess, onError);
+
+            // Record audio
+            mediaRec.startRecord();
+
+            // Stop recording after 10 sec
+            var recTime = 0;
+            var recInterval = setInterval(function() {
+                recTime = recTime + 1;
+                setAudioPosition(recTime + " sec");
+                if (recTime >= 10) {
+                    clearInterval(recInterval);
+                    mediaRec.stopRecord();
+                }
+            }, 1000);
+        }
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+            recordAudio();
+        }
+    
+        // onSuccess Callback
+        //
+        function onSuccess() {
+            console.log("recordAudio():Audio Success");
+        }
+    
+        // onError Callback 
+        //
+        function onError(error) {
+            alert('code: '    + error.code    + '\n' + 
+                  'message: ' + error.message + '\n');
+        }
+
+        // Set audio position
+        // 
+        function setAudioPosition(position) {
+            document.getElementById('audio_position').innerHTML = position;
+        }
+
+        </script>
+      </head>
+      <body>
+        <p id="media">Recording audio...</p>
+        <p id="audio_position"></p>
+      </body>
+    </html>
+
+Android Quirks
+----------
+
+- Android devices record audio in Adaptive Multi-Rate format. The specified file should end with a .amr extension.
+
+BlackBerry WebWorks Quirks
+----------
+
+- BlackBerry devices record audio in Adaptive Multi-Rate format. The specified file must end with a .amr extension.
+
+iOS Quirks
+----------
+
+- The file to record to must already exist and should be of type .wav. The File API's can be used to create the file.
+
+Tizen Quirks
+----------
+
+- This API is not supported on Tizen devices.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/media/media.stop.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/media/media.stop.md b/docs/en/2.4.0rc1/cordova/media/media.stop.md
new file mode 100644
index 0000000..df1dbc5
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/media/media.stop.md
@@ -0,0 +1,171 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+media.stop
+==========
+
+Stops playing an audio file.
+
+    media.stop();
+
+
+Description
+-----------
+
+Function `media.stop` is a synchronous function that stops playing an audio file.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 and 8
+- Tizen
+- Windows 8
+
+Quick Example
+-------------
+
+    // Play audio
+    //
+    function playAudio(url) {
+        // Play the audio file at url
+        var my_media = new Media(url,
+            // success callback
+            function() {
+                console.log("playAudio():Audio Success");
+            },
+            // error callback
+            function(err) {
+                console.log("playAudio():Audio Error: "+err);
+        });
+
+        // Play audio
+        my_media.play();
+
+        // Pause after 10 seconds
+        setTimeout(function() {
+            my_media.stop();
+        }, 10000);        
+    }
+
+Full Example
+------------
+
+        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
+                              "http://www.w3.org/TR/html4/strict.dtd">
+        <html>
+          <head>
+            <title>Media Example</title>
+        
+            <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+            <script type="text/javascript" charset="utf-8">
+        
+            // Wait for Cordova to load
+            //
+            document.addEventListener("deviceready", onDeviceReady, false);
+        
+            // Cordova is ready
+            //
+            function onDeviceReady() {
+                playAudio("http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3");
+            }
+        
+            // Audio player
+            //
+            var my_media = null;
+            var mediaTimer = null;
+        
+            // Play audio
+            //
+            function playAudio(src) {
+                // Create Media object from src
+                my_media = new Media(src, onSuccess, onError);
+        
+                // Play audio
+                my_media.play();
+        
+                // Update my_media position every second
+                if (mediaTimer == null) {
+                    mediaTimer = setInterval(function() {
+                        // get my_media position
+                        my_media.getCurrentPosition(
+                            // success callback
+                            function(position) {
+                                if (position > -1) {
+                                    setAudioPosition((position) + " sec");
+                                }
+                            },
+                            // error callback
+                            function(e) {
+                                console.log("Error getting pos=" + e);
+                                setAudioPosition("Error: " + e);
+                            }
+                        );
+                    }, 1000);
+                }
+            }
+        
+            // Pause audio
+            // 
+            function pauseAudio() {
+                if (my_media) {
+                    my_media.pause();
+                }
+            }
+        
+            // Stop audio
+            // 
+            function stopAudio() {
+                if (my_media) {
+                    my_media.stop();
+                }
+                clearInterval(mediaTimer);
+                mediaTimer = null;
+            }
+        
+            // onSuccess Callback
+            //
+            function onSuccess() {
+                console.log("playAudio():Audio Success");
+            }
+        
+            // onError Callback 
+            //
+            function onError(error) {
+                alert('code: '    + error.code    + '\n' + 
+                      'message: ' + error.message + '\n');
+            }
+        
+            // Set audio position
+            // 
+            function setAudioPosition(position) {
+                document.getElementById('audio_position').innerHTML = position;
+            }
+        
+            </script>
+          </head>
+          <body>
+            <a href="#" class="btn large" onclick="playAudio('http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3');">Play Audio</a>
+            <a href="#" class="btn large" onclick="pauseAudio();">Pause Playing Audio</a>
+            <a href="#" class="btn large" onclick="stopAudio();">Stop Playing Audio</a>
+            <p id="audio_position"></p>
+          </body>
+        </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/media/media.stopRecord.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/media/media.stopRecord.md b/docs/en/2.4.0rc1/cordova/media/media.stopRecord.md
new file mode 100644
index 0000000..2683eaf
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/media/media.stopRecord.md
@@ -0,0 +1,142 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+media.stopRecord
+================
+
+Stops recording an audio file.
+
+    media.stopRecord();
+
+
+Description
+-----------
+
+Function `media.stopRecord` is a synchronous function that stops recording an audio file.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iOS
+- Windows Phone 7 and 8
+- Windows 8
+    
+Quick Example
+-------------
+
+    // Record audio
+    // 
+    function recordAudio() {
+        var src = "myrecording.mp3";
+        var mediaRec = new Media(src,
+            // success callback
+            function() {
+                console.log("recordAudio():Audio Success");
+            },
+            
+            // error callback
+            function(err) {
+                console.log("recordAudio():Audio Error: "+ err.code);
+            });
+
+        // Record audio
+        mediaRec.startRecord();
+
+        // Stop recording after 10 seconds
+        setTimeout(function() {
+            mediaRec.stopRecord();
+        }, 10000);
+    }
+
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Device Properties Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Record audio
+        // 
+        function recordAudio() {
+            var src = "myrecording.mp3";
+            var mediaRec = new Media(src, onSuccess, onError);
+
+            // Record audio
+            mediaRec.startRecord();
+
+            // Stop recording after 10 sec
+            var recTime = 0;
+            var recInterval = setInterval(function() {
+                recTime = recTime + 1;
+                setAudioPosition(recTime + " sec");
+                if (recTime >= 10) {
+                    clearInterval(recInterval);
+                    mediaRec.stopRecord();
+                }
+            }, 1000);
+        }
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+            recordAudio();
+        }
+    
+        // onSuccess Callback
+        //
+        function onSuccess() {
+            console.log("recordAudio():Audio Success");
+        }
+    
+        // onError Callback 
+        //
+        function onError(error) {
+            alert('code: '    + error.code    + '\n' + 
+                  'message: ' + error.message + '\n');
+        }
+
+        // Set audio position
+        // 
+        function setAudioPosition(position) {
+            document.getElementById('audio_position').innerHTML = position;
+        }
+
+        </script>
+      </head>
+      <body>
+        <p id="media">Recording audio...</p>
+        <p id="audio_position"></p>
+      </body>
+    </html>
+
+Tizen Quirks
+----------
+
+- This API is not supported on Tizen devices.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/notification/notification.alert.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/notification/notification.alert.md b/docs/en/2.4.0rc1/cordova/notification/notification.alert.md
new file mode 100644
index 0000000..59f43df
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/notification/notification.alert.md
@@ -0,0 +1,117 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+notification.alert
+==================
+
+Shows a custom alert or dialog box.
+
+    navigator.notification.alert(message, alertCallback, [title], [buttonName])
+
+- __message:__ Dialog message (`String`)
+- __alertCallback:__ Callback to invoke when alert dialog is dismissed. (`Function`)
+- __title:__ Dialog title (`String`) (Optional, Default: "Alert")
+- __buttonName:__ Button name (`String`) (Optional, Default: "OK")
+    
+Description
+-----------
+
+Most Cordova implementations use a native dialog box for this feature.  However, some platforms simply use the browser's `alert` function, which is typically less customizable.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iPhone
+- Windows Phone 7 and 8
+- Bada 1.2 & 2.x
+- webOS
+- Tizen
+- Windows 8
+
+Quick Example
+-------------
+
+    // Android / BlackBerry WebWorks (OS 5.0 and higher) / iPhone / Tizen
+    //
+    function alertDismissed() {
+        // do something
+    }
+
+    navigator.notification.alert(
+        'You are the winner!',  // message
+        alertDismissed,         // callback
+        'Game Over',            // title
+        'Done'                  // buttonName
+    );
+        
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Notification Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+            // Empty
+        }
+    
+        // alert dialog dismissed
+	    function alertDismissed() {
+	        // do something
+	    }
+
+        // Show a custom alertDismissed
+        //
+        function showAlert() {
+		    navigator.notification.alert(
+		        'You are the winner!',  // message
+		        alertDismissed,         // callback
+		        'Game Over',            // title
+		        'Done'                  // buttonName
+		    );
+        }
+    
+        </script>
+      </head>
+      <body>
+        <p><a href="#" onclick="showAlert(); return false;">Show Alert</a></p>
+      </body>
+    </html>
+
+Windows Phone 7 and 8 Quirks
+-------------
+
+- There is no built in browser alert, so if you want to just write alert('foo'); you can assign window.alert = navigator.notification.alert;
+- alert + confirm calls are non-blocking, and result is only available asynchronously.
+
+Bada 2.x Quirks
+---------------
+- alert uses javascript alert

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/notification/notification.beep.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/notification/notification.beep.md b/docs/en/2.4.0rc1/cordova/notification/notification.beep.md
new file mode 100644
index 0000000..9f44882
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/notification/notification.beep.md
@@ -0,0 +1,120 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+notification.beep
+=================
+
+The device will play a beep sound.
+
+    navigator.notification.beep(times);
+
+- __times:__ The number of times to repeat the beep (`Number`)
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iPhone
+- Windows Phone 7 and 8
+- Bada 1.2 & 2.x
+- Tizen
+
+Quick Example
+-------------
+
+    // Beep twice!
+    navigator.notification.beep(2);
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Notification Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+            // Empty
+        }
+
+        // Show a custom alert
+        //
+        function showAlert() {
+		    navigator.notification.alert(
+		        'You are the winner!',  // message
+		        'Game Over',            // title
+		        'Done'                  // buttonName
+		    );
+        }
+
+        // Beep three times
+        //
+        function playBeep() {
+            navigator.notification.beep(3);
+        }
+
+        // Vibrate for 2 seconds
+        //
+        function vibrate() {
+            navigator.notification.vibrate(2000);
+        }
+
+        </script>
+      </head>
+      <body>
+        <p><a href="#" onclick="showAlert(); return false;">Show Alert</a></p>
+        <p><a href="#" onclick="playBeep(); return false;">Play Beep</a></p>
+        <p><a href="#" onclick="vibrate(); return false;">Vibrate</a></p>
+      </body>
+    </html>
+
+Android Quirks
+--------------
+
+- Android plays the default "Notification ringtone" specified under the "Settings/Sound & Display" panel.
+
+iPhone Quirks
+-------------
+
+- Ignores the beep count argument.
+- There is no native beep API for iPhone.
+  - Cordova implements beep by playing an audio file via the media API.
+  - The user must provide a file with the desired beep tone.
+  - This file must be less than 30 seconds long, located in the www/ root, and must be named `beep.wav`.
+
+Windows Phone 7 and 8 Quirks
+-------------
+
+- Cordova lib includes a generic beep file that is used. 
+
+Tizen Quirks
+-------------
+
+  - Tizen implements beep by playing an audio file via the media API.
+  - This beep file must be short, named `beep.wav` and has to be located in a 'sounds' sub-directory of the application root directory.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/notification/notification.confirm.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/notification/notification.confirm.md b/docs/en/2.4.0rc1/cordova/notification/notification.confirm.md
new file mode 100755
index 0000000..7f27022
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/notification/notification.confirm.md
@@ -0,0 +1,134 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+notification.confirm
+====================
+
+Shows a customizable confirmation dialog box.
+
+    navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])
+
+- __message:__ Dialog message (`String`)
+- __confirmCallback:__ - Callback to invoke with index of button pressed (1, 2 or 3) or when the dialog is dismissed without a button press (0), (`Function`)
+- __title:__ Dialog title (`String`) (Optional, Default: "Confirm")
+- __buttonLabels:__ Comma separated string with button labels (`String`) (Optional, Default: "OK,Cancel")
+    
+Description
+-----------
+
+Function `notification.confirm` displays a native dialog box that is more customizable than the browser's `confirm` function.
+
+confirmCallback
+---------------
+
+The `confirmCallback` is called when the user has pressed one of the buttons on the confirmation dialog box.
+
+The callback takes the argument `buttonIndex` (`Number`), which is the index of the pressed button. It's important to note that the index uses one-based indexing, so the value will be `1`, `2`, `3`, etc.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iPhone
+- Windows Phone 7 and 8
+- Bada 1.2 & 2.x
+- Tizen
+- Windows 8
+
+Quick Example
+-------------
+
+	// process the confirmation dialog result
+	function onConfirm(buttonIndex) {
+		alert('You selected button ' + buttonIndex);
+	}
+
+    // Show a custom confirmation dialog
+    //
+    function showConfirm() {
+        navigator.notification.confirm(
+	        'You are the winner!',  // message
+			onConfirm,				// callback to invoke with index of button pressed
+	        'Game Over',            // title
+	        'Restart,Exit'          // buttonLabels
+        );
+    }
+        
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Notification Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+            // Empty
+        }
+    
+		// process the confirmation dialog result
+		function onConfirm(buttonIndex) {
+			alert('You selected button ' + buttonIndex);
+		}
+
+        // Show a custom confirmation dialog
+        //
+        function showConfirm() {
+            navigator.notification.confirm(
+		        'You are the winner!',  // message
+				onConfirm,				// callback to invoke with index of button pressed
+		        'Game Over',            // title
+		        'Restart,Exit'          // buttonLabels
+            );
+        }
+    
+        </script>
+      </head>
+      <body>
+        <p><a href="#" onclick="showConfirm(); return false;">Show Confirm</a></p>
+      </body>
+    </html>
+
+Windows Phone 7 and 8 Quirks
+----------------------
+
+- There is no built-in browser function for `window.confirm`
+    - You can bind `window.confirm` by assigning `window.confirm = navigator.notification.confirm;`.
+- Calls to `alert` and `confirm` are non-blocking and result is only available asynchronously.
+
+
+Bada 2.x Quirks
+---------------
+
+- `confirm` uses the browser's built-in `alert` function.
+
+Bada 1.2 Quirks
+---------------
+
+- Ignore button names, always `'OK|Cancel'`.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/notification/notification.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/notification/notification.md b/docs/en/2.4.0rc1/cordova/notification/notification.md
new file mode 100644
index 0000000..1c33c9f
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/notification/notification.md
@@ -0,0 +1,80 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Notification
+============
+
+> Visual, audible, and tactile device notifications.
+
+Methods
+-------
+
+- notification.alert
+- notification.confirm
+- notification.beep
+- notification.vibrate
+
+Permissions
+-----------
+
+### Android
+
+#### app/res/xml/config.xml
+
+    <plugin name="Notification" value="org.apache.cordova.Notification"/>
+
+#### app/AndroidManifest.xml
+
+    <uses-permission android:name="android.permission.VIBRATE" />
+
+### Bada
+
+#### manifest.xml
+
+    <Privilege>
+        <Name>SYSTEM_SERVICE</Name>
+    </Privilege>
+
+### BlackBerry WebWorks
+
+#### www/plugins.xml
+
+    <plugin name="Notification" value="org.apache.cordova.notification.Notification" />
+
+#### www/config.xml
+
+    <feature id="blackberry.ui.dialog" />
+
+### iOS
+
+#### config.xml
+
+    <plugin name="Notification" value="CDVNotification" />
+
+### webOS
+
+    No permissions are required.
+
+### Windows Phone
+
+    No permissions are required.
+
+### Tizen
+
+    No permissions are required.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/notification/notification.vibrate.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/notification/notification.vibrate.md b/docs/en/2.4.0rc1/cordova/notification/notification.vibrate.md
new file mode 100644
index 0000000..e83709f
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/notification/notification.vibrate.md
@@ -0,0 +1,103 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+notification.vibrate
+====================
+
+Vibrates the device for the specified amount of time.
+
+    navigator.notification.vibrate(milliseconds)
+
+- __time:__ Milliseconds to vibrate the device. 1000 milliseconds equals 1 second (`Number`)
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 5.0 and higher)
+- iPhone
+- Windows Phone 7 and 8
+- Bada 1.2 & 2.x
+
+Quick Example
+-------------
+
+    // Vibrate for 2.5 seconds
+    //
+    navigator.notification.vibrate(2500);
+
+Full Example
+------------
+    
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Notification Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+            // Empty
+        }
+    
+        // Show a custom alert
+        //
+        function showAlert() {
+		    navigator.notification.alert(
+		        'You are the winner!',  // message
+		        'Game Over',            // title
+		        'Done'                  // buttonName
+		    );
+        }
+    
+        // Beep three times
+        //
+        function playBeep() {
+            navigator.notification.beep(3);
+        }
+    
+        // Vibrate for 2 seconds
+        //
+        function vibrate() {
+            navigator.notification.vibrate(2000);
+        }
+
+        </script>
+      </head>
+      <body>
+        <p><a href="#" onclick="showAlert(); return false;">Show Alert</a></p>
+        <p><a href="#" onclick="playBeep(); return false;">Play Beep</a></p>
+        <p><a href="#" onclick="vibrate(); return false;">Vibrate</a></p>
+      </body>
+    </html>
+
+iPhone Quirks
+-------------
+
+- __time:__ Ignores the time and vibrates for a pre-set amount of time.
+
+        navigator.notification.vibrate();
+        navigator.notification.vibrate(2500);   // 2500 is ignored

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.hide.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.hide.md b/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.hide.md
new file mode 100644
index 0000000..9d91ac9
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.hide.md
@@ -0,0 +1,80 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+hide
+===============
+
+Dismiss the splash screen.
+
+    navigator.splashscreen.hide();
+
+Description
+-----------
+
+navigator.splashscreen.hide() dismisses the applications splash screen.
+
+Supported Platforms
+-------------------
+
+- Android
+- iOS
+
+Quick Example
+-------------
+
+    navigator.splashscreen.hide();
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Splashscreen Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+			navigator.splashscreen.hide();
+        }
+		
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+      </body>
+    </html>
+
+iOS Quirk
+------------
+
+1. In your **config.xml**, you need to [modify the value](guide_project-settings_index.md.html#Project%20Settings) for **"AutoHideSplashScreen”** to false
+
+2. Then, if you want to delay hiding the splash screen for 2 seconds, you can do this in your **deviceready** event handler:
+
+        setTimeout(function() {
+            navigator.splashscreen.hide();
+        }, 2000);

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.md b/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.md
new file mode 100644
index 0000000..385bec5
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.md
@@ -0,0 +1,85 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Splashscreen
+==========
+
+> Enables developers to show/hide the application's splash screen.
+
+
+Methods
+-------
+
+- show
+- hide
+
+Permissions
+-----------
+
+### Android
+
+#### app/res/xml/config.xml
+
+    <plugin name="SplashScreen" value="org.apache.cordova.SplashScreen"/>
+
+### iOS
+
+#### config.xml
+
+    <plugin name="SplashScreen" value="CDVSplashScreen" />
+    
+Setup
+-----
+
+### Android
+
+1. Copy your splash screen image into the res/drawable directories of your Android project. The sizes of each image should be:
+
+   - xlarge (xhdpi): at least 960 x 720
+   - large (hdpi): at least 640 x 480
+   - medium (mdpi): at least 470 x 320
+   - small (ldpi): at least 426 x 320
+   
+   It is highly recommended that you use a [9-patch image](https://developer.android.com/tools/help/draw9patch.html) for your splash screen.
+
+2. In the onCreate method of the class that extends DroidGap add the following two lines:
+
+        super.setIntegerProperty("splashscreen", R.drawable.splash);
+        super.loadUrl(Config.getStartUrl(), 10000);
+
+    The first line 'super.setIntegerProperty' sets the image to be displayed as the splashscreen. If you have named your image anything other than splash.png you will have to modify this line.
+    The second line is the normal 'super.loadUrl' line but it has a second parameter which is the timeout value for the splash screen. In this example the splash screen will display for 10 seconds. If you want to dismiss the splash screen once you get the "deviceready" event you should call the navigator.splashscreen.hide() method.
+
+### iOS
+
+1. Copy your splash screen images into the **Resources/splash** directory of your iOS project. Only add the images for the devices you want to support (iPad screen size or iPhone screen size). The sizes of each image should be:
+
+   - Default-568h@2x~iphone.png (640x1136 pixels)
+   - Default-Landscape@2x~ipad.png (2048x1496 pixels)
+   - Default-Landscape~ipad.png (1024x768 pixels)
+   - Default-Portrait@2x~ipad.png (1536x2008 pixels)
+   - Default-Portrait~ipad.png (768x1024 pixels)
+   - Default@2x~iphone.png (640x960 pixels)
+   - Default~iphone.png (320x240 pixels)
+        
+        
+
+
+   
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.show.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.show.md b/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.show.md
new file mode 100644
index 0000000..e1d5ab1
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/splashscreen/splashscreen.show.md
@@ -0,0 +1,69 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+show
+===============
+
+Displays the splash screen.
+
+    navigator.splashscreen.show();
+
+Description
+-----------
+
+navigator.splashscreen.show() displays the applications splash screen.
+
+Supported Platforms
+-------------------
+
+- Android
+- iOS
+
+Quick Example
+-------------
+
+    navigator.splashscreen.show();
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Splashscreen Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+			navigator.splashscreen.show();
+        }
+		
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/database/database.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/database/database.md b/docs/en/2.4.0rc1/cordova/storage/database/database.md
new file mode 100644
index 0000000..96679c1
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/database/database.md
@@ -0,0 +1,121 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Database
+=======
+
+Contains methods that allow the user to manipulate the Database
+
+Methods
+-------
+
+- __transaction__: Runs a database transaction. 
+- __changeVersion__: method allows scripts to atomically verify the version number and change it at the same time as doing a schema update. 
+
+Details
+-------
+
+A Database object is returned from a call to `window.openDatabase()`.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iPhone
+- webOS
+- Tizen
+
+Transaction Quick Example
+------------------
+	function populateDB(tx) {
+		 tx.executeSql('DROP TABLE IF EXISTS DEMO');
+		 tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+		 tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+		 tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+	}
+	
+	function errorCB(err) {
+		alert("Error processing SQL: "+err.code);
+	}
+	
+	function successCB() {
+		alert("success!");
+	}
+	
+	var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+	db.transaction(populateDB, errorCB, successCB);
+
+Change Version Quick Example
+-------------------
+
+	var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+	db.changeVersion("1.0", "1.1");
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+			var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+			db.transaction(populateDB, errorCB, successCB);
+        }
+		
+		// Populate the database 
+		//
+		function populateDB(tx) {
+			 tx.executeSql('DROP TABLE IF EXISTS DEMO');
+			 tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+			 tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+			 tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+		}
+		
+		// Transaction error callback
+		//
+		function errorCB(tx, err) {
+			alert("Error processing SQL: "+err);
+		}
+		
+		// Transaction success callback
+		//
+		function successCB() {
+			alert("success!");
+		}
+	
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>Database</p>
+      </body>
+    </html>
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/localstorage/localstorage.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/localstorage/localstorage.md b/docs/en/2.4.0rc1/cordova/storage/localstorage/localstorage.md
new file mode 100644
index 0000000..5175909
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/localstorage/localstorage.md
@@ -0,0 +1,121 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+localStorage
+===============
+
+Provides access to a W3C Storage interface (http://dev.w3.org/html5/webstorage/#the-localstorage-attribute)
+
+    var storage = window.localStorage;
+
+Methods
+-------
+
+- __key__: Returns the name of the key at the position specified. 
+- __getItem__: Returns the item identified by it's key.
+- __setItem__: Saves and item at the key provided.
+- __removeItem__: Removes the item identified by it's key.
+- __clear__: Removes all of the key value pairs.
+
+Details
+-----------
+
+localStorage provides an interface to a W3C Storage interface.  It allows one to save data as key-value pairs.
+
+Note: window.sessionStorage provides the same interface, but is cleared between app launches.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iPhone
+- Windows Phone 7 and 8
+- webOS
+- Tizen
+
+Key Quick Example
+-------------
+
+    var keyName = window.localStorage.key(0);
+
+Set Item Quick Example
+-------------
+
+    window.localStorage.setItem("key", "value");
+
+Get Item Quick Example
+-------------
+
+	var value = window.localStorage.getItem("key");
+	// value is now equal to "value"
+
+Remove Item Quick Example
+-------------
+
+	window.localStorage.removeItem("key");
+
+Clear Quick Example
+-------------
+
+	window.localStorage.clear();
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+			window.localStorage.setItem("key", "value");
+			var keyname = window.localStorage.key(i);
+			// keyname is now equal to "key"
+			var value = window.localStorage.getItem("key");
+			// value is now equal to "value"
+			window.localStorage.removeItem("key");
+			window.localStorage.setItem("key2", "value2");
+			window.localStorage.clear();
+			// localStorage is now empty
+        }
+    
+
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>localStorage</p>
+      </body>
+    </html>
+
+
+Windows Phone 7 Quirks
+-------------
+
+- dot notation is NOT available on Windows Phone 7. Be sure to use : window.localStorage.setItem/getItem, and not the w3 spec defined calls to window.localStorage.someKey = 'someValue';

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/parameters/display_name.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/parameters/display_name.md b/docs/en/2.4.0rc1/cordova/storage/parameters/display_name.md
new file mode 100644
index 0000000..69af089
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/parameters/display_name.md
@@ -0,0 +1,23 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+database_displayname
+==================
+
+The display name of the database.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/parameters/name.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/parameters/name.md b/docs/en/2.4.0rc1/cordova/storage/parameters/name.md
new file mode 100644
index 0000000..c39dcbf
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/parameters/name.md
@@ -0,0 +1,23 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+database_name
+============
+
+The name of the database.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/parameters/size.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/parameters/size.md b/docs/en/2.4.0rc1/cordova/storage/parameters/size.md
new file mode 100644
index 0000000..9b46993
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/parameters/size.md
@@ -0,0 +1,23 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+database_size
+==============
+
+The size of the database in bytes.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/parameters/version.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/parameters/version.md b/docs/en/2.4.0rc1/cordova/storage/parameters/version.md
new file mode 100644
index 0000000..2e72923
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/parameters/version.md
@@ -0,0 +1,23 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+database_version
+=============
+
+The version of the database.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/sqlerror/sqlerror.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/sqlerror/sqlerror.md b/docs/en/2.4.0rc1/cordova/storage/sqlerror/sqlerror.md
new file mode 100644
index 0000000..b700222
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/sqlerror/sqlerror.md
@@ -0,0 +1,47 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+SQLError
+========
+
+A `SQLError` object is thrown when an error occurs.
+
+Properties
+----------
+
+- __code:__ One of the predefined error codes listed below.
+- __message:__ A description of the error.
+
+Constants
+---------
+
+- `SQLError.UNKNOWN_ERR`
+- `SQLError.DATABASE_ERR`
+- `SQLError.VERSION_ERR`
+- `SQLError.TOO_LARGE_ERR`
+- `SQLError.QUOTA_ERR`
+- `SQLError.SYNTAX_ERR`
+- `SQLError.CONSTRAINT_ERR`
+- `SQLError.TIMEOUT_ERR`
+
+Description
+-----------
+
+The `SQLError` object is thrown when an error occurs when manipulating a database.
+

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/sqlresultset/sqlresultset.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/sqlresultset/sqlresultset.md b/docs/en/2.4.0rc1/cordova/storage/sqlresultset/sqlresultset.md
new file mode 100644
index 0000000..77d552a
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/sqlresultset/sqlresultset.md
@@ -0,0 +1,140 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+SQLResultSet
+=======
+
+When the executeSql method of a SQLTransaction is called it will invoke it's callback with a SQLResultSet.
+
+Properties
+-------
+
+- __insertId__: the row ID of the row that the SQLResultSet object's SQL statement inserted into the database
+- __rowsAffected__: the number of rows that were changed by the SQL statement.  If the statement did not affect any rows then it is set to 0. 
+- __rows__: a SQLResultSetRowList representing the rows returned.  If no rows are returned the object will be empty.
+
+Details
+-------
+
+When you call the SQLTransaction executeSql method its callback methods will be called with a SQLResultSet object.  The result object has three properties.  The first is the `insertId` which will return the row number of a success SQL insert statement.  If the SQL statement is not an insert then the `insertId` is not set.  The `rowsAffected` is always 0 for a SQL select statement.  For insert or update statements it returns the number of rows that have been modified.  The final property is of type SQLResultSetList and it contains the data returned from a SQL select statement.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iPhone
+- webOS
+- Tizen
+
+Execute SQL Quick Example
+------------------
+
+	function queryDB(tx) {
+		tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
+	}
+
+	function querySuccess(tx, results) {
+    console.log("Returned rows = " + results.rows.length);
+    // this will be true since it was a select statement and so rowsAffected was 0
+    if (!resultSet.rowsAffected) {
+      console.log('No rows affected!');
+      return false;
+    }
+    // for an insert statement, this property will return the ID of the last inserted row
+    console.log("Last inserted row ID = " + results.insertId);
+	}
+	
+	function errorCB(err) {
+		alert("Error processing SQL: "+err.code);
+	}
+	
+	var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+	db.transaction(queryDB, errorCB);
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+		// Populate the database 
+		//
+		function populateDB(tx) {
+			tx.executeSql('DROP TABLE IF EXISTS DEMO');
+			tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+			tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+			tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+		}
+
+		// Query the database
+		//
+		function queryDB(tx) {
+			tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
+		}
+
+		// Query the success callback
+		//
+		function querySuccess(tx, results) {
+      console.log("Returned rows = " + results.rows.length);
+      // this will be true since it was a select statement and so rowsAffected was 0
+      if (!results.rowsAffected) {
+        console.log('No rows affected!');
+        return false;
+      }
+      // for an insert statement, this property will return the ID of the last inserted row
+      console.log("Last inserted row ID = " + results.insertId);
+		}
+
+		// Transaction error callback
+		//
+		function errorCB(err) {
+			console.log("Error processing SQL: "+err.code);
+		}
+
+		// Transaction success callback
+		//
+		function successCB() {
+			var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+			db.transaction(queryDB, errorCB);
+		}
+
+		// Cordova is ready
+		//
+		function onDeviceReady() {
+			var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+			db.transaction(populateDB, errorCB, successCB);
+		}
+	
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>Database</p>
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md b/docs/en/2.4.0rc1/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md
new file mode 100644
index 0000000..326d59c
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/sqlresultsetrowlist/sqlresultsetrowlist.md
@@ -0,0 +1,137 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+SQLResultSetRowList
+=======
+
+One of the properties of the SQLResultSet containing the rows returned from a SQL query.
+
+Properties
+-------
+
+- __length__: the number of rows returned by the SQL query
+
+Methods
+-------
+
+- __item__: returns the row at the specified index represented by a JavaScript object.
+
+Details
+-------
+
+The SQLResultSetRowList contains the data returned from a SQL select statement.  The object contains a length property letting you know how many rows the select statement has been returned.  To get a row of data you would call the `item` method specifying an index.  The item method returns a JavaScript Object who's properties are the columns of the database the select statement was executed against.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iPhone
+- webOS
+- Tizen
+
+Execute SQL Quick Example
+------------------
+
+	function queryDB(tx) {
+		tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
+	}
+
+	function querySuccess(tx, results) {
+		var len = results.rows.length;
+	   	console.log("DEMO table: " + len + " rows found.");
+	   	for (var i=0; i<len; i++){
+	        console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data =  " + results.rows.item(i).data);
+		}
+	}
+	
+	function errorCB(err) {
+		alert("Error processing SQL: "+err.code);
+	}
+	
+	var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+	db.transaction(queryDB, errorCB);
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+		// Populate the database 
+		//
+		function populateDB(tx) {
+			tx.executeSql('DROP TABLE IF EXISTS DEMO');
+			tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+			tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+			tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+		}
+
+		// Query the database
+		//
+		function queryDB(tx) {
+			tx.executeSql('SELECT * FROM DEMO', [], querySuccess, errorCB);
+		}
+
+		// Query the success callback
+		//
+		function querySuccess(tx, results) {
+			var len = results.rows.length;
+			console.log("DEMO table: " + len + " rows found.");
+			for (var i=0; i<len; i++){
+				console.log("Row = " + i + " ID = " + results.rows.item(i).id + " Data =  " + results.rows.item(i).data);
+			}
+		}
+
+		// Transaction error callback
+		//
+		function errorCB(err) {
+			console.log("Error processing SQL: "+err.code);
+		}
+
+		// Transaction success callback
+		//
+		function successCB() {
+			var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+			db.transaction(queryDB, errorCB);
+		}
+
+		// Cordova is ready
+		//
+		function onDeviceReady() {
+			var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+			db.transaction(populateDB, errorCB, successCB);
+		}
+	
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>Database</p>
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/sqltransaction/sqltransaction.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/sqltransaction/sqltransaction.md b/docs/en/2.4.0rc1/cordova/storage/sqltransaction/sqltransaction.md
new file mode 100644
index 0000000..79ac0dc
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/sqltransaction/sqltransaction.md
@@ -0,0 +1,114 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+SQLTransaction
+=======
+
+Contains methods that allow the user to execute SQL statements against the Database.
+
+Methods
+-------
+
+- __executeSql__: executes a SQL statement
+
+Details
+-------
+
+When you call a Database objects transaction method it's callback methods will be called with a SQLTransaction object.  The user can build up a database transaction by calling the executeSql method multiple times.  
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iPhone
+- webOS
+- Tizen
+
+Execute SQL Quick Example
+------------------
+
+	function populateDB(tx) {
+		 tx.executeSql('DROP TABLE IF EXISTS DEMO');
+		 tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+		 tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+		 tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+	}
+	
+	function errorCB(err) {
+		alert("Error processing SQL: "+err);
+	}
+	
+	function successCB() {
+		alert("success!");
+	}
+	
+	var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+	db.transaction(populateDB, errorCB, successCB);
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+			var db = window.openDatabase("Database", "1.0", "Cordova Demo", 200000);
+			db.transaction(populateDB, errorCB, successCB);
+        }
+		
+		// Populate the database 
+		//
+		function populateDB(tx) {
+			 tx.executeSql('DROP TABLE IF EXISTS DEMO');
+			 tx.executeSql('CREATE TABLE IF NOT EXISTS DEMO (id unique, data)');
+			 tx.executeSql('INSERT INTO DEMO (id, data) VALUES (1, "First row")');
+			 tx.executeSql('INSERT INTO DEMO (id, data) VALUES (2, "Second row")');
+		}
+		
+		// Transaction error callback
+		//
+		function errorCB(err) {
+			alert("Error processing SQL: "+err);
+		}
+		
+		// Transaction success callback
+		//
+		function successCB() {
+			alert("success!");
+		}
+	
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>SQLTransaction</p>
+      </body>
+    </html>

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/storage.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/storage.md b/docs/en/2.4.0rc1/cordova/storage/storage.md
new file mode 100644
index 0000000..d2ecc6c
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/storage.md
@@ -0,0 +1,83 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+Storage
+==========
+
+> Provides access to the devices storage options.
+
+This API is based on the [W3C Web SQL Database Specification](http://dev.w3.org/html5/webdatabase/) and [W3C Web Storage API Specification](http://dev.w3.org/html5/webstorage/). Some devices already provide an implementation of this spec. For those devices, the built-in support is used instead of replacing it with Cordova's implementation. For devices that don't have storage support, Cordova's implementation should be compatible with the W3C specification.
+
+Methods
+-------
+
+- openDatabase
+
+Arguments
+---------
+
+- database_name
+- database_version
+- database_displayname
+- database_size
+
+Objects
+-------
+
+- Database
+- SQLTransaction
+- SQLResultSet
+- SQLResultSetRowList
+- SQLError
+- localStorage
+
+Permissions
+-----------
+
+### Android
+
+#### app/res/xml/config.xml
+
+    <plugin name="Storage" value="org.apache.cordova.Storage" />
+
+### Bada
+
+    No permissions are required.
+
+### BlackBerry WebWorks
+
+#### www/config.xml
+
+    <feature id="blackberry.widgetcache" required="true" version="1.0.0.0" />
+
+### iOS
+
+    No permissions are required.
+
+### webOS
+
+    No permissions are required.
+
+### Windows Phone
+
+    No permissions are required.
+
+### Tizen
+
+    No permissions are required.

http://git-wip-us.apache.org/repos/asf/cordova-docs/blob/f52c2140/docs/en/2.4.0rc1/cordova/storage/storage.opendatabase.md
----------------------------------------------------------------------
diff --git a/docs/en/2.4.0rc1/cordova/storage/storage.opendatabase.md b/docs/en/2.4.0rc1/cordova/storage/storage.opendatabase.md
new file mode 100644
index 0000000..b953147
--- /dev/null
+++ b/docs/en/2.4.0rc1/cordova/storage/storage.opendatabase.md
@@ -0,0 +1,75 @@
+---
+license: Licensed to the Apache Software Foundation (ASF) under one
+         or more contributor license agreements.  See the NOTICE file
+         distributed with this work for additional information
+         regarding copyright ownership.  The ASF licenses this file
+         to you under the Apache License, Version 2.0 (the
+         "License"); you may not use this file except in compliance
+         with the License.  You may obtain a copy of the License at
+
+           http://www.apache.org/licenses/LICENSE-2.0
+
+         Unless required by applicable law or agreed to in writing,
+         software distributed under the License is distributed on an
+         "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+         KIND, either express or implied.  See the License for the
+         specific language governing permissions and limitations
+         under the License.
+---
+
+openDatabase
+===============
+
+Returns a new Database object.
+
+    var dbShell = window.openDatabase(database_name, database_version, database_displayname, database_size);
+
+Description
+-----------
+
+window.openDatabase returns a new Database object.
+
+This method will create a new SQL Lite Database and return a Database object.  Use the Database Object to manipulate the data.
+
+Supported Platforms
+-------------------
+
+- Android
+- BlackBerry WebWorks (OS 6.0 and higher)
+- iPhone
+- webOS
+- Tizen
+
+Quick Example
+-------------
+
+    var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
+
+Full Example
+------------
+
+    <!DOCTYPE html>
+    <html>
+      <head>
+        <title>Storage Example</title>
+
+        <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script>
+        <script type="text/javascript" charset="utf-8">
+
+        // Wait for Cordova to load
+        //
+        document.addEventListener("deviceready", onDeviceReady, false);
+
+        // Cordova is ready
+        //
+        function onDeviceReady() {
+			var db = window.openDatabase("test", "1.0", "Test DB", 1000000);
+        }
+		
+        </script>
+      </head>
+      <body>
+        <h1>Example</h1>
+        <p>Open Database</p>
+      </body>
+    </html>