diff --git a/index.html b/index.html
index 21e8d05e..341f1054 100644
--- a/index.html
+++ b/index.html
@@ -32,6 +32,7 @@
+
diff --git a/src/js/dialogBox.js b/src/js/dialogBox.js
new file mode 100644
index 00000000..8bdaaeec
--- /dev/null
+++ b/src/js/dialogBox.js
@@ -0,0 +1,234 @@
+/*
+ * Rapid Interface Builder (RIB) - A simple WYSIWYG HTML5 app creator
+ * Copyright (c) 2011, Intel Corporation.
+ *
+ * This program is licensed under the terms and conditions of the
+ * Apache License, version 2.0. The full text of the Apache License is at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ */
+
+/*
+ * The code is a forked version from the jQuery dialogBox original -
+ * https://github.com/xuqingkuang/jquery-dialogbox
+ *
+ * Here is a jQuery UI plugin version, but it's buggy and can not
+ * meet our requirements - https://github.com/xuqingkuang/jquery-ui-dialogbox
+ *
+ */
+
+/**
+
+JQuery Dialog Box - Class used for build the common dialogs based on
+ JQuery UI Dialog component.
+
+(c) 2012 Xuqing Kuang
+Licenced under the Apache licences
+
+Requirements:
+ 1. jQuery > 1.6
+ 2. jQuery UI
+
+Simple Usage:
+ 1. Replace alert built in browser.
+ >> $.rib.dialogBox.overrideAlert();
+ >> alert('Hello jQuery!');
+
+ 2. Simply alert like dialog.
+ >> $.rib.dialogBox('Hello jQuery!', 'alert');
+
+ 3. Popup the dialog with options, for more info, see defaultOptions.
+ >> $.rib.dialogBox({
+ 'type': 'yesno', // Dialog type - alert, confirm, prompt, yesno
+ 'content': 'Hello jQuery', // Dialog content.
+ })
+
+ 5. The usage as same as jQuery UI Dialog
+ >> $('Hello').dialogBox({'type': 'confirm'})
+
+All of options are compatible with jQuery UI Dialog component.
+
+For more information, see README.md in original repo.
+
+**/
+
+(function($, undefined) {
+ var dialogBox = {
+ /*
+ * The default options
+ * It will be cloned each time.
+ */
+ defaultOptions: {
+ // Values built-in, following values need to defined to false
+ // because of undefined is using to check the key exists.
+ 'type': 'alert',
+ 'title': false,
+ 'content': '',
+ // 'async': false, FIXME: The feature is not ready yet.
+ 'modal': true,
+
+ // Elements, it could be override
+ 'inputElement': $('').attr({
+ 'type': 'text',
+ 'name': 'input'
+ }),
+
+ // Callback for default elements clicked
+ 'confirmCallback': false,
+ },
+
+
+ /*
+ * Functions
+ */
+ constructDialogFormElements: function(options) {
+ // initial elements
+ var dialogFormElement = $('