Merge with 'Improve UI Visibility' branch r3611
authorDavid Baz Fayos <david.baz@openbravo.com>
Sat, 19 Apr 2008 20:01:22 +0000
changeset 689 a9f6becc7901
parent 688 2102dcd83ee2
child 690 6e6b258de236
Merge with 'Improve UI Visibility' branch r3611
database/sourcedata/AD_MODEL_OBJECT.xml
database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml
database/sourcedata/AD_TEXTINTERFACES.xml
database/sourcedata/AD_TEXTINTERFACES_TRL.xml
src-wad/src/org/openbravo/wad/Template_ActionButton.html
src-wad/src/org/openbravo/wad/Template_Edition.html
src-wad/src/org/openbravo/wad/Template_Relation.html
src-wad/src/org/openbravo/wad/WadActionButton.java
src-wad/src/org/openbravo/wad/controls/WADControl.html
src-wad/src/org/openbravo/wad/controls/WADDate.html
src-wad/src/org/openbravo/wad/controls/WADDateTime.html
src-wad/src/org/openbravo/wad/controls/WADInteger.html
src-wad/src/org/openbravo/wad/controls/WADLink.html
src-wad/src/org/openbravo/wad/controls/WADList.html
src-wad/src/org/openbravo/wad/controls/WADMemo.html
src-wad/src/org/openbravo/wad/controls/WADNumber.html
src-wad/src/org/openbravo/wad/controls/WADSearch.html
src-wad/src/org/openbravo/wad/controls/WADString.html
src-wad/src/org/openbravo/wad/controls/WADStringEncrypted.html
src-wad/src/org/openbravo/wad/controls/WADTime.html
src-wad/src/org/openbravo/wad/controls/WADYesNo.html
src-wad/src/org/openbravo/wad/javasource.javaxml
src/org/openbravo/erpCommon/ad_actionButton/DocAction.html
src/org/openbravo/erpCommon/ad_actionButton/DropRegFactAcct.html
src/org/openbravo/erpCommon/ad_actionButton/Posted.html
src/org/openbravo/erpCommon/ad_forms/GenerateInvoicesmanual.html
src/org/openbravo/erpCommon/businessUtility/WindowTabs.java
src/org/openbravo/erpCommon/security/Login.java
src/org/openbravo/erpCommon/security/Login_FS.html
src/org/openbravo/erpCommon/security/Login_FS.xml
src/org/openbravo/erpCommon/security/Menu.java
src/org/openbravo/erpCommon/utility/LeftTabsBar.java
src/org/openbravo/erpCommon/utility/PopupLoading.html
src/org/openbravo/erpCommon/utility/PopupLoading.java
src/org/openbravo/erpCommon/utility/PopupLoading.xml
src/org/openbravo/erpCommon/utility/ToolBar.java
src/org/openbravo/erpCommon/utility/VerticalMenu.html
src/org/openbravo/erpCommon/utility/VerticalMenu.java
src/org/openbravo/erpCommon/utility/VerticalMenuLoading.html
src/org/openbravo/erpCommon/utility/VerticalMenuLoading.xml
web/js/appStatus.js
web/js/openbravo/widget/DataGrid.js
web/js/utils.js
web/skins/Default/Main/Client/Button/Button.css
web/skins/Default/Main/LeftTabsBar/LeftTabsBar.css
web/skins/Default/Main/LeftTabsBar/iconNewView.selected.png
web/skins/Default/Main/Main_Edition.css
web/skins/Default/Main/Main_Manual.css
web/skins/Default/Main/Main_Relation.css
web/skins/Default/Main/Status/Status.css
web/skins/Default/Main/Status/processingBackground.png
web/skins/Default/Main/Status/windowLoading.gif
web/skins/Default/Main/Tabs/Tabs.css
web/skins/Default/Main/Tabs/icon.tabTitle.normal.gif
web/skins/Default/Main/Tabs/icon.tabTitle.processing.gif
web/skins/Default/Main/Tabs/tabTitle.separator.png
web/skins/Default/Main/ToolBar/ToolBar.css
web/skins/Default/Main/ToolBar/iconFirst.disabled.png
web/skins/Default/Main/ToolBar/iconLast.disabled.png
web/skins/Default/Main/ToolBar/iconNext.disabled.png
web/skins/Default/Main/ToolBar/iconPrevious.disabled.png
web/skins/Default/Main/ToolBar/iconSave.disabled.png
web/skins/Default/Main/ToolBar/iconSaveAndNew.disabled.png
web/skins/Default/Main/ToolBar/iconSaveAndNext.disabled.png
web/skins/Default/Main/ToolBar/iconSaveAndRelation.disabled.png
web/skins/Default/Main/ToolBar/iconUndo.disabled.png
web/skins/Default/Menu/Menu.css
web/skins/Default/Menu/Status/Status.css
web/skins/Default/Menu/Status/processingBackground.png
web/skins/Default/Menu/Status/windowLoading.gif
web/skins/Default/Popup/Popup.css
web/skins/Default/Popup/Status/Status.css
web/skins/Default/Popup/Status/processingBackground.png
web/skins/Default/Popup/Status/windowLoading.gif
web/skins/Default/Popup/WindowLogo/WindowLogo.css
--- a/database/sourcedata/AD_MODEL_OBJECT.xml	Sat Apr 19 15:07:49 2008 +0000
+++ b/database/sourcedata/AD_MODEL_OBJECT.xml	Sat Apr 19 20:01:22 2008 +0000
@@ -1496,6 +1496,7 @@
   <AD_MODEL_OBJECT AD_MODEL_OBJECT_ID="1003100000" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-02-25 16:41:13.0" CREATEDBY="100" UPDATED="2008-02-25 16:41:13.0" UPDATEDBY="100" ACTION="X" CLASSNAME="org.openbravo.erpCommon.ad_forms.ShowSessionPreferences" ISDEFAULT="Y" AD_FORM_ID="1003100000" />
   <AD_MODEL_OBJECT AD_MODEL_OBJECT_ID="1003100002" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-02-25 16:53:39.0" CREATEDBY="100" UPDATED="2008-02-25 16:53:39.0" UPDATEDBY="100" ACTION="X" CLASSNAME="org.openbravo.erpCommon.ad_forms.ShowSessionVariables" ISDEFAULT="Y" AD_FORM_ID="1003100002" />
   <AD_MODEL_OBJECT AD_MODEL_OBJECT_ID="1000500008" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-06 20:16:39.0" CREATEDBY="100" UPDATED="2008-04-07 18:18:29.0" UPDATEDBY="100" ACTION="R" CLASSNAME="org.openbravo.erpCommon.ad_reports.ReportParetoProduct" ISDEFAULT="Y" AD_PROCESS_ID="1000500000" />
+  <AD_MODEL_OBJECT AD_MODEL_OBJECT_ID="1000080000" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 20:16:39.0" CREATEDBY="100" UPDATED="2008-04-19 20:16:39.0" UPDATEDBY="100" ACTION="X" CLASSNAME="org.openbravo.erpCommon.utility.PopupLoading" ISDEFAULT="Y" />
   <AD_MODEL_OBJECT AD_MODEL_OBJECT_ID="1004400004" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-01-29 19:21:41.0" CREATEDBY="100" UPDATED="2008-01-29 19:21:41.0" UPDATEDBY="100" ACTION="C" CLASSNAME="org.openbravo.erpCommon.ad_callouts.SL_RequisitionLine_Amt" ISDEFAULT="Y" AD_CALLOUT_ID="1004400000" />
   <AD_MODEL_OBJECT AD_MODEL_OBJECT_ID="1004400006" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-01-29 19:22:28.0" CREATEDBY="100" UPDATED="2008-01-29 19:22:28.0" UPDATEDBY="100" ACTION="C" CLASSNAME="org.openbravo.erpCommon.ad_callouts.SL_RequisitionLine_Product" ISDEFAULT="Y" AD_CALLOUT_ID="800013" />
   <AD_MODEL_OBJECT AD_MODEL_OBJECT_ID="1004400008" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-01-29 19:23:41.0" CREATEDBY="100" UPDATED="2008-01-29 19:23:41.0" UPDATEDBY="100" ACTION="C" CLASSNAME="org.openbravo.erpCommon.ad_callouts.SL_RequisitionLine_Conversion" ISDEFAULT="Y" AD_CALLOUT_ID="1004400001" />
--- a/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml	Sat Apr 19 15:07:49 2008 +0000
+++ b/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml	Sat Apr 19 20:01:22 2008 +0000
@@ -2844,6 +2844,7 @@
   <AD_MODEL_OBJECT_MAPPING AD_MODEL_OBJECT_MAPPING_ID="1000500014" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-03-12 18:25:29.0" CREATEDBY="100" UPDATED="2008-03-12 18:25:29.0" UPDATEDBY="100" AD_MODEL_OBJECT_ID="1000500006" MAPPINGNAME="/GeneralAccountReportSetup/Groupingcategory_Excel.xls" ISDEFAULT="N" />
   <AD_MODEL_OBJECT_MAPPING AD_MODEL_OBJECT_MAPPING_ID="1000500015" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-03-12 18:25:29.0" CREATEDBY="100" UPDATED="2008-03-12 18:25:29.0" UPDATEDBY="100" AD_MODEL_OBJECT_ID="1000500007" MAPPINGNAME="/ad_callouts/ComboReloads800263.html" ISDEFAULT="N" />
   <AD_MODEL_OBJECT_MAPPING AD_MODEL_OBJECT_MAPPING_ID="1000500016" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-06 20:17:04.0" CREATEDBY="100" UPDATED="2008-04-07 18:18:43.0" UPDATEDBY="100" AD_MODEL_OBJECT_ID="1000500008" MAPPINGNAME="/ad_reports/ReportParetoProduct.html" ISDEFAULT="Y" />
+  <AD_MODEL_OBJECT_MAPPING AD_MODEL_OBJECT_MAPPING_ID="1000080000" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 20:16:39.0" CREATEDBY="100" UPDATED="2008-04-19 20:16:39.0" UPDATEDBY="100" AD_MODEL_OBJECT_ID="1000080000" MAPPINGNAME="/utility/PopupLoading.html" ISDEFAULT="Y" />
   <AD_MODEL_OBJECT_MAPPING AD_MODEL_OBJECT_MAPPING_ID="1000600000" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2007-10-21 20:26:50.0" CREATEDBY="100" UPDATED="2007-10-21 20:26:50.0" UPDATEDBY="100" AD_MODEL_OBJECT_ID="804366" MAPPINGNAME="/ad_reports/ReportCashFlow_F0.html" ISDEFAULT="N" />
   <AD_MODEL_OBJECT_MAPPING AD_MODEL_OBJECT_MAPPING_ID="1000600001" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2007-10-21 20:26:57.0" CREATEDBY="100" UPDATED="2007-10-21 20:26:57.0" UPDATEDBY="100" AD_MODEL_OBJECT_ID="804366" MAPPINGNAME="/ad_reports/ReportCashFlow_F1.html" ISDEFAULT="N" />
   <AD_MODEL_OBJECT_MAPPING AD_MODEL_OBJECT_MAPPING_ID="1003100000" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-02-25 16:41:13.0" CREATEDBY="100" UPDATED="2008-02-25 16:48:09.0" UPDATEDBY="100" AD_MODEL_OBJECT_ID="1003100000" MAPPINGNAME="/ad_forms/ShowSessionPreferences.html" ISDEFAULT="Y" />
--- a/database/sourcedata/AD_TEXTINTERFACES.xml	Sat Apr 19 15:07:49 2008 +0000
+++ b/database/sourcedata/AD_TEXTINTERFACES.xml	Sat Apr 19 20:01:22 2008 +0000
@@ -1484,6 +1484,13 @@
   <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1000500019" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-07 18:29:14.0" CREATEDBY="0" UPDATED="2008-04-07 18:29:14.0" UPDATEDBY="0" TEXT="Percentage" FILENAME="/org/openbravo/erpCommon/ad_reports/ReportParetoProduct.html" ISUSED="Y" />
   <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1000500020" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-11 12:59:48.0" CREATEDBY="0" UPDATED="2008-04-11 12:59:48.0" UPDATEDBY="0" TEXT="Value" FILENAME="/org/openbravo/erpCommon/ad_reports/ReportParetoProduct.html" ISUSED="Y" />
   <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1000500021" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-11 12:59:48.0" CREATEDBY="0" UPDATED="2008-04-11 12:59:48.0" UPDATEDBY="0" TEXT="Update ABC" FILENAME="/org/openbravo/erpCommon/ad_reports/ReportParetoProduct.html" ISUSED="Y" />
+  <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1000800000" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 14:50:40.0" CREATEDBY="0" UPDATED="2008-04-18 14:50:40.0" UPDATEDBY="0" TEXT="User info" FILENAME="/org/openbravo/erpCommon/utility/VerticalMenuLoading.html" ISUSED="Y" />
+  <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1000800001" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 14:50:40.0" CREATEDBY="0" UPDATED="2008-04-18 14:50:40.0" UPDATEDBY="0" TEXT="Loading" FILENAME="/org/openbravo/erpCommon/utility/VerticalMenuLoading.html" ISUSED="Y" />
+  <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1000800002" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 14:50:40.0" CREATEDBY="0" UPDATED="2008-04-18 14:50:40.0" UPDATEDBY="0" TEXT="Close session" FILENAME="/org/openbravo/erpCommon/utility/VerticalMenuLoading.html" ISUSED="Y" />
+  <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1000800003" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 14:50:40.0" CREATEDBY="0" UPDATED="2008-04-18 14:50:40.0" UPDATEDBY="0" TEXT="Expand the menu" FILENAME="/org/openbravo/erpCommon/utility/VerticalMenuLoading.html" ISUSED="Y" />
+  <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1000800004" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 14:50:40.0" CREATEDBY="0" UPDATED="2008-04-18 14:50:40.0" UPDATEDBY="0" TEXT="Loading..." FILENAME="/org/openbravo/erpCommon/utility/VerticalMenuLoading.html" ISUSED="Y" />
+  <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1000800005" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-19 01:31:53.0" CREATEDBY="0" UPDATED="2008-04-19 01:31:53.0" UPDATEDBY="0" TEXT="Loading..." FILENAME="/org/openbravo/erpCommon/utility/PopupLoading.html" ISUSED="Y" />
+  <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1000800006" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-19 02:45:51.0" CREATEDBY="0" UPDATED="2008-04-19 02:45:51.0" UPDATEDBY="0" TEXT="Loading" FILENAME="/org/openbravo/erpCommon/utility/PopupLoading.html" ISUSED="Y" />
   <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1002500000" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2007-12-14 09:14:38.0" CREATEDBY="0" UPDATED="2007-12-14 09:14:38.0" UPDATEDBY="0" TEXT="Year " FILENAME="/org/openbravo/erpCommon/ad_process/CreateAccountingReport.html" ISUSED="Y" />
   <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1002500001" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2007-12-14 09:14:38.0" CREATEDBY="0" UPDATED="2007-12-14 09:14:38.0" UPDATEDBY="0" TEXT="Role information" FILENAME="/org/openbravo/erpCommon/ad_forms/Role.html" ISUSED="Y" />
   <AD_TEXTINTERFACES AD_TEXTINTERFACES_ID="1004400008" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-02-18 14:03:41.0" CREATEDBY="0" UPDATED="2008-02-18 14:03:41.0" UPDATEDBY="0" TEXT="Qty." FILENAME="/org/openbravo/erpReports/RptM_Requisition_Lines.jrxml" ISUSED="Y" />
--- a/database/sourcedata/AD_TEXTINTERFACES_TRL.xml	Sat Apr 19 15:07:49 2008 +0000
+++ b/database/sourcedata/AD_TEXTINTERFACES_TRL.xml	Sat Apr 19 20:01:22 2008 +0000
@@ -1482,6 +1482,13 @@
   <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1000500019" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-07 18:29:14.0" CREATEDBY="0" UPDATED="2008-04-07 18:33:34.0" UPDATEDBY="0" TEXT="Porcentaje" ISTRANSLATED="Y" />
   <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1000500020" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-11 12:59:48.0" CREATEDBY="0" UPDATED="2008-04-11 12:59:48.0" UPDATEDBY="0" TEXT="Valor" ISTRANSLATED="Y" />
   <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1000500021" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-11 12:59:48.0" CREATEDBY="0" UPDATED="2008-04-11 12:59:48.0" UPDATEDBY="0" TEXT="Actualiza ABC" ISTRANSLATED="Y" />
+  <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1000800000" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 14:50:40.0" CREATEDBY="0" UPDATED="2008-04-18 14:56:05.0" UPDATEDBY="100" TEXT="Información de usuario" ISTRANSLATED="Y" />
+  <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1000800001" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 14:50:40.0" CREATEDBY="0" UPDATED="2008-04-18 14:56:30.0" UPDATEDBY="100" TEXT="Cargando" ISTRANSLATED="Y" />
+  <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1000800002" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 14:50:40.0" CREATEDBY="0" UPDATED="2008-04-18 14:56:54.0" UPDATEDBY="100" TEXT="Cerrar sesión" ISTRANSLATED="Y" />
+  <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1000800003" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 14:50:40.0" CREATEDBY="0" UPDATED="2008-04-18 14:57:16.0" UPDATEDBY="100" TEXT="Expandir el menú" ISTRANSLATED="Y" />
+  <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1000800004" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-18 14:50:40.0" CREATEDBY="0" UPDATED="2008-04-18 14:57:41.0" UPDATEDBY="100" TEXT="Cargando..." ISTRANSLATED="Y" />
+  <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1000800005" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-19 01:31:53.0" CREATEDBY="0" UPDATED="2008-04-19 01:33:49.0" UPDATEDBY="100" TEXT="Cargando..." ISTRANSLATED="Y" />
+  <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1000800006" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-04-19 02:45:51.0" CREATEDBY="0" UPDATED="2008-04-19 02:52:14.0" UPDATEDBY="100" TEXT="Cargando" ISTRANSLATED="Y" />
   <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1002500000" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2007-12-14 09:14:38.0" CREATEDBY="0" UPDATED="2007-12-14 09:46:03.0" UPDATEDBY="100" TEXT="Año " ISTRANSLATED="Y" />
   <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1002500001" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2007-12-14 09:14:38.0" CREATEDBY="0" UPDATED="2007-12-14 09:56:27.0" UPDATEDBY="100" TEXT="Información de Rol" ISTRANSLATED="Y" />
   <AD_TEXTINTERFACES_TRL AD_TEXTINTERFACES_ID="1004400008" AD_LANGUAGE="es_ES" AD_CLIENT_ID="0" AD_ORG_ID="0" ISACTIVE="Y" CREATED="2008-02-18 14:03:41.0" CREATEDBY="0" UPDATED="2008-02-18 14:03:41.0" UPDATEDBY="0" TEXT="Cant." ISTRANSLATED="N" />
--- a/src-wad/src/org/openbravo/wad/Template_ActionButton.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/Template_ActionButton.html	Sat Apr 19 20:01:22 2008 +0000
@@ -36,6 +36,7 @@
 <SCRIPT language="JavaScript" src="../../../../../web/js/shortcuts.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/windowKeyboard.js" type="text/javascript"></SCRIPT>
+<script language="JavaScript" src="../../../../../web/js/appStatus.js" type="text/javascript"></script> 
 <SCRIPT language="JavaScript" src="../../../../../web/js/ajax.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/default/MessageBox.js" type="text/javascript"></SCRIPT>
 <FIELD_TMP id="importJS"></FIELD_TMP>
@@ -76,6 +77,7 @@
 </script>
 	<script language="JavaScript" type="text/javascript">
 	function onLoadDo(){
+	    setProcessingMode('popup', false);
 		this.windowTables = new Array(
 		  new windowTableId('client', null, 'linkButtonOk', null)
 		);
--- a/src-wad/src/org/openbravo/wad/Template_Edition.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/Template_Edition.html	Sat Apr 19 20:01:22 2008 +0000
@@ -36,6 +36,7 @@
 <SCRIPT language="JavaScript" src="../../../../../web/js/shortcuts.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/windowKeyboard.js" type="text/javascript"></SCRIPT>
+<SCRIPT language="JavaScript" src="../../../../../web/js/appStatus.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/ajax.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/default/MessageBox.js" type="text/javascript"></SCRIPT>
 <FIELD_TMP id="importJS"></FIELD_TMP>
@@ -76,6 +77,9 @@
     try {
       onloadClient();
     } catch (e) {}
+    try {
+      setWindowEditing(false);
+    } catch (e) {}
     setFocusFirstElement();
     buttonListShorcuts();
     xx();
--- a/src-wad/src/org/openbravo/wad/Template_Relation.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/Template_Relation.html	Sat Apr 19 20:01:22 2008 +0000
@@ -36,6 +36,7 @@
 <SCRIPT language="JavaScript" src="../../../../../web/js/shortcuts.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/windowKeyboard.js" type="text/javascript"></SCRIPT>
+<SCRIPT language="JavaScript" src="../../../../../web/js/appStatus.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/ajax.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/default/MessageBox.js" type="text/javascript"></SCRIPT>
 <script language="JavaScript" src="../../../../../web/js/dojoConfig.js" type="text/javascript"></script>
@@ -132,7 +133,6 @@
     );
     setTabTableParentElement();
     enableShortcuts('relation');
-
     resizeArea();
     updateMenuIcon('buttonMenu');
     setWindowElementFocus('firstElement');
--- a/src-wad/src/org/openbravo/wad/WadActionButton.java	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/WadActionButton.java	Sat Apr 19 20:01:22 2008 +0000
@@ -594,6 +594,7 @@
       script.append("\nfunction depurarClient(action, Formulario, valor) {\n");
       script.append("  var frm=document.frmMain;\n");
       script.append(validations);
+      script.append("  setProcessingMode('popup', true);\n");
       script.append("  return true;\n");
       script.append("}\n");
       
--- a/src-wad/src/org/openbravo/wad/controls/WADControl.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADControl.html	Sat Apr 19 20:01:22 2008 +0000
@@ -26,7 +26,7 @@
       <TABLE style="border:0px;border-collapse:collapse;">
         <TR>
           <TD style="padding-top: 0px;">
-            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx" onkeyup="" onchange="validateTextBox(this.id);logChanges(this);xx();return true;"/>
+            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx" onkeyup="" onkeypress="changeToEditingMode();" onchange="validateTextBox(this.id);logChanges(this);xx();return true;"/>
           </td>
         </tr>
       </table>
--- a/src-wad/src/org/openbravo/wad/controls/WADDate.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADDate.html	Sat Apr 19 20:01:22 2008 +0000
@@ -27,7 +27,7 @@
       <TABLE style="border:0px;border-collapse:collapse;">
         <TR>
           <TD style="padding-top: 0px;">
-            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx" onkeyup="auto_complete_date(this);" onchange="validateDateTextBox(this.id);logChanges(this);xx();return true;" displayFormat="xx" saveFormat="xx"/>
+            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx" onkeyup="auto_complete_date(this);" onkeypress="changeToEditingMode();" onchange="validateDateTextBox(this.id);logChanges(this);xx();return true;" displayFormat="xx" saveFormat="xx"/>
           </td>
         </tr>
       </table>
--- a/src-wad/src/org/openbravo/wad/controls/WADDateTime.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADDateTime.html	Sat Apr 19 20:01:22 2008 +0000
@@ -22,7 +22,7 @@
   <table border="0" cellspacing="0" cellpadding="0" summary="" class="TextBox" id="fieldHasButton">
     <tr>
       <td class="TextBox_xx_ContentCell" id="fieldCSS">
-        <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx" onkeyup="auto_complete_date(this);" onchange="validateDateTextBox(this.id);logChanges(this);xx();return true;" displayFormat="xx %H:%M:%S" saveFormat="xx %H:%M:%S"/>
+        <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx" onkeyup="auto_complete_date(this);" onkeypress="changeToEditingMode();" onchange="validateDateTextBox(this.id);logChanges(this);xx();return true;" displayFormat="xx %H:%M:%S" saveFormat="xx %H:%M:%S"/>
       </td>
       <td class="Middle" id="fieldButton">
       </td>
--- a/src-wad/src/org/openbravo/wad/controls/WADInteger.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADInteger.html	Sat Apr 19 20:01:22 2008 +0000
@@ -26,7 +26,7 @@
       <TABLE style="border:0px;border-collapse:collapse;">
         <TR>
           <TD style="padding-top: 0px;">
-            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width number" required="false" value="" maxlength="xx" name="inpxx" onkeyup="" onchange="validateIntegerBox(this.id);logChanges(this);xx();return true;"/>
+            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width number" required="false" value="" maxlength="xx" name="inpxx" onkeyup="" onkeypress="changeToEditingMode();" onchange="validateIntegerBox(this.id);logChanges(this);xx();return true;"/>
           </td>
         </tr>
       </table>
--- a/src-wad/src/org/openbravo/wad/controls/WADLink.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADLink.html	Sat Apr 19 20:01:22 2008 +0000
@@ -26,7 +26,7 @@
       <TABLE style="border:0px;border-collapse:collapse;">
         <TR>
           <TD style="padding-top: 0px;">
-            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" maxlength="xx" value="" style="vertical-align: middle;" name="inpxx"onkeyup="" onchange="validateUrlTextBox(this.id);logChanges(this);xx();return true;" required="false"/>
+            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" maxlength="xx" value="" style="vertical-align: middle;" name="inpxx"onkeyup="" onkeypress="changeToEditingMode();" onchange="validateUrlTextBox(this.id);logChanges(this);xx();return true;" required="false"/>
           </td>
         </tr>
       </table>
--- a/src-wad/src/org/openbravo/wad/controls/WADList.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADList.html	Sat Apr 19 20:01:22 2008 +0000
@@ -20,7 +20,7 @@
 
 <FIELD_TMP>
 <div id="xx_inp">
-  <select name="inpxx" onchange="logChanges(this);xx();return true;" class="Comboxx Combo_yy_width" id="reportxx_S">
+  <select name="inpxx" onkeypress="changeToEditingMode();" onchange="logChanges(this);xx();return true;" class="Comboxx Combo_yy_width" id="reportxx_S">
     <option value="" id="fieldBlankSection"></option>
     <div id="reportxx"></div>
   </select>
--- a/src-wad/src/org/openbravo/wad/controls/WADMemo.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADMemo.html	Sat Apr 19 20:01:22 2008 +0000
@@ -26,7 +26,7 @@
       <TABLE style="border:0px;border-collapse:collapse;">
         <TR>
           <TD style="padding-top: 0px;">
-            <textarea id="xx" class="dojoValidateValidxx TextArea_yy_width TextArea_Medium_height" required="false" maxlength='xx' name="inpxx" onkeyup="" onchange="validateTextArea(this.id);logChanges(this);xx();return true;"></textarea>
+            <textarea id="xx" class="dojoValidateValidxx TextArea_yy_width TextArea_Medium_height" required="false" maxlength='xx' name="inpxx" onkeyup="" onkeypress="changeToEditingMode();" onchange="validateTextArea(this.id);logChanges(this);xx();return true;"></textarea>
           </td>
         </tr>
       </table>
--- a/src-wad/src/org/openbravo/wad/controls/WADNumber.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADNumber.html	Sat Apr 19 20:01:22 2008 +0000
@@ -26,7 +26,7 @@
       <TABLE style="border:0px;border-collapse:collapse;">
         <TR>
           <TD style="padding-top: 0px;">
-            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width number" required="false" value="" maxlength="xx" name="inpxx" onkeyup="" onchange="validateNumberBox(this.id);logChanges(this);xx();return true;"/>
+            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width number" required="false" value="" maxlength="xx" name="inpxx" onkeyup="" onkeypress="changeToEditingMode();" onchange="validateNumberBox(this.id);logChanges(this);xx();return true;"/>
           </td>
         </tr>
       </table>
--- a/src-wad/src/org/openbravo/wad/controls/WADSearch.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADSearch.html	Sat Apr 19 20:01:22 2008 +0000
@@ -28,7 +28,7 @@
         <TR>
           <TD style="padding-top: 0px;">
             <FIELD_TMP id="fieldHiddens"/>
-            <input type="text" class="dojoValidateValidxx TextBox_yy_width" tabindex="" maxlength="xx" name="inpxx_R" id="xx_R" value="" required="false" onchange="validateTextBox(this.id);"/>
+            <input type="text" class="dojoValidateValidxx TextBox_yy_width" tabindex="" maxlength="xx" name="inpxx_R" id="xx_R" value="" required="false" onkeypress="changeToEditingMode();" onchange="validateTextBox(this.id);"/>
           </td>
         </tr>
       </table>
--- a/src-wad/src/org/openbravo/wad/controls/WADString.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADString.html	Sat Apr 19 20:01:22 2008 +0000
@@ -26,7 +26,7 @@
       <TABLE style="border:0px;border-collapse:collapse;">
         <TR>
           <TD style="padding-top: 0px;">
-            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx" onkeyup="" onchange="validateTextBox(this.id);logChanges(this);xx();return true;"/>
+            <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx" onkeyup="" onkeypress="changeToEditingMode();" onchange="validateTextBox(this.id);logChanges(this);xx();return true;"/>
           </td>
         </tr>
       </table>
--- a/src-wad/src/org/openbravo/wad/controls/WADStringEncrypted.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADStringEncrypted.html	Sat Apr 19 20:01:22 2008 +0000
@@ -26,7 +26,7 @@
       <TABLE style="border:0px;border-collapse:collapse;">
         <TR>
           <TD style="padding-top: 0px;">
-            <input type="password" id="xx" disabled="true" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx" onkeyup="" onchange="validateTextBox(this.id);logChanges(this);xx();return true;"/>
+            <input type="password" id="xx" disabled="true" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx" onkeyup="" onkeypress="changeToEditingMode();" onchange="validateTextBox(this.id);logChanges(this);xx();return true;"/>
           </td>
         </tr>
       </table>
--- a/src-wad/src/org/openbravo/wad/controls/WADTime.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADTime.html	Sat Apr 19 20:01:22 2008 +0000
@@ -26,7 +26,7 @@
         <TABLE style="border:0px;border-collapse:collapse;">
           <TR>
             <TD style="padding-top: 0px;">
-              <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx"  onkeyup="auto_complete_time(this);" onchange="validateTimeTextBox(this.id);logChanges(this.inputNode);xx();return true;" displayFormat="%H:%M:%S" saveFormat="%H:%M:%S"/>
+              <input type="text" id="xx" class="dojoValidateValidxx TextBox_yy_width" required="false" value="" maxlength="xx" name="inpxx"  onkeyup="auto_complete_time(this);" onkeypress="changeToEditingMode();" onchange="validateTimeTextBox(this.id);logChanges(this.inputNode);xx();return true;" displayFormat="%H:%M:%S" saveFormat="%H:%M:%S"/>
             </td>
           </tr>
         </table>
--- a/src-wad/src/org/openbravo/wad/controls/WADYesNo.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/controls/WADYesNo.html	Sat Apr 19 20:01:22 2008 +0000
@@ -20,6 +20,6 @@
 
 <FIELD_TMP>
   <div id="xx_inp">
-    <span class="Checkbox_container_NOT_Focused"><input type="checkbox" name="inpxx" id="xx" value="Y" onclick="logChanges(this.inputNode);xx();return true;" required="false"/></span>
+    <span class="Checkbox_container_NOT_Focused"><input type="checkbox" name="inpxx" id="xx" value="Y" onchange="changeToEditingMode();" onclick="logChanges(this.inputNode);xx();return true;" required="false"/></span>
   </div>
 </FIELD_TMP>
--- a/src-wad/src/org/openbravo/wad/javasource.javaxml	Sat Apr 19 15:07:49 2008 +0000
+++ b/src-wad/src/org/openbravo/wad/javasource.javaxml	Sat Apr 19 20:01:22 2008 +0000
@@ -938,7 +938,7 @@
       NavigationBar nav = new NavigationBar(this, vars.getLanguage(), "<PARAMETER_TMP id="class">Almacen</PARAMETER_TMP>_Relation.html", "<PARAMETER_TMP id="package">Window</PARAMETER_TMP>", "W", strReplaceWith, tabs.breadcrumb());
       xmlDocument.setParameter("navigationBar", nav.toString());
       LeftTabsBar lBar = new LeftTabsBar(this, vars.getLanguage(), "<PARAMETER_TMP id="class">Almacen</PARAMETER_TMP>_Relation.html", strReplaceWith);
-      xmlDocument.setParameter("leftTabs", lBar.editionTemplate());
+      xmlDocument.setParameter("leftTabs", lBar.editionTemplate(boolNew));
     } catch (Exception ex) {
       throw new ServletException(ex);
     }
--- a/src/org/openbravo/erpCommon/ad_actionButton/DocAction.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/ad_actionButton/DocAction.html	Sat Apr 19 20:01:22 2008 +0000
@@ -29,6 +29,7 @@
     <script language="JavaScript" src="../../../../../web/js/shortcuts.js" type="text/javascript"></script>
     <script language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></script>
     <script language="JavaScript" src="../../../../../web/js/windowKeyboard.js" type="text/javascript"></script>
+    <script language="JavaScript" src="../../../../../web/js/appStatus.js" type="text/javascript"></script>   
     <script language="JavaScript" src="../../../../../web/js/searchs.js" type="text/javascript"></script>
     <script type="text/javascript">
       dojo.hostenv.writeIncludes(); //makes debugging in Venkman possible
@@ -59,6 +60,7 @@
       }
 
       function submitThisPage(strCommand) {
+        setProcessingMode('popup', true);
         submitCommandForm(strCommand, false, null, null, '_top');
         return true;
       }
@@ -66,6 +68,7 @@
 
 	<SCRIPT language="JavaScript" type="text/javascript">
 	function onLoadDo(){
+	    setProcessingMode('popup', false);
 		this.windowTables = new Array(
 		  new windowTableId('client', null, 'linkButtonOk')
 		);
--- a/src/org/openbravo/erpCommon/ad_actionButton/DropRegFactAcct.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/ad_actionButton/DropRegFactAcct.html	Sat Apr 19 20:01:22 2008 +0000
@@ -29,6 +29,7 @@
   <script language="JavaScript" src="../../../../../web/js/shortcuts.js" type="text/javascript"></script>
   <script language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></script>
   <script language="JavaScript" src="../../../../../web/js/windowKeyboard.js" type="text/javascript"></script>
+  <script language="JavaScript" src="../../../../../web/js/appStatus.js" type="text/javascript"></script>
   <SCRIPT language="JavaScript" src="../../../../../web/js/searchs.js" type="text/javascript"></SCRIPT>
   <script type="text/javascript">
     dojo.hostenv.writeIncludes(); //makes debugging in Venkman possible
@@ -49,6 +50,7 @@
   </SCRIPT>
   	<SCRIPT language="JavaScript" type="text/javascript">
 	function onLoadDo(){
+    setProcessingMode('popup', false);
 		this.windowTables = new Array(
 		  new windowTableId('client', null, 'buttonOK')
 		);
@@ -151,7 +153,7 @@
               <td></td>
               <td class="Button_RightAlign_ContentCell">
                 <div>
-                  <a class="ButtonLink" href="#" onfocus="setWindowElementFocus(this); window.status='Accept'; return true;" onblur="window.status=''; return true;" onkeypress="this.className='ButtonLink_active'; return true;" onkeyup="this.className='ButtonLink_focus'; return true;" onclick="submitThisPage('SAVE');return false;" id="buttonOK">
+                  <a class="ButtonLink" href="#" onfocus="setWindowElementFocus(this); window.status='Accept'; return true;" onblur="window.status=''; return true;" onkeypress="this.className='ButtonLink_active'; return true;" onkeyup="this.className='ButtonLink_focus'; return true;" onclick="setProcessingMode('popup', true); submitThisPage('SAVE');return false;" id="buttonOK">
             <table class="Button" onmouseout="this.className='Button';window.status='';return true;" onmouseover="this.className='Button_hover';window.status='OK';return true;" onmousedown="this.className='Button_active';return true;" onmouseup="this.className='Button';return true;">
                     <tr>
                       <td class="Button_left"><img class="Button_Icon Button_Icon_ok" alt="Accept" title="Accept" src="../../../../../web/images/blank.gif" border=0/></td>
--- a/src/org/openbravo/erpCommon/ad_actionButton/Posted.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/ad_actionButton/Posted.html	Sat Apr 19 20:01:22 2008 +0000
@@ -29,6 +29,7 @@
   <script language="JavaScript" src="../../../../../web/js/shortcuts.js" type="text/javascript"></script>
   <script language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></script>
   <script language="JavaScript" src="../../../../../web/js/windowKeyboard.js" type="text/javascript"></script>
+  <script language="JavaScript" src="../../../../../web/js/appStatus.js" type="text/javascript"></script>
   <SCRIPT language="JavaScript" src="../../../../../web/js/searchs.js" type="text/javascript"></SCRIPT>
   <script type="text/javascript">
     dojo.hostenv.writeIncludes(); //makes debugging in Venkman possible
@@ -43,12 +44,14 @@
   }
 
   function submitThisPage(strCommand) {
+    setProcessingMode('popup', true);
     submitCommandForm(strCommand, false, null, null, '_top');
     return true;
   }
   </SCRIPT>
 	<SCRIPT language="JavaScript" type="text/javascript">
 	function onLoadDo(){
+	    setProcessingMode('popup', false);
 		this.windowTables = new Array(
 		  new windowTableId('client', null, 'buttonOK')
 		);
--- a/src/org/openbravo/erpCommon/ad_forms/GenerateInvoicesmanual.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/ad_forms/GenerateInvoicesmanual.html	Sat Apr 19 20:01:22 2008 +0000
@@ -36,6 +36,7 @@
 <script language="JavaScript" src="../../../../../web/js/shortcuts.js" type="text/javascript"></script>
 <script language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></script>
 <script language="JavaScript" src="../../../../../web/js/windowKeyboard.js" type="text/javascript"></script>
+<script language="JavaScript" src="../../../../../web/js/appStatus.js" type="text/javascript"></script>
 <SCRIPT language="JavaScript" src="../../../../../web/js/searchs.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/jscalendar/calendar.js" type="text/javascript"></SCRIPT>
 <SCRIPT language="JavaScript" src="../../../../../web/js/jscalendar/lang/calendar-es.js" type="text/javascript" id="fieldCalendar"></SCRIPT>
@@ -56,18 +57,19 @@
 
 function depurar(action) {
   var frm=document.frmMain;
-  	if (action=="GENERATE") {
-			if (radioValue(frm.inpOrder)==null) {
-			mensaje(1);
-			return false;
-			} 
-	} else if (action=="FIND") {
-			if (frm.inpadOrgId.value==null || frm.inpadOrgId.value=="") {
-			frm.inpadOrgId.focus();
-			mensaje(7);
-			return false;
-			}
-	}
+  if (action=="GENERATE") {
+    if (radioValue(frm.inpOrder)==null) {
+    mensaje(1);
+    return false;
+    }
+    setProcessingMode('window',true);
+  } else if (action=="FIND") {
+    if (frm.inpadOrgId.value==null || frm.inpadOrgId.value=="") {
+    frm.inpadOrgId.focus();
+    mensaje(7);
+    return false;
+    }
+  }
   return true;
 }
 
@@ -76,8 +78,9 @@
 }
 </SCRIPT>
 	<SCRIPT language="JavaScript" type="text/javascript">
-	function onLoadDo(){
-		this.windowTables = new Array(
+	
+  function onLoadDo(){
+		setProcessingMode('window', false); this.windowTables = new Array(
 		  new windowTableId('client', null, 'buttonSearch'),
 		  new windowTableId('tdbottomButtons', null, 'buttonProcess')
 		);
--- a/src/org/openbravo/erpCommon/businessUtility/WindowTabs.java	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/businessUtility/WindowTabs.java	Sat Apr 19 20:01:22 2008 +0000
@@ -207,7 +207,21 @@
       Stack<WindowTabsData> aux = this.tabs.get(Integer.toString(i));
       if (aux==null) continue;
       if (!isFirst) text.append("</tr>\n<tr>\n");
-      if (isFirst) text.append("<td class=\"tabBackGroundInit\"><div><span class=\"tabTitle\"><div><span>").append(this.Title).append("</span></div></span></div></td></tr><tr><td class=\"tabBackGround\">");
+
+      if (isFirst) text.append("<td class=\"tabBackGroundInit\">\n");
+      if (isFirst) text.append("  <div>\n");
+      if (isFirst) text.append("  <span class=\"tabTitle\">\n");
+      if (isFirst) text.append("    <div class=\"tabTitle_background\">\n");
+      if (isFirst) text.append("      <span class=\"tabTitle_elements_container\">\n");
+      if (isFirst) text.append("        <span class=\"tabTitle_elements_text\">").append(this.Title).append("</span>\n");
+      if (isFirst) text.append("        <span class=\"tabTitle_elements_separator\"><div class=\"tabTitle_elements_separator_icon\"></div></span>\n");
+      if (isFirst) text.append("        <span class=\"tabTitle_elements_image\"><div class=\"tabTitle_elements_image_normal_icon\" id=\"TabStatusIcon\"></div></span>\n");
+      if (isFirst) text.append("      </span>\n");
+      if (isFirst) text.append("    </div>\n");
+      if (isFirst) text.append("  </span>\n");
+      if (isFirst) text.append("</div>\n");
+      if (isFirst) text.append("</td></tr><tr><td class=\"tabBackGround\">");
+
       else  text.append("<td class=\"tabBackGround\">");
       if (isFirst) text.append("  <div class=\"marginLeft\">\n");
       else {
@@ -260,7 +274,20 @@
     boolean hasParent = (this.level>0);
     Stack<WindowTabsData> aux = this.tabs.get(Integer.toString(this.level));
     if (aux==null) return text.toString();
-    if (!hasParent) text.append("<td class=\"tabBackGroundInit\"><div><span class=\"tabTitle\"><div><span>").append(this.Title).append("</span></div></span></div></td></tr><tr>");
+ 
+    if (!hasParent) text.append("<td class=\"tabBackGroundInit\">\n");
+    if (!hasParent) text.append("  <div>\n");
+    if (!hasParent) text.append("  <span class=\"tabTitle\">\n");
+    if (!hasParent) text.append("    <div class=\"tabTitle_background\">\n");
+    if (!hasParent) text.append("      <span class=\"tabTitle_elements_container\">\n");
+    if (!hasParent) text.append("        <span class=\"tabTitle_elements_text\">").append(this.Title).append("</span>\n");
+    if (!hasParent) text.append("        <span class=\"tabTitle_elements_separator\"><div class=\"tabTitle_elements_separator_icon\"></div></span>\n");
+    if (!hasParent) text.append("        <span class=\"tabTitle_elements_image\"><div class=\"tabTitle_elements_image_normal_icon\" id=\"TabStatusIcon\"></div></span>\n");
+    if (!hasParent) text.append("      </span>\n");
+    if (!hasParent) text.append("    </div>\n");
+    if (!hasParent) text.append("  </span>\n");
+    if (!hasParent) text.append("</div>\n");
+    if (!hasParent) text.append("</td></tr><tr>");
     text.append("<td class=\"tabBackGround\">\n");
     if (!hasParent) text.append("  <div class=\"marginLeft\">\n");
     else {
--- a/src/org/openbravo/erpCommon/security/Login.java	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/security/Login.java	Sat Apr 19 20:01:22 2008 +0000
@@ -70,6 +70,7 @@
     XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/security/Login_FS").createXmlDocument();
 
     xmlDocument.setParameter("frameMenu", strMenu);
+    xmlDocument.setParameter("frameMenuLoading", strMenu);
     xmlDocument.setParameter("frame1", strDetalle);
     response.setContentType("text/html; charset=UTF-8");
     PrintWriter out = response.getWriter();
--- a/src/org/openbravo/erpCommon/security/Login_FS.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/security/Login_FS.html	Sat Apr 19 20:01:22 2008 +0000
@@ -22,6 +22,9 @@
 <LINK rel="SHORTCUT ICON" href="../../../../../web/images/favicon.ico"></LINK>
 <TITLE>Openbravo</TITLE>
 <script language="JavaScript" type="text/javascript">
+  var isMenuHide = false;
+</script>
+<script language="JavaScript" type="text/javascript">
   function onMenuFocusDo() {
     try {
       top.frames['frameMenu'].onFocusMenu();
@@ -39,7 +42,8 @@
 </script>
 
 </HEAD>
-<frameset cols="25%,*" frameborder="NO" border="0" framespacing="0" rows="*" id="framesetMenu"> 
+<frameset cols="25%,0%,*" frameborder="NO" border="0" framespacing="0" rows="*" id="framesetMenu"> 
+  <frame name="frameMenuLoading" scrolling="NO" src="Login_Welcome.html?Command=WELCOME" id="paramFrameMenuLoading">
   <frame name="frameMenu" scrolling="NO" src="Login_Welcome.html?Command=WELCOME" id="paramFrameMenu" onfocus="onMenuFocusDo();" onblur="onMenuBlurDo();">
   <frameset cols="*" frameborder="NO" border="0" framespacing="0" rows="100%,*"> 
     <frame name="frameAplicacion" scrolling="NO" src="Login_F1.html?Command=LOGIN" id="paramFrame1">
--- a/src/org/openbravo/erpCommon/security/Login_FS.xml	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/security/Login_FS.xml	Sat Apr 19 20:01:22 2008 +0000
@@ -22,4 +22,5 @@
 	<template file="Login_FS.html"/>
 	<PARAMETER id="paramFrame1" name="frame1" attribute="src"/>
 	<PARAMETER id="paramFrameMenu" name="frameMenu" attribute="src"/>
+	<PARAMETER id="paramFrameMenuLoading" name="frameMenuLoading" attribute="src"/>
 </REPORT>
--- a/src/org/openbravo/erpCommon/security/Menu.java	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/security/Menu.java	Sat Apr 19 20:01:22 2008 +0000
@@ -36,15 +36,14 @@
     }
     
     public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
-        
         VariablesSecureApp vars = new VariablesSecureApp(request);
         String targetmenu = vars.getSessionValue("targetmenu");
-        printPageFrameIdentificacion(response, "../utility/VerticalMenu.html", (targetmenu.equals("") ? "../utility/Home.html" : targetmenu));
+        printPageFrameIdentificacion(response, "../utility/VerticalMenu.html", (targetmenu.equals("") ? "../utility/Home.html" : targetmenu), "../utility/VerticalMenu.html?Command=LOADING");
     }
 
-    private void printPageFrameIdentificacion(HttpServletResponse response, String strMenu, String strDetalle) throws IOException, ServletException {
+    private void printPageFrameIdentificacion(HttpServletResponse response, String strMenu, String strDetalle, String strMenuLoading) throws IOException, ServletException {
         XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/security/Login_FS").createXmlDocument();
-
+        xmlDocument.setParameter("frameMenuLoading", strMenuLoading);
         xmlDocument.setParameter("frameMenu", strMenu);
         xmlDocument.setParameter("frame1", strDetalle);
         response.setContentType("text/html; charset=UTF-8");
--- a/src/org/openbravo/erpCommon/utility/LeftTabsBar.java	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/utility/LeftTabsBar.java	Sat Apr 19 20:01:22 2008 +0000
@@ -34,8 +34,12 @@
     this.servlet_action = _action;
     this.base_direction = _baseDirection;
   }
-
-  public String editionTemplate() {
+  
+  public String editionTemplate(){
+	  return editionTemplate(false);
+  }
+  public String editionTemplate(boolean isNew) {
+	String strClassEdition = "Main_LeftTabsBar_ButtonRight_Icon_edition"+(isNew?"_new":"")+"_selected";
     StringBuffer text = new StringBuffer();
     text.append("<table cellpadding=\"0\" cellspacing=\"0\" class=\"Main_ContentPane_LeftTabsBar\" id=\"tdLeftTabsBars\">\n");
     text.append("  <tr>\n");
@@ -59,7 +63,7 @@
     text.append("        <tr>\n");
     text.append("          <td>\n");
     text.append("                <DIV class=\"Main_LeftTabsBar_ButtonRight_selected\">\n");
-    text.append("                  <IMG class=\"Main_LeftTabsBar_ButtonRight_Icon Main_LeftTabsBar_ButtonRight_Icon_edition_selected\" src=\"").append(base_direction).append("/images/blank.gif\" border=\"0\"></IMG>\n");
+    text.append("                  <IMG class=\"Main_LeftTabsBar_ButtonRight_Icon ").append(strClassEdition).append("\" src=\"").append(base_direction).append("/images/blank.gif\" border=\"0\" id=\"linkButtonEdition\"></IMG>\n");
     text.append("                </DIV>\n");
     text.append("          </td>\n");
     text.append("        </tr>\n");
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/erpCommon/utility/PopupLoading.html	Sat Apr 19 20:01:22 2008 +0000
@@ -0,0 +1,56 @@
+<!--
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SL 
+ * All portions are Copyright (C) 2008 Openbravo SL 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+-->
+<HTML>
+<HEAD>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<TITLE>Loading</TITLE>
+<LINK rel="SHORTCUT ICON" href="../../../../../web/images/favicon.ico" type="image/x-icon"/>
+<LINK rel="stylesheet" type="text/css" href="../../../../../web/skins/Default/Popup/Popup.css" id="paramCSS"></LINK>
+<script language="JavaScript" type="text/javascript" id="paramDirection">
+var baseDirection = "../../../../../web/";
+</script>
+<script language="JavaScript" src="../../../../../web/js/messages.js" type="text/javascript"></script>
+<SCRIPT language="JavaScript" src="../utility/MessagesJS.js" type="text/javascript"></SCRIPT>
+<script language="JavaScript" type="text/javascript" id="paramLanguage">
+  LNG_POR_DEFECTO = "en_US";
+</script>
+<SCRIPT language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></SCRIPT>
+<SCRIPT language="JavaScript" src="../../../../../web/js/appStatus.js" type="text/javascript"></SCRIPT>
+<SCRIPT language="JavaScript" src="../../../../../web/js/default/MessageBox.js" type="text/javascript"></SCRIPT>
+
+
+  <script language="javascript">
+    function onLoadDo() {
+      window.opener.setPopupLoadingWindowLoaded(true);
+      return true;
+    }
+  </script>
+</HEAD>
+
+<BODY leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="onLoadDo();">
+<div class="Popup_Status_Loading_Container" id="Processing_Container">
+  <div class="Popup_Status_Loading_Elements_Container">
+    <div class="Popup_Status_Loading_logo">
+      <div class="Popup_Status_Loading_logo_dimension"></div>
+    </div>
+    <div class="Popup_Status_Loading_text">Loading...</div>
+  </div>
+</div>
+</BODY>
+</HTML>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/erpCommon/utility/PopupLoading.java	Sat Apr 19 20:01:22 2008 +0000
@@ -0,0 +1,56 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SL 
+ * All portions are Copyright (C) 2008 Openbravo SL 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+*/
+package org.openbravo.erpCommon.utility;
+
+import org.openbravo.base.secureApp.*;
+import org.openbravo.data.Sqlc;
+import org.openbravo.xmlEngine.XmlDocument;
+import java.io.*;
+import javax.servlet.*;
+import javax.servlet.http.*;
+import org.openbravo.utils.Replace;
+import org.openbravo.utils.FormatUtilities;
+
+
+public class PopupLoading extends HttpSecureAppServlet {
+  private static final long serialVersionUID = 1L;
+
+  public void init (ServletConfig config) {
+    super.init(config);
+    boolHist = false;
+  }
+  
+  public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
+    VariablesSecureApp vars = new VariablesSecureApp(request);
+
+    if (vars.commandIn("DEFAULT")) {
+      printPageData(response, vars);
+    }
+  }
+
+  public void printPageData(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException {
+    XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/utility/PopupLoading").createXmlDocument();
+    xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
+    xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
+    xmlDocument.setParameter("theme", vars.getTheme());
+    PrintWriter out = response.getWriter();
+    out.println(xmlDocument.print());
+    out.close();
+  }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/erpCommon/utility/PopupLoading.xml	Sat Apr 19 20:01:22 2008 +0000
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SL 
+ * All portions are Copyright (C) 2008 Openbravo SL 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+-->
+<REPORT>
+	<template file="PopupLoading.html"/>
+	<PARAMETER id="paramDirection" name="direction" default=""/>
+	<PARAMETER id="paramLanguage" name="language" default=""/>
+	<PARAMETER id="paramCSS" name="theme" attribute="href" replace="Default"/>
+</REPORT>
\ No newline at end of file
--- a/src/org/openbravo/erpCommon/utility/ToolBar.java	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/utility/ToolBar.java	Sat Apr 19 20:01:22 2008 +0000
@@ -99,7 +99,7 @@
     } else if (name.equals("PRINT")) {
       return "abrirPDFSession('" + pdf + "', '" + (isDirectPrint?"Printing":"") + "', " + keyfield + ".name, " + ((grid_id==null || grid_id.equals(""))?"null":"dojo.widget.byId('" + grid_id + "').getSelectedRows()") + ", " + ((grid_id==null || grid_id.equals(""))?"true":"null") + ");";
     } else if (name.equals("UNDO")) {
-      return form + ".reset();displayLogic();";
+      return "windowUndo(" + form + ");";
     } else if (name.equals("SEARCH")) {
       return "abrirBusqueda('../businessUtility/Buscador.html', 'BUSCADOR', " + form + ".inpTabId.value, '" + window_name + "/" + servlet_action + (isSrcWindow?"":"_Relation") + ".html', " + form + ".inpwindowId.value, " + (debug?"true":"false") + ");";
     } else if (name.equals("AUDIT_EDITION")) {
--- a/src/org/openbravo/erpCommon/utility/VerticalMenu.html	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/utility/VerticalMenu.html	Sat Apr 19 20:01:22 2008 +0000
@@ -17,8 +17,9 @@
  ************************************************************************
 -->
 
-<html>
+<html xmlns:="http://www.w3.org/1999/xhtml">
   <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <title>Menu</title>
     <link rel="stylesheet" type="text/css" href="../../../../../web/skins/Default/Menu/Menu.css" title="StyleGrid" id="paramCSS" />
     <script language="JavaScript" type="text/javascript" id="paramDirection">
@@ -30,6 +31,7 @@
     <script language="JavaScript" src="../../../../../web/js/shortcuts.js" type="text/javascript"></script>
     <script language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></script>
     <script language="JavaScript" src="../../../../../web/js/menuKeyboard.js" type="text/javascript"></script>
+    <script language="JavaScript" src="../../../../../web/js/appStatus.js" type="text/javascript"></script>
     <script language="JavaScript" type="text/javascript" id="paramLanguage">LNG_POR_DEFECTO = "en_US";</script>
     <script language="JavaScript" src="../../../../../web/js/dojoConfig.js" type="text/javascript"></script>
     <script language="JavaScript" src="../../../../../web/js/dojo/dojo.js" type="text/javascript"></script>
@@ -89,6 +91,7 @@
     <script language="JavaScript" type="text/javascript">
       function onLoadDo() {
         enableShortcuts('menu');
+        setMenuLoading(false);
         resizeMenu();
         setMenuElementFocus('firstElement');
         updateAlert();
@@ -178,9 +181,9 @@
               <td class="Menu_ToolBar_Space"></td>
 
               <td width="1">
-                <a class="Menu_ToolBar_Button" href="#" onclick="menuExpand();" onmouseover="window.status='Expand the menu';return true;" onmouseout="window.status='';return true;" id="buttonExpand"><img class="Menu_ToolBar_Button_Icon Menu_ToolBar_Button_Icon_expand" src="../../../../../web/images/blank.gif" onclick="menuExpand();" border="0" alt="Expand the menu" title="Expand the menu" /></a>
+                <a class="Menu_ToolBar_Button" href="#" onclick="setMenuLoading(true); menuExpand();" onmouseover="window.status='Expand the menu';return true;" onmouseout="window.status='';return true;" id="buttonExpand"><img class="Menu_ToolBar_Button_Icon Menu_ToolBar_Button_Icon_expand" src="../../../../../web/images/blank.gif" onclick="menuExpand();" border="0" alt="Expand the menu" title="Expand the menu" /></a>
 
-                <a class="Menu_ToolBar_Button" href="#" onclick="menuCollapse();" onmouseover="window.status='Contract all the menu';return true;" onmouseout="window.status='';return true;" id="buttonCollapse"><img class="Menu_ToolBar_Button_Icon Menu_ToolBar_Button_Icon_contract" src="../../../../../web/images/blank.gif" onclick="menuCollapse();" border="0" alt="Contract all the menu" title="Contract all the menu" /></a>
+                <a class="Menu_ToolBar_Button" href="#" onclick="setMenuLoading(true); menuCollapse();" onmouseover="window.status='Contract all the menu';return true;" onmouseout="window.status='';return true;" id="buttonCollapse"><img class="Menu_ToolBar_Button_Icon Menu_ToolBar_Button_Icon_contract" src="../../../../../web/images/blank.gif" onclick="menuCollapse();" border="0" alt="Contract all the menu" title="Contract all the menu" /></a>
               </td>
             </tr>
 
--- a/src/org/openbravo/erpCommon/utility/VerticalMenu.java	Sat Apr 19 15:07:49 2008 +0000
+++ b/src/org/openbravo/erpCommon/utility/VerticalMenu.java	Sat Apr 19 20:01:22 2008 +0000
@@ -53,6 +53,8 @@
       printPageDataSheet(response, vars, "0", true);
     } else if (vars.commandIn("ALERT")) {
       printPageAlert(response, vars);
+    } else if (vars.commandIn("LOADING")) {
+      printPageLoadingMenu(response, vars);
     } else throw new ServletException();
   }
   
@@ -136,6 +138,16 @@
     out.close();
   }
 
+  public void printPageLoadingMenu(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException {
+    XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/utility/VerticalMenuLoading").createXmlDocument();
+    xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
+    xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
+    xmlDocument.setParameter("theme", vars.getTheme());
+    PrintWriter out = response.getWriter();
+    out.println(xmlDocument.print());
+    out.close();
+  }
+
   public String tipoVentana(String tipo) {
     if (tipo.equals("W")) return "Windows";
     else if (tipo.equals("X")) return "Forms";
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/erpCommon/utility/VerticalMenuLoading.html	Sat Apr 19 20:01:22 2008 +0000
@@ -0,0 +1,220 @@
+<!--
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SL
+ * All portions are Copyright (C) 2008 Openbravo SL
+ * All Rights Reserved.
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+-->
+
+<html xmlns:="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <title>Menu</title>
+    <link rel="stylesheet" type="text/css" href="../../../../../web/skins/Default/Menu/Menu.css" title="StyleGrid" id="paramCSS" />
+    <script language="JavaScript" type="text/javascript" id="paramDirection">
+      var baseDirection = "../../../../../web/";
+    </script>
+    <script language="JavaScript" src="../../../../../web/js/ajax.js" type="text/javascript"></script>    
+    <script language="JavaScript" src="../../../../../web/js/messages.js" type="text/javascript"></script>
+    <script language="JavaScript" src="../../../../../web/js/searchs.js" type="text/javascript"></script>
+    <script language="JavaScript" src="../../../../../web/js/shortcuts.js" type="text/javascript"></script>
+    <script language="JavaScript" src="../../../../../web/js/utils.js" type="text/javascript"></script>
+    <script language="JavaScript" src="../../../../../web/js/menuKeyboard.js" type="text/javascript"></script>
+    <script language="JavaScript" src="../../../../../web/js/appStatus.js" type="text/javascript"></script>
+    <script language="JavaScript" type="text/javascript" id="paramLanguage">LNG_POR_DEFECTO = "en_US";</script>
+    <script language="JavaScript" src="../../../../../web/js/dojoConfig.js" type="text/javascript"></script>
+    <script language="JavaScript" src="../../../../../web/js/dojo/dojo.js" type="text/javascript"></script>
+    <script type="text/javascript"> 
+      //all dojo.require above this line
+      dojo.hostenv.writeIncludes(); //makes debugging in Venkman possible
+    </script>
+    <script language="JavaScript" type="text/javascript">
+      function resizeMenu() {
+        var mnu = document.getElementById("Menu_Client");
+        var mleft = document.getElementById("MenuLeft");
+        var mright = document.getElementById("MenuRight");
+        var mtop = document.getElementById("MenuTop");
+        var mtop2 = document.getElementById("MenuTop2");
+        var mbottom = document.getElementById("MenuBottom");
+        var body = document.getElementsByTagName("BODY");
+        var h = body[0].clientHeight;
+        var w = body[0].clientWidth;
+        var name = window.navigator.appName;
+        mnu.style.height = h -(mtop.clientHeight + mtop2.clientHeight + mbottom.clientHeight) - ((name.indexOf("Microsoft")==-1)?2:0);
+        mnu.style.width = w - (mleft.clientWidth + mright.clientWidth) - ((name.indexOf("Microsoft")==-1)?2:0);
+        mnu.style.display = "";
+      }
+
+    </script>
+    <script language="JavaScript" type="text/javascript">
+      function onLoadDo() {
+        resizeMenu();
+      }
+
+      function onResizeDo() {
+        resizeMenu();
+      }
+
+      function onFocusDo() {
+        return true;
+      }
+
+      function onBlurDo() {
+        return true;
+      }
+
+    </script>
+  </head>
+
+  <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="onLoadDo();" onresize="onResizeDo();" onfocus="onFocusDo();" onblur="onBlurDo();">
+    <table border="0" cellspacing="0" cellpadding="0" summary="" width="100%" height="100%">
+      <tr>
+        <td rowspan="3" valign="top">
+          <table class="Menu_ContentPane_Left" id="MenuLeft">
+            <tr>
+              <td class="Menu_NavBar_bg_left">
+              </td>
+            </tr>
+
+            <tr>
+              <td class="Menu_ToolBar_bg_left">
+              </td>
+            </tr>
+
+            <tr>
+              <td class="Menu_Client_bg_left">
+              </td>
+            </tr>
+
+            <tr>
+              <td class="Menu_Bottom_bg_left">
+              </td>
+            </tr>
+          </table>
+        </td>
+
+        <td valign="top">
+          <table class="Menu_ContentPane_NavBar" id="MenuTop">
+            <tr>
+              <td class="Menu_NavBar_bg">&nbsp;</td>
+
+              <td class="Menu_NavBar_bg_logo_left"></td>
+
+              <td class="Menu_NavBar_bg_logo" width="1"><img class="Menu_NavBar_logo" src="../../../../../web/images/blank.gif" alt="Openbravo" title="Openbravo" border="0" id="openbravoLogo"/></td>
+
+              <td class="Menu_NavBar_bg_logo_right"></td>
+
+              <td class="Menu_NavBar_bg">&nbsp;</td>
+            </tr>
+          </table>
+
+          <table class="Menu_ContentPane_ToolBar Menu_ToolBar_bg" id="MenuTop2">
+            <tr>
+              <td width="1" class="Menu_ToolBar_textlabel_bg_left">
+                <a class="Menu_ToolBar_Button" href="#" onclick="menuUserOptions();" onmouseover="window.status='User info';return true;" onmouseout="window.status='';return true;" id="buttonUserOptions"><img class="Menu_ToolBar_Button_Icon Menu_ToolBar_Button_Icon_user" src="../../../../../web/images/blank.gif" border="0" alt="User info" title="User info" /></a>
+              </td>
+
+              <td colspan="2" class="Menu_ToolBar_textlabel_bg_body"><nobr><a class="Menu_ToolBar_text_username" href="#" onclick="menuUserOptions();"><span id="fieldUserName">Loading</span></a><nobr></td>
+
+              <td width="1" class="Menu_ToolBar_textlabel_bg_right">
+                <a class="Menu_ToolBar_Button" href="#" onclick="menuQuit();" onmouseover="window.status='Close session';return true;" onmouseout="window.status='';return true;" id="buttonQuit"><img class="Menu_ToolBar_Button_Icon Menu_ToolBar_Button_Icon_logout" src="../../../../../web/images/blank.gif" onclick="submitCommandForm('DEFAULT', false, null, '../security/Logout.html', '_top');return false;" border="0" alt="Close session" title="Close session" /></a>
+              </td>
+
+              <td class="Menu_ToolBar_Space"></td>
+
+              <td width="1">
+                <a class="Menu_ToolBar_Button" href="#" onclick="" onmouseover="window.status='Expand the menu';return true;" onmouseout="window.status='';return true;" id="buttonExpand"><img class="Menu_ToolBar_Button_Icon Menu_ToolBar_Button_Icon_expand" src="../../../../../web/images/blank.gif" onclick="menuExpand();" border="0" alt="Expand the menu" title="Expand the menu" /></a>
+              </td>
+            </tr>
+
+            <tr>
+              <td width="1" class="Menu_ToolBar_textlabel_bg_left">
+                <a class="Menu_ToolBar_Button" href="#" onclick="menuAlerts();" onmouseover="window.status='Alert Management';return true;" onmouseout="window.status='';return true;" id="buttonAlerts"><img src="../../../../../web/images/blank.gif" class="Menu_ToolBar_Button_Icon Menu_ToolBar_Button_Icon_alert" border="0" alt="Alert" title="Alert" /></a>
+              </td>
+
+              <td class="Menu_ToolBar_textlabel_bg_body"><nobr><span id="alertNotifier"><a href="#" onclick="" class="Menu_ToolBar_text_alert"><span class="Menu_ToolBar_text_alert_no" id="alertCount"></span><span>Loading</a></span></nobr></td>
+
+              <td width="1"><img class="Menu_ToolBar_textlabel_bg_right" src="../../../../../web/images/blank.gif" border="0" /></td>
+
+              <td width="1">
+              </td>
+
+              <td class="Menu_ToolBar_Space"></td>
+
+              <td width="1">
+              </td>
+            </tr>
+
+          </table>
+        </td>
+
+        <td rowspan="3" valign="top">
+          <table class="Menu_ContentPane_Right" id="MenuRight">
+            <tr>
+              <td class="Menu_NavBar_bg_right">
+              </td>
+            </tr>
+
+            <tr>
+              <td class="Menu_ToolBar_bg_right">
+              </td>
+            </tr>
+
+            <tr>
+              <td class="Menu_Client_bg_right">
+              </td>
+            </tr>
+
+            <tr>
+              <td class="Menu_Bottom_bg_right">
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+
+      <tr>
+        <td valign="top">
+          <div id="Menu_Client" class="Menu_ContentPane_Client" style="overflow: auto; display: none; vertical-align: middle;">
+            <table cellspacing="0" cellpadding="0" id="paramMenu" class="Menu_Status_Loading_Container">
+              <tr><td>
+                <table>
+                  <tr><td style="text-align: center;">
+                    <img class="Menu_Status_Loading_logo" src="../../../../../web/images/blank.gif" border="0" alt="Loading" title="Loading"></img>
+                  </tr></td>
+                  <tr><td class="Menu_Status_Loading_text">Loading...</tr></td>
+                </table>
+              </tr></td>
+            </table>
+          </div>
+        </td>
+      </tr>
+
+      <tr>
+        <td valign="top">
+          <table class="Menu_ContentPane_Bottom" id="MenuBottom">
+            <tr>
+              <td class="Menu_Bottom_bg">
+              </td>
+            </tr>
+          </table>
+        </td>
+      </tr>
+    </table>
+
+    <form name="frmMenu" action="../security/Login_FS.html" method="POST" target="_top">
+      <input type="hidden" name="Command" /> <input type="hidden" name="inpSelected" value="" />
+    </form>
+  </body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/erpCommon/utility/VerticalMenuLoading.xml	Sat Apr 19 20:01:22 2008 +0000
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SL 
+ * All portions are Copyright (C) 2001-2006 Openbravo SL 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+-->
+<REPORT>
+	<template file="VerticalMenuLoading.html"/>
+	<PARAMETER id="paramDirection" name="direction" default=""/>
+	<PARAMETER id="paramLanguage" name="language" default=""/>
+	<PARAMETER id="paramCSS" name="theme" attribute="href" replace="Default"/>
+</REPORT>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/js/appStatus.js	Sat Apr 19 20:01:22 2008 +0000
@@ -0,0 +1,183 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SL 
+ * All portions are Copyright (C) 2008 Openbravo SL 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+*/
+
+
+function disableToolBarButton(id) {
+  var link = null;
+  var img = null;
+  try {
+    link = document.getElementById(id);
+    img = getObjChild(link);
+    if (link.className.indexOf('Main_ToolBar_Button') != -1 && link.className.indexOf('Main_ToolBar_Button_disabled') == -1) {
+      link.className = link.className.replace('Main_ToolBar_Button', 'Main_ToolBar_Button_disabled');
+      link.setAttribute('onclick', 'return true; tmp_water_mark; ' + link.getAttribute('onclick'));
+      link.setAttribute('id', link.getAttribute('id') + '_disabled');
+      img.className = img.className + ('_disabled tmp_water_mark');
+    }
+  } catch (e) {
+    return false;
+  }
+  return true;
+}
+
+function enableToolBarButton(id) {
+  var link = null;
+  var img = null;
+  try {
+    link = document.getElementById(id + "_disabled");
+    img = getObjChild(link);
+    if (link.className.indexOf('Main_ToolBar_Button_disabled') != -1) {
+      link.className = link.className.replace('Main_ToolBar_Button_disabled', 'Main_ToolBar_Button');
+      link.setAttribute('onclick', link.getAttribute('onclick').replace('return true; tmp_water_mark; ', ''));
+      link.setAttribute('id', link.getAttribute('id').replace('_disabled', ''));
+      img.className = img.className.replace('_disabled tmp_water_mark', '');
+    }
+  } catch (e) {
+    return false;
+  }
+  return true;
+}
+
+function setWindowEditing(value) {
+  var isNewWindow;
+  if (document.getElementById('linkButtonEdition').className.indexOf('Main_LeftTabsBar_ButtonRight_Icon_edition_selected') != -1) {
+    isNewWindow = false;
+  } else {
+    isNewWindow = true;
+  }
+
+  if (isNewWindow==false) {
+    var Buttons = new Array(
+      'linkButtonSave',
+      'linkButtonSave_Next',
+      'linkButtonSave_Relation',
+      'linkButtonSave_New',
+      'linkButtonUndo'
+    );
+  } else if (isNewWindow==true) {
+    var Buttons = new Array(
+      'linkButtonUndo'
+    );
+  }
+
+  if (value==true) {
+    for (var i = 0; i < Buttons.length; i++) {
+      enableToolBarButton(Buttons[i]);
+    }
+  } else if (value==false) {
+    for (var i = 0; i < Buttons.length; i++) {
+      disableToolBarButton(Buttons[i]);
+    }
+  }
+}
+
+function setCalloutProcessing(value) {
+  var icon = null;
+  if (document.getElementById('TabStatusIcon')) {
+    icon = document.getElementById('TabStatusIcon');
+  } else {
+    return false;
+  }
+  try {
+    if (value == true) {
+      if (icon.className.indexOf('tabTitle_elements_image_normal_icon') != -1) {
+        icon.className = icon.className.replace('tabTitle_elements_image_normal_icon', 'tabTitle_elements_image_processing_icon');
+      }
+    } else if (value == false) {
+      if (icon.className.indexOf('tabTitle_elements_image_processing_icon') != -1) {
+        icon.className = icon.className.replace('tabTitle_elements_image_processing_icon', 'tabTitle_elements_image_normal_icon');
+      }
+    }
+  }
+  catch (e) {
+    return false;
+  }
+  return true;
+}
+
+function setGridRefreshing(value) {
+  try {
+    setCalloutProcessing(value);
+  }
+  catch (e) {
+    return false;
+  }
+  return true;
+}
+
+function setMenuLoading(value) {
+  var frame = top.document;
+  var frameset = frame.getElementById("framesetMenu");
+  if (!frameset) 
+    return false;
+  try {
+    if (value == true) {
+      frameset.cols = "25%,0%,*";
+    } else if (value == false) {
+      frameset.cols = "0%,25%,*";
+    }
+  }
+  catch (e) {
+    return false;
+  }
+  return true;
+}
+
+function processingModeCode(target, display) {
+  var string = '';
+  string += "<div class=\"" + target + "_Status_Processing_Container\" id=\"Processing_Container\"";
+  if (display==false) string += " style=\"display: none\"";
+  string += ">\n";
+  string += "  <div class=\"" + target + "_Status_Processing_Elements_Container\">\n";
+  string += "    <div class=\"" + target + "_Status_Processing_logo\">\n";
+  string += "      <div class=\"" + target + "_Status_Processing_logo_dimension\"></div>";
+  string += "    </div>\n";
+  string += "    <div class=\"" + target + "_Status_Processing_text\">Processing...</div>\n";
+  string += "  </div>\n";
+  string += "</div>\n";
+  return string;
+}
+
+function setProcessingMode(target, value) {
+  if (target=='popup') {
+    var popup_code = document.getElementsByTagName('BODY')[0].innerHTML;
+    isKeyboardLocked=value;
+    if (document.getElementById('Processing_Container')) {
+      document.getElementById('Processing_Container').style.display = (value?"":"none");
+    } else {
+      document.getElementsByTagName('BODY')[0].innerHTML = processingModeCode('Popup', value) + popup_code;
+    }
+  } else {
+    var frame_menu = top.frames['frameMenu'];
+    var frame_window = top.frames['frameAplicacion'];
+    var menu_code = frame_menu.document.getElementsByTagName('BODY')[0].innerHTML;
+    var window_code = frame_window.document.getElementsByTagName('BODY')[0].innerHTML;
+    isKeyboardLocked=value;
+    if (frame_window.document.getElementById('Processing_Container')) {
+      frame_window.document.getElementById('Processing_Container').style.display = (value?"":"none");
+    } else {
+      frame_window.document.getElementsByTagName('BODY')[0].innerHTML = processingModeCode('Main', value) + window_code;
+    }
+    if (frame_menu.document.getElementById('Processing_Container')) {
+      frame_menu.document.getElementById('Processing_Container').style.display = (value?"":"none");
+    } else {
+      frame_menu.document.getElementsByTagName('BODY')[0].innerHTML = processingModeCode('Menu', value) + menu_code;
+    }
+  }
+}
--- a/web/js/openbravo/widget/DataGrid.js	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/js/openbravo/widget/DataGrid.js	Sat Apr 19 20:01:22 2008 +0000
@@ -3612,6 +3612,10 @@
          this.clearRows();
          return;
       }
+      try {
+        setGridRefreshing(true);
+      }
+      catch (e) {}
       this.isBlank = false;
       var viewPrecedesBuffer = this.buffer.startPos > startPos
       var contentStartPos = viewPrecedesBuffer ? this.buffer.startPos: startPos; 
@@ -3641,7 +3645,10 @@
            		onRefreshComplete[i]();
 			}
        }
-       
+      try {
+        setTimeout('setGridRefreshing(false);',50);
+      }
+      catch (e) {}
    },
 
 /**
--- a/web/js/utils.js	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/js/utils.js	Sat Apr 19 20:01:22 2008 +0000
@@ -47,6 +47,10 @@
 var gAUXILIAR=0;
 var gWaitingCallOut=false;
 
+var isKeyboardLocked=false;
+
+var isPopupLoadingWindowLoaded=false;
+
 
 /**
 * Set the focus on the first visible control in the form
@@ -497,8 +501,11 @@
 * @see #getArrayValue 
 * @see #submitCommandForm
 */
-function openPopUp(url, _name, height, width, top, left, checkChanges, target, doSubmit, closeControl, parameters) {
+function openPopUp(url, _name, height, width, top, left, checkChanges, target, doSubmit, closeControl, parameters, hasLoading) {
   var adds = "";
+  var isPopup = null;
+  if (_name!='frameAplicacion' && _name!='frameMenu') isPopup =  true;
+  else isPopup = false;
   if (height==null) height = screen.height - 50;
   if (width==null) width = screen.width;
   if (top==null) top = (screen.height - height) / 2;
@@ -513,6 +520,7 @@
     objFrame.location.href=url;
     return true;
   }
+  if (hasLoading==null) hasLoading = true;
   adds = "height=" + height + ", width=" + width + ", left=" + left + ", top=" + top;
   if (navigator.appName.indexOf("Netscape")) {
     adds += ", alwaysRaised=" + getArrayValue(parameters, "alwaysRaised", "1");
@@ -529,15 +537,37 @@
   if (doSubmit && (getArrayValue(parameters, "debug", false)==true)) {
     if (!depurar(getArrayValue(parameters, "Command", "DEFAULT"), null, "")) return false;
   }
-  var winPopUp = window.open((doSubmit?"":url), _name, adds);
+  if (isPopup == true && hasLoading == true) {
+    isPopupLoadingWindowLoaded=false;
+    var urlLoading = '../utility/PopupLoading.html'
+    var winPopUp = window.open((doSubmit?urlLoading:url), _name, adds);
+  } else {
+    var winPopUp = window.open((doSubmit?"":url), _name, adds);
+  }
+
   if (closeControl) window.onunload = function(){winPopUp.close();}
   if (doSubmit) {
-    submitCommandForm(getArrayValue(parameters, "Command", "DEFAULT"), (getArrayValue(parameters, "debug", false)==true), null, url, _name, target, checkChanges);
+    if (isPopup==true && hasLoading == true) synchronizedSubmitCommandForm(getArrayValue(parameters, "Command", "DEFAULT"), (getArrayValue(parameters, "debug", false)==true), null, url, _name, target, checkChanges);
+    else submitCommandForm(getArrayValue(parameters, "Command", "DEFAULT"), (getArrayValue(parameters, "debug", false)==true), null, url, _name, target, checkChanges);
   }
   winPopUp.focus();
   return winPopUp;
 }
 
+function synchronizedSubmitCommandForm(accion, bolDepurar, Formulario, newAction, newTarget, bolComprobar, bolComprobarCambios, isCallOut, controlEvt, evt) {
+  if (isPopupLoadingWindowLoaded==false) {
+    setTimeout(function() {synchronizedSubmitCommandForm(accion, bolDepurar, Formulario, newAction, newTarget, bolComprobar, bolComprobarCambios, isCallOut, controlEvt, evt);},50);
+    return;
+  } else {
+    submitCommandForm(accion, bolDepurar, Formulario, newAction, newTarget, bolComprobar, bolComprobarCambios, isCallOut, controlEvt, evt);
+  }
+}
+
+function setPopupLoadingWindowLoaded(value) {
+  if (value == '' || value == 'null' || value == null) value = true;
+  isPopupLoadingWindowLoaded = value;
+}
+
 /**
 * Opens a pop-up window and adds custom properties to it 
 * @param {String} url This is the URL to be loaded in the newly opened window.
@@ -711,7 +741,7 @@
 * @see #openPopUp 
 * @see #addArrayValue
 */
-function openServletNewWindow(Command, depurar, url, _name, processId, checkChanges, height, width, resizable, hasStatus, closeControl) {
+function openServletNewWindow(Command, depurar, url, _name, processId, checkChanges, height, width, resizable, hasStatus, closeControl, hasLoading) {
   if (height==null) height = 350;
   if (width==null) width = 500;
   if (closeControl==null) closeControl = true;
@@ -720,9 +750,15 @@
   parameters = addArrayValue(parameters, "debug", depurar, false);
   if (processId!=null && processId!="") parameters = addArrayValue(parameters, "inpProcessId", processId, true);
   if (Command!=null && Command!="") parameters = addArrayValue(parameters, "Command", Command, false);
-  return openPopUp(url, _name, height, width, null, null, checkChanges, null, true, closeControl, parameters);
+
+  if (navigator.userAgent.toUpperCase().indexOf("MSIE") != -1) {
+    setTimeout(function() {return openPopUp(url, _name, height, width, null, null, checkChanges, null, true, closeControl, parameters, hasLoading);},10);
+  } else {
+    return openPopUp(url, _name, height, width, null, null, checkChanges, null, true, closeControl, parameters, hasLoading);
+  }
 }
 
+
 /**
 * Opens a pop-up window with default parameter values 
 * @param {String} url This is the URL to be loaded in the newly opened window.
@@ -914,33 +950,91 @@
   if (!pushedKey) pushedKey = window.event;
  // alert(pushedKey.type);
   var keyCode = pushedKey.keyCode ? pushedKey.keyCode : pushedKey.which ? pushedKey.which : pushedKey.charCode;
-  var keyTarget = pushedKey.target ? pushedKey.target: pushedKey.srcElement;
-  var total = keyArray.length;
-  for (var i=0;i<total;i++) {
-    if (keyArray[i] != null && keyArray[i] && keyArray[i].eventShotter != 'onkeyup' && pushedKey.type=='keydown') {
-      if (keyCode == obtainKeyCode(keyArray[i].key)) {
-        if (keyArray[i].auxKey == null || keyArray[i].auxKey == "" || keyArray[i].auxKey == "null") {
-          if (!pushedKey.ctrlKey && !pushedKey.altKey && !pushedKey.shiftKey) {
-            if (!keyArray[i].propagateKey) {
-              if (window.event && window.event.keyCode == 116) { //F5 Special case
-                window.event.keyCode = 8;
-                keyCode = 8;
+  if (isKeyboardLocked==false) {
+    var keyTarget = pushedKey.target ? pushedKey.target: pushedKey.srcElement;
+    var total = keyArray.length;
+    for (var i=0;i<total;i++) {
+      if (keyArray[i] != null && keyArray[i] && keyArray[i].eventShotter != 'onkeyup' && pushedKey.type=='keydown') {
+        if (keyCode == obtainKeyCode(keyArray[i].key)) {
+          if (keyArray[i].auxKey == null || keyArray[i].auxKey == "" || keyArray[i].auxKey == "null") {
+            if (!pushedKey.ctrlKey && !pushedKey.altKey && !pushedKey.shiftKey) {
+              if (!keyArray[i].propagateKey) {
+                if (window.event && window.event.keyCode == 116) { //F5 Special case
+                  window.event.keyCode = 8;
+                  keyCode = 8;
+                }
+                if (window.event && window.event.keyCode == 121) { //F10 Special case
+                  window.event.keyCode = 8;
+                  keyCode = 8;
+                }
+                if (window.event && window.event.keyCode == 27) { //ESC Special case
+                  window.event.keyCode = 8;
+                  keyCode = 8;
+                }
               }
-              if (window.event && window.event.keyCode == 121) { //F10 Special case
-                window.event.keyCode = 8;
-                keyCode = 8;
-              }
-              if (window.event && window.event.keyCode == 27) { //ESC Special case
-                window.event.keyCode = 8;
-                keyCode = 8;
+              if (!keyArray[i].propagateKey) 
+                document.onkeypress = stopKeyPressEvent;
+              if (keyArray[i].field==null || (keyTarget!=null && keyTarget.name!=null && isIdenticalField(keyArray[i].field, keyTarget.name))) {
+                var evalfuncTrl = replaceEventString(keyArray[i].evalfunc, keyTarget.name, keyArray[i].field);
+                try {
+                  eval(evalfuncTrl);
+                  if (!keyArray[i].propagateKey) 
+                    return false; else 
+                    return true;
+                } catch (e) {
+                  document.onkeypress = startKeyPressEvent;
+                  return true;
+                }
+                document.onkeypress = startKeyPressEvent;
+                return true;
               }
             }
-            if (!keyArray[i].propagateKey) 
-              document.onkeypress = stopKeyPressEvent;
-            if (keyArray[i].field==null || (keyTarget!=null && keyTarget.name!=null && isIdenticalField(keyArray[i].field, keyTarget.name))) {
-              var evalfuncTrl = replaceEventString(keyArray[i].evalfunc, keyTarget.name, keyArray[i].field);
+          } else if (keyArray[i].field == null || (keyTarget!=null && keyTarget.name!=null && isIdenticalField(keyArray[i].field, keyTarget.name))) {
+            var evalfuncTrl = replaceEventString(keyArray[i].evalfunc, keyTarget.name, keyArray[i].field);
+            if (!keyArray[i].propagateKey) document.onkeypress = stopKeyPressEvent;
+            if (keyArray[i].auxKey == "ctrlKey" && pushedKey.ctrlKey && !pushedKey.altKey && !pushedKey.shiftKey) {
               try {
                 eval(evalfuncTrl);
+                document.onkeypress = startKeyPressEvent;
+                if (!keyArray[i].propagateKey) 
+                  return false; else 
+                  return true;
+              } catch (e) {
+                document.onkeypress = startKeyPressEvent;
+                return true;
+              }
+              document.onkeypress = startKeyPressEvent;
+              return true;
+            } else if (keyArray[i].auxKey == "altKey" && !pushedKey.ctrlKey && pushedKey.altKey && !pushedKey.shiftKey) {
+              try {
+                eval(evalfuncTrl);
+                document.onkeypress = startKeyPressEvent;
+                if (!keyArray[i].propagateKey) 
+                  return false; else 
+                  return true;
+              } catch (e) {
+                document.onkeypress = startKeyPressEvent;
+                return true;
+              }
+              document.onkeypress = startKeyPressEvent;
+              return true;
+            } else if (keyArray[i].auxKey == "shiftKey" && !pushedKey.ctrlKey && !pushedKey.altKey && pushedKey.shiftKey) {
+              try {
+                eval(evalfuncTrl);
+                document.onkeypress = startKeyPressEvent;
+                if (!keyArray[i].propagateKey) 
+                  return false; else 
+                  return true;
+              } catch (e) {
+                document.onkeypress = startKeyPressEvent;
+                return true;
+              }
+              document.onkeypress = startKeyPressEvent;
+              return true;
+            } else if (keyArray[i].auxKey == "ctrlKey+shiftKey" && pushedKey.ctrlKey && !pushedKey.altKey && pushedKey.shiftKey) {
+              try {
+                eval(evalfuncTrl);
+                document.onkeypress = startKeyPressEvent;
                 if (!keyArray[i].propagateKey) 
                   return false; else 
                   return true;
@@ -952,88 +1046,88 @@
               return true;
             }
           }
-        } else if (keyArray[i].field == null || (keyTarget!=null && keyTarget.name!=null && isIdenticalField(keyArray[i].field, keyTarget.name))) {
-          var evalfuncTrl = replaceEventString(keyArray[i].evalfunc, keyTarget.name, keyArray[i].field);
-          if (!keyArray[i].propagateKey) document.onkeypress = stopKeyPressEvent;
-          if (keyArray[i].auxKey == "ctrlKey" && pushedKey.ctrlKey && !pushedKey.altKey && !pushedKey.shiftKey) {
-            try {
-              eval(evalfuncTrl);
-              document.onkeypress = startKeyPressEvent;
+        }
+      } else if (keyArray[i] != null && keyArray[i] && keyArray[i].eventShotter == 'onkeyup'  && pushedKey.type=='keyup') {
+        if (keyCode == obtainKeyCode(keyArray[i].key)) {
+          if (keyArray[i].auxKey == null || keyArray[i].auxKey == "" || keyArray[i].auxKey == "null") {
+            if (!pushedKey.ctrlKey && !pushedKey.altKey && !pushedKey.shiftKey) {
+              if (!keyArray[i].propagateKey) {
+                if (window.event && window.event.keyCode == 116) { //F5 Special case
+                  window.event.keyCode = 8;
+                  keyCode = 8;
+                }
+                if (window.event && window.event.keyCode == 121) { //F10 Special case
+                  window.event.keyCode = 8;
+                  keyCode = 8;
+                }
+                if (window.event && window.event.keyCode == 27) { //ESC Special case
+                  window.event.keyCode = 8;
+                  keyCode = 8;
+                }
+              }
               if (!keyArray[i].propagateKey) 
-                return false; else 
+                document.onkeypress = stopKeyPressEvent;
+              if (keyArray[i].field==null || (keyTarget!=null && keyTarget.name!=null && isIdenticalField(keyArray[i].field, keyTarget.name))) {
+                var evalfuncTrl = replaceEventString(keyArray[i].evalfunc, keyTarget.name, keyArray[i].field);
+                try {
+                  eval(evalfuncTrl);
+                  if (!keyArray[i].propagateKey) 
+                    return false; else 
+                    return true;
+                } catch (e) {
+                  document.onkeypress = startKeyPressEvent;
+                  return true;
+                }
+                document.onkeypress = startKeyPressEvent;
                 return true;
-            } catch (e) {
+              }
+            }
+          } else if (keyArray[i].field == null || (keyTarget!=null && keyTarget.name!=null && isIdenticalField(keyArray[i].field, keyTarget.name))) {
+            var evalfuncTrl = replaceEventString(keyArray[i].evalfunc, keyTarget.name, keyArray[i].field);
+            if (!keyArray[i].propagateKey) document.onkeypress = stopKeyPressEvent;
+            if (keyArray[i].auxKey == "ctrlKey" && pushedKey.ctrlKey && !pushedKey.altKey && !pushedKey.shiftKey) {
+              try {
+                eval(evalfuncTrl);
+                document.onkeypress = startKeyPressEvent;
+                if (!keyArray[i].propagateKey) 
+                  return false; else 
+                  return true;
+              } catch (e) {
+                document.onkeypress = startKeyPressEvent;
+                return true;
+              }
               document.onkeypress = startKeyPressEvent;
               return true;
-            }
-            document.onkeypress = startKeyPressEvent;
-            return true;
-          } else if (keyArray[i].auxKey == "altKey" && !pushedKey.ctrlKey && pushedKey.altKey && !pushedKey.shiftKey) {
-            try {
-              eval(evalfuncTrl);
-              document.onkeypress = startKeyPressEvent;
-              if (!keyArray[i].propagateKey) 
-                return false; else 
+            } else if (keyArray[i].auxKey == "altKey" && !pushedKey.ctrlKey && pushedKey.altKey && !pushedKey.shiftKey) {
+              try {
+                eval(evalfuncTrl);
+                document.onkeypress = startKeyPressEvent;
+                if (!keyArray[i].propagateKey) 
+                  return false; else 
+                  return true;
+              } catch (e) {
+                document.onkeypress = startKeyPressEvent;
                 return true;
-            } catch (e) {
+              }
               document.onkeypress = startKeyPressEvent;
               return true;
-            }
-            document.onkeypress = startKeyPressEvent;
-            return true;
-          } else if (keyArray[i].auxKey == "shiftKey" && !pushedKey.ctrlKey && !pushedKey.altKey && pushedKey.shiftKey) {
-            try {
-              eval(evalfuncTrl);
-              document.onkeypress = startKeyPressEvent;
-              if (!keyArray[i].propagateKey) 
-                return false; else 
+            } else if (keyArray[i].auxKey == "shiftKey" && !pushedKey.ctrlKey && !pushedKey.altKey && pushedKey.shiftKey) {
+              try {
+                eval(evalfuncTrl);
+                document.onkeypress = startKeyPressEvent;
+                if (!keyArray[i].propagateKey) 
+                  return false; else 
+                  return true;
+              } catch (e) {
+                document.onkeypress = startKeyPressEvent;
                 return true;
-            } catch (e) {
+              }
               document.onkeypress = startKeyPressEvent;
               return true;
-            }
-            document.onkeypress = startKeyPressEvent;
-            return true;
-          } else if (keyArray[i].auxKey == "ctrlKey+shiftKey" && pushedKey.ctrlKey && !pushedKey.altKey && pushedKey.shiftKey) {
-            try {
-              eval(evalfuncTrl);
-              document.onkeypress = startKeyPressEvent;
-              if (!keyArray[i].propagateKey) 
-                return false; else 
-                return true;
-            } catch (e) {
-              document.onkeypress = startKeyPressEvent;
-              return true;
-            }
-            document.onkeypress = startKeyPressEvent;
-            return true;
-          }
-        }
-      }
-    } else if (keyArray[i] != null && keyArray[i] && keyArray[i].eventShotter == 'onkeyup'  && pushedKey.type=='keyup') {
-      if (keyCode == obtainKeyCode(keyArray[i].key)) {
-        if (keyArray[i].auxKey == null || keyArray[i].auxKey == "" || keyArray[i].auxKey == "null") {
-          if (!pushedKey.ctrlKey && !pushedKey.altKey && !pushedKey.shiftKey) {
-            if (!keyArray[i].propagateKey) {
-              if (window.event && window.event.keyCode == 116) { //F5 Special case
-                window.event.keyCode = 8;
-                keyCode = 8;
-              }
-              if (window.event && window.event.keyCode == 121) { //F10 Special case
-                window.event.keyCode = 8;
-                keyCode = 8;
-              }
-              if (window.event && window.event.keyCode == 27) { //ESC Special case
-                window.event.keyCode = 8;
-                keyCode = 8;
-              }
-            }
-            if (!keyArray[i].propagateKey) 
-              document.onkeypress = stopKeyPressEvent;
-            if (keyArray[i].field==null || (keyTarget!=null && keyTarget.name!=null && isIdenticalField(keyArray[i].field, keyTarget.name))) {
-              var evalfuncTrl = replaceEventString(keyArray[i].evalfunc, keyTarget.name, keyArray[i].field);
+            } else if (keyArray[i].auxKey == "ctrlKey+shiftKey" && pushedKey.ctrlKey && !pushedKey.altKey && pushedKey.shiftKey) {
               try {
                 eval(evalfuncTrl);
+                document.onkeypress = startKeyPressEvent;
                 if (!keyArray[i].propagateKey) 
                   return false; else 
                   return true;
@@ -1045,65 +1139,11 @@
               return true;
             }
           }
-        } else if (keyArray[i].field == null || (keyTarget!=null && keyTarget.name!=null && isIdenticalField(keyArray[i].field, keyTarget.name))) {
-          var evalfuncTrl = replaceEventString(keyArray[i].evalfunc, keyTarget.name, keyArray[i].field);
-          if (!keyArray[i].propagateKey) document.onkeypress = stopKeyPressEvent;
-          if (keyArray[i].auxKey == "ctrlKey" && pushedKey.ctrlKey && !pushedKey.altKey && !pushedKey.shiftKey) {
-            try {
-              eval(evalfuncTrl);
-              document.onkeypress = startKeyPressEvent;
-              if (!keyArray[i].propagateKey) 
-                return false; else 
-                return true;
-            } catch (e) {
-              document.onkeypress = startKeyPressEvent;
-              return true;
-            }
-            document.onkeypress = startKeyPressEvent;
-            return true;
-          } else if (keyArray[i].auxKey == "altKey" && !pushedKey.ctrlKey && pushedKey.altKey && !pushedKey.shiftKey) {
-            try {
-              eval(evalfuncTrl);
-              document.onkeypress = startKeyPressEvent;
-              if (!keyArray[i].propagateKey) 
-                return false; else 
-                return true;
-            } catch (e) {
-              document.onkeypress = startKeyPressEvent;
-              return true;
-            }
-            document.onkeypress = startKeyPressEvent;
-            return true;
-          } else if (keyArray[i].auxKey == "shiftKey" && !pushedKey.ctrlKey && !pushedKey.altKey && pushedKey.shiftKey) {
-            try {
-              eval(evalfuncTrl);
-              document.onkeypress = startKeyPressEvent;
-              if (!keyArray[i].propagateKey) 
-                return false; else 
-                return true;
-            } catch (e) {
-              document.onkeypress = startKeyPressEvent;
-              return true;
-            }
-            document.onkeypress = startKeyPressEvent;
-            return true;
-          } else if (keyArray[i].auxKey == "ctrlKey+shiftKey" && pushedKey.ctrlKey && !pushedKey.altKey && pushedKey.shiftKey) {
-            try {
-              eval(evalfuncTrl);
-              document.onkeypress = startKeyPressEvent;
-              if (!keyArray[i].propagateKey) 
-                return false; else 
-                return true;
-            } catch (e) {
-              document.onkeypress = startKeyPressEvent;
-              return true;
-            }
-            document.onkeypress = startKeyPressEvent;
-            return true;
-          }
         }
       }
     }
+  } else {
+    return false;
   }
   return true;
 }
@@ -1162,6 +1202,21 @@
   document.onkeyup=keyControl;  
 }
 
+/**
+* Locks the Keyboard
+*/
+function lockKeyboard(){
+  isKeyboardLocked=true;
+  return true;
+}
+
+/**
+* Unlocks the Keyboard
+*/
+function unlockKeyboard(){
+  isKeyboardLocked=false;
+  return true;
+}
 
 /**
 * Validates the name of a Field
@@ -1333,6 +1388,27 @@
   else return getChildText(nodo.firstChild);
 }
 
+/**
+* Returns the object child of a HTML object
+* @param {obj} object
+* @returns the object if exist. Else it returns false
+* @type Object
+*/
+function getObjChild(obj) {
+  try {
+    obj = obj.firstChild;
+    for (;;) {
+      if (obj.nodeType != '1') {
+        obj = obj.nextSibling;
+      } else {
+        break;
+      }
+    }
+    return obj;
+  } catch(e) {
+    return false;
+  }
+}
 
 /**
 * Fills a combo with a data from an Array. Allows to set a default selected item, defined as boolean field in the Array.
@@ -1760,7 +1836,7 @@
     var frameset = frame.getElementById("framesetMenu");
     if (!frameset) return false;
     try {
-      if (frameset.cols.substring(0,1)=="0") changeClass(id, "_hide", "_show", true);
+      if (top.isMenuHide==true) changeClass(id, "_hide", "_show", true);
       else changeClass(id, "_show", "_hide", true);
     } catch (ignored) {}
     return true;
@@ -1775,7 +1851,7 @@
 * @see #changeClass
 */
 function menuShowHide(id) {
-  if (!top.frameMenu) 
+  if (!top.frameMenu)
     window.open(baseFrameServlet, "_blank");
   else {
     var frame = top.document;
@@ -1792,18 +1868,20 @@
    document.onresize = obj;
    frm2.document.onresize = obj2;
    } catch (e) {*/
-    if (frameset.cols.substring(0, 1) == "0") {
-      frameset.cols = "25%,*";
+    if (top.isMenuHide == true) {
+      frameset.cols = "0%,25%,*";
+      top.isMenuHide = false;
       try {
         putFocusOnMenu();
       } catch(e) {
       }
-    } else { 
-      frameset.cols = "0%,*";
+    } else {
+      frameset.cols = "0%,0%,*";
+      top.isMenuHide = true;
     }
       //}
     try {
-      changeClass(id, "_hide", "_show");
+      updateMenuIcon(id);
     } catch (e) {}
     return true;
   }
@@ -2442,8 +2520,16 @@
 */
 function setGWaitingCallOut(state) {
   if (state==true) {
+    try {
+      setCalloutProcessing(true);
+    }
+    catch (e) {}
     gWaitingCallOut=true;
   } else if (state==false) {
+    try {
+      setCalloutProcessing(false);
+    }
+    catch (e) {}
     gWaitingCallOut=false;
   } else {
     return false;
@@ -2753,10 +2839,33 @@
 */
 function logChanges(campo) {
   if (campo==null || !campo) return false;
+  changeToEditingMode()
   return setChangedField(campo, campo.form);
 }
 
 /**
+* Used on the onKeyDown event for isEditing status.
+*/
+function changeToEditingMode() {
+  try {
+    if (!isTabPressed && isKeyboardLocked==false) {
+      setWindowEditing(true);
+    }
+  } catch (e) {}
+}
+
+/**
+* Used on the undo toolbar button
+* @param {Object} form Reference to the application form
+*/
+function windowUndo(form) {
+  form.reset();
+  form.inpLastFieldChanged.value = '';
+  setWindowEditing(false);
+  displayLogic();
+}
+
+/**
 * Opens a pop-up window with a processing message. Used for long wait calls.
 * @retunrs A reference ID of the newly opened window 
 * @type Object
--- a/web/skins/Default/Main/Client/Button/Button.css	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/skins/Default/Main/Client/Button/Button.css	Sat Apr 19 20:01:22 2008 +0000
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SL 
- * All portions are Copyright (C) 2008 Openbravo SL 
+ * All portions are Copyright (C) 2007-2008 Openbravo SL 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
--- a/web/skins/Default/Main/LeftTabsBar/LeftTabsBar.css	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/skins/Default/Main/LeftTabsBar/LeftTabsBar.css	Sat Apr 19 20:01:22 2008 +0000
@@ -161,6 +161,11 @@
   background: url(iconEditView.selected.png) no-repeat center center;
 }
 
+.Main_LeftTabsBar_ButtonRight_Icon_edition_new_selected {
+  background: url(iconNewView.selected.png) no-repeat center center;
+}
+
+
 
 .Main_LeftTabsBar_ButtonRight_Icon_relation {
   background: url(iconRelationalView.normal.png) no-repeat center center;
Binary file web/skins/Default/Main/LeftTabsBar/iconNewView.selected.png has changed
--- a/web/skins/Default/Main/Main_Edition.css	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/skins/Default/Main/Main_Edition.css	Sat Apr 19 20:01:22 2008 +0000
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SL 
- * All portions are Copyright (C) 2007 Openbravo SL 
+ * All portions are Copyright (C) 2007-2008 Openbravo SL 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -24,6 +24,7 @@
 @import url(./Tabs/Tabs.css);
 @import url(./Client/Client_Edition.css);
 @import url(./Bottom/Bottom.css);
+@import url(./Status/Status.css);
 @import url(../Popup/Calendar/Calendar.css);
 
 
--- a/web/skins/Default/Main/Main_Manual.css	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/skins/Default/Main/Main_Manual.css	Sat Apr 19 20:01:22 2008 +0000
@@ -25,6 +25,7 @@
 @import url(./Client/Client_Edition.css);
 @import url(../Main/Client/DataGrid/DataGrid.css);
 @import url(./Bottom/Bottom.css);
+@import url(./Status/Status.css);
 @import url(../Popup/Calendar/Calendar.css);
 
 
--- a/web/skins/Default/Main/Main_Relation.css	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/skins/Default/Main/Main_Relation.css	Sat Apr 19 20:01:22 2008 +0000
@@ -11,7 +11,7 @@
  * under the License. 
  * The Original Code is Openbravo ERP. 
  * The Initial Developer of the Original Code is Openbravo SL 
- * All portions are Copyright (C) 2007 Openbravo SL 
+ * All portions are Copyright (C) 2007-2008 Openbravo SL 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -24,7 +24,7 @@
 @import url(./Tabs/Tabs.css);
 @import url(./Client/Client_Relation.css);
 @import url(./Bottom/Bottom.css);
-
+@import url(./Status/Status.css);
 
 * {margin: 0px; padding: 0px;}
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/skins/Default/Main/Status/Status.css	Sat Apr 19 20:01:22 2008 +0000
@@ -0,0 +1,54 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SL 
+ * All portions are Copyright (C) 2008 Openbravo SL 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+*/
+
+
+.Main_Status_Processing_Container {
+  position: absolute;
+  overflow: none;
+  width: 100%;
+  height: 100%;
+  background: url(processingBackground.png);
+  text-align: center;
+  z-index: 99;
+}
+
+.Main_Status_Processing_Elements_Container {
+  position: relative;
+  top: 50%;
+  margin-top: -45px;
+}
+
+.Main_Status_Processing_logo {
+  position: relative;
+  vertical-align: middle;
+  background: url(windowLoading.gif) no-repeat center center;
+}
+
+.Main_Status_Processing_logo_dimension {
+  width: 70px;
+  height: 70px;
+}
+
+.Main_Status_Processing_text {
+  color: #d4d4d4;
+  font-weight: bold !important;
+  font-size: 11p !important;
+  text-align: center;
+  padding-top: 10px;
+}
\ No newline at end of file
Binary file web/skins/Default/Main/Status/processingBackground.png has changed
Binary file web/skins/Default/Main/Status/windowLoading.gif has changed
--- a/web/skins/Default/Main/Tabs/Tabs.css	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/skins/Default/Main/Tabs/Tabs.css	Sat Apr 19 20:01:22 2008 +0000
@@ -44,22 +44,56 @@
   _width: 14px;
 }
 
-.tabTitle div {
+.tabTitle_background {
   display: block;
   margin-left: 13px;
   margin-right: 14px;
   background: url(titleFill.png) repeat-x top;
 }
 
-.tabTitle div span {
+.tabTitle_elements_container {
   display: block;
-  padding: 0px 21px 0px 10px;
+  padding: 5px 60px 0px 10px;
+  _padding: 0px 60px 0px 10px;
   margin-right: -14px;
   background: url(titleRight.png) no-repeat right top;
   height: 18px;
   _width: 14px;
 }
 
+.tabTitle_elements_text {
+}
+
+.tabTitle_elements_separator {
+  padding: 0px 0px 0px 10px;
+  _padding: 5x 0px 0px 10px;
+  position: absolute;
+}
+
+.tabTitle_elements_separator_icon {
+  background: url(tabTitle.separator.png) no-repeat center center;
+  width: 2px;
+  height: 19px;
+}
+
+.tabTitle_elements_image {
+  padding: 0px 0px 0px 20px;
+  _padding: 5px 0px 0px 20px;
+  position: absolute;
+}
+
+.tabTitle_elements_image_normal_icon {
+  background: url(icon.tabTitle.normal.gif) no-repeat center center;
+  width: 19px;
+  height: 19px;
+}
+
+.tabTitle_elements_image_processing_icon {
+  background: url(icon.tabTitle.processing.gif) no-repeat center center;
+  width: 19px;
+  height: 19px;
+}
+
 /*dojoTabcurrent*/
 
 .dojoTabcurrent {
Binary file web/skins/Default/Main/Tabs/icon.tabTitle.normal.gif has changed
Binary file web/skins/Default/Main/Tabs/icon.tabTitle.processing.gif has changed
Binary file web/skins/Default/Main/Tabs/tabTitle.separator.png has changed
--- a/web/skins/Default/Main/ToolBar/ToolBar.css	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/skins/Default/Main/ToolBar/ToolBar.css	Sat Apr 19 20:01:22 2008 +0000
@@ -153,6 +153,34 @@
   background: url(button.selected.png) no-repeat center center;
 }
 
+
+/* Disabled buttons definition for ToolBar */
+a.Main_ToolBar_Button_disabled {
+  display:block;
+  margin-left:0px;
+  margin-right:0px;
+  width:26px;
+  height:26px;
+  border:0px;
+  vertical-align: middle;
+  cursor: default;
+  -moz-outline-style: none;
+}
+
+a.Main_ToolBar_Button_disabled:visited { 
+  cursor: default;
+}
+
+a.Main_ToolBar_Button_disabled:hover {
+  cursor: default;
+}
+
+a.Main_ToolBar_Button_disabled:active {
+  cursor: default;
+  -moz-outline-style: none;
+}
+
+/* Selected buttons definition for ToolBar */
 a.Main_ToolBar_Button_Selected:visited { 
 }
 
@@ -166,8 +194,6 @@
 }
 
 
-
-
 /* Icons definition for ToolBar */
 .Main_ToolBar_Button_Icon {
   border: 0px none;
@@ -269,6 +295,46 @@
   background: url(iconRelatedInfo.png) no-repeat center center;
 }
 
+
+
+.Main_ToolBar_Button_Icon_Save_Relation_disabled {
+  background: url(iconSaveAndRelation.disabled.png) no-repeat center center;
+}
+
+.Main_ToolBar_Button_Icon_Save_New_disabled {
+  background: url(iconSaveAndNew.disabled.png) no-repeat center center;
+}
+
+.Main_ToolBar_Button_Icon_Save_disabled {
+  background: url(iconSave.disabled.png) no-repeat center center;
+}
+
+.Main_ToolBar_Button_Icon_Save_Next_disabled {
+  background: url(iconSaveAndNext.disabled.png) no-repeat center center;
+}
+
+.Main_ToolBar_Button_Icon_Undo_disabled {
+  background: url(iconUndo.disabled.png) no-repeat center center;
+}
+
+.Main_ToolBar_Button_Icon_First_disabled {
+  background: url(iconFirst.disabled.png) no-repeat center center;
+}
+
+.Main_ToolBar_Button_Icon_Previous_disabled {
+  background: url(iconPrevious.disabled.png) no-repeat center center;
+}
+
+.Main_ToolBar_Button_Icon_Next_disabled {
+  background: url(iconNext.disabled.png) no-repeat center center;
+}
+
+.Main_ToolBar_Button_Icon_Last_disabled {
+  background: url(iconLast.disabled.png) no-repeat center center;
+}
+
+
+
 .Main_ToolBar_Button_Icon_Audit {
   background: url(iconAudit.png) no-repeat center center;
 }
Binary file web/skins/Default/Main/ToolBar/iconFirst.disabled.png has changed
Binary file web/skins/Default/Main/ToolBar/iconLast.disabled.png has changed
Binary file web/skins/Default/Main/ToolBar/iconNext.disabled.png has changed
Binary file web/skins/Default/Main/ToolBar/iconPrevious.disabled.png has changed
Binary file web/skins/Default/Main/ToolBar/iconSave.disabled.png has changed
Binary file web/skins/Default/Main/ToolBar/iconSaveAndNew.disabled.png has changed
Binary file web/skins/Default/Main/ToolBar/iconSaveAndNext.disabled.png has changed
Binary file web/skins/Default/Main/ToolBar/iconSaveAndRelation.disabled.png has changed
Binary file web/skins/Default/Main/ToolBar/iconUndo.disabled.png has changed
--- a/web/skins/Default/Menu/Menu.css	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/skins/Default/Menu/Menu.css	Sat Apr 19 20:01:22 2008 +0000
@@ -22,6 +22,7 @@
 @import url(./ToolBar/ToolBar.css);
 @import url(./Client/Client.css);
 @import url(./Bottom/Bottom.css);
+@import url(./Status/Status.css);
 
 * {margin: 0px; padding: 0px;}
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/skins/Default/Menu/Status/Status.css	Sat Apr 19 20:01:22 2008 +0000
@@ -0,0 +1,76 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SL 
+ * All portions are Copyright (C) 2008 Openbravo SL 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+*/
+
+
+.Menu_Status_Loading_Container {
+  background-color: #505050;
+  vertical-align: middle;
+  height: 100%;
+}
+
+.Menu_Status_Loading_logo {
+  width: 70px;
+  height: 70px;
+  vertical-align: middle;
+  background: url(windowLoading.gif) no-repeat center center;
+}
+
+.Menu_Status_Loading_text {
+  color: #d4d4d4;
+  font-weight: bold !important;
+  font-size: 11p !important;
+  text-align: center;
+  padding-top: 10px;
+}
+
+.Menu_Status_Processing_Container {
+  position: absolute;
+  overflow: none;
+  width: 100%;
+  height: 100%;
+  background: url(processingBackground.png);
+  text-align: center;
+  z-index: 99;
+}
+
+.Menu_Status_Processing_Elements_Container {
+  display: none;
+  position: relative;
+  top: 50%;
+  margin-top: -45px;
+}
+
+.Menu_Status_Processing_logo {
+  position: relative;
+  vertical-align: middle;
+  background: url(windowLoading.gif) no-repeat center center;
+}
+
+.Menu_Status_Processing_logo_dimension {
+  width: 70px;
+  height: 70px;
+}
+
+.Menu_Status_Processing_text {
+  color: #d4d4d4;
+  font-weight: bold !important;
+  font-size: 11p !important;
+  text-align: center;
+  padding-top: 10px;
+}
\ No newline at end of file
Binary file web/skins/Default/Menu/Status/processingBackground.png has changed
Binary file web/skins/Default/Menu/Status/windowLoading.gif has changed
--- a/web/skins/Default/Popup/Popup.css	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/skins/Default/Popup/Popup.css	Sat Apr 19 20:01:22 2008 +0000
@@ -26,6 +26,8 @@
 @import url(./InfoBar/InfoBar.css);
 @import url(./Client/Client.css);
 @import url(./Calendar/Calendar.css);
+@import url(./Status/Status.css);
+
 
 
 * {margin: 0px; padding: 0px;}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/skins/Default/Popup/Status/Status.css	Sat Apr 19 20:01:22 2008 +0000
@@ -0,0 +1,96 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo  Public  License
+ * Version  1.0  (the  "License"),  being   the  Mozilla   Public  License
+ * Version 1.1  with a permitted attribution clause; you may not  use this
+ * file except in compliance with the License. You  may  obtain  a copy of
+ * the License at http://www.openbravo.com/legal/license.html 
+ * Software distributed under the License  is  distributed  on  an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific  language  governing  rights  and  limitations
+ * under the License. 
+ * The Original Code is Openbravo ERP. 
+ * The Initial Developer of the Original Code is Openbravo SL 
+ * All portions are Copyright (C) 2008 Openbravo SL 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+*/
+
+
+.Popup_Status_Loading_Container {
+  position: absolute;
+  overflow: none;
+  width: 100%;
+  height: 100%;
+  background-color: #505050;
+  text-align: center;
+  z-index: 99;
+}
+
+.Popup_Status_Loading_Elements_Container {
+  position: relative;
+  width: 100%;
+  top: 50%;
+  margin-top: -35px;
+
+}
+
+.Popup_Status_Loading_logo {
+  position: relative;
+  vertical-align: middle;
+  background: url(windowLoading.gif) no-repeat center center;
+}
+
+.Popup_Status_Loading_logo_dimension {
+  width: 70px;
+  height: 70px;
+}
+
+.Popup_Status_Loading_text {
+  color: #d4d4d4;
+  text-align: center;
+  font-weight: bold !important;
+  font-size: 11p !important;
+  padding-top: 10px;
+}
+
+
+
+
+.Popup_Status_Processing_Container {
+  position: absolute;
+  overflow: none;
+  width: 100%;
+  height: 100%;
+  background: url(processingBackground.png);
+  text-align: center;
+  z-index: 99;
+}
+
+.Popup_Status_Processing_Elements_Container {
+  position: relative;
+  width: 100%;
+  top: 50%;
+  margin-top: -35px;
+
+}
+
+.Popup_Status_Processing_logo {
+  position: relative;
+  vertical-align: middle;
+  background: url(windowLoading.gif) no-repeat center center;
+}
+
+.Popup_Status_Processing_logo_dimension {
+  width: 70px;
+  height: 70px;
+}
+
+.Popup_Status_Processing_text {
+  color: #d4d4d4;
+  text-align: center;
+  font-weight: bold !important;
+  font-size: 11p !important;
+  padding-top: 10px;
+}
\ No newline at end of file
Binary file web/skins/Default/Popup/Status/processingBackground.png has changed
Binary file web/skins/Default/Popup/Status/windowLoading.gif has changed
--- a/web/skins/Default/Popup/WindowLogo/WindowLogo.css	Sat Apr 19 15:07:49 2008 +0000
+++ b/web/skins/Default/Popup/WindowLogo/WindowLogo.css	Sat Apr 19 20:01:22 2008 +0000
@@ -23,6 +23,7 @@
   width: 70px;
   height: 70px;
   background: url(background.png) no-repeat;
+  z-index: 50;
 }
 
 .Popup_WindowLogo_Icon {