diff --git a/scp/js/scp.js b/scp/js/scp.js
index 10b8d733121107ce95840054cd6024d08bba9d54..0d86a48c20a2ee4a2f5daa127452092d735ebca1 100644
--- a/scp/js/scp.js
+++ b/scp/js/scp.js
@@ -87,6 +87,10 @@ $(document).ready(function(){
         if(!fObj.data('changed')){
             fObj.data('changed', true);
             $('input[type=submit]', fObj).css('color', 'red');
+            $(window).bind('beforeunload', function(e) {
+                e.returnValue='Are you sure you want to leave? Any changes or info you\'ve entered will be discarded!';
+                return e.returnValue;
+             });
         }
     });
 
@@ -97,9 +101,19 @@ $(document).ready(function(){
             $('label', fObj).removeAttr('style');
             $('label', fObj).removeClass('strike');
             fObj.data('changed', false);
+            $(window).unbind('beforeunload');
         }
     });
 
+    $('form#save').submit(function() {
+        $(window).unbind('beforeunload');
+
+        return true;
+     });
+
+    $('select#setting_options').change(function() {
+        $(this).closest('form').submit();
+     });
 
     $(".clearrule").live('click',function() {
         $(this).closest("tr").find(":input").val('');
diff --git a/scp/settings.php b/scp/settings.php
index 162ea816c844ec9702a2723a2ba672f391def96b..d7809d63751039c61639efd448c5718a888cb7ac 100644
--- a/scp/settings.php
+++ b/scp/settings.php
@@ -44,7 +44,7 @@ require(STAFFINC_DIR.'header.inc.php');
 <div style="padding-top:10px;padding-bottom:5px;">
     <form method="get" action="settings.php">
     Setting Option: 
-    <select name="t" style="width:300px;">
+    <select id="setting_options" name="t" style="width:300px;">
         <option value="">&mdash; Select Setting Group &mdash;</option>
         <?php
         foreach($SettingOptions as $k=>$v) {