merge
authorAdrián Romero <adrianromero@openbravo.com>
Wed, 10 Nov 2010 16:18:24 +0100
changeset 8790 9ed03c854c78
parent 8789 b56ec36bdf32 (current diff)
parent 8787 749da992079d (diff)
child 8791 ab7292517129
merge
.hgtags
--- a/.hgtags	Thu Nov 04 21:11:37 2010 +0100
+++ b/.hgtags	Wed Nov 10 16:18:24 2010 +0100
@@ -30,6 +30,7 @@
 41915c2f5ec639dadab8e797a1e5f1e0922fa029 2.50MP17
 f7b9678ebb10f1fb0963b7e3cc4724aa6aeca565 2.50MP18
 34eed7b386965b19e191fbfe03195588cdc75254 2.50MP19
+9910242bf4399dd2bd08959592b46fd3f5e4db7c demo-2.50MP20
 99ff33f6588973f7e738b6afd47ad44f3ac08d20 2.50MP20
 a3c1cffa8af7b60cab6949251fce1faaa13ca5bb 2.50MP21
 8ede6ac265f1dd70536888ce3e20ffd54e3a3bc6 2.50MP22
--- a/src/org/openbravo/base/secureApp/HttpSecureAppServlet.java	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/base/secureApp/HttpSecureAppServlet.java	Wed Nov 10 16:18:24 2010 +0100
@@ -61,6 +61,7 @@
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.data.FieldProvider;
 import org.openbravo.database.SessionInfo;
+import org.openbravo.erpCommon.ad_forms.RoleData;
 import org.openbravo.erpCommon.obps.ActivationKey;
 import org.openbravo.erpCommon.obps.ActivationKey.FeatureRestriction;
 import org.openbravo.erpCommon.obps.ActivationKey.LicenseRestriction;
@@ -307,11 +308,18 @@
             }
           }
 
+          final VariablesSecureApp vars = new VariablesSecureApp(request);
+          strLanguage = vars.getLanguage();
+	  strIsRTL = RoleData.getIsRTL(this, strLanguage);
+
           DefaultOptionsData dataLanguage[] = DefaultOptionsData.defaultLanguage(this, strUserAuth);
-          if (dataLanguage != null && dataLanguage.length > 0) {
-            strLanguage = dataLanguage[0].getField("DEFAULT_AD_LANGUAGE");
-            strIsRTL = dataLanguage[0].getField("ISRTL");
-          }
+          if (strLanguage == null || strLanguage.equals("")) {
+            if (dataLanguage != null && dataLanguage.length > 0) {
+              strLanguage = dataLanguage[0].getField("DEFAULT_AD_LANGUAGE");
+              strIsRTL = dataLanguage[0].getField("ISRTL");
+            }
+	  }
+
           if (strLanguage == null || strLanguage.equals("")) {
             dataLanguage = DefaultOptionsData.getDefaultLanguage(this);
             if (dataLanguage != null && dataLanguage.length > 0) {
@@ -320,7 +328,7 @@
             }
           }
 
-          final VariablesSecureApp vars = new VariablesSecureApp(request);
+//          final VariablesSecureApp vars = new VariablesSecureApp(request);
           if (LoginUtils.fillSessionArguments(this, vars, strUserAuth, strLanguage, strIsRTL,
               strRole, strClient, strOrg, strWarehouse)) {
             readProperties(vars, globalParameters.getOpenbravoPropertiesPath());
--- a/src/org/openbravo/base/secureApp/LoginHandler.java	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/base/secureApp/LoginHandler.java	Wed Nov 10 16:18:24 2010 +0100
@@ -30,6 +30,7 @@
 import org.openbravo.model.ad.module.Module;
 import org.openbravo.model.ad.system.Client;
 import org.openbravo.model.ad.system.SystemInformation;
+import org.openbravo.utils.FormatUtilities;
 import org.openbravo.xmlEngine.XmlDocument;
 
 public class LoginHandler extends HttpBaseServlet {
@@ -53,8 +54,7 @@
 
     // Empty session
     req.getSession(true).setAttribute("#Authenticated_user", null);
-
-    final String strUser = vars.getStringParameter("user");
+    
 
     OBContext.setAdminMode();
     try {
@@ -62,14 +62,36 @@
 
       String language = systemClient.getLanguage().getLanguage();
 
+
+        String strUser = vars.getStringParameter("user");
+        String strPass = FormatUtilities.sha1Base64(vars.getStringParameter("password"));
+
+        if (strUser == null || strUser.equals("")) {
+
+            // Read strUser and strPass based on the selected role
+            LoginUserData[] loginuser = LoginUserData.select(this, vars.getStringParameter("role"));
+            if (loginuser == null || loginuser.length == 0) {
+                    log4j.debug("Role does not have a default user");
+                    goToRetry(res, vars,
+                            Utility.messageBD(this, "IDENTIFICATION_FAILURE_MSG", language),
+                            Utility.messageBD(this, "IDENTIFICATION_FAILURE_TITLE", language), "Error", "../security/Login_FS.html");
+                return;
+            }
+            strUser = loginuser[0].username;
+            strPass = loginuser[0].password;
+        }
+
+
       if (strUser.equals("")) {
         res.sendRedirect(res.encodeRedirectURL(strDireccion + "/security/Login_F1.html"));
       } else {
-        final String strPass = vars.getStringParameter("password");
-        final String strUserAuth = LoginUtils.getValidUserId(myPool, strUser, strPass);
+        
+        final String strUserAuth = LoginUtils.getValidUserIdHashed(myPool, strUser, strPass);
 
         String sessionId = createDBSession(req, strUser, strUserAuth);
         if (strUserAuth != null) {
+          String strLanguage = vars.getStringParameter("languageLogin");
+          vars.setSessionValue("#AD_Language", strLanguage);
           HttpSession session = req.getSession(true);
           session.setAttribute("#Authenticated_user", strUserAuth);
           session.setAttribute("#AD_SESSION_ID", sessionId);
@@ -83,7 +105,7 @@
           // strUserAuth can be null because a failed user/password or because the user is locked
           String failureTitle;
           String failureMessage;
-          if (LoginUtils.checkUserPassword(myPool, strUser, strPass) == null) {
+          if (LoginUtils.checkUserPasswordHashed(myPool, strUser, strPass) == null) {
             log4j
                 .debug("Failed user/password. Username: " + strUser + " - Session ID:" + sessionId);
             failureTitle = Utility.messageBD(this, "IDENTIFICATION_FAILURE_TITLE", language);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/base/secureApp/LoginUser_data.xsql	Wed Nov 10 16:18:24 2010 +0100
@@ -0,0 +1,30 @@
+<?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 SLU
+ * All portions are Copyright (C) 2008 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+-->
+
+<SqlClass name="LoginUserData" package="org.openbravo.base.secureApp">
+<SqlMethod name="select" type="preparedStatement" return="multiple">
+    <SqlMethodComment></SqlMethodComment>
+    <Sql>
+    SELECT AD_USER_ID, USERNAME, PASSWORD FROM AD_USER WHERE DEFAULT_AD_ROLE_ID = ?
+    </Sql>
+    <Parameter name="adRoleId"/>
+  </SqlMethod>
+
+</SqlClass>
--- a/src/org/openbravo/base/secureApp/LoginUtils.java	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/base/secureApp/LoginUtils.java	Wed Nov 10 16:18:24 2010 +0100
@@ -41,6 +41,44 @@
   /**
    * Returns a userId which matches the login and password. If no user is found then null is
    * returned. The combination of login and password is used to find the user.
+   *
+   * Blocking users is taking into account
+   *
+   * Note that only active users are returned.
+   *
+   * @param connectionProvider
+   *          , see the {@link DalConnectionProvider} for an instance of a ConnectionProvider for
+   *          the DAL.
+   * @param login
+   *          the login
+   * @param hashedPassword
+   *          the password, the hashed password.
+   * @return the user id or null if no user could be found or the user is locked.
+   * @see FormatUtilities#sha1Base64(String)
+   */
+  public static String getValidUserIdHashed(ConnectionProvider connectionProvider, String login,
+      String hashedPassword) {
+    try {
+      // Deley response and check for locked user
+      UserLock lockSettings = new UserLock(login);
+      lockSettings.delayResponse();
+      if (lockSettings.isLockedUser()) {
+        return null;
+      }
+
+      final String userId = checkUserPasswordHashed(connectionProvider, login, hashedPassword);
+      if (userId == null) {
+        lockSettings.addFail();
+      }
+      return userId;
+    } catch (final Exception e) {
+      throw new OBException(e);
+    }
+  }
+
+  /**
+   * Returns a userId which matches the login and password. If no user is found then null is
+   * returned. The combination of login and password is used to find the user.
    * 
    * Blocking users is taking into account
    * 
@@ -79,6 +117,25 @@
   /**
    * Similar to {@link LoginUtils#getValidUserId(ConnectionProvider, String, String)} but not
    * blocking user accounts.
+   *
+   */
+  public static String checkUserPasswordHashed(ConnectionProvider connectionProvider, String login,
+      String hashedPassword) {
+    try {
+      final String userId = SeguridadData.valido(connectionProvider, login, hashedPassword);
+      if (userId.equals("-1")) {
+        return null;
+      }
+
+      return userId;
+    } catch (final Exception e) {
+      throw new OBException(e);
+    }
+  }
+
+  /**
+   * Similar to {@link LoginUtils#getValidUserId(ConnectionProvider, String, String)} but not
+   * blocking user accounts.
    * 
    */
   public static String checkUserPassword(ConnectionProvider connectionProvider, String login,
--- a/src/org/openbravo/erpCommon/ad_forms/LanguageCombo_data.xsql	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/LanguageCombo_data.xsql	Wed Nov 10 16:18:24 2010 +0100
@@ -22,7 +22,7 @@
 
 
 
-<SqlClass name="LanguageComboData" package="org.openbravo.erpCommon.ad_forms">
+<SqlClass name="LanguageComboData" package="org.openbravo.erpCommon.ad_forms" accessModifier="public">
    <SqlClassComment></SqlClassComment>
    <SqlMethod name="select" type="preparedStatement" return="multiple">
       <SqlMethodComment></SqlMethodComment>
--- a/src/org/openbravo/erpCommon/ad_forms/Role.html	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/Role.html	Wed Nov 10 16:18:24 2010 +0100
@@ -272,9 +272,6 @@
                       <td class="TitleCell" style="text-align:left;"><span class="LabelText"><a class="Popup_Client_UserOps_LabelLink_Selected" href="#" onmouseover="window.status='Session options';return true;" onmouseout="window.status='';return true;" onclick="unfold('sessionOptions');setTimeout('isInsideWindowTable(document.getElementById(\'sectionRol\')); setWindowElementFocus(\'sectionRol\',\'id\');',50);return false;" id="sessionOptions_MenuItem">Session options</a></span></td>
                     </tr>
                   
-                    <tr>
-                      <td class="TitleCell" style="text-align:left;"><span class="LabelText"><a class="Popup_Client_UserOps_LabelLink" href="#" onmouseover="window.status='Change password';return true;" onmouseout="window.status='';return true;" onclick="unfold('changePassword');setTimeout('isInsideWindowTable(document.getElementById(\'sectionActual\')); setWindowElementFocus(\'sectionActual\',\'id\');',50);return false;" id="changePassword_MenuItem">Change password</a></span></td>
-                    </tr>
 
                   </table>
                 </div>
@@ -496,110 +493,10 @@
                     </table>
                   </div>
 
-                  <div style="display: none;" id="changePassword">
-                    <table cellspacing="0" cellpadding="0" class="Popup_Client_TablePopup">
-                      <tr>
-                        <td colspan=4>
-                          <table class="FieldGroup" cellspacing="0" cellpadding="0" border="0">
-                          <tr class="FieldGroup_TopMargin"></tr>
-                          <tr>
-                          <td class="FieldGroupTitle_Left"><img class="FieldGroupTitle_Left_bg" border="0" src="../../../../../web/images/blank.gif"></img></td>
-                          <td class="FieldGroupTitle">Change password</td>
-                          <td class="FieldGroupTitle_Right"><img class="FieldGroupTitle_Right_bg" border="0" src="../../../../../web/images/blank.gif"></img></td>
-                          <td class="FieldGroupContent"></td>
+                <div id="changePassword" style="display: none;">
+                </div>
 
-                          </tr>
-                          <tr class="FieldGroup_BottomMargin"></tr>
-                          </table>
-                        </td>
-                      </tr>
-
-                      <tr>
-                        <td></td>
-                        <td class="TitleCell"><span class="LabelText">Current password</span></td>
-                        <td class="TextBox_ContentCell">
-                          <input class="dojoValidateValid TextBox_TwoCells_width" type="password" name="inpClaveOld" size="40" maxlength="40" value="" id="sectionActual"></input>
-                        </td>
-                        <td></td>
-                      </tr>
-                      <tr><td height="10px"></td></tr>
-                      <tr>
-                        <td></td>
-                        <td class="TitleCell"><span class="LabelText">New password</span></td>
-                        <td class="TextBox_ContentCell">
-                          <input class="dojoValidateValid TextBox_TwoCells_width" type="password" name="inpClaveNew" size="40" maxlength="40" value=""></input>
-                        </td>
-                        <td></td>
-                      </tr>
-                      <tr>
-
-                        <td></td>
-                        <td class="TitleCell"><span class="LabelText">Retype new password</span></td>
-                        <td class="TextBox_ContentCell">
-                          <input class="dojoValidateValid TextBox_TwoCells_width" type="password" name="inpClaveNew2" size="40" maxlength="40" value=""></input>
-                        </td>
-                        <td></td>
-                      </tr>
-
-                      <tr><td height="20px"></td></tr>
-
-                      <tr>
-                        <td></td>
-                        <td class="Button_RightAlign_ContentCell">
-                          <div>
-                            <button type="button" 
-                              id="buttonChange" 
-                              class="ButtonLink" 
-                              onclick="submitPassword();return false;" 
-                              onfocus="buttonEvent('onfocus', this); window.status='Change'; return true;" 
-                              onblur="buttonEvent('onblur', this);" 
-                              onkeyup="buttonEvent('onkeyup', this);" 
-                              onkeydown="buttonEvent('onkeydown', this);" 
-                              onkeypress="buttonEvent('onkeypress', this);" 
-                              onmouseup="buttonEvent('onmouseup', this);" 
-                              onmousedown="buttonEvent('onmousedown', this);" 
-                              onmouseover="buttonEvent('onmouseover', this); window.status='Change'; return true;" 
-                              onmouseout="buttonEvent('onmouseout', this);">
-                              <table class="Button">
-                                <tr>
-                                  <td class="Button_left"><img class="Button_Icon Button_Icon_password" alt="Change" title="Change" src="../../../../../web/images/blank.gif" border="0" /></td>
-                                  <td class="Button_text Button_width">Change</td>
-                                  <td class="Button_right"></td>
-                                </tr>
-                              </table>
-                            </button>
-                          </div>
-                        </td>
-
-                        <td class="Button_LeftAlign_ContentCell">
-                          <div>
-                            <button type="button" 
-                              class="ButtonLink" 
-                              onclick="document.frmMain.reset();return false;" 
-                              onfocus="buttonEvent('onfocus', this); window.status='Clear'; return true;" 
-                              onblur="buttonEvent('onblur', this);" 
-                              onkeyup="buttonEvent('onkeyup', this);" 
-                              onkeydown="buttonEvent('onkeydown', this);" 
-                              onkeypress="buttonEvent('onkeypress', this);" 
-                              onmouseup="buttonEvent('onmouseup', this);" 
-                              onmousedown="buttonEvent('onmousedown', this);" 
-                              onmouseover="buttonEvent('onmouseover', this); window.status='Clear'; return true;" 
-                              onmouseout="buttonEvent('onmouseout', this);">
-                              <table class="Button">
-                                <tr>
-                                  <td class="Button_left"><img class="Button_Icon Button_Icon_clear" alt="Clear" title="Clear" src="../../../../../web/images/blank.gif" border="0" /></td>
-                                  <td class="Button_text Button_width">Clear</td>
-                                  <td class="Button_right"></td>
-                                </tr>
-                              </table>
-                            </button>
-                          </div>
-                        </td>
-                        <td></td>
-                      </tr>
-
-                    </table>
-                  </div>
+          
 
                 </div>
               </td>
--- a/src/org/openbravo/erpCommon/ad_forms/Role.java	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/Role.java	Wed Nov 10 16:18:24 2010 +0100
@@ -134,9 +134,10 @@
       vars.setSessionValue("#TextDirection", "LTR");
     }
 
-    if (strSetDefault.equals("Y"))
-      RoleData.saveDefaultOptions(this, strLanguage, strRol, strClient, strOrg, strWarehouse,
-          strUserAuth);
+// Disabled in demo
+//    if (strSetDefault.equals("Y"))
+//      RoleData.saveDefaultOptions(this, strLanguage, strRol, strClient, strOrg, strWarehouse,
+//          strUserAuth);
 
     if (strClient.equals("") || strOrg.equals("") || strRol.equals(""))
       return false;
--- a/src/org/openbravo/erpCommon/ad_forms/Role_data.xsql	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/Role_data.xsql	Wed Nov 10 16:18:24 2010 +0100
@@ -22,7 +22,7 @@
 
 
 
-<SqlClass name="RoleData" package="org.openbravo.erpCommon.ad_forms">
+<SqlClass name="RoleData" package="org.openbravo.erpCommon.ad_forms" accessModifier="public">
   <SqlClassComment></SqlClassComment>
   
    <SqlMethod name="nombreUsuario" type="preparedStatement" return="String" default="">
--- a/src/org/openbravo/erpCommon/security/Login.java	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/erpCommon/security/Login.java	Wed Nov 10 16:18:24 2010 +0100
@@ -31,6 +31,7 @@
 import org.openbravo.dal.service.OBDal;
 import org.openbravo.erpCommon.businessUtility.Preferences;
 import org.openbravo.erpCommon.utility.PropertyException;
+import org.openbravo.erpCommon.ad_forms.LanguageComboData;
 import org.openbravo.erpCommon.utility.Utility;
 import org.openbravo.model.ad.system.Client;
 import org.openbravo.xmlEngine.XmlDocument;
@@ -198,6 +199,10 @@
     browserMsgFinal = "var browserMsg = \"" + browserMsgFinal + "\"";
     xmlDocument.setParameter("browserMsg", browserMsgFinal.replaceAll("\\n", "\n"));
 
+    xmlDocument.setData("structureRol", RoleComboLoginData.select(this));
+    
+    xmlDocument.setData("structureLang", LanguageComboData.select(this));
+
     response.setContentType("text/html; charset=UTF-8");
     PrintWriter out = response.getWriter();
     out.println(xmlDocument.print());
--- a/src/org/openbravo/erpCommon/security/Login_F1.html	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/erpCommon/security/Login_F1.html	Wed Nov 10 16:18:24 2010 +0100
@@ -4,15 +4,15 @@
  * 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 
+ * 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 SLU 
- * All portions are Copyright (C) 2001-2010 Openbravo SLU 
- * All Rights Reserved. 
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2001-2010 Openbravo SLU
+ * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
 -->
@@ -22,6 +22,7 @@
 <title>Log in</title>
 <link rel="shortcut icon" href="../../../../../web/images/favicon.ico" type="image/x-icon" />
 <link rel="stylesheet" type="text/css" href="../../../../../web/skins/Default/Openbravo_ERP_250.css" id="paramCSS"/>
+<link rel="stylesheet" type="text/css" href="../../../../../web/skins/Default/Demo/Demo.css" id="paramCSS"/>
 <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/messages.js" type="text/javascript"></script>
@@ -120,8 +121,8 @@
       onloadFunctions();
       clearForm();
     } catch (e) {}
-    setWindowElementFocus('firstElement');
-    if ((!revisionControl('8742')) || (isOpsInstance() != isOpsInstanceCached())) {
+    setWindowElementFocus('sectionRol');
+    if ((!revisionControl('8495')) || (isOpsInstance() != isOpsInstanceCached())) {
       alert(cacheMsg);
     }
 
@@ -137,211 +138,219 @@
   }
 </script>
 </head>
-<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="onLoadDo();" onresize="onResizeDo();" style="background-color: #505050 !important;">
-
-
+<body leftmargin="0" topmargin="0" onload="onLoadDo();" onresize="onResizeDo();" style="background-color: rgb(80, 80, 80) ! important;" marginheight="0" marginwidth="0">
 
 <form method="post" action="../secureApp/LoginHandler.html" name="frmIdentificacion" id="frmFormulario" autocomplete="off">
-  <input type="hidden" name="Command"></input>
+ <input name="Command" type="hidden">
+ <div id="body" style="">
+  <table id="main" border="0" cellpadding="0" cellspacing="0" height="100%">
 
+   <tbody>
+  <tr>
+   <td valign="top">
+    <div class="Main_ContentPane_NavBar" id="tdtopButtons">
+     <table class="Main_ContentPane_NavBar" id="tdtopNavButtons" cellpadding="0" cellspacing="0">
+    <tbody>
+     <tr class="Main_NavBar_bg">
+      <td style="text-align: left; text-indent: 10px; font-size: 22px; color: #FFFFFF; padding-bottom: 5px;" width="100%"><span style="display:none;">Openbravo ERP : Online Demo</span></td>
 
-  <table height="100%" border="0" cellpadding="0" cellspacing="0" id="main">
+      <td><div class="Main_NavBar_bg_logo_left"></div></td>
+      <td class="Main_NavBar_bg_logo" onclick="openNewBrowser('http://www.openbravo.com', 'Openbravo');return false;" width="1"><div class="Main_NavBar_logo" alt="Openbravo" title="Openbravo" border="0" id="openbravoLogo"></div></td>
+      <td><div class="Main_NavBar_bg_logo_right"></div></td>
+     </tr>
+    </tbody>
+     </table>
+    </div>
+    <div class="Login_ContentPane_ToolBar" id="paramToolBar">
+     <table class="Login_ContentPane_ToolBar Login_ToolBar_bg" id="tdToolBar">
+
+    <tbody>
+     <tr><td width="100%"></td></tr>
+    </tbody>
+     </table>
+    </div>
+    <div class="Login_ContentPane" style="overflow: auto; width: 1670px; height: 505px;" id="client">
+     <table border="0" cellpadding="0" cellspacing="0">
+    <tbody>
+     <tr class="Login_Demo_Separator_Top"><td colspan="5"></td></tr>
+
+     <tr>
+      <td></td>
+      <td width="420"></td>
+      <td class="Login_Demo_Separator_Middle_Ver"></td>
+      <td width="430"></td>
+      <td></td>
+     </tr>
+     <tr>
+      <td></td>
+
+      <td class="Login_Demo_ContentCell" valign="top">
+       <div style="font-family: trebuchet ms, arial, sans-serif; letter-spacing: -1px; padding-bottom: 10px; color: #808080; font-size: 15pt; font-weight: bolder; text-indent: 0px; text-align: left;">Welcome to our Openbravo ERP online demo</div>
+       <div style="width: 400px; text-align: justify;">
+      <p class="Regular_Paragraph" style="font-size: 13px; padding-left: 8px; padding-right: 8px; line-height: 20px;">Now you can easily tryout the latest Openbravo ERP version by starting your experience off with our fully functional demo. This demo is preconfigured with data for a fictious company called "BigBazaar". You will have access to all available product features with the exception of system administrator privileges used to configure the system.</p>
+       </div>
+       <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tbody>
+       <tr>
+
+        <td style="padding-top: 30px;" colspan="3" height="34">
+         <table border="0" cellpadding="0" cellspacing="0">
+        <tbody>
+         <tr>
+          <td><a class="LabelLink_noicon" href="http://wiki.openbravo.com/wiki/ERP/2.50/User_Manual" title="Openbravo User Manual" target="_blank"><img src="../../../../../web/images/blank.gif" class="Login_Demo_Help" border="0"></a></td>
+          <td><a class="LabelLink_noicon" style="font-size: 8pt; padding-left: 6px; padding-right: 6px; height: 14px; margin-left: 2px;" href="http://wiki.openbravo.com/wiki/ERP/2.50/User_Manual" title="Openbravo's User Manual" target="_blank"> Need help? Check Openbravo's User Manual</a></td>
+         </tr>
+        </tbody>
+
+         </table>
+        </td>
+       </tr>
+      </tbody>
+       </table>
+      </td>
+      <td></td>
+      <td class="Login_Demo_ContentCell">
+       <table class="Login_TableEdition" border="0" cellpadding="0" cellspacing="0">
+
+      <tbody>
+       <tr>
+        <td class="TableEdition_OneCell_width"></td>
+        <td class="TableEdition_OneCell_width"></td>
+        <td class="TableEdition_OneCell_width"></td>
+       </tr>
+       <tr>
+        <td><div class="Login_UserPicture" style="margin-top: -42px;"></div></td>
+        <td colspan="2" class="Login_Logo_Company_Container_Cell">
+
+         <div class="Login_Logo_Company_Container" style="border: medium none; background: transparent none repeat scroll 0% 0%; text-align: left; font-size: 45px; font-weight: bolder; color: rgb(180, 180, 180); float: left; width: 174px; padding-top: 20px;">Login</div>
+        </td>
+       </tr>
+
+  <tr>
+    <td class="TitleCell"><span class="LabelText">Role</span></td>
+    <td class="Combo_ContentCell">
+      <select name="role" id="sectionRol" class="Combo Combo_OneCell_width">
+        <option value="es" id="fieldClaveRol">xxrol1</option>
+      </select>
+    </td>
+  </tr>
+   <tr>
+    <td class="TitleCell"><span class="LabelText">Language</span></td>
+    <td colspan="2" class="Combo_ContentCell">
+
+     <select id="sectionLang" name="languageLogin" class="Combo Combo_OneCell_width">
+       <option value="en_US" id="fieldClaveLanguage"></option>
+     </select>
+    </td>
+   </tr>
+
+       <tr><td colspan="3" height="15"></td></tr>
+
     <tr>
-      <td valign="top">
-        <div class="Main_ContentPane_NavBar" id="tdtopButtons">
-          <table cellpadding="0" cellspacing="0" class="Main_ContentPane_NavBar" id="tdtopNavButtons">
-            <tr class="Main_NavBar_bg">
-              <td width="100%"></td>
-              <td><div class="Main_NavBar_bg_logo_left" /></td>
-              <td class="Main_NavBar_bg_logo" width="1" onclick="openNewBrowser('http://www.openbravo.com', 'Openbravo');return false;"><div class="Main_NavBar_logo" alt="Openbravo" title="Openbravo" border="0" id="openbravoLogo" /></td>
-              <td><div class="Main_NavBar_bg_logo_right" /></td>
-            </tr>
-          </table>
+      <td></td>
+      <td class="Button_CenterAlign_ContentCell">
+        <div>
+          <button type="button"
+            id="buttonOK"
+            class="ButtonLink"
+            onclick="buttonOK_click();"
+            onfocus="buttonEvent('onfocus', this); window.status='Login'; return true;"
+            onblur="buttonEvent('onblur', this);"
+            onkeyup="buttonEvent('onkeyup', this);"
+            onkeydown="buttonEvent('onkeydown', this);"
+            onkeypress="buttonEvent('onkeypress', this);"
+            onmouseup="buttonEvent('onmouseup', this);"
+            onmousedown="buttonEvent('onmousedown', this);"
+            onmouseover="buttonEvent('onmouseover', this); window.status='Login'; return true;"
+            onmouseout="buttonEvent('onmouseout', this);">
+            <table class="Button" id="fieldTable">
+              <tr>
+                <td class="Button_left"><img class="Button_Icon Button_Icon_ok" alt="Login" title="Login" src="../../../../../web/images/blank.gif" border="0" id="fieldButton" /></td>
+                <td class="Button_text Button_width">Login</td>
+                <td class="Button_right"></td>
+              </tr>
+            </table>
+          </button>
         </div>
-        <div class="Login_ContentPane_ToolBar" id="paramToolBar">
-        
-          <table class="Login_ContentPane_ToolBar Login_ToolBar_bg" id="tdToolBar">
-            <tr>
-              <td width="100%"></td>
-            </tr>
-          </table>
-        
-        </div>
-
-      <div class="Login_ContentPane" style="overflow: auto;" id="client">
-
-        <table class="Login_ContentPane_Container_Table">
-
-          <tr class="Login_Block_Separator_Top"><td></td></tr>
-
-          <tr>
-
-            <td class="Login_ContentCell">
-
-              <table cellspacing="0" cellpadding="0" class="Login_TableEdition">
-
-                <tr>
-                  <td class="TableEdition_OneCell_width"></td>
-                  <td class="TableEdition_OneCell_width"></td>
-                  <td class="TableEdition_OneCell_width"></td>
-                </tr>
-
-                <tr>
-                  <td rowspan="2"><div class="Login_UserPicture"></div>
-                  </td>
-                  <td colspan="2" class="Login_Logo_Company_Container_Cell">
-                    <div class="Login_Logo_Company_Container"><img class="Login_Logo_Company" src="../../../../../web/images/blank.gif"></img></div>
-                  </td>
-                </tr>
-
-
-                <tr><td height="25px"></td></tr>
-
-                <tr>
-                  <td class="TitleCell"><span class="LabelText">Username</span></td>
-                  <td class="TextBox_ContentCell" colspan="2">
-                    <input class="dojoValidateValid TextBox_TwoCells_width" type="text" size="40" maxlength="60" name="user"></input> 
-                  </td>
-                </tr>
-
-                <tr>
-                  <td class="TitleCell"><span class="LabelText">Password</span></td>
-                  <td class="TextBox_ContentCell" colspan="2">
-                    <input class="dojoValidateValid TextBox_TwoCells_width" type="password" size="40" maxlength="40" name="password"></input> 
-                  </td>
-                </tr>
-
-                <tr><td height="20px"></td></tr>
-
-                <tr>
-                  <td></td>
-                  <td class="Button_CenterAlign_ContentCell">
-                    <div>
-                      <button type="button" 
-                        id="buttonOK" 
-                        class="ButtonLink" 
-                        onclick="buttonOK_click();" 
-                        onfocus="buttonEvent('onfocus', this); window.status='Login'; return true;" 
-                        onblur="buttonEvent('onblur', this);" 
-                        onkeyup="buttonEvent('onkeyup', this);" 
-                        onkeydown="buttonEvent('onkeydown', this);" 
-                        onkeypress="buttonEvent('onkeypress', this);" 
-                        onmouseup="buttonEvent('onmouseup', this);" 
-                        onmousedown="buttonEvent('onmousedown', this);" 
-                        onmouseover="buttonEvent('onmouseover', this); window.status='Login'; return true;" 
-                        onmouseout="buttonEvent('onmouseout', this);">
-                        <table class="Button" id="fieldTable">
-                          <tr>
-                            <td class="Button_left"><img class="Button_Icon Button_Icon_ok" alt="Login" title="Login" src="../../../../../web/images/blank.gif" border="0" id="fieldButton" /></td>
-                            <td class="Button_text Button_width">Login</td>
-                            <td class="Button_right"></td>
-                          </tr>
-                        </table>
-                      </button>
-                    </div>
-                  </td>
-                  <td>
-                  </td>
-                </tr>
-
-              </table>
-            </div>
-
-            </td>
-            <td></td>
-
-          </tr>
-
-          <tr class="Login_Block_Separator_Middle"><td></td></tr>
-
-          <tr class="Login_Logo_Support_Field">
-
-            <td class="Login_ContentCell">
-
-              <table cellspacing="0" cellpadding="0" class="Login_TableEdition">
-
-                <tr>
-                  <td class="TableEdition_OneCell_width"></td>
-                  <td class="TableEdition_OneCell_width"></td>
-                  <td class="TableEdition_OneCell_width"></td>
-                </tr>
-
-                <tr>
-                  <td class="TitleCell"style="vertical-align: middle;"><span class="LabelText">For Support Contact:</span></td>
-
-                  <td colspan="2" rowspan="2" class="Login_Logo_Support_Container_Cell">
-                    <div class="Login_Logo_Support_Container"><img class="Login_Logo_Support" src="../../../../../web/images/blank.gif"></img></div>
-                  </td>
-                </tr>
-
-                <tr>
-                  <td class="TitleCell"style="vertical-align: middle;"><span class="LabelText" id="itService">www.your-it-service.com</span></td>
-                </tr>
-
-              </table>
-
-            </td>
-
-          </tr>
-
-          <tr class="Login_Block_Separator_Middle"><td></td></tr>
-
-          <tr class="Login_Logo_SourceForge_Field">
-
-            <td class="Login_ContentCell" >
-
-              
-              <table cellspacing="0" cellpadding="0" class="Login_TableEdition">
-
-                <tr>
-                  <td class="TableEdition_OneCell_width"></td>
-                  <td class="TableEdition_OneCell_width"></td>
-                  <td class="TableEdition_OneCell_width"></td>
-                </tr>
-
-                <tr>
-                  <td class="TitleCell"style="vertical-align: middle;"><span class="LabelText">Project hosted at</span></td>
-
-                  <td colspan="2" rowspan="2" class="Login_Logo_SourceForge_Container_Cell">
-                    <a href="http://sourceforge.net/projects/openbravo/" target="_blank" title="Openbravo&#39;s SourceForge"><img src="../../../../../web/images/blank.gif" border="0" alt="SourceForge.net Logo" class="Login_Logo_SourceForge"/></a>
-                  </td>
-                </tr>
-
-                <tr>
-                  <td class="TitleCell"style="vertical-align: middle;"><span class="LabelText">www.sourceforge.net</span></td>
-                </tr>
-
-              </table>
-
-
-            </td>
-
-          </tr>
-
-
-          <tr class="Login_Block_Separator_Middle"><td></td></tr>
-          <tr><td class="Login_Copyright_Container_Cell"><span class="Login_Copyright_text">Copyright Openbravo 2001-2010</span></td></tr>
-
-        </table>
-
-      </div>
-
-        <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Main_ContentPane_Bottom" id="tdbottomSeparator">
-          <tr>
-            <td class="Main_Bottom_bg"><img src="../../../../../web/images/blank.gif" border="0"></td>
-          </tr>
-        </table></td>
-      <td valign="top">
-        <table width="100%" border="0" cellspacing="0" cellpadding="0" class="Main_ContentPane_Right" id="tdrightSeparator">
-          <tr><td class="Main_NavBar_bg_right"></td></tr>
-          <tr><td class="Main_ToolBar_bg_right" valign="top"></td></tr>
-          <tr><td class="Main_Client_bg_right"></td></tr>
-          <tr><td class="Main_Bottom_bg_right"></td></tr>
-        </table>
+      </td>
+      <td>
       </td>
     </tr>
+
+       <tr><td colspan="3" height="15"></td></tr>
+      </tbody>
+       </table>
+      </td>
+      <td></td>
+     </tr>
+     <tr class="Login_Demo_Separator_Middle_Hor"><td></td></tr>
+     <tr>
+      <td></td>
+
+      <td colspan="3">
+       <table border="0" cellpadding="0" cellspacing="0" width="100%" style="background-color: #E8E8E8;">
+      <tbody>
+       <tr>
+        <td colspan="3" height="30">
+         <div style="font-family: trebuchet ms,arial,sans-serif; letter-spacing: -1px; padding: 15px 15px 20px; color: #808080; font-size: 15pt; font-weight: bolder; text-indent: 0px; text-align: center;">Did you know that Openbravo offers multiple additional resources that have been developed to facilitate your evaluation of our leading ERP solution?</div>
+        </td>
+       </tr>
+
+       <tr>
+        <td width="33%" align="center" style="padding-bottom: 20px;">
+        <a href="http://www.openbravo.com/about-us/events/webinars/" target="_blank"><img src="../../../../../web/skins/ltr/Default/Demo/img/demo-online-banners.png" title="Openbravo Webinars" alt="Openbravo Webinars" border="0" width="210" height="150" /></a>
+         </td>
+        </td>
+        <td width="34%" align="center" style="padding-bottom: 20px;">
+          <a href="http://www.openbravo.com/product/demo-center/erp/#video" target="_blank"><img src="../../../../../web/skins/ltr/Default/Demo/img/cat-videodemos-en.png" title="Video Demonstrations" alt="Video Demonstrations" border="0" width="210" height="150" /></a></td>
+        </td>
+        <td width="33%" align="center" style="padding-bottom: 20px;">
+
+      <a href="http://www.openbravo.com/product/demo-center/erp/#screen" target="_blank"><img src="../../../../../web/skins/ltr/Default/Demo/img/cat-screenshots-en.png" title="Screenshots" alt="Screenshots" border="0" width="210" height="150" /></a>
+       </td>
+        </td>
+       </tr>
+      </tbody>
+       </table>
+      <td></td>
+     </tr>
+     <tr class="Login_Demo_Separator_Middle_Hor"><td></td></tr>
+
+     <tr>
+      <td></td>
+      <td><a class="" href="http://www.openbravo.com/product/erp/acquire/" target="_blank"><img src="../../../../../web/skins/ltr/Default/Demo/img/call-to-action-howtobuy.png" alt="How to buy Openbravo" border="0" width="420"></a></td>
+      <td></td>
+      <td class="Login_TableEdition" style="height: 30px;"><a href="http://www.openbravo.com/partners/become-partner/" target="_blank" class=""><img src="../../../../../web/skins/ltr/Default/Demo/img/call-to-action-becomepartner.png" alt="Become a partner of Openbravo" border="0" width="431"></a></td>
+      <td></td>
+     </tr>
+    </tbody>
+     </table>
+
+    </div>
+    <table class="Main_ContentPane_Bottom" id="tdbottomSeparator" border="0" cellpadding="0" cellspacing="0" width="100%">
+     <tbody>
+    <tr>
+     <td class="Main_Bottom_bg" id="tdbottomButtons"><img src="../../../../../web/images/blank.gif" border="0"></td>
+    </tr>
+     </tbody>
+    </table>
+   </td>
+
+   <td valign="top">
+    <table class="Main_ContentPane_Right" id="tdrightSeparator" border="0" cellpadding="0" cellspacing="0" width="100%">
+     <tbody>
+    <tr><td class="Main_NavBar_bg_right"></td></tr>
+    <tr><td class="Main_ToolBar_bg_right" valign="top"></td></tr>
+    <tr><td class="Main_Client_bg_right"></td></tr>
+    <tr><td class="Main_Bottom_bg_right"></td></tr>
+     </tbody>
+    </table>
+
+   </td>
+  </tr>
+   </tbody>
   </table>
-
+ </div>
 </form>
 </body>
 </html>
--- a/src/org/openbravo/erpCommon/security/Login_F1.xml	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/erpCommon/security/Login_F1.xml	Wed Nov 10 16:18:24 2010 +0100
@@ -24,4 +24,14 @@
   <PARAMETER id="itService" name="itService" default=""/>
   <PARAMETER id="cacheMsg" name="cacheMsg" default=""/>
   <PARAMETER id="browserMsg" name="browserMsg" default=""/>
+    <structure name="structureLang">
+        <FIELD id="fieldClaveLanguage" attribute="value">adLanguage</FIELD>
+        <FIELD id="fieldClaveLanguage">name</FIELD>
+        <SECTION id="sectionLang"/>
+    </structure>
+    <structure name="structureRol">
+        <FIELD id="fieldClaveRol" attribute="value">adRoleId</FIELD>
+        <FIELD id="fieldClaveRol">name</FIELD>
+        <SECTION id="sectionRol"/>
+    </structure>
 </REPORT>
--- a/src/org/openbravo/erpCommon/security/Login_FS.html	Thu Nov 04 21:11:37 2010 +0100
+++ b/src/org/openbravo/erpCommon/security/Login_FS.html	Wed Nov 10 16:18:24 2010 +0100
@@ -46,7 +46,7 @@
 </script>
 
 </head>
-<frameset cols="25%,0%,*" frameborder="no" border="0" framespacing="0" rows="*" id="framesetMenu"> 
+<frameset cols="0%,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%,*"> 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/openbravo/erpCommon/security/RoleComboLogin_data.xsql	Wed Nov 10 16:18:24 2010 +0100
@@ -0,0 +1,39 @@
+<?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 SLU
+ * All portions are Copyright (C) 2001-2009 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+-->
+
+
+
+
+
+<SqlClass name="RoleComboLoginData" package="org.openbravo.erpCommon.security">
+   <SqlClassComment></SqlClassComment>
+
+   <SqlMethod name="select" type="preparedStatement" return="multiple">
+      <SqlMethodComment></SqlMethodComment>
+      <Sql>
+        SELECT AD_ROLE_ID, NAME
+        FROM AD_ROLE
+        WHERE ISACTIVE = 'Y'
+        AND AD_CLIENT_ID = '1000000'
+        ORDER BY NAME
+      </Sql>
+   </SqlMethod>
+
+</SqlClass>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/skins/Default/Demo/Demo.css	Wed Nov 10 16:18:24 2010 +0100
@@ -0,0 +1,133 @@
+/*
+ *************************************************************************
+ * 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 SLU 
+ * All portions are Copyright (C) 2007 Openbravo SLU 
+ * All Rights Reserved. 
+ * Contributor(s):  ______________________________________.
+ ************************************************************************
+*/
+
+
+table.Login_Demo_BottomBanner_Table1 {
+  height: 100px;
+  width: 100px;
+  background: url('img/newLeft.png') repeat-x;
+  background-position: top right;
+}
+
+table.Login_Demo_BottomBanner_Table11 {
+  position: relative;
+  top: -27px;
+  left: 10px;
+  height: 100px;
+  width: 100px;
+  background: transparent url('img/newStarAlone.png') no-repeat scroll right top;
+  text-align: center;
+}
+
+td.Login_Demo_BottomBanner_Table11_td1 {
+  font-family: tahoma, arial, helvetica, sans-serif;
+  color: #FFC8C8;
+  padding: 0px 0px 12px 0px;
+}
+
+table.Login_Demo_BottomBanner_Table2 {
+  height: 100px;
+  background: none;
+  background: url('img/newFill.png') repeat-x;
+  background-position: top right;
+}
+
+td.Login_Demo_BottomBanner_Table2_td1 {
+  height: 100px;
+  background: url('img/newRightFill.png') no-repeat;
+  background-position: top right;
+}
+
+td.Login_Demo_BottomBanner_Table3 {
+  height: 100px;
+  width: 48px;
+  background: url('img/newRight.png') repeat-x;
+  background-position: top right;
+}
+
+.Login_Demo_BottomBanner_Arrow {
+  width: 41px;
+  height: 37px;
+  background: url('img/downloadArrow.png') no-repeat;
+}
+
+td.Login_Demo_TopBanner_td1 {
+  height: 60px;
+  width: 20px;
+  background: url('img/topBoxLeft.png') no-repeat;
+  background-position: top right;
+}
+
+table.Login_Demo_TopBanner_Table1 {
+  height: 60px;
+  background: url('img/topBoxFill.png') repeat-x;
+  background-position: top center;
+  text-align: center;
+  padding: 0px 15px 8px 15px;
+  line-height: 12px !important;
+}
+
+td.Login_Demo_TopBanner_td2 {
+  height: 60px;
+  width: 20px;
+  background: url('img/topBoxRight.png') no-repeat;
+  background-position: top left;
+}
+
+.Login_Demo_BottomBanner_Flag {
+  width: 140px;
+  height: 96px;
+  background: url('img/flag.png') no-repeat;
+}
+
+.Login_Demo_OBLogo {
+  width: 101px;
+  height: 24px;
+  background: url('img/ob-logo.gif') no-repeat;
+}
+
+.Login_Demo_Help {
+  width: 16px;
+  height: 16px;
+  background: url('img/demoHelp.png') no-repeat;
+}
+
+td.Login_Demo_ContentCell {
+  background-color: #E8E8E8;
+  text-align: -moz-center;
+  _text-align: center;
+  vertical-align: middle;
+  border: 0px none;
+  padding-left: 10px;
+  padding-right: 10px;
+  padding-top: 5px;
+  padding-bottom: 5px;
+}
+
+tr.Login_Demo_Separator_Top {
+  height: 20px;
+}
+
+tr.Login_Demo_Separator_Middle_Hor {
+  height: 15px;
+}
+
+td.Login_Demo_Separator_Middle_Ver {
+  width: 15px;
+}
Binary file web/skins/Default/Demo/img/call-to-action-becomepartner.png has changed
Binary file web/skins/Default/Demo/img/call-to-action-howtobuy.png has changed
Binary file web/skins/Default/Demo/img/cat-screenshots-en.png has changed
Binary file web/skins/Default/Demo/img/cat-screenshots-es.png has changed
Binary file web/skins/Default/Demo/img/cat-videodemos-en.png has changed
Binary file web/skins/Default/Demo/img/cat-videodemos-es.png has changed
Binary file web/skins/Default/Demo/img/demo-online-banners.png has changed
Binary file web/skins/Default/Demo/img/demoHelp.png has changed
Binary file web/skins/Default/Demo/img/downloadArrow.png has changed
Binary file web/skins/Default/Demo/img/flag.png has changed
Binary file web/skins/Default/Demo/img/newFill.png has changed
Binary file web/skins/Default/Demo/img/newLeft.png has changed
Binary file web/skins/Default/Demo/img/newRight.png has changed
Binary file web/skins/Default/Demo/img/newRightFill.png has changed
Binary file web/skins/Default/Demo/img/newStarAlone.png has changed
Binary file web/skins/Default/Demo/img/ob-logo.gif has changed
Binary file web/skins/Default/Demo/img/topBoxFill.png has changed
Binary file web/skins/Default/Demo/img/topBoxLeft.png has changed
Binary file web/skins/Default/Demo/img/topBoxRight.png has changed