http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/images/logos/james-standard-mailets-logo.gif
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/images/logos/james-standard-mailets-logo.gif
 
b/content/mime4j/apache-mime4j-james-utils/images/logos/james-standard-mailets-logo.gif
new file mode 100644
index 0000000..b6e8d02
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/images/logos/james-standard-mailets-logo.gif
 differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/images/logos/maven-feather.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/images/logos/maven-feather.png 
b/content/mime4j/apache-mime4j-james-utils/images/logos/maven-feather.png
new file mode 100644
index 0000000..b5ada83
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/images/logos/maven-feather.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/images/minibutton_icons.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/images/minibutton_icons.png 
b/content/mime4j/apache-mime4j-james-utils/images/minibutton_icons.png
new file mode 100644
index 0000000..657a950
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/images/minibutton_icons.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/images/minibutton_matrix.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/images/minibutton_matrix.png 
b/content/mime4j/apache-mime4j-james-utils/images/minibutton_matrix.png
new file mode 100644
index 0000000..0943af7
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/images/minibutton_matrix.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/images/newwindow.png
----------------------------------------------------------------------
diff --git a/content/mime4j/apache-mime4j-james-utils/images/newwindow.png 
b/content/mime4j/apache-mime4j-james-utils/images/newwindow.png
new file mode 100644
index 0000000..6287f72
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/images/newwindow.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/images/void.gif
----------------------------------------------------------------------
diff --git a/content/mime4j/apache-mime4j-james-utils/images/void.gif 
b/content/mime4j/apache-mime4j-james-utils/images/void.gif
new file mode 100644
index 0000000..e3a7d8c
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/images/void.gif differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/index.html
----------------------------------------------------------------------
diff --git a/content/mime4j/apache-mime4j-james-utils/index.html 
b/content/mime4j/apache-mime4j-james-utils/index.html
new file mode 100644
index 0000000..5b6eae9
--- /dev/null
+++ b/content/mime4j/apache-mime4j-james-utils/index.html
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.    
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia at 2017-06-15 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Apache James :: Mime4j :: James utils &#x2013; About</title>
+    <style type="text/css" media="all">
+      @import url("./css/james.css");
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+      @import url("./js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css");
+      @import url("./js/jquery/css/print.css");
+      @import url("./js/fancybox/jquery.fancybox-1.3.4.css");
+    </style>
+    <script type="text/javascript" 
src="./js/jquery/js/jquery-1.4.2.min.js"></script>
+    <script type="text/javascript" 
src="./js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script>
+    <script type="text/javascript" 
src="./js/fancybox/jquery.fancybox-1.3.4.js"></script>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" 
media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20170615" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+          <!-- Google Analytics -->
+    <script type="text/javascript">
+    
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-1384591-1']);
+      _gaq.push(['_trackPageview']);
+
+      (function() {
+        var ga = document.createElement('script'); ga.type = 
'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script').item(0); 
s.parentNode.insertBefore(ga, s);
+      })();
+
+    </script>
+    </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="../../" id="bannerLeft" 
title="james-logo.png">
+              
+                                                                            
+        <img src="images/logos/james-logo.png" alt="JAMES Mime4J" />
+                </a>
+                              <a href="http://www.apache.org/index.html"; 
id="bannerRight">
+              
+                                        
+        <img src="images/logos/asf_logo_small.png" alt="The Apache Software 
Foundation" />
+                </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+                
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2017-06-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 
0.8.2-SNAPSHOT</span>
+                      </div>
+            <div class="xright">                    <a href="../../index.html" 
title="Home">Home</a>
+            |
+                        <a href="../../documentation.html" 
title="Server">Server</a>
+            |
+                        <a href="../../jsieve/index.html" 
title="jSieve">jSieve</a>
+            |
+                        <a href="../../jspf/index.html" title="jSPF">jSPF</a>
+            |
+                        <a href="../../jdkim/index.html" 
title="jDKIM">jDKIM</a>
+            |
+                        <a href="../../hupa/index.html" title="Hupa">Hupa</a>
+              
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                
+                 <h5>Apache Software Foundation</h5>
+  <ul>
+    <li>
+      <strong>
+        <a title="ASF" href="http://www.apache.org/";>ASF</a>
+      </strong>
+    </li>
+    <li>
+      <a title="Get Involved" 
href="http://www.apache.org/foundation/getinvolved.html";>Get Involved</a>
+    </li>
+    <li>
+      <a title="FAQ" href="http://www.apache.org/foundation/faq.html";>FAQ</a>
+    </li>
+    <li>
+      <a title="License" href="http://www.apache.org/licenses/"; >License</a>
+    </li>
+    <li>
+      <a title="Sponsorship" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
+    </li>
+    <li>
+      <a title="Thanks" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
+    </li>
+    <li>
+      <a title="Security" href="http://www.apache.org/security/";>Security</a>
+    </li>
+  </ul>
+                       <a href="http://maven.apache.org/"; title="Built by 
Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" 
src="./images/logos/maven-feather.png" />
+      </a>
+                   
+                
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section">
+<h2><a name="About_Apache_James_::_Mime4j_::_James_utils"></a>About Apache 
James :: Mime4j :: James utils</h2><a 
name="About_Apache_James_::_Mime4j_::_James_utils"></a>
+<p>Mime tools to be shared across James implementation. It is separated from 
other mime4J projects as it depends on James guava version.</p></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">Copyright &#169;                    2004-2017
+                        <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
+            All Rights Reserved.      
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/issue-tracking.html
----------------------------------------------------------------------
diff --git a/content/mime4j/apache-mime4j-james-utils/issue-tracking.html 
b/content/mime4j/apache-mime4j-james-utils/issue-tracking.html
new file mode 100644
index 0000000..8751451
--- /dev/null
+++ b/content/mime4j/apache-mime4j-james-utils/issue-tracking.html
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.    
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<!-- Generated by Apache Maven Doxia at 2017-06-15 -->
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+    <title>Apache James :: Mime4j :: James utils &#x2013; Issue 
Management</title>
+    <style type="text/css" media="all">
+      @import url("./css/james.css");
+      @import url("./css/maven-base.css");
+      @import url("./css/maven-theme.css");
+      @import url("./css/site.css");
+      @import url("./js/jquery/css/custom-theme/jquery-ui-1.8.5.custom.css");
+      @import url("./js/jquery/css/print.css");
+      @import url("./js/fancybox/jquery.fancybox-1.3.4.css");
+    </style>
+    <script type="text/javascript" 
src="./js/jquery/js/jquery-1.4.2.min.js"></script>
+    <script type="text/javascript" 
src="./js/jquery/js/jquery-ui-1.8.5.custom.min.js"></script>
+    <script type="text/javascript" 
src="./js/fancybox/jquery.fancybox-1.3.4.js"></script>
+    <link rel="stylesheet" href="./css/print.css" type="text/css" 
media="print" />
+    <meta name="Date-Revision-yyyymmdd" content="20170615" />
+    <meta http-equiv="Content-Language" content="en" />
+        
+          <!-- Google Analytics -->
+    <script type="text/javascript">
+    
+      var _gaq = _gaq || [];
+      _gaq.push(['_setAccount', 'UA-1384591-1']);
+      _gaq.push(['_trackPageview']);
+
+      (function() {
+        var ga = document.createElement('script'); ga.type = 
'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script').item(0); 
s.parentNode.insertBefore(ga, s);
+      })();
+
+    </script>
+    </head>
+  <body class="composite">
+    <div id="banner">
+                                      <a href="../../" id="bannerLeft" 
title="james-logo.png">
+              
+                                                                            
+        <img src="images/logos/james-logo.png" alt="JAMES Mime4J" />
+                </a>
+                              <a href="http://www.apache.org/index.html"; 
id="bannerRight">
+              
+                                        
+        <img src="images/logos/asf_logo_small.png" alt="The Apache Software 
Foundation" />
+                </a>
+            <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="breadcrumbs">
+            
+                
+                <div class="xleft">
+        <span id="publishDate">Last Published: 2017-06-15</span>
+                  &nbsp;| <span id="projectVersion">Version: 
0.8.2-SNAPSHOT</span>
+                      </div>
+            <div class="xright">                    <a href="../../index.html" 
title="Home">Home</a>
+            |
+                        <a href="../../documentation.html" 
title="Server">Server</a>
+            |
+                        <a href="../../jsieve/index.html" 
title="jSieve">jSieve</a>
+            |
+                        <a href="../../jspf/index.html" title="jSPF">jSPF</a>
+            |
+                        <a href="../../jdkim/index.html" 
title="jDKIM">jDKIM</a>
+            |
+                        <a href="../../hupa/index.html" title="Hupa">Hupa</a>
+              
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+    <div id="leftColumn">
+      <div id="navcolumn">
+             
+                
+                 <h5>Apache Software Foundation</h5>
+  <ul>
+    <li>
+      <strong>
+        <a title="ASF" href="http://www.apache.org/";>ASF</a>
+      </strong>
+    </li>
+    <li>
+      <a title="Get Involved" 
href="http://www.apache.org/foundation/getinvolved.html";>Get Involved</a>
+    </li>
+    <li>
+      <a title="FAQ" href="http://www.apache.org/foundation/faq.html";>FAQ</a>
+    </li>
+    <li>
+      <a title="License" href="http://www.apache.org/licenses/"; >License</a>
+    </li>
+    <li>
+      <a title="Sponsorship" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
+    </li>
+    <li>
+      <a title="Thanks" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
+    </li>
+    <li>
+      <a title="Security" href="http://www.apache.org/security/";>Security</a>
+    </li>
+  </ul>
+                       <a href="http://maven.apache.org/"; title="Built by 
Maven" class="poweredBy">
+        <img class="poweredBy" alt="Built by Maven" 
src="./images/logos/maven-feather.png" />
+      </a>
+                   
+                
+            </div>
+    </div>
+    <div id="bodyColumn">
+      <div id="contentBox">
+        <div class="section">
+<h2><a name="Overview"></a>Overview</h2><a name="Overview"></a>
+<p>This project uses an issue management system to manage its issues.</p></div>
+<div class="section">
+<h2><a name="Issue_Management"></a>Issue Management</h2><a 
name="Issue_Management"></a>
+<p>Issues, bugs, and feature requests should be submitted to the following 
issue management system for this project.</p>
+<div class="source">
+<pre><a class="externalLink" 
href="http://issues.apache.org/jira/browse/MIME4J";>http://issues.apache.org/jira/browse/MIME4J</a></pre></div></div>
+      </div>
+    </div>
+    <div class="clear">
+      <hr/>
+    </div>
+    <div id="footer">
+      <div class="xright">Copyright &#169;                    2004-2017
+                        <a href="https://www.apache.org/";>The Apache Software 
Foundation</a>.
+            All Rights Reserved.      
+                
+      </div>
+      <div class="clear">
+        <hr/>
+      </div>
+    </div>
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/blank.gif
----------------------------------------------------------------------
diff --git a/content/mime4j/apache-mime4j-james-utils/js/fancybox/blank.gif 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/blank.gif
new file mode 100644
index 0000000..35d42e8
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/blank.gif differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_close.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_close.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_close.png
new file mode 100644
index 0000000..0703530
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_close.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_loading.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_loading.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_loading.png
new file mode 100644
index 0000000..2503017
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_loading.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_nav_left.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_nav_left.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_nav_left.png
new file mode 100644
index 0000000..ebaa6a4
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_nav_left.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_nav_right.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_nav_right.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_nav_right.png
new file mode 100644
index 0000000..873294e
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_nav_right.png 
differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_e.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_e.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_e.png
new file mode 100644
index 0000000..2eda089
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_e.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_n.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_n.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_n.png
new file mode 100644
index 0000000..69aa10e
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_n.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_ne.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_ne.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_ne.png
new file mode 100644
index 0000000..79f6980
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_ne.png 
differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_nw.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_nw.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_nw.png
new file mode 100644
index 0000000..7182cd9
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_nw.png 
differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_s.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_s.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_s.png
new file mode 100644
index 0000000..d8858bf
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_s.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_se.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_se.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_se.png
new file mode 100644
index 0000000..541e3ff
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_se.png 
differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_sw.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_sw.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_sw.png
new file mode 100644
index 0000000..b451689
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_sw.png 
differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_w.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_w.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_w.png
new file mode 100644
index 0000000..8a4e4a8
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_shadow_w.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_left.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_left.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_left.png
new file mode 100644
index 0000000..6049223
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_left.png 
differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_main.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_main.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_main.png
new file mode 100644
index 0000000..8044271
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_main.png 
differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_over.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_over.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_over.png
new file mode 100644
index 0000000..d9f458f
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_over.png 
differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_right.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_right.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_right.png
new file mode 100644
index 0000000..e36d9db
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancy_title_right.png 
differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox-x.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox-x.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox-x.png
new file mode 100644
index 0000000..c2130f8
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox-x.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox-y.png
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox-y.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox-y.png
new file mode 100644
index 0000000..7ef399b
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox-y.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox.png
----------------------------------------------------------------------
diff --git a/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox.png 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox.png
new file mode 100644
index 0000000..65e14f6
Binary files /dev/null and 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/fancybox.png differ

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.easing-1.3.pack.js
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.easing-1.3.pack.js
 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.easing-1.3.pack.js
new file mode 100644
index 0000000..9028179
--- /dev/null
+++ 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.easing-1.3.pack.js
@@ -0,0 +1,72 @@
+/*
+ * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
+ *
+ * Uses the built in easing capabilities added In jQuery 1.1
+ * to offer multiple easing options
+ *
+ * TERMS OF USE - jQuery Easing
+ * 
+ * Open source under the BSD License. 
+ * 
+ * Copyright © 2008 George McGinley Smith
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without 
modification, 
+ * are permitted provided that the following conditions are met:
+ * 
+ * Redistributions of source code must retain the above copyright notice, this 
list of 
+ * conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, 
this list 
+ * of conditions and the following disclaimer in the documentation and/or 
other materials 
+ * provided with the distribution.
+ * 
+ * Neither the name of the author nor the names of contributors may be used to 
endorse 
+ * or promote products derived from this software without specific prior 
written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND ANY 
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 
EVENT SHALL THE
+ *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
PROCUREMENT OF SUBSTITUTE
+ *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
INTERRUPTION) HOWEVER CAUSED 
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 
TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
SOFTWARE, EVEN IF ADVISED 
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *
+*/
+
+// t: current time, b: begInnIng value, c: change In value, d: duration
+eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return
 r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new 
RegExp('\\b'+e(c)+'\\b','g'),k[c]);return 
p}('h.i[\'1a\']=h.i[\'z\'];h.O(h.i,{y:\'D\',z:9(x,t,b,c,d){6 
h.i[h.i.y](x,t,b,c,d)},17:9(x,t,b,c,d){6 
c*(t/=d)*t+b},D:9(x,t,b,c,d){6-c*(t/=d)*(t-2)+b},13:9(x,t,b,c,d){e((t/=d/2)<1)6 
c/2*t*t+b;6-c/2*((--t)*(t-2)-1)+b},X:9(x,t,b,c,d){6 
c*(t/=d)*t*t+b},U:9(x,t,b,c,d){6 
c*((t=t/d-1)*t*t+1)+b},R:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t+b;6 
c/2*((t-=2)*t*t+2)+b},N:9(x,t,b,c,d){6 
c*(t/=d)*t*t*t+b},M:9(x,t,b,c,d){6-c*((t=t/d-1)*t*t*t-1)+b},L:9(x,t,b,c,d){e((t/=d/2)<1)6
 c/2*t*t*t*t+b;6-c/2*((t-=2)*t*t*t-2)+b},K:9(x,t,b,c,d){6 
c*(t/=d)*t*t*t*t+b},J:9(x,t,b,c,d){6 
c*((t=t/d-1)*t*t*t*t+1)+b},I:9(x,t,b,c,d){e((t/=d/2)<1)6 c/2*t*t*t*t*t+b;6 
c/2*((t-=2)*t*t*t*t+2)+b},G:9(x,t,b,c,d){6-
 c*8.C(t/d*(8.g/2))+c+b},15:9(x,t,b,c,d){6 
c*8.n(t/d*(8.g/2))+b},12:9(x,t,b,c,d){6-c/2*(8.C(8.g*t/d)-1)+b},Z:9(x,t,b,c,d){6(t==0)?b:c*8.j(2,10*(t/d-1))+b},Y:9(x,t,b,c,d){6(t==d)?b+c:c*(-8.j(2,-10*t/d)+1)+b},W:9(x,t,b,c,d){e(t==0)6
 b;e(t==d)6 b+c;e((t/=d/2)<1)6 c/2*8.j(2,10*(t-1))+b;6 
c/2*(-8.j(2,-10*--t)+2)+b},V:9(x,t,b,c,d){6-c*(8.o(1-(t/=d)*t)-1)+b},S:9(x,t,b,c,d){6
 c*8.o(1-(t=t/d-1)*t)+b},Q:9(x,t,b,c,d){e((t/=d/2)<1)6-c/2*(8.o(1-t*t)-1)+b;6 
c/2*(8.o(1-(t-=2)*t)+1)+b},P:9(x,t,b,c,d){f s=1.l;f p=0;f a=c;e(t==0)6 
b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f s=p/4}m f 
s=p/(2*8.g)*8.r(c/a);6-(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*8.g)/p))+b},H:9(x,t,b,c,d){f
 s=1.l;f p=0;f a=c;e(t==0)6 b;e((t/=d)==1)6 b+c;e(!p)p=d*.3;e(a<8.w(c)){a=c;f 
s=p/4}m f s=p/(2*8.g)*8.r(c/a);6 
a*8.j(2,-10*t)*8.n((t*d-s)*(2*8.g)/p)+c+b},T:9(x,t,b,c,d){f s=1.l;f p=0;f 
a=c;e(t==0)6 b;e((t/=d/2)==2)6 b+c;e(!p)p=d*(.3*1.5);e(a<8.w(c)){a=c;f s=p/4}m 
f s=p/(2*8.g)*8.r(c/a);e(t<1)6-.5*(a*8.j(2,10*(t-=1))*8.n((t*d-s)*(2*
 8.g)/p))+b;6 
a*8.j(2,-10*(t-=1))*8.n((t*d-s)*(2*8.g)/p)*.5+c+b},F:9(x,t,b,c,d,s){e(s==u)s=1.l;6
 c*(t/=d)*t*((s+1)*t-s)+b},E:9(x,t,b,c,d,s){e(s==u)s=1.l;6 
c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},16:9(x,t,b,c,d,s){e(s==u)s=1.l;e((t/=d/2)<1)6 
c/2*(t*t*(((s*=(1.B))+1)*t-s))+b;6 
c/2*((t-=2)*t*(((s*=(1.B))+1)*t+s)+2)+b},A:9(x,t,b,c,d){6 
c-h.i.v(x,d-t,0,c,d)+b},v:9(x,t,b,c,d){e((t/=d)<(1/2.k)){6 c*(7.q*t*t)+b}m 
e(t<(2/2.k)){6 c*(7.q*(t-=(1.5/2.k))*t+.k)+b}m e(t<(2.5/2.k)){6 
c*(7.q*(t-=(2.14/2.k))*t+.11)+b}m{6 
c*(7.q*(t-=(2.18/2.k))*t+.19)+b}},1b:9(x,t,b,c,d){e(t<d/2)6 
h.i.A(x,t*2,0,c,d)*.5+b;6 
h.i.v(x,t*2-d,0,c,d)*.5+c*.5+b}});',62,74,'||||||return||Math|function|||||if|var|PI|jQuery|easing|pow|75|70158|else|sin|sqrt||5625|asin|||undefined|easeOutBounce|abs||def|swing|easeInBounce|525|cos|easeOutQuad|easeOutBack|easeInBack|easeInSine|easeOutElastic|easeInOutQuint|easeOutQuint|easeInQuint|easeInOutQuart|easeOutQuart|easeInQuart|extend|easeInElastic|easeInOutCirc|easeInOutCubic|easeOutCirc|easeInOu
 
tElastic|easeOutCubic|easeInCirc|easeInOutExpo|easeInCubic|easeOutExpo|easeInExpo||9375|easeInOutSine|easeInOutQuad|25|easeOutSine|easeInOutBack|easeInQuad|625|984375|jswing|easeInOutBounce'.split('|'),0,{}))
+
+/*
+ *
+ * TERMS OF USE - EASING EQUATIONS
+ * 
+ * Open source under the BSD License. 
+ * 
+ * Copyright © 2001 Robert Penner
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without 
modification, 
+ * are permitted provided that the following conditions are met:
+ * 
+ * Redistributions of source code must retain the above copyright notice, this 
list of 
+ * conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice, 
this list 
+ * of conditions and the following disclaimer in the documentation and/or 
other materials 
+ * provided with the distribution.
+ * 
+ * Neither the name of the author nor the names of contributors may be used to 
endorse 
+ * or promote products derived from this software without specific prior 
written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
AND ANY 
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 
EVENT SHALL THE
+ *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 
INCIDENTAL, SPECIAL,
+ *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
PROCUREMENT OF SUBSTITUTE
+ *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
INTERRUPTION) HOWEVER CAUSED 
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 
TORT (INCLUDING
+ *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
SOFTWARE, EVEN IF ADVISED 
+ * OF THE POSSIBILITY OF SUCH DAMAGE. 
+ *
+ */

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.fancybox-1.3.4.css
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.fancybox-1.3.4.css
 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.fancybox-1.3.4.css
new file mode 100644
index 0000000..8fe0fbd
--- /dev/null
+++ 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.fancybox-1.3.4.css
@@ -0,0 +1,359 @@
+/*
+ * FancyBox - jQuery Plugin
+ * Simple and fancy lightbox alternative
+ *
+ * Examples and documentation at: http://fancybox.net
+ * 
+ * Copyright (c) 2008 - 2010 Janis Skarnelis
+ * That said, it is hardly a one-person project. Many people have submitted 
bugs, code, and offered their advice freely. Their support is greatly 
appreciated.
+ * 
+ * Version: 1.3.4 (11/11/2010)
+ * Requires: jQuery v1.3+
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ */
+
+#fancybox-loading {
+       position: fixed;
+       top: 50%;
+       left: 50%;
+       width: 40px;
+       height: 40px;
+       margin-top: -20px;
+       margin-left: -20px;
+       cursor: pointer;
+       overflow: hidden;
+       z-index: 1104;
+       display: none;
+}
+
+#fancybox-loading div {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 40px;
+       height: 480px;
+       background-image: url('fancybox.png');
+}
+
+#fancybox-overlay {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       z-index: 1100;
+       display: none;
+}
+
+#fancybox-tmp {
+       padding: 0;
+       margin: 0;
+       border: 0;
+       overflow: auto;
+       display: none;
+}
+
+#fancybox-wrap {
+       position: absolute;
+       top: 0;
+       left: 0;
+       padding: 20px;
+       z-index: 1101;
+       outline: none;
+       display: none;
+}
+
+#fancybox-outer {
+       position: relative;
+       width: 100%;
+       height: 100%;
+       background: #fff;
+}
+
+#fancybox-content {
+       width: 0;
+       height: 0;
+       padding: 0;
+       outline: none;
+       position: relative;
+       overflow: hidden;
+       z-index: 1102;
+       border: 0px solid #fff;
+}
+
+#fancybox-hide-sel-frame {
+       position: absolute;
+       top: 0;
+       left: 0;
+       width: 100%;
+       height: 100%;
+       background: transparent;
+       z-index: 1101;
+}
+
+#fancybox-close {
+       position: absolute;
+       top: -15px;
+       right: -15px;
+       width: 30px;
+       height: 30px;
+       background: transparent url('fancybox.png') -40px 0px;
+       cursor: pointer;
+       z-index: 1103;
+       display: none;
+}
+
+#fancybox-error {
+       color: #444;
+       font: normal 12px/20px Arial;
+       padding: 14px;
+       margin: 0;
+}
+
+#fancybox-img {
+       width: 100%;
+       height: 100%;
+       padding: 0;
+       margin: 0;
+       border: none;
+       outline: none;
+       line-height: 0;
+       vertical-align: top;
+}
+
+#fancybox-frame {
+       width: 100%;
+       height: 100%;
+       border: none;
+       display: block;
+}
+
+#fancybox-left, #fancybox-right {
+       position: absolute;
+       bottom: 0px;
+       height: 100%;
+       width: 35%;
+       cursor: pointer;
+       outline: none;
+       background: transparent url('blank.gif');
+       z-index: 1102;
+       display: none;
+}
+
+#fancybox-left {
+       left: 0px;
+}
+
+#fancybox-right {
+       right: 0px;
+}
+
+#fancybox-left-ico, #fancybox-right-ico {
+       position: absolute;
+       top: 50%;
+       left: -9999px;
+       width: 30px;
+       height: 30px;
+       margin-top: -15px;
+       cursor: pointer;
+       z-index: 1102;
+       display: block;
+}
+
+#fancybox-left-ico {
+       background-image: url('fancybox.png');
+       background-position: -40px -30px;
+}
+
+#fancybox-right-ico {
+       background-image: url('fancybox.png');
+       background-position: -40px -60px;
+}
+
+#fancybox-left:hover, #fancybox-right:hover {
+       visibility: visible; /* IE6 */
+}
+
+#fancybox-left:hover span {
+       left: 20px;
+}
+
+#fancybox-right:hover span {
+       left: auto;
+       right: 20px;
+}
+
+.fancybox-bg {
+       position: absolute;
+       padding: 0;
+       margin: 0;
+       border: 0;
+       width: 20px;
+       height: 20px;
+       z-index: 1001;
+}
+
+#fancybox-bg-n {
+       top: -20px;
+       left: 0;
+       width: 100%;
+       background-image: url('fancybox-x.png');
+}
+
+#fancybox-bg-ne {
+       top: -20px;
+       right: -20px;
+       background-image: url('fancybox.png');
+       background-position: -40px -162px;
+}
+
+#fancybox-bg-e {
+       top: 0;
+       right: -20px;
+       height: 100%;
+       background-image: url('fancybox-y.png');
+       background-position: -20px 0px;
+}
+
+#fancybox-bg-se {
+       bottom: -20px;
+       right: -20px;
+       background-image: url('fancybox.png');
+       background-position: -40px -182px; 
+}
+
+#fancybox-bg-s {
+       bottom: -20px;
+       left: 0;
+       width: 100%;
+       background-image: url('fancybox-x.png');
+       background-position: 0px -20px;
+}
+
+#fancybox-bg-sw {
+       bottom: -20px;
+       left: -20px;
+       background-image: url('fancybox.png');
+       background-position: -40px -142px;
+}
+
+#fancybox-bg-w {
+       top: 0;
+       left: -20px;
+       height: 100%;
+       background-image: url('fancybox-y.png');
+}
+
+#fancybox-bg-nw {
+       top: -20px;
+       left: -20px;
+       background-image: url('fancybox.png');
+       background-position: -40px -122px;
+}
+
+#fancybox-title {
+       font-family: Helvetica;
+       font-size: 12px;
+       z-index: 1102;
+}
+
+.fancybox-title-inside {
+       padding-bottom: 10px;
+       text-align: center;
+       color: #333;
+       background: #fff;
+       position: relative;
+}
+
+.fancybox-title-outside {
+       padding-top: 10px;
+       color: #fff;
+}
+
+.fancybox-title-over {
+       position: absolute;
+       bottom: 0;
+       left: 0;
+       color: #FFF;
+       text-align: left;
+}
+
+#fancybox-title-over {
+       padding: 10px;
+       background-image: url('fancy_title_over.png');
+       display: block;
+}
+
+.fancybox-title-float {
+       position: absolute;
+       left: 0;
+       bottom: -20px;
+       height: 32px;
+}
+
+#fancybox-title-float-wrap {
+       border: none;
+       border-collapse: collapse;
+       width: auto;
+}
+
+#fancybox-title-float-wrap td {
+       border: none;
+       white-space: nowrap;
+}
+
+#fancybox-title-float-left {
+       padding: 0 0 0 15px;
+       background: url('fancybox.png') -40px -90px no-repeat;
+}
+
+#fancybox-title-float-main {
+       color: #FFF;
+       line-height: 29px;
+       font-weight: bold;
+       padding: 0 0 3px 0;
+       background: url('fancybox-x.png') 0px -40px;
+}
+
+#fancybox-title-float-right {
+       padding: 0 0 0 15px;
+       background: url('fancybox.png') -55px -90px no-repeat;
+}
+
+/* IE6 */
+
+.fancybox-ie6 #fancybox-close { background: transparent; filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_close.png',
 sizingMethod='scale'); }
+
+.fancybox-ie6 #fancybox-left-ico { background: transparent; filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_left.png',
 sizingMethod='scale'); }
+.fancybox-ie6 #fancybox-right-ico { background: transparent; filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_nav_right.png',
 sizingMethod='scale'); }
+
+.fancybox-ie6 #fancybox-title-over { background: transparent; filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_over.png',
 sizingMethod='scale'); zoom: 1; }
+.fancybox-ie6 #fancybox-title-float-left { background: transparent; filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_left.png',
 sizingMethod='scale'); }
+.fancybox-ie6 #fancybox-title-float-main { background: transparent; filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_main.png',
 sizingMethod='scale'); }
+.fancybox-ie6 #fancybox-title-float-right { background: transparent; filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_title_right.png',
 sizingMethod='scale'); }
+
+.fancybox-ie6 #fancybox-bg-w, .fancybox-ie6 #fancybox-bg-e, .fancybox-ie6 
#fancybox-left, .fancybox-ie6 #fancybox-right, #fancybox-hide-sel-frame {
+       height: expression(this.parentNode.clientHeight + "px");
+}
+
+#fancybox-loading.fancybox-ie6 {
+       position: absolute; margin-top: 0;
+       top: expression( (-20 + (document.documentElement.clientHeight ? 
document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( 
ignoreMe = document.documentElement.scrollTop ? 
document.documentElement.scrollTop : document.body.scrollTop )) + 'px');
+}
+
+#fancybox-loading.fancybox-ie6 div     { background: transparent; filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_loading.png',
 sizingMethod='scale'); }
+
+/* IE6, IE7, IE8 */
+
+.fancybox-ie .fancybox-bg { background: transparent !important; }
+
+.fancybox-ie #fancybox-bg-n { filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_n.png',
 sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-ne { filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_ne.png',
 sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-e { filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_e.png',
 sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-se { filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_se.png',
 sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-s { filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_s.png',
 sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-sw { filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_sw.png',
 sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-w { filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_w.png',
 sizingMethod='scale'); }
+.fancybox-ie #fancybox-bg-nw { filter: 
progid:DXImageTransform.Microsoft.AlphaImageLoader(src='fancybox/fancy_shadow_nw.png',
 sizingMethod='scale'); }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-site/blob/d5641eb0/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.fancybox-1.3.4.js
----------------------------------------------------------------------
diff --git 
a/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.fancybox-1.3.4.js 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.fancybox-1.3.4.js
new file mode 100644
index 0000000..a852005
--- /dev/null
+++ 
b/content/mime4j/apache-mime4j-james-utils/js/fancybox/jquery.fancybox-1.3.4.js
@@ -0,0 +1,1156 @@
+/*
+ * FancyBox - jQuery Plugin
+ * Simple and fancy lightbox alternative
+ *
+ * Examples and documentation at: http://fancybox.net
+ *
+ * Copyright (c) 2008 - 2010 Janis Skarnelis
+ * That said, it is hardly a one-person project. Many people have submitted 
bugs, code, and offered their advice freely. Their support is greatly 
appreciated.
+ *
+ * Version: 1.3.4 (11/11/2010)
+ * Requires: jQuery v1.3+
+ *
+ * Dual licensed under the MIT and GPL licenses:
+ *   http://www.opensource.org/licenses/mit-license.php
+ *   http://www.gnu.org/licenses/gpl.html
+ */
+
+;(function($) {
+       var tmp, loading, overlay, wrap, outer, content, close, title, 
nav_left, nav_right,
+
+               selectedIndex = 0, selectedOpts = {}, selectedArray = [], 
currentIndex = 0, currentOpts = {}, currentArray = [],
+
+               ajaxLoader = null, imgPreloader = new Image(), imgRegExp = 
/\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i,
+
+               loadingTimer, loadingFrame = 1,
+
+               titleHeight = 0, titleStr = '', start_pos, final_pos, busy = 
false, fx = $.extend($('<div/>')[0], { prop: 0 }),
+
+               isIE6 = $.browser.msie && $.browser.version < 7 && 
!window.XMLHttpRequest,
+
+               /*
+                * Private methods 
+                */
+
+               _abort = function() {
+                       loading.hide();
+
+                       imgPreloader.onerror = imgPreloader.onload = null;
+
+                       if (ajaxLoader) {
+                               ajaxLoader.abort();
+                       }
+
+                       tmp.empty();
+               },
+
+               _error = function() {
+                       if (false === selectedOpts.onError(selectedArray, 
selectedIndex, selectedOpts)) {
+                               loading.hide();
+                               busy = false;
+                               return;
+                       }
+
+                       selectedOpts.titleShow = false;
+
+                       selectedOpts.width = 'auto';
+                       selectedOpts.height = 'auto';
+
+                       tmp.html( '<p id="fancybox-error">The requested content 
cannot be loaded.<br />Please try again later.</p>' );
+
+                       _process_inline();
+               },
+
+               _start = function() {
+                       var obj = selectedArray[ selectedIndex ],
+                               href, 
+                               type, 
+                               title,
+                               str,
+                               emb,
+                               ret;
+
+                       _abort();
+
+                       selectedOpts = $.extend({}, $.fn.fancybox.defaults, 
(typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : 
$(obj).data('fancybox')));
+
+                       ret = selectedOpts.onStart(selectedArray, 
selectedIndex, selectedOpts);
+
+                       if (ret === false) {
+                               busy = false;
+                               return;
+                       } else if (typeof ret == 'object') {
+                               selectedOpts = $.extend(selectedOpts, ret);
+                       }
+
+                       title = selectedOpts.title || (obj.nodeName ? 
$(obj).attr('title') : obj.title) || '';
+
+                       if (obj.nodeName && !selectedOpts.orig) {
+                               selectedOpts.orig = 
$(obj).children("img:first").length ? $(obj).children("img:first") : $(obj);
+                       }
+
+                       if (title === '' && selectedOpts.orig && 
selectedOpts.titleFromAlt) {
+                               title = selectedOpts.orig.attr('alt');
+                       }
+
+                       href = selectedOpts.href || (obj.nodeName ? 
$(obj).attr('href') : obj.href) || null;
+
+                       if ((/^(?:javascript)/i).test(href) || href == '#') {
+                               href = null;
+                       }
+
+                       if (selectedOpts.type) {
+                               type = selectedOpts.type;
+
+                               if (!href) {
+                                       href = selectedOpts.content;
+                               }
+
+                       } else if (selectedOpts.content) {
+                               type = 'html';
+
+                       } else if (href) {
+                               if (href.match(imgRegExp)) {
+                                       type = 'image';
+
+                               } else if (href.match(swfRegExp)) {
+                                       type = 'swf';
+
+                               } else if ($(obj).hasClass("iframe")) {
+                                       type = 'iframe';
+
+                               } else if (href.indexOf("#") === 0) {
+                                       type = 'inline';
+
+                               } else {
+                                       type = 'ajax';
+                               }
+                       }
+
+                       if (!type) {
+                               _error();
+                               return;
+                       }
+
+                       if (type == 'inline') {
+                               obj     = href.substr(href.indexOf("#"));
+                               type = $(obj).length > 0 ? 'inline' : 'ajax';
+                       }
+
+                       selectedOpts.type = type;
+                       selectedOpts.href = href;
+                       selectedOpts.title = title;
+
+                       if (selectedOpts.autoDimensions) {
+                               if (selectedOpts.type == 'html' || 
selectedOpts.type == 'inline' || selectedOpts.type == 'ajax') {
+                                       selectedOpts.width = 'auto';
+                                       selectedOpts.height = 'auto';
+                               } else {
+                                       selectedOpts.autoDimensions = false;    
+                               }
+                       }
+
+                       if (selectedOpts.modal) {
+                               selectedOpts.overlayShow = true;
+                               selectedOpts.hideOnOverlayClick = false;
+                               selectedOpts.hideOnContentClick = false;
+                               selectedOpts.enableEscapeButton = false;
+                               selectedOpts.showCloseButton = false;
+                       }
+
+                       selectedOpts.padding = parseInt(selectedOpts.padding, 
10);
+                       selectedOpts.margin = parseInt(selectedOpts.margin, 10);
+
+                       tmp.css('padding', (selectedOpts.padding + 
selectedOpts.margin));
+
+                       
$('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', 
function() {
+                               $(this).replaceWith(content.children());        
                        
+                       });
+
+                       switch (type) {
+                               case 'html' :
+                                       tmp.html( selectedOpts.content );
+                                       _process_inline();
+                               break;
+
+                               case 'inline' :
+                                       if ( 
$(obj).parent().is('#fancybox-content') === true) {
+                                               busy = false;
+                                               return;
+                                       }
+
+                                       $('<div class="fancybox-inline-tmp" />')
+                                               .hide()
+                                               .insertBefore( $(obj) )
+                                               .bind('fancybox-cleanup', 
function() {
+                                                       
$(this).replaceWith(content.children());
+                                               }).bind('fancybox-cancel', 
function() {
+                                                       
$(this).replaceWith(tmp.children());
+                                               });
+
+                                       $(obj).appendTo(tmp);
+
+                                       _process_inline();
+                               break;
+
+                               case 'image':
+                                       busy = false;
+
+                                       $.fancybox.showActivity();
+
+                                       imgPreloader = new Image();
+
+                                       imgPreloader.onerror = function() {
+                                               _error();
+                                       };
+
+                                       imgPreloader.onload = function() {
+                                               busy = true;
+
+                                               imgPreloader.onerror = 
imgPreloader.onload = null;
+
+                                               _process_image();
+                                       };
+
+                                       imgPreloader.src = href;
+                               break;
+
+                               case 'swf':
+                                       selectedOpts.scrolling = 'no';
+
+                                       str = '<object 
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + 
selectedOpts.width + '" height="' + selectedOpts.height + '"><param 
name="movie" value="' + href + '"></param>';
+                                       emb = '';
+
+                                       $.each(selectedOpts.swf, function(name, 
val) {
+                                               str += '<param name="' + name + 
'" value="' + val + '"></param>';
+                                               emb += ' ' + name + '="' + val 
+ '"';
+                                       });
+
+                                       str += '<embed src="' + href + '" 
type="application/x-shockwave-flash" width="' + selectedOpts.width + '" 
height="' + selectedOpts.height + '"' + emb + '></embed></object>';
+
+                                       tmp.html(str);
+
+                                       _process_inline();
+                               break;
+
+                               case 'ajax':
+                                       busy = false;
+
+                                       $.fancybox.showActivity();
+
+                                       selectedOpts.ajax.win = 
selectedOpts.ajax.success;
+
+                                       ajaxLoader = $.ajax($.extend({}, 
selectedOpts.ajax, {
+                                               url     : href,
+                                               data : selectedOpts.ajax.data 
|| {},
+                                               error : 
function(XMLHttpRequest, textStatus, errorThrown) {
+                                                       if ( 
XMLHttpRequest.status > 0 ) {
+                                                               _error();
+                                                       }
+                                               },
+                                               success : function(data, 
textStatus, XMLHttpRequest) {
+                                                       var o = typeof 
XMLHttpRequest == 'object' ? XMLHttpRequest : ajaxLoader;
+                                                       if (o.status == 200) {
+                                                               if ( typeof 
selectedOpts.ajax.win == 'function' ) {
+                                                                       ret = 
selectedOpts.ajax.win(href, data, textStatus, XMLHttpRequest);
+
+                                                                       if (ret 
=== false) {
+                                                                               
loading.hide();
+                                                                               
return;
+                                                                       } else 
if (typeof ret == 'string' || typeof ret == 'object') {
+                                                                               
data = ret;
+                                                                       }
+                                                               }
+
+                                                               tmp.html( data 
);
+                                                               
_process_inline();
+                                                       }
+                                               }
+                                       }));
+
+                               break;
+
+                               case 'iframe':
+                                       _show();
+                               break;
+                       }
+               },
+
+               _process_inline = function() {
+                       var
+                               w = selectedOpts.width,
+                               h = selectedOpts.height;
+
+                       if (w.toString().indexOf('%') > -1) {
+                               w = parseInt( ($(window).width() - 
(selectedOpts.margin * 2)) * parseFloat(w) / 100, 10) + 'px';
+
+                       } else {
+                               w = w == 'auto' ? 'auto' : w + 'px';    
+                       }
+
+                       if (h.toString().indexOf('%') > -1) {
+                               h = parseInt( ($(window).height() - 
(selectedOpts.margin * 2)) * parseFloat(h) / 100, 10) + 'px';
+
+                       } else {
+                               h = h == 'auto' ? 'auto' : h + 'px';    
+                       }
+
+                       tmp.wrapInner('<div style="width:' + w + ';height:' + h 
+ ';overflow: ' + (selectedOpts.scrolling == 'auto' ? 'auto' : 
(selectedOpts.scrolling == 'yes' ? 'scroll' : 'hidden')) + 
';position:relative;"></div>');
+
+                       selectedOpts.width = tmp.width();
+                       selectedOpts.height = tmp.height();
+
+                       _show();
+               },
+
+               _process_image = function() {
+                       selectedOpts.width = imgPreloader.width;
+                       selectedOpts.height = imgPreloader.height;
+
+                       $("<img />").attr({
+                               'id' : 'fancybox-img',
+                               'src' : imgPreloader.src,
+                               'alt' : selectedOpts.title
+                       }).appendTo( tmp );
+
+                       _show();
+               },
+
+               _show = function() {
+                       var pos, equal;
+
+                       loading.hide();
+
+                       if (wrap.is(":visible") && false === 
currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) {
+                               $.event.trigger('fancybox-cancel');
+
+                               busy = false;
+                               return;
+                       }
+
+                       busy = true;
+
+                       $(content.add( overlay )).unbind();
+
+                       $(window).unbind("resize.fb scroll.fb");
+                       $(document).unbind('keydown.fb');
+
+                       if (wrap.is(":visible") && currentOpts.titlePosition 
!== 'outside') {
+                               wrap.css('height', wrap.height());
+                       }
+
+                       currentArray = selectedArray;
+                       currentIndex = selectedIndex;
+                       currentOpts = selectedOpts;
+
+                       if (currentOpts.overlayShow) {
+                               overlay.css({
+                                       'background-color' : 
currentOpts.overlayColor,
+                                       'opacity' : currentOpts.overlayOpacity,
+                                       'cursor' : 
currentOpts.hideOnOverlayClick ? 'pointer' : 'auto',
+                                       'height' : $(document).height()
+                               });
+
+                               if (!overlay.is(':visible')) {
+                                       if (isIE6) {
+                                               $('select:not(#fancybox-tmp 
select)').filter(function() {
+                                                       return 
this.style.visibility !== 'hidden';
+                                               }).css({'visibility' : 
'hidden'}).one('fancybox-cleanup', function() {
+                                                       this.style.visibility = 
'inherit';
+                                               });
+                                       }
+
+                                       overlay.show();
+                               }
+                       } else {
+                               overlay.hide();
+                       }
+
+                       final_pos = _get_zoom_to();
+
+                       _process_title();
+
+                       if (wrap.is(":visible")) {
+                               $( close.add( nav_left ).add( nav_right ) 
).hide();
+
+                               pos = wrap.position(),
+
+                               start_pos = {
+                                       top      : pos.top,
+                                       left : pos.left,
+                                       width : wrap.width(),
+                                       height : wrap.height()
+                               };
+
+                               equal = (start_pos.width == final_pos.width && 
start_pos.height == final_pos.height);
+
+                               content.fadeTo(currentOpts.changeFade, 0.3, 
function() {
+                                       var finish_resizing = function() {
+                                               content.html( tmp.contents() 
).fadeTo(currentOpts.changeFade, 1, _finish);
+                                       };
+
+                                       $.event.trigger('fancybox-change');
+
+                                       content
+                                               .empty()
+                                               .removeAttr('filter')
+                                               .css({
+                                                       'border-width' : 
currentOpts.padding,
+                                                       'width' : 
final_pos.width - currentOpts.padding * 2,
+                                                       'height' : 
selectedOpts.autoDimensions ? 'auto' : final_pos.height - titleHeight - 
currentOpts.padding * 2
+                                               });
+
+                                       if (equal) {
+                                               finish_resizing();
+
+                                       } else {
+                                               fx.prop = 0;
+
+                                               $(fx).animate({prop: 1}, {
+                                                        duration : 
currentOpts.changeSpeed,
+                                                        easing : 
currentOpts.easingChange,
+                                                        step : _draw,
+                                                        complete : 
finish_resizing
+                                               });
+                                       }
+                               });
+
+                               return;
+                       }
+
+                       wrap.removeAttr("style");
+
+                       content.css('border-width', currentOpts.padding);
+
+                       if (currentOpts.transitionIn == 'elastic') {
+                               start_pos = _get_zoom_from();
+
+                               content.html( tmp.contents() );
+
+                               wrap.show();
+
+                               if (currentOpts.opacity) {
+                                       final_pos.opacity = 0;
+                               }
+
+                               fx.prop = 0;
+
+                               $(fx).animate({prop: 1}, {
+                                        duration : currentOpts.speedIn,
+                                        easing : currentOpts.easingIn,
+                                        step : _draw,
+                                        complete : _finish
+                               });
+
+                               return;
+                       }
+
+                       if (currentOpts.titlePosition == 'inside' && 
titleHeight > 0) { 
+                               title.show();   
+                       }
+
+                       content
+                               .css({
+                                       'width' : final_pos.width - 
currentOpts.padding * 2,
+                                       'height' : selectedOpts.autoDimensions 
? 'auto' : final_pos.height - titleHeight - currentOpts.padding * 2
+                               })
+                               .html( tmp.contents() );
+
+                       wrap
+                               .css(final_pos)
+                               .fadeIn( currentOpts.transitionIn == 'none' ? 0 
: currentOpts.speedIn, _finish );
+               },
+
+               _format_title = function(title) {
+                       if (title && title.length) {
+                               if (currentOpts.titlePosition == 'float') {
+                                       return '<table 
id="fancybox-title-float-wrap" cellpadding="0" cellspacing="0"><tr><td 
id="fancybox-title-float-left"></td><td id="fancybox-title-float-main">' + 
title + '</td><td id="fancybox-title-float-right"></td></tr></table>';
+                               }
+
+                               return '<div id="fancybox-title-' + 
currentOpts.titlePosition + '">' + title + '</div>';
+                       }
+
+                       return false;
+               },
+
+               _process_title = function() {
+                       titleStr = currentOpts.title || '';
+                       titleHeight = 0;
+
+                       title
+                               .empty()
+                               .removeAttr('style')
+                               .removeClass();
+
+                       if (currentOpts.titleShow === false) {
+                               title.hide();
+                               return;
+                       }
+
+                       titleStr = $.isFunction(currentOpts.titleFormat) ? 
currentOpts.titleFormat(titleStr, currentArray, currentIndex, currentOpts) : 
_format_title(titleStr);
+
+                       if (!titleStr || titleStr === '') {
+                               title.hide();
+                               return;
+                       }
+
+                       title
+                               .addClass('fancybox-title-' + 
currentOpts.titlePosition)
+                               .html( titleStr )
+                               .appendTo( 'body' )
+                               .show();
+
+                       switch (currentOpts.titlePosition) {
+                               case 'inside':
+                                       title
+                                               .css({
+                                                       'width' : 
final_pos.width - (currentOpts.padding * 2),
+                                                       'marginLeft' : 
currentOpts.padding,
+                                                       'marginRight' : 
currentOpts.padding
+                                               });
+
+                                       titleHeight = title.outerHeight(true);
+
+                                       title.appendTo( outer );
+
+                                       final_pos.height += titleHeight;
+                               break;
+
+                               case 'over':
+                                       title
+                                               .css({
+                                                       'marginLeft' : 
currentOpts.padding,
+                                                       'width' : 
final_pos.width - (currentOpts.padding * 2),
+                                                       'bottom' : 
currentOpts.padding
+                                               })
+                                               .appendTo( outer );
+                               break;
+
+                               case 'float':
+                                       title
+                                               .css('left', 
parseInt((title.width() - final_pos.width - 40)/ 2, 10) * -1)
+                                               .appendTo( wrap );
+                               break;
+
+                               default:
+                                       title
+                                               .css({
+                                                       'width' : 
final_pos.width - (currentOpts.padding * 2),
+                                                       'paddingLeft' : 
currentOpts.padding,
+                                                       'paddingRight' : 
currentOpts.padding
+                                               })
+                                               .appendTo( wrap );
+                               break;
+                       }
+
+                       title.hide();
+               },
+
+               _set_navigation = function() {
+                       if (currentOpts.enableEscapeButton || 
currentOpts.enableKeyboardNav) {
+                               $(document).bind('keydown.fb', function(e) {
+                                       if (e.keyCode == 27 && 
currentOpts.enableEscapeButton) {
+                                               e.preventDefault();
+                                               $.fancybox.close();
+
+                                       } else if ((e.keyCode == 37 || 
e.keyCode == 39) && currentOpts.enableKeyboardNav && e.target.tagName !== 
'INPUT' && e.target.tagName !== 'TEXTAREA' && e.target.tagName !== 'SELECT') {
+                                               e.preventDefault();
+                                               $.fancybox[ e.keyCode == 37 ? 
'prev' : 'next']();
+                                       }
+                               });
+                       }
+
+                       if (!currentOpts.showNavArrows) { 
+                               nav_left.hide();
+                               nav_right.hide();
+                               return;
+                       }
+
+                       if ((currentOpts.cyclic && currentArray.length > 1) || 
currentIndex !== 0) {
+                               nav_left.show();
+                       }
+
+                       if ((currentOpts.cyclic && currentArray.length > 1) || 
currentIndex != (currentArray.length -1)) {
+                               nav_right.show();
+                       }
+               },
+
+               _finish = function () {
+                       if (!$.support.opacity) {
+                               content.get(0).style.removeAttribute('filter');
+                               wrap.get(0).style.removeAttribute('filter');
+                       }
+
+                       if (selectedOpts.autoDimensions) {
+                               content.css('height', 'auto');
+                       }
+
+                       wrap.css('height', 'auto');
+
+                       if (titleStr && titleStr.length) {
+                               title.show();
+                       }
+
+                       if (currentOpts.showCloseButton) {
+                               close.show();
+                       }
+
+                       _set_navigation();
+       
+                       if (currentOpts.hideOnContentClick)     {
+                               content.bind('click', $.fancybox.close);
+                       }
+
+                       if (currentOpts.hideOnOverlayClick)     {
+                               overlay.bind('click', $.fancybox.close);
+                       }
+
+                       $(window).bind("resize.fb", $.fancybox.resize);
+
+                       if (currentOpts.centerOnScroll) {
+                               $(window).bind("scroll.fb", $.fancybox.center);
+                       }
+
+                       if (currentOpts.type == 'iframe') {
+                               $('<iframe id="fancybox-frame" 
name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" ' 
+ ($.browser.msie ? 'allowtransparency="true""' : '') + ' scrolling="' + 
selectedOpts.scrolling + '" src="' + currentOpts.href + 
'"></iframe>').appendTo(content);
+                       }
+
+                       wrap.show();
+
+                       busy = false;
+
+                       $.fancybox.center();
+
+                       currentOpts.onComplete(currentArray, currentIndex, 
currentOpts);
+
+                       _preload_images();
+               },
+
+               _preload_images = function() {
+                       var href, 
+                               objNext;
+
+                       if ((currentArray.length -1) > currentIndex) {
+                               href = currentArray[ currentIndex + 1 ].href;
+
+                               if (typeof href !== 'undefined' && 
href.match(imgRegExp)) {
+                                       objNext = new Image();
+                                       objNext.src = href;
+                               }
+                       }
+
+                       if (currentIndex > 0) {
+                               href = currentArray[ currentIndex - 1 ].href;
+
+                               if (typeof href !== 'undefined' && 
href.match(imgRegExp)) {
+                                       objNext = new Image();
+                                       objNext.src = href;
+                               }
+                       }
+               },
+
+               _draw = function(pos) {
+                       var dim = {
+                               width : parseInt(start_pos.width + 
(final_pos.width - start_pos.width) * pos, 10),
+                               height : parseInt(start_pos.height + 
(final_pos.height - start_pos.height) * pos, 10),
+
+                               top : parseInt(start_pos.top + (final_pos.top - 
start_pos.top) * pos, 10),
+                               left : parseInt(start_pos.left + 
(final_pos.left - start_pos.left) * pos, 10)
+                       };
+
+                       if (typeof final_pos.opacity !== 'undefined') {
+                               dim.opacity = pos < 0.5 ? 0.5 : pos;
+                       }
+
+                       wrap.css(dim);
+
+                       content.css({
+                               'width' : dim.width - currentOpts.padding * 2,
+                               'height' : dim.height - (titleHeight * pos) - 
currentOpts.padding * 2
+                       });
+               },
+
+               _get_viewport = function() {
+                       return [
+                               $(window).width() - (currentOpts.margin * 2),
+                               $(window).height() - (currentOpts.margin * 2),
+                               $(document).scrollLeft() + currentOpts.margin,
+                               $(document).scrollTop() + currentOpts.margin
+                       ];
+               },
+
+               _get_zoom_to = function () {
+                       var view = _get_viewport(),
+                               to = {},
+                               resize = currentOpts.autoScale,
+                               double_padding = currentOpts.padding * 2,
+                               ratio;
+
+                       if (currentOpts.width.toString().indexOf('%') > -1) {
+                               to.width = parseInt((view[0] * 
parseFloat(currentOpts.width)) / 100, 10);
+                       } else {
+                               to.width = currentOpts.width + double_padding;
+                       }
+
+                       if (currentOpts.height.toString().indexOf('%') > -1) {
+                               to.height = parseInt((view[1] * 
parseFloat(currentOpts.height)) / 100, 10);
+                       } else {
+                               to.height = currentOpts.height + double_padding;
+                       }
+
+                       if (resize && (to.width > view[0] || to.height > 
view[1])) {
+                               if (selectedOpts.type == 'image' || 
selectedOpts.type == 'swf') {
+                                       ratio = (currentOpts.width ) / 
(currentOpts.height );
+
+                                       if ((to.width ) > view[0]) {
+                                               to.width = view[0];
+                                               to.height = parseInt(((to.width 
- double_padding) / ratio) + double_padding, 10);
+                                       }
+
+                                       if ((to.height) > view[1]) {
+                                               to.height = view[1];
+                                               to.width = parseInt(((to.height 
- double_padding) * ratio) + double_padding, 10);
+                                       }
+
+                               } else {
+                                       to.width = Math.min(to.width, view[0]);
+                                       to.height = Math.min(to.height, 
view[1]);
+                               }
+                       }
+
+                       to.top = parseInt(Math.max(view[3] - 20, view[3] + 
((view[1] - to.height - 40) * 0.5)), 10);
+                       to.left = parseInt(Math.max(view[2] - 20, view[2] + 
((view[0] - to.width - 40) * 0.5)), 10);
+
+                       return to;
+               },
+
+               _get_obj_pos = function(obj) {
+                       var pos = obj.offset();
+
+                       pos.top += parseInt( obj.css('paddingTop'), 10 ) || 0;
+                       pos.left += parseInt( obj.css('paddingLeft'), 10 ) || 0;
+
+                       pos.top += parseInt( obj.css('border-top-width'), 10 ) 
|| 0;
+                       pos.left += parseInt( obj.css('border-left-width'), 10 
) || 0;
+
+                       pos.width = obj.width();
+                       pos.height = obj.height();
+
+                       return pos;
+               },
+
+               _get_zoom_from = function() {
+                       var orig = selectedOpts.orig ? $(selectedOpts.orig) : 
false,
+                               from = {},
+                               pos,
+                               view;
+
+                       if (orig && orig.length) {
+                               pos = _get_obj_pos(orig);
+
+                               from = {
+                                       width : pos.width + 
(currentOpts.padding * 2),
+                                       height : pos.height + 
(currentOpts.padding * 2),
+                                       top     : pos.top - currentOpts.padding 
- 20,
+                                       left : pos.left - currentOpts.padding - 
20
+                               };
+
+                       } else {
+                               view = _get_viewport();
+
+                               from = {
+                                       width : currentOpts.padding * 2,
+                                       height : currentOpts.padding * 2,
+                                       top     : parseInt(view[3] + view[1] * 
0.5, 10),
+                                       left : parseInt(view[2] + view[0] * 
0.5, 10)
+                               };
+                       }
+
+                       return from;
+               },
+
+               _animate_loading = function() {
+                       if (!loading.is(':visible')){
+                               clearInterval(loadingTimer);
+                               return;
+                       }
+
+                       $('div', loading).css('top', (loadingFrame * -40) + 
'px');
+
+                       loadingFrame = (loadingFrame + 1) % 12;
+               };
+
+       /*
+        * Public methods 
+        */
+
+       $.fn.fancybox = function(options) {
+               if (!$(this).length) {
+                       return this;
+               }
+
+               $(this)
+                       .data('fancybox', $.extend({}, options, ($.metadata ? 
$(this).metadata() : {})))
+                       .unbind('click.fb')
+                       .bind('click.fb', function(e) {
+                               e.preventDefault();
+
+                               if (busy) {
+                                       return;
+                               }
+
+                               busy = true;
+
+                               $(this).blur();
+
+                               selectedArray = [];
+                               selectedIndex = 0;
+
+                               var rel = $(this).attr('rel') || '';
+
+                               if (!rel || rel == '' || rel === 'nofollow') {
+                                       selectedArray.push(this);
+
+                               } else {
+                                       selectedArray = $("a[rel=" + rel + "], 
area[rel=" + rel + "]");
+                                       selectedIndex = selectedArray.index( 
this );
+                               }
+
+                               _start();
+
+                               return;
+                       });
+
+               return this;
+       };
+
+       $.fancybox = function(obj) {
+               var opts;
+
+               if (busy) {
+                       return;
+               }
+
+               busy = true;
+               opts = typeof arguments[1] !== 'undefined' ? arguments[1] : {};
+
+               selectedArray = [];
+               selectedIndex = parseInt(opts.index, 10) || 0;
+
+               if ($.isArray(obj)) {
+                       for (var i = 0, j = obj.length; i < j; i++) {
+                               if (typeof obj[i] == 'object') {
+                                       $(obj[i]).data('fancybox', $.extend({}, 
opts, obj[i]));
+                               } else {
+                                       obj[i] = $({}).data('fancybox', 
$.extend({content : obj[i]}, opts));
+                               }
+                       }
+
+                       selectedArray = jQuery.merge(selectedArray, obj);
+
+               } else {
+                       if (typeof obj == 'object') {
+                               $(obj).data('fancybox', $.extend({}, opts, 
obj));
+                       } else {
+                               obj = $({}).data('fancybox', $.extend({content 
: obj}, opts));
+                       }
+
+                       selectedArray.push(obj);
+               }
+
+               if (selectedIndex > selectedArray.length || selectedIndex < 0) {
+                       selectedIndex = 0;
+               }
+
+               _start();
+       };
+
+       $.fancybox.showActivity = function() {
+               clearInterval(loadingTimer);
+
+               loading.show();
+               loadingTimer = setInterval(_animate_loading, 66);
+       };
+
+       $.fancybox.hideActivity = function() {
+               loading.hide();
+       };
+
+       $.fancybox.next = function() {
+               return $.fancybox.pos( currentIndex + 1);
+       };
+
+       $.fancybox.prev = function() {
+               return $.fancybox.pos( currentIndex - 1);
+       };
+
+       $.fancybox.pos = function(pos) {
+               if (busy) {
+                       return;
+               }
+
+               pos = parseInt(pos);
+
+               selectedArray = currentArray;
+
+               if (pos > -1 && pos < currentArray.length) {
+                       selectedIndex = pos;
+                       _start();
+
+               } else if (currentOpts.cyclic && currentArray.length > 1) {
+                       selectedIndex = pos >= currentArray.length ? 0 : 
currentArray.length - 1;
+                       _start();
+               }
+
+               return;
+       };
+
+       $.fancybox.cancel = function() {
+               if (busy) {
+                       return;
+               }
+
+               busy = true;
+
+               $.event.trigger('fancybox-cancel');
+
+               _abort();
+
+               selectedOpts.onCancel(selectedArray, selectedIndex, 
selectedOpts);
+
+               busy = false;
+       };
+
+       // Note: within an iframe use - parent.$.fancybox.close();
+       $.fancybox.close = function() {
+               if (busy || wrap.is(':hidden')) {
+                       return;
+               }
+
+               busy = true;
+
+               if (currentOpts && false === 
currentOpts.onCleanup(currentArray, currentIndex, currentOpts)) {
+                       busy = false;
+                       return;
+               }
+
+               _abort();
+
+               $(close.add( nav_left ).add( nav_right )).hide();
+
+               $(content.add( overlay )).unbind();
+
+               $(window).unbind("resize.fb scroll.fb");
+               $(document).unbind('keydown.fb');
+
+               content.find('iframe').attr('src', isIE6 && 
/^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 
'about:blank');
+
+               if (currentOpts.titlePosition !== 'inside') {
+                       title.empty();
+               }
+
+               wrap.stop();
+
+               function _cleanup() {
+                       overlay.fadeOut('fast');
+
+                       title.empty().hide();
+                       wrap.hide();
+
+                       $.event.trigger('fancybox-cleanup');
+
+                       content.empty();
+
+                       currentOpts.onClosed(currentArray, currentIndex, 
currentOpts);
+
+                       currentArray = selectedOpts     = [];
+                       currentIndex = selectedIndex = 0;
+                       currentOpts = selectedOpts      = {};
+
+                       busy = false;
+               }
+
+               if (currentOpts.transitionOut == 'elastic') {
+                       start_pos = _get_zoom_from();
+
+                       var pos = wrap.position();
+
+                       final_pos = {
+                               top      : pos.top ,
+                               left : pos.left,
+                               width : wrap.width(),
+                               height : wrap.height()
+                       };
+
+                       if (currentOpts.opacity) {
+                               final_pos.opacity = 1;
+                       }
+
+                       title.empty().hide();
+
+                       fx.prop = 1;
+
+                       $(fx).animate({ prop: 0 }, {
+                                duration : currentOpts.speedOut,
+                                easing : currentOpts.easingOut,
+                                step : _draw,
+                                complete : _cleanup
+                       });
+
+               } else {
+                       wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : 
currentOpts.speedOut, _cleanup);
+               }
+       };
+
+       $.fancybox.resize = function() {
+               if (overlay.is(':visible')) {
+                       overlay.css('height', $(document).height());
+               }
+
+               $.fancybox.center(true);
+       };
+
+       $.fancybox.center = function() {
+               var view, align;
+
+               if (busy) {
+                       return; 
+               }
+
+               align = arguments[0] === true ? 1 : 0;
+               view = _get_viewport();
+
+               if (!align && (wrap.width() > view[0] || wrap.height() > 
view[1])) {
+                       return; 
+               }
+
+               wrap
+                       .stop()
+                       .animate({
+                               'top' : parseInt(Math.max(view[3] - 20, view[3] 
+ ((view[1] - content.height() - 40) * 0.5) - currentOpts.padding)),
+                               'left' : parseInt(Math.max(view[2] - 20, 
view[2] + ((view[0] - content.width() - 40) * 0.5) - currentOpts.padding))
+                       }, typeof arguments[0] == 'number' ? arguments[0] : 
200);
+       };
+
+       $.fancybox.init = function() {
+               if ($("#fancybox-wrap").length) {
+                       return;
+               }
+
+               $('body').append(
+                       tmp     = $('<div id="fancybox-tmp"></div>'),
+                       loading = $('<div 
id="fancybox-loading"><div></div></div>'),
+                       overlay = $('<div id="fancybox-overlay"></div>'),
+                       wrap = $('<div id="fancybox-wrap"></div>')
+               );
+
+               outer = $('<div id="fancybox-outer"></div>')
+                       .append('<div class="fancybox-bg" 
id="fancybox-bg-n"></div><div class="fancybox-bg" 
id="fancybox-bg-ne"></div><div class="fancybox-bg" 
id="fancybox-bg-e"></div><div class="fancybox-bg" 
id="fancybox-bg-se"></div><div class="fancybox-bg" 
id="fancybox-bg-s"></div><div class="fancybox-bg" 
id="fancybox-bg-sw"></div><div class="fancybox-bg" 
id="fancybox-bg-w"></div><div class="fancybox-bg" id="fancybox-bg-nw"></div>')
+                       .appendTo( wrap );
+
+               outer.append(
+                       content = $('<div id="fancybox-content"></div>'),
+                       close = $('<a id="fancybox-close"></a>'),
+                       title = $('<div id="fancybox-title"></div>'),
+
+                       nav_left = $('<a href="javascript:;" 
id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
+                       nav_right = $('<a href="javascript:;" 
id="fancybox-right"><span class="fancy-ico" 
id="fancybox-right-ico"></span></a>')
+               );
+
+               close.click($.fancybox.close);
+               loading.click($.fancybox.cancel);
+
+               nav_left.click(function(e) {
+                       e.preventDefault();
+                       $.fancybox.prev();
+               });
+
+               nav_right.click(function(e) {
+                       e.preventDefault();
+                       $.fancybox.next();
+               });
+
+               if ($.fn.mousewheel) {
+                       wrap.bind('mousewheel.fb', function(e, delta) {
+                               if (busy) {
+                                       e.preventDefault();
+
+                               } else if ($(e.target).get(0).clientHeight == 0 
|| $(e.target).get(0).scrollHeight === $(e.target).get(0).clientHeight) {
+                                       e.preventDefault();
+                                       $.fancybox[ delta > 0 ? 'prev' : 
'next']();
+                               }
+                       });
+               }
+
+               if (!$.support.opacity) {
+                       wrap.addClass('fancybox-ie');
+               }
+
+               if (isIE6) {
+                       loading.addClass('fancybox-ie6');
+                       wrap.addClass('fancybox-ie6');
+
+                       $('<iframe id="fancybox-hide-sel-frame" src="' + 
(/^https/i.test(window.location.href || '') ? 'javascript:void(false)' : 
'about:blank' ) + '" scrolling="no" border="0" frameborder="0" 
tabindex="-1"></iframe>').prependTo(outer);
+               }
+       };
+
+       $.fn.fancybox.defaults = {
+               padding : 10,
+               margin : 40,
+               opacity : false,
+               modal : false,
+               cyclic : false,
+               scrolling : 'auto',     // 'auto', 'yes' or 'no'
+
+               width : 560,
+               height : 340,
+
+               autoScale : true,
+               autoDimensions : true,
+               centerOnScroll : false,
+
+               ajax : {},
+               swf : { wmode: 'transparent' },
+
+               hideOnOverlayClick : true,
+               hideOnContentClick : false,
+
+               overlayShow : true,
+               overlayOpacity : 0.7,
+               overlayColor : '#777',
+
+               titleShow : true,
+               titlePosition : 'float', // 'float', 'outside', 'inside' or 
'over'
+               titleFormat : null,
+               titleFromAlt : false,
+
+               transitionIn : 'fade', // 'elastic', 'fade' or 'none'
+               transitionOut : 'fade', // 'elastic', 'fade' or 'none'
+
+               speedIn : 300,
+               speedOut : 300,
+
+               changeSpeed : 300,
+               changeFade : 'fast',
+
+               easingIn : 'swing',
+               easingOut : 'swing',
+
+               showCloseButton  : true,
+               showNavArrows : true,
+               enableEscapeButton : true,
+               enableKeyboardNav : true,
+
+               onStart : function(){},
+               onCancel : function(){},
+               onComplete : function(){},
+               onCleanup : function(){},
+               onClosed : function(){},
+               onError : function(){}
+       };
+
+       $(document).ready(function() {
+               $.fancybox.init();
+       });
+
+})(jQuery);
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to