[CB-4887] Added support for true/false for hidekeyboardformaccessorybar
diff --git a/blackberry10/bin/templates/project/cordova/lib/config-parser.js b/blackberry10/bin/templates/project/cordova/lib/config-parser.js
index 881f49b..e887103 100644
--- a/blackberry10/bin/templates/project/cordova/lib/config-parser.js
+++ b/blackberry10/bin/templates/project/cordova/lib/config-parser.js
@@ -539,7 +539,9 @@
 
 function processCordovaPreferences(data, widgetConfig) {
     if (data.preference) {
-        var preference = JSON.parse(JSON.stringify(processParamObj(data.preference)).toLowerCase());
+        var preference = JSON.parse(JSON.stringify(processParamObj(data.preference)).toLowerCase()),
+            hideFormControl = preference.hidekeyboardformaccessorybar;
+
         widgetConfig.packageCordovaJs = preference.packagecordovajs === "enable";
         widgetConfig.autoHideSplashScreen = preference.autohidesplashscreen !== "false";
 
@@ -550,17 +552,17 @@
 
         // <preference name="childBrowser" value="enable or disable" />
         if (preference.childbrowser) {
-            widgetConfig.enableChildWebView = ((preference.childbrowser + '').toLowerCase() === 'disable') === false;
+            widgetConfig.enableChildWebView = (preference.childbrowser === 'disable') === false;
         }
 
-        // <preference name="HideKeyboardFormAccessoryBar" value="enable or disable" />
+        // <preference name="HideKeyboardFormAccessoryBar" value="enable/true or disable/false" />
         if (preference.hidekeyboardformaccessorybar) {
-            widgetConfig.enableFormControl = ((preference.hidekeyboardformaccessorybar + '').toLowerCase() === 'enable') === false;
+            widgetConfig.enableFormControl = (hideFormControl !== 'enable' ) && (hideFormControl !== 'true');
         }
 
         // <preference name="popupBlocker" value="enable or disable" />
         if (preference.popupblocker) {
-            widgetConfig.enablePopupBlocker = ((preference.popupblocker + '').toLowerCase() === 'enable') === true;
+            widgetConfig.enablePopupBlocker = (preference.popupblocker === 'enable') === true;
         }
 
         // <preference name="orientation" value="portrait, landscape, north, auto or default" />
@@ -575,14 +577,13 @@
 
         // <preference name="theme" value="bright, dark, inherit or default" />
         if (preference.theme && (typeof preference.theme === "string")) {
-            preference.theme = preference.theme.toLowerCase();
             if (preference.theme ===  "bright" || preference.theme === "dark" || preference.theme === "inherit" || preference.theme ===  "default") {
                 widgetConfig.theme = preference.theme;
             }
         }
 
         // <preference name="webSecurity" value="enable or disable" />
-        if (preference.websecurity && (typeof preference.websecurity === "string") && (preference.websecurity.toLowerCase() === "disable")) {
+        if (preference.websecurity && (typeof preference.websecurity === "string") && (preference.websecurity === "disable")) {
             widgetConfig.enableWebSecurity = false;
             logger.warn(localize.translate("WARNING_WEBSECURITY_DISABLED"));
         }
@@ -656,8 +657,8 @@
                 logger.warn(localize.translate("WARNING_ORIENTATION_DEPRECATED"));
             }
         }
-    }
-};
+    };
+}
 
 _self = {
     parse: function (xmlPath, session, callback) {
diff --git a/blackberry10/bin/test/cordova/unit/spec/lib/config-parser.js b/blackberry10/bin/test/cordova/unit/spec/lib/config-parser.js
index 8d9a8a5..7a5e3bc 100644
--- a/blackberry10/bin/test/cordova/unit/spec/lib/config-parser.js
+++ b/blackberry10/bin/test/cordova/unit/spec/lib/config-parser.js
@@ -1298,6 +1298,17 @@
                 });
             });
 
+            it("sets enableFormControl to true when HideKeyboardFormAccessoryBar value is false", function () {
+                var data = testUtilities.cloneObj(testData.xml2jsConfig);
+                data['preference'] = { '@': { name: 'HideKeyboardFormAccessoryBar', value: 'false'  } };
+
+                mockParsing(data);
+
+                configParser.parse(configPath, session, function (configObj) {
+                    expect(configObj.enableFormControl).toBe(true);
+                });
+            });
+
             it("sets enableFormControl to false when value is enable", function () {
                 var data = testUtilities.cloneObj(testData.xml2jsConfig);
                 data['preference'] = { '@': { name: 'HideKeyboardFormAccessoryBar', value: 'enable' } };
@@ -1308,6 +1319,17 @@
                     expect(configObj.enableFormControl).toBe(false);
                 });
             });
+
+            it("sets enableFormControl to false when value is true", function () {
+                var data = testUtilities.cloneObj(testData.xml2jsConfig);
+                data['preference'] = { '@': { name: 'HideKeyboardFormAccessoryBar', value: 'true' } };
+
+                mockParsing(data);
+
+                configParser.parse(configPath, session, function (configObj) {
+                    expect(configObj.enableFormControl).toBe(false);
+                });
+            });
         });
 
         describe('setting theme for some core ui elements', function () {