From 73ec6bfbfbfb5a03162777632a77c05093d92549 Mon Sep 17 00:00:00 2001
From: mcramer <m.cramer@pixcept.de>
Date: Fri, 24 Aug 2012 08:51:46 -0400
Subject: [PATCH] Fixed theme paths Implemented:  FS#2388 - Optional confirm window on changing tabs

---
 interface/web/js/scrigo.js.php |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php
index b44ff10..e1ef2c3 100644
--- a/interface/web/js/scrigo.js.php
+++ b/interface/web/js/scrigo.js.php
@@ -4,7 +4,11 @@
 	$lang = (isset($_SESSION['s']['language']) && $_SESSION['s']['language'] != '')?$_SESSION['s']['language']:'en';
 	include_once(ISPC_ROOT_PATH.'/web/strengthmeter/lib/lang/'.$lang.'_strengthmeter.lng');
 ?>
-
+var pageFormChanged = false;
+var tabChangeWarningTxt = '';
+var tabChangeDiscardTxt = '';
+var tabChangeWarning = false;
+var tabChangeDiscard = false;
 redirect = '';
 
 function reportError(request) {
@@ -24,6 +28,7 @@
 											dataType: "html",
 											success: function(data, textStatus, jqXHR) {
 												jQuery('#pageContent').html(jqXHR.responseText);
+                                                pageFormChanged = false;
 											},
 											error: function() {
 												reportError('Ajax Request was not successful.'+pagename);
@@ -87,6 +92,7 @@
 													document.location.href = 'index.php';
 												} else {
 													jQuery('#pageContent').html(jqXHR.responseText);
+                                                    pageFormChanged = false;
 												}
 												loadMenus();
 											},
@@ -118,6 +124,7 @@
 													//window.setTimeout('loadContent(redirect)', 1000);
 												} else {
 													jQuery('#pageContent').html(jqXHR.responseText);
+                                                    pageFormChanged = false;
 												}
 											},
 											error: function(jqXHR, textStatus, errorThrown) {
@@ -150,6 +157,7 @@
 													//window.setTimeout('loadContent(redirect)', 1000);
 												} else {
 													jQuery('#pageContent').html(jqXHR.responseText);
+                                                    pageFormChanged = false;
 												}
 											},
 											error: function(jqXHR, textStatus, errorThrown) {
@@ -202,8 +210,10 @@
 }
 
 function loadContent(pagename) {
+  var params = arguments[1];
   var pageContentObject2 = jQuery.ajax({	type: "GET", 
 											url: pagename,
+                                            data: (params ? params : null),
 											dataType: "html",
 											beforeSend: function() {
 												jQuery('#pageContent').html('<div id="ajaxloader"><img src="themes/default/images/ajax-loader.gif" /></div>');
@@ -222,6 +232,7 @@
 													//jQuery.each(reponseScript, function(idx, val) { eval(val.text); } );
 													
 													jQuery('#pageContent').html(jqXHR.responseText);
+                                                    pageFormChanged = false;
 												}
 											},
 											error: function() {
@@ -242,6 +253,7 @@
 													loadContent(parts[1]);
 												} else {
 													jQuery('#pageContent').html(jqXHR.responseText);
+                                                    pageFormChanged = false;
 												}
 											},
 											error: function() {
@@ -293,7 +305,28 @@
 function changeTab(tab,target) {
 	//document.forms[0].next_tab.value = tab;
 	document.pageForm.next_tab.value = tab;
-	submitForm('pageForm',target);
+    
+    var id = document.pageForm.id.value;
+    if(tabChangeDiscard == 'y') {
+        if(id && (pageFormChanged == false || window.confirm(tabChangeDiscardTxt))) {
+            var next_tab = tab;
+            loadContent(target, {'next_tab': next_tab, 'id': id});
+        } else {
+            return false;
+        }
+    } else {
+        if(id && tabChangeWarning == 'y' && pageFormChanged == true) {
+            if(window.confirm(tabChangeWarningTxt)) {
+                submitForm('pageForm', target);
+            } else {
+                var next_tab = tab;
+                var id = document.pageForm.id.value;
+                loadContent(target, {'next_tab': next_tab, 'id': id});
+            }
+        } else {
+            submitForm('pageForm',target);
+        }
+    }
 }
 	
 function del_record(link,confirmation) {

--
Gitblit v1.9.1