Index: /home/smile/J2EE/workspace-igb-smile/IzPack-4/src/lib/com/izforge/izpack/installer/IzPanel.java
===================================================================
--- /home/smile/J2EE/workspace-igb-smile/IzPack-4/src/lib/com/izforge/izpack/installer/IzPanel.java	(revision 2238)
+++ /home/smile/J2EE/workspace-igb-smile/IzPack-4/src/lib/com/izforge/izpack/installer/IzPanel.java	(working copy)
@@ -1004,4 +1004,25 @@
     {
         this.metadata = p;
     }
+
+    /**
+     * Parses the text for special variables.
+     */
+    protected String parseText(String string_to_parse)
+    {
+        try
+        {
+            // Initialize the variable substitutor
+            VariableSubstitutor vs = new VariableSubstitutor(idata.getVariables());
+
+            // Parses the info text
+            string_to_parse=vs.substitute(string_to_parse, null);
+        }
+        catch (Exception err)
+        {
+            err.printStackTrace();
+        }
+        return string_to_parse;
+    }
+
 }
Index: /home/smile/J2EE/workspace-igb-smile/IzPack-4/src/lib/com/izforge/izpack/panels/HTMLInfoPanel.java
===================================================================
--- /home/smile/J2EE/workspace-igb-smile/IzPack-4/src/lib/com/izforge/izpack/panels/HTMLInfoPanel.java	(revision 2238)
+++ /home/smile/J2EE/workspace-igb-smile/IzPack-4/src/lib/com/izforge/izpack/panels/HTMLInfoPanel.java	(working copy)
@@ -19,6 +19,11 @@
 
 package com.izforge.izpack.panels;
 
+import javax.swing.JEditorPane;
+import javax.swing.JScrollPane;
+import javax.swing.event.HyperlinkEvent;
+import javax.swing.event.HyperlinkListener;
+
 import com.izforge.izpack.gui.IzPanelLayout;
 import com.izforge.izpack.gui.LabelFactory;
 import com.izforge.izpack.installer.InstallData;
@@ -26,11 +31,6 @@
 import com.izforge.izpack.installer.IzPanel;
 import com.izforge.izpack.installer.ResourceManager;
 
-import javax.swing.*;
-import javax.swing.event.HyperlinkEvent;
-import javax.swing.event.HyperlinkListener;
-import java.net.URL;
-
 /**
  * The HTML info panel.
  *
@@ -66,7 +66,12 @@
             textArea.setEditable(false);
             textArea.addHyperlinkListener(this);
             JScrollPane scroller = new JScrollPane(textArea);
-            textArea.setPage(loadInfo());
+            // TODO: it would be nice to give the Panel the parse attribute but by now the content is simply parsed
+            String content=loadHTMLInfoContent();
+            if (content!=null)
+            {
+               textArea.setText(this.parseText(loadHTMLInfoContent()));
+            }
             add(scroller, NEXT_LINE);
         }
         catch (Exception err)
@@ -75,18 +80,30 @@
         }
         getLayoutHelper().completeLayout();
     }
-
-    /**
-     * Loads the info.
-     *
-     * @return The info URL.
+    
+    /*
+     * loads the content of the info resource as text so that it can be parsed afterwards  
      */
-    private URL loadInfo()
+    private String loadHTMLInfoContent()
     {
         String resNamePrifix = "HTMLInfoPanel.info";
+        if (this.getMetadata()!=null && this.getMetadata().getPanelid()!=null)
+        {
+           String panelspecificResNamePrifix="HTMLInfoPanel."+this.getMetadata().getPanelid();
+           String panelspecificResContent=null;
+           try
+           {
+              panelspecificResContent = ResourceManager.getInstance().getTextResource(panelspecificResNamePrifix);
+           }
+           catch (Exception e){}
+           if (panelspecificResContent!=null)
+           {
+               return panelspecificResContent;
+           }
+        }
         try
         {
-            return ResourceManager.getInstance().getURL(resNamePrifix);
+            return ResourceManager.getInstance().getTextResource(resNamePrifix);
         }
         catch (Exception ex)
         {
@@ -160,4 +177,15 @@
             //TODO: Handle exception.
         }
     }
+    
+    public void panelActivate()
+    {
+        // TODO: it would be nice to give the Panel the parse attribute but by now the content is simply parsed
+        String content=loadHTMLInfoContent();
+        if (content!=null)
+        {
+           textArea.setText(this.parseText(loadHTMLInfoContent()));
+        }
+    }
+    
 }

