<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>src/htc/behaviors.css</filename>
    </added>
    <added>
      <filename>src/htc/component.htc</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -8,9 +8,28 @@ THC2_PKG_DIR  = File.join(THC2_ROOT, 'pkg')
 THC2_DOC_DIR  = File.join(THC2_ROOT, 'doc')
 THC2_VERSION  = '0.1'
 JSDOC_DIR     = File.join(THC2_ROOT, 'lib/jsdoc')
+HTC_SRC_DIR   = File.join(THC2_SRC_DIR, 'htc')
+HTC_DIST_DIR  = File.join(THC2_DIST_DIR, 'htc')
 
 task :default =&gt; [:dist, :document, :package, :clean_package_source]
 
+desc &quot;Generates HTC files for IE&quot;
+task :build_htcs =&gt; :dist do
+  src = File.read(File.join(THC2_DIST_DIR, 'thc2.js'))
+  behaviors = src.grep(/CurrentPage\.registerBehaviour\([\'\&quot;](thc2-[a-z\-]+)[\'\&quot;],\s+([A-Za-z]+)\)/) { [$1, $2] }
+  puts behaviors.inspect
+  FileUtils.mkdir_p HTC_DIST_DIR
+  behaviors.each do |css, klass|
+    File.open(File.join(HTC_DIST_DIR, &quot;#{css}.htc&quot;), 'w') do |file|
+      file.print ERB.new(IO.read(File.join(HTC_SRC_DIR, 'component.htc')), nil, '%').result(binding)
+    end
+  end
+  
+  File.open(File.join(HTC_DIST_DIR, &quot;behaviors.css&quot;), 'w') do |file|
+    file.print ERB.new(IO.read(File.join(HTC_SRC_DIR, 'behaviors.css')), nil, '%').result(binding)
+  end
+end
+
 desc &quot;Builds the distribution.&quot;
 task :dist do
   $:.unshift File.join(THC2_ROOT, 'lib')</diff>
      <filename>Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -54,7 +54,11 @@ Object.extend(Widget,
           }
         }
       });
-      return objects;
+      try {
+        return objects;
+      } finally {
+        objects = null;
+      }
     } catch(e) {
     }
   }</diff>
      <filename>src/core/widget.js</filename>
    </modified>
    <modified>
      <diff>@@ -45,15 +45,14 @@ var ZoomingTeaserWidget = Class.create(Widget,
    * @inner
    */
   resetItems: function(item){
-    var self = this;
     this.findChildren(item);
     this.items.each(function(subitem){
-      self.findChildren(subitem);
+      this.findChildren(subitem);
       if(item != subitem){
         subitem.over.hide();
         subitem.out.show();
       }
-    });
+    }.bind(this));
     item.out.hide();
     item.over.show();
   },</diff>
      <filename>src/widgets/zooming_teaser_widget.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>44b6d66ae82f0ad7004eb3e86b4e25b018dcf04d</id>
    </parent>
  </parents>
  <author>
    <name>tkadauke</name>
    <email>tkadauke@60cb0372-8f51-4c35-923c-d3d8de73799b</email>
  </author>
  <url>http://github.com/imedo/thc2/commit/28415b352cd8b8c608e63ad0dbfb9f3a6574a626</url>
  <id>28415b352cd8b8c608e63ad0dbfb9f3a6574a626</id>
  <committed-date>2008-06-11T07:22:09-07:00</committed-date>
  <authored-date>2008-06-11T07:22:09-07:00</authored-date>
  <message>HTC behavior optimization for IE. disabled for now.


git-svn-id: file:///var/local/svn/emma@4414 60cb0372-8f51-4c35-923c-d3d8de73799b</message>
  <tree>78117c2ac03b9882a6609a9f658969951215093e</tree>
  <committer>
    <name>tkadauke</name>
    <email>tkadauke@60cb0372-8f51-4c35-923c-d3d8de73799b</email>
  </committer>
</commit>
