[pLog-svn] r2480 - in plog/trunk/js: . ie7 ie7/src

jondaley at devel.plogworld.net jondaley at devel.plogworld.net
Mon Sep 19 01:36:39 GMT 2005


Author: jondaley
Date: 2005-09-19 01:36:38 +0000 (Mon, 19 Sep 2005)
New Revision: 2480

Added:
   plog/trunk/js/ie7/
   plog/trunk/js/ie7/README.txt
   plog/trunk/js/ie7/blank.gif
   plog/trunk/js/ie7/ie7-content.htc
   plog/trunk/js/ie7/ie7-core.js
   plog/trunk/js/ie7/ie7-css-strict.js
   plog/trunk/js/ie7/ie7-css2-selectors.js
   plog/trunk/js/ie7/ie7-css3-selectors.js
   plog/trunk/js/ie7/ie7-dhtml.js
   plog/trunk/js/ie7/ie7-dynamic-attributes.js
   plog/trunk/js/ie7/ie7-fixed.js
   plog/trunk/js/ie7/ie7-graphics.js
   plog/trunk/js/ie7/ie7-html4.js
   plog/trunk/js/ie7/ie7-ie5.js
   plog/trunk/js/ie7/ie7-layout.js
   plog/trunk/js/ie7/ie7-load.htc
   plog/trunk/js/ie7/ie7-object.htc
   plog/trunk/js/ie7/ie7-overflow.js
   plog/trunk/js/ie7/ie7-quirks.js
   plog/trunk/js/ie7/ie7-recalc.js
   plog/trunk/js/ie7/ie7-squish.js
   plog/trunk/js/ie7/ie7-standard-p.js
   plog/trunk/js/ie7/ie7-xml-extras.js
   plog/trunk/js/ie7/ie7.gif
   plog/trunk/js/ie7/src/
   plog/trunk/js/ie7/src/README.txt
   plog/trunk/js/ie7/src/blank.gif
   plog/trunk/js/ie7/src/ie7-content.htc
   plog/trunk/js/ie7/src/ie7-core.js
   plog/trunk/js/ie7/src/ie7-css-strict.js
   plog/trunk/js/ie7/src/ie7-css2-selectors.js
   plog/trunk/js/ie7/src/ie7-css3-selectors.js
   plog/trunk/js/ie7/src/ie7-dhtml.js
   plog/trunk/js/ie7/src/ie7-dynamic-attributes.js
   plog/trunk/js/ie7/src/ie7-fixed.js
   plog/trunk/js/ie7/src/ie7-graphics.js
   plog/trunk/js/ie7/src/ie7-html4.js
   plog/trunk/js/ie7/src/ie7-ie5.js
   plog/trunk/js/ie7/src/ie7-layout.js
   plog/trunk/js/ie7/src/ie7-load.htc
   plog/trunk/js/ie7/src/ie7-object.htc
   plog/trunk/js/ie7/src/ie7-overflow.js
   plog/trunk/js/ie7/src/ie7-quirks.js
   plog/trunk/js/ie7/src/ie7-recalc.js
   plog/trunk/js/ie7/src/ie7-squish.js
   plog/trunk/js/ie7/src/ie7-standard-p.js
   plog/trunk/js/ie7/src/ie7-xml-extras.js
   plog/trunk/js/ie7/src/ie7.gif
   plog/trunk/js/ie7/src/test-trans.png
   plog/trunk/js/ie7/src/test.html
   plog/trunk/js/ie7/test-trans.png
   plog/trunk/js/ie7/test.html
Removed:
   plog/trunk/js/ie7/README.txt
   plog/trunk/js/ie7/blank.gif
   plog/trunk/js/ie7/ie7-content.htc
   plog/trunk/js/ie7/ie7-core.js
   plog/trunk/js/ie7/ie7-css-strict.js
   plog/trunk/js/ie7/ie7-css2-selectors.js
   plog/trunk/js/ie7/ie7-css3-selectors.js
   plog/trunk/js/ie7/ie7-dhtml.js
   plog/trunk/js/ie7/ie7-dynamic-attributes.js
   plog/trunk/js/ie7/ie7-fixed.js
   plog/trunk/js/ie7/ie7-graphics.js
   plog/trunk/js/ie7/ie7-html4.js
   plog/trunk/js/ie7/ie7-ie5.js
   plog/trunk/js/ie7/ie7-layout.js
   plog/trunk/js/ie7/ie7-load.htc
   plog/trunk/js/ie7/ie7-object.htc
   plog/trunk/js/ie7/ie7-overflow.js
   plog/trunk/js/ie7/ie7-quirks.js
   plog/trunk/js/ie7/ie7-recalc.js
   plog/trunk/js/ie7/ie7-squish.js
   plog/trunk/js/ie7/ie7-standard-p.js
   plog/trunk/js/ie7/ie7-xml-extras.js
   plog/trunk/js/ie7/ie7.gif
   plog/trunk/js/ie7/src/
   plog/trunk/js/ie7/src/README.txt
   plog/trunk/js/ie7/src/blank.gif
   plog/trunk/js/ie7/src/ie7-content.htc
   plog/trunk/js/ie7/src/ie7-core.js
   plog/trunk/js/ie7/src/ie7-css-strict.js
   plog/trunk/js/ie7/src/ie7-css2-selectors.js
   plog/trunk/js/ie7/src/ie7-css3-selectors.js
   plog/trunk/js/ie7/src/ie7-dhtml.js
   plog/trunk/js/ie7/src/ie7-dynamic-attributes.js
   plog/trunk/js/ie7/src/ie7-fixed.js
   plog/trunk/js/ie7/src/ie7-graphics.js
   plog/trunk/js/ie7/src/ie7-html4.js
   plog/trunk/js/ie7/src/ie7-ie5.js
   plog/trunk/js/ie7/src/ie7-layout.js
   plog/trunk/js/ie7/src/ie7-load.htc
   plog/trunk/js/ie7/src/ie7-object.htc
   plog/trunk/js/ie7/src/ie7-overflow.js
   plog/trunk/js/ie7/src/ie7-quirks.js
   plog/trunk/js/ie7/src/ie7-recalc.js
   plog/trunk/js/ie7/src/ie7-squish.js
   plog/trunk/js/ie7/src/ie7-standard-p.js
   plog/trunk/js/ie7/src/ie7-xml-extras.js
   plog/trunk/js/ie7/src/ie7.gif
   plog/trunk/js/ie7/src/test-trans.png
   plog/trunk/js/ie7/src/test.html
   plog/trunk/js/ie7/test-trans.png
   plog/trunk/js/ie7/test.html
Log:
yay.  subversion is less confused now.  merged plog 1.0.2 rev 2358

Copied: plog/trunk/js/ie7 (from rev 2358, plog/branches/plog-1.0.2/js/ie7)

Deleted: plog/trunk/js/ie7/README.txt
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/README.txt	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/README.txt	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,34 +0,0 @@
-Installation
-------------
-
-Follow these simple instructions to get IE7 working immediately on your server:
-
- * download the latest IE7 ZIP file (https://sourceforge.net/project/showfiles.php?group_id=109983&package_id=119707)
-
- * extract the contents to a directory on your server (keep the folder names used in the ZIP)
-
- * you will now have an IE7 directory on your server
-
- * include the IE7 JavaScript library in the page you wish to test
-
-   <!-- compliance patch for microsoft browsers -->
-   <!--[if lt IE 7]><script src="/ie7/ie7-standard-p.js" type="text/javascript"></script><![endif]-->
-
- * make sure this also points to the same directory
-
- * open the page in your web browser
-
- * the page should now be IE7 enabled.
-
- * if you are using the PNG solution then be aware that it operates on files
-   names "something-trans.png"
-
- * see this page for more configuration and usage options:
-   http://dean.edwards.name/IE7/usage/
-
-You may extract the contents of the ZIP file to your hard disk if you do not have access to a web server.
-
-
-Enjoy ;-)
-
-Dean Edwards, 23rd May 2005

Copied: plog/trunk/js/ie7/README.txt (from rev 2358, plog/branches/plog-1.0.2/js/ie7/README.txt)

Deleted: plog/trunk/js/ie7/blank.gif
===================================================================
(Binary files differ)

Copied: plog/trunk/js/ie7/blank.gif (from rev 2358, plog/branches/plog-1.0.2/js/ie7/blank.gif)


Property changes on: plog/trunk/js/ie7/blank.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: plog/trunk/js/ie7/ie7-content.htc
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-content.htc	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-content.htc	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,14 +0,0 @@
-<html>
-<!--
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
--->
-<head>
-<object id="dummy" width="0" height="0"></object>
-<base id="base">
-<style type="text/css">html,body,img{margin:0;}img{vertical-align:top}#dummy{display:inline}</style>
-<script type="text/javascript">public_description=new function(){var l=false;this.ie7_anon=true;this.load=function(o,c,u){if(l)return;l=true;base.href=o.document.URL;dummy.style.cssText=c;var _0=o.parentElement;var _1=Boolean(dummy.currentStyle.display=="inline");function r(){o.runtimeStyle.width=(_1)?image.offsetWidth:"100%";o.runtimeStyle.height=body.offsetHeight};image.onreadystatechange=function(){if(this.readyState=="complete")_2()};image.src=u;function _2(){function copy(p){try{body.style[p]=_0.currentStyle[p]}catch(i){}};for(var j in body.currentStyle)copy(j);body.style.width="";body.style.height="";body.style.border="none";body.style.padding="0";body.style.margin="0";body.style.textIndent="";body.style.position="static";while(_0&&_0.currentStyle.backgroundColor=="transparent"){_0=_0.parentElement}if(_0)document.body.style.backgroundColor=_0.currentStyle.backgroundColor;body.runtimeStyle.cssText=c;body.runtimeStyle.margin="0";if(_1)body.runtimeStyle.width="";r()}}};</script>
-</head>
-<body><span id="body"><img id="image"></span></body>
-</html>

Copied: plog/trunk/js/ie7/ie7-content.htc (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-content.htc)

Deleted: plog/trunk/js/ie7/ie7-core.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-core.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-core.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-eval(function(p,a,c,k,e,d){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--)d[e(c)]=k[c]||e(c);k=[function(e){return d[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}('x(!1J.1h)B 7(){1j{1J.1h=y;4 1U=y.2m=B 20;y.X=7(){9"1h 2q 0.8 (5F)"};4 36=/36/.F(41.35.40);4 1F=(36)?7(m){1J.1F(1h+"\\n\\n"+m)}:1U;4 23=5E.23.1p(/5D (\\d\\.\\d)/)[1];4 25=H.5C!="5B";x(/5A/.F(41.35.40)||23<5||!/^5z/.F(H.1P.2y))9;4 1H=H.39=="1H";4 1V=(2s H.2R=="5y")?!/\\.5x$/i.F(35.5w):5v(H.2R!="3J 3I");4 22,5u;4 2h=":1Y{Y-1Y:1Y}:2U{Y-1Y:2U}"+(1V?"":"*{5t:0}");4 1P=H.1P,2t,3X,1c=H.1c;4 5s="!";4 1Z={};4 1s=1C;1h.2m=7(n,s){x(!1Z[n]){x(1s)1i("s="+2o(s));1Z[n]=B s()}};4 R=/^[\\w\\.]+[^:]*$/;7 1I(h,p){x(R.F(h))h=(p||"")+h;9 h};7 2e(h,p){h=1I(h,p);9 h.1d(0,h.3o("/")+1)};4 s=H.3Z[H.3Z.z-1];1j{1i(s.3z)}1g(i){}4 1N=2e(s.5r);4 1E;1j{1E=B 5q(((23<6)?"5p":"5o")+".5n")}1g(i){}4 34={};7 2x(h,p){1j{h=1I(h,p);1E.5m("5l",h,1C);1E.5k();x(1E.3Y==0||1E.3Y==5j){34[h]=1E.5i}}1g(i){1F("2w [1]: 2W 5h 5g "+h)}37{9 34[h]||""}};4 5f=1I("5e.5d",1N);7 1z(K){x(K!=1R){K.2v=1r.1f.2v;K.11=1r.1f.11}9 K};1z.11=7(p,c){x(!p)p={};x(!c)c=p.Z;x(c=={}.Z)c=B 20("y.2v()");c.16=B 20("9 y");c.16.1f=B y.16;c.16.1f.11(p);c.1f=B c.16;c.1f.Z=c;c.2u=y;c.11=14.2Y;9 c};1z.16=B 20("9 y");1z.16.1f={Z:1z,2v:7(){9 14.2Y.5c.2u.2l(y,14)},11:7(K){x(y==y.Z.1f&&y.Z.11){9 y.Z.16.1f.11(K)}J(4 i 5b K){2I(i){1n"Z":1n"X":1n"16":2T}x(2s K[i]=="7"&&K[i]!=y[i]){K[i].2u=y[i]}y[i]=K[i]}x(K.5a!=y.X&&K.X!={}.X){K.X.2u=y.X;y.X=K.X}9 y},X:7(){9"[59 "+(y.Z.58||"57")+"]"}};7 1r(){};y.1r=1z.11({Z:1r});29 y.1r;4 3A=1r.11({Z:7(){y.56=[];y.1o=[]},1G:1U});x(23<5.5)1i(2x("Y-55.3a",1N));4 33=1C;1h.1G=7(){1j{x(33)9;33=1H=1b;2t=H.2t;3X=(25)?2t:1P;x(1V&&22)22.2l();13.2l();1l();1F("1s 54")}1g(e){1F("2w [2]: "+e.38)}};4 1o=[];7 2z(r){1o.15(r)};7 1l(){O.3P();x(1V&&22)22.1l();13.1l();J(4 i=0;i<1o.z;i++)1o[i]()};7 30(){4 E=0,R=1,L=2;4 G=/\\(/g,S=/\\$\\d/,I=/^\\$\\d+$/,T=/([\'"])\\1\\+(.*)\\+\\1\\1$/,3Q=/\\\\./g,Q=/\'/,3W=/\\21[^\\21]*\\21/g;7 D(m,o){9"\\21"+m[o]+"\\21"};y.17=7(e,r){x(!r)r=D;4 l=(32(2o(e)).1p(G)||"").z+1;x(2s r=="53"&&S.F(r)){x(I.F(r)){r=3e(r.1d(1))-1}1a{4 i=l;4 q=Q.F(32(r))?\'"\':"\'";1m(i)r=r.2O("$"+i--).2p(q+"+a[o+"+i+"]+"+q);r=B 20("a,o","9"+q+r.18(T,"$1")+q)}}3V(e||"/^$/",r,l)};y.1S=7(s){9 3R(3S(s,y.31).18(B 1W(1D,y.2Z?"2F":"g"),3T),y.31).18(3W,"")};y.52=7(){1D.z=0};4 1D=[];4 3U=7(){9"("+2o(y[E]).1d(1,-1)+")"};1D.X=7(){9 y.2p("|")};7 3V(){14.X=3U;1D[1D.z]=14}7 3T(){x(!14[0])9"";4 i=1,j=0,p;1m(p=1D[j++]){x(14[i]){4 r=p[R];2I(2s r){1n"7":9 r(14,i);1n"51":9 14[r+i];50:9 r}}1a i+=p[L]}};4 2r=[];7 3S(s,e){9 e?s.18(B 1W("\\\\"+e+"(.)","g"),7(m,c){2r[2r.z]=c;9 e}):s};7 3R(s,e){4 i=0;9 e?s.18(B 1W("\\\\"+e,"g"),7(){9 e+(2r[i++]||"")}):s};7 32(s){9 s.18(3Q,"")}};1r.11({Z:30,2Z:1C,31:""});4 1T=30.11({2Z:1b});4 O=7(){4 2q="2.0 (4Z)";4 C=/\\s*,\\s*/;4 O=7(s,12){1j{4 m=[];4 u=14.2Y.2M&&!12;4 b=(12)?(12.Z==4Y)?12:[12]:[H];4 2X=3D(s).2O(C),i;J(i=0;i<2X.z;i++){s=2N(2X[i]);x(3K&&s.1d(0,3).2p("")==" *#"){s=s.1d(2);12=3G([],b,s[1])}1a 12=b;4 j=0,t,f,a,c="";1m(j<s.z){t=s[j++];f=s[j++];c+=t+f;a="";x(s[j]=="("){1m(s[j++]!=")")a+=s[j];a=a.1d(0,-1);c+="("+a+")"}12=(u&&1M[c])?1M[c]:3F(12,t,f,a);x(u)1M[c]=12}m=m.3u(12)}29 O.2W;9 m}1g(e){O.2W=e;9[]}};O.X=7(){9"7 O() {\\n  [2q "+2q+"]\\n}"};4 1M={};O.2M=1C;O.3P=7(s){x(s){s=2N(s).2p("");29 1M[s]}1a 1M={}};4 1Z={};4 1s=1C;O.2m=7(n,s){x(1s)1i("s="+2o(s));1Z[n]=B s()};O.16=7(c){9 c?1i(c):y};4 1B={};4 2n={};4 4X=[];1B[" "]=7(r,f,t,n){4 e,i,j;J(i=0;i<f.z;i++){4 s=2k(f[i],t,n);J(j=0;(e=s[j]);j++){x(1q(e)&&2P(e,n))r.15(e)}}};1B["#"]=7(r,f,i){4 e,j;J(j=0;(e=f[j]);j++)x(e.1A==i)r.15(e)};1B["."]=7(r,f,c){c=B 1W("(^|\\\\s)"+c+"(\\\\s|$)");4 e,i;J(i=0;(e=f[i]);i++)x(c.F(e.4W))r.15(e)};1B[":"]=7(r,f,p,a){4 t=2n[p],e,i;x(t)J(i=0;(e=f[i]);i++)x(t(e,a))r.15(e)};2n["1Y"]=7(e){4 d=2Q(e);x(d.2V)J(4 i=0;i<d.2V.z;i++){x(d.2V[i]==e)9 1b}};2n["2U"]=7(e){};4 1q=7(e){9(e&&e.3B==1&&e.2L!="!")?e:1R};4 3N=7(e){1m(e&&(e=e.4V)&&!1q(e))2T;9 e};4 2S=7(e){1m(e&&(e=e.4U)&&!1q(e))2T;9 e};4 3L=7(e){9 1q(e.3O)||2S(e.3O)};4 4T=7(e){9 1q(e.3M)||3N(e.3M)};4 4S=7(e){4 c=[];e=3L(e);1m(e){c.15(e);e=2S(e)}9 c};4 3K=1b;4 3H=7(e){9 2Q(e).2R=="3J 3I"};4 2Q=7(e){9 e.4R||e.H};4 2k=7(e,t){9(t=="*"&&e.1y)?e.1y:e.2k(t)};4 4Q=7(e,t,n){x(t=="*")9 1q(e);x(!2P(e,n))9 1C;x(!3H(e))t=t.4P();9 e.2L==t};4 2P=7(e,n){9!n||(n=="*")||(e.4O==n)};4 4N=7(e){9 e.4M};7 3G(r,f,1A){4 m,i,j;J(i=0;i<f.z;i++){x(m=f[i].1y.4L(1A)){x(m.z==1R)r.15(m);1a J(j=0;j<m.z;j++)r.15(m[j])}}9 r};4 N=/\\|/;7 3F(12,t,f,a){x(N.F(f)){f=f.2O(N);a=f[0];f=f[1]}4 r=[];x(1B[t]){1B[t](r,12,f,a)}9 r};4 S=/^[^\\s>+~]/;4 3E=/[\\s#.:>+~()@]|[^\\s#.:>+~()@]+/g;7 2N(s){x(S.F(s))s=" "+s;9 s.1p(3E)||[]};4 W=/\\s*([\\s>+~(),]|^|$)\\s*/g;4 I=/([\\s>+~,]|[^(]\\+|^)([#.:@])/g;4 3D=7(s){9 s.18(W,"$1").18(I,"$1*$2")};4 1w={X:7(){9"\'"},1p:/^(\'[^\']*\')|("[^"]*")$/,F:7(s){9 y.1p.F(s)},17:7(s){9 y.F(s)?s:y+s+y},3C:7(s){9 y.F(s)?s.1d(1,-1):s}};4 1K=7(t){9 1w.3C(t)};4 E=/([\\/()[\\]?{}|*+-])/g;7 4K(s){9 s.18(E,"\\\\$1")};1s=1b;9 O}();O.2M=1b;O.2m("Y",7(){1q=7(e){9(e&&e.3B==1&&e.2L!="!"&&!e.3d)?e:1R}});O.16("1K=14[1]",3l);4 13=B(3A.11({2C:B 1T,2J:[],1L:"",1u:"",1G:7(){y.2K();y.2g()},2g:7(m){13.19.V=2h+y.1L+y.1u},2l:7(m){4 1X=H.2k("1e"),s;J(4 i=1X.z-1;(s=1X[i]);i--){x(!s.2E&&!s.Y){y.2J.15(s.3z)}}y.2g();B 27("1L");y.3v()},3x:7(e,r){y.2C.17(e,r)},1l:7(){4 R=/3w\\d+/g;4 s=2h.1p(/[{,]/g).z;4 1X=s+y.1L.V.1p(/\\{/g).z;4 3y=y.19.4J,r;4 2j,c,2i,e,i,j,k,1A;J(i=s;i<1X;i++){r=3y[i];x(r&&(2j=r.1e.V.1p(R))){2i=O(r.4I);x(2i.z)J(j=0;j<2j.z;j++){1A=2j[j];c=13.1o[1A.1d(10)][2];J(k=0;(e=2i[k]);k++){x(e.1t[1A])c(e)}}}}},2z:7(p,t,h,r){t=B 1W("([{;\\\\s])"+p+"\\\\s*:\\\\s*"+t+"[^;}]*");4 i=y.1o.z;x(r)r=p+":"+r;y.3x(t,7(m,o){9(r?m[o+1]+r:m[o])+";Y-"+m[o].1d(1)+";3w"+i+":1"});y.1o.15(14);9 i},1K:7(s){9 s.V||s.c},2K:7(){x(1H||!1V)H.2K();1a H.4H("<1e Y=1b></1e>");y.19=1c[1c.z-1];y.19.Y=1b;y.19.V=2h},3v:7(){4 19,i;J(i=0;i<1c.z;i++){19=1c[i];x(!19.Y){19.c=19.V;19.V=""}}}}));7 27(m){y.1x=m;y.1O();13[m]=y;13.2g()};1z.11({Z:27,X:7(){9"@1x "+y.1x+"{"+y.V+"}"},V:"",1l:1U,1O:7(){y.1K();y.3n();y.V=3k(y.V)},1K:7(){4 3s=[].3u(13.2J);4 M=/@1x\\s+([^{]*)\\{([^@]+\\})\\s*\\}/2F;4 A=/\\4G\\b|^$/i,S=/\\4F\\b/i,P=/\\4E\\b/i;7 3r(c,m){2f.v=m;9 c.18(M,2f)};7 2f(4D,m,c){m=2H(m);2I(m){1n"1L":1n"1u":x(m!=2f.v)9"";1n"1y":9 c}9""};7 2H(m){x(A.F(m))9"1y";1a x(S.F(m))9(P.F(m))?"1y":"1L";1a x(P.F(m))9"1u"};4 2G=y;7 2D(s,p,m,l){4 c="";x(!l){m=2H(s.1x);l=0}x(m=="1y"||m==2G.1x){x(l<3){J(4 i=0;i<s.3t.z;i++){c+=2D(s.3t[i],2e(s.2d,p),m,l+1)}}c+=3m(s.2d?3q(s,p):3s.3h()||"");c=3r(c,2G.1x)}9 c};4 f={};7 3q(s,p){4 u=1I(s.2d,p);x(f[u])9"";f[u]=(s.2E)?"":3p(13.1K(s,p),2e(s.2d,p));9 f[u]};4 U=/(4C\\s*\\(\\s*[\'"]?)([\\w\\.]+[^:\\)]*[\'"]?\\))/2F;7 3p(c,p){9 c.18(U,"$1"+p.1d(0,p.3o("/")+1)+"$2")};J(4 i=0;i<1c.z;i++){x(!1c[i].2E&&!1c[i].Y){y.V+=2D(1c[i])}}},3n:7(){y.V=13.2C.1S(y.V)},1l:1U});4 1w=O.16("1w");4 2b=[];7 3m(c){9 1v.1S(2c.1S(c))};7 2B(m,o){9 1w+(2b.15(m[o])-1)+1w};7 3l(v){9 1w.F(v)?1i(2b[1i(v)]):v};4 1v=B 1T;1v.17(/\\/\\*[^*]*\\*+([^\\/][^*]*\\*+)*\\//);1v.17(/\'[^\']*\'/,2B);1v.17(/"[^"]*"/,2B);1v.17(/\\s+/," ");1v.17(/@(4B|4A)[^;\\n]+[;\\n]|<!\\-\\-|\\-\\->/);4 2c=B 1T;2c.17(/\\\\\'/,"\\\\4z");2c.17(/\\\\"/,"\\\\4y");4 2A=B 1T;2A.17(/\'(\\d+)\'/,3j);7 3k(c){9 2A.1S(c)};7 3j(m,o){9 2b[m[o+1]]};4 2a=[];7 4x(h){x(25)2z(h);24(1J,"4w",h)};7 24(e,t,h){e.3i(t,h);2a.15(14)};7 3g(e,t,h){1j{e.4v(t,h)}1g(i){}};1J.3i("4u",7(){1m(2a.z){4 h=2a.3h();3g(h[0],h[1],h[2])}});7 4t(h,e,c){x(!h.28)h.28={};x(c)h.28[e.2y]=e;1a 29 h.28[e.2y];9 c};24(1J,"4s",7(){x(!13.1u)B 27("1u");13.1u.1l()});4 3f=/^\\d+(4r)?$/i;4 4q=/^\\d+%$/;4 4p=7(e,v){x(3f.F(v))9 3e(v);4 s=e.1e.1k;4 r=e.1Q.1k;e.1Q.1k=e.1t.1k;e.1e.1k=v||0;v=e.1e.4o;e.1e.1k=s;e.1Q.1k=r;9 v};7 4n(t){4 e=H.4m(t||"K");e.1e.V="3c:4l;4k:0;4j:4i;4h:4g;4f:4e(0 0 0 0);1k:-4d";e.3d=1b;9 e};4 26="Y-";7 4c(e){9 e.1t["Y-3c"]=="4b"};7 4a(e,p){9 e.1t[26+p]||e.1t[p]};7 49(e,p,v){x(e.1t[26+p]==1R){e.1Q[26+p]=e.1t[p]}e.1Q[p]=v};7 48(o,c,u){4 t=47(7(){1j{x(!o.1O)9;o.1O(o,c,u);3b(t)}1g(i){3b(t)}},10)};1s=1b;x(25)1i(2x("Y-46.3a",1N));13.1G();x(1H)1h.1G();1a{1P.45(1I("Y-1O.44",1N));24(H,"43",7(){x(H.39=="1H")42(1h.1G,0)})}}1g(e){1F("2w [0]: "+e.38)}37{}};',62,352,'||||var|||function||return||||||||||||||||||||||||if|this|length||new||||test||document||for|object||||cssQuery|||||||cssText||toString|ie7|constructor||specialize|fr|ie7CSS|arguments|push|valueOf|add|replace|styleSheet|else|true|styleSheets|slice|style|prototype|catch|IE7|eval|try|left|recalc|while|case|recalcs|match|thisElement|Common|loaded|currentStyle|print|encoder|Quote|media|all|ICommon|id|selectors|false|_0|httpRequest|alert|init|complete|makePath|window|getText|screen|cache|path|load|documentElement|runtimeStyle|null|exec|Parser|DUMMY|isHTML|RegExp|st|link|modules|Function|001|ie7HTML|appVersion|addEventHandler|quirksMode|_1|StyleSheet|elements|delete|_2|_3|safeString|href|getPath|_4|refresh|HEADER|el|ca|getElementsByTagName|apply|addModule|pseudoClasses|String|join|version|_5|typeof|body|ancestor|inherit|Error|loadFile|uniqueID|addRecalc|decoder|_6|parser|_7|disabled|gi|self|_8|switch|styles|createStyleSheet|tagName|caching|_9|split|compareNamespace|getDocument|mimeType|nextElementSibling|continue|visited|links|error|se|callee|ignoreCase|ParseMaster|escapeChar|_10|_11|_12|location|ie7_debug|finally|description|readyState|js|clearInterval|position|ie7_anon|parseInt|PIXEL|removeEventHandler|pop|attachEvent|_13|_14|getString|_15|parse|lastIndexOf|_16|_17|_18|_19|imports|concat|trash|ie7_recalc|addFix|ru|innerHTML|Fix|nodeType|remove|parseSelector|ST|select|_20|isXML|Document|XML|isMSIE|firstElementChild|lastChild|previousElementSibling|firstChild|clearCache|ES|_21|_22|_23|_24|_25|DE|viewport|status|scripts|search|top|setTimeout|onreadystatechange|htc|addBehavior|quirks|setInterval|addTimer|setOverrideStyle|getDefinedStyle|fixed|isFixed|9999|rect|clip|none|border|block|display|padding|absolute|createElement|createTempElement|pixelLeft|getPixelValue|PERCENT|px|onbeforeprint|register|onunload|detachEvent|onresize|addResize|x22|x27|import|namespace|url|ma|bprint|bscreen|ball|write|selectorText|rules|regEscape|item|innerText|getTextContent|scopeName|toUpperCase|compareTagName|ownerDocument|childElements|lastElementChild|nextSibling|previousSibling|className|attributeSelectors|Array|beta|default|number|reset|string|successfully|ie5|fixes|Object|name|common|toStrng|in|caller|gif|blank|BLANK_GIF|file|loading|responseText|200|send|GET|open|XMLHTTP|Msxml2|Microsoft|ActiveXObject|src|ANON|margin|ie7Layout|Boolean|pathname|xml|unknown|ms_|ie7_off|CSS1Compat|compatMode|MSIE|navigator|alpha'.split('|'),0,{}))
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-core.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-core.js)

Deleted: plog/trunk/js/ie7/ie7-css-strict.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-css-strict.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-css-strict.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-css-strict",function(){if(!modules["ie7-css2-selectors"])return;StyleSheet.prototype.specialize({parse:function(){this.inherit();var r=[].concat(this.rules);r.sort(ie7CSS.Rule.compare);this.cssText=r.join("\n")},createRule:function(s,c){var m;if(m=s.match(ie7CSS.PseudoElement.MATCH))return new ie7CSS.PseudoElement(m[1],m[2],c);else if(m=s.match(ie7CSS.DynamicRule.MATCH))return new ie7CSS.DynamicRule(s,m[1],m[2],m[3],c);else return new ie7CSS.Rule(s,c)}});ie7CSS.specialize({apply:function(){this.inherit();this.Rule.MATCH=/([^{}]+)(\{[^{}]*\})/g}});ie7CSS.Rule.compare=function(r1,r2){return r1.specificity-r2.specificity};var N=[],I=/#/g,C=/[.:\[]/g,T=/^\w|[\s>+~]\w/g;ie7CSS.Rule.score=function(s){return(s.match(I)||N).length*10000+(s.match(C)||N).length*100+(s.match(T)||N).length};ie7CSS.Rule.simple=function(){return""};ie7CSS.Rule.prototype.specialize({specificity:0,init:function(){this.specificity=ie7CSS.Rule.score(this.selector)}})});
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-css-strict.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-css-strict.js)

Deleted: plog/trunk/js/ie7/ie7-css2-selectors.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-css2-selectors.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-css2-selectors.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-css2-selectors",function(){cssQuery.addModule("css-level2",function(){selectors[">"]=function(r,f,t,n){var e,i,j;for(i=0;i<f.length;i++){var s=childElements(f[i]);for(j=0;(e=s[j]);j++)if(compareTagName(e,t,n))r.push(e)}};selectors["+"]=function(r,f,t,n){for(var i=0;i<f.length;i++){var e=nextElementSibling(f[i]);if(e&&compareTagName(e,t,n))r.push(e)}};selectors["@"]=function(r,f,a){var t=attributeSelectors[a].test;var e,i;for(i=0;(e=f[i]);i++)if(t(e))r.push(e)};pseudoClasses["first-child"]=function(e){return!previousElementSibling(e)};pseudoClasses["lang"]=function(e,c){c=new RegExp("^"+c,"i");while(e&&!e.getAttribute("lang"))e=e.parentNode;return e&&c.test(e.getAttribute("lang"))};var AttributeSelector={};AttributeSelector.PREFIX="@";AttributeSelector.tests={};AttributeSelector.match=/\[([\w-]+)\s*(\W?=)?\s*([^\]]*)\]/g;AttributeSelector.replace=function(m,a,c,v){var k=AttributeSelector.PREFIX+m;if(!attributeSelectors[k]){a=AttributeSelector.create(a,c||"",v||"");attributeSelectors[k]=a;attributeSelectors.push(a)}return attributeSelectors[k].id};AttributeSelector.parse=function(s){return s.replace(this.match,this.replace)};AttributeSelector.create=function(p,t,v){var a={};a.id=AttributeSelector.PREFIX+attributeSelectors.length;a.name=p;t=this.tests[t];t=t?t(AttributeSelector.getAttribute(p),getText(v)):false;a.test=new Function("e","return "+t);return a};AttributeSelector.getAttribute=function(n){switch(n.toLowerCase()){case"id":return"e.id";case"class":return"e.className";case"for":return"e.htmlFor";case"href":if(isMSIE){return"String((e.outerHTML.match(/href=\"?([^\\s\"]*)\"?/)||[])[1]||'')"}}return"e.getAttribute('"+n+"')"};this.AttributeSelector=AttributeSelector;AttributeSelector.tests[""]=function(a){return a};AttributeSelector.tests["="]=function(a,v){return a+"=="+Quote.add(v)};AttributeSelector.tests["~="]=function(a,v){return"/(^|\\s)"+regEscape(v)+"(\\s|$)/.test("+a+")"};AttributeSelector.tests["|="]=function(a,v){return"/^"+regEscape(v)+"(-|$)/.test("+a+")"};var _6=parseSelector;parseSelector=function(s){return _6(AttributeSelector.parse(s))}});var css2=cssQuery.valueOf("modules['css-level2']");var H=/a(#[\w-]+)?(\.[\w-]+)?:(hover|active)/i;var B1=/\s*\{\s*/,B2=/\s*\}\s*/;var F=/(.*)(:first-(line|letter))/;StyleSheet.prototype.specialize({parse:function(){this.inherit();var o=ie7CSS.rules.length;var ru=this.cssText.split(B2),r;var se,c,i,j;for(i=0;i<ru.length;i++){r=ru[i].split(B1);se=r[0].split(",");if(c=r[1]){for(j=0;j<se.length;j++){se[j]=this.createRule(se[j],c)}}ru[i]=se.join("\n")}this.cssText=ru.join("\n");this.rules=ie7CSS.rules.slice(o)},recalc:function(){var r,i;for(i=0;(r=this.rules[i]);i++)r.recalc()},createRule:function(s,c){if(ie7CSS.UNKNOWN.test(s)){var m;if(m=s.match(PseudoElement.MATCH)){return new PseudoElement(m[1],m[2],c)}else if(m=s.match(DynamicRule.MATCH)){if(!isHTML||!H.test(m)){return new DynamicRule(s,m[1],m[2],m[3],c)}}else return new Rule(s,c)}return s+" {"+c+"}"}});ie7CSS.specialize({rules:[],pseudoClasses:cssQuery.valueOf("pseudoClasses"),dynamicPseudoClasses:{},cache:cssQuery.valueOf("cache"),Rule:Rule,DynamicRule:DynamicRule,PseudoElement:PseudoElement,DynamicPseudoClass:DynamicPseudoClass,apply:function(){var p=this.pseudoClasses+"|before|after|"+this.dynamicPseudoClasses;p=p.replace(/(link|visited)\|/g,"");this.UNKNOWN=new RegExp("[>+~\[]|([:.])[\\w-()]+\\1|:("+p+")");Rule.COMPLEX=new RegExp("[^\\s(]+\\s*[+~]|@\\d+|:("+p+")","g");DynamicRule.MATCH=new RegExp("(.*):("+this.dynamicPseudoClasses+")(.*)");PseudoElement.MATCH=/(.*):(before|after).*/;this.inherit()},recalc:function(){this.screen.recalc();this.inherit()},getText:function(s,p){return httpRequest?(loadFile(s.href,p)||s.cssText):this.inherit(s)}});function Rule(s,c){this.id=ie7CSS.rules.length;this.className=Rule.PREFIX+this.id;s=(s).match(F)||s||"*";this.selector=s[1]||s;this.selectorText=Rule.simple(this.selector)+"."+this.className+(s[2]||"");this.cssText=c;this.MATCH=new RegExp("\\s"+this.className+"(\\s|$)","g");ie7CSS.rules.push(this);this.init()};ICommon.specialize({constructor:Rule,toString:function(){return this.selectorText+" {"+this.cssText+"}"},init:DUMMY,add:function(e){e.className+=" "+this.className},remove:function(e){e.className=e.className.replace(this.MATCH,"$1")},recalc:function(){var m=ie7CSS.cache[" *."+this.className]=cssQuery(this.selector);for(i=0;i<m.length;i++)this.add(m[i])}});Rule.PREFIX="ie7_class";Rule.CHILD=/>/g;Rule.simple=function(s){s=css2.AttributeSelector.parse(s);return s.replace(this.COMPLEX,"").replace(this.CHILD," ")};function DynamicRule(s,a,d,t,c){this.attach=a||"*";this.dynamicPseudoClass=ie7CSS.dynamicPseudoClasses[d];this.target=t;this.inherit(s,c)};Rule.specialize({constructor:DynamicRule,recalc:function(){var m=cssQuery(this.attach);for(var i=0;i<m.length;i++){var t=(this.target)?cssQuery(this.target,m[i]):[m[i]];if(t.length)this.dynamicPseudoClass.apply(m[i],t,this)}}});var A=/^attr/,V=/'\d+'|attr\([\w-]+\)/g;var U=/^url\s*\(\s*([^)]*)\)$/;var M={before0:"beforeBegin",before1:"afterBegin",after0:"afterEnd",after1:"beforeEnd"};var _5=makePath("ie7-content.htc",path)+"?";HEADER+=".ie7_anon{display:none}";function PseudoElement(s,p,c){this.position=p;var co=c.match(PseudoElement.CONTENT),m,e;if(co){co=co[1];if(m=co.match(V)){for(var i=0;(e=m[i]);i++){m[i]=A.test(e)?{attr:e.slice(5,-1)}:getString(e)}co=m}}this.content=co;this.inherit(s,_7(c))};Rule.specialize({constructor:PseudoElement,toString:function(){return"."+this.className+"{display:inline}"},init:function(){this.match=cssQuery(this.selector);for(var i=0;i<this.match.length;i++){var r=this.match[i].runtimeStyle;if(!r[this.position])r[this.position]={cssText:""};r[this.position].cssText+=";"+this.cssText;if(this.content!=null)r[this.position].content=this.content}},recalc:function(){if(this.content==null)return;for(var i=0;i<this.match.length;i++){var t=this.match[i];var g=t.runtimeStyle[this.position];var po=M[this.position+Number(t.canHaveChildren)];if(g){var c=[].concat(g.content||"");for(var j=0;j<c.length;j++){if(typeof c[j]=="object"){c[j]=t.getAttribute(c[j].attr)}}c=c.join("");var u=c.match(U);var h=PseudoElement[u?"OBJECT":"ANON"].replace(/%1/,this.className);var cs=g.cssText;if(u){var p=document.createElement(h);t.insertAdjacentElement(po,p);p.data=_5;addTimer(p,cs,Quote.remove(u[1]))}else{h=h.replace(/%2/,cs).replace(/%3/,c);t.insertAdjacentHTML(po,h)}t.runtimeStyle[this.position]=null}}}});PseudoElement.CONTENT=/content\s*:\s*([^;]*)(;|$)/;PseudoElement.OBJECT="<object class='ie7_anon %1' ie7_anon width=100% height=0 type=text/x-scriptlet>";PseudoElement.ANON="<ie7:! class='ie7_anon %1' ie7_anon style='%2'>%3</ie7:!>";function DynamicPseudoClass(n,a){this.name=n;this.apply=a;this.instances={};ie7CSS.dynamicPseudoClasses[n]=this};Common.specialize({constructor:DynamicPseudoClass,register:function(i){var c=i[2];i.id=c.id+i[0].uniqueID;if(!this.instances[i.id]){var t=i[1],j;for(j=0;j<t.length;j++)c.add(t[j]);this.instances[i.id]=i}},unregister:function(i){if(this.instances[i.id]){var c=i[2];var t=i[1],j;for(j=0;j<t.length;j++)c.remove(t[j]);delete this.instances[i.id]}}});ie7CSS.pseudoClasses.toString=function(){var t=[],p;for(p in this){if(this[p].length>1)p+="\\([^)]*\\)";t.push(p)}return t.join("|")};ie7CSS.pseudoClasses["link"]=function(e){return e.currentStyle["ie7-link"]=="link"};ie7CSS.pseudoClasses["visited"]=function(e){return e.currentStyle["ie7-link"]=="visited"};var _4=(appVersion<5.5)?"onmouseover":"onmouseenter";var _3=(appVersion<5.5)?"onmouseout":"onmouseleave";ie7CSS.dynamicPseudoClasses.toString=ie7CSS.pseudoClasses.toString;var _0=new DynamicPseudoClass("hover",function(e){var i=arguments;addEventHandler(e,_4,function(){_0.register(i)});addEventHandler(e,_3,function(){_0.unregister(i)})});var _1=new DynamicPseudoClass("focus",function(e){var i=arguments;addEventHandler(e,"onfocus",function(){_1.unregister(i);_1.register(i)});addEventHandler(e,"onblur",function(){_1.unregister(i)});if(e==document.activeElement){_1.register(i)}});var _2=new DynamicPseudoClass("active",function(e){var i=arguments;addEventHandler(e,"onmousedown",function(){_2.register(i)})});addEventHandler(document,"onmouseup",function(){var i=_2.instances,j;for(j in i)_2.unregister(i[j]);i=_0.instances;for(j in i)if(!i[j][0].contains(event.srcElement))_0.unregister(i[j])});ICommon(css2.AttributeSelector);css2.AttributeSelector.specialize({getAttribute:function(n){switch(n.toLowerCase()){case"class":return"e.className.replace(/\\b\\s*ie7_class\\d+/g,'')";case"src":return"(e.pngSrc||e.src)"}return this.inherit(n)}});encoder.add(/::/,":");safeString.add(/\\([\da-fA-F]{1,4})/,function(m,o){m=m[o+1];return"\\u"+"0000".slice(m.length)+m})});
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-css2-selectors.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-css2-selectors.js)

Deleted: plog/trunk/js/ie7/ie7-css3-selectors.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-css3-selectors.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-css3-selectors.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-css3-selectors",function(){cssQuery.addModule("css-level3",function(){var css2=modules["css-level2"];if(!css2)return;selectors["~"]=function(r,f,t,n){var e,i;for(i=0;(e=f[i]);i++){while(e=nextElementSibling(e)){if(compareTagName(e,t,n))r.push(e)}}};pseudoClasses["contains"]=function(e,t){t=new RegExp(regEscape(getText(t)));return t.test(getTextContent(e))};pseudoClasses["root"]=function(e){return e==getDocument(e).documentElement};pseudoClasses["empty"]=function(e){var n,i;for(i=0;(n=e.childNodes[i]);i++){if(thisElement(n)||n.nodeType==3)return false}return true};pseudoClasses["last-child"]=function(e){return!nextElementSibling(e)};pseudoClasses["only-child"]=function(e){e=e.parentNode;return firstElementChild(e)==lastElementChild(e)};pseudoClasses["not"]=function(e,s){var n=cssQuery(s,getDocument(e));for(var i=0;i<n.length;i++){if(n[i]==e)return false}return true};pseudoClasses["nth-child"]=function(e,a){return nthChild(e,a,previousElementSibling)};pseudoClasses["nth-last-child"]=function(e,a){return nthChild(e,a,nextElementSibling)};pseudoClasses["target"]=function(e){return e.id==location.hash.slice(1)};pseudoClasses["checked"]=function(e){return e.checked};pseudoClasses["enabled"]=function(e){return e.disabled===false};pseudoClasses["disabled"]=function(e){return e.disabled};pseudoClasses["indeterminate"]=function(e){return e.indeterminate};var AttributeSelector=css2.AttributeSelector;AttributeSelector.tests["^="]=function(a,v){return"/^"+regEscape(v)+"/.test("+a+")"};AttributeSelector.tests["$="]=function(a,v){return"/"+regEscape(v)+"$/.test("+a+")"};AttributeSelector.tests["*="]=function(a,v){return"/"+regEscape(v)+"/.test("+a+")"};function nthChild(e,a,t){switch(a){case"n":return true;case"even":a="2n";break;case"odd":a="2n+1"}var ch=childElements(e.parentNode);function _5(i){var i=(t==nextElementSibling)?ch.length-i:i-1;return ch[i]==e};if(!isNaN(a))return _5(a);a=a.split("n");var m=parseInt(a[0]);var s=parseInt(a[1]);if((isNaN(m)||m==1)&&s==0)return true;if(m==0&&!isNaN(s))return _5(s);if(isNaN(s))s=0;var c=1;while(e=t(e))c++;if(isNaN(m)||m==1)return(t==nextElementSibling)?(c<=s):(s>=c);return(c%m)==s}});var firstElementChild=cssQuery.valueOf("firstElementChild");ie7CSS.pseudoClasses["root"]=function(e){return(e==viewport)||(!isHTML&&e==firstElementChild(body))};var _4=new ie7CSS.DynamicPseudoClass("checked",function(e){var i=arguments;addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="checked"){if(e.checked)_4.register(i);else _4.unregister(i)}});if(e.checked)_4.register(i)});var _3=new ie7CSS.DynamicPseudoClass("enabled",function(e){var i=arguments;addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="disabled"){if(e.disabled===false)_3.register(i);else _3.unregister(i)}});if(e.disabled===false)_3.register(i)});var _2=new ie7CSS.DynamicPseudoClass("disabled",function(e){var i=arguments;addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="disabled"){if(e.disabled)_2.register(i);else _2.unregister(i)}});if(e.disabled)_2.register(i)});var _1=new ie7CSS.DynamicPseudoClass("indeterminate",function(e){var i=arguments;addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="indeterminate"){if(e.indeterminate)_1.register(i);else _1.unregister(i)}});addEventHandler(e,"onclick",function(){_1.unregister(i)});});var _0=new ie7CSS.DynamicPseudoClass("target",function(e){var i=arguments;if(!e.tabIndex)e.tabIndex=0;addEventHandler(document,"onpropertychange",function(){if(event.propertyName=="activeElement"){if(e.id==location.hash.slice(1))_0.register(i);else _0.unregister(i)}});if(e.id==location.hash.slice(1))_0.register(i)});decoder.add(/\|/,"\\:")});
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-css3-selectors.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-css3-selectors.js)

Deleted: plog/trunk/js/ie7/ie7-dhtml.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-dhtml.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-dhtml.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,58 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-dhtml", function() {
-
-/* ---------------------------------------------------------------------
-  This module is still in development and should not be used.
---------------------------------------------------------------------- */
-
-
-ie7CSS.specialize("recalc", function() {
-	this.inherit();
-	for (var i = 0; i < this.recalcs.length; i++) {
-		var $recalc = this.recalcs[i];
-		for (var j = 0; i < $recalc[3].length; i++) {
-			_addPropertyChangeHandler($recalc[3][j], _getPropertyName($recalc[2]), $recalc[1]);
-		}
-	}
-});
-
-// constants
-var _PATTERNS = {
-	width: "(width|paddingLeft|paddingRight|borderLeftWidth|borderRightWidth|borderLeftStyle|borderRightStyle)",
-	height:	"(height|paddingTop|paddingBottom|borderTopHeight|borderBottomHeight|borderTopStyle|borderBottomStyle)"
-};
-var _PROPERTY_NAMES = {
-	width: "fixedWidth",
-	height: "fixedHeight",
-	right: "width",
-	bottom: "height"
-};
-var _DASH_LETTER = /-(\w)/g;
-var _PROPERTY_NAME = /\w+/;
-
-function _addPropertyChangeHandler($element, $propertyName, $fix) {
-	addEventHandler($element, "onpropertychange", function() {
-		if (_getPattern($propertyName).test(event.propertyName)) {
-			_reset($element, $propertyName);
-			$fix($element);
-		}
-	});
-};
-function _upper($match, $letter) {return $letter.toUpperCase()};
-function _getPropertyName($pattern) {
-	return String(String($pattern).toLowerCase().replace(_DASH_LETTER, _upper).match(_PROPERTY_NAME));
-};
-function _getPattern($propertyName) {
-	return eval("/^style." + (_PATTERNS[$propertyName] || $propertyName) + "$/");
-};
-function _reset($element, $propertyName) {
-	$element.runtimeStyle[$propertyName] = "";
-	$propertyName = _PROPERTY_NAMES[$propertyName]
-	if ($propertyName) $element.runtimeStyle[$propertyName] = "";
-};
-
-});

Copied: plog/trunk/js/ie7/ie7-dhtml.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-dhtml.js)

Deleted: plog/trunk/js/ie7/ie7-dynamic-attributes.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-dynamic-attributes.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-dynamic-attributes.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,90 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-dynamic-attributes", function() {
-
-// -----------------------------------------------------------------------
-// IE7 Dynamic Attribute Class
-// -----------------------------------------------------------------------
-
-// requires another module
-if (!modules["ie7-css2-selectors"]) return;
-
-/* ---
-
-// Class properties:
-// attach: the element(s) that a dynamic attribute selector will be attached to
-// target: the element(s) that will have the IE7 class applied
-
-For example:
-  fieldset p.required > input[value=""] + sup {color: red;}
-In this example attach="fieldset p.required > input" and target="+ sup".
-
---- */
-
-// cssQuery internals
-var attributeSelectors = cssQuery.valueOf("attributeSelectors");
-var parseSelector = cssQuery.valueOf("parseSelector");
-
-// constructor
-function DynamicAttribute($selector, $attach, $dynamicAttribute, $target, $cssText) {
-	// initialise object properties
-	this.attach = $attach || "*";
-	parseSelector($dynamicAttribute);
-	this.dynamicAttribute = attributeSelectors["@" + $dynamicAttribute];
-	this.target = $target;
-	this.inherit($selector, $cssText);
-};
-// protoytype
-ie7CSS.Rule.specialize({
-	// properties
-	constructor: DynamicAttribute,
-//- attach: "",
-//- dynamicAttribute: null,
-//- target: "",
-	// methods
-	recalc: function() {
-		// execute the underlying css query for this class
-		var $match = cssQuery(this.attach);
-		// process results
-		for (var i = 0; i < $match.length; i++) {
-			// retrieve the event handler's target element(s)
-			var $target = (this.target) ? cssQuery(this.target, $match[i]) : [$match[i]];
-			// attach event handlers for dynamic attributes
-			if ($target.length) this.apply($match[i], $target);
-		}
-	},
-	apply: function($element, $target) {
-		var self = this;
-		// watch property changes
-		addEventHandler($element, "onpropertychange", function() {
-			// check the attribute name
-			if (event.propertyName == self.dynamicAttribute.name)
-				// turn the selector on/off
-				self.test($element, $target);
-		});
-		this.test($element, $target);
-	},
-	test: function($element, $target) {
-		var $action = this.dynamicAttribute.test($element) ? "add" : "remove";
-		for (var i = 0; ($element = $target[i]); i++) this[$action]($element);
-
-	}
-});
-// constants
-DynamicAttribute.MATCH = /(.*)(\[[^\]]*\])(.*)/;
-
-// intercept creation of IE7 rules
-StyleSheet.prototype.specialize({
-	createRule: function($selector, $cssText) {
-		var $match;
-		if ($match = $selector.match(DynamicAttribute.MATCH)) {
-			return new DynamicAttribute($selector, $match[1], $match[2], $match[3], $cssText);
-		} else return this.inherit($selector, $cssText);
-	}
-});
-
-}); // addModule

Copied: plog/trunk/js/ie7/ie7-dynamic-attributes.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-dynamic-attributes.js)

Deleted: plog/trunk/js/ie7/ie7-fixed.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-fixed.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-fixed.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-fixed",function(){ie7CSS.addRecalc("position","fixed",_4,"absolute");ie7CSS.addRecalc("background(-attachment)?","[^};]*fixed",_5);var _10=(quirksMode)?"body":"documentElement";var _7=function(){if(body.currentStyle.backgroundAttachment!="fixed"){if(body.currentStyle.backgroundImage=="none"){body.runtimeStyle.backgroundRepeat="no-repeat";body.runtimeStyle.backgroundImage="url("+BLANK_GIF+")";}body.runtimeStyle.backgroundAttachment="fixed"}_7=DUMMY};var _0=createTempElement("img");function _1(f){return _2.exec(String(f))};var _2=new ParseMaster;_2.add(/Left/,"Top");_2.add(/left/,"top");_2.add(/Width/,"Height");_2.add(/width/,"height");_2.add(/right/,"bottom");_2.add(/X/,"Y");function _3(e){return(e)?isFixed(e)||_3(e.parentElement):false};function setExpression(e,p,ex){setTimeout("document.all."+e.uniqueID+".runtimeStyle.setExpression('"+p+"','"+ex+"')",0)};function _5(e){if(register(_5,e,e.currentStyle.backgroundAttachment=="fixed"&&!e.contains(body))){_7();backgroundLeft(e);backgroundTop(e);_9(e)}};function _9(e){_0.src=e.currentStyle.backgroundImage.slice(5,-2);var p=(e.canHaveChildren)?e:e.parentElement;p.appendChild(_0);setOffsetLeft(e);setOffsetTop(e);p.removeChild(_0)};function backgroundLeft(e){e.style.backgroundPositionX=e.currentStyle.backgroundPositionX;if(!_3(e)){var ex="(parseInt(runtimeStyle.offsetLeft)+document."+_10+".scrollLeft)||0";setExpression(e,"backgroundPositionX",ex)}};eval(_1(backgroundLeft));function setOffsetLeft(e){var p=_3(e)?"backgroundPositionX":"offsetLeft";e.runtimeStyle[p]=getOffsetLeft(e,e.style.backgroundPositionX)-e.getBoundingClientRect().left-e.clientLeft+2};eval(_1(setOffsetLeft));function getOffsetLeft(e,p){switch(p){case"left":case"top":return 0;case"right":case"bottom":return viewport.clientWidth-_0.offsetWidth;case"center":return(viewport.clientWidth-_0.offsetWidth)/2;default:if(PERCENT.test(p)){return parseInt((viewport.clientWidth-_0.offsetWidth)*parseFloat(p)/100)}_0.style.left=p;return _0.offsetLeft}};eval(_1(getOffsetLeft));function _4(e){if(register(_4,e,isFixed(e))){setOverrideStyle(e,"position","absolute");setOverrideStyle(e,"left",e.currentStyle.left);setOverrideStyle(e,"top",e.currentStyle.top);_7();if(ie7Layout)ie7Layout.fixRight(e);_8(e)}};function _8(e,r){positionTop(e,r);positionLeft(e,r,true);if(!e.runtimeStyle.autoLeft&&e.currentStyle.marginLeft=="auto"&&e.currentStyle.right!="auto"){var l=viewport.clientWidth-getPixelWidth(e,e.currentStyle.right)-getPixelWidth(e,e.runtimeStyle._12)-e.clientWidth;if(e.currentStyle.marginRight=="auto")l=parseInt(l/2);if(_3(e.offsetParent))e.runtimeStyle.pixelLeft+=l;else e.runtimeStyle.shiftLeft=l}clipWidth(e);clipHeight(e)};function clipWidth(e){if(e.currentStyle.width!="auto"){var r=e.getBoundingClientRect();var w=e.offsetWidth-viewport.clientWidth+r.left-2;if(w>=0)e.runtimeStyle.width=getPixelValue(e,e.currentStyle.width)-w}};eval(_1(clipWidth));function positionLeft(e,r){if(!r&&PERCENT.test(e.currentStyle.width)){e.runtimeStyle.fixWidth=e.currentStyle.width}if(e.runtimeStyle.fixWidth){e.runtimeStyle.width=getPixelWidth(e,e.runtimeStyle.fixWidth)}if(r){if(!e.runtimeStyle.autoLeft)return}else{e.runtimeStyle.shiftLeft=0;e.runtimeStyle._12=e.currentStyle.left;e.runtimeStyle.autoLeft=e.currentStyle.right!="auto"&&e.currentStyle.left=="auto"}e.runtimeStyle.left="";e.runtimeStyle.screenLeft=getScreenLeft(e);e.runtimeStyle.pixelLeft=e.runtimeStyle.screenLeft;if(!r&&!_3(e.offsetParent)){var ex="runtimeStyle.screenLeft+runtimeStyle.shiftLeft+document."+_10+".scrollLeft";setExpression(e,"pixelLeft",ex)}};eval(_1(positionLeft));function getScreenLeft(e){var s=e.offsetLeft,n=1;if(e.runtimeStyle.autoLeft){s=viewport.clientWidth-e.offsetWidth-getPixelWidth(e,e.currentStyle.right)}if(e.currentStyle.marginLeft!="auto"){s-=getPixelWidth(e,e.currentStyle.marginLeft)}while(e=e.offsetParent){if(e.currentStyle.position!="static")n=-1;s+=e.offsetLeft*n}return s};eval(_1(getScreenLeft));function getPixelWidth(e,v){if(PERCENT.test(v))return parseInt(parseFloat(v)/100*viewport.clientWidth);return getPixelValue(e,v)};eval(_1(getPixelWidth));function _11(){for(var i in _5.elements){_9(_5.elements[i])}for(i in _4.elements){_8(_4.elements[i],true)}_6=0};var _6;addResize(function(){if(!_6)_6=setTimeout(_11,0)})});
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-fixed.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-fixed.js)

Deleted: plog/trunk/js/ie7/ie7-graphics.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-graphics.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-graphics.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-graphics",function(){if(appVersion<5.5)return;var A="DXImageTransform.Microsoft.AlphaImageLoader";var F="progid:"+A+"(src='%1',sizingMethod='scale')";var _3=new RegExp((window.IE7_PNG_SUFFIX||"-trans.png")+"$","i");var _0=[];function _2(e){var f=e.filters[A];if(f){f.src=e.src;f.enabled=true}else{e.runtimeStyle.filter=F.replace(/%1/,e.src);_0.push(e)}e.src=BLANK_GIF};function _5(e){e.src=e.pngSrc;e.filters[A].enabled=false};ie7CSS.addFix(/opacity\s*:\s*([\d.]+)/,function(m,o){return"zoom:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity="+((parseFloat(m[o+1])*100)||1)+")"});var B=/background(-image)?\s*:\s*([^\(};]*)url\(([^\)]+)\)([^;}]*)/;ie7CSS.addFix(B,function(m,o){var u=getString(m[o+3]);return _3.test(u)?"filter:"+F.replace(/scale/,"crop").replace(/%1/,u)+";zoom:1;background"+(m[o+1]||"")+":"+(m[o+2]||"")+"none"+(m[o+4]||""):m[o]});if(ie7HTML){ie7HTML.addRecalc("img,input",function(e){if(e.tagName=="INPUT"&&e.type!="image")return;_4(e);addEventHandler(e,"onpropertychange",function(){if(!_1&&event.propertyName=="src"&&e.src.indexOf(BLANK_GIF)==-1)_4(e)})});function _4(e){if(_3.test(e.src)){var i=new Image(e.width,e.height);i.onload=function(){e.width=i.width;e.height=i.height};i.src=e.src;e.pngSrc=e.src;_2(e)}}}var _1=false;addEventHandler(window,"onbeforeprint",function(){_1=true;for(var i=0;i<_0.length;i++)_5(_0[i])});addEventHandler(window,"onafterprint",function(){for(var i=0;i<_0.length;i++)_2(_0[i]);_1=false})});
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-graphics.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-graphics.js)

Deleted: plog/trunk/js/ie7/ie7-html4.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-html4.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-html4.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-html4",function(){if(!isHTML)return;HEADER+="h1{font-size:2em}h2{font-size:1.5em;}h3{font-size:1.17em;}"+"h4{font-size:1em}h5{font-size:.83em}h6{font-size:.67em}";ie7HTML=new(Fix.specialize({init:DUMMY,addFix:function(){this.fixes.push(arguments)},apply:function(){for(var i=0;i<this.fixes.length;i++){var m=cssQuery(this.fixes[i][0]);var f=this.fixes[i][1]||_0;for(var j=0;j<m.length;j++)f(m[j])}},addRecalc:function(){this.recalcs.push(arguments)},recalc:function(){for(var i=0;i<this.recalcs.length;i++){var m=cssQuery(this.recalcs[i][0]);var r=this.recalcs[i][1],e;for(var j=0;(e=m[j]);j++){e=r(e)||e}}}}));ie7HTML.addFix("abbr");var I=/^image/i;var _2=makePath("ie7-object.htc",path);ie7HTML.addRecalc("object",function(e){if(I.test(e.type)){var o=document.createElement("<object type=text/x-scriptlet>");o.style.width=e.currentStyle.width;o.style.height=e.currentStyle.height;o.data=_2;var u=makePath(e.data,getPath(location.href));e.parentNode.replaceChild(o,e);cssQuery.clearCache("object");addTimer(o,"",u);return o}});ie7HTML.addRecalc("label",function(e){if(!e.htmlFor){var f=cssQuery("input,select,textarea",e)[0];if(f){addEventHandler(e,"onclick",function(){f.click()})}}});ie7HTML.addRecalc("button,input",function(e){if(e.tagName=="BUTTON"){var m=e.outerHTML.match(/ value="([^"]*)"/i);e.runtimeStyle.value=(m)?m[1]:""}if(e.type=="submit"){addEventHandler(e,"onclick",function(){e.runtimeStyle.clicked=true;setTimeout("document.all."+e.uniqueID+".runtimeStyle.clicked=false",1)})}});var U=/^(submit|reset|button)$/;ie7HTML.addRecalc("form",function(e){addEventHandler(e,"onsubmit",function(){for(var i=0;i<e.length;i++){if(_1(e[i])){e[i].disabled=true;setTimeout("document.all."+e[i].uniqueID+".disabled=false",1)}else if(e[i].tagName=="BUTTON"&&e[i].type=="submit"){setTimeout("document.all."+e[i].uniqueID+".value='"+e[i].value+"'",1);e[i].value=e[i].runtimeStyle.value}}})});function _1(e){return U.test(e.type)&&!e.disabled&&!e.runtimeStyle.clicked};ie7HTML.addRecalc("img",function(e){if(e.alt&&!e.title)e.title=""});var P=(appVersion<5.5)?"HTML:":"";function _0(e){var f=document.createElement("<"+P+e.outerHTML.slice(1));if(e.outerHTML.slice(-2)!="/>"){var en="</"+e.tagName+">",n;while((n=e.nextSibling)&&n.outerHTML!=en){f.appendChild(n)}if(n)n.removeNode()}e.parentNode.replaceChild(f,e)}});
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-html4.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-html4.js)

Deleted: plog/trunk/js/ie7/ie7-ie5.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-ie5.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-ie5.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-if(appVersion<5.5){ANON="HTML:!";var ap=function(f,o,a){f.apply(o,a)};if(''.replace(/^/,String)){var _0=String.prototype.replace;var _1=function(e,r){var m,n="",s=this;while(s&&(m=e.exec(s))){n+=s.slice(0,m.index)+ap(r,this,m);s=s.slice(m.lastIndex)}return n+s};String.prototype.replace=function(e,r){this.replace=(typeof r=="function")?_1:_0;return this.replace(e,r)}}if(!Function.apply){var APPLY="apply-"+Number(new Date);ap=function(f,o,a){var r;o[APPLY]=f;switch(a.length){case 0:r=o[APPLY]();break;case 1:r=o[APPLY](a[0]);break;case 2:r=o[APPLY](a[0],a[1]);break;case 3:r=o[APPLY](a[0],a[1],a[2]);break;case 4:r=o[APPLY](a[0],a[1],a[2],a[3]);break;default:var aa=[],i=a.length-1;do aa[i]="a["+i+"]";while(i--);eval("r=o[APPLY]("+aa+")")}delete o[APPLY];return r};ICommon.valueOf.prototype.inherit=function(){return ap(arguments.callee.caller.ancestor,this,arguments)}}if(![].push)Array.prototype.push=function(){for(var i=0;i<arguments.length;i++){this[this.length]=arguments[i]}return this.length};if(![].pop)Array.prototype.pop=function(){var i=this[this.length-1];this.length--;return i};if(isHTML){HEADER+="address,blockquote,body,dd,div,dt,fieldset,form,"+"frame,frameset,h1,h2,h3,h4,h5,h6,iframe,noframes,object,p,"+"hr,applet,center,dir,menu,pre,dl,li,ol,ul{display:block}"}}
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-ie5.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-ie5.js)

Deleted: plog/trunk/js/ie7/ie7-layout.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-layout.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-layout.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-layout",function(){ie7Layout=this;this.hasLayout=(appVersion<6)?function(e){return e.clientWidth}:function(e){return e.currentStyle.hasLayout};this.boxSizing=function(e){if(!ie7Layout.hasLayout(e)){e.runtimeStyle.height="0cm";if(e.currentStyle.verticalAlign=="auto")e.runtimeStyle.verticalAlign="top";_1(e)}};function _1(e){if(e.currentStyle.position!="absolute"){collapseMarginTop(e);collapseMarginBottom(e)}};var firstElementChild=cssQuery.valueOf("firstElementChild");var lastElementChild=cssQuery.valueOf("lastElementChild");function collapseMarginTop(e){if(!e.runtimeStyle.marginTop){var f=firstElementChild(e);if(f&&f.currentStyle.styleFloat=="none"){if(e!=viewport){if(ie7Layout.hasLayout(f))collapseMarginTop(f);m=_3(e,e.currentStyle.marginTop);c=_3(f,f.currentStyle.marginTop);if(m<0||c<0){e.runtimeStyle.marginTop=m+c}else{e.runtimeStyle.marginTop=Math.max(c,m)}}f.runtimeStyle.marginTop="0px"}}};eval(String(collapseMarginTop).replace(/Top/g,"Bottom").replace(/first/g,"last"));function _3(e,v){return(v=="auto")?0:getPixelValue(e,v)};var U=/^[.\d][\w%]*$/,A=/^(auto|0cm)$/,N="[.\\d]";function fixWidth(H){fixWidth=function(e,v){if(!e.runtimeStyle.fixedWidth){if(!v)v=e.currentStyle.width;e.runtimeStyle.fixedWidth=(U.test(v))?Math.max(0,getFixedWidth(e,v)):v;e.runtimeStyle.width=e.runtimeStyle.fixedWidth}};function layoutWidth(e){if(!isFixed(e)){var l=e.offsetParent;while(l&&!ie7Layout.hasLayout(l))l=l.offsetParent}return(l||viewport).clientWidth};function getPixelWidth(e,v){if(PERCENT.test(v))return parseInt(parseFloat(v)/100*layoutWidth(e));return getPixelValue(e,v)};var getFixedWidth=(quirksMode)?function(e,v){return getPixelWidth(e,v)+getBorderWidth(e)+getPaddingWidth(e)}:function(e,v){return getPixelWidth(e,v)};function getBorderWidth(e){return e.offsetWidth-e.clientWidth};function getPaddingWidth(e){return getPixelWidth(e,e.currentStyle.paddingLeft)+getPixelWidth(e,e.currentStyle.paddingRight)};eval(String(getPaddingWidth).replace(/padding/g,"margin").replace(/Padding/g,"Margin"));HEADER+="*{minWidth:auto;maxWidth:auto;min-width:auto;max-width:auto}";function minWidth(e){if(e.currentStyle["min-width"]!=null){e.style.minWidth=e.currentStyle["min-width"]}if(register(minWidth,e,e.currentStyle.minWidth!="auto")){fixWidth(e);if(!H)ie7Layout.boxSizing(e);resizeWidth(e)}};eval(String(minWidth).replace(/min/g,"max"));ie7Layout.minWidth=minWidth;ie7Layout.maxWidth=maxWidth;function resizeWidth(e){var r=e.getBoundingClientRect();var w=r.right-r.left;if(e.currentStyle.minWidth!="auto"&&w<=getFixedWidth(e,e.currentStyle.minWidth)){e.runtimeStyle.width=getFixedWidth(e,e.currentStyle.minWidth)}else if(e.currentStyle.maxWidth!="auto"&&w>=getFixedWidth(e,e.currentStyle.maxWidth)){e.runtimeStyle.width=getFixedWidth(e,e.currentStyle.maxWidth)}else{e.runtimeStyle.width=e.runtimeStyle.fixedWidth||"auto"}};function fixRight(e){if(register(fixRight,e,/^(fixed|absolute)$/.test(e.currentStyle.position)&&getDefinedStyle(e,"left")!="auto"&&getDefinedStyle(e,"right")!="auto"&&A.test(getDefinedStyle(e,"width")))){resizeRight(e);ie7Layout.boxSizing(e)}};ie7Layout.fixRight=fixRight;function resizeRight(e){var l=getPixelWidth(e,e.runtimeStyle._4||e.currentStyle.left);var w=layoutWidth(e)-getPixelWidth(e,e.currentStyle.right)-l-getMarginWidth(e);if(parseInt(e.runtimeStyle.width)==w)return;e.runtimeStyle.width="";if(isFixed(e)||H||e.offsetWidth<w){if(!quirksMode)w-=getBorderWidth(e)+getPaddingWidth(e);if(w<0)w=0;e.runtimeStyle.fixedWidth=w;e.runtimeStyle.width=w}};var _2=documentElement.clientWidth;addResize(function(){var i,w=(_2<documentElement.clientWidth);_2=documentElement.clientWidth;for(i in minWidth.elements){var e=minWidth.elements[i];var f=(parseInt(e.runtimeStyle.width)==getFixedWidth(e,e.currentStyle.minWidth));if(w&&f)e.runtimeStyle.width="";if(w==f)resizeWidth(e)}for(i in maxWidth.elements){var e=maxWidth.elements[i];var f=(parseInt(e.runtimeStyle.width)==getFixedWidth(e,e.currentStyle.maxWidth));if(!w&&f)e.runtimeStyle.width="";if(w!=f)resizeWidth(e)}for(i in fixRight.elements)resizeRight(fixRight.elements[i])});ie7CSS.addRecalc("width",N,(quirksMode&&window.IE7_BOX_MODEL!==false)?function(e){if(!PERCENT.test(e.currentStyle.width))fixWidth(e);_1(e)}:_1);ie7CSS.addRecalc("min-width",N,minWidth);ie7CSS.addRecalc("max-width",N,maxWidth);ie7CSS.addRecalc("right",N,fixRight)};ie7CSS.addRecalc("border-spacing",N,function(e){if(e.currentStyle.borderCollapse!="collapse"){e.cellSpacing=getPixelValue(e,e.currentStyle["border-spacing"])}});ie7CSS.addRecalc("box-sizing","content-box",this.boxSizing);var _0=new ParseMaster;_0.add(/Width/,"Height");_0.add(/width/,"height");_0.add(/Left/,"Top");_0.add(/left/,"top");_0.add(/Right/,"Bottom");_0.add(/right/,"bottom");eval(_0.exec(String(fixWidth)));fixWidth();fixHeight(true)});
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-layout.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-layout.js)

Deleted: plog/trunk/js/ie7/ie7-load.htc
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-load.htc	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-load.htc	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1 +0,0 @@
-<component lightweight="true"> <attach event="ondocumentready" onevent="IE7.init()"/></component>
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-load.htc (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-load.htc)

Deleted: plog/trunk/js/ie7/ie7-object.htc
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-object.htc	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-object.htc	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,12 +0,0 @@
-<html>
-<!--
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
--->
-<head>
-<style type="text/css">body{margin:0}</style>
-<script type="text/javascript">public_description=new function(){var l=false;this.ie7_anon=true;this.load=function(o,c,u){if(l)return;l=true;function _0(t,p){t.style[p]=o.currentStyle[p]};var p=o;while(p&&p.currentStyle.backgroundColor=="transparent"){p=p.parentElement}if(p)body.style.backgroundColor=p.currentStyle.backgroundColor;_0(body,"backgroundImage");_0(body,"backgroundRepeat");_0(body,"backgroundPositionX");_0(body,"backgroundPositionY");_0(body,"fontFamily");_0(body,"fontSize");_0(wrapper,"paddingTop");_0(wrapper,"paddingRight");_0(wrapper,"paddingBottom");_0(wrapper,"paddingLeft");image.width=o.clientWidth;image.height=o.clientHeight;if(/MSIE 5.0/.test(navigator.userAgent)){image.src=u}else{image.src="blank.gif";image.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+u+"',sizingMethod='scale')"}o.style.width=body.scrollWidth;o.style.height=body.scrollHeight}};</script>
-</head>
-<body id="body"><div id="wrapper"><img id="image"></div></body>
-</html>

Copied: plog/trunk/js/ie7/ie7-object.htc (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-object.htc)

Deleted: plog/trunk/js/ie7/ie7-overflow.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-overflow.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-overflow.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,114 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-overflow", function() {
-
-/* ---------------------------------------------------------------------
-
-  This module alters the structure of the document.
-  It may adversely affect other CSS rules. Be warned.
-
---------------------------------------------------------------------- */
-
-// Thanks to Mark 'Tarquin' Wilton-Jones and Rainer Åhlfors
-
-var $STYLE = {
-	backgroundColor: "transparent",
-	backgroundImage: "none",
-	backgroundPositionX: null,
-	backgroundPositionY: null,
-	backgroundRepeat: null,
-	borderTopWidth: 0,
-	borderRightWidth: 0,
-	borderBottomWidth: 0,
-	borderLeftStyle: "none",
-	borderTopStyle: "none",
-	borderRightStyle: "none",
-	borderBottomStyle: "none",
-	borderLeftWidth: 0,
-	height: null,
-	marginTop: 0,
-	marginBottom: 0,
-	marginRight: 0,
-	marginLeft: 0,
-	width: "100%"
-};
-
-function _copyStyle($propertyName, $source, $target) {
-	$target.style[$propertyName] = $source.currentStyle[$propertyName];
-	if ($STYLE[$propertyName] != null) {
-		$source.runtimeStyle[$propertyName] = $STYLE[$propertyName];
-	}
-};
-
-ie7CSS.addRecalc("overflow", "visible", function($element) {
-	// don't do this again
-	if ($element.parentNode.ie7_wrapper) return;
-
-	// if max-height is applied, makes sure it gets applied first
-	if (ie7Layout && $element.currentStyle["max-height"] != "auto") {
-		ie7Layout.maxHeight($element);
-	}
-
-	if ($element.currentStyle.marginLeft == "auto") $element.style.marginLeft = 0;
-	if ($element.currentStyle.marginRight == "auto") $element.style.marginRight = 0;
-
-	var $wrapper = document.createElement(ANON);
-	$wrapper.ie7_wrapper = true;
-	for (var $propertyName in $STYLE) _copyStyle($propertyName, $element, $wrapper);
-	$wrapper.style.display = "block";
-	$wrapper.style.position = "relative";
-	$element.runtimeStyle.position = "absolute";
-	$element.parentNode.insertBefore($wrapper, $element);
-	$wrapper.appendChild($element);
-});
-
-// -----------------------------------------------------------------------
-// fix cssQuery
-// -----------------------------------------------------------------------
-
-cssQuery.addModule("ie7-overflow", function() {
-
-function _wrappedElement($element) {
-	return ($element && $element.ie7_wrapper) ? $element.firstChild : $element;
-};
-
-var _previousElementSibling = previousElementSibling;
-previousElementSibling = function($element) {
-	return _wrappedElement(_previousElementSibling($element));
-};
-
-var _nextElementSibling = nextElementSibling;
-nextElementSibling = function($element) {
-	return _wrappedElement(_nextElementSibling($element));
-};
-
-selectors[" "] = function($results, $from, $tagName, $namespace) {
-	// loop through current selection
-	var $element, i, j;
-	for (i = 0; i < $from.length; i++) {
-		// get descendants
-		var $subset = getElementsByTagName($from[i], $tagName, $namespace);
-		// loop through descendants and add to results selection
-		for (j = 0; ($element = _wrappedElement($subset[j])); j++) {
-			if (thisElement($element) && (!$namespace || compareNamespace($element, $namespace)))
-				$results.push($element);
-		}
-	}
-};
-
-selectors[">"] = function($results, $from, $tagName, $namespace) {
-	var $element, i, j;
-	for (i = 0; i < $from.length; i++) {
-		var $subset = childElements($from[i]);
-		for (j = 0; ($element = _wrappedElement($subset[j])); j++) {
-			if (compareTagName($element, $tagName, $namespace)) $results.push($element);
-		}
-	}
-};
-
-}); // cssQuery
-
-}); // ie7-overflow

Copied: plog/trunk/js/ie7/ie7-overflow.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-overflow.js)

Deleted: plog/trunk/js/ie7/ie7-quirks.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-quirks.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-quirks.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-quirks",function(){if(quirksMode){var F="xx-small,x-small,small,medium,large,x-large,xx-large".split(",");for(var i=0;i<F.length;i++){F[F[i]]=F[i-1]||"0.67em"}ie7CSS.addFix(new RegExp("(font(-size)?\\s*:\\s*)([\\w\\-\\.]+)"),function(m,o){return m[o+1]+(F[m[o+3]]||m[o+3])});if(appVersion<6){var N=/^\-/,L=/(em|ex)$/i;var EM=/em$/i,EX=/ex$/i;function _2(e){var s=1;_0.style.fontFamily=e.currentStyle.fontFamily;_0.style.lineHeight=e.currentStyle.lineHeight;while(e!=body){var f=e.currentStyle["ie7-font-size"];if(f){if(EM.test(f))s*=parseFloat(f);else if(PERCENT.test(f))s*=(parseFloat(f)/100);else if(EX.test(f))s*=(parseFloat(f)/2);else{_0.style.fontSize=f;return 1}}e=e.parentElement}return s};var _0=createTempElement();getPixelValue=function(e,v){if(PIXEL.test(v||0))return parseInt(v||0);var scale=N.test(v)?-1:1;if(L.test(v))scale*=_2(e);_0.style.width=(scale<0)?v.slice(1):v;body.appendChild(_0);v=scale*_0.offsetWidth;_0.removeNode();return parseInt(v)};HEADER=HEADER.replace(/(font(-size)?\s*:\s*([^\s;}\/]*))/gi,"ie7-font-size:$3;$1");ie7CSS.addFix(/cursor\s*:\s*pointer/,"cursor:hand");ie7CSS.addFix(/display\s*:\s*list-item/,"display:block")}function _1(e){if(appVersion<5.5&&ie7Layout)ie7Layout.boxSizing(e.parentElement);var m=e.parentElement.offsetWidth-e.offsetWidth;var a=(e.currentStyle["ie7-margin"]&&e.currentStyle.marginRight=="auto")||e.currentStyle["ie7-margin-right"]=="auto";switch(e.parentElement.currentStyle.textAlign){case"right":m=(a)?parseInt(m/2):0;e.runtimeStyle.marginRight=parseInt(m)+"px";break;case"center":if(a)m=0;default:if(a)m=parseInt(m/2);e.runtimeStyle.marginLeft=parseInt(m)+"px"}};ie7CSS.addRecalc("margin(-left|-right)?","[^};]*auto",function(e){if(register(_1,e,e.parentElement&&e.currentStyle.display=="block"&&e.currentStyle.marginLeft=="auto"&&e.currentStyle.position!="absolute")){_1(e)}});addResize(function(){for(var i in _1.elements){e=_1.elements[i];e.runtimeStyle.marginLeft=e.runtimeStyle.marginRight="";_1(e)}})}});
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-quirks.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-quirks.js)

Deleted: plog/trunk/js/ie7/ie7-recalc.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-recalc.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-recalc.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,102 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-recalc", function() {
-
-/* ---------------------------------------------------------------------
-
-  This allows refreshing of IE7 style rules. If you modify the DOM
-  you can update IE7 by calling document.recalc().
-
-  This module is still in development.
-  There may be memory problems if document.recalc() is
-  called excessively as currently I am not detatching old
-  event handlers when the document is refreshed.
-  Let me know if there are any problems.
-
-  -dean
-
---------------------------------------------------------------------- */
-
-// remove all IE7 classes from an element
-$CLASSES = /\sie7_class\d+/g;
-function _removeClasses($element) {
-	$element.className = $element.className.replace($CLASSES, "");
-};
-
-// clear IE7 assigned styles
-function _removeStyle($element) {
-	$element.runtimeStyle.cssText = "";
-};
-
-ie7CSS.specialize({
-	// store for elements that have style properties calculated
-	elements: {},
-	// clear IE7 classes and styles
-	reset: function() {
-		// reset IE7 classes here
-		var $elements = this.elements;
-		for (var i in $elements) _removeStyle($elements[i]);
-		this.elements = {};
-		// reset runtimeStyle here
-		if (this.Rule) {
-			var $elements = this.Rule.elements;
-			for (var i in $elements) _removeClasses($elements[i]);
-			this.Rule.elements = {};
-		}
-	},
-	addRecalc: function($propertyName, $test, $handler, $replacement) {
-		// call the ancestor method to add a wrapped recalc method
-		this.inherit($propertyName, $test, function($element) {
-			// execute the original recalc method
-			$handler($element);
-			// store a reference to this element so we can clear its style later
-			ie7CSS.elements[$element.uniqueID] = $element;
-		}, $replacement);
-	},
-	recalc: function() {
-		// clear IE7 styles and classes
-		this.reset();
-		// execute the ancestor method to perform recalculations
-		this.inherit();
-	}
-});
-
-if (ie7CSS.Rule) {
-	// store all elements with an IE7 class assigned
-	ie7CSS.Rule.elements = {};
-
-	ie7CSS.Rule.prototype.specialize({
-		add: function($element) {
-			// execute the ancestor "add" method
-			this.inherit($element);
-			// store a reference to this element so we can clear its classes later
-			ie7CSS.Rule.elements[$element.uniqueID] = $element;
-		}
-	});
-}
-
-if (isHTML && ie7HTML) {
-	ie7HTML.specialize({
-		elements: {},
-		addRecalc: function($selector, $handler) {
-			// call the ancestor method to add a wrapped recalc method
-			this.inherit($selector, function($element) {
-				if (!ie7HTML.elements[$element.uniqueID]) {
-					// execute the original recalc method
-					$handler($element);
-					// store a reference to this element so that
-					//  it is not "fixed" again
-					ie7HTML.elements[$element.uniqueID] = $element;
-				}
-			});
-		}
-	});
-}
-
-// allow refreshing of IE7 fixes
-document.recalc = recalc;
-
-});

Copied: plog/trunk/js/ie7/ie7-recalc.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-recalc.js)

Deleted: plog/trunk/js/ie7/ie7-squish.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-squish.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-squish.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,45 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-squish", function() {
-
-/* ---------------------------------------------------------------------
-
-  Squish some IE bugs!
-
-  Some of these bug fixes may have adverse effects so they are
-  not included in the standard library. Add your own if you want.
-
-  -dean
-
---------------------------------------------------------------------- */
-
-// @NOTE: ie7Layout.boxSizing is the same as the "Holly Hack"
-
-// "doubled margin" bug
-// http://www.positioniseverything.net/explorer/doubled-margin.html
-ie7CSS.addFix(/float\s*:\s*(left|right)/, "display:inline;$1");
-
-if (ie7Layout) {
-	// "peekaboo" bug
-	// http://www.positioniseverything.net/explorer/peekaboo.html
-	if (appVersion >= 6) ie7CSS.addRecalc("float", "left|right", function($element) {
-		ie7Layout.boxSizing($element.parentElement);
-		// "doubled margin" bug
-		$element.runtimeStyle.display = "inline";
-	});
-
-	// "unscrollable content" bug
-	// http://www.positioniseverything.net/explorer/unscrollable.html
-	ie7CSS.addRecalc("position", "absolute|fixed", function($element) {
-		if ($element.offsetParent && $element.offsetParent.currentStyle.position == "relative")
-			ie7Layout.boxSizing($element.offsetParent);
-	});
-}
-
-//# // get rid of Microsoft's pesky image toolbar
-//# if (!complete) document.write('<meta http-equiv="imagetoolbar" content="no">');
-
-});

Copied: plog/trunk/js/ie7/ie7-squish.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-squish.js)

Deleted: plog/trunk/js/ie7/ie7-standard-p.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-standard-p.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-standard-p.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,7 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-eval(function(p,a,c,k,e,d){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--)d[e(c)]=k[c]||e(c);k=[function(e){return d[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}('z(!25.1H)13 9(){2B{25.1H=y;7 2N=y.23=13 39;y.1j=9(){J"1H 4o 0.8 (a2)"};7 5N=/5N/.12(2x.4f.7v);7 2X=(5N)?9(m){25.2X(1H+"\\n\\n"+m)}:2N;7 1Z=a1.1Z.1d(/a0 (\\d\\.\\d)/)[1];7 2n=18.9Z!="9Y";z(/9X/.12(2x.4f.7v)||1Z<5||!/^9W/.12(18.29.2q))J;7 2Z=18.5Q=="2Z";7 2m=(3t 18.5D=="9V")?!/\\.9U$/i.12(4f.9T):9S(18.5D!="7j 7i");7 1X,1N;7 2L=":20{1a-20:20}:33{1a-20:33}"+(2m?"":"*{6I:0}");7 29=18.29,1U,1S,27=18.27;7 4v="!";7 37={};7 2E=1A;1H.23=9(n,s){z(!37[n]){z(2E)1l("s="+22(s));37[n]=13 s()}};7 R=/^[\\w\\.]+[^:]*$/;9 28(h,p){z(R.12(h))h=(p||"")+h;J h};9 3L(h,p){h=28(h,p);J h.1u(0,h.75("/")+1)};7 s=18.7u[18.7u.11-1];2B{1l(s.7d)}2l(i){}7 2D=3L(s.1v);7 2u;2B{2u=13 9R(((1Z<6)?"5d":"9Q")+".9P")}2l(i){}7 5M={};9 3Q(h,p){2B{h=28(h,p);2u.9O("9N",h,1A);2u.9M();z(2u.7t==0||2u.7t==9L){5M[h]=2u.9K}}2l(i){2X("4r [1]: 5G 9J 9I "+h)}5O{J 5M[h]||""}};7 47=28("9H.9G",2D);9 2a(1c){z(1c!=2f){1c.1P=2c.21.1P;1c.1e=2c.21.1e}J 1c};2a.1e=9(p,c){z(!p)p={};z(!c)c=p.1p;z(c=={}.1p)c=13 39("y.1P()");c.1s=13 39("J y");c.1s.21=13 y.1s;c.1s.21.1e(p);c.21=13 c.1s;c.21.1p=c;c.4q=y;c.1e=1o.5H;J c};2a.1s=13 39("J y");2a.1s.21={1p:2a,1P:9(){J 1o.5H.9F.4q.2r(y,1o)},1e:9(1c){z(y==y.1p.21&&y.1p.1e){J y.1p.1s.21.1e(1c)}Z(7 i 2b 1c){30(i){1m"1p":1m"1j":1m"1s":5E}z(3t 1c[i]=="9"&&1c[i]!=y[i]){1c[i].4q=y[i]}y[i]=1c[i]}z(1c.9E!=y.1j&&1c.1j!={}.1j){1c.1j.4q=y.1j;y.1j=1c.1j}J y},1j:9(){J"[9D "+(y.1p.4u||"9C")+"]"}};9 2c(){};y.2c=2a.1e({1p:2c});3q y.2c;7 5p=2c.1e({1p:9(){y.3M=[];y.1O=[]},1G:2N});z(1Z<5.5)1l(3Q("1a-9B.5R",2D));7 5L=1A;1H.1G=9(){2B{z(5L)J;5L=2Z=1r;1U=18.1U;1S=(2n)?1U:29;z(2m&&1X)1X.2r();14.2r();1x();2X("2E 9A")}2l(e){2X("4r [2]: "+e.5P)}};7 1O=[];9 1q(r){1O.1h(r)};9 1x(){16.5o();z(2m&&1X)1X.1x();14.1x();Z(7 i=0;i<1O.11;i++)1O[i]()};9 3F(){7 E=0,R=1,L=2;7 G=/\\(/g,S=/\\$\\d/,I=/^\\$\\d+$/,T=/([\'"])\\1\\+(.*)\\+\\1\\1$/,7m=/\\\\./g,Q=/\'/,7s=/\\3P[^\\3P]*\\3P/g;9 D(m,o){J"\\3P"+m[o]+"\\3P"};y.19=9(e,r){z(!r)r=D;7 l=(5K(22(e)).1d(G)||"").11+1;z(3t r=="9z"&&S.12(r)){z(I.12(r)){r=24(r.1u(1))-1}1i{7 i=l;7 q=Q.12(5K(r))?\'"\':"\'";1M(i)r=r.36("$"+i--).2p(q+"+a[o+"+i+"]+"+q);r=13 39("a,o","J"+q+r.17(T,"$1")+q)}}7r(e||"/^$/",r,l)};y.2S=9(s){J 7n(7o(s,y.5J).17(13 1Q(2W,y.5I?"5u":"g"),7p),y.5J).17(7s,"")};y.6V=9(){2W.11=0};7 2W=[];7 7q=9(){J"("+22(y[E]).1u(1,-1)+")"};2W.1j=9(){J y.2p("|")};9 7r(){1o.1j=7q;2W[2W.11]=1o}9 7p(){z(!1o[0])J"";7 i=1,j=0,p;1M(p=2W[j++]){z(1o[i]){7 r=p[R];30(3t r){1m"9":J r(1o,i);1m"9y":J 1o[r+i];6p:J r}}1i i+=p[L]}};7 4p=[];9 7o(s,e){J e?s.17(13 1Q("\\\\"+e+"(.)","g"),9(m,c){4p[4p.11]=c;J e}):s};9 7n(s,e){7 i=0;J e?s.17(13 1Q("\\\\"+e,"g"),9(){J e+(4p[i++]||"")}):s};9 5K(s){J s.17(7m,"")}};2c.1e({1p:3F,5I:1A,5J:""});7 3N=3F.1e({5I:1r});7 16=9(){7 4o="2.0 (9x)";7 C=/\\s*,\\s*/;7 16=9(s,1F){2B{7 m=[];7 u=1o.5H.5z&&!1F;7 b=(1F)?(1F.1p==9w)?1F:[1F]:[18];7 2i=3Y(s).36(C),i;Z(i=0;i<2i.11;i++){s=5A(2i[i]);z(4H&&s.1u(0,3).2p("")==" *#"){s=s.1u(2);1F=7g([],b,s[1])}1i 1F=b;7 j=0,t,f,a,c="";1M(j<s.11){t=s[j++];f=s[j++];c+=t+f;a="";z(s[j]=="("){1M(s[j++]!=")")a+=s[j];a=a.1u(0,-1);c+="("+a+")"}1F=(u&&2h[c])?2h[c]:5n(1F,t,f,a);z(u)2h[c]=1F}m=m.4A(1F)}3q 16.5G;J m}2l(e){16.5G=e;J[]}};16.1j=9(){J"9 16() {\\n  [4o "+4o+"]\\n}"};7 2h={};16.5z=1A;16.5o=9(s){z(s){s=5A(s).2p("");3q 2h[s]}1i 2h={}};7 37={};7 2E=1A;16.23=9(n,s){z(2E)1l("s="+22(s));37[n]=13 s()};16.1s=9(c){J c?1l(c):y};7 1R={};7 1J={};7 2Q=[];1R[" "]=9(r,f,t,n){7 e,i,j;Z(i=0;i<f.11;i++){7 s=4n(f[i],t,n);Z(j=0;(e=s[j]);j++){z(2C(e)&&5B(e,n))r.1h(e)}}};1R["#"]=9(r,f,i){7 e,j;Z(j=0;(e=f[j]);j++)z(e.1n==i)r.1h(e)};1R["."]=9(r,f,c){c=13 1Q("(^|\\\\s)"+c+"(\\\\s|$)");7 e,i;Z(i=0;(e=f[i]);i++)z(c.12(e.1I))r.1h(e)};1R[":"]=9(r,f,p,a){7 t=1J[p],e,i;z(t)Z(i=0;(e=f[i]);i++)z(t(e,a))r.1h(e)};1J["20"]=9(e){7 d=5C(e);z(d.5F)Z(7 i=0;i<d.5F.11;i++){z(d.5F[i]==e)J 1r}};1J["33"]=9(e){};7 2C=9(e){J(e&&e.7e==1&&e.2T!="!")?e:2f};7 4K=9(e){1M(e&&(e=e.9v)&&!2C(e))5E;J e};7 3Z=9(e){1M(e&&(e=e.6P)&&!2C(e))5E;J e};7 3K=9(e){J 2C(e.7l)||3Z(e.7l)};7 5k=9(e){J 2C(e.7k)||4K(e.7k)};7 6m=9(e){7 c=[];e=3K(e);1M(e){c.1h(e);e=3Z(e)}J c};7 4H=1r;7 7h=9(e){J 5C(e).5D=="7j 7i"};7 5C=9(e){J e.9u||e.18};7 4n=9(e,t){J(t=="*"&&e.1V)?e.1V:e.4n(t)};7 4L=9(e,t,n){z(t=="*")J 2C(e);z(!5B(e,n))J 1A;z(!7h(e))t=t.9t();J e.2T==t};7 5B=9(e,n){J!n||(n=="*")||(e.9s==n)};7 9r=9(e){J e.9q};9 7g(r,f,1n){7 m,i,j;Z(i=0;i<f.11;i++){z(m=f[i].1V.9p(1n)){z(m.11==2f)r.1h(m);1i Z(j=0;j<m.11;j++)r.1h(m[j])}}J r};7 N=/\\|/;9 5n(1F,t,f,a){z(N.12(f)){f=f.36(N);a=f[0];f=f[1]}7 r=[];z(1R[t]){1R[t](r,1F,f,a)}J r};7 S=/^[^\\s>+~]/;7 7f=/[\\s#.:>+~()@]|[^\\s#.:>+~()@]+/g;9 5A(s){z(S.12(s))s=" "+s;J s.1d(7f)||[]};7 W=/\\s*([\\s>+~(),]|^|$)\\s*/g;7 I=/([\\s>+~,]|[^(]\\+|^)([#.:@])/g;7 3Y=9(s){J s.17(W,"$1").17(I,"$1*$2")};7 2g={1j:9(){J"\'"},1d:/^(\'[^\']*\')|("[^"]*")$/,12:9(s){J y.1d.12(s)},19:9(s){J y.12(s)?s:y+s+y},3r:9(s){J y.12(s)?s.1u(1,-1):s}};7 2v=9(t){J 2g.3r(t)};7 E=/([\\/()[\\]?{}|*+-])/g;9 4G(s){J s.17(E,"\\\\$1")};2E=1r;J 16}();16.5z=1r;16.23("1a",9(){2C=9(e){J(e&&e.7e==1&&e.2T!="!"&&!e.2I)?e:2f}});16.1s("2v=1o[1]",3W);7 14=13(5p.1e({5s:13 3N,5x:[],2O:"",2U:"",1G:9(){y.5y();y.4k()},4k:9(m){14.1W.1b=2L+y.2O+y.2U},2r:9(m){7 3O=18.4n("1w"),s;Z(7 i=3O.11-1;(s=3O[i]);i--){z(!s.3h&&!s.1a){y.5x.1h(s.7d)}}y.4k();13 3w("2O");y.7b()},3f:9(e,r){y.5s.19(e,r)},1x:9(){7 R=/7c\\d+/g;7 s=2L.1d(/[{,]/g).11;7 3O=s+y.2O.1b.1d(/\\{/g).11;7 2P=y.1W.2s,r;7 4m,c,4l,e,i,j,k,1n;Z(i=s;i<3O;i++){r=2P[i];z(r&&(4m=r.1w.1b.1d(R))){4l=16(r.4E);z(4l.11)Z(j=0;j<4m.11;j++){1n=4m[j];c=14.1O[1n.1u(10)][2];Z(k=0;(e=4l[k]);k++){z(e.O[1n])c(e)}}}}},1q:9(p,t,h,r){t=13 1Q("([{;\\\\s])"+p+"\\\\s*:\\\\s*"+t+"[^;}]*");7 i=y.1O.11;z(r)r=p+":"+r;y.3f(t,9(m,o){J(r?m[o+1]+r:m[o])+";1a-"+m[o].1u(1)+";7c"+i+":1"});y.1O.1h(1o);J i},2v:9(s){J s.1b||s.c},5y:9(){z(2Z||!2m)18.5y();1i 18.9o("<1w 1a=1r></1w>");y.1W=27[27.11-1];y.1W.1a=1r;y.1W.1b=2L},7b:9(){7 1W,i;Z(i=0;i<27.11;i++){1W=27[i];z(!1W.1a){1W.c=1W.1b;1W.1b=""}}}}));9 3w(m){y.2V=m;y.3l();14[m]=y;14.4k()};2a.1e({1p:3w,1j:9(){J"@2V "+y.2V+"{"+y.1b+"}"},1b:"",1x:2N,3l:9(){y.2v();y.34();y.1b=4C(y.1b)},2v:9(){7 79=[].4A(14.5x);7 M=/@2V\\s+([^{]*)\\{([^@]+\\})\\s*\\}/5u;7 A=/\\9n\\b|^$/i,S=/\\9m\\b/i,P=/\\9l\\b/i;9 78(c,m){4j.v=m;J c.17(M,4j)};9 4j(9k,m,c){m=5w(m);30(m){1m"2O":1m"2U":z(m!=4j.v)J"";1m"1V":J c}J""};9 5w(m){z(A.12(m))J"1V";1i z(S.12(m))J(P.12(m))?"1V":"2O";1i z(P.12(m))J"2U"};7 5v=y;9 5t(s,p,m,l){7 c="";z(!l){m=5w(s.2V);l=0}z(m=="1V"||m==5v.2V){z(l<3){Z(7 i=0;i<s.7a.11;i++){c+=5t(s.7a[i],3L(s.2t,p),m,l+1)}}c+=74(s.2t?77(s,p):79.71()||"");c=78(c,5v.2V)}J c};7 f={};9 77(s,p){7 u=28(s.2t,p);z(f[u])J"";f[u]=(s.3h)?"":76(14.2v(s,p),3L(s.2t,p));J f[u]};7 U=/(3X\\s*\\(\\s*[\'"]?)([\\w\\.]+[^:\\)]*[\'"]?\\))/5u;9 76(c,p){J c.17(U,"$1"+p.1u(0,p.75("/")+1)+"$2")};Z(7 i=0;i<27.11;i++){z(!27[i].3h&&!27[i].1a){y.1b+=5t(27[i])}}},34:9(){y.1b=14.5s.2S(y.1b)},1x:2N});7 2g=16.1s("2g");7 4i=[];9 74(c){J 2o.2S(3m.2S(c))};9 5r(m,o){J 2g+(4i.1h(m[o])-1)+2g};9 3W(v){J 2g.12(v)?1l(4i[1l(v)]):v};7 2o=13 3N;2o.19(/\\/\\*[^*]*\\*+([^\\/][^*]*\\*+)*\\//);2o.19(/\'[^\']*\'/,5r);2o.19(/"[^"]*"/,5r);2o.19(/\\s+/," ");2o.19(/@(9j|9i)[^;\\n]+[;\\n]|<!\\-\\-|\\-\\->/);7 3m=13 3N;3m.19(/\\\\\'/,"\\\\9h");3m.19(/\\\\"/,"\\\\9g");7 5q=13 3N;5q.19(/\'(\\d+)\'/,73);9 4C(c){J 5q.2S(c)};9 73(m,o){J 4i[m[o+1]]};7 4h=[];9 4M(h){z(2n)1q(h);1t(25,"9f",h)};9 1t(e,t,h){e.72(t,h);4h.1h(1o)};9 70(e,t,h){2B{e.9e(t,h)}2l(i){}};25.72("9d",9(){1M(4h.11){7 h=4h.71();70(h[0],h[1],h[2])}});9 1Y(h,e,c){z(!h.1C)h.1C={};z(c)h.1C[e.2q]=e;1i 3q h.1C[e.2q];J c};1t(25,"6x",9(){z(!14.2U)13 3w("2U");14.2U.1x()});7 6Z=/^\\d+(9c)?$/i;7 3b=/^\\d+%$/;7 3a=9(e,v){z(6Z.12(v))J 24(v);7 s=e.1w.1g;7 r=e.K.1g;e.K.1g=e.O.1g;e.1w.1g=v||0;v=e.1w.43;e.1w.1g=s;e.K.1g=r;J v};9 6v(t){7 e=18.3T(t||"1c");e.1w.1b="1z:3C;6J:0;4B:9b;5e:3u;9a:99(0 0 0 0);1g:-98";e.2I=1r;J e};7 4g="1a-";9 3D(e){J e.O["1a-1z"]=="2y"};9 4d(e,p){J e.O[4g+p]||e.O[p]};9 46(e,p,v){z(e.O[4g+p]==2f){e.K[4g+p]=e.O[p]}e.K[p]=v};9 4y(o,c,u){7 t=97(9(){2B{z(!o.3l)J;o.3l(o,c,u);6Y(t)}2l(i){6Y(t)}},10)};1H.23("1a-96",9(){z(!2m)J;2L+="95{3k-3j:94}93{3k-3j:1.92;}91{3k-3j:1.90;}"+"8Z{3k-3j:8Y}8X{3k-3j:.8W}8V{3k-3j:.8U}";1X=13(5p.1e({1G:1G,3f:9(){y.3M.1h(1o)},2r:9(){Z(7 i=0;i<y.3M.11;i++){7 m=16(y.3M[i][0]);7 f=y.3M[i][1]||6Q;Z(7 j=0;j<m.11;j++)f(m[j])}},1q:9(){y.1O.1h(1o)},1x:9(){Z(7 i=0;i<y.1O.11;i++){7 m=16(y.1O[i][0]);7 r=y.1O[i][1],e;Z(7 j=0;(e=m[j]);j++){e=r(e)||e}}}}));9 1G(){y.3f("8T");7 I=/^5a/i;7 6X=28("1a-1c.4s",2D);y.1q("1c",9(e){z(I.12(e.2J)){7 o=18.3T("<1c 2J=61/x-60>");o.1w.15=e.O.15;o.1w.2d=e.O.2d;o.4z=6X;7 u=28(e.4z,3L(4f.2t));e.4J.6N(o,e);16.5o("1c");4y(o,"",u);J o}});y.1q("8S",9(e){z(!e.6k){7 f=16("5b,5n,8R",e)[0];z(f){1t(e,"6W",9(){f.8Q()})}}});y.1q("6U,5b",9(e){z(e.2T=="6T"){7 m=e.3x.1d(/ 3i="([^"]*)"/i);e.K.3i=(m)?m[1]:""}z(e.2J=="5m"){1t(e,"6W",9(){e.K.5l=1r;2Y("18.1V."+e.2q+".K.5l=1A",1)})}});7 U=/^(5m|6V|6U)$/;y.1q("8P",9(e){1t(e,"8O",9(){Z(7 i=0;i<e.11;i++){z(6S(e[i])){e[i].3h=1r;2Y("18.1V."+e[i].2q+".3h=1A",1)}1i z(e[i].2T=="6T"&&e[i].2J=="5m"){2Y("18.1V."+e[i].2q+".3i=\'"+e[i].3i+"\'",1);e[i].3i=e[i].K.3i}}})});9 6S(e){J U.12(e.2J)&&!e.3h&&!e.K.5l};y.1q("55",9(e){z(e.8N&&!e.6R)e.6R=""})};7 P=(1Z<5.5)?"8M:":"";9 6Q(e){7 f=18.3T("<"+P+e.3x.1u(1));z(e.3x.1u(-2)!="/>"){7 6O="</"+e.2T+">",n;1M((n=e.6P)&&n.3x!=6O){f.6q(n)}z(n)n.8L()}e.4J.6N(f,e)}});1H.23("1a-8K",9(){1N=y;y.3J=(1Z<6)?9(e){J e.1E}:9(e){J e.O.3J};y.49=9(e){z(!1N.3J(e)){e.K.2d="6L";z(e.O.6M=="1k")e.K.6M="2x";4a(e)}};9 4a(e){z(e.O.1z!="3C"){4e(e);8J(e)}};7 3K=16.1s("3K");7 5k=16.1s("5k");9 4e(e){z(!e.K.3g){7 f=3K(e);z(f&&f.O.8I=="3u"){z(e!=1S){z(1N.3J(f))4e(f);m=5j(e,e.O.3g);c=5j(f,f.O.3g);z(m<0||c<0){e.K.3g=m+c}1i{e.K.3g=6K.3G(c,m)}}f.K.3g="8H"}}};1l(22(4e).17(/54/g,"6F").17(/4F/g,"8G"));9 5j(e,v){J(v=="1k")?0:3a(e,v)};7 U=/^[.\\d][\\w%]*$/,A=/^(1k|6L)$/,N="[.\\\\d]";9 2j(H){2j=9(e,v){z(!e.K.3I){z(!v)v=e.O.15;e.K.3I=(U.12(v))?6K.3G(0,2A(e,v)):v;e.K.15=e.K.3I}};9 5i(e){z(!3D(e)){7 l=e.3B;1M(l&&!1N.3J(l))l=l.3B}J(l||1S).1E};9 1D(e,v){z(3b.12(v))J 24(41(v)/3s*5i(e));J 3a(e,v)};7 2A=(2n)?9(e,v){J 1D(e,v)+5h(e)+4c(e)}:9(e,v){J 1D(e,v)};9 5h(e){J e.2R-e.1E};9 4c(e){J 1D(e,e.O.8F)+1D(e,e.O.8E)};1l(22(4c).17(/6J/g,"6I").17(/8D/g,"8C"));2L+="*{1B:1k;26:1k;3H-15:1k;3G-15:1k}";9 1B(e){z(e.O["3H-15"]!=2f){e.1w.1B=e.O["3H-15"]}z(1Y(1B,e,e.O.1B!="1k")){2j(e);z(!H)1N.49(e);4b(e)}};1l(22(1B).17(/3H/g,"3G"));1N.1B=1B;1N.26=26;9 4b(e){7 r=e.4X();7 w=r.1T-r.1g;z(e.O.1B!="1k"&&w<=2A(e,e.O.1B)){e.K.15=2A(e,e.O.1B)}1i z(e.O.26!="1k"&&w>=2A(e,e.O.26)){e.K.15=2A(e,e.O.26)}1i{e.K.15=e.K.3I||"1k"}};9 2w(e){z(1Y(2w,e,/^(2y|3C)$/.12(e.O.1z)&&4d(e,"1g")!="1k"&&4d(e,"1T")!="1k"&&A.12(4d(e,"15")))){5f(e);1N.49(e)}};1N.2w=2w;9 5f(e){7 l=1D(e,e.K.4V||e.O.1g);7 w=5i(e)-1D(e,e.O.1T)-l-8B(e);z(24(e.K.15)==w)J;e.K.15="";z(3D(e)||H||e.2R<w){z(!2n)w-=5h(e)+4c(e);z(w<0)w=0;e.K.3I=w;e.K.15=w}};7 5g=29.1E;4M(9(){7 i,w=(5g<29.1E);5g=29.1E;Z(i 2b 1B.1C){7 e=1B.1C[i];7 f=(24(e.K.15)==2A(e,e.O.1B));z(w&&f)e.K.15="";z(w==f)4b(e)}Z(i 2b 26.1C){7 e=26.1C[i];7 f=(24(e.K.15)==2A(e,e.O.26));z(!w&&f)e.K.15="";z(w!=f)4b(e)}Z(i 2b 2w.1C)5f(2w.1C[i])});14.1q("15",N,(2n&&25.8A!==1A)?9(e){z(!3b.12(e.O.15))2j(e);4a(e)}:4a);14.1q("3H-15",N,1B);14.1q("3G-15",N,26);14.1q("1T",N,2w)};14.1q("5e-6H",N,9(e){z(e.O.8z!="8y"){e.8x=3a(e,e.O["5e-6H"])}});14.1q("6G-8w","2e-6G",y.49);7 1y=13 3F;1y.19(/6t/,"6s");1y.19(/15/,"2d");1y.19(/6u/,"54");1y.19(/1g/,"2x");1y.19(/8v/,"6F");1y.19(/1T/,"4Z");1l(1y.2S(22(2j)));2j();8u(1r)});1H.23("1a-8t",9(){z(1Z<5.5)J;7 A="6B.5d.8s";7 F="6C:"+A+"(1v=\'%1\',8r=\'6z\')";7 58=13 1Q((25.8q||"-8p.8o")+"$","i");7 3e=[];9 57(e){7 f=e.6E[A];z(f){f.1v=e.1v;f.6D=1r}1i{e.K.5c=F.17(/%1/,e.1v);3e.1h(e)}e.1v=47};9 6w(e){e.1v=e.4t;e.6E[A].6D=1A};14.3f(/6A\\s*:\\s*([\\d.]+)/,9(m,o){J"6y:1;5c:6C:6B.5d.8n(6A="+((41(m[o+1])*3s)||1)+")"});7 B=/56(-5a)?\\s*:\\s*([^\\(};]*)3X\\(([^\\)]+)\\)([^;}]*)/;14.3f(B,9(m,o){7 u=3W(m[o+3]);J 58.12(u)?"5c:"+F.17(/6z/,"8m").17(/%1/,u)+";6y:1;56"+(m[o+1]||"")+":"+(m[o+2]||"")+"3u"+(m[o+4]||""):m[o]});z(1X){1X.1q("55,5b",9(e){z(e.2T=="8l"&&e.2J!="5a")J;59(e);1t(e,"8k",9(){z(!48&&5U.8j=="1v"&&e.1v.8i(47)==-1)59(e)})});9 59(e){z(58.12(e.1v)){7 i=13 8h(e.15,e.2d);i.8g=9(){e.15=i.15;e.2d=i.2d};i.1v=e.1v;e.4t=e.1v;57(e)}}}7 48=1A;1t(25,"6x",9(){48=1r;Z(7 i=0;i<3e.11;i++)6w(3e[i])});1t(25,"8f",9(){Z(7 i=0;i<3e.11;i++)57(3e[i]);48=1A})});1H.23("1a-2y",9(){14.1q("1z","2y",3y,"3C");14.1q("56(-8e)?","[^};]*2y",3z);7 4S=(2n)?"1U":"29";7 45=9(){z(1U.O.53!="2y"){z(1U.O.52=="3u"){1U.K.8d="8c-8b";1U.K.52="3X("+47+")";}1U.K.53="2y"}45=2N};7 2k=6v("55");9 1y(f){J 2z.2S(22(f))};7 2z=13 3F;2z.19(/6u/,"54");2z.19(/1g/,"2x");2z.19(/6t/,"6s");2z.19(/15/,"2d");2z.19(/1T/,"4Z");2z.19(/X/,"Y");9 3d(e){J(e)?3D(e)||3d(e.6r):1A};9 44(e,p,3c){2Y("18.1V."+e.2q+".K.44(\'"+p+"\',\'"+3c+"\')",0)};9 3z(e){z(1Y(3z,e,e.O.53=="2y"&&!e.5V(1U))){45();51(e);8a(e);4O(e)}};9 4O(e){2k.1v=e.O.52.1u(5,-2);7 p=(e.65)?e:e.6r;p.6q(2k);50(e);89(e);p.88(2k)};9 51(e){e.1w.3E=e.O.3E;z(!3d(e)){7 3c="(24(K.3A)+18."+4S+".6o)||0";44(e,"3E",3c)}};1l(1y(51));9 50(e){7 p=3d(e)?"3E":"3A";e.K[p]=4Y(e,e.1w.3E)-e.4X().1g-e.87+2};1l(1y(50));9 4Y(e,p){30(p){1m"1g":1m"2x":J 0;1m"1T":1m"4Z":J 1S.1E-2k.2R;1m"86":J(1S.1E-2k.2R)/2;6p:z(3b.12(p)){J 24((1S.1E-2k.2R)*41(p)/3s)}2k.1w.1g=p;J 2k.3A}};1l(1y(4Y));9 3y(e){z(1Y(3y,e,3D(e))){46(e,"1z","3C");46(e,"1g",e.O.1g);46(e,"2x",e.O.2x);45();z(1N)1N.2w(e);4N(e)}};9 4N(e,r){85(e,r);4R(e,r,1r);z(!e.K.42&&e.O.4Q=="1k"&&e.O.1T!="1k"){7 l=1S.1E-1D(e,e.O.1T)-1D(e,e.K.4V)-e.1E;z(e.O.84=="1k")l=24(l/2);z(3d(e.3B))e.K.43+=l;1i e.K.4T=l}4W(e);83(e)};9 4W(e){z(e.O.15!="1k"){7 r=e.4X();7 w=e.2R-1S.1E+r.1g-2;z(w>=0)e.K.15=3a(e,e.O.15)-w}};1l(1y(4W));9 4R(e,r){z(!r&&3b.12(e.O.15)){e.K.2j=e.O.15}z(e.K.2j){e.K.15=1D(e,e.K.2j)}z(r){z(!e.K.42)J}1i{e.K.4T=0;e.K.4V=e.O.1g;e.K.42=e.O.1T!="1k"&&e.O.1g=="1k"}e.K.1g="";e.K.4U=4P(e);e.K.43=e.K.4U;z(!r&&!3d(e.3B)){7 3c="K.4U+K.4T+18."+4S+".6o";44(e,"43",3c)}};1l(1y(4R));9 4P(e){7 s=e.3A,n=1;z(e.K.42){s=1S.1E-e.2R-1D(e,e.O.1T)}z(e.O.4Q!="1k"){s-=1D(e,e.O.4Q)}1M(e=e.3B){z(e.O.1z!="82")n=-1;s+=e.3A*n}J s};1l(1y(4P));9 1D(e,v){z(3b.12(v))J 24(41(v)/3s*1S.1E);J 3a(e,v)};1l(1y(1D));9 6n(){Z(7 i 2b 3z.1C){4O(3z.1C[i])}Z(i 2b 3y.1C){4N(3y.1C[i],1r)}40=0};7 40;4M(9(){z(!40)40=2Y(6n,0)})});1H.23("1a-3n-1R",9(){16.23("6i-6h",9(){1R[">"]=9(r,f,t,n){7 e,i,j;Z(i=0;i<f.11;i++){7 s=6m(f[i]);Z(j=0;(e=s[j]);j++)z(4L(e,t,n))r.1h(e)}};1R["+"]=9(r,f,t,n){Z(7 i=0;i<f.11;i++){7 e=3Z(f[i]);z(e&&4L(e,t,n))r.1h(e)}};1R["@"]=9(r,f,a){7 t=2Q[a].12;7 e,i;Z(i=0;(e=f[i]);i++)z(t(e))r.1h(e)};1J["4F-81"]=9(e){J!4K(e)};1J["4I"]=9(e,c){c=13 1Q("^"+c,"i");1M(e&&!e.2F("4I"))e=e.4J;J e&&c.12(e.2F("4I"))};7 1f={};1f.3v="@";1f.38={};1f.1d=/\\[([\\w-]+)\\s*(\\W?=)?\\s*([^\\]]*)\\]/g;1f.17=9(m,a,c,v){7 k=1f.3v+m;z(!2Q[k]){a=1f.6l(a,c||"",v||"");2Q[k]=a;2Q.1h(a)}J 2Q[k].1n};1f.34=9(s){J s.17(y.1d,y.17)};1f.6l=9(p,t,v){7 a={};a.1n=1f.3v+2Q.11;a.4u=p;t=y.38[t];t=t?t(1f.2F(p),2v(v)):1A;a.12=13 39("e","J "+t);J a};1f.2F=9(n){30(n.5T()){1m"1n":J"e.1n";1m"3R":J"e.1I";1m"Z":J"e.6k";1m"2t":z(4H){J"22((e.3x.1d(/2t=\\"?([^\\\\s\\"]*)\\"?/)||[])[1]||\'\')"}}J"e.2F(\'"+n+"\')"};y.1f=1f;1f.38[""]=9(a){J a};1f.38["="]=9(a,v){J a+"=="+2g.19(v)};1f.38["~="]=9(a,v){J"/(^|\\\\s)"+4G(v)+"(\\\\s|$)/.12("+a+")"};1f.38["|="]=9(a,v){J"/^"+4G(v)+"(-|$)/.12("+a+")"};7 6j=3Y;3Y=9(s){J 6j(1f.34(s))}});7 3n=16.1s("37[\'6i-6h\']");7 H=/a(#[\\w-]+)?(\\.[\\w-]+)?:(5Z|5W)/i;7 6f=/\\s*\\{\\s*/,6g=/\\s*\\}\\s*/;7 F=/(.*)(:4F-(80|7Z))/;3w.21.1e({34:9(){y.1P();7 o=14.2s.11;7 2P=y.1b.36(6g),r;7 2i,c,i,j;Z(i=0;i<2P.11;i++){r=2P[i].36(6f);2i=r[0].36(",");z(c=r[1]){Z(j=0;j<2i.11;j++){2i[j]=y.6e(2i[j],c)}}2P[i]=2i.2p("\\n")}y.1b=2P.2p("\\n");y.2s=14.2s.1u(o)},1x:9(){7 r,i;Z(i=0;(r=y.2s[i]);i++)r.1x()},6e:9(s,c){z(14.6d.12(s)){7 m;z(m=s.1d(1L.35)){J 13 1L(m[1],m[2],c)}1i z(m=s.1d(2M.35)){z(!2m||!H.12(m)){J 13 2M(s,m[1],m[2],m[3],c)}}1i J 13 1K(s,c)}J s+" {"+c+"}"}});14.1e({2s:[],1J:16.1s("1J"),32:{},2h:16.1s("2h"),1K:1K,2M:2M,1L:1L,2H:2H,2r:9(){7 p=y.1J+"|6c|6b|"+y.32;p=p.17(/(20|33)\\|/g,"");y.6d=13 1Q("[>+~\\[]|([:.])[\\\\w-()]+\\\\1|:("+p+")");1K.69=13 1Q("[^\\\\s(]+\\\\s*[+~]|@\\\\d+|:("+p+")","g");2M.35=13 1Q("(.*):("+y.32+")(.*)");1L.35=/(.*):(6c|6b).*/;y.1P()},1x:9(){y.2O.1x();y.1P()},2v:9(s,p){J 2u?(3Q(s.2t,p)||s.1b):y.1P(s)}});9 1K(s,c){y.1n=14.2s.11;y.1I=1K.3v+y.1n;s=(s).1d(F)||s||"*";y.3V=s[1]||s;y.4E=1K.6a(y.3V)+"."+y.1I+(s[2]||"");y.1b=c;y.35=13 1Q("\\\\s"+y.1I+"(\\\\s|$)","g");14.2s.1h(y);y.1G()};2a.1e({1p:1K,1j:9(){J y.4E+" {"+y.1b+"}"},1G:2N,19:9(e){e.1I+=" "+y.1I},3r:9(e){e.1I=e.1I.17(y.35,"$1")},1x:9(){7 m=14.2h[" *."+y.1I]=16(y.3V);Z(i=0;i<m.11;i++)y.19(m[i])}});1K.3v="5S";1K.68=/>/g;1K.6a=9(s){s=3n.1f.34(s);J s.17(y.69,"").17(y.68," ")};9 2M(s,a,d,t,c){y.67=a||"*";y.66=14.32[d];y.4D=t;y.1P(s,c)};1K.1e({1p:2M,1x:9(){7 m=16(y.67);Z(7 i=0;i<m.11;i++){7 t=(y.4D)?16(y.4D,m[i]):[m[i]];z(t.11)y.66.2r(m[i],t,y)}}});7 A=/^3U/,V=/\'\\d+\'|3U\\([\\w-]+\\)/g;7 U=/^3X\\s*\\(\\s*([^)]*)\\)$/;7 M={7Y:"7X",7W:"7V",7U:"7T",7S:"7R"};7 64=28("1a-2e.4s",2D)+"?";2L+=".2I{4B:3u}";9 1L(s,p,c){y.1z=p;7 2K=c.1d(1L.63),m,e;z(2K){2K=2K[1];z(m=2K.1d(V)){Z(7 i=0;(e=m[i]);i++){m[i]=A.12(e)?{3U:e.1u(5,-1)}:3W(e)}2K=m}}y.2e=2K;y.1P(s,4C(c))};1K.1e({1p:1L,1j:9(){J"."+y.1I+"{4B:7Q}"},1G:9(){y.1d=16(y.3V);Z(7 i=0;i<y.1d.11;i++){7 r=y.1d[i].K;z(!r[y.1z])r[y.1z]={1b:""};r[y.1z].1b+=";"+y.1b;z(y.2e!=2f)r[y.1z].2e=y.2e}},1x:9(){z(y.2e==2f)J;Z(7 i=0;i<y.1d.11;i++){7 t=y.1d[i];7 g=t.K[y.1z];7 4w=M[y.1z+7P(t.65)];z(g){7 c=[].4A(g.2e||"");Z(7 j=0;j<c.11;j++){z(3t c[j]=="1c"){c[j]=t.2F(c[j].3U)}}c=c.2p("");7 u=c.1d(U);7 h=1L[u?"62":"4v"].17(/%1/,y.1I);7 4x=g.1b;z(u){7 p=18.3T(h);t.7O(4w,p);p.4z=64;4y(p,4x,2g.3r(u[1]))}1i{h=h.17(/%2/,4x).17(/%3/,c);t.7N(4w,h)}t.K[y.1z]=2f}}}});1L.63=/2e\\s*:\\s*([^;]*)(;|$)/;1L.62="<1c 3R=\'2I %1\' 2I 15=3s% 2d=0 2J=61/x-60>";1L.4v="<1a:! 3R=\'2I %1\' 2I 1w=\'%2\'>%3</1a:!>";9 2H(n,a){y.4u=n;y.2r=a;y.2G={};14.32[n]=y};2c.1e({1p:2H,1Y:9(i){7 c=i[2];i.1n=c.1n+i[0].2q;z(!y.2G[i.1n]){7 t=i[1],j;Z(j=0;j<t.11;j++)c.19(t[j]);y.2G[i.1n]=i}},31:9(i){z(y.2G[i.1n]){7 c=i[2];7 t=i[1],j;Z(j=0;j<t.11;j++)c.3r(t[j]);3q y.2G[i.1n]}}});14.1J.1j=9(){7 t=[],p;Z(p 2b y){z(y[p].11>1)p+="\\\\([^)]*\\\\)";t.1h(p)}J t.2p("|")};14.1J["20"]=9(e){J e.O["1a-20"]=="20"};14.1J["33"]=9(e){J e.O["1a-20"]=="33"};7 5Y=(1Z<5.5)?"7M":"7L";7 5X=(1Z<5.5)?"7K":"7J";14.32.1j=14.1J.1j;7 3o=13 2H("5Z",9(e){7 i=1o;1t(e,5Y,9(){3o.1Y(i)});1t(e,5X,9(){3o.31(i)})});7 3p=13 2H("7I",9(e){7 i=1o;1t(e,"7H",9(){3p.31(i);3p.1Y(i)});1t(e,"7G",9(){3p.31(i)});z(e==18.7F){3p.1Y(i)}});7 3S=13 2H("5W",9(e){7 i=1o;1t(e,"7E",9(){3S.1Y(i)})});1t(18,"7D",9(){7 i=3S.2G,j;Z(j 2b i)3S.31(i[j]);i=3o.2G;Z(j 2b i)z(!i[j][0].5V(5U.7C))3o.31(i[j])});2a(3n.1f);3n.1f.1e({2F:9(n){30(n.5T()){1m"3R":J"e.1I.17(/\\\\b\\\\s*5S\\\\d+/g,\'\')";1m"1v":J"(e.4t||e.1v)"}J y.1P(n)}});2o.19(/::/,":");3m.19(/\\\\([\\7B-7A-F]{1,4})/,9(m,o){m=m[o+1];J"\\\\u"+"7z".1u(m.11)+m})});2E=1r;z(2n)1l(3Q("1a-7y.5R",2D));14.1G();z(2m&&1X)1X.1G();z(2Z)1H.1G();1i{29.7x(28("1a-3l.4s",2D));1t(18,"7w",9(){z(18.5Q=="2Z")2Y(1H.1G,0)})}}2l(e){2X("4r [0]: "+e.5P)}5O{}};',62,623,'|||||||var||function|||||||||||||||||||||||||this|if||||||||||return|runtimeStyle||||currentStyle|||||||||||for||length|test|new|ie7CSS|width|cssQuery|replace|document|add|ie7|cssText|object|match|specialize|AttributeSelector|left|push|else|toString|auto|eval|case|id|arguments|constructor|addRecalc|true|valueOf|addEventHandler|slice|src|style|recalc|_0|position|false|minWidth|elements|getPixelWidth|clientWidth|fr|init|IE7|className|pseudoClasses|Rule|PseudoElement|while|ie7Layout|recalcs|inherit|RegExp|selectors|viewport|right|body|all|styleSheet|ie7HTML|register|appVersion|link|prototype|String|addModule|parseInt|window|maxWidth|styleSheets|makePath|documentElement|ICommon|in|Common|height|content|null|Quote|cache|se|fixWidth|_1|catch|isHTML|quirksMode|encoder|join|uniqueID|apply|rules|href|httpRequest|getText|fixRight|top|fixed|_2|getFixedWidth|try|thisElement|path|loaded|getAttribute|instances|DynamicPseudoClass|ie7_anon|type|co|HEADER|DynamicRule|DUMMY|screen|ru|attributeSelectors|offsetWidth|exec|tagName|print|media|_3|alert|setTimeout|complete|switch|unregister|dynamicPseudoClasses|visited|parse|MATCH|split|modules|tests|Function|getPixelValue|PERCENT|ex|_4|_5|addFix|marginTop|disabled|value|size|font|load|safeString|css2|_6|_7|delete|remove|100|typeof|none|PREFIX|StyleSheet|outerHTML|_8|_9|offsetLeft|offsetParent|absolute|isFixed|backgroundPositionX|ParseMaster|max|min|fixedWidth|hasLayout|firstElementChild|getPath|fixes|Parser|st|001|loadFile|class|_10|createElement|attr|selector|getString|url|parseSelector|nextElementSibling|_11|parseFloat|autoLeft|pixelLeft|setExpression|_12|setOverrideStyle|BLANK_GIF|_13|boxSizing|_14|resizeWidth|getPaddingWidth|getDefinedStyle|collapseMarginTop|location|_15|_16|_17|_18|refresh|el|ca|getElementsByTagName|version|_19|ancestor|Error|htc|pngSrc|name|ANON|po|cs|addTimer|data|concat|display|_20|target|selectorText|first|regEscape|isMSIE|lang|parentNode|previousElementSibling|compareTagName|addResize|_21|_22|getScreenLeft|marginLeft|positionLeft|_23|shiftLeft|screenLeft|_24|clipWidth|getBoundingClientRect|getOffsetLeft|bottom|setOffsetLeft|backgroundLeft|backgroundImage|backgroundAttachment|Top|img|background|_25|_26|_27|image|input|filter|Microsoft|border|resizeRight|_28|getBorderWidth|layoutWidth|_29|lastElementChild|clicked|submit|select|clearCache|Fix|decoder|_30|parser|_31|gi|self|_32|styles|createStyleSheet|caching|_33|compareNamespace|getDocument|mimeType|continue|links|error|callee|ignoreCase|escapeChar|_34|_35|_36|ie7_debug|finally|description|readyState|js|ie7_class|toLowerCase|event|contains|active|_37|_38|hover|scriptlet|text|OBJECT|CONTENT|_39|canHaveChildren|dynamicPseudoClass|attach|CHILD|COMPLEX|simple|after|before|UNKNOWN|createRule|B1|B2|level2|css|_40|htmlFor|create|childElements|_41|scrollLeft|default|appendChild|parentElement|Height|Width|Left|createTempElement|_42|onbeforeprint|zoom|scale|opacity|DXImageTransform|progid|enabled|filters|Bottom|box|spacing|margin|padding|Math|0cm|verticalAlign|replaceChild|en|nextSibling|_43|title|_44|BUTTON|button|reset|onclick|_45|clearInterval|PIXEL|removeEventHandler|pop|attachEvent|_46|_47|lastIndexOf|_48|_49|_50|_51|imports|trash|ie7_recalc|innerHTML|nodeType|ST|_52|isXML|Document|XML|lastChild|firstChild|ES|_53|_54|_55|_56|_57|DE|status|scripts|search|onreadystatechange|addBehavior|quirks|0000|fA|da|srcElement|onmouseup|onmousedown|activeElement|onblur|onfocus|focus|onmouseleave|onmouseout|onmouseenter|onmouseover|insertAdjacentHTML|insertAdjacentElement|Number|inline|beforeEnd|after1|afterEnd|after0|afterBegin|before1|beforeBegin|before0|letter|line|child|static|clipHeight|marginRight|positionTop|center|clientLeft|removeChild|setOffsetTop|backgroundTop|repeat|no|backgroundRepeat|attachment|onafterprint|onload|Image|indexOf|propertyName|onpropertychange|INPUT|crop|Alpha|png|trans|IE7_PNG_SUFFIX|sizingMethod|AlphaImageLoader|graphics|fixHeight|Right|sizing|cellSpacing|collapse|borderCollapse|IE7_BOX_MODEL|getMarginWidth|Margin|Padding|paddingRight|paddingLeft|last|0px|styleFloat|collapseMarginBottom|layout|removeNode|HTML|alt|onsubmit|form|click|textarea|label|abbr|67em|h6|83em|h5|1em|h4|17em|h3|5em|h2|2em|h1|html4|setInterval|9999|rect|clip|block|px|onunload|detachEvent|onresize|x22|x27|import|namespace|ma|bprint|bscreen|ball|write|item|innerText|getTextContent|scopeName|toUpperCase|ownerDocument|previousSibling|Array|beta|number|string|successfully|ie5|Object|common|toStrng|caller|gif|blank|file|loading|responseText|200|send|GET|open|XMLHTTP|Msxml2|ActiveXObject|Boolean|pathname|xml|unknown|ms_|ie7_off|CSS1Compat|compatMode|MSIE|navigator|alpha'.split('|'),0,{}))
-/* compressed with http://dean.edwards.name/packer/ */
\ No newline at end of file

Copied: plog/trunk/js/ie7/ie7-standard-p.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-standard-p.js)

Deleted: plog/trunk/js/ie7/ie7-xml-extras.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/ie7-xml-extras.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/ie7-xml-extras.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,101 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-// modelled after: http://www.mozilla.org/xmlextras/
-
-function XMLHttpRequest() {
-
-	/* this is a simple wrapper for microsoft's activex object */
-
-	// IE6 has a better version
-	var $LIB = /MSIE 6/.test(navigator.userAgent) ? "Msxml2" : "Microsoft";
-
-	// because it's a wrapper, we'll make a clear distinction in code
-	//  between the wrapper (public) and the object being wrapped (private)
-	var _private = new ActiveXObject($LIB + ".XMLHTTP");
-	var _public = this;
-
-	// default property values
-	var _defaults = {
-		readyState: 0,
-		responseXML: null,
-		responseText: "",
-		status: 0,
-		statusText: ""
-	};
-
-	// update property values
-	function _update() {
-		for (var i in _defaults) {
-			_public[i] = (typeof _private[i] == "unknown") ? _defaults[i] : _private[i];
-		}
-	};
-
-	// handle a change in state
-	function _onreadystatechange() {
-		// refresh properties
-		_update();
-		// call the public event handler (if it's set)
-		if (typeof _public.onreadystatechange == "function") {
-			_public.onreadystatechange();
-		}
-	};
-
-	// public interface
-	_public.abort = function() {
-		_private.abort();
-	};
-	_public.getAllResponseHeaders = function() {
-		return _private.getAllResponseHeaders();
-	};
-	_public.getResponseHeader = function($header) {
-		return _private.getResponseHeader($header);
-	};
-	_public.openRequest = function($method, $url, $async, $user, $password) {
-		_private.open($method, $url, $async, $user, $password);
-		// need to update this here for some reason
-		_private.onreadystatechange = _onreadystatechange;
-	};
-	_public.open = _public.openRequest;
-	_public.send = function($body) {
-		_private.send($body);
-	};
-	_public.setRequestHeader = function($header, $value) {
-		_private.setRequestHeader($header, $value);
-	};
-
-	// initialise attributes
-	_update();
-};
-XMLHttpRequest.prototype = {
-	toString: function() {return "[object XMLHttpRequest]"},
-	// not supported
-	overrideMimeType: new Function,
-	channel: null
-};
-
-function DOMParser() {/* empty constructor */};
-DOMParser.prototype = {
-	toString: function() {return "[object DOMParser]"},
-	parseFromString: function($str, $contentType) {
-		var $xmlDocument = new ActiveXObject("Microsoft.XMLDOM");
-		$xmlDocument.loadXML($str);
-		return $xmlDocument;
-	},
-	// not supported
-	parseFromStream: new Function,
-	baseURI: ""
-};
-
-function XMLSerializer() {/* empty constructor */};
-XMLSerializer.prototype = {
-	toString: function() {return "[object XMLSerializer]"},
-	serializeToString: function($root) {
-		return $root.xml || $root.outerHTML;
-	},
-	// not supported
-	serializeToStream: new Function
-};

Copied: plog/trunk/js/ie7/ie7-xml-extras.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7-xml-extras.js)

Deleted: plog/trunk/js/ie7/ie7.gif
===================================================================
(Binary files differ)

Copied: plog/trunk/js/ie7/ie7.gif (from rev 2358, plog/branches/plog-1.0.2/js/ie7/ie7.gif)


Property changes on: plog/trunk/js/ie7/ie7.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Copied: plog/trunk/js/ie7/src (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src)

Deleted: plog/trunk/js/ie7/src/README.txt
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/README.txt	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/README.txt	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,34 +0,0 @@
-Installation
-------------
-
-Follow these simple instructions to get IE7 working immediately on your server:
-
- * download the latest IE7 ZIP file (https://sourceforge.net/project/showfiles.php?group_id=109983&package_id=119707)
-
- * extract the contents to a directory on your server (keep the folder names used in the ZIP)
-
- * you will now have an IE7 directory on your server
-
- * include the IE7 JavaScript library in the page you wish to test
-
-   <!-- compliance patch for microsoft browsers -->
-   <!--[if lt IE 7]><script src="/ie7/ie7-standard-p.js" type="text/javascript"></script><![endif]-->
-
- * make sure this also points to the same directory
-
- * open the page in your web browser
-
- * the page should now be IE7 enabled.
-
- * if you are using the PNG solution then be aware that it operates on files
-   names "something-trans.png"
-
- * see this page for more configuration and usage options:
-   http://dean.edwards.name/IE7/usage/
-
-You may extract the contents of the ZIP file to your hard disk if you do not have access to a web server.
-
-
-Enjoy ;-)
-
-Dean Edwards, 23rd May 2005

Copied: plog/trunk/js/ie7/src/README.txt (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/README.txt)

Deleted: plog/trunk/js/ie7/src/blank.gif
===================================================================
(Binary files differ)

Copied: plog/trunk/js/ie7/src/blank.gif (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/blank.gif)


Property changes on: plog/trunk/js/ie7/src/blank.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: plog/trunk/js/ie7/src/ie7-content.htc
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-content.htc	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-content.htc	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,67 +0,0 @@
-<html>
-<!--
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
--->
-<head>
-<object id="dummy" width="0" height="0"></object>
-<base id="base">
-<style type="text/css">html,body,img{margin:0;}img{vertical-align:top}#dummy{display:inline}</style>
-<script type="text/javascript">
-public_description = new function() {
-var $loaded = false;
-this.ie7_anon = true;
-this.load = function($object, $cssText, $url) {
-	// stop this method being called more than once
-	if ($loaded) return;
-	$loaded = true;
-
-	// paths are realtive to the containing page
-	base.href = $object.document.URL;
-	// use IE's style object to format the cssText
-	dummy.style.cssText = $cssText;
-
-	var _parent = $object.parentElement;
-	var _inline = Boolean(dummy.currentStyle.display == "inline");
-
-	// resize the parent <object> according to the size of content
-	function $resize() {
-		$object.runtimeStyle.width = (_inline) ? image.offsetWidth : "100%";
-		$object.runtimeStyle.height = body.offsetHeight;
-	};
-
-	image.onreadystatechange = function(){
-		if (this.readyState == "complete") _applyStyle();
-	};
-	image.src = $url;
-
-	function _applyStyle() {
-		// copy css settings of the parent of <object>
-		function copy($propertyName) {
-		try {
-			body.style[$propertyName] = _parent.currentStyle[$propertyName];
-		} catch ($ignore) {}};
-		for (var j in body.currentStyle) copy(j);
-		body.style.width = "";
-		body.style.height = "";
-		body.style.border = "none";
-		body.style.padding = "0";
-		body.style.margin = "0";
-		body.style.textIndent = "";
-		body.style.position = "static";
-		// determine underlying background colour
-		while (_parent && _parent.currentStyle.backgroundColor == "transparent") {
-			_parent = _parent.parentElement;
-		}
-		if (_parent) document.body.style.backgroundColor = _parent.currentStyle.backgroundColor;
-		body.runtimeStyle.cssText = $cssText;
-		body.runtimeStyle.margin = "0";
-		if (_inline) body.runtimeStyle.width = "";
-		$resize();
-	};
-}};
-</script>
-</head>
-<body><span id="body"><img id="image"></span></body>
-</html>

Copied: plog/trunk/js/ie7/src/ie7-content.htc (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-content.htc)

Deleted: plog/trunk/js/ie7/src/ie7-core.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-core.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-core.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,1155 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-if (!window.IE7) new function() {
-try {
-// -----------------------------------------------------------------------
-// globals
-// -----------------------------------------------------------------------
-window.IE7 = this;
-// in case of error...
-var DUMMY = this.addModule = new Function;
-// IE7 version info
-this.toString = function(){return "IE7 version 0.8 (alpha)"};
-// error reporting
-var ie7_debug = /ie7_debug/.test(top.location.search);
-var alert = (ie7_debug) ? function($message){window.alert(IE7+"\n\n"+$message)} : DUMMY;
-// IE version info
-var appVersion = navigator.appVersion.match(/MSIE (\d\.\d)/)[1];
-var quirksMode = document.compatMode != "CSS1Compat";
-// IE7 can be turned "off"
-if (/ie7_off/.test(top.location.search) || appVersion < 5 ||
-	!/^ms_/.test(document.documentElement.uniqueID)) return;
-// if using the favelet then the document has already loaded
-var complete = document.readyState == "complete";
-// assume html unless explicitly defined
-var isHTML = (typeof document.mimeType == "unknown") ?
-	!/\.xml$/i.test(location.pathname) :
-	Boolean(document.mimeType != "XML Document");
-// another global
-var ie7HTML, ie7Layout; // loaded separately
-var HEADER = ":link{ie7-link:link}:visited{ie7-link:visited}" + (isHTML ? "" : "*{margin:0}");
-// handy
-var documentElement = document.documentElement, body, viewport, styleSheets = document.styleSheets;
-var ANON = "!";
-// -----------------------------------------------------------------------
-// external
-// -----------------------------------------------------------------------
-
-// cache for the various modules that make up IE7.
-//  modules are stored as functions. these are executed
-//  after the style sheet text has been loaded.
-// storing the modules as functions means that we avoid
-//  name clashes with other modules.
-var modules = {};
-var loaded = false;
-IE7.addModule = function($name, $script) {
-	if (!modules[$name]) {
-		if (loaded) eval("$script=" + String($script));
-		modules[$name] = new $script();
-	}
-};
-
-var $RELATIVE = /^[\w\.]+[^:]*$/;
-function makePath($href, $path) {
-	if ($RELATIVE.test($href)) $href = ($path || "") + $href;
-	return $href;
-};
-
-function getPath($href, $path) {
-	$href = makePath($href, $path);
-	return $href.slice(0, $href.lastIndexOf("/") + 1);
-};
-
-// get the path to this script
-var $script = document.scripts[document.scripts.length - 1];
-// create global variables from the inner text of the IE7 script
-try {
-	eval($script.innerHTML);
-} catch ($ignore) {
-	// ignore errors
-}
-var path = getPath($script.src);
-// we'll use microsoft's http request object to load external files
-var httpRequest;
-try {
-	httpRequest = new ActiveXObject(((appVersion < 6) ? "Microsoft" : "Msxml2") + ".XMLHTTP");
-} catch ($ignore) {
-	// ActiveX disabled
-}
-var _fileCache = {};
-function loadFile($href, $path) {
-try {
-	$href = makePath($href, $path);
-	// easy to load a file huh?
-	httpRequest.open("GET", $href, false);
-	httpRequest.send();
-	if (httpRequest.status == 0 || httpRequest.status == 200) {
-		_fileCache[$href] = httpRequest.responseText;
-	}
-} catch ($ignore) {
-	alert("Error [1]: error loading file " + $href);
-} finally {
-	return _fileCache[$href] || "";
-}};
-
-// a small transparent image used as a placeholder
-var BLANK_GIF = makePath("blank.gif", path);
-
-// -----------------------------------------------------------------------
-// OO support
-// -----------------------------------------------------------------------
-
-/*    ---   (require) /common/src?common.js       ---    */
-/*
-	common, version 1.0.1 (2005/05/15) x4
-	Copyright 2005, Dean Edwards
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-// this function may be used to cast any javascript object
-//  to a common object
-function ICommon(object) {
-	if (object != null) {
-		object.inherit = Common.prototype.inherit;
-		object.specialize = Common.prototype.specialize;
-	}
-	return object;
-};
-
-// sub-classing
-ICommon.specialize = function($prototype, $constructor) {
-	// initialise class properties
-	if (!$prototype) $prototype = {};
-	if (!$constructor) $constructor = $prototype.constructor;
-	if ($constructor == {}.constructor) $constructor = new Function("this.inherit()");
-	// build the inheritance chain
-	//  insert a dummy constructor between the ancestor
-	//  and the new constructor. this allows standard
-	//  prototype inheritance plus chained constructor
-	//  functions.
-	$constructor.valueOf = new Function("return this");
-	$constructor.valueOf.prototype = new this.valueOf;
-	$constructor.valueOf.prototype.specialize($prototype);
-	$constructor.prototype = new $constructor.valueOf;
-	$constructor.prototype.constructor = $constructor;
-	$constructor.ancestor = this;
-	$constructor.specialize = arguments.callee;
-	return $constructor;
-};
-
-// root of the inheritance chain
-ICommon.valueOf = new Function("return this");
-
-// common interface
-ICommon.valueOf.prototype = {
-constructor: ICommon,
-inherit: function() {
-//-
-//   Call this method from any other method to call that method's ancestor.
-//   If there is no ancestor function then this function will throw an error.
-//-
-	return arguments.callee.caller.ancestor.apply(this, arguments);
-},
-specialize: function(object) {
-//-
-//   Add the interface of another object to this object
-//-
-	// if this object is the prototype then specialize the /real/ prototype
-	if (this == this.constructor.prototype && this.constructor.specialize) {
-		return this.constructor.valueOf.prototype.specialize(object);
-	}
-	// add each of one of the source object's properties to this object
-	for (var i in object) {
-		switch (i) {
-			case "constructor": // don't do this one!
-			case "toString":    // do this one maually
-			case "valueOf":     // ignore this one...
-				continue;
-		}
-		// implement inheritance
-		if (typeof object[i] == "function" && object[i] != this[i]) {
-			object[i].ancestor = this[i];
-		}
-		// add the property
-		this[i] = object[i];
-	}
-	// do the "toString" function manually
-	if (object.toStrng != this.toString && object.toString != {}.toString) {
-		object.toString.ancestor = this.toString;
-		this.toString = object.toString;
-	}
-	return this;
-},
-toString: function() {
-	return "[common " + (this.constructor.name || "Object") + "]";
-}};
-
-// create the root
-function Common() {
-//--
-//   empty constructor function
-//--
-};
-this.Common = ICommon.specialize({constructor: Common});
-
-// c'est fini!
-delete this.Common;
-
-var Fix = Common.specialize({
-	constructor: function() {
-		this.fixes = [];
-		this.recalcs = [];
-	},
-	init: DUMMY
-});
-
-// -----------------------------------------------------------------------
-// IE5.0 compatibility
-// -----------------------------------------------------------------------
-
-/* FAVELET */
-
-// load an external module to patch IE5.0 and override the functions above
-if (appVersion < 5.5) eval(loadFile("ie7-ie5.js", path));
-
-// -----------------------------------------------------------------------
-// initialisation
-// -----------------------------------------------------------------------
-
-var _initialised = false;
-IE7.init = function() {
-try {
-	// prevent further loading
-	if (_initialised) return;
-	_initialised = complete = true;
-
-	// frequently used references
-	body = document.body;
-	viewport = (quirksMode) ? body : documentElement;
-
-	// apply CSS/DOM fixes
-	if (isHTML && ie7HTML) ie7HTML.apply();
-	ie7CSS.apply();
-
-	recalc();
-
-	alert("loaded successfully");
-} catch ($error) {
-	alert("Error [2]: " + $error.description);
-}};
-
-// a store for functions that will be called when refreshing IE7
-var recalcs = [];
-function addRecalc($recalc) {
-	recalcs.push($recalc);
-};
-function recalc() {
-	cssQuery.clearCache();
-	if (isHTML && ie7HTML) ie7HTML.recalc();
-	// re-apply style sheet rules (re-calculate ie7 classes)
-	ie7CSS.recalc();
-	// apply global fixes to the document
-	for (var i = 0; i < recalcs.length; i++) recalcs[i]();
-};
-
-// -----------------------------------------------------------------------
-//  Parser
-// -----------------------------------------------------------------------
-
-/*    ---   (include) /my/src?ParseMaster.js   ---    */
-/*
-	ParseMaster, version 1.0 (pre-release) (2005/05/12) x6
-	Copyright 2005, Dean Edwards
-	Web: http://dean.edwards.name/
-
-	This software is licensed under the CC-GNU LGPL
-	Web: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-/* a multi-pattern parser */
-
-/*    ---   (include) http://dean.edwards.name/my/fix-ie5.js       ---    */
-/*    ---   (require) http://dean.edwards.name/common/common.js       ---    */
-
-function ParseMaster() {
-	// constants
-	var $EXPRESSION = 0, $REPLACEMENT = 1, $LENGTH = 2;
-	// used to determine nesting levels
-	var $GROUPS = /\(/g, $SUB_REPLACE = /\$\d/, $INDEXED = /^\$\d+$/,
-	    $TRIM = /(['"])\1\+(.*)\+\1\1$/, $$ESCAPE = /\\./g, $QUOTE = /'/,
-	    $$DELETED = /\001[^\001]*\001/g;
-	function $DELETE($match, $offset){return "\001" + $match[$offset] + "\001"};
-	// public
-	this.add = function($expression, $replacement) {
-		if (!$replacement) $replacement = $DELETE;
-		// count the number of sub-expressions
-		//  - add one because each pattern is itself a sub-expression
-		var $length = (_internalEscape(String($expression)).match($GROUPS) || "").length + 1;
-		// does the pattern deal with sub-expressions?
-		if (typeof $replacement == "string" && $SUB_REPLACE.test($replacement)) {
-			// a simple lookup? (e.g. "$2")
-			if ($INDEXED.test($replacement)) {
-				// store the index (used for fast retrieval of matched strings)
-				$replacement = parseInt($replacement.slice(1)) - 1;
-			} else { // a complicated lookup (e.g. "Hello $2 $1")
-				// build a function to do the lookup
-				var i = $length;
-				var $quote = $QUOTE.test(_internalEscape($replacement)) ? '"' : "'";
-				while (i) $replacement = $replacement.split("$" + i--).join($quote + "+a[o+" + i + "]+" + $quote);
-				$replacement = new Function("a,o", "return" + $quote + $replacement.replace($TRIM, "$1") + $quote);
-			}
-		}
-		// pass the modified arguments
-		_add($expression || "/^$/", $replacement, $length);
-	};
-	// execute the global replacement
-	this.exec = function($string) {
-		return _unescape(_escape($string, this.escapeChar).replace(
-			new RegExp(_patterns, this.ignoreCase ? "gi" : "g"), _replacement), this.escapeChar).replace($$DELETED, "");
-	};
-	// clear the patterns collections so that this object may be re-used
-	this.reset = function() {
-		_patterns.length = 0;
-	};
-
-	// private
-	var _patterns = [];   // patterns stored by index
-	var _toString = function(){return "(" + String(this[$EXPRESSION]).slice(1, -1) + ")"};
-	_patterns.toString = function(){return this.join("|")};
-	// create and add a new pattern to the patterns collection
-	function _add() {
-		arguments.toString = _toString;
-		// store the pattern - as an arguments object (i think this is quicker..?)
-		_patterns[_patterns.length] = arguments;
-	}
-	// this is the global replace function (it's quite complicated)
-	function _replacement() {
-		if (!arguments[0]) return "";
-		var i = 1, j = 0, $pattern;
-		// loop through the patterns
-		while ($pattern = _patterns[j++]) {
-			// do we have a result?
-			if (arguments[i]) {
-				var $replacement = $pattern[$REPLACEMENT];
-				switch (typeof $replacement) {
-					case "function": return $replacement(arguments, i);
-					case "number": return arguments[$replacement + i];
-					default: return $replacement;
-				}
-			// skip over references to sub-expressions
-			} else i += $pattern[$LENGTH];
-		}
-	};
-	// encode escaped characters
-	var _escaped = [];
-	function _escape($string, $escapeChar) {
-		return $escapeChar ? $string.replace(new RegExp("\\" + $escapeChar + "(.)", "g"), function($match, $char) {
-			_escaped[_escaped.length] = $char;
-			return $escapeChar;
-		}) : $string;
-	};
-	// decode escaped characters
-	function _unescape($string, $escapeChar) {
-		var i = 0;
-		return $escapeChar ? $string.replace(new RegExp("\\" + $escapeChar, "g"), function() {
-			return $escapeChar + (_escaped[i++] || "");
-		}) : $string;
-	};
-	function _internalEscape($string) {
-		return $string.replace($$ESCAPE, "");
-	};
-};
-Common.specialize({
-	constructor: ParseMaster,
-	ignoreCase: false,
-	escapeChar: ""
-});
-var Parser = ParseMaster.specialize({ignoreCase: true});
-
-// -----------------------------------------------------------------------
-//  cssQuery
-// -----------------------------------------------------------------------
-
-/*    ---   (include) /my/cssQuery/src?cssQuery.js   ---    */
-/*
-	cssQuery, version 2.0 (2005/05/19)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-// the following functions allow querying of the DOM using CSS selectors
-var cssQuery = function() {
-var version = "2.0 (beta)";
-
-// -----------------------------------------------------------------------
-// main query function
-// -----------------------------------------------------------------------
-
-var $COMMA = /\s*,\s*/;
-var cssQuery = function($selector, $$from) {
-try {
-	var $match = [];
-	var $useCache = arguments.callee.caching && !$$from;
-	var $base = ($$from) ? ($$from.constructor == Array) ? $$from : [$$from] : [document];
-	// process comma separated selectors
-	var $$selectors = parseSelector($selector).split($COMMA), i;
-	for (i = 0; i < $$selectors.length; i++) {
-		// convert the selector to a stream
-		$selector = _toStream($$selectors[i]);
-		// faster chop if it starts with id (MSIE only)
-		if (isMSIE && $selector.slice(0, 3).join("") == " *#") {
-			$selector = $selector.slice(2);
-			$$from = _msie_selectById([], $base, $selector[1]);
-		} else $$from = $base;
-		// process the stream
-		var j = 0, $token, $filter, $arguments, $cacheSelector = "";
-		while (j < $selector.length) {
-			$token = $selector[j++];
-			$filter = $selector[j++];
-			$cacheSelector += $token + $filter;
-			// some pseudo-classes allow arguments to be passes
-			//  e.g. nth-child(even)
-			$arguments = "";
-			if ($selector[j] == "(") {
-				while ($selector[j++] != ")") $arguments += $selector[j];
-				$arguments = $arguments.slice(0, -1);
-				$cacheSelector += "(" + $arguments + ")";
-			}
-			// process a token/filter pair use cached results if possible
-			$$from = ($useCache && cache[$cacheSelector]) ?
-				cache[$cacheSelector] : select($$from, $token, $filter, $arguments);
-			if ($useCache) cache[$cacheSelector] = $$from;
-		}
-		$match = $match.concat($$from);
-	}
-	delete cssQuery.error;
-	return $match;
-} catch ($error) {
-	cssQuery.error = $error;
-	return [];
-}};
-
-// -----------------------------------------------------------------------
-// public interface
-// -----------------------------------------------------------------------
-
-cssQuery.toString = function() {
-	return "function cssQuery() {\n  [version " + version + "]\n}";
-};
-
-// caching
-var cache = {};
-cssQuery.caching = false;
-cssQuery.clearCache = function($selector) {
-	if ($selector) {
-		$selector = _toStream($selector).join("");
-		delete cache[$selector];
-	} else cache = {};
-};
-
-// allow extensions
-var modules = {};
-var loaded = false;
-cssQuery.addModule = function($name, $script) {
-	if (loaded) eval("$script=" + String($script));
-	modules[$name] = new $script();;
-};
-
-// hackery
-cssQuery.valueOf = function($code) {
-	return $code ? eval($code) : this;
-};
-
-// -----------------------------------------------------------------------
-// declarations
-// -----------------------------------------------------------------------
-
-var selectors = {};
-var pseudoClasses = {};
-var attributeSelectors = [];
-
-// -----------------------------------------------------------------------
-// selectors
-// -----------------------------------------------------------------------
-
-// descendant selector
-selectors[" "] = function($results, $from, $tagName, $namespace) {
-	// loop through current selection
-	var $element, i, j;
-	for (i = 0; i < $from.length; i++) {
-		// get descendants
-		var $subset = getElementsByTagName($from[i], $tagName, $namespace);
-		// loop through descendants and add to results selection
-		for (j = 0; ($element = $subset[j]); j++) {
-			if (thisElement($element) && compareNamespace($element, $namespace))
-				$results.push($element);
-		}
-	}
-};
-
-// ID selector
-selectors["#"] = function($results, $from, $id) {
-	// loop through current selection and check ID
-	var $element, j;
-	for (j = 0; ($element = $from[j]); j++) if ($element.id == $id) $results.push($element);
-};
-
-// class selector
-selectors["."] = function($results, $from, $className) {
-	// create a RegExp version of the class
-	$className = new RegExp("(^|\\s)" + $className + "(\\s|$)");
-	// loop through current selection and check class
-	var $element, i;
-	for (i = 0; ($element = $from[i]); i++)
-		if ($className.test($element.className)) $results.push($element);
-};
-
-// pseudo-class selector
-selectors[":"] = function($results, $from, $pseudoClass, $arguments) {
-	// retrieve the cssQuery pseudo-class function
-	var $test = pseudoClasses[$pseudoClass], $element, i;
-	// loop through current selection and apply pseudo-class filter
-	if ($test) for (i = 0; ($element = $from[i]); i++)
-		// if the cssQuery pseudo-class function returns "true" add the element
-		if ($test($element, $arguments)) $results.push($element);
-};
-
-// -----------------------------------------------------------------------
-// pseudo-classes
-// -----------------------------------------------------------------------
-
-pseudoClasses["link"] = function($element) {
-	var $document = getDocument($element);
-	if ($document.links) for (var i = 0; i < $document.links.length; i++) {
-		if ($document.links[i] == $element) return true;
-	}
-};
-
-pseudoClasses["visited"] = function($element) {
-	// can't do this without jiggery-pokery
-};
-
-// -----------------------------------------------------------------------
-// DOM traversal
-// -----------------------------------------------------------------------
-
-// IE5.x includes comments (LOL) in it's elements collections.
-// so we have to check for this. the test is tagName != "!". LOL (again).
-var thisElement = function($element) {
-	return ($element && $element.nodeType == 1 && $element.tagName != "!") ? $element : null;
-};
-
-// return the previous element to the supplied element
-//  previousSibling is not good enough as it might return a text or comment node
-var previousElementSibling = function($element) {
-	while ($element && ($element = $element.previousSibling) && !thisElement($element)) continue;
-	return $element;
-};
-
-// return the next element to the supplied element
-var nextElementSibling = function($element) {
-	while ($element && ($element = $element.nextSibling) && !thisElement($element)) continue;
-	return $element;
-};
-
-// return the first child ELEMENT of an element
-//  NOT the first child node (though they may be the same thing)
-var firstElementChild = function($element) {
-	return thisElement($element.firstChild) || nextElementSibling($element.firstChild);
-};
-
-var lastElementChild = function($element) {
-	return thisElement($element.lastChild) || previousElementSibling($element.lastChild);
-};
-
-// return child elements of an element (not child nodes)
-var childElements = function($element) {
-	var $childElements = [];
-	$element = firstElementChild($element);
-	while ($element) {
-		$childElements.push($element);
-		$element = nextElementSibling($element);
-	}
-	return $childElements;
-};
-
-// -----------------------------------------------------------------------
-// browser compatibility
-// -----------------------------------------------------------------------
-
-// all of the functions in this section can be overwritten. the default
-//  configuration is for IE. The functions below reflect this. standard
-//  methods are included in a separate module. It would probably be better
-//  the other way round of course but this makes it easier to keep IE7 trim.
-
-var isMSIE = true;
-
-var isXML = function($element) {
-	return getDocument($element).mimeType == "XML Document";
-};
-
-// return the element's containing document
-var getDocument = function($element) {
-	return $element.ownerDocument || $element.document;
-};
-
-var getElementsByTagName = function($element, $tagName) {
-	return ($tagName == "*" && $element.all) ? $element.all : $element.getElementsByTagName($tagName);
-};
-
-var compareTagName = function($element, $tagName, $namespace) {
-	if ($tagName == "*") return thisElement($element);
-	if (!compareNamespace($element, $namespace)) return false;
-	if (!isXML($element)) $tagName = $tagName.toUpperCase();
-	return $element.tagName == $tagName;
-};
-
-var compareNamespace = function($element, $namespace) {
-	return !$namespace || ($namespace == "*") || ($element.scopeName == $namespace);
-};
-
-var getTextContent = function($element) {
-	return $element.innerText;
-};
-
-function _msie_selectById($results, $from, id) {
-	var $match, i, j;
-	for (i = 0; i < $from.length; i++) {
-		if ($match = $from[i].all.item(id)) {
-			if ($match.length == null) $results.push($match);
-			else for (j = 0; j < $match.length; j++) $results.push($match[j]);
-		}
-	}
-	return $results;
-};
-
-// -----------------------------------------------------------------------
-// query support
-// -----------------------------------------------------------------------
-
-// select a set of matching elements.
-// "from" is an array of elements.
-// "token" is a character representing the type of filter
-//  e.g. ">" means child selector
-// "filter" represents the tag name, id or class name that is being selected
-// the function returns an array of matching elements
-var $NAMESPACE = /\|/;
-function select($$from, $token, $filter, $arguments) {
-	if ($NAMESPACE.test($filter)) {
-		$filter = $filter.split($NAMESPACE);
-		$arguments = $filter[0];
-		$filter = $filter[1];
-	}
-	var $results = [];
-	if (selectors[$token]) {
-		selectors[$token]($results, $$from, $filter, $arguments);
-	}
-	return $results;
-};
-
-// -----------------------------------------------------------------------
-// parsing
-// -----------------------------------------------------------------------
-
-// convert css selectors to a stream of tokens and filters
-//  it's not a real stream. it's just an array of strings.
-var $STANDARD_SELECT = /^[^\s>+~]/;
-var $$STREAM = /[\s#.:>+~()@]|[^\s#.:>+~()@]+/g;
-function _toStream($selector) {
-	if ($STANDARD_SELECT.test($selector)) $selector = " " + $selector;
-	return $selector.match($$STREAM) || [];
-};
-
-var $WHITESPACE = /\s*([\s>+~(),]|^|$)\s*/g;
-var $IMPLIED_ALL = /([\s>+~,]|[^(]\+|^)([#.:@])/g;
-var parseSelector = function($selector) {
-	return $selector
-	// trim whitespace
-	.replace($WHITESPACE, "$1")
-	// e.g. ".class1" --> "*.class1"
-	.replace($IMPLIED_ALL, "$1*$2");
-};
-
-var Quote = {
-	toString: function() {return "'"},
-	match: /^('[^']*')|("[^"]*")$/,
-	test: function($string) {
-		return this.match.test($string);
-	},
-	add: function($string) {
-		return this.test($string) ? $string : this + $string + this;
-	},
-	remove: function($string) {
-		return this.test($string) ? $string.slice(1, -1) : $string;
-	}
-};
-
-var getText = function($text) {
-	return Quote.remove($text);
-};
-
-var $ESCAPE = /([\/()[\]?{}|*+-])/g;
-function regEscape($string) {
-	return $string.replace($ESCAPE, "\\$1");
-};
-
-// -----------------------------------------------------------------------
-// modules
-// -----------------------------------------------------------------------
-
-// -------- >>      insert modules here for packaging       << -------- \\
-
-loaded = true;
-
-// -----------------------------------------------------------------------
-// return the query function
-// -----------------------------------------------------------------------
-
-return cssQuery;
-
-}(); // cssQuery
-cssQuery.caching = true;
-cssQuery.addModule("ie7", function() {
-	thisElement = function($element) {
-		return ($element && $element.nodeType == 1 && $element.tagName != "!" && !$element.ie7_anon) ? $element : null;
-	};
-});
-cssQuery.valueOf("getText=arguments[1]", getString);
-
-// -----------------------------------------------------------------------
-//  IE7 CSS
-// -----------------------------------------------------------------------
-
-
-var ie7CSS = new (Fix.specialize({ // single instance
-	parser: new Parser,
-	styles: [],
-	screen: "",
-	print: "",
-	init: function() {
-		this.createStyleSheet();
-		this.refresh();
-	},
-	refresh: function($media) {
-		ie7CSS.styleSheet.cssText = HEADER + this.screen + this.print;
-	},
-	apply: function($media) {
-		// load inline styles
-		var $$styleSheets = document.getElementsByTagName("style"), $styleSheet;
-		for (var i = $$styleSheets.length - 1; ($styleSheet = $$styleSheets[i]); i--) {
-			if (!$styleSheet.disabled && !$styleSheet.ie7) {
-				 this.styles.push($styleSheet.innerHTML);
-			}
-		}
-		this.refresh();
-		new StyleSheet("screen");
-		this.trash();
-	},
-	addFix: function($expression, $replacement) {
-		this.parser.add($expression, $replacement);
-	},
-	recalc: function() {
-		// we're going to read through all style rules.
-		//  certain rules have had ie7 properties added to them.
-		//   e.g. p{top:0; ie7_recalc2:1; left:0}
-		//  this flags a property in the rule as needing a fix.
-		//  the selector text is then used to query the document.
-		//  we can then loop through the results of the query
-		//  and fix the elements.
-		// we ignore the IE7 rules - so count them in the header
-		var $RECALCS = /ie7_recalc\d+/g;
-		var $start = HEADER.match(/[{,]/g).length;
-		// only calculate screen fixes. print fixes don't show up anyway
-		var $$stop = $start + this.screen.cssText.match(/\{/g).length;
-		var $$rules = this.styleSheet.rules, $rule;
-		var $$calcs, $calc, $$elements, $element, i, j, k, id;
-		// loop through all rules
-		for (i = $start; i < $$stop; i++) {
-			$rule = $$rules[i];
-			// search for the "ie7_recalc" flag (there may be more than one)
-			if ($rule && ($$calcs = $rule.style.cssText.match($RECALCS))) {
-				// use the selector text to query the document
-				$$elements = cssQuery($rule.selectorText);
-				// if there are matching elements then loop
-				//  through the recalc functions and apply them
-				//  to each element
-				if ($$elements.length) for (j = 0; j < $$calcs.length; j++) {
-					// get the matching flag (e.g. ie7_recalc3)
-					id = $$calcs[j];
-					// extract the numeric id from the end of the flag
-					//  and use it to index the collection of recalc
-					//  functions
-					$calc = ie7CSS.recalcs[id.slice(10)][2];
-					for (k = 0; ($element = $$elements[k]); k++) {
-						// apply the fix
-						if ($element.currentStyle[id]) $calc($element);
-					}
-				}
-			}
-		}
-	},
-	// recalcs occur whenever the document is refreshed using document.recalc()
-	addRecalc: function($propertyName, $test, $handler, $replacement) {
-		$test = new RegExp("([{;\\s])" + $propertyName + "\\s*:\\s*" + $test + "[^;}]*");
-		var $id = this.recalcs.length;
-        if ($replacement) $replacement = $propertyName + ":" + $replacement;
-		this.addFix($test, function($match, $offset) {
-			return ($replacement ?  $match[$offset + 1] + $replacement : $match[$offset]) +
-				";ie7-" + $match[$offset].slice(1) + ";ie7_recalc" + $id + ":1";
-		});
-		this.recalcs.push(arguments);
-		return $id;
-	},
-	// retrieve the text of a style sheet
-	getText: function($styleSheet) {
-		// without the CSS2 module we assume CSS1, so it is safe to get Microsoft's stored text
-		return $styleSheet.cssText || $styleSheet.$cssText;
-	},
-	createStyleSheet: function() {
-		// create the IE7 style sheet
-		if (complete || !isHTML) document.createStyleSheet();
-		// this fixes a bug to do with the <base> tag
-		else document.write("<style ie7=true></style>");
-		// get the new style sheet
-		this.styleSheet = styleSheets[styleSheets.length - 1];
-		// flag it so we can ignore it during parsing
-		this.styleSheet.ie7 = true;
-		this.styleSheet.cssText = HEADER;
-	},
-	trash: function() {
-		// trash the old style sheets
-		var styleSheet, i;
-		for (i = 0; i < styleSheets.length; i++) {
-			styleSheet = styleSheets[i];
-			if (!styleSheet.ie7) {
-				styleSheet.$cssText = styleSheet.cssText;
-				styleSheet.cssText = "";
-			}
-		}
-	}
-}));
-
-// -----------------------------------------------------------------------
-//  IE7 StyleSheet class
-// -----------------------------------------------------------------------
-
-function StyleSheet($media) {
-	this.media = $media;
-	this.load();
-	ie7CSS[$media] = this;
-	ie7CSS.refresh();
-};
-ICommon.specialize({
-	constructor: StyleSheet,
-	toString: function() {
-		return "@media " + this.media + "{" + this.cssText + "}";
-	},
-	cssText: "",
-	recalc: DUMMY,
-	load: function() {
-		this.getText();
-		this.parse();
-		this.cssText = _decode(this.cssText);
-	},
-	getText: function() {
-		// store for style sheet text
-		var _inlineStyles = [].concat(ie7CSS.styles);
-		// parse media decalarations
-		var $MEDIA = /@media\s+([^{]*)\{([^@]+\})\s*\}/gi;
-		var $ALL = /\ball\b|^$/i, $SCREEN = /\bscreen\b/i, $PRINT = /\bprint\b/i;
-		function _parseMedia($cssText, $media) {
-			_replaceMedia.$value = $media;
-			return $cssText.replace($MEDIA, _replaceMedia);
-		};
-		function _replaceMedia($$match, $media, $cssText) {
-			$media = _simpleMedia($media);
-			switch ($media) {
-				case "screen":
-				case "print":
-					if ($media != _replaceMedia.$value) return "";
-				case "all":
-					return $cssText;
-			}
-			return "";
-		};
-		function _simpleMedia($media) {
-			if ($ALL.test($media)) return "all";
-			else if ($SCREEN.test($media)) return ($PRINT.test($media)) ? "all" : "screen";
-			else if ($PRINT.test($media)) return "print";
-		};
-		var self = this;
-		function _getCSSText($styleSheet, $path, $media, $level) {
-			var $cssText = "";
-			if (!$level) {
-				$media = _simpleMedia($styleSheet.media);
-				$level = 0;
-			}
-			if ($media == "all" || $media == self.media) {
-				// IE only allows importing style sheets three levels deep.
-				// it will crash if you try to access a level below this
-				if ($level < 3) {
-					// loop through imported style sheets
-					for (var i = 0; i < $styleSheet.imports.length; i++) {
-						// call this function recursively to get all imported style sheets
-						$cssText += _getCSSText($styleSheet.imports[i], getPath($styleSheet.href, $path), $media, $level + 1);
-					}
-				}
-				// retrieve inline style or load an external style sheet
-				$cssText += _encode($styleSheet.href ? _loadStyleSheet($styleSheet, $path) : _inlineStyles.pop() || "");
-				$cssText = _parseMedia($cssText, self.media);
-			}
-			return $cssText;
-		};
-		// store loaded cssText URLs
-		var $fileCache = {};
-		// load an external style sheet
-		function _loadStyleSheet($styleSheet, $path) {
-			var $url = makePath($styleSheet.href, $path);
-			// if the style sheet has already loaded then don't duplicate it
-			if ($fileCache[$url]) return "";
-			// load from source
-			$fileCache[$url] = ($styleSheet.disabled) ? "" :
-				_fixUrls(ie7CSS.getText($styleSheet, $path), getPath($styleSheet.href, $path));
-			return $fileCache[$url];
-		};
-		// fix css paths
-		// we're lumping all css text into one big style sheet so relative
-		//  paths have to be fixed. this is necessary anyway because of other
-		//  explorer bugs.
-		var $URL = /(url\s*\(\s*['"]?)([\w\.]+[^:\)]*['"]?\))/gi;
-		function _fixUrls($cssText, $pathname) {
-			// hack & slash
-			return $cssText.replace($URL, "$1" + $pathname.slice(0, $pathname.lastIndexOf("/") + 1) + "$2");
-		};
-
-		// load all style sheets in the document
-		for (var i = 0; i < styleSheets.length; i++) {
-			if (!styleSheets[i].disabled && !styleSheets[i].ie7) {
-				this.cssText += _getCSSText(styleSheets[i]);
-			}
-		}
-	}, // end: load
-	parse: function() {
-		this.cssText = ie7CSS.parser.exec(this.cssText);
-	},
-	recalc: DUMMY
-});
-
-// -----------------------------------------------------------------------
-// encoding
-// -----------------------------------------------------------------------
-
-var Quote = cssQuery.valueOf("Quote");
-var _strings = [];
-
-function _encode($cssText) {
-	return encoder.exec(safeString.exec($cssText));
-};
-
-function _encodeString($match, $offset) {
-	return Quote + (_strings.push($match[$offset]) - 1) + Quote;
-};
-
-function getString($value) {
-	return Quote.test($value) ? eval(_strings[eval($value)]) : $value;
-};
-
-var encoder = new Parser;
-// comments
-encoder.add(/\/\*[^*]*\*+([^\/][^*]*\*+)*\//);
-// strings
-encoder.add(/'[^']*'/, _encodeString);
-encoder.add(/"[^"]*"/, _encodeString);
-// white space
-encoder.add(/\s+/, " ");
-// get rid
-encoder.add(/@(namespace|import)[^;\n]+[;\n]|<!\-\-|\-\->/);
-
-var safeString = new Parser;
-safeString.add(/\\'/, "\\x27");
-safeString.add(/\\"/, "\\x22");
-
-// -----------------------------------------------------------------------
-// decoding
-// -----------------------------------------------------------------------
-
-var decoder = new Parser;
-// comments
-decoder.add(/'(\d+)'/, _decodeString);
-
-function _decode($cssText) {
-	return decoder.exec($cssText);
-};
-
-function _decodeString($match, $offset) {
-	return _strings[$match[$offset + 1]];
-};
-
-// -----------------------------------------------------------------------
-// event handling
-// -----------------------------------------------------------------------
-
-var _handlers = [];
-
-function addResize($handler) {
-	if (quirksMode) addRecalc($handler);
-	addEventHandler(window, "onresize", $handler);
-};
-
-// add an event handler (function) to an element
-function addEventHandler($element, $type, $handler) {
-	$element.attachEvent($type, $handler);
-	// store the handler so it can be detached later
-	_handlers.push(arguments);
-};
-
-// remove an event handler assigned to an element by IE7
-function removeEventHandler($element, $type, $handler) {
-try {
-	$element.detachEvent($type, $handler);
-} catch ($ignore) {
-	// write a letter of complaint to microsoft..
-}};
-
-// remove event handlers (they eat memory)
-window.attachEvent("onunload", function() {
- 	while (_handlers.length) {
- 		var $handler = _handlers.pop();
- 		removeEventHandler($handler[0], $handler[1], $handler[2]);
- 	};
-});
-
-function register($handler, $element, $condition) { // - at DRE
-	//var $set = $handler[$element.uniqueID];
-	if (!$handler.elements) $handler.elements = {};
-	if ($condition) $handler.elements[$element.uniqueID] = $element;
-	else delete $handler.elements[$element.uniqueID];
-	//return !$set && $condition;
-	return $condition;
-};
-
-// -----------------------------------------------------------------------
-// events
-// -----------------------------------------------------------------------
-
-addEventHandler(window, "onbeforeprint", function() {
-	if (!ie7CSS.print) new StyleSheet("print");
-	ie7CSS.print.recalc();
-});
-
-// -----------------------------------------------------------------------
-// pixel conversion
-// -----------------------------------------------------------------------
-
-// this is handy because it means that web developers can mix and match
-//  measurement units in their style sheets. it is not uncommon to
-//  express something like padding in "em" units whilst border thickness
-//  is most often expressed in pixels.
-
-var PIXEL = /^\d+(px)?$/i;
-var PERCENT = /^\d+%$/;
-var getPixelValue = function($element, $value) {
-	if (PIXEL.test($value)) return parseInt($value);
-	var $style = $element.style.left;
-	var $runtimeStyle = $element.runtimeStyle.left;
-	$element.runtimeStyle.left = $element.currentStyle.left;
-	$element.style.left = $value || 0;
-	$value = $element.style.pixelLeft;
-	$element.style.left = $style;
-	$element.runtimeStyle.left = $runtimeStyle;
-	return $value;
-};
-
-// create a temporary element which is used to inherit styles
-//  from the target element. the temporary element can be resized
-//  to determine pixel widths/heights
-function createTempElement($tagName) {
-	var $element = document.createElement($tagName || "object");
-	$element.style.cssText = "position:absolute;padding:0;display:block;border:none;clip:rect(0 0 0 0);left:-9999";
-	$element.ie7_anon = true;
-	return $element;
-};
-
-// -----------------------------------------------------------------------
-// generic
-// -----------------------------------------------------------------------
-
-var _IE7_ = "ie7-";
-
-function isFixed($element) {
-	return $element.currentStyle["ie7-position"] == "fixed";
-};
-
-// original style
-function getDefinedStyle($element, $propertyName) {
-	return $element.currentStyle[_IE7_ + $propertyName] || $element.currentStyle[$propertyName];
-};
-
-function setOverrideStyle($element, $propertyName, $value) {
-	if ($element.currentStyle[_IE7_ + $propertyName] == null) {
-		$element.runtimeStyle[_IE7_ + $propertyName] = $element.currentStyle[$propertyName];
-	}
-	$element.runtimeStyle[$propertyName] = $value;
-};
-
-function addTimer($object, $cssText, $url) {
-	var $timer = setInterval(function() {
-	try {
-		// wait until the object has loaded
-		if (!$object.load) return;
-		$object.load($object, $cssText, $url);
-		clearInterval($timer);
-	} catch ($ignore) {
-		// remote scripting
-		clearInterval($timer);
-	}}, 10);
-};
-
-// -----------------------------------------------------------------------
-//  modules
-// -----------------------------------------------------------------------
-
-// -------- >>      insert modules here for packaging       << -------- \\
-
-loaded = true;
-
-// -----------------------------------------------------------------------
-//  quirks mode patches
-// -----------------------------------------------------------------------
-
-/* FAVELET */
-
-// load an external module to patch IE in quirks mode and override the functions above
-if (quirksMode) eval(loadFile("ie7-quirks.js", path));
-
-// -----------------------------------------------------------------------
-//  initialise
-// -----------------------------------------------------------------------
-
-ie7CSS.init();
-
-// this script may be inserted via a favelet so the page may already be loaded
-if (complete) IE7.init();
-else {
-	// if we can load behaviors then use ondocumentready
-	documentElement.addBehavior(makePath("ie7-load.htc", path));
-	// otherwise this will kick in
-	addEventHandler(document, "onreadystatechange", function() {
-		// if we are going to wait this long then wem may as well let
-		//  window.onload execute first
-		if (document.readyState == "complete") setTimeout(IE7.init, 0);
-	});
-}
-
-// -----------------------------------------------------------------------
-//  error handling
-// -----------------------------------------------------------------------
-
-} catch ($error) {
-	alert("Error [0]: " + $error.description);
-} finally {
-	// have a beer...
-}};

Copied: plog/trunk/js/ie7/src/ie7-core.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-core.js)

Deleted: plog/trunk/js/ie7/src/ie7-css-strict.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-css-strict.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-css-strict.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,71 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-css-strict", function() {
-
-// requires another module
-if (!modules["ie7-css2-selectors"]) return;
-
-// -----------------------------------------------------------------------
-//  IE7 StyleSheet class
-// -----------------------------------------------------------------------
-StyleSheet.prototype.specialize({
-	// override the createRule method - ALL rules are now IE7 rules
-	parse: function() {
-		this.inherit();
-		// there is no decoding as such any more as all rules are IE7 rules.
-		//  we'll sort the rules and build a new style sheet
-		var $rules = [].concat(this.rules);
-		$rules.sort(ie7CSS.Rule.compare);
-		this.cssText = $rules.join("\n");
-	},
-	// override the createRule method - ALL rules are now IE7 rules
-	createRule: function($selector, $cssText) {
-		var $match;
-		if ($match = $selector.match(ie7CSS.PseudoElement.MATCH))
-			return new ie7CSS.PseudoElement($match[1], $match[2], $cssText);
-		else if ($match = $selector.match(ie7CSS.DynamicRule.MATCH))
-			return new ie7CSS.DynamicRule($selector, $match[1], $match[2], $match[3], $cssText);
-		else
-			return new ie7CSS.Rule($selector, $cssText);
-	}
-});
-
-// -----------------------------------------------------------------------
-//  IE7 CSS
-// -----------------------------------------------------------------------
-
-ie7CSS.specialize({
-	apply: function() {
-		this.inherit();
-		this.Rule.MATCH = /([^{}]+)(\{[^{}]*\})/g;
-	}
-});
-
-// sort function
-ie7CSS.Rule.compare = function($rule1, $rule2) {
-	return $rule1.specificity - $rule2.specificity;
-};
-
-// calculate specificity for a given selector
-var $NONE = [], $ID = /#/g, $CLASS = /[.:\[]/g, $TAG = /^\w|[\s>+~]\w/g;
-ie7CSS.Rule.score = function($selector) {
-	return ($selector.match($ID)||$NONE).length * 10000 +
-		($selector.match($CLASS)||$NONE).length * 100 +
-		($selector.match($TAG)||$NONE).length;
-};
-
-ie7CSS.Rule.simple = function() {return ""};
-
-ie7CSS.Rule.prototype.specialize({
-	specificity: 0,
-	init: function() {
-		// calculate specificity (rules are sorted on this value)
-		this.specificity = ie7CSS.Rule.score(this.selector);
-	}
-});
-
-});

Copied: plog/trunk/js/ie7/src/ie7-css-strict.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-css-strict.js)

Deleted: plog/trunk/js/ie7/src/ie7-css2-selectors.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-css2-selectors.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-css2-selectors.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,570 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-css2-selectors", function() {
-
-/*
-	cssQuery, version 2.0 (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-cssQuery.addModule("css-level2", function() {
-
-// -----------------------------------------------------------------------
-// selectors
-// -----------------------------------------------------------------------
-
-// child selector
-selectors[">"] = function($results, $from, $tagName, $namespace) {
-	var $element, i, j;
-	for (i = 0; i < $from.length; i++) {
-		var $subset = childElements($from[i]);
-		for (j = 0; ($element = $subset[j]); j++)
-			if (compareTagName($element, $tagName, $namespace))
-				$results.push($element);
-	}
-};
-
-// sibling selector
-selectors["+"] = function($results, $from, $tagName, $namespace) {
-	for (var i = 0; i < $from.length; i++) {
-		var $element = nextElementSibling($from[i]);
-		if ($element && compareTagName($element, $tagName, $namespace))
-			$results.push($element);
-	}
-};
-
-// attribute selector
-selectors["@"] = function($results, $from, $attributeSelectorID) {
-	var $test = attributeSelectors[$attributeSelectorID].test;
-	var $element, i;
-	for (i = 0; ($element = $from[i]); i++)
-		if ($test($element)) $results.push($element);
-};
-
-// -----------------------------------------------------------------------
-// pseudo-classes
-// -----------------------------------------------------------------------
-
-pseudoClasses["first-child"] = function($element) {
-	return !previousElementSibling($element);
-};
-
-pseudoClasses["lang"] = function($element, $code) {
-	$code = new RegExp("^" + $code, "i");
-	while ($element && !$element.getAttribute("lang")) $element = $element.parentNode;
-	return $element && $code.test($element.getAttribute("lang"));
-};
-
-// -----------------------------------------------------------------------
-//  attribute selectors
-// -----------------------------------------------------------------------
-
-// constructor
-var AttributeSelector = {};
-// constants
-AttributeSelector.PREFIX = "@";
-// class properties
-AttributeSelector.tests = {};
-AttributeSelector.match = /\[([\w-]+)\s*(\W?=)?\s*([^\]]*)\]/g;
-// class methods
-AttributeSelector.replace = function($match, $attribute, $compare, $value) {
-	var $key = AttributeSelector.PREFIX + $match;
-	if (!attributeSelectors[$key]) {
-		$attribute = AttributeSelector.create($attribute, $compare || "", $value || "");
-		// store the selector
-		attributeSelectors[$key] = $attribute;
-		attributeSelectors.push($attribute);
-	}
-	return attributeSelectors[$key].id;
-};
-AttributeSelector.parse = function($selector) {
-	return $selector.replace(this.match, this.replace);
-};
-AttributeSelector.create = function($propertyName, $test, $value) {
-	var $attributeSelector = {};
-	$attributeSelector.id = AttributeSelector.PREFIX + attributeSelectors.length;
-	$attributeSelector.name = $propertyName;
-	$test = this.tests[$test];
-	$test = $test ? $test(AttributeSelector.getAttribute($propertyName), getText($value)) : false;
-	$attributeSelector.test = new Function("e", "return " + $test);
-	return $attributeSelector;
-};
-AttributeSelector.getAttribute = function($name) {
-	switch ($name.toLowerCase()) {
-		case "id":
-			return "e.id";
-		case "class":
-			return "e.className";
-		case "for":
-			return "e.htmlFor";
-		case "href":
-			if (isMSIE) {
-				// IE always returns the full path not the fragment in the href attribute
-				//  so we RegExp it out of outerHTML. Opera does the same thing but there
-				//  is no way to get the original attribute.
-				return "String((e.outerHTML.match(/href=\"?([^\\s\"]*)\"?/)||[])[1]||'')";
-			}
-	}
-	return "e.getAttribute('" + $name + "')";
-};
-
-// allow the CSS3 module to see this class
-this.AttributeSelector = AttributeSelector;
-
-// -----------------------------------------------------------------------
-//  attribute selector tests
-// -----------------------------------------------------------------------
-
-AttributeSelector.tests[""] = function($attribute) {
-	return $attribute;
-};
-
-AttributeSelector.tests["="] = function($attribute, $value) {
-	return $attribute + "==" + Quote.add($value);
-};
-
-AttributeSelector.tests["~="] = function($attribute, $value) {
-	return "/(^|\\s)" + regEscape($value) + "(\\s|$)/.test(" + $attribute + ")";
-};
-
-AttributeSelector.tests["|="] = function($attribute, $value) {
-	return "/^" + regEscape($value) + "(-|$)/.test(" + $attribute + ")";
-};
-
-// -----------------------------------------------------------------------
-//  parsing
-// -----------------------------------------------------------------------
-
-// override parseSelector to parse out attribute selectors
-var _parseSelector = parseSelector;
-parseSelector = function($selector) {
-	return _parseSelector(AttributeSelector.parse($selector));
-};
-
-}); // addModule
-var css2 = cssQuery.valueOf("modules['css-level2']");
-
-// -----------------------------------------------------------------------
-//  IE7 StyleSheet class
-// -----------------------------------------------------------------------
-
-// constants
-var $HYPERLINK = /a(#[\w-]+)?(\.[\w-]+)?:(hover|active)/i;
-var $BRACE1 = /\s*\{\s*/, $BRACE2 = /\s*\}\s*/;
-var $FIRST_LINE_LETTER = /(.*)(:first-(line|letter))/;
-
-StyleSheet.prototype.specialize({
-	parse: function() {
-		this.inherit();
-		// parse the style sheet
-		var $offset = ie7CSS.rules.length;
-		var $$rules = this.cssText.split($BRACE2), $rule;
-		var $$selectors, $cssText, i, j;
-		for (i = 0; i < $$rules.length; i++) {
-			$rule = $$rules[i].split($BRACE1);
-			$$selectors = $rule[0].split(",");
-			if ($cssText = $rule[1]) {
-				for (j = 0; j < $$selectors.length; j++) {
-					$$selectors[j] = this.createRule($$selectors[j], $cssText);
-				}
-			}
-			$$rules[i] = $$selectors.join("\n");
-		}
-		this.cssText = $$rules.join("\n");
-		this.rules = ie7CSS.rules.slice($offset);
-	},
-	recalc: function() {
-		var $rule, i;
-		for (i = 0; ($rule = this.rules[i]); i++) $rule.recalc();
-	},
-	createRule: function($selector, $cssText) {
-		if (ie7CSS.UNKNOWN.test($selector)) {
-			var $match;
-			if ($match = $selector.match(PseudoElement.MATCH)) {
-				return new PseudoElement($match[1], $match[2], $cssText);
-			} else if ($match = $selector.match(DynamicRule.MATCH)) {
-				if (!isHTML || !$HYPERLINK.test($match)) {
-					return new DynamicRule($selector, $match[1], $match[2], $match[3], $cssText);
-				}
-			} else return new Rule($selector, $cssText);
-		}
-		return $selector + " {" + $cssText + "}";
-	}
-});
-
-// -----------------------------------------------------------------------
-//  IE7 CSS
-// -----------------------------------------------------------------------
-
-ie7CSS.specialize({
-	// collections
-	rules: [],
-	pseudoClasses: cssQuery.valueOf("pseudoClasses"),
-	dynamicPseudoClasses: {},
-	// cssQuery cache
-	cache: cssQuery.valueOf("cache"),
-	// classes
-	Rule: Rule,
-	DynamicRule: DynamicRule,
-	PseudoElement: PseudoElement,
-	DynamicPseudoClass: DynamicPseudoClass,
-	// create regular expressions
-	apply: function() {
-		var $pseudoClasses = this.pseudoClasses + "|before|after|" + this.dynamicPseudoClasses;
-		$pseudoClasses = $pseudoClasses.replace(/(link|visited)\|/g, "");
-		this.UNKNOWN = new RegExp("[>+~\[]|([:.])[\\w-()]+\\1|:(" + $pseudoClasses + ")");
-		Rule.COMPLEX = new RegExp("[^\\s(]+\\s*[+~]|@\\d+|:(" + $pseudoClasses + ")", "g");
-		DynamicRule.MATCH = new RegExp("(.*):(" + this.dynamicPseudoClasses + ")(.*)");
-		PseudoElement.MATCH = /(.*):(before|after).*/;
-		this.inherit();
-	},
-	recalc: function() {
-		this.screen.recalc();
-		this.inherit();
-	},
-	getText: function($styleSheet, $path) {
-		// override getCSSText function defined in ie7-core.js.
-		// explorer will trash unknown selectors (it converts them to "UNKNOWN").
-		// so we must reload external style sheets (internal style sheets can have their text
-		//  extracted through the innerHTML property).
-			// load the style sheet text from an external file
-		return httpRequest ? (loadFile($styleSheet.href, $path) || $styleSheet.cssText)
-			:  this.inherit($styleSheet);
-	}
-}); // ie7CSS;
-
-// -----------------------------------------------------------------------
-// IE7 style rules
-// -----------------------------------------------------------------------
-
-// constructor
-function Rule($selector, $cssText) {
-	this.id = ie7CSS.rules.length;
-	this.className = Rule.PREFIX + this.id;
-	$selector = ($selector).match($FIRST_LINE_LETTER) || $selector || "*";
-	this.selector = $selector[1] || $selector;
-	this.selectorText = Rule.simple(this.selector) + "." + this.className + ($selector[2] || "");
-	this.cssText = $cssText;
-	this.MATCH = new RegExp("\\s" + this.className + "(\\s|$)", "g");
-	ie7CSS.rules.push(this);
-	this.init();
-};
-// protoytype
-ICommon.specialize({
-	// properties
-	constructor: Rule,
-	toString: function() {
-		return this.selectorText + " {" + this.cssText + "}";
-	},
-//- id: 0,
-//- className: "",
-//- selector: "",
-//- cssText: "",
-//- MATCH: null,
-	// methods
-	init: DUMMY,
-	add: function($element) {
-		// allocate this class
-		$element.className += " " + this.className;
-	},
-	remove: function($element) {
-		// deallocate this class
-		$element.className = $element.className.replace(this.MATCH, "$1");
-	},
-	recalc: function() {
-		// execute the underlying css query for this class
-		var $match = ie7CSS.cache[" *." + this.className] = cssQuery(this.selector);
-		// add the class name for all matching elements
-		for (i = 0; i < $match.length; i++) this.add($match[i]);
-	}
-});
-// constants
-Rule.PREFIX = "ie7_class";
-Rule.CHILD = />/g;
-// class methods
-Rule.simple = function($selector) {
-	// attempt to preserve specificity for "loose" parsing by
-	//  removing unknown tokens from a css selector but keep as
-	//  much as we can..
-	$selector = css2.AttributeSelector.parse($selector);
-	return $selector.replace(this.COMPLEX, "").replace(this.CHILD, " ");
-};
-
-// -----------------------------------------------------------------------
-// IE7 dynamic style
-// -----------------------------------------------------------------------
-
-// class properties:
-// attach: the element that an event handler will be attached to
-// target: the element that will have the IE7 class applied
-
-// constructor
-function DynamicRule($selector, $attach, $dynamicPseudoClass, $target, $cssText) {
-	// initialise object properties
-	this.attach = $attach || "*";
-	this.dynamicPseudoClass = ie7CSS.dynamicPseudoClasses[$dynamicPseudoClass];
-	this.target = $target;
-	this.inherit($selector, $cssText);
-};
-// protoytype
-Rule.specialize({
-	// properties
-	constructor: DynamicRule,
-//- attach: "",
-//- dynamicPseudoClass: null,
-//- target: "",
-	// methods
-	recalc: function() {
-		// execute the underlying css query for this class
-		var $match = cssQuery(this.attach);
-		// process results
-		for (var i = 0; i < $match.length; i++) {
-			// retrieve the event handler's target $element(s)
-			var $target = (this.target) ? cssQuery(this.target, $match[i]) : [$match[i]];
-			// attach event handlers for dynamic pseudo-classes
-			if ($target.length) this.dynamicPseudoClass.apply($match[i], $target, this);
-		}
-	}
-});
-
-// -----------------------------------------------------------------------
-// IE7 pseudo elements
-// -----------------------------------------------------------------------
-
-// constants
-var $ATTR = /^attr/, $VALUES = /'\d+'|attr\([\w-]+\)/g;
-var $URL = /^url\s*\(\s*([^)]*)\)$/;
-var $MAP = {
-	before0: "beforeBegin",
-	before1: "afterBegin",
-	after0: "afterEnd",
-	after1: "beforeEnd"
-};
-
-var _contentPath = makePath("ie7-content.htc", path) + "?";
-
-// CSS text required by the "content" property
-HEADER += ".ie7_anon{display:none}";
-
-// constructor
-function PseudoElement($selector, $position, $cssText) {
-	// initialise object properties
-	this.position = $position;
-	var $$content = $cssText.match(PseudoElement.CONTENT), $match, $entity;
-	if ($$content) {
-		$$content = $$content[1];
-		if ($match = $$content.match($VALUES)) {
-			for (var i = 0; ($entity = $match[i]); i++) {
-				$match[i] = $ATTR.test($entity) ? {attr: $entity.slice(5, -1)} : getString($entity);
-			}
-			$$content = $match;
-		}
-	}
-	this.content = $$content;
-	// CSS text needs to be decoded immediately
-	this.inherit($selector, _decode($cssText));
-};
-// prototype
-Rule.specialize({
-	constructor: PseudoElement,
-	toString: function() {
-		return "." + this.className + "{display:inline}";
-	},
-	init: function() {
-		// execute the underlying css query for this class
-		this.match = cssQuery(this.selector);
-		for (var i = 0; i < this.match.length; i++) {
-			var $runtimeStyle = this.match[i].runtimeStyle;
-			if (!$runtimeStyle[this.position]) $runtimeStyle[this.position] = {cssText:""};
-			$runtimeStyle[this.position].cssText += ";" + this.cssText;
-			if (this.content != null) $runtimeStyle[this.position].content = this.content;
-		}
-	},
-	recalc: function() {
-		if (this.content == null) return;
-		for (var i = 0; i < this.match.length; i++) {
-			var $target = this.match[i];
-			var $generated = $target.runtimeStyle[this.position];
-			var $$position = $MAP[this.position + Number($target.canHaveChildren)];
-			if ($generated) {
-				// copy the array of values
-				var $content = [].concat($generated.content || "");
-				for (var j = 0; j < $content.length; j++) {
-					if (typeof $content[j] == "object") {
-						$content[j] = $target.getAttribute($content[j].attr);
-					}
-				}
-				$content = $content.join("");
-				var $url = $content.match($URL);
-				// insert the pseudo element
-				var $html = PseudoElement[$url?"OBJECT":"ANON"].replace(/%1/, this.className);
-				var $$cssText = $generated.cssText;
-				if ($url) {
-					var $pseudoElement = document.createElement($html);
-					$target.insertAdjacentElement($$position, $pseudoElement);
-					$pseudoElement.data = _contentPath;
-					addTimer($pseudoElement, $$cssText, Quote.remove($url[1]));
-				} else {
-					$html = $html.replace(/%2/, $$cssText).replace(/%3/, $content);
-					$target.insertAdjacentHTML($$position, $html);
-				}
-				$target.runtimeStyle[this.position] = null;
-			}
-		} // recalc
-	}
-});
-// constants
-PseudoElement.CONTENT = /content\s*:\s*([^;]*)(;|$)/;
-PseudoElement.OBJECT = "<object class='ie7_anon %1' ie7_anon width=100% height=0 type=text/x-scriptlet>";
-PseudoElement.ANON = "<ie7:! class='ie7_anon %1' ie7_anon style='%2'>%3</ie7:!>";
-
-// -----------------------------------------------------------------------
-//  IE7 dynamic pseudo-classes
-// -----------------------------------------------------------------------
-
-// constructor
-function DynamicPseudoClass($name, $apply) {
-	this.name = $name;
-	this.apply = $apply;
-	this.instances = {};
-	ie7CSS.dynamicPseudoClasses[$name] = this;
-};
-// prototype
-Common.specialize({
-	// properties
-	constructor: DynamicPseudoClass,
-//- name: "",
-//- apply: null,
-//- instances: null,
-	// methods
-	register: function($instance) {
-		// an "instance" is actually an Arguments object
-		var $class = $instance[2];
-	//-	var $element = $instance[0];
-		$instance.id = $class.id + $instance[0].uniqueID;
-		if (!this.instances[$instance.id]) {
-			var $target = $instance[1], j;
-			for (j = 0; j < $target.length; j++) $class.add($target[j]);
-			this.instances[$instance.id] = $instance;
-		}
-	},
-	unregister: function($instance) {
-		if (this.instances[$instance.id]) {
-			var $class = $instance[2];
-			var $target = $instance[1], j;
-			for (j = 0; j < $target.length; j++) $class.remove($target[j]);
-			delete this.instances[$instance.id];
-		}
-	}
-});
-
-// -----------------------------------------------------------------------
-// pseudo-classes
-// -----------------------------------------------------------------------
-
-ie7CSS.pseudoClasses.toString = function() {
-	var $toString = [], $pseudoClass;
-	for ($pseudoClass in this) {
-		if (this[$pseudoClass].length > 1) $pseudoClass += "\\([^)]*\\)";
-		$toString.push($pseudoClass);
-	}
-	return $toString.join("|");
-};
-
-// the "ie7-link" property is set by text contained in the IE7 generated
-//  style sheet (the text is stored in the "HEADER")
-ie7CSS.pseudoClasses["link"] = function($element) {
-	return $element.currentStyle["ie7-link"] == "link";
-};
-
-ie7CSS.pseudoClasses["visited"] = function($element) {
-	return $element.currentStyle["ie7-link"] == "visited";
-};
-
-// -----------------------------------------------------------------------
-// dynamic pseudo-classes
-// -----------------------------------------------------------------------
-
-var _MOUSEOVER = (appVersion < 5.5) ? "onmouseover" : "onmouseenter";
-var _MOUSEOUT = (appVersion < 5.5) ? "onmouseout" : "onmouseleave";
-
-ie7CSS.dynamicPseudoClasses.toString = ie7CSS.pseudoClasses.toString;
-
-var _hover = new DynamicPseudoClass("hover", function($element) {
-	var $instance = arguments;
-	addEventHandler($element, _MOUSEOVER, function() {
-		_hover.register($instance);
-	});
-	addEventHandler($element, _MOUSEOUT, function() {
-		_hover.unregister($instance);
-	});
-});
-
-var _focus = new DynamicPseudoClass("focus", function($element) {
-	var $instance = arguments;
-	addEventHandler($element, "onfocus", function() {
-		_focus.unregister($instance); // in case it starts with focus
-		_focus.register($instance);
-	});
-	addEventHandler($element, "onblur", function() {
-		_focus.unregister($instance);
-	});
-	// check the active element for initial state
-	if ($element == document.activeElement) {
-		_focus.register($instance)
-	}
-});
-
-var _active = new DynamicPseudoClass("active", function($element) {
-	var $instance = arguments;
-	addEventHandler($element, "onmousedown", function() {
-		_active.register($instance);
-	});
-});
-
-// globally trap the mouseup event (thanks Martijn!)
-addEventHandler(document, "onmouseup", function() {
-	var $instances = _active.instances, j;
-	for (j in $instances) _active.unregister($instances[j]);
-	$instances = _hover.instances;
-	for (j in $instances)
-		if (!$instances[j][0].contains(event.srcElement))
-			_hover.unregister($instances[j]);
-});
-
-// -----------------------------------------------------------------------
-// attribute selectors
-// -----------------------------------------------------------------------
-
-ICommon(css2.AttributeSelector);
-
-css2.AttributeSelector.specialize({
-	getAttribute: function($name) {
-		switch ($name.toLowerCase()) {
-			case "class":
-				return "e.className.replace(/\\b\\s*ie7_class\\d+/g,'')";
-			case "src":
-				return "(e.pngSrc||e.src)";
-		}
-		return this.inherit($name);
-	}
-});
-
-// -----------------------------------------------------------------------
-// encoding
-// -----------------------------------------------------------------------
-
-// pseudo-elements can be declared with a double colon
-encoder.add(/::/, ":");
-// generated content may be unicode encoded
-safeString.add(/\\([\da-fA-F]{1,4})/, function($match, $offset) {
-	$match = $match[$offset + 1];
-	return "\\u" + "0000".slice($match.length) + $match;
-});
-
-}); // IE7.addModule

Copied: plog/trunk/js/ie7/src/ie7-css2-selectors.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-css2-selectors.js)

Deleted: plog/trunk/js/ie7/src/ie7-css3-selectors.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-css3-selectors.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-css3-selectors.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,258 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-css3-selectors", function() {
-
-/*
-	cssQuery, version 2.0 (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-/* Thanks to Bill Edney */
-
-cssQuery.addModule("css-level3", function() {
-
-// requires the CSS2 module
-var css2 = modules["css-level2"];
-if (!css2) return;
-
-// -----------------------------------------------------------------------
-// selectors
-// -----------------------------------------------------------------------
-
-// indirect sibling selector
-selectors["~"] = function($results, $from, $tagName, $namespace) {
-	var $element, i;
-	for (i = 0; ($element = $from[i]); i++) {
-		while ($element = nextElementSibling($element)) {
-			if (compareTagName($element, $tagName, $namespace))
-				$results.push($element);
-		}
-	}
-};
-
-// -----------------------------------------------------------------------
-// pseudo-classes
-// -----------------------------------------------------------------------
-
-// I'm hoping these are pseudo-classes are pretty readable. Let me know
-//  if any need explanation.
-
-pseudoClasses["contains"] = function($element, $text) {
-	$text = new RegExp(regEscape(getText($text)));
-	return $text.test(getTextContent($element));
-};
-
-pseudoClasses["root"] = function($element) {
-	return $element == getDocument($element).documentElement;
-};
-
-pseudoClasses["empty"] = function($element) {
-	var $node, i;
-	for (i = 0; ($node = $element.childNodes[i]); i++) {
-		if (thisElement($node) || $node.nodeType == 3) return false;
-	}
-	return true;
-};
-
-pseudoClasses["last-child"] = function($element) {
-	return !nextElementSibling($element);
-};
-
-pseudoClasses["only-child"] = function($element) {
-	$element = $element.parentNode;
-	return firstElementChild($element) == lastElementChild($element);
-};
-
-pseudoClasses["not"] = function($element, $selector) {
-	var $negated = cssQuery($selector, getDocument($element));
-	for (var i = 0; i < $negated.length; i++) {
-		if ($negated[i] == $element) return false;
-	}
-	return true;
-};
-
-pseudoClasses["nth-child"] = function($element, $arguments) {
-	return nthChild($element, $arguments, previousElementSibling);
-};
-
-pseudoClasses["nth-last-child"] = function($element, $arguments) {
-	return nthChild($element, $arguments, nextElementSibling);
-};
-
-pseudoClasses["target"] = function($element) {
-	return $element.id == location.hash.slice(1);
-};
-
-// UI element states
-
-pseudoClasses["checked"] = function($element) {
-	return $element.checked;
-};
-
-pseudoClasses["enabled"] = function($element) {
-	return $element.disabled === false;
-};
-
-pseudoClasses["disabled"] = function($element) {
-	return $element.disabled;
-};
-
-pseudoClasses["indeterminate"] = function($element) {
-	return $element.indeterminate;
-};
-
-// -----------------------------------------------------------------------
-//  attribute selector tests
-// -----------------------------------------------------------------------
-
-// allow the CSS3 module to see this class
-var AttributeSelector = css2.AttributeSelector;
-
-AttributeSelector.tests["^="] = function($attribute, $value) {
-	return "/^" + regEscape($value) + "/.test(" + $attribute + ")";
-};
-
-AttributeSelector.tests["$="] = function($attribute, $value) {
-	return "/" + regEscape($value) + "$/.test(" + $attribute + ")";
-};
-
-AttributeSelector.tests["*="] = function($attribute, $value) {
-	return "/" + regEscape($value) + "/.test(" + $attribute + ")";
-};
-
-// -----------------------------------------------------------------------
-//  nth child support (Bill Edney)
-// -----------------------------------------------------------------------
-
-function nthChild($element, $arguments, $traverse) {
-	switch ($arguments) {
-		case "n": return true;
-		case "even": $arguments = "2n"; break;
-		case "odd": $arguments = "2n+1";
-	}
-
-	var $$children = childElements($element.parentNode);
-	function _checkIndex($index) {
-		var $index = ($traverse == nextElementSibling) ? $$children.length - $index : $index - 1;
-		return $$children[$index] == $element;
-	};
-
-	//	it was just a number (no "n")
-	if (!isNaN($arguments)) return _checkIndex($arguments);
-
-	$arguments = $arguments.split("n");
-	var $multiplier = parseInt($arguments[0]);
-	var $step = parseInt($arguments[1]);
-
-	if ((isNaN($multiplier) || $multiplier == 1) && $step == 0) return true;
-	if ($multiplier == 0 && !isNaN($step)) return _checkIndex($step);
-	if (isNaN($step)) $step = 0;
-
-	var $count = 1;
-	while ($element = $traverse($element)) $count++;
-
-	if (isNaN($multiplier) || $multiplier == 1)
-		return ($traverse == nextElementSibling) ? ($count <= $step) : ($step >= $count);
-
-	return ($count % $multiplier) == $step;
-};
-
-}); // addModule
-var firstElementChild = cssQuery.valueOf("firstElementChild");
-
-// -----------------------------------------------------------------------
-// pseudo-classes
-// -----------------------------------------------------------------------
-
-ie7CSS.pseudoClasses["root"] = function($element) {
-	return ($element == viewport) || (!isHTML && $element == firstElementChild(body));
-};
-
-// -----------------------------------------------------------------------
-// dynamic pseudo-classes
-// -----------------------------------------------------------------------
-
-// :checked
-var _checked = new ie7CSS.DynamicPseudoClass("checked", function($element) {
-	var $instance = arguments;
-	addEventHandler($element, "onpropertychange", function() {
-		if (event.propertyName == "checked") {
-			if ($element.checked) _checked.register($instance);
-			else _checked.unregister($instance);
-		}
-	});
-	// check current checked state
-	if ($element.checked) _checked.register($instance);
-});
-
-// :enabled
-var _enabled = new ie7CSS.DynamicPseudoClass("enabled", function($element) {
-	var $instance = arguments;
-	addEventHandler($element, "onpropertychange", function() {
-		if (event.propertyName == "disabled") {
-			if ($element.disabled === false) _enabled.register($instance);
-			else _enabled.unregister($instance);
-		}
-	});
-	// check current disabled state
-	if ($element.disabled === false) _enabled.register($instance);
-});
-
-// :disabled
-var _disabled = new ie7CSS.DynamicPseudoClass("disabled", function($element) {
-	var $instance = arguments;
-	addEventHandler($element, "onpropertychange", function() {
-		if (event.propertyName == "disabled") {
-			if ($element.disabled) _disabled.register($instance);
-			else _disabled.unregister($instance);
-		}
-	});
-	// check current disabled state
-	if ($element.disabled) _disabled.register($instance);
-});
-
-// :indeterminate (Kevin Newman)
-var _indeterminate = new ie7CSS.DynamicPseudoClass("indeterminate", function($element) {
-	var $instance = arguments;
-	addEventHandler($element, "onpropertychange", function() {
-		if (event.propertyName == "indeterminate") {
-			if ($element.indeterminate) _indeterminate.register($instance);
-			else _indeterminate.unregister($instance);
-		}
-	});
-	addEventHandler($element, "onclick", function() {
-		_indeterminate.unregister($instance);
-	});
-	// clever Kev says no need to check this up front
-});
-
-// :target
-var _target = new ie7CSS.DynamicPseudoClass("target", function($element) {
-	var $instance = arguments;
-	// if an element has a tabIndex then it can become "active".
-	//  The default is zero anyway but it works...
-	if (!$element.tabIndex) $element.tabIndex = 0;
-	// this doesn't detect the back button. I don't know how to do that :-(
-	addEventHandler(document, "onpropertychange", function() {
-		if (event.propertyName == "activeElement") {
-			if ($element.id == location.hash.slice(1)) _target.register($instance);
-			else _target.unregister($instance);
-		}
-	});
-	// check the current location
-	if ($element.id == location.hash.slice(1)) _target.register($instance);
-});
-
-// -----------------------------------------------------------------------
-// encoding
-// -----------------------------------------------------------------------
-
-// CSS namespaces
-decoder.add(/\|/, "\\:");
-
-}); // IE7.addModule

Copied: plog/trunk/js/ie7/src/ie7-css3-selectors.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-css3-selectors.js)

Deleted: plog/trunk/js/ie7/src/ie7-dhtml.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-dhtml.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-dhtml.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,58 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-dhtml", function() {
-
-/* ---------------------------------------------------------------------
-  This module is still in development and should not be used.
---------------------------------------------------------------------- */
-
-
-ie7CSS.specialize("recalc", function() {
-	this.inherit();
-	for (var i = 0; i < this.recalcs.length; i++) {
-		var $recalc = this.recalcs[i];
-		for (var j = 0; i < $recalc[3].length; i++) {
-			_addPropertyChangeHandler($recalc[3][j], _getPropertyName($recalc[2]), $recalc[1]);
-		}
-	}
-});
-
-// constants
-var _PATTERNS = {
-	width: "(width|paddingLeft|paddingRight|borderLeftWidth|borderRightWidth|borderLeftStyle|borderRightStyle)",
-	height:	"(height|paddingTop|paddingBottom|borderTopHeight|borderBottomHeight|borderTopStyle|borderBottomStyle)"
-};
-var _PROPERTY_NAMES = {
-	width: "fixedWidth",
-	height: "fixedHeight",
-	right: "width",
-	bottom: "height"
-};
-var _DASH_LETTER = /-(\w)/g;
-var _PROPERTY_NAME = /\w+/;
-
-function _addPropertyChangeHandler($element, $propertyName, $fix) {
-	addEventHandler($element, "onpropertychange", function() {
-		if (_getPattern($propertyName).test(event.propertyName)) {
-			_reset($element, $propertyName);
-			$fix($element);
-		}
-	});
-};
-function _upper($match, $letter) {return $letter.toUpperCase()};
-function _getPropertyName($pattern) {
-	return String(String($pattern).toLowerCase().replace(_DASH_LETTER, _upper).match(_PROPERTY_NAME));
-};
-function _getPattern($propertyName) {
-	return eval("/^style." + (_PATTERNS[$propertyName] || $propertyName) + "$/");
-};
-function _reset($element, $propertyName) {
-	$element.runtimeStyle[$propertyName] = "";
-	$propertyName = _PROPERTY_NAMES[$propertyName]
-	if ($propertyName) $element.runtimeStyle[$propertyName] = "";
-};
-
-});

Copied: plog/trunk/js/ie7/src/ie7-dhtml.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-dhtml.js)

Deleted: plog/trunk/js/ie7/src/ie7-dynamic-attributes.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-dynamic-attributes.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-dynamic-attributes.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,90 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-dynamic-attributes", function() {
-
-// -----------------------------------------------------------------------
-// IE7 Dynamic Attribute Class
-// -----------------------------------------------------------------------
-
-// requires another module
-if (!modules["ie7-css2-selectors"]) return;
-
-/* ---
-
-// Class properties:
-// attach: the element(s) that a dynamic attribute selector will be attached to
-// target: the element(s) that will have the IE7 class applied
-
-For example:
-  fieldset p.required > input[value=""] + sup {color: red;}
-In this example attach="fieldset p.required > input" and target="+ sup".
-
---- */
-
-// cssQuery internals
-var attributeSelectors = cssQuery.valueOf("attributeSelectors");
-var parseSelector = cssQuery.valueOf("parseSelector");
-
-// constructor
-function DynamicAttribute($selector, $attach, $dynamicAttribute, $target, $cssText) {
-	// initialise object properties
-	this.attach = $attach || "*";
-	parseSelector($dynamicAttribute);
-	this.dynamicAttribute = attributeSelectors["@" + $dynamicAttribute];
-	this.target = $target;
-	this.inherit($selector, $cssText);
-};
-// protoytype
-ie7CSS.Rule.specialize({
-	// properties
-	constructor: DynamicAttribute,
-//- attach: "",
-//- dynamicAttribute: null,
-//- target: "",
-	// methods
-	recalc: function() {
-		// execute the underlying css query for this class
-		var $match = cssQuery(this.attach);
-		// process results
-		for (var i = 0; i < $match.length; i++) {
-			// retrieve the event handler's target element(s)
-			var $target = (this.target) ? cssQuery(this.target, $match[i]) : [$match[i]];
-			// attach event handlers for dynamic attributes
-			if ($target.length) this.apply($match[i], $target);
-		}
-	},
-	apply: function($element, $target) {
-		var self = this;
-		// watch property changes
-		addEventHandler($element, "onpropertychange", function() {
-			// check the attribute name
-			if (event.propertyName == self.dynamicAttribute.name)
-				// turn the selector on/off
-				self.test($element, $target);
-		});
-		this.test($element, $target);
-	},
-	test: function($element, $target) {
-		var $action = this.dynamicAttribute.test($element) ? "add" : "remove";
-		for (var i = 0; ($element = $target[i]); i++) this[$action]($element);
-
-	}
-});
-// constants
-DynamicAttribute.MATCH = /(.*)(\[[^\]]*\])(.*)/;
-
-// intercept creation of IE7 rules
-StyleSheet.prototype.specialize({
-	createRule: function($selector, $cssText) {
-		var $match;
-		if ($match = $selector.match(DynamicAttribute.MATCH)) {
-			return new DynamicAttribute($selector, $match[1], $match[2], $match[3], $cssText);
-		} else return this.inherit($selector, $cssText);
-	}
-});
-
-}); // addModule

Copied: plog/trunk/js/ie7/src/ie7-dynamic-attributes.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-dynamic-attributes.js)

Deleted: plog/trunk/js/ie7/src/ie7-fixed.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-fixed.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-fixed.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,243 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-fixed", function() {
-	// some things to consider for this hack.
-	// the document body requires a fixed background. even if
-	//  it is just a blank image.
-	// you have to use setExpression instead of onscroll, this
-	//  together with a fixed body background helps avoid the
-	//  annoying screen flicker of other solutions.
-
-	ie7CSS.addRecalc("position", "fixed", _positionFixed, "absolute");
-	ie7CSS.addRecalc("background(-attachment)?", "[^};]*fixed", _backgroundFixed);
-
-	// scrolling is relative to the documentElement (HTML tag) when in
-	//  standards mode, otherwise it's relative to the document body
-	var _viewport = (quirksMode) ? "body" : "documentElement";
-
-	var _fixBackground = function() {
-		// this is required by both position:fixed and background-attachment:fixed.
-		// it is necessary for the document to also have a fixed background image.
-		// we can fake this with a blank image if necessary
-		if (body.currentStyle.backgroundAttachment != "fixed") {
-			if (body.currentStyle.backgroundImage == "none") {
-				body.runtimeStyle.backgroundRepeat = "no-repeat";
-				body.runtimeStyle.backgroundImage = "url(" + BLANK_GIF + ")"; // dummy
-			}
-			body.runtimeStyle.backgroundAttachment = "fixed";
-		}
-		_fixBackground = DUMMY;
-	};
-
-	var _tmp = createTempElement("img");
-
-	// clone a "left" function to create a "top" function
-	function _rotate($function) {
-		return _rotater.exec(String($function));
-	};
-	var _rotater = new ParseMaster;
-	_rotater.add(/Left/, "Top");
-	_rotater.add(/left/, "top");
-	_rotater.add(/Width/, "Height");
-	_rotater.add(/width/, "height");
-	_rotater.add(/right/, "bottom");
-	_rotater.add(/X/, "Y");
-
-	function _isFixed($element) {
-		return ($element) ? isFixed($element) || _isFixed($element.parentElement) : false;
-	};
-
-	function setExpression($element, $propertyName, $$expression) {
-		setTimeout("document.all." + $element.uniqueID + ".runtimeStyle.setExpression('" +
-			$propertyName + "','" + $$expression + "')", 0);
-	};
-
-// -----------------------------------------------------------------------
-//  backgroundAttachment: fixed
-// -----------------------------------------------------------------------
-
-	function _backgroundFixed($element) {
-		if (register(_backgroundFixed, $element,
-			$element.currentStyle.backgroundAttachment == "fixed" && !$element.contains(body))) {
-				_fixBackground();
-				backgroundLeft($element);
-				backgroundTop($element);
-				_backgroundPosition($element);
-		}
-	};
-
-	function _backgroundPosition($element) {
-		_tmp.src = $element.currentStyle.backgroundImage.slice(5, -2);
-		var $parentElement = ($element.canHaveChildren) ? $element : $element.parentElement;
-		$parentElement.appendChild(_tmp);
-		setOffsetLeft($element);
-		setOffsetTop($element);
-		$parentElement.removeChild(_tmp);
-	};
-
-	function backgroundLeft($element) {
-		$element.style.backgroundPositionX = $element.currentStyle.backgroundPositionX;
-		if (!_isFixed($element)) {
-			var $$expression = "(parseInt(runtimeStyle.offsetLeft)+document." +
-				 _viewport + ".scrollLeft)||0";
-			setExpression($element, "backgroundPositionX", $$expression);
-		}
-	};
-	eval(_rotate(backgroundLeft));
-
-	function setOffsetLeft($element) {
-		var $propertyName = _isFixed($element) ? "backgroundPositionX" : "offsetLeft";
-		$element.runtimeStyle[$propertyName] =
-			getOffsetLeft($element, $element.style.backgroundPositionX) -
-			$element.getBoundingClientRect().left - $element.clientLeft + 2;
-	};
-	eval(_rotate(setOffsetLeft));
-
-	function getOffsetLeft($element, $position) {
-		switch ($position) {
-			case "left":
-			case "top":
-				return 0;
-			case "right":
-			case "bottom":
-				return viewport.clientWidth - _tmp.offsetWidth;
-			case "center":
-				return (viewport.clientWidth - _tmp.offsetWidth) / 2;
-			default:
-				if (PERCENT.test($position)) {
-					return parseInt((viewport.clientWidth - _tmp.offsetWidth) *
-						parseFloat($position) / 100);
-				}
-				_tmp.style.left = $position;
-				return _tmp.offsetLeft;
-		}
-	};
-	eval(_rotate(getOffsetLeft));
-
-// -----------------------------------------------------------------------
-//  position: fixed
-// -----------------------------------------------------------------------
-
-	function _positionFixed($element) {
-		if (register(_positionFixed, $element, isFixed($element))) {
-			setOverrideStyle($element, "position",  "absolute");
-			setOverrideStyle($element, "left",  $element.currentStyle.left);
-			setOverrideStyle($element, "top",  $element.currentStyle.top);
-			_fixBackground();
-			if (ie7Layout) ie7Layout.fixRight($element);
-			_foregroundPosition($element);
-		}
-	};
-
-	function _foregroundPosition($element, $recalc) {
-		positionTop($element, $recalc);
-		positionLeft($element, $recalc, true);
-		if (!$element.runtimeStyle.autoLeft && $element.currentStyle.marginLeft == "auto" &&
-			$element.currentStyle.right != "auto") {
-			var $left = viewport.clientWidth - getPixelWidth($element, $element.currentStyle.right) -
-				getPixelWidth($element, $element.runtimeStyle._left) - $element.clientWidth;
-			if ($element.currentStyle.marginRight == "auto") $left = parseInt($left / 2);
-			if (_isFixed($element.offsetParent)) $element.runtimeStyle.pixelLeft += $left;
-			else $element.runtimeStyle.shiftLeft = $left;
-		}
-		clipWidth($element);
-		clipHeight($element);
-	};
-
-	function clipWidth($element) {
-		if ($element.currentStyle.width != "auto") {
-			var $rect = $element.getBoundingClientRect();
-			var $width = $element.offsetWidth - viewport.clientWidth + $rect.left - 2;
-			if ($width >= 0) $element.runtimeStyle.width =
-				getPixelValue($element, $element.currentStyle.width) - $width;
-		}
-	};
-	eval(_rotate(clipWidth));
-
-	function positionLeft($element, $recalc) {
-		// if the element's width is in % units then it must be recalculated
-		//  with respect to the viewport
-		if (!$recalc && PERCENT.test($element.currentStyle.width)) {
-			$element.runtimeStyle.fixWidth = $element.currentStyle.width;
-		}
-		if ($element.runtimeStyle.fixWidth) {
-			$element.runtimeStyle.width = getPixelWidth($element, $element.runtimeStyle.fixWidth);
-		}
-		if ($recalc) {
-			// if the element is fixed on the right then no need to recalculate
-			if (!$element.runtimeStyle.autoLeft) return;
-		} else {
-			$element.runtimeStyle.shiftLeft = 0;
-			$element.runtimeStyle._left = $element.currentStyle.left;
-			// is the element fixed on the right?
-			$element.runtimeStyle.autoLeft = $element.currentStyle.right != "auto" &&
-				$element.currentStyle.left == "auto";
-		}
-		// reset the element's "left" value and get it's natural position
-		$element.runtimeStyle.left = "";
-		$element.runtimeStyle.screenLeft = getScreenLeft($element);
-		$element.runtimeStyle.pixelLeft = $element.runtimeStyle.screenLeft;
-		// if the element is contained by another fixed element then there is no need to
-		//  continually recalculate it's left position
-		if (!$recalc && !_isFixed($element.offsetParent)) {
-			// onsrcoll produces jerky movement, so we use an expression
-			var $$expression = "runtimeStyle.screenLeft+runtimeStyle.shiftLeft+document." +
-				_viewport + ".scrollLeft";
-			setExpression($element, "pixelLeft", $$expression);
-		}
-	};
-	// clone this function so we can do "top"
-	eval(_rotate(positionLeft));
-
-	// i've forgotten how this works...
-	function getScreenLeft($element) { // thanks to kevin newman (captainn)
-		var $screenLeft = $element.offsetLeft, $nested = 1;
-		if ($element.runtimeStyle.autoLeft) {
-			$screenLeft = viewport.clientWidth - $element.offsetWidth -
-				getPixelWidth($element, $element.currentStyle.right);
-		}
-		// accommodate margins
-		if ($element.currentStyle.marginLeft != "auto") {
-			$screenLeft -= getPixelWidth($element, $element.currentStyle.marginLeft);
-		}
-		while ($element = $element.offsetParent) {
-			if ($element.currentStyle.position != "static") $nested = -1;
-			$screenLeft += $element.offsetLeft * $nested;
-		}
-		return $screenLeft;
-	};
-	eval(_rotate(getScreenLeft));
-
-	function getPixelWidth($element, $value) {
-		if (PERCENT.test($value)) return parseInt(parseFloat($value) / 100 * viewport.clientWidth);
-		return getPixelValue($element, $value);
-	};
-	eval(_rotate(getPixelWidth));
-
-// -----------------------------------------------------------------------
-//  capture window resize
-// -----------------------------------------------------------------------
-
-	function _resize() {
-		// if the window has been resized then some positions need to be
-		//  recalculated (especially those aligned to "right" or "top"
-		for (var i in _backgroundFixed.elements) {
-			_backgroundPosition(_backgroundFixed.elements[i]);
-		}
-		for (i in _positionFixed.elements) {
-			_foregroundPosition(_positionFixed.elements[i], true);
-		}
-		_timer = 0;
-	};
-
-	// use a timer for some reason.
-	//  (sometimes this is a good way to prevent resize loops)
-	var _timer;
-	addResize(function() {
-		if (!_timer) _timer = setTimeout(_resize, 0);
-	});
-
-});
\ No newline at end of file

Copied: plog/trunk/js/ie7/src/ie7-fixed.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-fixed.js)

Deleted: plog/trunk/js/ie7/src/ie7-graphics.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-graphics.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-graphics.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,109 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-graphics", function() {
-
-if (appVersion < 5.5) return; // IE5.0 not supported
-
-// constants
-// this filter is used to replace a PNG image
-var $ALPHA_IMAGE_LOADER = "DXImageTransform.Microsoft.AlphaImageLoader";
-var $FILTER = "progid:" + $ALPHA_IMAGE_LOADER + "(src='%1',sizingMethod='scale')";
-
-// ** IE7 VARIABLE
-// e.g. only apply the hack to files ending in ".png"
-// IE7_PNG_SUFFIX = ".png";
-
-// regular expression version of the above
-var _pngTest = new RegExp((window.IE7_PNG_SUFFIX || "-trans.png") + "$", "i");
-var _filtered = [];
-
-// apply a filter
-function _addFilter($element) {
-	var $filter = $element.filters[$ALPHA_IMAGE_LOADER];
-	if ($filter) {
-		$filter.src = $element.src;
-		$filter.enabled = true;
-	} else {
-		$element.runtimeStyle.filter = $FILTER.replace(/%1/, $element.src);
-		_filtered.push($element);
-	}
-	// remove the real image
-	$element.src = BLANK_GIF;
-};
-function _removeFilter($element) {
-	$element.src = $element.pngSrc;
-	$element.filters[$ALPHA_IMAGE_LOADER].enabled = false;
-};
-
-// -----------------------------------------------------------------------
-//  support opacity (CSS3)
-// -----------------------------------------------------------------------
-
-ie7CSS.addFix(/opacity\s*:\s*([\d.]+)/, function($match, $offset) {
-	return "zoom:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=" +
-		((parseFloat($match[$offset + 1]) * 100) || 1) + ")";
-});
-
-// -----------------------------------------------------------------------
-//  fix PNG transparency (CSS background images)
-// -----------------------------------------------------------------------
-
-
-// replace background(-image): url(..) ..  with background(-image): .. ;filter: ..;
-var $BACKGROUND = /background(-image)?\s*:\s*([^\(};]*)url\(([^\)]+)\)([^;}]*)/;
-ie7CSS.addFix($BACKGROUND, function($match, $offset) {
-	var $url = getString($match[$offset + 3]);
-	return _pngTest.test($url) ? "filter:" +
-		$FILTER.replace(/scale/, "crop").replace(/%1/, $url) + ";zoom:1;background" +
-		  ($match[$offset + 1]||"") + ":" + ($match[$offset + 2]||"") + "none" +
-		  ($match[$offset + 4]||"") : $match[$offset];
-});
-
-// -----------------------------------------------------------------------
-//  fix PNG transparency (HTML images)
-// -----------------------------------------------------------------------
-
-if (ie7HTML) {
-	ie7HTML.addRecalc("img,input", function($element) {
-		if ($element.tagName == "INPUT" && $element.type != "image") return;
-		_fixImg($element);
-		addEventHandler($element, "onpropertychange", function() {
-			if (!_printing && event.propertyName == "src" &&
-				$element.src.indexOf(BLANK_GIF) == -1) _fixImg($element);
-		});
-	});
-	function _fixImg($element) {
-		if (_pngTest.test($element.src)) {
-			// we have to preserve width and height
-			var $image = new Image($element.width, $element.height);
-			$image.onload = function() {
-				$element.width = $image.width;
-				$element.height = $image.height;
-			};
-			$image.src = $element.src;
-			// store the original url (we'll put it back when it's printed)
-			$element.pngSrc = $element.src;
-			// add the AlphaImageLoader thingy
-			_addFilter($element);
-		}
-	};
-}
-
-// assume that background images should not be printed
-//  (if they are not transparent then they'll just obscure content)
-// but we'll put foreground images back...
-var _printing = false;
-addEventHandler(window, "onbeforeprint", function() {
-	_printing = true;
-	for (var i = 0; i < _filtered.length; i++) _removeFilter(_filtered[i]);
-});
-addEventHandler(window, "onafterprint", function() {
-	for (var i = 0; i < _filtered.length; i++) _addFilter(_filtered[i]);
-	_printing = false;
-});
-
-});
\ No newline at end of file

Copied: plog/trunk/js/ie7/src/ie7-graphics.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-graphics.js)

Deleted: plog/trunk/js/ie7/src/ie7-html4.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-html4.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-html4.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,175 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-html4", function() {
-
-// don't bother with this for XML documents
-if (!isHTML) return;
-
-// -----------------------------------------------------------------------
-// HTML Header
-// -----------------------------------------------------------------------
-
-// create default font-sizes
-HEADER += "h1{font-size:2em}h2{font-size:1.5em;}h3{font-size:1.17em;}" +
-	"h4{font-size:1em}h5{font-size:.83em}h6{font-size:.67em}";
-
-// -----------------------------------------------------------------------
-// IE7 HTML Factory
-// -----------------------------------------------------------------------
-
-ie7HTML = new (Fix.specialize({ // single instance
-	init: DUMMY,
-	// fixes are a one-off, they are applied when the document is loaded
-	addFix: function() {
-		this.fixes.push(arguments);
-	},
-	apply: function() {
-		for (var i = 0; i < this.fixes.length; i++) {
-			var $match = cssQuery(this.fixes[i][0]);
-			var $fix = this.fixes[i][1] || _fixElement;
-			for (var j = 0; j < $match.length; j++) $fix($match[j]);
-		}
-	},
-	// recalcs occur whenever the document is refreshed using document.recalc()
-	addRecalc: function() {
-		this.recalcs.push(arguments);
-	},
-	recalc: function() {
-		// loop through the fixes
-		for (var i = 0; i < this.recalcs.length; i++) {
-			var $match = cssQuery(this.recalcs[i][0]);
-			var $recalc = this.recalcs[i][1], $element;
-			for (var j = 0; ($element = $match[j]); j++) {
-				$element = $recalc($element) || $element;
-			}
-		}
-	}
-})); // ie7HTML
-
-// -----------------------------------------------------------------------
-// <abbr>
-// -----------------------------------------------------------------------
-
-// provide support for the <abbr> tag.
-//  this is a proper fix, it preserves the DOM structure and
-//  <abbr> elements report the correct tagName & namespace prefix
-ie7HTML.addFix("abbr");
-
-
-// -----------------------------------------------------------------------
-// <object>
-// -----------------------------------------------------------------------
-
-// fix [type=image/*]
-var $IMAGE = /^image/i;
-var _objectPath = makePath("ie7-object.htc", path);
-ie7HTML.addRecalc("object", function($element) {
-	if ($IMAGE.test($element.type)) {
-	 	var $object = document.createElement("<object type=text/x-scriptlet>");
-	 	$object.style.width = $element.currentStyle.width;
-	 	$object.style.height = $element.currentStyle.height;
-	//-	$object.title = $element.title;
-	 	$object.data = _objectPath;
-		var $url = makePath($element.data, getPath(location.href));
-		$element.parentNode.replaceChild($object, $element);
-		cssQuery.clearCache("object");
-		addTimer($object, "", $url);
-		return $object;
-	}
-	});
-
-// -----------------------------------------------------------------------
-// <label>
-// -----------------------------------------------------------------------
-
-// bind to the first child control
-ie7HTML.addRecalc("label", function($element) {
-	if (!$element.htmlFor) {
-		var $firstChildControl = cssQuery("input,select,textarea", $element)[0];
-		if ($firstChildControl) {
-			addEventHandler($element, "onclick", function() {
-				$firstChildControl.click();
-			});
-		}
-	}
-});
-
-// -----------------------------------------------------------------------
-// <button>
-// -----------------------------------------------------------------------
-
-// IE bug means that innerText is submitted instead of "value"
-ie7HTML.addRecalc("button,input", function($element) {
-	if ($element.tagName == "BUTTON") {
-		var $match = $element.outerHTML.match(/ value="([^"]*)"/i);
-		$element.runtimeStyle.value = ($match) ? $match[1] : "";
-	}
-	// flag the button/input that was used to submit the form
-	if ($element.type == "submit") {
-		addEventHandler($element, "onclick", function() {
-			$element.runtimeStyle.clicked = true;
-			setTimeout("document.all." + $element.uniqueID + ".runtimeStyle.clicked=false", 1);
-		});
-	}
-});
-
-// -----------------------------------------------------------------------
-// <form>
-// -----------------------------------------------------------------------
-
-// only submit "successful controls
-var $UNSUCCESSFUL = /^(submit|reset|button)$/;
-ie7HTML.addRecalc("form", function($element) {
-	addEventHandler($element, "onsubmit", function() {
-		for (var i = 0; i < $element.length; i++) {
-			if (_unsuccessful($element[i])) {
-				$element[i].disabled = true;
-				setTimeout("document.all." + $element[i].uniqueID + ".disabled=false", 1);
-			} else if ($element[i].tagName == "BUTTON" && $element[i].type == "submit") {
-				setTimeout("document.all." + $element[i].uniqueID + ".value='" +
-					$element[i].value + "'", 1);
-				$element[i].value = $element[i].runtimeStyle.value;
-			}
-		}
-	});
-});
-function _unsuccessful($element) {
-	return $UNSUCCESSFUL.test($element.type) && !$element.disabled &&
-		!$element.runtimeStyle.clicked;
-};
-
-// -----------------------------------------------------------------------
-// <img>
-// -----------------------------------------------------------------------
-
-// get rid of the spurious tooltip produced by the alt attribute on images
-ie7HTML.addRecalc("img", function($element) {
-	if ($element.alt && !$element.title) $element.title = "";
-});
-
-// -----------------------------------------------------------------------
-// Fix broken elements
-// -----------------------------------------------------------------------
-
-var $PREFIX = (appVersion < 5.5) ? "HTML:" : "";
-function _fixElement($element) {
-	var $fixedElement = document.createElement("<" + $PREFIX +
-		$element.outerHTML.slice(1));
-	if ($element.outerHTML.slice(-2) != "/>") {
-		// remove child nodes and copy them to the new $element
-		var $$endTag = "</"+ $element.tagName + ">", $nextSibling;
-		while (($nextSibling = $element.nextSibling) && $nextSibling.outerHTML != $$endTag) {
-			$fixedElement.appendChild($nextSibling);
-		}
-		// remove the closing tag
-		if ($nextSibling) $nextSibling.removeNode();
-	}
-	// replace the broken tag with the namespaced version
-	$element.parentNode.replaceChild($fixedElement, $element);
-};
-
-}); // addModule

Copied: plog/trunk/js/ie7/src/ie7-html4.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-html4.js)

Deleted: plog/trunk/js/ie7/src/ie7-ie5.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-ie5.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-ie5.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,84 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-if (appVersion < 5.5) {
-
-/* ---------------------------------------------------------------------
-  This module is loaded automatically by IE7.
---------------------------------------------------------------------- */
-
-	ANON = "HTML:!"; // for anonymous content
-
-	var $$apply = function($function, $object, $arguments) {
-		$function.apply($object, $arguments);
-	};
-
-	// fix String.replace
-	if (''.replace(/^/, String)) {
-		// preserve String.replace
-		var _stringReplace = String.prototype.replace;
-		// create String.replace for handling functions
-		var _functionReplace = function($expression, $replacement) {
-			var $match, $newString = "", $string = this;
-			while ($string && ($match = $expression.exec($string))) {
-				$newString += $string.slice(0, $match.index) + $$apply($replacement, this, $match);
-				$string = $string.slice($match.lastIndex);
-			}
-			return $newString + $string;
-		};
-		// replace String.replace
-		String.prototype.replace = function ($expression, $replacement) {
-			this.replace = (typeof $replacement == "function") ? _functionReplace : _stringReplace;
-			return this.replace($expression, $replacement);
-		};
-	}
-
-	// fix Function.apply
-	if (!Function.apply) {
-		var APPLY = "apply-" + Number(new Date);
-		$$apply = function(f, o, a) {
-			var r;
-			o[APPLY] = f;
-			switch (a.length) { // deconstruct for speed
-				case 0: r = o[APPLY](); break;
-				case 1: r = o[APPLY](a[0]); break;
-				case 2: r = o[APPLY](a[0], a[1]); break;
-				case 3: r = o[APPLY](a[0], a[1], a[2]); break;
-				case 4: r = o[APPLY](a[0], a[1], a[2], a[3]); break;
-				default:
-					var aa = [], i = a.length - 1;
-					do aa[i] = "a[" + i + "]"; while (i--);
-					eval("r=o[APPLY](" + aa + ")");
-			}
-			delete o[APPLY];
-			return r;
-		};
-		// fix ICommon
-		ICommon.valueOf.prototype.inherit = function() {
-			return $$apply(arguments.callee.caller.ancestor, this, arguments);
-		};
-	}
-
-	// array fixes
-	if (![].push) Array.prototype.push = function() {
-		for (var i = 0; i < arguments.length; i++) {
-			this[this.length] = arguments[i];
-		}
-		return this.length;
-	};
-	if (![].pop) Array.prototype.pop = function() {
-		var $item = this[this.length - 1];
-		this.length--;
-		return $item;
-	};
-
-	// block elements are "inline" according to IE5.0 so we'll fix it
-	if (isHTML) {
-		HEADER += "address,blockquote,body,dd,div,dt,fieldset,form,"+
-		"frame,frameset,h1,h2,h3,h4,h5,h6,iframe,noframes,object,p,"+
-		"hr,applet,center,dir,menu,pre,dl,li,ol,ul{display:block}";
-	}
-}

Copied: plog/trunk/js/ie7/src/ie7-ie5.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-ie5.js)

Deleted: plog/trunk/js/ie7/src/ie7-layout.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-layout.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-layout.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,252 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-layout", function() {
-// big, ugly box-model hack + min/max stuff
-
-// #tantek > #erik > #dean { voice-family: hacker; }
-
-// this module is useful to other modules so it is global
-//  (all modules are anyway through the modules collection)
-ie7Layout = this;
-
-// -----------------------------------------------------------------------
-// "layout"
-// -----------------------------------------------------------------------
-
-// does an element have "layout" ?
-this.hasLayout = (appVersion < 6) ? function($element) {
-	// element.currentStyle.hasLayout doesn't work for IE5.x
-	return $element.clientWidth;
-} : function($element) {
-	return $element.currentStyle.hasLayout;
-};
-
-// give an element "layout"
-this.boxSizing = function($element) {
-	if (!ie7Layout.hasLayout($element)) {
-	//#	$element.runtimeStyle.fixedHeight =
-		$element.runtimeStyle.height = "0cm";
-		if ($element.currentStyle.verticalAlign == "auto")
-			$element.runtimeStyle.verticalAlign = "top";
-		// when an element acquires "layout", margins no longer collapse correctly
-		_collapseMargins($element);
-	}
-};
-
-// -----------------------------------------------------------------------
-// Margin Collapse
-// -----------------------------------------------------------------------
-
-function _collapseMargins($element) {
-	if ($element.currentStyle.position != "absolute") {
-		collapseMarginTop($element);
-		collapseMarginBottom($element);
-	}
-};
-
-var firstElementChild = cssQuery.valueOf("firstElementChild");
-var lastElementChild = cssQuery.valueOf("lastElementChild");
-
-function collapseMarginTop($element) {
-	if (!$element.runtimeStyle.marginTop) {
-		var $firstChild = firstElementChild($element);
-		if ($firstChild && $firstChild.currentStyle.styleFloat == "none") {
-			if ($element != viewport) {
-				if (ie7Layout.hasLayout($firstChild)) collapseMarginTop($firstChild);
-				$marginTop = _getMargin($element, $element.currentStyle.marginTop);
-				$childMarginTop = _getMargin($firstChild, $firstChild.currentStyle.marginTop);
-				if ($marginTop < 0 || $childMarginTop < 0) {
-					$element.runtimeStyle.marginTop =  $marginTop + $childMarginTop;
-				} else {
-					$element.runtimeStyle.marginTop =  Math.max($childMarginTop, $marginTop);
-				}
-			}
-			$firstChild.runtimeStyle.marginTop = "0px";
-		}
-	}
-};
-eval(String(collapseMarginTop).replace(/Top/g, "Bottom").replace(/first/g, "last"));
-
-function _getMargin($element, $value) {
-	return ($value == "auto") ? 0 : getPixelValue($element, $value);
-};
-
-// -----------------------------------------------------------------------
-// box-model
-// -----------------------------------------------------------------------
-
-// constants
-var $UNIT = /^[.\d][\w%]*$/, $AUTO = /^(auto|0cm)$/, $NUMERIC = "[.\\d]";
-
-function fixWidth($HEIGHT) {
-	fixWidth = function($element, $value) {
-		if (!$element.runtimeStyle.fixedWidth) {
-			if (!$value) $value = $element.currentStyle.width;
-			$element.runtimeStyle.fixedWidth = ($UNIT.test($value)) ? Math.max(0, getFixedWidth($element, $value)) : $value;
-			$element.runtimeStyle.width = $element.runtimeStyle.fixedWidth;
-		}
-	};
-
-	function layoutWidth($element) {
-		if (!isFixed($element)) {
-			var $layoutParent = $element.offsetParent;
-			while ($layoutParent && !ie7Layout.hasLayout($layoutParent)) $layoutParent = $layoutParent.offsetParent;
-		}
-		return ($layoutParent || viewport).clientWidth;
-	};
-
-	function getPixelWidth($element, $value) {
-		if (PERCENT.test($value)) return parseInt(parseFloat($value) / 100 * layoutWidth($element));
-		return getPixelValue($element, $value);
-	};
-
-	var getFixedWidth = (quirksMode) ? function($element, $value) {
-		return getPixelWidth($element, $value) + getBorderWidth($element) + getPaddingWidth($element);
-	} : function($element, $value) {
-		return getPixelWidth($element, $value);
-	};
-
-	// easy way to get border thickness for elements with "layout"
-	function getBorderWidth($element) {
-		return $element.offsetWidth - $element.clientWidth;
-	};
-
-	// have to do some pixel conversion to get padding thickness :-(
-	function getPaddingWidth($element) {
-		return getPixelWidth($element, $element.currentStyle.paddingLeft) +
-			getPixelWidth($element, $element.currentStyle.paddingRight);
-	};
-	// clone the getPaddingWidth function to make a getMarginWidth function
-	eval(String(getPaddingWidth).replace(/padding/g, "margin").replace(/Padding/g, "Margin"));
-
-// -----------------------------------------------------------------------
-// min/max
-// -----------------------------------------------------------------------
-
-	HEADER += "*{minWidth:auto;maxWidth:auto;min-width:auto;max-width:auto}";
-
-	// handle min-width property
-	function minWidth($element) {
-		// IE6 supports min-height so we frig it here
-		//#if ($element.currentStyle.minHeight == "auto") $element.runtimeStyle.minHeight = 0;
-		if ($element.currentStyle["min-width"] != null) {
-			$element.style.minWidth = $element.currentStyle["min-width"];
-		}
-		if (register(minWidth, $element, $element.currentStyle.minWidth != "auto")) {
-			fixWidth($element);
-			if (!$HEIGHT) ie7Layout.boxSizing($element);
-			resizeWidth($element);
-		}
-	};
-	// clone the minWidth function to make a maxWidth function
-	eval(String(minWidth).replace(/min/g, "max"));
-	// expose these methods
-	ie7Layout.minWidth = minWidth;
-	ie7Layout.maxWidth = maxWidth;
-
-	// apply min/max restrictions
-	function resizeWidth($element) {
-		// check boundaries
-		var $rect = $element.getBoundingClientRect();
-		var $width = $rect.right - $rect.left;
-
-		if ($element.currentStyle.minWidth != "auto" && $width <= getFixedWidth($element, $element.currentStyle.minWidth)) {
-			$element.runtimeStyle.width = getFixedWidth($element, $element.currentStyle.minWidth);
-		} else if ($element.currentStyle.maxWidth != "auto" && $width >= getFixedWidth($element, $element.currentStyle.maxWidth)) {
-			$element.runtimeStyle.width = getFixedWidth($element, $element.currentStyle.maxWidth);
-		} else {
-			$element.runtimeStyle.width = $element.runtimeStyle.fixedWidth || "auto";
-		}
-	};
-
-// -----------------------------------------------------------------------
-// right/bottom
-// -----------------------------------------------------------------------
-
-	function fixRight($element) {
-		if (register(fixRight, $element, /^(fixed|absolute)$/.test($element.currentStyle.position) &&
-		    getDefinedStyle($element, "left") != "auto" && getDefinedStyle($element, "right") != "auto" &&
-		    $AUTO.test(getDefinedStyle($element, "width")))) {
-		    	resizeRight($element);
-		    	ie7Layout.boxSizing($element);
-		}
-	};
-	ie7Layout.fixRight = fixRight;
-
-	function resizeRight($element) {
-		var $left = getPixelWidth($element, $element.runtimeStyle._left || $element.currentStyle.left);
-		var $width = layoutWidth($element) - getPixelWidth($element, $element.currentStyle.right) -	$left - getMarginWidth($element);
-		if (parseInt($element.runtimeStyle.width) == $width) return;
-		$element.runtimeStyle.width = "";
-		if (isFixed($element) || $HEIGHT || $element.offsetWidth < $width) {
-	    	if (!quirksMode) $width -= getBorderWidth($element) + getPaddingWidth($element);
-			if ($width < 0) $width = 0;
-			$element.runtimeStyle.fixedWidth = $width;
-			$element.runtimeStyle.width = $width;
-		}
-	};
-
-// -----------------------------------------------------------------------
-// window.onresize
-// -----------------------------------------------------------------------
-
-	// handle window resize
-	var _clientWidth = documentElement.clientWidth;
-	addResize(function() {
-		var i, $wider = (_clientWidth < documentElement.clientWidth);
-		_clientWidth = documentElement.clientWidth;
-		// resize elements with "min-width" set
-		for (i in minWidth.elements) {
-			var $element = minWidth.elements[i];
-			var $fixedWidth = (parseInt($element.runtimeStyle.width) == getFixedWidth($element, $element.currentStyle.minWidth));
-			if ($wider && $fixedWidth) $element.runtimeStyle.width = "";
-			if ($wider == $fixedWidth) resizeWidth($element);
-		}
-		// resize elements with "max-width" set
-		for (i in maxWidth.elements) {
-			var $element = maxWidth.elements[i];
-			var $fixedWidth = (parseInt($element.runtimeStyle.width) == getFixedWidth($element, $element.currentStyle.maxWidth));
-			if (!$wider && $fixedWidth) $element.runtimeStyle.width = "";
-			if ($wider != $fixedWidth) resizeWidth($element);
-		}
-		// resize elements with "right" set
-		for (i in fixRight.elements) resizeRight(fixRight.elements[i]);
-	});
-
-// -----------------------------------------------------------------------
-// fix CSS
-// -----------------------------------------------------------------------
-
-	ie7CSS.addRecalc("width", $NUMERIC, (quirksMode && window.IE7_BOX_MODEL !== false) ? function($element) {
-		if (!PERCENT.test($element.currentStyle.width)) fixWidth($element);
-		_collapseMargins($element);
-	} : _collapseMargins);
-	ie7CSS.addRecalc("min-width", $NUMERIC, minWidth);
-	ie7CSS.addRecalc("max-width", $NUMERIC, maxWidth);
-	ie7CSS.addRecalc("right", $NUMERIC, fixRight);
-};
-ie7CSS.addRecalc("border-spacing", $NUMERIC, function($element) {
-	if ($element.currentStyle.borderCollapse != "collapse") {
-		$element.cellSpacing = getPixelValue($element, $element.currentStyle["border-spacing"]);
-	}
-});
-ie7CSS.addRecalc("box-sizing", "content-box", this.boxSizing);
-
-// clone the fixWidth function to create a fixHeight function
-var _rotate = new ParseMaster;
-_rotate.add(/Width/, "Height");
-_rotate.add(/width/, "height");
-_rotate.add(/Left/, "Top");
-_rotate.add(/left/, "top");
-_rotate.add(/Right/, "Bottom");
-_rotate.add(/right/, "bottom");
-eval(_rotate.exec(String(fixWidth)));
-
-// apply box-model + min/max fixes
-fixWidth();
-fixHeight(true);
-
-});
\ No newline at end of file

Copied: plog/trunk/js/ie7/src/ie7-layout.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-layout.js)

Deleted: plog/trunk/js/ie7/src/ie7-load.htc
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-load.htc	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-load.htc	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,3 +0,0 @@
-<component lightweight="true">
- <attach event="ondocumentready" onevent="IE7.init()"/>
-</component>
\ No newline at end of file

Copied: plog/trunk/js/ie7/src/ie7-load.htc (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-load.htc)

Deleted: plog/trunk/js/ie7/src/ie7-object.htc
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-object.htc	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-object.htc	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,64 +0,0 @@
-<html>
-<!--
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
--->
-<head>
-<style type="text/css">body{margin:0}</style>
-<script type="text/javascript">
-public_description = new function() {
-var $loaded = false;
-this.ie7_anon = true;
-this.load = function($object, $cssText, $url) {
-	// stop this method being called more than once
-	if ($loaded) return;
-	$loaded = true;
-
-	function _copyObjectStyle($target, $propertyName) {
-		$target.style[$propertyName] = $object.currentStyle[$propertyName];
-	};
-
-	// determine underlying background colour
-	var $parent = $object;
-	while ($parent && $parent.currentStyle.backgroundColor == "transparent") {
-		$parent = $parent.parentElement;
-	}
-	if ($parent) body.style.backgroundColor = $parent.currentStyle.backgroundColor;
-
-	// inherit other background properties
-	_copyObjectStyle(body, "backgroundImage");
-	_copyObjectStyle(body, "backgroundRepeat");
-	_copyObjectStyle(body, "backgroundPositionX");
-	_copyObjectStyle(body, "backgroundPositionY");
-
-	// keep fonts because of EMs
-	_copyObjectStyle(body, "fontFamily");
-	_copyObjectStyle(body, "fontSize");
-
-	// the wrapper <div> is for padding
-	_copyObjectStyle(wrapper, "paddingTop");
-	_copyObjectStyle(wrapper, "paddingRight");
-	_copyObjectStyle(wrapper, "paddingBottom");
-	_copyObjectStyle(wrapper, "paddingLeft");
-
-	// set image dimensions according to the containing <object>
-	image.width = $object.clientWidth;
-	image.height = $object.clientHeight;
-
-	if (/MSIE 5.0/.test(navigator.userAgent)) {
-		image.src = $url;
-	} else {
-		// use the AlphaImageLoader in case of PNGs
-		image.src = "blank.gif";
-		image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + $url + "',sizingMethod='scale')";
-	}
-
-	// pass width & height back up
-	$object.style.width = body.scrollWidth;
-	$object.style.height = body.scrollHeight;
-}};
-</script>
-</head>
-<body id="body"><div id="wrapper"><img id="image"></div></body>
-</html>

Copied: plog/trunk/js/ie7/src/ie7-object.htc (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-object.htc)

Deleted: plog/trunk/js/ie7/src/ie7-overflow.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-overflow.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-overflow.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,114 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-overflow", function() {
-
-/* ---------------------------------------------------------------------
-
-  This module alters the structure of the document.
-  It may adversely affect other CSS rules. Be warned.
-
---------------------------------------------------------------------- */
-
-// Thanks to Mark 'Tarquin' Wilton-Jones and Rainer Åhlfors
-
-var $STYLE = {
-	backgroundColor: "transparent",
-	backgroundImage: "none",
-	backgroundPositionX: null,
-	backgroundPositionY: null,
-	backgroundRepeat: null,
-	borderTopWidth: 0,
-	borderRightWidth: 0,
-	borderBottomWidth: 0,
-	borderLeftStyle: "none",
-	borderTopStyle: "none",
-	borderRightStyle: "none",
-	borderBottomStyle: "none",
-	borderLeftWidth: 0,
-	height: null,
-	marginTop: 0,
-	marginBottom: 0,
-	marginRight: 0,
-	marginLeft: 0,
-	width: "100%"
-};
-
-function _copyStyle($propertyName, $source, $target) {
-	$target.style[$propertyName] = $source.currentStyle[$propertyName];
-	if ($STYLE[$propertyName] != null) {
-		$source.runtimeStyle[$propertyName] = $STYLE[$propertyName];
-	}
-};
-
-ie7CSS.addRecalc("overflow", "visible", function($element) {
-	// don't do this again
-	if ($element.parentNode.ie7_wrapper) return;
-
-	// if max-height is applied, makes sure it gets applied first
-	if (ie7Layout && $element.currentStyle["max-height"] != "auto") {
-		ie7Layout.maxHeight($element);
-	}
-
-	if ($element.currentStyle.marginLeft == "auto") $element.style.marginLeft = 0;
-	if ($element.currentStyle.marginRight == "auto") $element.style.marginRight = 0;
-
-	var $wrapper = document.createElement(ANON);
-	$wrapper.ie7_wrapper = true;
-	for (var $propertyName in $STYLE) _copyStyle($propertyName, $element, $wrapper);
-	$wrapper.style.display = "block";
-	$wrapper.style.position = "relative";
-	$element.runtimeStyle.position = "absolute";
-	$element.parentNode.insertBefore($wrapper, $element);
-	$wrapper.appendChild($element);
-});
-
-// -----------------------------------------------------------------------
-// fix cssQuery
-// -----------------------------------------------------------------------
-
-cssQuery.addModule("ie7-overflow", function() {
-
-function _wrappedElement($element) {
-	return ($element && $element.ie7_wrapper) ? $element.firstChild : $element;
-};
-
-var _previousElementSibling = previousElementSibling;
-previousElementSibling = function($element) {
-	return _wrappedElement(_previousElementSibling($element));
-};
-
-var _nextElementSibling = nextElementSibling;
-nextElementSibling = function($element) {
-	return _wrappedElement(_nextElementSibling($element));
-};
-
-selectors[" "] = function($results, $from, $tagName, $namespace) {
-	// loop through current selection
-	var $element, i, j;
-	for (i = 0; i < $from.length; i++) {
-		// get descendants
-		var $subset = getElementsByTagName($from[i], $tagName, $namespace);
-		// loop through descendants and add to results selection
-		for (j = 0; ($element = _wrappedElement($subset[j])); j++) {
-			if (thisElement($element) && (!$namespace || compareNamespace($element, $namespace)))
-				$results.push($element);
-		}
-	}
-};
-
-selectors[">"] = function($results, $from, $tagName, $namespace) {
-	var $element, i, j;
-	for (i = 0; i < $from.length; i++) {
-		var $subset = childElements($from[i]);
-		for (j = 0; ($element = _wrappedElement($subset[j])); j++) {
-			if (compareTagName($element, $tagName, $namespace)) $results.push($element);
-		}
-	}
-};
-
-}); // cssQuery
-
-}); // ie7-overflow

Copied: plog/trunk/js/ie7/src/ie7-overflow.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-overflow.js)

Deleted: plog/trunk/js/ie7/src/ie7-quirks.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-quirks.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-quirks.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,123 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-quirks", function() {
-
-/* ---------------------------------------------------------------------
-  This module is loaded automatically by IE7.
---------------------------------------------------------------------- */
-
-if (quirksMode) {
-
-// -----------------------------------------------------------------------
-//  Named font sizes
-// -----------------------------------------------------------------------
-
-var $FONT_SIZES = "xx-small,x-small,small,medium,large,x-large,xx-large".split(",");
-for (var i = 0; i < $FONT_SIZES.length; i++) {
-	$FONT_SIZES[$FONT_SIZES[i]] = $FONT_SIZES[i - 1] || "0.67em";
-}
-ie7CSS.addFix(new RegExp("(font(-size)?\\s*:\\s*)([\\w\\-\\.]+)"), function($match, $offset) {
-	return $match[$offset + 1] + ($FONT_SIZES[$match[$offset + 3]] || $match[$offset + 3]);
-});
-
-// -----------------------------------------------------------------------
-//  IE5.x (getPixelValue mostly)
-// -----------------------------------------------------------------------
-
-// IE5.x specific
-if (appVersion < 6) {
-
-	var $NEGATIVE = /^\-/, $LENGTH = /(em|ex)$/i;
-	var EM = /em$/i, EX = /ex$/i;
-
-	function _getFontScale($element) {
-		var $scale = 1;
-		_tmp.style.fontFamily = $element.currentStyle.fontFamily;
-		_tmp.style.lineHeight = $element.currentStyle.lineHeight;
-		//_tmp.style.fontSize = "";
-		while ($element != body) {
-			var $fontSize = $element.currentStyle["ie7-font-size"];
-			if ($fontSize) {
-				if (EM.test($fontSize)) $scale *= parseFloat($fontSize);
-				else if (PERCENT.test($fontSize)) $scale *= (parseFloat($fontSize) / 100);
-				else if (EX.test($fontSize)) $scale *= (parseFloat($fontSize) / 2);
-				else {
-					_tmp.style.fontSize = $fontSize;
-					return 1;
-				}
-			}
-			$element = $element.parentElement;
-		}
-		return $scale;
-	};
-
-	var _tmp = createTempElement();
-
-	getPixelValue = function($element, $value) {
-		if (PIXEL.test($value||0)) return parseInt($value||0);
-		var scale = $NEGATIVE.test($value)? -1 : 1;
-		if ($LENGTH.test($value)) scale *= _getFontScale($element);
-		_tmp.style.width = (scale < 0) ? $value.slice(1) : $value;
-		body.appendChild(_tmp);
-		// retrieve pixel width
-		$value = scale * _tmp.offsetWidth;
-		// remove the temporary $element
-		_tmp.removeNode();
-		return parseInt($value);
-	};
-
-	// we need to preserve font-sizes as IE makes a bad job of it
-	HEADER = HEADER.replace(/(font(-size)?\s*:\s*([^\s;}\/]*))/gi, "ie7-font-size:$3;$1");
-
-	// cursor:pointer (IE5.x)
-	ie7CSS.addFix(/cursor\s*:\s*pointer/, "cursor:hand");
-	// display:list-item (IE5.x)
-	ie7CSS.addFix(/display\s*:\s*list-item/, "display:block");
-}
-
-// -----------------------------------------------------------------------
-//  margin:auto
-// -----------------------------------------------------------------------
-
-function _fixMargin($element) {
-	if (appVersion < 5.5 && ie7Layout) ie7Layout.boxSizing($element.parentElement);
-	var $margin = $element.parentElement.offsetWidth - $element.offsetWidth;
-	var $autoRight = ($element.currentStyle["ie7-margin"] && $element.currentStyle.marginRight == "auto") ||
-		$element.currentStyle["ie7-margin-right"] == "auto";
-	switch ($element.parentElement.currentStyle.textAlign) {
-		case "right":
-			$margin = ($autoRight) ? parseInt($margin / 2) : 0;
-			$element.runtimeStyle.marginRight = parseInt($margin) + "px";
-			break;
-		case "center":
-			if ($autoRight) $margin = 0;
-		default:
-			if ($autoRight) $margin = parseInt($margin / 2);
-			$element.runtimeStyle.marginLeft = parseInt($margin) + "px";
-	}
-};
-
-ie7CSS.addRecalc("margin(-left|-right)?", "[^};]*auto", function($element) {
-	if (register(_fixMargin, $element,
-		$element.parentElement &&
-		$element.currentStyle.display == "block" &&
-		$element.currentStyle.marginLeft == "auto" &&
-	    $element.currentStyle.position != "absolute")) {
-			_fixMargin($element);
-	}
-});
-
-addResize(function() {
-	for (var i in _fixMargin.elements) {
-		$element = _fixMargin.elements[i];
-    	$element.runtimeStyle.marginLeft =
-    	$element.runtimeStyle.marginRight = "";
-		_fixMargin($element);
-	}
-});
-
-}}); // addModule

Copied: plog/trunk/js/ie7/src/ie7-quirks.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-quirks.js)

Deleted: plog/trunk/js/ie7/src/ie7-recalc.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-recalc.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-recalc.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,102 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-recalc", function() {
-
-/* ---------------------------------------------------------------------
-
-  This allows refreshing of IE7 style rules. If you modify the DOM
-  you can update IE7 by calling document.recalc().
-
-  This module is still in development.
-  There may be memory problems if document.recalc() is
-  called excessively as currently I am not detatching old
-  event handlers when the document is refreshed.
-  Let me know if there are any problems.
-
-  -dean
-
---------------------------------------------------------------------- */
-
-// remove all IE7 classes from an element
-$CLASSES = /\sie7_class\d+/g;
-function _removeClasses($element) {
-	$element.className = $element.className.replace($CLASSES, "");
-};
-
-// clear IE7 assigned styles
-function _removeStyle($element) {
-	$element.runtimeStyle.cssText = "";
-};
-
-ie7CSS.specialize({
-	// store for elements that have style properties calculated
-	elements: {},
-	// clear IE7 classes and styles
-	reset: function() {
-		// reset IE7 classes here
-		var $elements = this.elements;
-		for (var i in $elements) _removeStyle($elements[i]);
-		this.elements = {};
-		// reset runtimeStyle here
-		if (this.Rule) {
-			var $elements = this.Rule.elements;
-			for (var i in $elements) _removeClasses($elements[i]);
-			this.Rule.elements = {};
-		}
-	},
-	addRecalc: function($propertyName, $test, $handler, $replacement) {
-		// call the ancestor method to add a wrapped recalc method
-		this.inherit($propertyName, $test, function($element) {
-			// execute the original recalc method
-			$handler($element);
-			// store a reference to this element so we can clear its style later
-			ie7CSS.elements[$element.uniqueID] = $element;
-		}, $replacement);
-	},
-	recalc: function() {
-		// clear IE7 styles and classes
-		this.reset();
-		// execute the ancestor method to perform recalculations
-		this.inherit();
-	}
-});
-
-if (ie7CSS.Rule) {
-	// store all elements with an IE7 class assigned
-	ie7CSS.Rule.elements = {};
-
-	ie7CSS.Rule.prototype.specialize({
-		add: function($element) {
-			// execute the ancestor "add" method
-			this.inherit($element);
-			// store a reference to this element so we can clear its classes later
-			ie7CSS.Rule.elements[$element.uniqueID] = $element;
-		}
-	});
-}
-
-if (isHTML && ie7HTML) {
-	ie7HTML.specialize({
-		elements: {},
-		addRecalc: function($selector, $handler) {
-			// call the ancestor method to add a wrapped recalc method
-			this.inherit($selector, function($element) {
-				if (!ie7HTML.elements[$element.uniqueID]) {
-					// execute the original recalc method
-					$handler($element);
-					// store a reference to this element so that
-					//  it is not "fixed" again
-					ie7HTML.elements[$element.uniqueID] = $element;
-				}
-			});
-		}
-	});
-}
-
-// allow refreshing of IE7 fixes
-document.recalc = recalc;
-
-});

Copied: plog/trunk/js/ie7/src/ie7-recalc.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-recalc.js)

Deleted: plog/trunk/js/ie7/src/ie7-squish.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-squish.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-squish.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,45 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-squish", function() {
-
-/* ---------------------------------------------------------------------
-
-  Squish some IE bugs!
-
-  Some of these bug fixes may have adverse effects so they are
-  not included in the standard library. Add your own if you want.
-
-  -dean
-
---------------------------------------------------------------------- */
-
-// @NOTE: ie7Layout.boxSizing is the same as the "Holly Hack"
-
-// "doubled margin" bug
-// http://www.positioniseverything.net/explorer/doubled-margin.html
-ie7CSS.addFix(/float\s*:\s*(left|right)/, "display:inline;$1");
-
-if (ie7Layout) {
-	// "peekaboo" bug
-	// http://www.positioniseverything.net/explorer/peekaboo.html
-	if (appVersion >= 6) ie7CSS.addRecalc("float", "left|right", function($element) {
-		ie7Layout.boxSizing($element.parentElement);
-		// "doubled margin" bug
-		$element.runtimeStyle.display = "inline";
-	});
-
-	// "unscrollable content" bug
-	// http://www.positioniseverything.net/explorer/unscrollable.html
-	ie7CSS.addRecalc("position", "absolute|fixed", function($element) {
-		if ($element.offsetParent && $element.offsetParent.currentStyle.position == "relative")
-			ie7Layout.boxSizing($element.offsetParent);
-	});
-}
-
-//# // get rid of Microsoft's pesky image toolbar
-//# if (!complete) document.write('<meta http-equiv="imagetoolbar" content="no">');
-
-});

Copied: plog/trunk/js/ie7/src/ie7-squish.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-squish.js)

Deleted: plog/trunk/js/ie7/src/ie7-standard-p.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-standard-p.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-standard-p.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,2506 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-if (!window.IE7) new function() {
-try {
-// -----------------------------------------------------------------------
-// globals
-// -----------------------------------------------------------------------
-window.IE7 = this;
-// in case of error...
-var DUMMY = this.addModule = new Function;
-// IE7 version info
-this.toString = function(){return "IE7 version 0.8 (alpha)"};
-// error reporting
-var ie7_debug = /ie7_debug/.test(top.location.search);
-var alert = (ie7_debug) ? function($message){window.alert(IE7+"\n\n"+$message)} : DUMMY;
-// IE version info
-var appVersion = navigator.appVersion.match(/MSIE (\d\.\d)/)[1];
-var quirksMode = document.compatMode != "CSS1Compat";
-// IE7 can be turned "off"
-if (/ie7_off/.test(top.location.search) || appVersion < 5 ||
-	!/^ms_/.test(document.documentElement.uniqueID)) return;
-// if using the favelet then the document has already loaded
-var complete = document.readyState == "complete";
-// assume html unless explicitly defined
-var isHTML = (typeof document.mimeType == "unknown") ?
-	!/\.xml$/i.test(location.pathname) :
-	Boolean(document.mimeType != "XML Document");
-// another global
-var ie7HTML, ie7Layout; // loaded separately
-var HEADER = ":link{ie7-link:link}:visited{ie7-link:visited}" + (isHTML ? "" : "*{margin:0}");
-// handy
-var documentElement = document.documentElement, body, viewport, styleSheets = document.styleSheets;
-var ANON = "!";
-// -----------------------------------------------------------------------
-// external
-// -----------------------------------------------------------------------
-
-// cache for the various modules that make up IE7.
-//  modules are stored as functions. these are executed
-//  after the style sheet text has been loaded.
-// storing the modules as functions means that we avoid
-//  name clashes with other modules.
-var modules = {};
-var loaded = false;
-IE7.addModule = function($name, $script) {
-	if (!modules[$name]) {
-		if (loaded) eval("$script=" + String($script));
-		modules[$name] = new $script();
-	}
-};
-
-var $RELATIVE = /^[\w\.]+[^:]*$/;
-function makePath($href, $path) {
-	if ($RELATIVE.test($href)) $href = ($path || "") + $href;
-	return $href;
-};
-
-function getPath($href, $path) {
-	$href = makePath($href, $path);
-	return $href.slice(0, $href.lastIndexOf("/") + 1);
-};
-
-// get the path to this script
-var $script = document.scripts[document.scripts.length - 1];
-// create global variables from the inner text of the IE7 script
-try {
-	eval($script.innerHTML);
-} catch ($ignore) {
-	// ignore errors
-}
-var path = getPath($script.src);
-// we'll use microsoft's http request object to load external files
-var httpRequest;
-try {
-	httpRequest = new ActiveXObject(((appVersion < 6) ? "Microsoft" : "Msxml2") + ".XMLHTTP");
-} catch ($ignore) {
-	// ActiveX disabled
-}
-var _fileCache = {};
-function loadFile($href, $path) {
-try {
-	$href = makePath($href, $path);
-	// easy to load a file huh?
-	httpRequest.open("GET", $href, false);
-	httpRequest.send();
-	if (httpRequest.status == 0 || httpRequest.status == 200) {
-		_fileCache[$href] = httpRequest.responseText;
-	}
-} catch ($ignore) {
-	alert("Error [1]: error loading file " + $href);
-} finally {
-	return _fileCache[$href] || "";
-}};
-
-// a small transparent image used as a placeholder
-var BLANK_GIF = makePath("blank.gif", path);
-
-// -----------------------------------------------------------------------
-// OO support
-// -----------------------------------------------------------------------
-
-/*    ---   (require) /common/src?common.js       ---    */
-/*
-	common, version 1.0.1 (2005/05/15) x4
-	Copyright 2005, Dean Edwards
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-// this function may be used to cast any javascript object
-//  to a common object
-function ICommon(object) {
-	if (object != null) {
-		object.inherit = Common.prototype.inherit;
-		object.specialize = Common.prototype.specialize;
-	}
-	return object;
-};
-
-// sub-classing
-ICommon.specialize = function($prototype, $constructor) {
-	// initialise class properties
-	if (!$prototype) $prototype = {};
-	if (!$constructor) $constructor = $prototype.constructor;
-	if ($constructor == {}.constructor) $constructor = new Function("this.inherit()");
-	// build the inheritance chain
-	//  insert a dummy constructor between the ancestor
-	//  and the new constructor. this allows standard
-	//  prototype inheritance plus chained constructor
-	//  functions.
-	$constructor.valueOf = new Function("return this");
-	$constructor.valueOf.prototype = new this.valueOf;
-	$constructor.valueOf.prototype.specialize($prototype);
-	$constructor.prototype = new $constructor.valueOf;
-	$constructor.prototype.constructor = $constructor;
-	$constructor.ancestor = this;
-	$constructor.specialize = arguments.callee;
-	return $constructor;
-};
-
-// root of the inheritance chain
-ICommon.valueOf = new Function("return this");
-
-// common interface
-ICommon.valueOf.prototype = {
-constructor: ICommon,
-inherit: function() {
-//-
-//   Call this method from any other method to call that method's ancestor.
-//   If there is no ancestor function then this function will throw an error.
-//-
-	return arguments.callee.caller.ancestor.apply(this, arguments);
-},
-specialize: function(object) {
-//-
-//   Add the interface of another object to this object
-//-
-	// if this object is the prototype then specialize the /real/ prototype
-	if (this == this.constructor.prototype && this.constructor.specialize) {
-		return this.constructor.valueOf.prototype.specialize(object);
-	}
-	// add each of one of the source object's properties to this object
-	for (var i in object) {
-		switch (i) {
-			case "constructor": // don't do this one!
-			case "toString":    // do this one maually
-			case "valueOf":     // ignore this one...
-				continue;
-		}
-		// implement inheritance
-		if (typeof object[i] == "function" && object[i] != this[i]) {
-			object[i].ancestor = this[i];
-		}
-		// add the property
-		this[i] = object[i];
-	}
-	// do the "toString" function manually
-	if (object.toStrng != this.toString && object.toString != {}.toString) {
-		object.toString.ancestor = this.toString;
-		this.toString = object.toString;
-	}
-	return this;
-},
-toString: function() {
-	return "[common " + (this.constructor.name || "Object") + "]";
-}};
-
-// create the root
-function Common() {
-//--
-//   empty constructor function
-//--
-};
-this.Common = ICommon.specialize({constructor: Common});
-
-// c'est fini!
-delete this.Common;
-
-var Fix = Common.specialize({
-	constructor: function() {
-		this.fixes = [];
-		this.recalcs = [];
-	},
-	init: DUMMY
-});
-
-// -----------------------------------------------------------------------
-// IE5.0 compatibility
-// -----------------------------------------------------------------------
-
-/* FAVELET */
-
-// load an external module to patch IE5.0 and override the functions above
-if (appVersion < 5.5) eval(loadFile("ie7-ie5.js", path));
-
-// -----------------------------------------------------------------------
-// initialisation
-// -----------------------------------------------------------------------
-
-var _initialised = false;
-IE7.init = function() {
-try {
-	// prevent further loading
-	if (_initialised) return;
-	_initialised = complete = true;
-
-	// frequently used references
-	body = document.body;
-	viewport = (quirksMode) ? body : documentElement;
-
-	// apply CSS/DOM fixes
-	if (isHTML && ie7HTML) ie7HTML.apply();
-	ie7CSS.apply();
-
-	recalc();
-
-	alert("loaded successfully");
-} catch ($error) {
-	alert("Error [2]: " + $error.description);
-}};
-
-// a store for functions that will be called when refreshing IE7
-var recalcs = [];
-function addRecalc($recalc) {
-	recalcs.push($recalc);
-};
-function recalc() {
-	cssQuery.clearCache();
-	if (isHTML && ie7HTML) ie7HTML.recalc();
-	// re-apply style sheet rules (re-calculate ie7 classes)
-	ie7CSS.recalc();
-	// apply global fixes to the document
-	for (var i = 0; i < recalcs.length; i++) recalcs[i]();
-};
-
-// -----------------------------------------------------------------------
-//  Parser
-// -----------------------------------------------------------------------
-
-/*    ---   (include) /my/src?ParseMaster.js   ---    */
-/*
-	ParseMaster, version 1.0 (pre-release) (2005/05/12) x6
-	Copyright 2005, Dean Edwards
-	Web: http://dean.edwards.name/
-
-	This software is licensed under the CC-GNU LGPL
-	Web: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-/* a multi-pattern parser */
-
-/*    ---   (include) http://dean.edwards.name/my/fix-ie5.js       ---    */
-/*    ---   (require) http://dean.edwards.name/common/common.js       ---    */
-
-function ParseMaster() {
-	// constants
-	var $EXPRESSION = 0, $REPLACEMENT = 1, $LENGTH = 2;
-	// used to determine nesting levels
-	var $GROUPS = /\(/g, $SUB_REPLACE = /\$\d/, $INDEXED = /^\$\d+$/,
-	    $TRIM = /(['"])\1\+(.*)\+\1\1$/, $$ESCAPE = /\\./g, $QUOTE = /'/,
-	    $$DELETED = /\001[^\001]*\001/g;
-	function $DELETE($match, $offset){return "\001" + $match[$offset] + "\001"};
-	// public
-	this.add = function($expression, $replacement) {
-		if (!$replacement) $replacement = $DELETE;
-		// count the number of sub-expressions
-		//  - add one because each pattern is itself a sub-expression
-		var $length = (_internalEscape(String($expression)).match($GROUPS) || "").length + 1;
-		// does the pattern deal with sub-expressions?
-		if (typeof $replacement == "string" && $SUB_REPLACE.test($replacement)) {
-			// a simple lookup? (e.g. "$2")
-			if ($INDEXED.test($replacement)) {
-				// store the index (used for fast retrieval of matched strings)
-				$replacement = parseInt($replacement.slice(1)) - 1;
-			} else { // a complicated lookup (e.g. "Hello $2 $1")
-				// build a function to do the lookup
-				var i = $length;
-				var $quote = $QUOTE.test(_internalEscape($replacement)) ? '"' : "'";
-				while (i) $replacement = $replacement.split("$" + i--).join($quote + "+a[o+" + i + "]+" + $quote);
-				$replacement = new Function("a,o", "return" + $quote + $replacement.replace($TRIM, "$1") + $quote);
-			}
-		}
-		// pass the modified arguments
-		_add($expression || "/^$/", $replacement, $length);
-	};
-	// execute the global replacement
-	this.exec = function($string) {
-		return _unescape(_escape($string, this.escapeChar).replace(
-			new RegExp(_patterns, this.ignoreCase ? "gi" : "g"), _replacement), this.escapeChar).replace($$DELETED, "");
-	};
-	// clear the patterns collections so that this object may be re-used
-	this.reset = function() {
-		_patterns.length = 0;
-	};
-
-	// private
-	var _patterns = [];   // patterns stored by index
-	var _toString = function(){return "(" + String(this[$EXPRESSION]).slice(1, -1) + ")"};
-	_patterns.toString = function(){return this.join("|")};
-	// create and add a new pattern to the patterns collection
-	function _add() {
-		arguments.toString = _toString;
-		// store the pattern - as an arguments object (i think this is quicker..?)
-		_patterns[_patterns.length] = arguments;
-	}
-	// this is the global replace function (it's quite complicated)
-	function _replacement() {
-		if (!arguments[0]) return "";
-		var i = 1, j = 0, $pattern;
-		// loop through the patterns
-		while ($pattern = _patterns[j++]) {
-			// do we have a result?
-			if (arguments[i]) {
-				var $replacement = $pattern[$REPLACEMENT];
-				switch (typeof $replacement) {
-					case "function": return $replacement(arguments, i);
-					case "number": return arguments[$replacement + i];
-					default: return $replacement;
-				}
-			// skip over references to sub-expressions
-			} else i += $pattern[$LENGTH];
-		}
-	};
-	// encode escaped characters
-	var _escaped = [];
-	function _escape($string, $escapeChar) {
-		return $escapeChar ? $string.replace(new RegExp("\\" + $escapeChar + "(.)", "g"), function($match, $char) {
-			_escaped[_escaped.length] = $char;
-			return $escapeChar;
-		}) : $string;
-	};
-	// decode escaped characters
-	function _unescape($string, $escapeChar) {
-		var i = 0;
-		return $escapeChar ? $string.replace(new RegExp("\\" + $escapeChar, "g"), function() {
-			return $escapeChar + (_escaped[i++] || "");
-		}) : $string;
-	};
-	function _internalEscape($string) {
-		return $string.replace($$ESCAPE, "");
-	};
-};
-Common.specialize({
-	constructor: ParseMaster,
-	ignoreCase: false,
-	escapeChar: ""
-});
-var Parser = ParseMaster.specialize({ignoreCase: true});
-
-// -----------------------------------------------------------------------
-//  cssQuery
-// -----------------------------------------------------------------------
-
-/*    ---   (include) /my/cssQuery/src?cssQuery.js   ---    */
-/*
-	cssQuery, version 2.0 (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-// the following functions allow querying of the DOM using CSS selectors
-var cssQuery = function() {
-var version = "2.0 (beta)";
-
-// -----------------------------------------------------------------------
-// main query function
-// -----------------------------------------------------------------------
-
-var $COMMA = /\s*,\s*/;
-var cssQuery = function($selector, $$from) {
-try {
-	var $match = [];
-	var $useCache = arguments.callee.caching && !$$from;
-	var $base = ($$from) ? ($$from.constructor == Array) ? $$from : [$$from] : [document];
-	// process comma separated selectors
-	var $$selectors = parseSelector($selector).split($COMMA), i;
-	for (i = 0; i < $$selectors.length; i++) {
-		// convert the selector to a stream
-		$selector = _toStream($$selectors[i]);
-		// faster chop if it starts with id (MSIE only)
-		if (isMSIE && $selector.slice(0, 3).join("") == " *#") {
-			$selector = $selector.slice(2);
-			$$from = _msie_selectById([], $base, $selector[1]);
-		} else $$from = $base;
-		// process the stream
-		var j = 0, $token, $filter, $arguments, $cacheSelector = "";
-		while (j < $selector.length) {
-			$token = $selector[j++];
-			$filter = $selector[j++];
-			$cacheSelector += $token + $filter;
-			// some pseudo-classes allow arguments to be passes
-			//  e.g. nth-child(even)
-			$arguments = "";
-			if ($selector[j] == "(") {
-				while ($selector[j++] != ")") $arguments += $selector[j];
-				$arguments = $arguments.slice(0, -1);
-				$cacheSelector += "(" + $arguments + ")";
-			}
-			// process a token/filter pair use cached results if possible
-			$$from = ($useCache && cache[$cacheSelector]) ?
-				cache[$cacheSelector] : select($$from, $token, $filter, $arguments);
-			if ($useCache) cache[$cacheSelector] = $$from;
-		}
-		$match = $match.concat($$from);
-	}
-	delete cssQuery.error;
-	return $match;
-} catch ($error) {
-	cssQuery.error = $error;
-	return [];
-}};
-
-// -----------------------------------------------------------------------
-// public interface
-// -----------------------------------------------------------------------
-
-cssQuery.toString = function() {
-	return "function cssQuery() {\n  [version " + version + "]\n}";
-};
-
-// caching
-var cache = {};
-cssQuery.caching = false;
-cssQuery.clearCache = function($selector) {
-	if ($selector) {
-		$selector = _toStream($selector).join("");
-		delete cache[$selector];
-	} else cache = {};
-};
-
-// allow extensions
-var modules = {};
-var loaded = false;
-cssQuery.addModule = function($name, $script) {
-	if (loaded) eval("$script=" + String($script));
-	modules[$name] = new $script();;
-};
-
-// hackery
-cssQuery.valueOf = function($code) {
-	return $code ? eval($code) : this;
-};
-
-// -----------------------------------------------------------------------
-// declarations
-// -----------------------------------------------------------------------
-
-var selectors = {};
-var pseudoClasses = {};
-var attributeSelectors = [];
-
-// -----------------------------------------------------------------------
-// selectors
-// -----------------------------------------------------------------------
-
-// descendant selector
-selectors[" "] = function($results, $from, $tagName, $namespace) {
-	// loop through current selection
-	var $element, i, j;
-	for (i = 0; i < $from.length; i++) {
-		// get descendants
-		var $subset = getElementsByTagName($from[i], $tagName, $namespace);
-		// loop through descendants and add to results selection
-		for (j = 0; ($element = $subset[j]); j++) {
-			if (thisElement($element) && compareNamespace($element, $namespace))
-				$results.push($element);
-		}
-	}
-};
-
-// ID selector
-selectors["#"] = function($results, $from, $id) {
-	// loop through current selection and check ID
-	var $element, j;
-	for (j = 0; ($element = $from[j]); j++) if ($element.id == $id) $results.push($element);
-};
-
-// class selector
-selectors["."] = function($results, $from, $className) {
-	// create a RegExp version of the class
-	$className = new RegExp("(^|\\s)" + $className + "(\\s|$)");
-	// loop through current selection and check class
-	var $element, i;
-	for (i = 0; ($element = $from[i]); i++)
-		if ($className.test($element.className)) $results.push($element);
-};
-
-// pseudo-class selector
-selectors[":"] = function($results, $from, $pseudoClass, $arguments) {
-	// retrieve the cssQuery pseudo-class function
-	var $test = pseudoClasses[$pseudoClass], $element, i;
-	// loop through current selection and apply pseudo-class filter
-	if ($test) for (i = 0; ($element = $from[i]); i++)
-		// if the cssQuery pseudo-class function returns "true" add the element
-		if ($test($element, $arguments)) $results.push($element);
-};
-
-// -----------------------------------------------------------------------
-// pseudo-classes
-// -----------------------------------------------------------------------
-
-pseudoClasses["link"] = function($element) {
-	var $document = getDocument($element);
-	if ($document.links) for (var i = 0; i < $document.links.length; i++) {
-		if ($document.links[i] == $element) return true;
-	}
-};
-
-pseudoClasses["visited"] = function($element) {
-	// can't do this without jiggery-pokery
-};
-
-// -----------------------------------------------------------------------
-// DOM traversal
-// -----------------------------------------------------------------------
-
-// IE5.x includes comments (LOL) in it's elements collections.
-// so we have to check for this. the test is tagName != "!". LOL (again).
-var thisElement = function($element) {
-	return ($element && $element.nodeType == 1 && $element.tagName != "!") ? $element : null;
-};
-
-// return the previous element to the supplied element
-//  previousSibling is not good enough as it might return a text or comment node
-var previousElementSibling = function($element) {
-	while ($element && ($element = $element.previousSibling) && !thisElement($element)) continue;
-	return $element;
-};
-
-// return the next element to the supplied element
-var nextElementSibling = function($element) {
-	while ($element && ($element = $element.nextSibling) && !thisElement($element)) continue;
-	return $element;
-};
-
-// return the first child ELEMENT of an element
-//  NOT the first child node (though they may be the same thing)
-var firstElementChild = function($element) {
-	return thisElement($element.firstChild) || nextElementSibling($element.firstChild);
-};
-
-var lastElementChild = function($element) {
-	return thisElement($element.lastChild) || previousElementSibling($element.lastChild);
-};
-
-// return child elements of an element (not child nodes)
-var childElements = function($element) {
-	var $childElements = [];
-	$element = firstElementChild($element);
-	while ($element) {
-		$childElements.push($element);
-		$element = nextElementSibling($element);
-	}
-	return $childElements;
-};
-
-// -----------------------------------------------------------------------
-// browser compatibility
-// -----------------------------------------------------------------------
-
-// all of the functions in this section can be overwritten. the default
-//  configuration is for IE. The functions below reflect this. standard
-//  methods are included in a separate module. It would probably be better
-//  the other way round of course but this makes it easier to keep IE7 trim.
-
-var isMSIE = true;
-
-var isXML = function($element) {
-	return getDocument($element).mimeType == "XML Document";
-};
-
-// return the element's containing document
-var getDocument = function($element) {
-	return $element.ownerDocument || $element.document;
-};
-
-var getElementsByTagName = function($element, $tagName) {
-	return ($tagName == "*" && $element.all) ? $element.all : $element.getElementsByTagName($tagName);
-};
-
-var compareTagName = function($element, $tagName, $namespace) {
-	if ($tagName == "*") return thisElement($element);
-	if (!compareNamespace($element, $namespace)) return false;
-	if (!isXML($element)) $tagName = $tagName.toUpperCase();
-	return $element.tagName == $tagName;
-};
-
-var compareNamespace = function($element, $namespace) {
-	return !$namespace || ($namespace == "*") || ($element.scopeName == $namespace);
-};
-
-var getTextContent = function($element) {
-	return $element.innerText;
-};
-
-function _msie_selectById($results, $from, id) {
-	var $match, i, j;
-	for (i = 0; i < $from.length; i++) {
-		if ($match = $from[i].all.item(id)) {
-			if ($match.length == null) $results.push($match);
-			else for (j = 0; j < $match.length; j++) $results.push($match[j]);
-		}
-	}
-	return $results;
-};
-
-// -----------------------------------------------------------------------
-// query support
-// -----------------------------------------------------------------------
-
-// select a set of matching elements.
-// "from" is an array of elements.
-// "token" is a character representing the type of filter
-//  e.g. ">" means child selector
-// "filter" represents the tag name, id or class name that is being selected
-// the function returns an array of matching elements
-var $NAMESPACE = /\|/;
-function select($$from, $token, $filter, $arguments) {
-	if ($NAMESPACE.test($filter)) {
-		$filter = $filter.split($NAMESPACE);
-		$arguments = $filter[0];
-		$filter = $filter[1];
-	}
-	var $results = [];
-	if (selectors[$token]) {
-		selectors[$token]($results, $$from, $filter, $arguments);
-	}
-	return $results;
-};
-
-// -----------------------------------------------------------------------
-// parsing
-// -----------------------------------------------------------------------
-
-// convert css selectors to a stream of tokens and filters
-//  it's not a real stream. it's just an array of strings.
-var $STANDARD_SELECT = /^[^\s>+~]/;
-var $$STREAM = /[\s#.:>+~()@]|[^\s#.:>+~()@]+/g;
-function _toStream($selector) {
-	if ($STANDARD_SELECT.test($selector)) $selector = " " + $selector;
-	return $selector.match($$STREAM) || [];
-};
-
-var $WHITESPACE = /\s*([\s>+~(),]|^|$)\s*/g;
-var $IMPLIED_ALL = /([\s>+~,]|[^(]\+|^)([#.:@])/g;
-var parseSelector = function($selector) {
-	return $selector
-	// trim whitespace
-	.replace($WHITESPACE, "$1")
-	// e.g. ".class1" --> "*.class1"
-	.replace($IMPLIED_ALL, "$1*$2");
-};
-
-var Quote = {
-	toString: function() {return "'"},
-	match: /^('[^']*')|("[^"]*")$/,
-	test: function($string) {
-		return this.match.test($string);
-	},
-	add: function($string) {
-		return this.test($string) ? $string : this + $string + this;
-	},
-	remove: function($string) {
-		return this.test($string) ? $string.slice(1, -1) : $string;
-	}
-};
-
-var getText = function($text) {
-	return Quote.remove($text);
-};
-
-var $ESCAPE = /([\/()[\]?{}|*+-])/g;
-function regEscape($string) {
-	return $string.replace($ESCAPE, "\\$1");
-};
-
-// -----------------------------------------------------------------------
-// modules
-// -----------------------------------------------------------------------
-
-// -------- >>      insert modules here for packaging       << -------- \\
-
-loaded = true;
-
-// -----------------------------------------------------------------------
-// return the query function
-// -----------------------------------------------------------------------
-
-return cssQuery;
-
-}(); // cssQuery
-cssQuery.caching = true;
-cssQuery.addModule("ie7", function() {
-	thisElement = function($element) {
-		return ($element && $element.nodeType == 1 && $element.tagName != "!" && !$element.ie7_anon) ? $element : null;
-	};
-});
-cssQuery.valueOf("getText=arguments[1]", getString);
-
-// -----------------------------------------------------------------------
-//  IE7 CSS
-// -----------------------------------------------------------------------
-
-
-var ie7CSS = new (Fix.specialize({ // single instance
-	parser: new Parser,
-	styles: [],
-	screen: "",
-	print: "",
-	init: function() {
-		this.createStyleSheet();
-		this.refresh();
-	},
-	refresh: function($media) {
-		ie7CSS.styleSheet.cssText = HEADER + this.screen + this.print;
-	},
-	apply: function($media) {
-		// load inline styles
-		var $$styleSheets = document.getElementsByTagName("style"), $styleSheet;
-		for (var i = $$styleSheets.length - 1; ($styleSheet = $$styleSheets[i]); i--) {
-			if (!$styleSheet.disabled && !$styleSheet.ie7) {
-				 this.styles.push($styleSheet.innerHTML);
-			}
-		}
-		this.refresh();
-		new StyleSheet("screen");
-		this.trash();
-	},
-	addFix: function($expression, $replacement) {
-		this.parser.add($expression, $replacement);
-	},
-	recalc: function() {
-		// we're going to read through all style rules.
-		//  certain rules have had ie7 properties added to them.
-		//   e.g. p{top:0; ie7_recalc2:1; left:0}
-		//  this flags a property in the rule as needing a fix.
-		//  the selector text is then used to query the document.
-		//  we can then loop through the results of the query
-		//  and fix the elements.
-		// we ignore the IE7 rules - so count them in the header
-		var $RECALCS = /ie7_recalc\d+/g;
-		var $start = HEADER.match(/[{,]/g).length;
-		// only calculate screen fixes. print fixes don't show up anyway
-		var $$stop = $start + this.screen.cssText.match(/\{/g).length;
-		var $$rules = this.styleSheet.rules, $rule;
-		var $$calcs, $calc, $$elements, $element, i, j, k, id;
-		// loop through all rules
-		for (i = $start; i < $$stop; i++) {
-			$rule = $$rules[i];
-			// search for the "ie7_recalc" flag (there may be more than one)
-			if ($rule && ($$calcs = $rule.style.cssText.match($RECALCS))) {
-				// use the selector text to query the document
-				$$elements = cssQuery($rule.selectorText);
-				// if there are matching elements then loop
-				//  through the recalc functions and apply them
-				//  to each element
-				if ($$elements.length) for (j = 0; j < $$calcs.length; j++) {
-					// get the matching flag (e.g. ie7_recalc3)
-					id = $$calcs[j];
-					// extract the numeric id from the end of the flag
-					//  and use it to index the collection of recalc
-					//  functions
-					$calc = ie7CSS.recalcs[id.slice(10)][2];
-					for (k = 0; ($element = $$elements[k]); k++) {
-						// apply the fix
-						if ($element.currentStyle[id]) $calc($element);
-					}
-				}
-			}
-		}
-	},
-	// recalcs occur whenever the document is refreshed using document.recalc()
-	addRecalc: function($propertyName, $test, $handler, $replacement) {
-		$test = new RegExp("([{;\\s])" + $propertyName + "\\s*:\\s*" + $test + "[^;}]*");
-		var $id = this.recalcs.length;
-        if ($replacement) $replacement = $propertyName + ":" + $replacement;
-		this.addFix($test, function($match, $offset) {
-			return ($replacement ?  $match[$offset + 1] + $replacement : $match[$offset]) +
-				";ie7-" + $match[$offset].slice(1) + ";ie7_recalc" + $id + ":1";
-		});
-		this.recalcs.push(arguments);
-		return $id;
-	},
-	// retrieve the text of a style sheet
-	getText: function($styleSheet) {
-		// without the CSS2 module we assume CSS1, so it is safe to get Microsoft's stored text
-		return $styleSheet.cssText || $styleSheet.$cssText;
-	},
-	createStyleSheet: function() {
-		// create the IE7 style sheet
-		if (complete || !isHTML) document.createStyleSheet();
-		// this fixes a bug to do with the <base> tag
-		else document.write("<style ie7=true></style>");
-		// get the new style sheet
-		this.styleSheet = styleSheets[styleSheets.length - 1];
-		// flag it so we can ignore it during parsing
-		this.styleSheet.ie7 = true;
-		this.styleSheet.cssText = HEADER;
-	},
-	trash: function() {
-		// trash the old style sheets
-		var styleSheet, i;
-		for (i = 0; i < styleSheets.length; i++) {
-			styleSheet = styleSheets[i];
-			if (!styleSheet.ie7) {
-				styleSheet.$cssText = styleSheet.cssText;
-				styleSheet.cssText = "";
-			}
-		}
-	}
-}));
-
-// -----------------------------------------------------------------------
-//  IE7 StyleSheet class
-// -----------------------------------------------------------------------
-
-function StyleSheet($media) {
-	this.media = $media;
-	this.load();
-	ie7CSS[$media] = this;
-	ie7CSS.refresh();
-};
-ICommon.specialize({
-	constructor: StyleSheet,
-	toString: function() {
-		return "@media " + this.media + "{" + this.cssText + "}";
-	},
-	cssText: "",
-	recalc: DUMMY,
-	load: function() {
-		this.getText();
-		this.parse();
-		this.cssText = _decode(this.cssText);
-	},
-	getText: function() {
-		// store for style sheet text
-		var _inlineStyles = [].concat(ie7CSS.styles);
-		// parse media decalarations
-		var $MEDIA = /@media\s+([^{]*)\{([^@]+\})\s*\}/gi;
-		var $ALL = /\ball\b|^$/i, $SCREEN = /\bscreen\b/i, $PRINT = /\bprint\b/i;
-		function _parseMedia($cssText, $media) {
-			_replaceMedia.$value = $media;
-			return $cssText.replace($MEDIA, _replaceMedia);
-		};
-		function _replaceMedia($$match, $media, $cssText) {
-			$media = _simpleMedia($media);
-			switch ($media) {
-				case "screen":
-				case "print":
-					if ($media != _replaceMedia.$value) return "";
-				case "all":
-					return $cssText;
-			}
-			return "";
-		};
-		function _simpleMedia($media) {
-			if ($ALL.test($media)) return "all";
-			else if ($SCREEN.test($media)) return ($PRINT.test($media)) ? "all" : "screen";
-			else if ($PRINT.test($media)) return "print";
-		};
-		var self = this;
-		function _getCSSText($styleSheet, $path, $media, $level) {
-			var $cssText = "";
-			if (!$level) {
-				$media = _simpleMedia($styleSheet.media);
-				$level = 0;
-			}
-			if ($media == "all" || $media == self.media) {
-				// IE only allows importing style sheets three levels deep.
-				// it will crash if you try to access a level below this
-				if ($level < 3) {
-					// loop through imported style sheets
-					for (var i = 0; i < $styleSheet.imports.length; i++) {
-						// call this function recursively to get all imported style sheets
-						$cssText += _getCSSText($styleSheet.imports[i], getPath($styleSheet.href, $path), $media, $level + 1);
-					}
-				}
-				// retrieve inline style or load an external style sheet
-				$cssText += _encode($styleSheet.href ? _loadStyleSheet($styleSheet, $path) : _inlineStyles.pop() || "");
-				$cssText = _parseMedia($cssText, self.media);
-			}
-			return $cssText;
-		};
-		// store loaded cssText URLs
-		var $fileCache = {};
-		// load an external style sheet
-		function _loadStyleSheet($styleSheet, $path) {
-			var $url = makePath($styleSheet.href, $path);
-			// if the style sheet has already loaded then don't duplicate it
-			if ($fileCache[$url]) return "";
-			// load from source
-			$fileCache[$url] = ($styleSheet.disabled) ? "" :
-				_fixUrls(ie7CSS.getText($styleSheet, $path), getPath($styleSheet.href, $path));
-			return $fileCache[$url];
-		};
-		// fix css paths
-		// we're lumping all css text into one big style sheet so relative
-		//  paths have to be fixed. this is necessary anyway because of other
-		//  explorer bugs.
-		var $URL = /(url\s*\(\s*['"]?)([\w\.]+[^:\)]*['"]?\))/gi;
-		function _fixUrls($cssText, $pathname) {
-			// hack & slash
-			return $cssText.replace($URL, "$1" + $pathname.slice(0, $pathname.lastIndexOf("/") + 1) + "$2");
-		};
-
-		// load all style sheets in the document
-		for (var i = 0; i < styleSheets.length; i++) {
-			if (!styleSheets[i].disabled && !styleSheets[i].ie7) {
-				this.cssText += _getCSSText(styleSheets[i]);
-			}
-		}
-	}, // end: load
-	parse: function() {
-		this.cssText = ie7CSS.parser.exec(this.cssText);
-	},
-	recalc: DUMMY
-});
-
-// -----------------------------------------------------------------------
-// encoding
-// -----------------------------------------------------------------------
-
-var Quote = cssQuery.valueOf("Quote");
-var _strings = [];
-
-function _encode($cssText) {
-	return encoder.exec(safeString.exec($cssText));
-};
-
-function _encodeString($match, $offset) {
-	return Quote + (_strings.push($match[$offset]) - 1) + Quote;
-};
-
-function getString($value) {
-	return Quote.test($value) ? eval(_strings[eval($value)]) : $value;
-};
-
-var encoder = new Parser;
-// comments
-encoder.add(/\/\*[^*]*\*+([^\/][^*]*\*+)*\//);
-// strings
-encoder.add(/'[^']*'/, _encodeString);
-encoder.add(/"[^"]*"/, _encodeString);
-// white space
-encoder.add(/\s+/, " ");
-// get rid
-encoder.add(/@(namespace|import)[^;\n]+[;\n]|<!\-\-|\-\->/);
-
-var safeString = new Parser;
-safeString.add(/\\'/, "\\x27");
-safeString.add(/\\"/, "\\x22");
-
-// -----------------------------------------------------------------------
-// decoding
-// -----------------------------------------------------------------------
-
-var decoder = new Parser;
-// comments
-decoder.add(/'(\d+)'/, _decodeString);
-
-function _decode($cssText) {
-	return decoder.exec($cssText);
-};
-
-function _decodeString($match, $offset) {
-	return _strings[$match[$offset + 1]];
-};
-
-// -----------------------------------------------------------------------
-// event handling
-// -----------------------------------------------------------------------
-
-var _handlers = [];
-
-function addResize($handler) {
-	if (quirksMode) addRecalc($handler);
-	addEventHandler(window, "onresize", $handler);
-};
-
-// add an event handler (function) to an element
-function addEventHandler($element, $type, $handler) {
-	$element.attachEvent($type, $handler);
-	// store the handler so it can be detached later
-	_handlers.push(arguments);
-};
-
-// remove an event handler assigned to an element by IE7
-function removeEventHandler($element, $type, $handler) {
-try {
-	$element.detachEvent($type, $handler);
-} catch ($ignore) {
-	// write a letter of complaint to microsoft..
-}};
-
-// remove event handlers (they eat memory)
-window.attachEvent("onunload", function() {
- 	while (_handlers.length) {
- 		var $handler = _handlers.pop();
- 		removeEventHandler($handler[0], $handler[1], $handler[2]);
- 	};
-});
-
-function register($handler, $element, $condition) { // - at DRE
-	//var $set = $handler[$element.uniqueID];
-	if (!$handler.elements) $handler.elements = {};
-	if ($condition) $handler.elements[$element.uniqueID] = $element;
-	else delete $handler.elements[$element.uniqueID];
-	//return !$set && $condition;
-	return $condition;
-};
-
-// -----------------------------------------------------------------------
-// events
-// -----------------------------------------------------------------------
-
-addEventHandler(window, "onbeforeprint", function() {
-	if (!ie7CSS.print) new StyleSheet("print");
-	ie7CSS.print.recalc();
-});
-
-// -----------------------------------------------------------------------
-// pixel conversion
-// -----------------------------------------------------------------------
-
-// this is handy because it means that web developers can mix and match
-//  measurement units in their style sheets. it is not uncommon to
-//  express something like padding in "em" units whilst border thickness
-//  is most often expressed in pixels.
-
-var PIXEL = /^\d+(px)?$/i;
-var PERCENT = /^\d+%$/;
-var getPixelValue = function($element, $value) {
-	if (PIXEL.test($value)) return parseInt($value);
-	var $style = $element.style.left;
-	var $runtimeStyle = $element.runtimeStyle.left;
-	$element.runtimeStyle.left = $element.currentStyle.left;
-	$element.style.left = $value || 0;
-	$value = $element.style.pixelLeft;
-	$element.style.left = $style;
-	$element.runtimeStyle.left = $runtimeStyle;
-	return $value;
-};
-
-// create a temporary element which is used to inherit styles
-//  from the target element. the temporary element can be resized
-//  to determine pixel widths/heights
-function createTempElement($tagName) {
-	var $element = document.createElement($tagName || "object");
-	$element.style.cssText = "position:absolute;padding:0;display:block;border:none;clip:rect(0 0 0 0);left:-9999";
-	$element.ie7_anon = true;
-	return $element;
-};
-
-// -----------------------------------------------------------------------
-// generic
-// -----------------------------------------------------------------------
-
-var _IE7_ = "ie7-";
-
-function isFixed($element) {
-	return $element.currentStyle["ie7-position"] == "fixed";
-};
-
-// original style
-function getDefinedStyle($element, $propertyName) {
-	return $element.currentStyle[_IE7_ + $propertyName] || $element.currentStyle[$propertyName];
-};
-
-function setOverrideStyle($element, $propertyName, $value) {
-	if ($element.currentStyle[_IE7_ + $propertyName] == null) {
-		$element.runtimeStyle[_IE7_ + $propertyName] = $element.currentStyle[$propertyName];
-	}
-	$element.runtimeStyle[$propertyName] = $value;
-};
-
-function addTimer($object, $cssText, $url) {
-	var $timer = setInterval(function() {
-	try {
-		// wait until the object has loaded
-		if (!$object.load) return;
-		$object.load($object, $cssText, $url);
-		clearInterval($timer);
-	} catch ($ignore) {
-		// remote scripting
-		clearInterval($timer);
-	}}, 10);
-};
-
-// -----------------------------------------------------------------------
-//  modules
-// -----------------------------------------------------------------------
-
-// -------- >>      insert modules here for packaging       << -------- \\
-
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-html4", function() {
-
-// don't bother with this for XML documents
-if (!isHTML) return;
-
-// -----------------------------------------------------------------------
-// HTML Header
-// -----------------------------------------------------------------------
-
-// create default font-sizes
-HEADER += "h1{font-size:2em}h2{font-size:1.5em;}h3{font-size:1.17em;}" +
-	"h4{font-size:1em}h5{font-size:.83em}h6{font-size:.67em}";
-
-// -----------------------------------------------------------------------
-// IE7 HTML Factory
-// -----------------------------------------------------------------------
-
-ie7HTML = new (Fix.specialize({ // single instance
-	init: init,
-	// fixes are a one-off, they are applied when the document is loaded
-	addFix: function() {
-		this.fixes.push(arguments);
-	},
-	apply: function() {
-		for (var i = 0; i < this.fixes.length; i++) {
-			var $match = cssQuery(this.fixes[i][0]);
-			var $fix = this.fixes[i][1] || _fixElement;
-			for (var j = 0; j < $match.length; j++) $fix($match[j]);
-		}
-	},
-	// recalcs occur whenever the document is refreshed using document.recalc()
-	addRecalc: function() {
-		this.recalcs.push(arguments);
-	},
-	recalc: function() {
-		// loop through the fixes
-		for (var i = 0; i < this.recalcs.length; i++) {
-			var $match = cssQuery(this.recalcs[i][0]);
-			var $recalc = this.recalcs[i][1], $element;
-			for (var j = 0; ($element = $match[j]); j++) {
-				$element = $recalc($element) || $element;
-			}
-		}
-	}
-})); // ie7HTML
-
-function init() { // add some fixes
-
-// -----------------------------------------------------------------------
-// <abbr>
-// -----------------------------------------------------------------------
-
-	// provide support for the <abbr> tag.
-	//  this is a proper fix, it preserves the DOM structure and
-	//  <abbr> elements report the correct tagName & namespace prefix
-	this.addFix("abbr");
-
-
-// -----------------------------------------------------------------------
-// <object>
-// -----------------------------------------------------------------------
-
-	// fix [type=image/*]
-	var $IMAGE = /^image/i;
-	var _objectPath = makePath("ie7-object.htc", path);
-	this.addRecalc("object", function($element) {
-		if ($IMAGE.test($element.type)) {
-		 	var $object = document.createElement("<object type=text/x-scriptlet>");
-		 	$object.style.width = $element.currentStyle.width;
-		 	$object.style.height = $element.currentStyle.height;
-		//-	$object.title = $element.title;
-		 	$object.data = _objectPath;
-			var $url = makePath($element.data, getPath(location.href));
-			$element.parentNode.replaceChild($object, $element);
-			cssQuery.clearCache("object");
-			addTimer($object, "", $url);
-			return $object;
-		}
-	});
-
-// -----------------------------------------------------------------------
-// <label>
-// -----------------------------------------------------------------------
-
-	// bind to the first child control
-	this.addRecalc("label", function($element) {
-		if (!$element.htmlFor) {
-			var $firstChildControl = cssQuery("input,select,textarea", $element)[0];
-			if ($firstChildControl) {
-				addEventHandler($element, "onclick", function() {
-					$firstChildControl.click();
-				});
-			}
-		}
-	});
-
-// -----------------------------------------------------------------------
-// <button>
-// -----------------------------------------------------------------------
-
-	// IE bug means that innerText is submitted instead of "value"
-	this.addRecalc("button,input", function($element) {
-		if ($element.tagName == "BUTTON") {
-			var $match = $element.outerHTML.match(/ value="([^"]*)"/i);
-			$element.runtimeStyle.value = ($match) ? $match[1] : "";
-		}
-		// flag the button/input that was used to submit the form
-		if ($element.type == "submit") {
-			addEventHandler($element, "onclick", function() {
-				$element.runtimeStyle.clicked = true;
-				setTimeout("document.all." + $element.uniqueID + ".runtimeStyle.clicked=false", 1);
-			});
-		}
-	});
-
-// -----------------------------------------------------------------------
-// <form>
-// -----------------------------------------------------------------------
-
-	// only submit "successful controls
-	var $UNSUCCESSFUL = /^(submit|reset|button)$/;
-	this.addRecalc("form", function($element) {
-		addEventHandler($element, "onsubmit", function() {
-			for (var i = 0; i < $element.length; i++) {
-				if (_unsuccessful($element[i])) {
-					$element[i].disabled = true;
-					setTimeout("document.all." + $element[i].uniqueID + ".disabled=false", 1);
-				} else if ($element[i].tagName == "BUTTON" && $element[i].type == "submit") {
-					setTimeout("document.all." + $element[i].uniqueID + ".value='" +
-						$element[i].value + "'", 1);
-					$element[i].value = $element[i].runtimeStyle.value;
-				}
-			}
-		});
-	});
-	function _unsuccessful($element) {
-		return $UNSUCCESSFUL.test($element.type) && !$element.disabled &&
-			!$element.runtimeStyle.clicked;
-	};
-
-// -----------------------------------------------------------------------
-// <img>
-// -----------------------------------------------------------------------
-
-	// get rid of the spurious tooltip produced by the alt attribute on images
-	this.addRecalc("img", function($element) {
-		if ($element.alt && !$element.title) $element.title = "";
-	});
-
-}; // init
-
-// -----------------------------------------------------------------------
-// Fix broken elements
-// -----------------------------------------------------------------------
-
-var $PREFIX = (appVersion < 5.5) ? "HTML:" : "";
-function _fixElement($element) {
-	var $fixedElement = document.createElement("<" + $PREFIX +
-		$element.outerHTML.slice(1));
-	if ($element.outerHTML.slice(-2) != "/>") {
-		// remove child nodes and copy them to the new $element
-		var $$endTag = "</"+ $element.tagName + ">", $nextSibling;
-		while (($nextSibling = $element.nextSibling) && $nextSibling.outerHTML != $$endTag) {
-			$fixedElement.appendChild($nextSibling);
-		}
-		// remove the closing tag
-		if ($nextSibling) $nextSibling.removeNode();
-	}
-	// replace the broken tag with the namespaced version
-	$element.parentNode.replaceChild($fixedElement, $element);
-};
-
-}); // addModule
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-layout", function() {
-// big, ugly box-model hack + min/max stuff
-
-// #tantek > #erik > #dean { voice-family: hacker; }
-
-// this module is useful to other modules so it is global
-//  (all modules are anyway through the modules collection)
-ie7Layout = this;
-
-// -----------------------------------------------------------------------
-// "layout"
-// -----------------------------------------------------------------------
-
-// does an element have "layout" ?
-this.hasLayout = (appVersion < 6) ? function($element) {
-	// element.currentStyle.hasLayout doesn't work for IE5.x
-	return $element.clientWidth;
-} : function($element) {
-	return $element.currentStyle.hasLayout;
-};
-
-// give an element "layout"
-this.boxSizing = function($element) {
-	if (!ie7Layout.hasLayout($element)) {
-	//#	$element.runtimeStyle.fixedHeight =
-		$element.runtimeStyle.height = "0cm";
-		if ($element.currentStyle.verticalAlign == "auto")
-			$element.runtimeStyle.verticalAlign = "top";
-		// when an element acquires "layout", margins no longer collapse correctly
-		_collapseMargins($element);
-	}
-};
-
-// -----------------------------------------------------------------------
-// Margin Collapse
-// -----------------------------------------------------------------------
-
-function _collapseMargins($element) {
-	if ($element.currentStyle.position != "absolute") {
-		collapseMarginTop($element);
-		collapseMarginBottom($element);
-	}
-};
-
-var firstElementChild = cssQuery.valueOf("firstElementChild");
-var lastElementChild = cssQuery.valueOf("lastElementChild");
-
-function collapseMarginTop($element) {
-	if (!$element.runtimeStyle.marginTop) {
-		var $firstChild = firstElementChild($element);
-		if ($firstChild && $firstChild.currentStyle.styleFloat == "none") {
-			if ($element != viewport) {
-				if (ie7Layout.hasLayout($firstChild)) collapseMarginTop($firstChild);
-				$marginTop = _getMargin($element, $element.currentStyle.marginTop);
-				$childMarginTop = _getMargin($firstChild, $firstChild.currentStyle.marginTop);
-				if ($marginTop < 0 || $childMarginTop < 0) {
-					$element.runtimeStyle.marginTop =  $marginTop + $childMarginTop;
-				} else {
-					$element.runtimeStyle.marginTop =  Math.max($childMarginTop, $marginTop);
-				}
-			}
-			$firstChild.runtimeStyle.marginTop = "0px";
-		}
-	}
-};
-eval(String(collapseMarginTop).replace(/Top/g, "Bottom").replace(/first/g, "last"));
-
-function _getMargin($element, $value) {
-	return ($value == "auto") ? 0 : getPixelValue($element, $value);
-};
-
-// -----------------------------------------------------------------------
-// box-model
-// -----------------------------------------------------------------------
-
-// constants
-var $UNIT = /^[.\d][\w%]*$/, $AUTO = /^(auto|0cm)$/, $NUMERIC = "[.\\d]";
-
-function fixWidth($HEIGHT) {
-	fixWidth = function($element, $value) {
-		if (!$element.runtimeStyle.fixedWidth) {
-			if (!$value) $value = $element.currentStyle.width;
-			$element.runtimeStyle.fixedWidth = ($UNIT.test($value)) ? Math.max(0, getFixedWidth($element, $value)) : $value;
-			$element.runtimeStyle.width = $element.runtimeStyle.fixedWidth;
-		}
-	};
-
-	function layoutWidth($element) {
-		if (!isFixed($element)) {
-			var $layoutParent = $element.offsetParent;
-			while ($layoutParent && !ie7Layout.hasLayout($layoutParent)) $layoutParent = $layoutParent.offsetParent;
-		}
-		return ($layoutParent || viewport).clientWidth;
-	};
-
-	function getPixelWidth($element, $value) {
-		if (PERCENT.test($value)) return parseInt(parseFloat($value) / 100 * layoutWidth($element));
-		return getPixelValue($element, $value);
-	};
-
-	var getFixedWidth = (quirksMode) ? function($element, $value) {
-		return getPixelWidth($element, $value) + getBorderWidth($element) + getPaddingWidth($element);
-	} : function($element, $value) {
-		return getPixelWidth($element, $value);
-	};
-
-	// easy way to get border thickness for elements with "layout"
-	function getBorderWidth($element) {
-		return $element.offsetWidth - $element.clientWidth;
-	};
-
-	// have to do some pixel conversion to get padding thickness :-(
-	function getPaddingWidth($element) {
-		return getPixelWidth($element, $element.currentStyle.paddingLeft) +
-			getPixelWidth($element, $element.currentStyle.paddingRight);
-	};
-	// clone the getPaddingWidth function to make a getMarginWidth function
-	eval(String(getPaddingWidth).replace(/padding/g, "margin").replace(/Padding/g, "Margin"));
-
-// -----------------------------------------------------------------------
-// min/max
-// -----------------------------------------------------------------------
-
-	HEADER += "*{minWidth:auto;maxWidth:auto;min-width:auto;max-width:auto}";
-
-	// handle min-width property
-	function minWidth($element) {
-		// IE6 supports min-height so we frig it here
-		//#if ($element.currentStyle.minHeight == "auto") $element.runtimeStyle.minHeight = 0;
-		if ($element.currentStyle["min-width"] != null) {
-			$element.style.minWidth = $element.currentStyle["min-width"];
-		}
-		if (register(minWidth, $element, $element.currentStyle.minWidth != "auto")) {
-			fixWidth($element);
-			if (!$HEIGHT) ie7Layout.boxSizing($element);
-			resizeWidth($element);
-		}
-	};
-	// clone the minWidth function to make a maxWidth function
-	eval(String(minWidth).replace(/min/g, "max"));
-	// expose these methods
-	ie7Layout.minWidth = minWidth;
-	ie7Layout.maxWidth = maxWidth;
-
-	// apply min/max restrictions
-	function resizeWidth($element) {
-		// check boundaries
-		var $rect = $element.getBoundingClientRect();
-		var $width = $rect.right - $rect.left;
-
-		if ($element.currentStyle.minWidth != "auto" && $width <= getFixedWidth($element, $element.currentStyle.minWidth)) {
-			$element.runtimeStyle.width = getFixedWidth($element, $element.currentStyle.minWidth);
-		} else if ($element.currentStyle.maxWidth != "auto" && $width >= getFixedWidth($element, $element.currentStyle.maxWidth)) {
-			$element.runtimeStyle.width = getFixedWidth($element, $element.currentStyle.maxWidth);
-		} else {
-			$element.runtimeStyle.width = $element.runtimeStyle.fixedWidth || "auto";
-		}
-	};
-
-// -----------------------------------------------------------------------
-// right/bottom
-// -----------------------------------------------------------------------
-
-	function fixRight($element) {
-		if (register(fixRight, $element, /^(fixed|absolute)$/.test($element.currentStyle.position) &&
-		    getDefinedStyle($element, "left") != "auto" && getDefinedStyle($element, "right") != "auto" &&
-		    $AUTO.test(getDefinedStyle($element, "width")))) {
-		    	resizeRight($element);
-		    	ie7Layout.boxSizing($element);
-		}
-	};
-	ie7Layout.fixRight = fixRight;
-
-	function resizeRight($element) {
-		var $left = getPixelWidth($element, $element.runtimeStyle._left || $element.currentStyle.left);
-		var $width = layoutWidth($element) - getPixelWidth($element, $element.currentStyle.right) -	$left - getMarginWidth($element);
-		if (parseInt($element.runtimeStyle.width) == $width) return;
-		$element.runtimeStyle.width = "";
-		if (isFixed($element) || $HEIGHT || $element.offsetWidth < $width) {
-	    	if (!quirksMode) $width -= getBorderWidth($element) + getPaddingWidth($element);
-			if ($width < 0) $width = 0;
-			$element.runtimeStyle.fixedWidth = $width;
-			$element.runtimeStyle.width = $width;
-		}
-	};
-
-// -----------------------------------------------------------------------
-// window.onresize
-// -----------------------------------------------------------------------
-
-	// handle window resize
-	var _clientWidth = documentElement.clientWidth;
-	addResize(function() {
-		var i, $wider = (_clientWidth < documentElement.clientWidth);
-		_clientWidth = documentElement.clientWidth;
-		// resize elements with "min-width" set
-		for (i in minWidth.elements) {
-			var $element = minWidth.elements[i];
-			var $fixedWidth = (parseInt($element.runtimeStyle.width) == getFixedWidth($element, $element.currentStyle.minWidth));
-			if ($wider && $fixedWidth) $element.runtimeStyle.width = "";
-			if ($wider == $fixedWidth) resizeWidth($element);
-		}
-		// resize elements with "max-width" set
-		for (i in maxWidth.elements) {
-			var $element = maxWidth.elements[i];
-			var $fixedWidth = (parseInt($element.runtimeStyle.width) == getFixedWidth($element, $element.currentStyle.maxWidth));
-			if (!$wider && $fixedWidth) $element.runtimeStyle.width = "";
-			if ($wider != $fixedWidth) resizeWidth($element);
-		}
-		// resize elements with "right" set
-		for (i in fixRight.elements) resizeRight(fixRight.elements[i]);
-	});
-
-// -----------------------------------------------------------------------
-// fix CSS
-// -----------------------------------------------------------------------
-
-	ie7CSS.addRecalc("width", $NUMERIC, (quirksMode && window.IE7_BOX_MODEL !== false) ? function($element) {
-		if (!PERCENT.test($element.currentStyle.width)) fixWidth($element);
-		_collapseMargins($element);
-	} : _collapseMargins);
-	ie7CSS.addRecalc("min-width", $NUMERIC, minWidth);
-	ie7CSS.addRecalc("max-width", $NUMERIC, maxWidth);
-	ie7CSS.addRecalc("right", $NUMERIC, fixRight);
-};
-ie7CSS.addRecalc("border-spacing", $NUMERIC, function($element) {
-	if ($element.currentStyle.borderCollapse != "collapse") {
-		$element.cellSpacing = getPixelValue($element, $element.currentStyle["border-spacing"]);
-	}
-});
-ie7CSS.addRecalc("box-sizing", "content-box", this.boxSizing);
-
-// clone the fixWidth function to create a fixHeight function
-var _rotate = new ParseMaster;
-_rotate.add(/Width/, "Height");
-_rotate.add(/width/, "height");
-_rotate.add(/Left/, "Top");
-_rotate.add(/left/, "top");
-_rotate.add(/Right/, "Bottom");
-_rotate.add(/right/, "bottom");
-eval(_rotate.exec(String(fixWidth)));
-
-// apply box-model + min/max fixes
-fixWidth();
-fixHeight(true);
-
-});/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-graphics", function() {
-
-if (appVersion < 5.5) return; // IE5.0 not supported
-
-// constants
-// this filter is used to replace a PNG image
-var $ALPHA_IMAGE_LOADER = "DXImageTransform.Microsoft.AlphaImageLoader";
-var $FILTER = "progid:" + $ALPHA_IMAGE_LOADER + "(src='%1',sizingMethod='scale')";
-
-// ** IE7 VARIABLE
-// e.g. only apply the hack to files ending in ".png"
-// IE7_PNG_SUFFIX = ".png";
-
-// regular expression version of the above
-var _pngTest = new RegExp((window.IE7_PNG_SUFFIX || "-trans.png") + "$", "i");
-var _filtered = [];
-
-// apply a filter
-function _addFilter($element) {
-	var $filter = $element.filters[$ALPHA_IMAGE_LOADER];
-	if ($filter) {
-		$filter.src = $element.src;
-		$filter.enabled = true;
-	} else {
-		$element.runtimeStyle.filter = $FILTER.replace(/%1/, $element.src);
-		_filtered.push($element);
-	}
-	// remove the real image
-	$element.src = BLANK_GIF;
-};
-function _removeFilter($element) {
-	$element.src = $element.pngSrc;
-	$element.filters[$ALPHA_IMAGE_LOADER].enabled = false;
-};
-
-// -----------------------------------------------------------------------
-//  support opacity (CSS3)
-// -----------------------------------------------------------------------
-
-ie7CSS.addFix(/opacity\s*:\s*([\d.]+)/, function($match, $offset) {
-	return "zoom:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=" +
-		((parseFloat($match[$offset + 1]) * 100) || 1) + ")";
-});
-
-// -----------------------------------------------------------------------
-//  fix PNG transparency (CSS background images)
-// -----------------------------------------------------------------------
-
-
-// replace background(-image): url(..) ..  with background(-image): .. ;filter: ..;
-var $BACKGROUND = /background(-image)?\s*:\s*([^\(};]*)url\(([^\)]+)\)([^;}]*)/;
-ie7CSS.addFix($BACKGROUND, function($match, $offset) {
-	var $url = getString($match[$offset + 3]);
-	return _pngTest.test($url) ? "filter:" +
-		$FILTER.replace(/scale/, "crop").replace(/%1/, $url) + ";zoom:1;background" +
-		  ($match[$offset + 1]||"") + ":" + ($match[$offset + 2]||"") + "none" +
-		  ($match[$offset + 4]||"") : $match[$offset];
-});
-
-// -----------------------------------------------------------------------
-//  fix PNG transparency (HTML images)
-// -----------------------------------------------------------------------
-
-if (ie7HTML) {
-	ie7HTML.addRecalc("img,input", function($element) {
-		if ($element.tagName == "INPUT" && $element.type != "image") return;
-		_fixImg($element);
-		addEventHandler($element, "onpropertychange", function() {
-			if (!_printing && event.propertyName == "src" &&
-				$element.src.indexOf(BLANK_GIF) == -1) _fixImg($element);
-		});
-	});
-	function _fixImg($element) {
-		if (_pngTest.test($element.src)) {
-			// we have to preserve width and height
-			var $image = new Image($element.width, $element.height);
-			$image.onload = function() {
-				$element.width = $image.width;
-				$element.height = $image.height;
-			};
-			$image.src = $element.src;
-			// store the original url (we'll put it back when it's printed)
-			$element.pngSrc = $element.src;
-			// add the AlphaImageLoader thingy
-			_addFilter($element);
-		}
-	};
-}
-
-// assume that background images should not be printed
-//  (if they are not transparent then they'll just obscure content)
-// but we'll put foreground images back...
-var _printing = false;
-addEventHandler(window, "onbeforeprint", function() {
-	_printing = true;
-	for (var i = 0; i < _filtered.length; i++) _removeFilter(_filtered[i]);
-});
-addEventHandler(window, "onafterprint", function() {
-	for (var i = 0; i < _filtered.length; i++) _addFilter(_filtered[i]);
-	_printing = false;
-});
-
-});/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-IE7.addModule("ie7-fixed", function() {
-	// some things to consider for this hack.
-	// the document body requires a fixed background. even if
-	//  it is just a blank image.
-	// you have to use setExpression instead of onscroll, this
-	//  together with a fixed body background helps avoid the
-	//  annoying screen flicker of other solutions.
-
-	ie7CSS.addRecalc("position", "fixed", _positionFixed, "absolute");
-	ie7CSS.addRecalc("background(-attachment)?", "[^};]*fixed", _backgroundFixed);
-
-	// scrolling is relative to the documentElement (HTML tag) when in
-	//  standards mode, otherwise it's relative to the document body
-	var _viewport = (quirksMode) ? "body" : "documentElement";
-
-	var _fixBackground = function() {
-		// this is required by both position:fixed and background-attachment:fixed.
-		// it is necessary for the document to also have a fixed background image.
-		// we can fake this with a blank image if necessary
-		if (body.currentStyle.backgroundAttachment != "fixed") {
-			if (body.currentStyle.backgroundImage == "none") {
-				body.runtimeStyle.backgroundRepeat = "no-repeat";
-				body.runtimeStyle.backgroundImage = "url(" + BLANK_GIF + ")"; // dummy
-			}
-			body.runtimeStyle.backgroundAttachment = "fixed";
-		}
-		_fixBackground = DUMMY;
-	};
-
-	var _tmp = createTempElement("img");
-
-	// clone a "left" function to create a "top" function
-	function _rotate($function) {
-		return _rotater.exec(String($function));
-	};
-	var _rotater = new ParseMaster;
-	_rotater.add(/Left/, "Top");
-	_rotater.add(/left/, "top");
-	_rotater.add(/Width/, "Height");
-	_rotater.add(/width/, "height");
-	_rotater.add(/right/, "bottom");
-	_rotater.add(/X/, "Y");
-
-	function _isFixed($element) {
-		return ($element) ? isFixed($element) || _isFixed($element.parentElement) : false;
-	};
-
-	function setExpression($element, $propertyName, $$expression) {
-		setTimeout("document.all." + $element.uniqueID + ".runtimeStyle.setExpression('" +
-			$propertyName + "','" + $$expression + "')", 0);
-	};
-
-// -----------------------------------------------------------------------
-//  backgroundAttachment: fixed
-// -----------------------------------------------------------------------
-
-	function _backgroundFixed($element) {
-		if (register(_backgroundFixed, $element,
-			$element.currentStyle.backgroundAttachment == "fixed" && !$element.contains(body))) {
-				_fixBackground();
-				backgroundLeft($element);
-				backgroundTop($element);
-				_backgroundPosition($element);
-		}
-	};
-
-	function _backgroundPosition($element) {
-		_tmp.src = $element.currentStyle.backgroundImage.slice(5, -2);
-		var $parentElement = ($element.canHaveChildren) ? $element : $element.parentElement;
-		$parentElement.appendChild(_tmp);
-		setOffsetLeft($element);
-		setOffsetTop($element);
-		$parentElement.removeChild(_tmp);
-	};
-
-	function backgroundLeft($element) {
-		$element.style.backgroundPositionX = $element.currentStyle.backgroundPositionX;
-		if (!_isFixed($element)) {
-			var $$expression = "(parseInt(runtimeStyle.offsetLeft)+document." +
-				 _viewport + ".scrollLeft)||0";
-			setExpression($element, "backgroundPositionX", $$expression);
-		}
-	};
-	eval(_rotate(backgroundLeft));
-
-	function setOffsetLeft($element) {
-		var $propertyName = _isFixed($element) ? "backgroundPositionX" : "offsetLeft";
-		$element.runtimeStyle[$propertyName] =
-			getOffsetLeft($element, $element.style.backgroundPositionX) -
-			$element.getBoundingClientRect().left - $element.clientLeft + 2;
-	};
-	eval(_rotate(setOffsetLeft));
-
-	function getOffsetLeft($element, $position) {
-		switch ($position) {
-			case "left":
-			case "top":
-				return 0;
-			case "right":
-			case "bottom":
-				return viewport.clientWidth - _tmp.offsetWidth;
-			case "center":
-				return (viewport.clientWidth - _tmp.offsetWidth) / 2;
-			default:
-				if (PERCENT.test($position)) {
-					return parseInt((viewport.clientWidth - _tmp.offsetWidth) *
-						parseFloat($position) / 100);
-				}
-				_tmp.style.left = $position;
-				return _tmp.offsetLeft;
-		}
-	};
-	eval(_rotate(getOffsetLeft));
-
-// -----------------------------------------------------------------------
-//  position: fixed
-// -----------------------------------------------------------------------
-
-	function _positionFixed($element) {
-		if (register(_positionFixed, $element, isFixed($element))) {
-			setOverrideStyle($element, "position",  "absolute");
-			setOverrideStyle($element, "left",  $element.currentStyle.left);
-			setOverrideStyle($element, "top",  $element.currentStyle.top);
-			_fixBackground();
-			if (ie7Layout) ie7Layout.fixRight($element);
-			_foregroundPosition($element);
-		}
-	};
-
-	function _foregroundPosition($element, $recalc) {
-		positionTop($element, $recalc);
-		positionLeft($element, $recalc, true);
-		if (!$element.runtimeStyle.autoLeft && $element.currentStyle.marginLeft == "auto" &&
-			$element.currentStyle.right != "auto") {
-			var $left = viewport.clientWidth - getPixelWidth($element, $element.currentStyle.right) -
-				getPixelWidth($element, $element.runtimeStyle._left) - $element.clientWidth;
-			if ($element.currentStyle.marginRight == "auto") $left = parseInt($left / 2);
-			if (_isFixed($element.offsetParent)) $element.runtimeStyle.pixelLeft += $left;
-			else $element.runtimeStyle.shiftLeft = $left;
-		}
-		clipWidth($element);
-		clipHeight($element);
-	};
-
-	function clipWidth($element) {
-		if ($element.currentStyle.width != "auto") {
-			var $rect = $element.getBoundingClientRect();
-			var $width = $element.offsetWidth - viewport.clientWidth + $rect.left - 2;
-			if ($width >= 0) $element.runtimeStyle.width =
-				getPixelValue($element, $element.currentStyle.width) - $width;
-		}
-	};
-	eval(_rotate(clipWidth));
-
-	function positionLeft($element, $recalc) {
-		// if the element's width is in % units then it must be recalculated
-		//  with respect to the viewport
-		if (!$recalc && PERCENT.test($element.currentStyle.width)) {
-			$element.runtimeStyle.fixWidth = $element.currentStyle.width;
-		}
-		if ($element.runtimeStyle.fixWidth) {
-			$element.runtimeStyle.width = getPixelWidth($element, $element.runtimeStyle.fixWidth);
-		}
-		if ($recalc) {
-			// if the element is fixed on the right then no need to recalculate
-			if (!$element.runtimeStyle.autoLeft) return;
-		} else {
-			$element.runtimeStyle.shiftLeft = 0;
-			$element.runtimeStyle._left = $element.currentStyle.left;
-			// is the element fixed on the right?
-			$element.runtimeStyle.autoLeft = $element.currentStyle.right != "auto" &&
-				$element.currentStyle.left == "auto";
-		}
-		// reset the element's "left" value and get it's natural position
-		$element.runtimeStyle.left = "";
-		$element.runtimeStyle.screenLeft = getScreenLeft($element);
-		$element.runtimeStyle.pixelLeft = $element.runtimeStyle.screenLeft;
-		// if the element is contained by another fixed element then there is no need to
-		//  continually recalculate it's left position
-		if (!$recalc && !_isFixed($element.offsetParent)) {
-			// onsrcoll produces jerky movement, so we use an expression
-			var $$expression = "runtimeStyle.screenLeft+runtimeStyle.shiftLeft+document." +
-				_viewport + ".scrollLeft";
-			setExpression($element, "pixelLeft", $$expression);
-		}
-	};
-	// clone this function so we can do "top"
-	eval(_rotate(positionLeft));
-
-	// i've forgotten how this works...
-	function getScreenLeft($element) { // thanks to kevin newman (captainn)
-		var $screenLeft = $element.offsetLeft, $nested = 1;
-		if ($element.runtimeStyle.autoLeft) {
-			$screenLeft = viewport.clientWidth - $element.offsetWidth -
-				getPixelWidth($element, $element.currentStyle.right);
-		}
-		// accommodate margins
-		if ($element.currentStyle.marginLeft != "auto") {
-			$screenLeft -= getPixelWidth($element, $element.currentStyle.marginLeft);
-		}
-		while ($element = $element.offsetParent) {
-			if ($element.currentStyle.position != "static") $nested = -1;
-			$screenLeft += $element.offsetLeft * $nested;
-		}
-		return $screenLeft;
-	};
-	eval(_rotate(getScreenLeft));
-
-	function getPixelWidth($element, $value) {
-		if (PERCENT.test($value)) return parseInt(parseFloat($value) / 100 * viewport.clientWidth);
-		return getPixelValue($element, $value);
-	};
-	eval(_rotate(getPixelWidth));
-
-// -----------------------------------------------------------------------
-//  capture window resize
-// -----------------------------------------------------------------------
-
-	function _resize() {
-		// if the window has been resized then some positions need to be
-		//  recalculated (especially those aligned to "right" or "top"
-		for (var i in _backgroundFixed.elements) {
-			_backgroundPosition(_backgroundFixed.elements[i]);
-		}
-		for (i in _positionFixed.elements) {
-			_foregroundPosition(_positionFixed.elements[i], true);
-		}
-		_timer = 0;
-	};
-
-	// use a timer for some reason.
-	//  (sometimes this is a good way to prevent resize loops)
-	var _timer;
-	addResize(function() {
-		if (!_timer) _timer = setTimeout(_resize, 0);
-	});
-
-});/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-IE7.addModule("ie7-css2-selectors", function() {
-
-/*
-	cssQuery, version 2.0 (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-cssQuery.addModule("css-level2", function() {
-
-// -----------------------------------------------------------------------
-// selectors
-// -----------------------------------------------------------------------
-
-// child selector
-selectors[">"] = function($results, $from, $tagName, $namespace) {
-	var $element, i, j;
-	for (i = 0; i < $from.length; i++) {
-		var $subset = childElements($from[i]);
-		for (j = 0; ($element = $subset[j]); j++)
-			if (compareTagName($element, $tagName, $namespace))
-				$results.push($element);
-	}
-};
-
-// sibling selector
-selectors["+"] = function($results, $from, $tagName, $namespace) {
-	for (var i = 0; i < $from.length; i++) {
-		var $element = nextElementSibling($from[i]);
-		if ($element && compareTagName($element, $tagName, $namespace))
-			$results.push($element);
-	}
-};
-
-// attribute selector
-selectors["@"] = function($results, $from, $attributeSelectorID) {
-	var $test = attributeSelectors[$attributeSelectorID].test;
-	var $element, i;
-	for (i = 0; ($element = $from[i]); i++)
-		if ($test($element)) $results.push($element);
-};
-
-// -----------------------------------------------------------------------
-// pseudo-classes
-// -----------------------------------------------------------------------
-
-pseudoClasses["first-child"] = function($element) {
-	return !previousElementSibling($element);
-};
-
-pseudoClasses["lang"] = function($element, $code) {
-	$code = new RegExp("^" + $code, "i");
-	while ($element && !$element.getAttribute("lang")) $element = $element.parentNode;
-	return $element && $code.test($element.getAttribute("lang"));
-};
-
-// -----------------------------------------------------------------------
-//  attribute selectors
-// -----------------------------------------------------------------------
-
-// constructor
-var AttributeSelector = {};
-// constants
-AttributeSelector.PREFIX = "@";
-// class properties
-AttributeSelector.tests = {};
-AttributeSelector.match = /\[([\w-]+)\s*(\W?=)?\s*([^\]]*)\]/g;
-// class methods
-AttributeSelector.replace = function($match, $attribute, $compare, $value) {
-	var $key = AttributeSelector.PREFIX + $match;
-	if (!attributeSelectors[$key]) {
-		$attribute = AttributeSelector.create($attribute, $compare || "", $value || "");
-		// store the selector
-		attributeSelectors[$key] = $attribute;
-		attributeSelectors.push($attribute);
-	}
-	return attributeSelectors[$key].id;
-};
-AttributeSelector.parse = function($selector) {
-	return $selector.replace(this.match, this.replace);
-};
-AttributeSelector.create = function($propertyName, $test, $value) {
-	var $attributeSelector = {};
-	$attributeSelector.id = AttributeSelector.PREFIX + attributeSelectors.length;
-	$attributeSelector.name = $propertyName;
-	$test = this.tests[$test];
-	$test = $test ? $test(AttributeSelector.getAttribute($propertyName), getText($value)) : false;
-	$attributeSelector.test = new Function("e", "return " + $test);
-	return $attributeSelector;
-};
-AttributeSelector.getAttribute = function($name) {
-	switch ($name.toLowerCase()) {
-		case "id":
-			return "e.id";
-		case "class":
-			return "e.className";
-		case "for":
-			return "e.htmlFor";
-		case "href":
-			if (isMSIE) {
-				// IE always returns the full path not the fragment in the href attribute
-				//  so we RegExp it out of outerHTML. Opera does the same thing but there
-				//  is no way to get the original attribute.
-				return "String((e.outerHTML.match(/href=\"?([^\\s\"]*)\"?/)||[])[1]||'')";
-			}
-	}
-	return "e.getAttribute('" + $name + "')";
-};
-
-// allow the CSS3 module to see this class
-this.AttributeSelector = AttributeSelector;
-
-// -----------------------------------------------------------------------
-//  attribute selector tests
-// -----------------------------------------------------------------------
-
-AttributeSelector.tests[""] = function($attribute) {
-	return $attribute;
-};
-
-AttributeSelector.tests["="] = function($attribute, $value) {
-	return $attribute + "==" + Quote.add($value);
-};
-
-AttributeSelector.tests["~="] = function($attribute, $value) {
-	return "/(^|\\s)" + regEscape($value) + "(\\s|$)/.test(" + $attribute + ")";
-};
-
-AttributeSelector.tests["|="] = function($attribute, $value) {
-	return "/^" + regEscape($value) + "(-|$)/.test(" + $attribute + ")";
-};
-
-// -----------------------------------------------------------------------
-//  parsing
-// -----------------------------------------------------------------------
-
-// override parseSelector to parse out attribute selectors
-var _parseSelector = parseSelector;
-parseSelector = function($selector) {
-	return _parseSelector(AttributeSelector.parse($selector));
-};
-
-}); // addModule
-var css2 = cssQuery.valueOf("modules['css-level2']");
-
-// -----------------------------------------------------------------------
-//  IE7 StyleSheet class
-// -----------------------------------------------------------------------
-
-// constants
-var $HYPERLINK = /a(#[\w-]+)?(\.[\w-]+)?:(hover|active)/i;
-var $BRACE1 = /\s*\{\s*/, $BRACE2 = /\s*\}\s*/;
-var $FIRST_LINE_LETTER = /(.*)(:first-(line|letter))/;
-
-StyleSheet.prototype.specialize({
-	parse: function() {
-		this.inherit();
-		// parse the style sheet
-		var $offset = ie7CSS.rules.length;
-		var $$rules = this.cssText.split($BRACE2), $rule;
-		var $$selectors, $cssText, i, j;
-		for (i = 0; i < $$rules.length; i++) {
-			$rule = $$rules[i].split($BRACE1);
-			$$selectors = $rule[0].split(",");
-			if ($cssText = $rule[1]) {
-				for (j = 0; j < $$selectors.length; j++) {
-					$$selectors[j] = this.createRule($$selectors[j], $cssText);
-				}
-			}
-			$$rules[i] = $$selectors.join("\n");
-		}
-		this.cssText = $$rules.join("\n");
-		this.rules = ie7CSS.rules.slice($offset);
-	},
-	recalc: function() {
-		var $rule, i;
-		for (i = 0; ($rule = this.rules[i]); i++) $rule.recalc();
-	},
-	createRule: function($selector, $cssText) {
-		if (ie7CSS.UNKNOWN.test($selector)) {
-			var $match;
-			if ($match = $selector.match(PseudoElement.MATCH)) {
-				return new PseudoElement($match[1], $match[2], $cssText);
-			} else if ($match = $selector.match(DynamicRule.MATCH)) {
-				if (!isHTML || !$HYPERLINK.test($match)) {
-					return new DynamicRule($selector, $match[1], $match[2], $match[3], $cssText);
-				}
-			} else return new Rule($selector, $cssText);
-		}
-		return $selector + " {" + $cssText + "}";
-	}
-});
-
-// -----------------------------------------------------------------------
-//  IE7 CSS
-// -----------------------------------------------------------------------
-
-ie7CSS.specialize({
-	// collections
-	rules: [],
-	pseudoClasses: cssQuery.valueOf("pseudoClasses"),
-	dynamicPseudoClasses: {},
-	// cssQuery cache
-	cache: cssQuery.valueOf("cache"),
-	// classes
-	Rule: Rule,
-	DynamicRule: DynamicRule,
-	PseudoElement: PseudoElement,
-	DynamicPseudoClass: DynamicPseudoClass,
-	// create regular expressions
-	apply: function() {
-		var $pseudoClasses = this.pseudoClasses + "|before|after|" + this.dynamicPseudoClasses;
-		$pseudoClasses = $pseudoClasses.replace(/(link|visited)\|/g, "");
-		this.UNKNOWN = new RegExp("[>+~\[]|([:.])[\\w-()]+\\1|:(" + $pseudoClasses + ")");
-		Rule.COMPLEX = new RegExp("[^\\s(]+\\s*[+~]|@\\d+|:(" + $pseudoClasses + ")", "g");
-		DynamicRule.MATCH = new RegExp("(.*):(" + this.dynamicPseudoClasses + ")(.*)");
-		PseudoElement.MATCH = /(.*):(before|after).*/;
-		this.inherit();
-	},
-	recalc: function() {
-		this.screen.recalc();
-		this.inherit();
-	},
-	getText: function($styleSheet, $path) {
-		// override getCSSText function defined in ie7-core.js.
-		// explorer will trash unknown selectors (it converts them to "UNKNOWN").
-		// so we must reload external style sheets (internal style sheets can have their text
-		//  extracted through the innerHTML property).
-			// load the style sheet text from an external file
-		return httpRequest ? (loadFile($styleSheet.href, $path) || $styleSheet.cssText)
-			:  this.inherit($styleSheet);
-	}
-}); // ie7CSS;
-
-// -----------------------------------------------------------------------
-// IE7 style rules
-// -----------------------------------------------------------------------
-
-// constructor
-function Rule($selector, $cssText) {
-	this.id = ie7CSS.rules.length;
-	this.className = Rule.PREFIX + this.id;
-	$selector = ($selector).match($FIRST_LINE_LETTER) || $selector || "*";
-	this.selector = $selector[1] || $selector;
-	this.selectorText = Rule.simple(this.selector) + "." + this.className + ($selector[2] || "");
-	this.cssText = $cssText;
-	this.MATCH = new RegExp("\\s" + this.className + "(\\s|$)", "g");
-	ie7CSS.rules.push(this);
-	this.init();
-};
-// protoytype
-ICommon.specialize({
-	// properties
-	constructor: Rule,
-	toString: function() {
-		return this.selectorText + " {" + this.cssText + "}";
-	},
-//- id: 0,
-//- className: "",
-//- selector: "",
-//- cssText: "",
-//- MATCH: null,
-	// methods
-	init: DUMMY,
-	add: function($element) {
-		// allocate this class
-		$element.className += " " + this.className;
-	},
-	remove: function($element) {
-		// deallocate this class
-		$element.className = $element.className.replace(this.MATCH, "$1");
-	},
-	recalc: function() {
-		// execute the underlying css query for this class
-		var $match = ie7CSS.cache[" *." + this.className] = cssQuery(this.selector);
-		// add the class name for all matching elements
-		for (i = 0; i < $match.length; i++) this.add($match[i]);
-	}
-});
-// constants
-Rule.PREFIX = "ie7_class";
-Rule.CHILD = />/g;
-// class methods
-Rule.simple = function($selector) {
-	// attempt to preserve specificity for "loose" parsing by
-	//  removing unknown tokens from a css selector but keep as
-	//  much as we can..
-	$selector = css2.AttributeSelector.parse($selector);
-	return $selector.replace(this.COMPLEX, "").replace(this.CHILD, " ");
-};
-
-// -----------------------------------------------------------------------
-// IE7 dynamic style
-// -----------------------------------------------------------------------
-
-// class properties:
-// attach: the element that an event handler will be attached to
-// target: the element that will have the IE7 class applied
-
-// constructor
-function DynamicRule($selector, $attach, $dynamicPseudoClass, $target, $cssText) {
-	// initialise object properties
-	this.attach = $attach || "*";
-	this.dynamicPseudoClass = ie7CSS.dynamicPseudoClasses[$dynamicPseudoClass];
-	this.target = $target;
-	this.inherit($selector, $cssText);
-};
-// protoytype
-Rule.specialize({
-	// properties
-	constructor: DynamicRule,
-//- attach: "",
-//- dynamicPseudoClass: null,
-//- target: "",
-	// methods
-	recalc: function() {
-		// execute the underlying css query for this class
-		var $match = cssQuery(this.attach);
-		// process results
-		for (var i = 0; i < $match.length; i++) {
-			// retrieve the event handler's target $element(s)
-			var $target = (this.target) ? cssQuery(this.target, $match[i]) : [$match[i]];
-			// attach event handlers for dynamic pseudo-classes
-			if ($target.length) this.dynamicPseudoClass.apply($match[i], $target, this);
-		}
-	}
-});
-
-// -----------------------------------------------------------------------
-// IE7 pseudo elements
-// -----------------------------------------------------------------------
-
-// constants
-var $ATTR = /^attr/, $VALUES = /'\d+'|attr\([\w-]+\)/g;
-var $URL = /^url\s*\(\s*([^)]*)\)$/;
-var $MAP = {
-	before0: "beforeBegin",
-	before1: "afterBegin",
-	after0: "afterEnd",
-	after1: "beforeEnd"
-};
-
-var _contentPath = makePath("ie7-content.htc", path) + "?";
-
-// CSS text required by the "content" property
-HEADER += ".ie7_anon{display:none}";
-
-// constructor
-function PseudoElement($selector, $position, $cssText) {
-	// initialise object properties
-	this.position = $position;
-	var $$content = $cssText.match(PseudoElement.CONTENT), $match, $entity;
-	if ($$content) {
-		$$content = $$content[1];
-		if ($match = $$content.match($VALUES)) {
-			for (var i = 0; ($entity = $match[i]); i++) {
-				$match[i] = $ATTR.test($entity) ? {attr: $entity.slice(5, -1)} : getString($entity);
-			}
-			$$content = $match;
-		}
-	}
-	this.content = $$content;
-	// CSS text needs to be decoded immediately
-	this.inherit($selector, _decode($cssText));
-};
-// prototype
-Rule.specialize({
-	constructor: PseudoElement,
-	toString: function() {
-		return "." + this.className + "{display:inline}";
-	},
-	init: function() {
-		// execute the underlying css query for this class
-		this.match = cssQuery(this.selector);
-		for (var i = 0; i < this.match.length; i++) {
-			var $runtimeStyle = this.match[i].runtimeStyle;
-			if (!$runtimeStyle[this.position]) $runtimeStyle[this.position] = {cssText:""};
-			$runtimeStyle[this.position].cssText += ";" + this.cssText;
-			if (this.content != null) $runtimeStyle[this.position].content = this.content;
-		}
-	},
-	recalc: function() {
-		if (this.content == null) return;
-		for (var i = 0; i < this.match.length; i++) {
-			var $target = this.match[i];
-			var $generated = $target.runtimeStyle[this.position];
-			var $$position = $MAP[this.position + Number($target.canHaveChildren)];
-			if ($generated) {
-				// copy the array of values
-				var $content = [].concat($generated.content || "");
-				for (var j = 0; j < $content.length; j++) {
-					if (typeof $content[j] == "object") {
-						$content[j] = $target.getAttribute($content[j].attr);
-					}
-				}
-				$content = $content.join("");
-				var $url = $content.match($URL);
-				// insert the pseudo element
-				var $html = PseudoElement[$url?"OBJECT":"ANON"].replace(/%1/, this.className);
-				var $$cssText = $generated.cssText;
-				if ($url) {
-					var $pseudoElement = document.createElement($html);
-					$target.insertAdjacentElement($$position, $pseudoElement);
-					$pseudoElement.data = _contentPath;
-					addTimer($pseudoElement, $$cssText, Quote.remove($url[1]));
-				} else {
-					$html = $html.replace(/%2/, $$cssText).replace(/%3/, $content);
-					$target.insertAdjacentHTML($$position, $html);
-				}
-				$target.runtimeStyle[this.position] = null;
-			}
-		} // recalc
-	}
-});
-// constants
-PseudoElement.CONTENT = /content\s*:\s*([^;]*)(;|$)/;
-PseudoElement.OBJECT = "<object class='ie7_anon %1' ie7_anon width=100% height=0 type=text/x-scriptlet>";
-PseudoElement.ANON = "<ie7:! class='ie7_anon %1' ie7_anon style='%2'>%3</ie7:!>";
-
-// -----------------------------------------------------------------------
-//  IE7 dynamic pseudo-classes
-// -----------------------------------------------------------------------
-
-// constructor
-function DynamicPseudoClass($name, $apply) {
-	this.name = $name;
-	this.apply = $apply;
-	this.instances = {};
-	ie7CSS.dynamicPseudoClasses[$name] = this;
-};
-// prototype
-Common.specialize({
-	// properties
-	constructor: DynamicPseudoClass,
-//- name: "",
-//- apply: null,
-//- instances: null,
-	// methods
-	register: function($instance) {
-		// an "instance" is actually an Arguments object
-		var $class = $instance[2];
-	//-	var $element = $instance[0];
-		$instance.id = $class.id + $instance[0].uniqueID;
-		if (!this.instances[$instance.id]) {
-			var $target = $instance[1], j;
-			for (j = 0; j < $target.length; j++) $class.add($target[j]);
-			this.instances[$instance.id] = $instance;
-		}
-	},
-	unregister: function($instance) {
-		if (this.instances[$instance.id]) {
-			var $class = $instance[2];
-			var $target = $instance[1], j;
-			for (j = 0; j < $target.length; j++) $class.remove($target[j]);
-			delete this.instances[$instance.id];
-		}
-	}
-});
-
-// -----------------------------------------------------------------------
-// pseudo-classes
-// -----------------------------------------------------------------------
-
-ie7CSS.pseudoClasses.toString = function() {
-	var $toString = [], $pseudoClass;
-	for ($pseudoClass in this) {
-		if (this[$pseudoClass].length > 1) $pseudoClass += "\\([^)]*\\)";
-		$toString.push($pseudoClass);
-	}
-	return $toString.join("|");
-};
-
-// the "ie7-link" property is set by text contained in the IE7 generated
-//  style sheet (the text is stored in the "HEADER")
-ie7CSS.pseudoClasses["link"] = function($element) {
-	return $element.currentStyle["ie7-link"] == "link";
-};
-
-ie7CSS.pseudoClasses["visited"] = function($element) {
-	return $element.currentStyle["ie7-link"] == "visited";
-};
-
-// -----------------------------------------------------------------------
-// dynamic pseudo-classes
-// -----------------------------------------------------------------------
-
-var _MOUSEOVER = (appVersion < 5.5) ? "onmouseover" : "onmouseenter";
-var _MOUSEOUT = (appVersion < 5.5) ? "onmouseout" : "onmouseleave";
-
-ie7CSS.dynamicPseudoClasses.toString = ie7CSS.pseudoClasses.toString;
-
-var _hover = new DynamicPseudoClass("hover", function($element) {
-	var $instance = arguments;
-	addEventHandler($element, _MOUSEOVER, function() {
-		_hover.register($instance);
-	});
-	addEventHandler($element, _MOUSEOUT, function() {
-		_hover.unregister($instance);
-	});
-});
-
-var _focus = new DynamicPseudoClass("focus", function($element) {
-	var $instance = arguments;
-	addEventHandler($element, "onfocus", function() {
-		_focus.unregister($instance); // in case it starts with focus
-		_focus.register($instance);
-	});
-	addEventHandler($element, "onblur", function() {
-		_focus.unregister($instance);
-	});
-	// check the active element for initial state
-	if ($element == document.activeElement) {
-		_focus.register($instance)
-	}
-});
-
-var _active = new DynamicPseudoClass("active", function($element) {
-	var $instance = arguments;
-	addEventHandler($element, "onmousedown", function() {
-		_active.register($instance);
-	});
-});
-
-// globally trap the mouseup event (thanks Martijn!)
-addEventHandler(document, "onmouseup", function() {
-	var $instances = _active.instances, j;
-	for (j in $instances) _active.unregister($instances[j]);
-	$instances = _hover.instances;
-	for (j in $instances)
-		if (!$instances[j][0].contains(event.srcElement))
-			_hover.unregister($instances[j]);
-});
-
-// -----------------------------------------------------------------------
-// attribute selectors
-// -----------------------------------------------------------------------
-
-ICommon(css2.AttributeSelector);
-
-css2.AttributeSelector.specialize({
-	getAttribute: function($name) {
-		switch ($name.toLowerCase()) {
-			case "class":
-				return "e.className.replace(/\\b\\s*ie7_class\\d+/g,'')";
-			case "src":
-				return "(e.pngSrc||e.src)";
-		}
-		return this.inherit($name);
-	}
-});
-
-// -----------------------------------------------------------------------
-// encoding
-// -----------------------------------------------------------------------
-
-// pseudo-elements can be declared with a double colon
-encoder.add(/::/, ":");
-// generated content may be unicode encoded
-safeString.add(/\\([\da-fA-F]{1,4})/, function($match, $offset) {
-	$match = $match[$offset + 1];
-	return "\\u" + "0000".slice($match.length) + $match;
-});
-
-}); // IE7.addModule
-
-loaded = true;
-
-// -----------------------------------------------------------------------
-//  quirks mode patches
-// -----------------------------------------------------------------------
-
-/* FAVELET */
-
-// load an external module to patch IE in quirks mode and override the functions above
-if (quirksMode) eval(loadFile("ie7-quirks.js", path));
-
-// -----------------------------------------------------------------------
-//  initialise
-// -----------------------------------------------------------------------
-
-ie7CSS.init();
-
-// this script may be inserted via a favelet so the page may already be loaded
-if (complete) IE7.init();
-else {
-	// if we can load behaviors then use ondocumentready
-	documentElement.addBehavior(makePath("ie7-load.htc", path));
-	// otherwise this will kick in
-	addEventHandler(document, "onreadystatechange", function() {
-		// if we are going to wait this long then wem may as well let
-		//  window.onload execute first
-		if (document.readyState == "complete") setTimeout(IE7.init, 0);
-	});
-}
-
-// -----------------------------------------------------------------------
-//  error handling
-// -----------------------------------------------------------------------
-
-} catch ($error) {
-	alert("Error [0]: " + $error.description);
-} finally {
-	// have a beer...
-}};

Copied: plog/trunk/js/ie7/src/ie7-standard-p.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-standard-p.js)

Deleted: plog/trunk/js/ie7/src/ie7-xml-extras.js
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/ie7-xml-extras.js	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/ie7-xml-extras.js	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,101 +0,0 @@
-/*
-	IE7, version 0.8 (alpha) (2005/05/23)
-	Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/)
-	License: http://creativecommons.org/licenses/LGPL/2.1/
-*/
-
-// modelled after: http://www.mozilla.org/xmlextras/
-
-function XMLHttpRequest() {
-
-	/* this is a simple wrapper for microsoft's activex object */
-
-	// IE6 has a better version
-	var $LIB = /MSIE 6/.test(navigator.userAgent) ? "Msxml2" : "Microsoft";
-
-	// because it's a wrapper, we'll make a clear distinction in code
-	//  between the wrapper (public) and the object being wrapped (private)
-	var _private = new ActiveXObject($LIB + ".XMLHTTP");
-	var _public = this;
-
-	// default property values
-	var _defaults = {
-		readyState: 0,
-		responseXML: null,
-		responseText: "",
-		status: 0,
-		statusText: ""
-	};
-
-	// update property values
-	function _update() {
-		for (var i in _defaults) {
-			_public[i] = (typeof _private[i] == "unknown") ? _defaults[i] : _private[i];
-		}
-	};
-
-	// handle a change in state
-	function _onreadystatechange() {
-		// refresh properties
-		_update();
-		// call the public event handler (if it's set)
-		if (typeof _public.onreadystatechange == "function") {
-			_public.onreadystatechange();
-		}
-	};
-
-	// public interface
-	_public.abort = function() {
-		_private.abort();
-	};
-	_public.getAllResponseHeaders = function() {
-		return _private.getAllResponseHeaders();
-	};
-	_public.getResponseHeader = function($header) {
-		return _private.getResponseHeader($header);
-	};
-	_public.openRequest = function($method, $url, $async, $user, $password) {
-		_private.open($method, $url, $async, $user, $password);
-		// need to update this here for some reason
-		_private.onreadystatechange = _onreadystatechange;
-	};
-	_public.open = _public.openRequest;
-	_public.send = function($body) {
-		_private.send($body);
-	};
-	_public.setRequestHeader = function($header, $value) {
-		_private.setRequestHeader($header, $value);
-	};
-
-	// initialise attributes
-	_update();
-};
-XMLHttpRequest.prototype = {
-	toString: function() {return "[object XMLHttpRequest]"},
-	// not supported
-	overrideMimeType: new Function,
-	channel: null
-};
-
-function DOMParser() {/* empty constructor */};
-DOMParser.prototype = {
-	toString: function() {return "[object DOMParser]"},
-	parseFromString: function($str, $contentType) {
-		var $xmlDocument = new ActiveXObject("Microsoft.XMLDOM");
-		$xmlDocument.loadXML($str);
-		return $xmlDocument;
-	},
-	// not supported
-	parseFromStream: new Function,
-	baseURI: ""
-};
-
-function XMLSerializer() {/* empty constructor */};
-XMLSerializer.prototype = {
-	toString: function() {return "[object XMLSerializer]"},
-	serializeToString: function($root) {
-		return $root.xml || $root.outerHTML;
-	},
-	// not supported
-	serializeToStream: new Function
-};

Copied: plog/trunk/js/ie7/src/ie7-xml-extras.js (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7-xml-extras.js)

Deleted: plog/trunk/js/ie7/src/ie7.gif
===================================================================
(Binary files differ)

Copied: plog/trunk/js/ie7/src/ie7.gif (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/ie7.gif)


Property changes on: plog/trunk/js/ie7/src/ie7.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: plog/trunk/js/ie7/src/test-trans.png
===================================================================
(Binary files differ)

Copied: plog/trunk/js/ie7/src/test-trans.png (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/test-trans.png)


Property changes on: plog/trunk/js/ie7/src/test-trans.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: plog/trunk/js/ie7/src/test.html
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/src/test.html	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/src/test.html	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,100 +0,0 @@
-<html xmlns:html="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<title>IE7 Test Page</title>
-<meta name="author" content="Dean Edwards"/>
-<!-- compliance patch for microsoft browsers -->
-<!--[if lt IE 7]>
-<script src="ie7-standard-p.js" type="text/javascript"></script>
-<script src="ie7-css3-selectors.js" type="text/javascript"></script>
-<script src="ie7-css-strict.js" type="text/javascript"></script>
-<![endif]-->
-<style type="text/css">
- body {background-color: #ccc;}
- img {border: none;}
- h1 {font-family: monospace;}
- h2 {background-color: black; color: white; font-style: normal;}
- h3 {margin: 0.1em 0;}
-</style>
-</head>
-
-<body>
-<div class="document">
-<div class="header">
-<h1>IE7 { css2: auto; }</h1>
-<hr />
-</div>
-
-<div class="content">
-
-<h2>Black &amp; White Test</h2>
-
-<h3>Legend</h3>
-<style type="text/css">
- div.legend {height: 20px; font-weight: bold; text-indent: 4px;}
- #fail {background-color: black; color: white;}
- #pass {background-color: white; color: black;}
-</style>
-<div class="legend" id="pass">PASS</div>
-<div class="legend" id="fail">FAIL</div>
-
-<hr />
-
-<h3>ie7-html4.js</h3>
-<style type="text/css">
- #ie7-html4 {background-color: black; height: 20px;}
- #ie7-html4 abbr {display: block; background-color: white; height: 20px;}
-</style>
-<div id="ie7-html4"><abbr>&nbsp;</abbr></div>
-
-<h3>ie7-layout.js</h3>
-<style type="text/css">
- #ie7-layout {background-color: black; height: 20px; overflow: hidden;}
- #ie7-layout div.box {position: relative; top: -40px; background-color: white;
-   height: 40px; border-top: 20px black solid;}
-</style>
-<div id="ie7-layout"><div class="box"></div></div>
-
-<h3>ie7-graphics.js</h3>
-<style type="text/css">
- #ie7-graphics {background-color: white; height: 20px;}
- #ie7-graphics div.box {height: 20px; background: url(test-trans.png);}
-</style>
-<div id="ie7-graphics"><div class="box"></div></div>
-
-<h3>ie7-fixed.js</h3>
-<style type="text/css">
- #ie7-fixed {background-color: white; height: 20px;}
- #ie7-fixed div.box {position: fixed; top: -20px; background-color: black; height: 20px;}
-</style>
-<div id="ie7-fixed"><div class="box"></div></div>
-
-<h3>ie7-css2-selectors.js</h3>
-<style type="text/css">
- #ie7-css2-selectors {background-color: black; height: 20px;}
- #ie7-css2-selectors > span {display: block; background-color: white; height: 20px;}
-</style>
-<div id="ie7-css2-selectors"><span>&nbsp</span></div>
-
-<h3>ie7-css3-selectors.js</h3>
-<style type="text/css">
- #ie7-css3-selectors {background-color: black; height: 20px;}
- #ie7-css3-selectors:empty {background-color: white;}
-</style>
-<div id="ie7-css3-selectors"></div>
-
-<h3>ie7-css-strict.js</h3>
-<style type="text/css">
- #ie7-css-strict {background-color: black; height: 20px;}
- #ie7-css-strict > span.strict {display: block; background-color: white; height: 20px;}
- #ie7-css-strict > span {display: block; background-color: black}
-</style>
-<div id="ie7-css-strict"><span class="strict"></span></div>
-</div>
-
-<div class="footer">
-<hr />
-<a href="http://dean.edwards.name/IE7/"><img src="ie7.gif" width="80" height="15" alt="IE7 Enhanced"/></a>
-</div>
-</div>
-</body>
-</html>

Copied: plog/trunk/js/ie7/src/test.html (from rev 2358, plog/branches/plog-1.0.2/js/ie7/src/test.html)

Deleted: plog/trunk/js/ie7/test-trans.png
===================================================================
(Binary files differ)

Copied: plog/trunk/js/ie7/test-trans.png (from rev 2358, plog/branches/plog-1.0.2/js/ie7/test-trans.png)


Property changes on: plog/trunk/js/ie7/test-trans.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Deleted: plog/trunk/js/ie7/test.html
===================================================================
--- plog/branches/plog-1.0.2/js/ie7/test.html	2005-07-24 16:06:58 UTC (rev 2358)
+++ plog/trunk/js/ie7/test.html	2005-09-19 01:36:38 UTC (rev 2480)
@@ -1,100 +0,0 @@
-<html xmlns:html="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<title>IE7 Test Page</title>
-<meta name="author" content="Dean Edwards"/>
-<!-- compliance patch for microsoft browsers -->
-<!--[if lt IE 7]>
-<script src="ie7-standard-p.js" type="text/javascript"></script>
-<script src="ie7-css3-selectors.js" type="text/javascript"></script>
-<script src="ie7-css-strict.js" type="text/javascript"></script>
-<![endif]-->
-<style type="text/css">
- body {background-color: #ccc;}
- img {border: none;}
- h1 {font-family: monospace;}
- h2 {background-color: black; color: white; font-style: normal;}
- h3 {margin: 0.1em 0;}
-</style>
-</head>
-
-<body>
-<div class="document">
-<div class="header">
-<h1>IE7 { css2: auto; }</h1>
-<hr />
-</div>
-
-<div class="content">
-
-<h2>Black &amp; White Test</h2>
-
-<h3>Legend</h3>
-<style type="text/css">
- div.legend {height: 20px; font-weight: bold; text-indent: 4px;}
- #fail {background-color: black; color: white;}
- #pass {background-color: white; color: black;}
-</style>
-<div class="legend" id="pass">PASS</div>
-<div class="legend" id="fail">FAIL</div>
-
-<hr />
-
-<h3>ie7-html4.js</h3>
-<style type="text/css">
- #ie7-html4 {background-color: black; height: 20px;}
- #ie7-html4 abbr {display: block; background-color: white; height: 20px;}
-</style>
-<div id="ie7-html4"><abbr>&nbsp;</abbr></div>
-
-<h3>ie7-layout.js</h3>
-<style type="text/css">
- #ie7-layout {background-color: black; height: 20px; overflow: hidden;}
- #ie7-layout div.box {position: relative; top: -40px; background-color: white;
-   height: 40px; border-top: 20px black solid;}
-</style>
-<div id="ie7-layout"><div class="box"></div></div>
-
-<h3>ie7-graphics.js</h3>
-<style type="text/css">
- #ie7-graphics {background-color: white; height: 20px;}
- #ie7-graphics div.box {height: 20px; background: url(test-trans.png);}
-</style>
-<div id="ie7-graphics"><div class="box"></div></div>
-
-<h3>ie7-fixed.js</h3>
-<style type="text/css">
- #ie7-fixed {background-color: white; height: 20px;}
- #ie7-fixed div.box {position: fixed; top: -20px; background-color: black; height: 20px;}
-</style>
-<div id="ie7-fixed"><div class="box"></div></div>
-
-<h3>ie7-css2-selectors.js</h3>
-<style type="text/css">
- #ie7-css2-selectors {background-color: black; height: 20px;}
- #ie7-css2-selectors > span {display: block; background-color: white; height: 20px;}
-</style>
-<div id="ie7-css2-selectors"><span>&nbsp</span></div>
-
-<h3>ie7-css3-selectors.js</h3>
-<style type="text/css">
- #ie7-css3-selectors {background-color: black; height: 20px;}
- #ie7-css3-selectors:empty {background-color: white;}
-</style>
-<div id="ie7-css3-selectors"></div>
-
-<h3>ie7-css-strict.js</h3>
-<style type="text/css">
- #ie7-css-strict {background-color: black; height: 20px;}
- #ie7-css-strict > span.strict {display: block; background-color: white; height: 20px;}
- #ie7-css-strict > span {display: block; background-color: black}
-</style>
-<div id="ie7-css-strict"><span class="strict"></span></div>
-</div>
-
-<div class="footer">
-<hr />
-<a href="http://dean.edwards.name/IE7/"><img src="ie7.gif" width="80" height="15" alt="IE7 Enhanced"/></a>
-</div>
-</div>
-</body>
-</html>

Copied: plog/trunk/js/ie7/test.html (from rev 2358, plog/branches/plog-1.0.2/js/ie7/test.html)




More information about the pLog-svn mailing list