From 9f7ae0e95f89b964a098eaacdfd89ff25e05c615 Mon Sep 17 00:00:00 2001 From: Mike Macgirvin Date: Mon, 5 Jul 2010 03:34:42 -0700 Subject: Add simplepie --- simplepie/demo/for_the_demo/alternate_favicon.png | Bin 0 -> 28621 bytes .../demo/for_the_demo/background_blockquote.png | Bin 0 -> 27353 bytes .../demo/for_the_demo/background_menuitem.gif | Bin 0 -> 533 bytes .../demo/for_the_demo/background_menuitem_off.gif | Bin 0 -> 533 bytes .../for_the_demo/background_menuitem_shadow.gif | Bin 0 -> 250 bytes simplepie/demo/for_the_demo/favicons/alternate.png | Bin 0 -> 28621 bytes simplepie/demo/for_the_demo/favicons/blinklist.png | Bin 0 -> 4377 bytes simplepie/demo/for_the_demo/favicons/blogmarks.png | Bin 0 -> 3823 bytes simplepie/demo/for_the_demo/favicons/delicious.png | Bin 0 -> 3739 bytes simplepie/demo/for_the_demo/favicons/digg.png | Bin 0 -> 4004 bytes simplepie/demo/for_the_demo/favicons/magnolia.png | Bin 0 -> 4574 bytes simplepie/demo/for_the_demo/favicons/myweb2.png | Bin 0 -> 4010 bytes simplepie/demo/for_the_demo/favicons/newsvine.png | Bin 0 -> 3804 bytes simplepie/demo/for_the_demo/favicons/reddit.png | Bin 0 -> 4239 bytes simplepie/demo/for_the_demo/favicons/segnalo.png | Bin 0 -> 4116 bytes simplepie/demo/for_the_demo/favicons/simpy.png | Bin 0 -> 4256 bytes simplepie/demo/for_the_demo/favicons/spurl.png | Bin 0 -> 3970 bytes .../demo/for_the_demo/favicons/technorati.png | Bin 0 -> 4087 bytes simplepie/demo/for_the_demo/favicons/wists.png | Bin 0 -> 3974 bytes simplepie/demo/for_the_demo/feed.png | Bin 0 -> 715 bytes .../demo/for_the_demo/logo_simplepie_demo.png | Bin 0 -> 3047 bytes simplepie/demo/for_the_demo/lucida-grande-bold.swf | Bin 0 -> 21159 bytes simplepie/demo/for_the_demo/mediaplayer.swf | Bin 0 -> 32008 bytes simplepie/demo/for_the_demo/mediaplayer_readme.htm | 5 + simplepie/demo/for_the_demo/mini_podcast.png | Bin 0 -> 1202 bytes simplepie/demo/for_the_demo/place_audio.png | Bin 0 -> 851 bytes simplepie/demo/for_the_demo/place_video.png | Bin 0 -> 36713 bytes simplepie/demo/for_the_demo/sIFR-print.css | 35 ++ simplepie/demo/for_the_demo/sIFR-screen.css | 39 ++ simplepie/demo/for_the_demo/sifr-config.js | 40 +++ simplepie/demo/for_the_demo/sifr.js | 19 + simplepie/demo/for_the_demo/simplepie.css | 397 +++++++++++++++++++++ simplepie/demo/for_the_demo/sleight.js | 31 ++ .../source_files/place_audio_fireworksfile.png | Bin 0 -> 39177 bytes .../source_files/place_video_fireworksfile.png | Bin 0 -> 115826 bytes .../source_files/sIFR-r245/SifrStyleSheet.as | 71 ++++ .../source_files/sIFR-r245/_README_.txt | 12 + .../for_the_demo/source_files/sIFR-r245/options.as | 12 + .../for_the_demo/source_files/sIFR-r245/sIFR.as | 359 +++++++++++++++++++ .../for_the_demo/source_files/sIFR-r245/sifr.fla | Bin 0 -> 47104 bytes simplepie/demo/for_the_demo/top_gradient.gif | Bin 0 -> 1378 bytes simplepie/demo/for_the_demo/verdana.swf | Bin 0 -> 28575 bytes .../demo/for_the_demo/yanone-kaffeesatz-bold.swf | Bin 0 -> 76780 bytes 43 files changed, 1020 insertions(+) create mode 100644 simplepie/demo/for_the_demo/alternate_favicon.png create mode 100644 simplepie/demo/for_the_demo/background_blockquote.png create mode 100644 simplepie/demo/for_the_demo/background_menuitem.gif create mode 100644 simplepie/demo/for_the_demo/background_menuitem_off.gif create mode 100644 simplepie/demo/for_the_demo/background_menuitem_shadow.gif create mode 100644 simplepie/demo/for_the_demo/favicons/alternate.png create mode 100644 simplepie/demo/for_the_demo/favicons/blinklist.png create mode 100644 simplepie/demo/for_the_demo/favicons/blogmarks.png create mode 100644 simplepie/demo/for_the_demo/favicons/delicious.png create mode 100644 simplepie/demo/for_the_demo/favicons/digg.png create mode 100644 simplepie/demo/for_the_demo/favicons/magnolia.png create mode 100644 simplepie/demo/for_the_demo/favicons/myweb2.png create mode 100644 simplepie/demo/for_the_demo/favicons/newsvine.png create mode 100644 simplepie/demo/for_the_demo/favicons/reddit.png create mode 100644 simplepie/demo/for_the_demo/favicons/segnalo.png create mode 100644 simplepie/demo/for_the_demo/favicons/simpy.png create mode 100644 simplepie/demo/for_the_demo/favicons/spurl.png create mode 100644 simplepie/demo/for_the_demo/favicons/technorati.png create mode 100644 simplepie/demo/for_the_demo/favicons/wists.png create mode 100644 simplepie/demo/for_the_demo/feed.png create mode 100644 simplepie/demo/for_the_demo/logo_simplepie_demo.png create mode 100644 simplepie/demo/for_the_demo/lucida-grande-bold.swf create mode 100644 simplepie/demo/for_the_demo/mediaplayer.swf create mode 100755 simplepie/demo/for_the_demo/mediaplayer_readme.htm create mode 100644 simplepie/demo/for_the_demo/mini_podcast.png create mode 100644 simplepie/demo/for_the_demo/place_audio.png create mode 100644 simplepie/demo/for_the_demo/place_video.png create mode 100644 simplepie/demo/for_the_demo/sIFR-print.css create mode 100644 simplepie/demo/for_the_demo/sIFR-screen.css create mode 100644 simplepie/demo/for_the_demo/sifr-config.js create mode 100644 simplepie/demo/for_the_demo/sifr.js create mode 100644 simplepie/demo/for_the_demo/simplepie.css create mode 100644 simplepie/demo/for_the_demo/sleight.js create mode 100644 simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png create mode 100644 simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png create mode 100644 simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as create mode 100644 simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt create mode 100644 simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as create mode 100644 simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as create mode 100644 simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla create mode 100644 simplepie/demo/for_the_demo/top_gradient.gif create mode 100644 simplepie/demo/for_the_demo/verdana.swf create mode 100644 simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf (limited to 'simplepie/demo/for_the_demo') diff --git a/simplepie/demo/for_the_demo/alternate_favicon.png b/simplepie/demo/for_the_demo/alternate_favicon.png new file mode 100644 index 000000000..063fb2805 Binary files /dev/null and b/simplepie/demo/for_the_demo/alternate_favicon.png differ diff --git a/simplepie/demo/for_the_demo/background_blockquote.png b/simplepie/demo/for_the_demo/background_blockquote.png new file mode 100644 index 000000000..8267e23a2 Binary files /dev/null and b/simplepie/demo/for_the_demo/background_blockquote.png differ diff --git a/simplepie/demo/for_the_demo/background_menuitem.gif b/simplepie/demo/for_the_demo/background_menuitem.gif new file mode 100644 index 000000000..fa765d670 Binary files /dev/null and b/simplepie/demo/for_the_demo/background_menuitem.gif differ diff --git a/simplepie/demo/for_the_demo/background_menuitem_off.gif b/simplepie/demo/for_the_demo/background_menuitem_off.gif new file mode 100644 index 000000000..236cf406d Binary files /dev/null and b/simplepie/demo/for_the_demo/background_menuitem_off.gif differ diff --git a/simplepie/demo/for_the_demo/background_menuitem_shadow.gif b/simplepie/demo/for_the_demo/background_menuitem_shadow.gif new file mode 100644 index 000000000..95cfb820d Binary files /dev/null and b/simplepie/demo/for_the_demo/background_menuitem_shadow.gif differ diff --git a/simplepie/demo/for_the_demo/favicons/alternate.png b/simplepie/demo/for_the_demo/favicons/alternate.png new file mode 100644 index 000000000..063fb2805 Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/alternate.png differ diff --git a/simplepie/demo/for_the_demo/favicons/blinklist.png b/simplepie/demo/for_the_demo/favicons/blinklist.png new file mode 100644 index 000000000..53200b3c6 Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/blinklist.png differ diff --git a/simplepie/demo/for_the_demo/favicons/blogmarks.png b/simplepie/demo/for_the_demo/favicons/blogmarks.png new file mode 100644 index 000000000..c5372614a Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/blogmarks.png differ diff --git a/simplepie/demo/for_the_demo/favicons/delicious.png b/simplepie/demo/for_the_demo/favicons/delicious.png new file mode 100644 index 000000000..2e6021d26 Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/delicious.png differ diff --git a/simplepie/demo/for_the_demo/favicons/digg.png b/simplepie/demo/for_the_demo/favicons/digg.png new file mode 100644 index 000000000..3aa96770e Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/digg.png differ diff --git a/simplepie/demo/for_the_demo/favicons/magnolia.png b/simplepie/demo/for_the_demo/favicons/magnolia.png new file mode 100644 index 000000000..da519f5ab Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/magnolia.png differ diff --git a/simplepie/demo/for_the_demo/favicons/myweb2.png b/simplepie/demo/for_the_demo/favicons/myweb2.png new file mode 100644 index 000000000..2a12968d5 Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/myweb2.png differ diff --git a/simplepie/demo/for_the_demo/favicons/newsvine.png b/simplepie/demo/for_the_demo/favicons/newsvine.png new file mode 100644 index 000000000..5cdbb31c6 Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/newsvine.png differ diff --git a/simplepie/demo/for_the_demo/favicons/reddit.png b/simplepie/demo/for_the_demo/favicons/reddit.png new file mode 100644 index 000000000..65c38867c Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/reddit.png differ diff --git a/simplepie/demo/for_the_demo/favicons/segnalo.png b/simplepie/demo/for_the_demo/favicons/segnalo.png new file mode 100644 index 000000000..748149b37 Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/segnalo.png differ diff --git a/simplepie/demo/for_the_demo/favicons/simpy.png b/simplepie/demo/for_the_demo/favicons/simpy.png new file mode 100644 index 000000000..30b23c1a5 Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/simpy.png differ diff --git a/simplepie/demo/for_the_demo/favicons/spurl.png b/simplepie/demo/for_the_demo/favicons/spurl.png new file mode 100644 index 000000000..f5be3963d Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/spurl.png differ diff --git a/simplepie/demo/for_the_demo/favicons/technorati.png b/simplepie/demo/for_the_demo/favicons/technorati.png new file mode 100644 index 000000000..0f19e824e Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/technorati.png differ diff --git a/simplepie/demo/for_the_demo/favicons/wists.png b/simplepie/demo/for_the_demo/favicons/wists.png new file mode 100644 index 000000000..2e2d294d1 Binary files /dev/null and b/simplepie/demo/for_the_demo/favicons/wists.png differ diff --git a/simplepie/demo/for_the_demo/feed.png b/simplepie/demo/for_the_demo/feed.png new file mode 100644 index 000000000..e23c50c85 Binary files /dev/null and b/simplepie/demo/for_the_demo/feed.png differ diff --git a/simplepie/demo/for_the_demo/logo_simplepie_demo.png b/simplepie/demo/for_the_demo/logo_simplepie_demo.png new file mode 100644 index 000000000..eda2d868b Binary files /dev/null and b/simplepie/demo/for_the_demo/logo_simplepie_demo.png differ diff --git a/simplepie/demo/for_the_demo/lucida-grande-bold.swf b/simplepie/demo/for_the_demo/lucida-grande-bold.swf new file mode 100644 index 000000000..0a41e15eb Binary files /dev/null and b/simplepie/demo/for_the_demo/lucida-grande-bold.swf differ diff --git a/simplepie/demo/for_the_demo/mediaplayer.swf b/simplepie/demo/for_the_demo/mediaplayer.swf new file mode 100644 index 000000000..bf78fd919 Binary files /dev/null and b/simplepie/demo/for_the_demo/mediaplayer.swf differ diff --git a/simplepie/demo/for_the_demo/mediaplayer_readme.htm b/simplepie/demo/for_the_demo/mediaplayer_readme.htm new file mode 100755 index 000000000..56e12c309 --- /dev/null +++ b/simplepie/demo/for_the_demo/mediaplayer_readme.htm @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/simplepie/demo/for_the_demo/mini_podcast.png b/simplepie/demo/for_the_demo/mini_podcast.png new file mode 100644 index 000000000..fd6faf2a3 Binary files /dev/null and b/simplepie/demo/for_the_demo/mini_podcast.png differ diff --git a/simplepie/demo/for_the_demo/place_audio.png b/simplepie/demo/for_the_demo/place_audio.png new file mode 100644 index 000000000..560ea0039 Binary files /dev/null and b/simplepie/demo/for_the_demo/place_audio.png differ diff --git a/simplepie/demo/for_the_demo/place_video.png b/simplepie/demo/for_the_demo/place_video.png new file mode 100644 index 000000000..be5ec8219 Binary files /dev/null and b/simplepie/demo/for_the_demo/place_video.png differ diff --git a/simplepie/demo/for_the_demo/sIFR-print.css b/simplepie/demo/for_the_demo/sIFR-print.css new file mode 100644 index 000000000..ec89b1961 --- /dev/null +++ b/simplepie/demo/for_the_demo/sIFR-print.css @@ -0,0 +1,35 @@ +/*=:project + scalable Inman Flash Replacement (sIFR) version 3. + + =:file + Copyright: 2006 Mark Wubben. + Author: Mark Wubben, + + =:history + * IFR: Shaun Inman + * sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin + * sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben + + =:license + This software is licensed and provided under the CC-GNU LGPL. + See +*/ + + +/* This is the print stylesheet to hide the Flash headlines from the browser... regular browser text headlines will now print as normal */ + +.sIFR-flash { + display: none !important; + height: 0; + width: 0; + position: absolute; + overflow: hidden; +} + +.sIFR-alternate { + visibility: visible !important; + display: block !important; + position: static !important; + left: auto !important; + top: auto !important; +} \ No newline at end of file diff --git a/simplepie/demo/for_the_demo/sIFR-screen.css b/simplepie/demo/for_the_demo/sIFR-screen.css new file mode 100644 index 000000000..778e09d2b --- /dev/null +++ b/simplepie/demo/for_the_demo/sIFR-screen.css @@ -0,0 +1,39 @@ +/*=:project + scalable Inman Flash Replacement (sIFR) version 3. + + =:file + Copyright: 2006 Mark Wubben. + Author: Mark Wubben, + + =:history + * IFR: Shaun Inman + * sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin + * sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben + + =:license + This software is licensed and provided under the CC-GNU LGPL. + See +*/ + +/*---- sIFR ---*/ +.sIFR-flash { + visibility: visible !important; + margin: 0; + padding: 0; +} + +.sIFR-replaced { + visibility: visible !important; +} + +.sIFR-alternate { + position: absolute; + left: 0; + top: 0; + width: 0; + height: 0; + display: block; + overflow: hidden; +} + +/*---- Header styling ---*/ diff --git a/simplepie/demo/for_the_demo/sifr-config.js b/simplepie/demo/for_the_demo/sifr-config.js new file mode 100644 index 000000000..e7066b361 --- /dev/null +++ b/simplepie/demo/for_the_demo/sifr-config.js @@ -0,0 +1,40 @@ +var yanone_kaffeesatz = { + src: './for_the_demo/yanone-kaffeesatz-bold.swf' +}; + +var lucida_grande = { + src: './for_the_demo/lucida-grande-bold.swf' +}; + +sIFR.activate(yanone_kaffeesatz); +//sIFR.activate(lucida_grande); + +sIFR.replace(yanone_kaffeesatz, { +//sIFR.replace(lucida_grande, { + + selector: 'h3.header', + wmode: 'transparent', + css: { + '.sIFR-root': { + 'text-align': 'center', + 'color': '#000000', + 'font-weight': 'bold', + 'background-color': '#EEFFEE', + + 'font-size': '50px', // For Yanone Kaffeesatz + //'font-size': '40px', // For Lucida Grande + + 'letter-spacing': '0' // For Yanone Kaffeesatz + //'letter-spacing': '-4' // For Lucida Grande + + }, + 'a': { + 'text-decoration': 'none', + 'color': '#000000' + }, + 'a:hover': { + 'text-decoration': 'none', + 'color': '#666666' + } + } +}); diff --git a/simplepie/demo/for_the_demo/sifr.js b/simplepie/demo/for_the_demo/sifr.js new file mode 100644 index 000000000..0a8b1b6dc --- /dev/null +++ b/simplepie/demo/for_the_demo/sifr.js @@ -0,0 +1,19 @@ +/*=:project + scalable Inman Flash Replacement (sIFR) version 3, revision 245 + + =:file + Copyright: 2006 Mark Wubben. + Author: Mark Wubben, + + =:history + * IFR: Shaun Inman + * sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin + * sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben + + =:license + This software is licensed and provided under the CC-GNU LGPL. + See +*/ + +var parseSelector=(function(){var _1=/\s*,\s*/;var _2=/\s*([\s>+~(),]|^|$)\s*/g;var _3=/([\s>+~,]|[^(]\+|^)([#.:@])/g;var _4=/^[^\s>+~]/;var _5=/[\s#.:>+~()@]|[^\s#.:>+~()@]+/g;function parseSelector(_6,_7){_7=_7||document.documentElement;var _8=_6.split(_1),_9=[];for(var i=0;i<_8.length;i++){var _b=[_7],_c=toStream(_8[i]);for(var j=0;j<_c.length;){var _e=_c[j++],_f=_c[j++],_10="";if(_c[j]=="("){while(_c[j++]!=")"&&j<_c.length){_10+=_c[j]}_10=_10.slice(0,-1)}_b=select(_b,_e,_f,_10)}_9=_9.concat(_b)}return _9}function toStream(_11){var _12=_11.replace(_2,"$1").replace(_3,"$1*$2");if(_4.test(_12)){_12=" "+_12}return _12.match(_5)||[]}function select(_13,_14,_15,_16){return (_17[_14])?_17[_14](_13,_15,_16):[]}var _18={toArray:function(_19){var a=[];for(var i=0;i<_19.length;i++){a.push(_19[i])}return a}};var dom={isTag:function(_1d,tag){return (tag=="*")||(tag.toLowerCase()==_1d.nodeName.toLowerCase())},previousSiblingElement:function(_1f){do{_1f=_1f.previousSibling}while(_1f&&_1f.nodeType!=1);return _1f},nextSiblingElement:function(_20){do{_20=_20.nextSibling}while(_20&&_20.nodeType!=1);return _20},hasClass:function(_21,_22){return (_22.className||"").match("(^|\\s)"+_21+"(\\s|$)")},getByTag:function(tag,_24){return _24.getElementsByTagName(tag)}};var _17={"#":function(_25,_26){for(var i=0;i<_25.length;i++){if(_25[i].getAttribute("id")==_26){return [_25[i]]}}return []}," ":function(_28,_29){var _2a=[];for(var i=0;i<_28.length;i++){_2a=_2a.concat(_18.toArray(dom.getByTag(_29,_28[i])))}return _2a},">":function(_2c,_2d){var _2e=[];for(var i=0,_30;i<_2c.length;i++){_30=_2c[i];for(var j=0,_32;j<_30.childNodes.length;j++){_32=_30.childNodes[j];if(_32.nodeType==1&&dom.isTag(_32,_2d)){_2e.push(_32)}}}return _2e},".":function(_33,_34){var _35=[];for(var i=0,_37;i<_33.length;i++){_37=_33[i];if(dom.hasClass([_34],_37)){_35.push(_37)}}return _35},":":function(_38,_39,_3a){return (pseudoClasses[_39])?pseudoClasses[_39](_38,_3a):[]}};parseSelector.selectors=_17;parseSelector.pseudoClasses={};parseSelector.util=_18;parseSelector.dom=dom;return parseSelector})(); +var sIFR=new function(){var _3b=this;var _3c="sIFR-active";var _3d="sIFR-replaced";var _3e="sIFR-replacing";var _3f="sIFR-flash";var _40="sIFR-ignore";var _41="sIFR-alternate";var _42="sIFR-class";var _43="sIFR-layout";var _44=6;var _45=126;var _46=8;var _47="SIFR-PREFETCHED";var _48=[10,1.55,19,1.45,32,1.35,71,1.3,1.25];var _49=5;this.isActive=false;this.isEnabled=true;this.hideElements=true;this.preserveSingleWhitespace=false;this.fixWrap=true;this.fixHover=true;this.registerEvents=true;this.setPrefetchCookie=true;this.cookiePath="/";this.domains=[];this.fromLocal=true;this.forceClear=false;this.forceWidth=false;this.fitExactly=false;this.forceTextTransform=true;this.useDomContentLoaded=true;this.debugMode=false;this.hasFlashClassSet=false;this.delayCss=false;this.callbacks=[];var _4a=0;var _4b=false,_4c=false;var dom=new function(){var _4e="http://www.w3.org/1999/xhtml";this.getBody=function(){var _4f=document.getElementsByTagName("body");if(_4f.length==1){return _4f[0]}return null};this.addClass=function(_50,_51){if(_51){_51.className=((_51.className||"")==""?"":_51.className+" ")+_50}};this.removeClass=function(_52,_53){if(_53){_53.className=_53.className.replace(new RegExp("(^|\\s)"+_52+"(\\s|$)"),"").replace(/^\s+|(\s)\s+/g,"$1")}};this.hasClass=function(_54,_55){return new RegExp("(^|\\s)"+_54+"(\\s|$)").test(_55.className)};this.hasOneOfClassses=function(_56,_57){for(var i=0;i<_56.length;i++){if(this.hasClass(_56[i],_57)){return true}}return false};this.create=function(_59){if(document.createElementNS){return document.createElementNS(_4e,_59)}return document.createElement(_59)};this.setInnerHtml=function(_5a,_5b){if(ua.innerHtmlSupport){_5a.innerHTML=_5b}else{if(ua.xhtmlSupport){_5b=["",_5b,""].join("");var xml=(new DOMParser()).parseFromString(_5b,"text/xml");xml=document.importNode(xml.documentElement,true);while(_5a.firstChild){_5a.removeChild(_5a.firstChild)}while(xml.firstChild){_5a.appendChild(xml.firstChild)}}}};this.nodeFromHtml=function(_5d){var _5e=this.create("div");_5e.innerHTML=_5d;return _5e.firstChild};this.getComputedStyle=function(_5f,_60){var _61;if(document.defaultView&&document.defaultView.getComputedStyle){_61=document.defaultView.getComputedStyle(_5f,null)[_60]}else{if(_5f.currentStyle){_61=_5f.currentStyle[_60]}}return _61||""};this.getStyleAsInt=function(_62,_63,_64){var _65=this.getComputedStyle(_62,_63);if(_64&&!/px$/.test(_65)){return 0}_65=parseInt(_65);return isNaN(_65)?0:_65};this.getZoom=function(){return _66.zoom.getLatest()}};this.dom=dom;var ua=new function(){var ua=navigator.userAgent.toLowerCase();var _69=(navigator.product||"").toLowerCase();this.macintosh=ua.indexOf("mac")>-1;this.windows=ua.indexOf("windows")>-1;this.quicktime=false;this.opera=ua.indexOf("opera")>-1;this.konqueror=_69.indexOf("konqueror")>-1;this.ie=false/*@cc_on || true @*/;this.ieSupported=this.ie&&!/ppc|smartphone|iemobile|msie\s5\.5/.test(ua)/*@cc_on && @_jscript_version >= 5.5 @*/;this.ieWin=this.ie&&this.windows/*@cc_on && @_jscript_version >= 5.1 @*/;this.windows=this.windows&&(!this.ie||this.ieWin);this.ieMac=this.ie&&this.macintosh/*@cc_on && @_jscript_version < 5.1 @*/;this.macintosh=this.macintosh&&(!this.ie||this.ieMac);this.safari=ua.indexOf("safari")>-1;this.webkit=ua.indexOf("applewebkit")>-1&&!this.konqueror;this.khtml=this.webkit||this.konqueror;this.gecko=!this.webkit&&_69=="gecko";this.operaVersion=this.opera&&/.*opera(\s|\/)(\d+\.\d+)/.exec(ua)?parseInt(RegExp.$2):0;this.webkitVersion=this.webkit&&/.*applewebkit\/(\d+).*/.exec(ua)?parseInt(RegExp.$1):0;this.geckoBuildDate=this.gecko&&/.*gecko\/(\d{8}).*/.exec(ua)?parseInt(RegExp.$1):0;this.konquerorVersion=this.konqueror&&/.*konqueror\/(\d\.\d).*/.exec(ua)?parseInt(RegExp.$1):0;this.flashVersion=0;if(this.ieWin){var axo;var _6b=false;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(e){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");this.flashVersion=6;axo.AllowScriptAccess="always"}catch(e){_6b=this.flashVersion==6}if(!_6b){try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}}}if(!_6b&&axo){this.flashVersion=parseFloat(/([\d,?]+)/.exec(axo.GetVariable("$version"))[1].replace(/,/g,"."))}}else{if(navigator.plugins&&navigator.plugins["Shockwave Flash"]){var _6c=navigator.plugins["Shockwave Flash"];this.flashVersion=parseFloat(/(\d+\.?\d*)/.exec(_6c.description)[1]);var i=0;while(this.flashVersion>=_46&&i-1){this.flashVersion=0;this.quicktime=true}i++}}}this.flash=this.flashVersion>=_46;this.transparencySupport=this.macintosh||this.windows;this.computedStyleSupport=this.ie||document.defaultView&&document.defaultView.getComputedStyle&&(!this.gecko||this.geckoBuildDate>=20030624);this.css=true;if(this.computedStyleSupport){try{var _6f=document.getElementsByTagName("head")[0];_6f.style.backgroundColor="#FF0000";var _70=dom.getComputedStyle(_6f,"backgroundColor");this.css=!_70||/\#F{2}0{4}|rgb\(255,\s?0,\s?0\)/i.test(_70);_6f.style.backgroundColor="";_6f=null}catch(e){}}this.xhtmlSupport=!!window.DOMParser&&!!document.importNode;try{var n=dom.create("span");if(!this.ieMac){n.innerHTML="x"}this.innerHtmlSupport=n.innerHTML=="x"}catch(e){this.innerHtmlSupport=false}this.zoomSupport=!!(this.opera&&document.documentElement);this.geckoXml=this.gecko&&(document.contentType||"").indexOf("xml")>-1;this.requiresPrefetch=this.ieWin||this.khtml;this.verifiedKonqueror=false;this.supported=this.flash&&this.css&&(!this.ie||this.ieSupported)&&(!this.opera||this.operaVersion>=8)&&(!this.webkit||this.webkitVersion>=412)&&(!this.konqueror||this.konquerorVersion>3.5)&&this.computedStyleSupport&&(this.innerHtmlSupport||!this.khtml&&this.xhtmlSupport)};this.ua=ua;var _72=new function(){var _73={leading:true,"margin-left":true,"margin-right":true,"text-indent":true};var _74=" ";function capitalize($){return $.toUpperCase()}this.normalize=function(str){if(_3b.preserveSingleWhitespace){return str.replace(/\s/g,_74)}return str.replace(/(\s)\s+/g,"$1").replace(/\xA0/,_74)};this.textTransform=function(_77,str){switch(_77){case "uppercase":str=str.toUpperCase();break;case "lowercase":str=str.toLowerCase();break;case "capitalize":var _79=str;str=str.replace(/^\w|\s\w/g,capitalize);if(str.indexOf("function capitalize")!=-1){var _7a=_79.replace(/(^|\s)(\w)/g,"$1$1$2$2").split(/^\w|\s\w/g);str="";for(var i=0;i<_7a.length;i++){str+=_7a[i].charAt(0).toUpperCase()+_7a[i].substring(1)}}break}return str};this.toHexString=function(str){if(typeof (str)!="string"||!str.charAt(0)=="#"||str.length!=4&&str.length!=7){return str}str=str.replace(/#/,"");if(str.length==3){str=str.replace(/(.)(.)(.)/,"$1$1$2$2$3$3")}return "0x"+str};this.toJson=function(obj){var _7e="";switch(typeof (obj)){case "string":_7e="\""+obj+"\"";break;case "number":case "boolean":_7e=obj.toString();break;case "object":_7e=[];for(var _7f in obj){if(obj[_7f]==Object.prototype[_7f]){continue}_7e.push("\""+_7f+"\":"+_72.toJson(obj[_7f]))}_7e="{"+_7e.join(",")+"}";break}return _7e};this.convertCssArg=function(arg){if(!arg){return {}}if(typeof (arg)=="object"){if(arg.constructor==Array){arg=arg.join("")}else{return arg}}var obj={};var _82=arg.split("}");for(var i=0;i<_82.length;i++){var $=_82[i].match(/([^\s{]+)\s*\{(.+)\s*;?\s*/);if(!$||$.length!=3){continue}if(!obj[$[1]]){obj[$[1]]={}}var _85=$[2].split(";");for(var j=0;j<_85.length;j++){var $2=_85[j].match(/\s*([^:\s]+)\s*\:\s*([^\s;]+)/);if(!$2||$2.length!=3){continue}obj[$[1]][$2[1]]=$2[2]}}return obj};this.extractFromCss=function(css,_89,_8a,_8b){var _8c=null;if(css&&css[_89]&&css[_89][_8a]){_8c=css[_89][_8a];if(_8b){delete css[_89][_8a]}}return _8c};this.cssToString=function(arg){var css=[];for(var _8f in arg){var _90=arg[_8f];if(_90==Object.prototype[_8f]){continue}css.push(_8f,"{");for(var _91 in _90){if(_90[_91]==Object.prototype[_91]){continue}var _92=_90[_91];if(_73[_91]){_92=parseInt(_92,10)}css.push(_91,":",_92,";")}css.push("}")}return escape(css.join(""))};this.bind=function(_93,_94){return function(){_93[_94].apply(_93,arguments)}}};this.util=_72;var _66={};_66.fragmentIdentifier=new function(){this.fix=true;var _95;this.cache=function(){_95=document.title};function doFix(){document.title=_95}this.restore=function(){if(this.fix){setTimeout(doFix,0)}}};_66.synchronizer=new function(){this.isBlocked=false;this.block=function(){this.isBlocked=true};this.unblock=function(){this.isBlocked=false;_96.replaceAll()}};_66.zoom=new function(){var _97=100;this.getLatest=function(){return _97};if(ua.zoomSupport&&ua.opera){var _98=document.createElement("div");_98.style.position="fixed";_98.style.left="-65536px";_98.style.top="0";_98.style.height="100%";_98.style.width="1px";_98.style.zIndex="-32";document.documentElement.appendChild(_98);function updateZoom(){if(!_98){return}var _99=window.innerHeight/_98.offsetHeight;var _9a=Math.round(_99*100)%10;if(_9a>5){_99=Math.round(_99*100)+10-_9a}else{_99=Math.round(_99*100)-_9a}_97=isNaN(_99)?100:_99;_66.synchronizer.unblock();document.documentElement.removeChild(_98);_98=null}_66.synchronizer.block();setTimeout(updateZoom,54)}};this.hacks=_66;var _9b={kwargs:[],replaceAll:function(){for(var i=0;i-1){_9f=_9f.substr(_a0+1);var _a1=_9d.lastIndexOf(_9f);if(_a1>-1&&(_a1+_9f.length)==_9d.length){return true}}}return false}this.activate=function(){if(!ua.supported||!this.isEnabled||this.isActive||!isValidDomain()){return}if(arguments.length>0){this.prefetch.apply(this,arguments)}this.isActive=true;if(this.hideElements){this.setFlashClass()}if(ua.ieWin&&_66.fragmentIdentifier.fix&&window.location.hash!=""){_66.fragmentIdentifier.cache()}else{_66.fragmentIdentifier.fix=false}if(!this.registerEvents){return}function handler(evt){_3b.initialize();if(evt&&evt.type=="load"){if(document.removeEventListener){document.removeEventListener("DOMContentLoaded",handler,false)}if(window.removeEventListener){window.removeEventListener("load",handler,false)}}}if(window.addEventListener){if(_3b.useDomContentLoaded&&ua.gecko){document.addEventListener("DOMContentLoaded",handler,false)}window.addEventListener("load",handler,false)}else{if(ua.ieWin){if(_3b.useDomContentLoaded){document.write("");document.getElementById("__sifr_ie_onload").onreadystatechange=function(){if(this.readyState=="complete"){handler();this.removeNode()}}}window.attachEvent("onload",handler)}}};this.setFlashClass=function(){if(this.hasFlashClassSet){return}dom.addClass(_3c,dom.getBody()||document.documentElement);this.hasFlashClassSet=true};this.removeFlashClass=function(){if(!this.hasFlashClassSet){return}dom.removeClass(_3c,dom.getBody());dom.removeClass(_3c,document.documentElement);this.hasFlashClassSet=false};this.initialize=function(){if(_4c||!this.isActive||!this.isEnabled){return}_4c=true;_9b.replaceAll();clearPrefetch()};function getSource(src){if(typeof (src)!="string"){if(src.src){src=src.src}if(typeof (src)!="string"){var _a4=[];for(var _a5 in src){if(src[_a5]!=Object.prototype[_a5]){_a4.push(_a5)}}_a4.sort().reverse();var _a6="";var i=-1;while(!_a6&&++i<_a4.length){if(parseFloat(_a4[i])<=ua.flashVersion){_a6=src[_a4[i]]}}src=_a6}}if(!src&&_3b.debugMode){throw new Error("sIFR: Could not determine appropriate source")}if(ua.ie&&src.charAt(0)=="/"){src=window.location.toString().replace(/([^:]+)(:\/?\/?)([^\/]+).*/,"$1$2$3")+src}return src}this.prefetch=function(){if(!ua.requiresPrefetch||!ua.supported||!this.isEnabled||!isValidDomain()){return}if(this.setPrefetchCookie&&new RegExp(";?"+_47+"=true;?").test(document.cookie)){return}try{_4b=true;if(ua.ieWin){prefetchIexplore(arguments)}else{prefetchLight(arguments)}if(this.setPrefetchCookie){document.cookie=_47+"=true;path="+this.cookiePath}}catch(e){if(_3b.debugMode){throw e}}};function prefetchIexplore(_a8){for(var i=0;i<_a8.length;i++){document.write("")}}function prefetchLight(_aa){for(var i=0;i<_aa.length;i++){new Image().src=getSource(_aa[i])}}function clearPrefetch(){if(!ua.ieWin||!_4b){return}try{var _ac=document.getElementsByTagName("script");for(var i=_ac.length-1;i>=0;i--){var _ae=_ac[i];if(_ae.type=="sifr/prefetch"){_ae.parentNode.removeChild(_ae)}}}catch(e){}}function getRatio(_af,_b0){for(var i=0;i<_b0.length;i+=2){if(_af<=_b0[i]){return _b0[i+1]}}return _b0[_b0.length-1]}function getFilters(obj){var _b3=[];for(var _b4 in obj){if(obj[_b4]==Object.prototype[_b4]){continue}var _b5=obj[_b4];_b4=[_b4.replace(/filter/i,"")+"Filter"];for(var _b6 in _b5){if(_b5[_b6]==Object.prototype[_b6]){continue}_b4.push(_b6+":"+escape(_72.toJson(_72.toHexString(_b5[_b6]))))}_b3.push(_b4.join(","))}return _b3.join(";")}function calculate(_b7){var _b8,_b9;if(!ua.ie){_b8=dom.getStyleAsInt(_b7,"lineHeight");_b9=Math.floor(dom.getStyleAsInt(_b7,"height")/_b8)}else{if(ua.ie){var _ba=_b7.innerHTML;_b7.style.visibility="visible";_b7.style.overflow="visible";_b7.style.position="static";_b7.style.zoom="normal";_b7.style.writingMode="lr-tb";_b7.style.width=_b7.style.height="auto";_b7.style.maxWidth=_b7.style.maxHeight=_b7.style.styleFloat="none";var _bb=_b7;var _bc=_b7.currentStyle.hasLayout;if(_bc){dom.setInnerHtml(_b7,"
X
X
X
");_bb=_b7.firstChild}else{dom.setInnerHtml(_b7,"X
X
X")}var _bd=_bb.getClientRects();_b8=_bd[1].bottom-_bd[1].top;_b8=Math.ceil(_b8*0.8);if(_bc){dom.setInnerHtml(_b7,"
"+_ba+"
");_bb=_b7.firstChild}else{dom.setInnerHtml(_b7,_ba)}_bd=_bb.getClientRects();_b9=_bd.length;if(_bc){dom.setInnerHtml(_b7,_ba)}_b7.style.visibility=_b7.style.width=_b7.style.height=_b7.style.maxWidth=_b7.style.maxHeight=_b7.style.overflow=_b7.style.styleFloat=_b7.style.position=_b7.style.zoom=_b7.style.writingMode=""}}return {lineHeight:_b8,lines:_b9}}this.replace=function(_be,_bf){if(!ua.supported){return}if(_bf){for(var _c0 in _be){if(typeof (_bf[_c0])=="undefined"){_bf[_c0]=_be[_c0]}}_be=_bf}if(!_4c){return _9b.kwargs.push(_be)}if(_66.synchronizer.isBlocked){return _96.kwargs.push(_be)}var _c1=_be.elements;if(!_c1&&parseSelector){_c1=parseSelector(_be.selector)}if(_c1.length==0){return}this.setFlashClass();var src=getSource(_be.src);var css=_72.convertCssArg(_be.css);var _c4=getFilters(_be.filters);var _c5=(_be.forceClear==null)?_3b.forceClear:_be.forceClear;var _c6=(_be.fitExactly==null)?_3b.fitExactly:_be.fitExactly;var _c7=_c6||(_be.forceWidth==null?_3b.forceWidth:_be.forceWidth);var _c8=parseInt(_72.extractFromCss(css,".sIFR-root","leading"))||0;var _c9=_72.extractFromCss(css,".sIFR-root","font-size",true)||0;var _ca=_72.extractFromCss(css,".sIFR-root","background-color",true)||"#FFFFFF";var _cb=_72.extractFromCss(css,".sIFR-root","kerning",true)||"";var _cc=_be.gridFitType||_72.extractFromCss(css,".sIFR-root","text-align")=="right"?"subpixel":"pixel";var _cd=_3b.forceTextTransform?_72.extractFromCss(css,".sIFR-root","text-transform",true)||"none":"none";var _ce=_72.extractFromCss(css,".sIFR-root","opacity",true)||"100";var _cf=_be.pixelFont||false;var _d0=_be.ratios||_48;if(parseInt(_c9).toString()!=_c9&&_c9.indexOf("px")==-1){_c9=0}else{_c9=parseInt(_c9)}if(parseFloat(_ce)<1){_ce=100*parseFloat(_ce)}var _d1=null;var _d2="";if(_c6){_72.extractFromCss(css,".sIFR-root","text-align",true)}if(!_be.modifyCss){_d2=_72.cssToString(css);_d1=_3b.fixHover&&_d2.indexOf("%3Ahover")>-1}var _d3=!ua.opera&&_3b.delayCss;var _d4=_be.wmode||"";if(!_d4){if(_be.transparent){_d4="transparent"}else{if(_be.opaque){_d4="opaque"}}}if(_d4=="transparent"){if(!ua.transparencySupport){_d4="opaque"}else{_ca="transparent"}}for(var i=0;i<_c1.length;i++){var _d6=_c1[i];if(!ua.verifiedKonqueror){if(dom.getComputedStyle(_d6,"lineHeight").match(/e\+08px/)){ua.supported=_3b.isEnabled=false;this.removeFlashClass();return}ua.verifiedKonqueror=true}if(dom.hasOneOfClassses([_3d,_3e,_40,_41],_d6)){continue}var _d7=_d6.offsetHeight;var _d8=_d6.offsetWidth;var _d9=dom.getComputedStyle(_d6,"display");if(!_d7||!_d8||_d9==null||_d9=="none"){continue}if(_c5&&ua.gecko){_d6.style.clear="both"}var _da=null;if(_3b.fixWrap&&ua.ie&&_d9=="block"){_da=_d6.innerHTML;dom.setInnerHtml(_d6,"X")}_d8=dom.getStyleAsInt(_d6,"width",ua.ie);if(_d8==0){var _db=dom.getStyleAsInt(_d6,"paddingRight",true);var _dc=dom.getStyleAsInt(_d6,"paddingLeft",true);var _dd=dom.getStyleAsInt(_d6,"borderRightWidth",true);var _de=dom.getStyleAsInt(_d6,"borderLeftWidth",true);_d8=_d6.offsetWidth-_dc-_db-_de-_dd}if(_da&&_3b.fixWrap&&ua.ie){dom.setInnerHtml(_d6,_da)}var _df,_e0;if(!_c9){var _e1=calculate(_d6);_df=Math.min(_45,Math.max(_44,_e1.lineHeight));if(_cf){_df=Math.max(8,8*Math.round(_df/8))}_e0=_e1.lines;if(isNaN(_e0)||!isFinite(_e0)||_e0==0){_e0=1}if(_e0>1&&_c8){_d7+=Math.round((_e0-1)*_c8)}}else{_df=_c9;_e0=1}_d7=Math.round(_e0*_df);if(_c5&&ua.gecko){_d6.style.clear=""}var _e2=dom.create("span");_e2.className=_41;var _e3=_d6.cloneNode(true);for(var j=0,l=_e3.childNodes.length;j-1}var _e6=handleContent(_e3,_cd);if(_be.modifyContentString){_e6=_be.modifyContentString(_e6,_be.selector)}if(_e6==""){continue}var _e7=["content="+_e6,"width="+_d8,"height="+_d7,"fitexactly="+(_c6?"true":""),"tunewidth="+(_be.tuneWidth||""),"tuneheight="+(_be.tuneHeight||""),"offsetleft="+(_be.offsetLeft||""),"offsettop="+(_be.offsetTop||""),"thickness="+(_be.thickness||""),"sharpness="+(_be.sharpness||""),"kerning="+_cb,"gridfittype="+_cc,"zoomsupport="+ua.zoomSupport,"flashfilters="+_c4,"opacity="+_ce,"blendmode="+(_be.blendMode||""),"size="+_df,"zoom="+dom.getZoom(),"css="+_d2,"selectable="+(_be.selectable==null?"true":_be.selectable),"lines="+_e0];var _e8=encodeURI(_e7.join("&"));var _e9="sIFR_callback_"+_4a++;var _ea=new CallbackInfo(_e9,_e7,_be.onReplacement,_d1);window[_e9+"_DoFSCommand"]=(function(_eb){return function(_ec,arg){_eb.handle(_ec,arg)}})(_ea);_d7=Math.round(_e0*getRatio(_df,_d0)*_df)+_49;var _ee=_c7?_d8:"100%";var _ef;if(ua.ie){_ef=["","","","","","","","","","",_e9,"_DoFSCommand(info, args);",""].join("")}else{_ef=[""].join("")}dom.setInnerHtml(_d6,_ef);_ea.flashNode=_d6.firstChild;_ea.html=_ef;_3b.callbacks.push(_ea);if(_be.selector){if(!_3b.callbacks[_be.selector]){_3b.callbacks[_be.selector]=[_ea]}else{_3b.callbacks[_be.selector].push(_ea)}}_d6.appendChild(_e2);dom.addClass(_d3?_3e:_3d,_d6);_ea.setupFixHover()}_66.fragmentIdentifier.restore()};this.getCallbackByFlashElement=function(_f0){for(var i=0;i<_3b.callbacks.length;i++){if(_3b.callbacks[i].id==_f0.getAttribute("id")){return _3b.callbacks[i]}}};function handleContent(_f2,_f3){var _f4=[],_f5=[];var _f6=_f2.childNodes;var i=0;while(i<_f6.length){var _f8=_f6[i];if(_f8.nodeType==3){var _f9=_72.normalize(_f8.nodeValue);_f9=_72.textTransform(_f3,_f9);_f5.push(_f9.replace(/\%/g,"%25").replace(/\&/g,"%26").replace(/\,/g,"%2C").replace(/\+/g,"%2B"))}if(_f8.nodeType==1){var _fa=[];var _fb=_f8.nodeName.toLowerCase();var _fc=_f8.className||"";if(/\s+/.test(_fc)){if(_fc.indexOf(_42)>-1){_fc=_fc.match("(\\s|^)"+_42+"-([^\\s$]*)(\\s|$)")[2]}else{_fc=_fc.match(/^([^\s]+)/)[1]}}if(_fc!=""){_fa.push("class=\""+_fc+"\"")}if(_fb=="a"){var _fd=_f8.getAttribute("href")||"";var _fe=_f8.getAttribute("target")||"";_fa.push("href=\""+_fd+"\"","target=\""+_fe+"\"")}_f5.push("<"+_fb+(_fa.length>0?" ":"")+escape(_fa.join(" "))+">");if(_f8.hasChildNodes()){_f4.push(i);i=0;_f6=_f8.childNodes;continue}else{if(!/^(br|img)$/i.test(_f8.nodeName)){_f5.push("")}}}if(_f4.length>0&&!_f8.nextSibling){do{i=_f4.pop();_f6=_f8.parentNode.parentNode.childNodes;_f8=_f6[i];if(_f8){_f5.push("")}}while(i==_f6.length-1&&_f4.length>0)}i++}return _f5.join("").replace(/\n|\r/g,"")}function CallbackInfo(id,vars,_101,_102){this.id=id;this.vars=vars;this._replacementHandler=_101;this._firedReplacementEvent=!(this._replacementHandler!=null);this._fixHover=_102;this._setClasses=!_3b.delayCss;this.html="";this._pings=0}CallbackInfo.prototype.getFlashElement=function(){return document.getElementById(this.id)};CallbackInfo.prototype.handle=function(info,arg){if(/(FSCommand\:)?resize/.test(info)){var _105=this.getFlashElement();var $=arg.split(/\:|,/);_105.setAttribute($[0],$[1]);if($.length>2){_105.setAttribute($[2],$[3])}if(!this._setClasses){if(!ua.ie&&!ua.opera){dom.addClass(_3f,_105)}dom.removeClass(_3e,_105.parentNode);dom.addClass(_3d,_105.parentNode);this._setClasses=true}if(ua.khtml){var _107=_105.offsetHeight}if(!this._firedReplacementEvent){this._replacementHandler(this);this._firedReplacementEvent=true}}else{if(/(FSCommand\:)?resetmovie/.test(info)){this.resetMovie()}else{if(/(FSCommand\:)?ping/.test(info)){if(this._pings>0){this.setupFixHover()}this._pings++}else{if(this.debugHandler&&/(FSCommand\:)?debug/.test(info)){this.debugHandler(info,arg)}}}}};CallbackInfo.prototype.call=function(type,_109){var _10a=this.getFlashElement();if(!_10a){return}_10a.SetVariable("callbackType",type);_10a.SetVariable("callbackValue",_109);_10a.SetVariable("callbackTrigger",true)};CallbackInfo.prototype.replaceText=function(_10b){_10b=escape(_10b);this.call("replacetext",_10b);this.vars[0]="content="+_10b;this.html=this.html.replace(/(flashvars(=|\"\svalue=)\")[^\"]+/,"$1"+encodeURI(this.vars.join("&")))};CallbackInfo.prototype.resetMovie=function(){var _10c=this.getFlashElement();var node=_10c.parentNode;node.replaceChild(dom.nodeFromHtml(this.html),_10c);this.setupFixHover()};CallbackInfo.prototype.setupFixHover=function(){var _10e=this.getFlashElement();if(!this._fixHover||!_10e){return}var node=_10e.parentNode;if(node.addEventListener){node.addEventListener("mouseout",_72.bind(this,"fixHover"),false)}else{if(node.attachEvent){node.attachEvent("onmouseout",_72.bind(this,"fixHover"))}}};CallbackInfo.prototype.fixHover=function(){this.call("resettext")}}; \ No newline at end of file diff --git a/simplepie/demo/for_the_demo/simplepie.css b/simplepie/demo/for_the_demo/simplepie.css new file mode 100644 index 000000000..3753cb96d --- /dev/null +++ b/simplepie/demo/for_the_demo/simplepie.css @@ -0,0 +1,397 @@ +/* +Theme Name: SimplePie +Theme URI: http://simplepie.org +Description: A simple, yet beautiful theme inspired by several cleanly designed websites. +Version: 1.4 +Author: Ryan Parman +Author URI: http://skyzyx.com +Updated: 21 June 2007 +*/ + + +/********************************************* +HYPERLINK STYLES +*********************************************/ +a { + color:#369; + text-decoration:underline; + padding:0 1px; +} + +a:hover { + color:#fff !important; + background-color:#333; + text-decoration:none; + padding:0 1px; +} + +a.nohover { + text-decoration:none; + border:none; +} + +a.nohover:hover { + background-color:transparent; + border:none; +} + +a.namelink { + padding:0; + margin:0; + overflow:hidden; + height:1px; +} + +h4 a, +.sample_feeds a { + color:#000; +} + + +/********************************************* +GENERAL STYLES +*********************************************/ +body { + /*font:12px/18px Verdana, sans-serif;*/ + font:14px/1.5em "Lucida Grande", Tahoma, sans-serif; + letter-spacing:0px; + color:#333; + background-color:#fff; + margin:0; + padding:0; +} + +div#site { + width:600px; + margin:50px auto 0 auto; +} + +h1#logo { + margin:0; + padding:0; + text-align:center; +} + +h1#logo a, +h1#logo a:hover { + background-color:transparent; + text-decoration:none; + padding:0; +} + +h2.image { + margin:0; + padding:0; + text-align:center; +} + +h3 { + margin:20px 0 0 0; + padding:0; + font-size:1.5em; +} + +h4 { + margin:20px 0 0 0; + padding:0; + font-size:1.2em; + letter-spacing:-1px; +} + +h5 { + margin:10px 0 0 0; + padding:0; + font-size:1em; + font-weight:bold; +} + +em { + font-style:normal; + background-color:#ffc; +} + +p { + margin:0; + padding:5px 0; +} + +ul, ol { + margin:10px 0 10px 20px; + padding:0 0 0 15px; +} + +ul li, ol li { + margin:0 0 7px 0; + padding:0 0 0 3px; +} + +form { + margin:0; + padding:0; +} + +code { + font-size:1em; + background-color:#f3f3ff; + color:#000; +} + +div#site pre { + background-color:#f3f3ff; + color:#000080; + border:1px dotted #000080; + overflow:auto; + padding:3px 5px; +} + +blockquote { + font-size:1em; + color:#666; + border-left:4px solid #666; + margin:10px 0 10px 30px; + padding:0 5px 0 10px; + background:#f3f3f3 url(background_blockquote.png) repeat top left; +} + +input, select, textarea { + font-size:12px; + line-height:1.2em; + padding:2px; +} + +input[type=text], select, textarea { + background-color:#e9f5ff; + border:1px solid #333; +} + +input[type=text]:focus, select:focus, textarea:focus { + background-color:#ffe; +} + +.clearLeft {clear:left;} +.clearRight {clear:right;} +.clearBoth {clear:both;} +.hide {display:none;} + + +/********************************************* +NAVIGATION STYLES +*********************************************/ +div#header { + background:#fff url(top_gradient.gif) repeat-x top left; + margin:0; + padding:0; +} + +div#header form { + margin:0; + padding:0; +} + +div#header div#headerInner { + margin:0; + padding:0; +} + +div#header div#headerInner div#logoContainer {} + +div#header div#headerInner div#logoContainerInner { + width:550px; + margin:0 auto; + padding:20px; +} + +div#header div#headerInner div#logoContainer div#logo { + float:left; + width:200px; +} + +div#header div#headerInner div#logoContainer div#logo a, +div#header div#headerInner div#logoContainer div#logo a:hover { + border:none; + background:none; +} + +div#header div#headerInner div#logoContainer div#feed { + float:right; + width:300px; + text-align:right; + padding:10px 0 0 0; +} + +div#header div#headerInner div#logoContainer div#feed input.text { + width:60%; +} + +div#header div#headerInner div#menu { + background:#eee url(background_menuitem_shadow.gif) repeat-x top left; + border-top:2px solid #ccc; + border-bottom:1px solid #ddd; + text-align:center; +} + +div#header div#headerInner div#menu table { + width:auto; + margin:0 auto; +} + +div#header div#headerInner div#menu ul { + display:block; + width:100%; + margin:0 auto; + padding:0; + font-size:12px; +} + +div#header div#headerInner div#menu ul li { + display:block; + float:left; +} + +div#header div#headerInner div#menu ul li a { + display:block; + margin:-2px 0 0 0; + padding:5px 7px 8px 7px; + text-decoration:none; + color:#666 !important; + background-color:transparent; +} + +div#header div#headerInner div#menu ul li a:hover { + display:block; + margin:-2px 0 0 0; + padding:5px 7px 8px 7px; + text-decoration:none; + color:#666; + background:#fff url(background_menuitem_off.gif) no-repeat bottom right; +} + +body#bodydemo div#header div#headerInner div#menu ul li#demo a { + display:block; + margin:-2px 0 0 0; + padding:5px 7px 8px 7px; + text-decoration:none; + color:#333; + font-weight:bold; + background:#fff url(background_menuitem.gif) no-repeat bottom right; +} + + +/********************************************* +CONTENT STYLES +*********************************************/ +div.chunk { + margin:20px 0 0 0; + padding:0 0 10px 0; + border-bottom:1px solid #ccc; +} + +div.topchunk { + margin:0 !important; +} + +.footnote, +.footnote a { + font-size:12px; + line-height:1.3em; + color:#aaa; +} + +.footnote em { + background-color:transparent; + font-style:italic; +} + +.footnote code { + background-color:transparent; + font:11px/14px monospace; + color:#aaa; +} + +p.subscribe { + background-color:#f3f3f3; + font-size:12px; + text-align:center; +} + +p.highlight { + background-color:#ffc; + font-size:12px; + text-align:center; +} + +p.sample_feeds { + font-size:12px; + line-height:1.2em; +} + +div.sp_errors { + background-color:#eee; + padding:5px; + text-align:center; + font-size:12px; +} + +.noborder { + border:none !important; +} + +img.favicon { + margin:0 4px -2px 0; + width:16px; + height:16px; +} + +p.favicons a, +p.favicons a:hover { + border:none; + background-color:transparent; +} + +p.favicons img { + border:none; +} + + +/********************************************* +DEMO STYLES +*********************************************/ +div#sp_input { + background-color:#ffc; + border:2px solid #f90; + padding:5px; + text-align:center; +} + +div#sp_input input.text { + border:1px solid #999; + background:#e9f5ff url(feed.png) no-repeat 4px 50%; + width:75%; + padding:2px 2px 2px 28px; + font:18px/22px "Lucida Grande", Verdana, sans-serif; + font-weight:bold; + letter-spacing:-1px; +} + +form#sp_form { + margin:15px 0; +} + +div.focus { + margin:0; + padding:10px 20px; + background-color:#efe; +} + +p.sample_feeds { + text-align:justify; +} + + +/********************************************* +SIFR STYLES +*********************************************/ +.sIFR-active h3.header { + visibility:hidden; + line-height:1em; +} diff --git a/simplepie/demo/for_the_demo/sleight.js b/simplepie/demo/for_the_demo/sleight.js new file mode 100644 index 000000000..4b5058e9a --- /dev/null +++ b/simplepie/demo/for_the_demo/sleight.js @@ -0,0 +1,31 @@ +/********************************************************** +Sleight +(c) 2001, Aaron Boodman +http://www.youngpup.net +**********************************************************/ + +if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) +{ + document.writeln(''); + window.attachEvent("onload", fnLoadPngs); +} + +function fnLoadPngs() +{ + var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, ''); + var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5); + + for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) + { + if (itsAllGood && img.src.match(/\.png$/i) != null) + { + var src = img.src; + var div = document.createElement("DIV"); + div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizing='scale')" + div.style.width = img.width + "px"; + div.style.height = img.height + "px"; + img.replaceNode(div); + } + img.style.visibility = "visible"; + } +} diff --git a/simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png b/simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png new file mode 100644 index 000000000..2bfd87d0c Binary files /dev/null and b/simplepie/demo/for_the_demo/source_files/place_audio_fireworksfile.png differ diff --git a/simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png b/simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png new file mode 100644 index 000000000..d0629769c Binary files /dev/null and b/simplepie/demo/for_the_demo/source_files/place_video_fireworksfile.png differ diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as b/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as new file mode 100644 index 000000000..6a98ca552 --- /dev/null +++ b/simplepie/demo/for_the_demo/source_files/sIFR-r245/SifrStyleSheet.as @@ -0,0 +1,71 @@ +/*=:project + scalable Inman Flash Replacement (sIFR) version 3. + + =:file + Copyright: 2006 Mark Wubben. + Author: Mark Wubben, + + =:history + * IFR: Shaun Inman + * sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin + * sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben + + =:license + This software is licensed and provided under the CC-GNU LGPL. + See +*/ + +import TextField.StyleSheet; + +class SifrStyleSheet extends TextField.StyleSheet { + public var fontSize; + public var latestLeading = 0; + + public function parseCSS(cssText:String) { + var native = new TextField.StyleSheet(); + var parsed = native.parseCSS(cssText); + + if(!parsed) return false; + + var selectors = native.getStyleNames(); + for(var i = selectors.length - 1; i >= 0; i--) { + var selector = selectors[i]; + var nativeStyle = native.getStyle(selector); + var style = this.getStyle(selector) || nativeStyle; + if(style != nativeStyle) { + for(var property in nativeStyle) style[property] = nativeStyle[property]; + } + this.setStyle(selector, style); + } + + return true; + } + + // Apply leading to the textFormat. Much thanks to . + private function applyLeading(format, leading) { + this.latestLeading = leading; + + if(leading >= 0) { + format.leading = leading; + return format; + } + + // Workaround for negative leading, which is ignored otherwise. + var newFormat = new TextFormat(null, null, null, null, null, null, null, null, null, null, null, null, leading); + for(var property in format) if(property != 'leading') newFormat[property] = format[property]; + + return newFormat; + } + + public function transform(style) { + var format = super.transform(style); + if(style.leading) format = applyLeading(format, style.leading); + if(style.letterSpacing) format.letterSpacing = style.letterSpacing; + // Support font sizes relative to the size of .sIFR-root. + if(this.fontSize && style.fontSize && style.fontSize.indexOf('%')) { + format.size = this.fontSize * parseInt(style.fontSize) / 100; + } + format.kerning = _root.kerning == 'true' || !(_root.kerning == 'false') || sIFR.defaultKerning; + return format; + } +} \ No newline at end of file diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt b/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt new file mode 100644 index 000000000..2b9d32d20 --- /dev/null +++ b/simplepie/demo/for_the_demo/source_files/sIFR-r245/_README_.txt @@ -0,0 +1,12 @@ +This is a pre-release nightly of sIFR 3 (r245 to be exact). We (the SimplePie team) will be updating the +sIFR code and font files from time to time as new releases of sIFR 3 are made available. + +In this folder you'll find a few Flash 8 files. The only one of you might want to mess with is sifr.fla. + * Open it up + * Double-click the rectangle in the middle + * Select all + * Change the font + +More information about sIFR 3 can be found here: + * http://dev.novemberborn.net/sifr3/ + * http://wiki.novemberborn.net/sifr3/ \ No newline at end of file diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as b/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as new file mode 100644 index 000000000..4d371954b --- /dev/null +++ b/simplepie/demo/for_the_demo/source_files/sIFR-r245/options.as @@ -0,0 +1,12 @@ +// MTASC only parses as-files with class definitions, so here goes... +class Options { + public static function apply() { + sIFR.fromLocal = true; + sIFR.domains = ['*']; + + // Parsing `p.foo` might not work, see: + // Appearantly you have to use hex color codes as well, names are not supported! + + sIFR.styles.parseCSS('.foo { text-decoration: underline; }'); + } +} diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as b/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as new file mode 100644 index 000000000..4902e003f --- /dev/null +++ b/simplepie/demo/for_the_demo/source_files/sIFR-r245/sIFR.as @@ -0,0 +1,359 @@ +/*=:project + scalable Inman Flash Replacement (sIFR) version 3. + + =:file + Copyright: 2006 Mark Wubben. + Author: Mark Wubben, + + =:history + * IFR: Shaun Inman + * sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin + * sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben + + =:license + This software is licensed and provided under the CC-GNU LGPL. + See +*/ + +import SifrStyleSheet; + +class sIFR { + public static var DEFAULT_TEXT = 'Rendered with sIFR 3, revision 245'; + public static var CSS_ROOT_CLASS = 'sIFR-root'; + public static var DEFAULT_WIDTH = 300; + public static var DEFAULT_HEIGHT = 100; + public static var DEFAULT_ANTI_ALIAS_TYPE = 'advanced'; + public static var MARGIN_LEFT = -3; + public static var PADDING_BOTTOM = 5; // Extra padding to make sure the movie is high enough in most cases. + public static var LEADING_REMAINDER = 2; // Flash uses the specified leading minus 2 as the applied leading. + + public static var MAX_FONT_SIZE = 126; + public static var ALIASING_MAX_FONT_SIZE = 48; + + //= Holds CSS properties and other rendering properties for the Flash movie. + // *Don't overwrite!* + public static var styles:SifrStyleSheet = new SifrStyleSheet(); + //= Allow sIFR to be run from localhost + public static var fromLocal:Boolean = true; + //= Array containing domains for which sIFR may render text. Used to prevent + // hotlinking. Use `*` to allow all domains. + public static var domains:Array = []; + //= Whether kerning is enabled by default. This can be overriden from the client side. + // See also . + public static var defaultKerning:Boolean = true; + //= Default value which can be overriden from the client side. + // See also . + public static var defaultSharpness:Number = 0; + //= Default value which can be overriden from the client side. + // See also . + public static var defaultThickness:Number = 0; + //= Default value which can be overriden from the client side. + // See also . + public static var defaultOpacity:Number = -1; // Use client settings + //= Default value which can be overriden from the client side. + // See also . + public static var defaultBlendMode:Number = -1; // Use cliest settings + //= Overrides the grid fit type as defined on the client side. + // See also . + public static var enforcedGridFitType:String = null; + //= If `true` sIFR won't override the anti aliasing set in the Flash IDE when exporting. + // Thickness and sharpness won't be affected either. + public static var preserveAntiAlias:Boolean = false; + //= If `true` sIFR will disable anti-aliasing if the font size is larger than `ALIASING_MAX_FONT_SIZE`. + // This setting is *independent* from `preserveAntiAlias`. + public static var conditionalAntiAlias:Boolean = true; + //= Sets the anti alias type. By default it's `DEFAULT_ANTI_ALIAS_TYPE`. + // See also . + public static var antiAliasType:String = null; + //= Flash filters can be added to this array and will be applied to the text field. + public static var filters:Array = []; + //= A mapping from the names of the filters to their actual objecs, used when transforming + // filters defined on the client. You can add additional filters here so they'll be supported + // when defined on the client. + public static var filterMap:Object = { + DisplacementMapFilter : flash.filters.DisplacementMapFilter, + ColorMatrixFilter : flash.filters.ColorMatrixFilter, + ConvolutionFilter : flash.filters.ConvolutionFilter, + GradientBevelFilter : flash.filters.GradientBevelFilter, + GradientGlowFilter : flash.filters.GradientGlowFilter, + BevelFilter : flash.filters.BevelFilter, + GlowFilter : flash.filters.GlowFilter, + BlurFilter : flash.filters.BlurFilter, + DropShadowFilter : flash.filters.DropShadowFilter + }; + + private static var instance; + + private var textField; + private var content; + private var realHeight; + private var originalHeight; + private var currentHeight; + private var fontSize; + private var tuneWidth; + private var tuneHeight; + + + + //= Sets the default styles for `sIFR.styles`. This method is called + // directly in `sifr.fla`, before options are applied. + public static function setDefaultStyles() { + sIFR.styles.parseCSS([ + '.', CSS_ROOT_CLASS, ' { color: #000000; }', + 'strong { display: inline; font-weight: bold; } ', + 'em { display: inline; font-style: italic; }', + 'a { color: #0000FF; text-decoration: underline; }', + 'a:hover { color: #0000FF; text-decoration: none; }' + ].join('')); + } + + //= Validates the domain sIFR is being used on. + // Returns `true` if the domain is valid, `false` otherwise. + public static function checkDomain():Boolean { + if(sIFR.domains.length == 0) return true; + + var domain = (new LocalConnection()).domain(); + if(sIFR.fromLocal) sIFR.domains.push('localhost'); + + for(var i = 0; i < sIFR.domains.length; i++) { + var match = sIFR.domains[i]; + if(match == '*' || match == domain) return true; + + var wildcard = match.lastIndexOf('*'); + if(wildcard > -1) { + match = match.substr(wildcard + 1); + var matchPosition = domain.lastIndexOf(match); + if(matchPosition > -1 && (matchPosition + match.length) == domain.length) return true; + } + } + + return false; + } + + //= Runs sIFR. Called automatically. + public static function run() { + var holder = _root.holder; + var content = checkDomain() ? unescape(_root.content) : DEFAULT_TEXT + if(content == 'undefined' || content == '') { + content = DEFAULT_TEXT; + fscommand('resetmovie', ''); + } else fscommand('ping', ''); + + // Sets stage parameters + Stage.scaleMode = 'noscale'; + Stage.align = 'TL'; + Stage.showMenu = false; + + // Other parameters + var opacity = parseInt(_root.opacity); + if(!isNaN(opacity)) holder._alpha = sIFR.defaultOpacity == -1 ? opacity : sIFR.defaultOpacity; + else holder._alpha = 100; + _root.blendMode = sIFR.defaultBlendMode == -1 ? _root.blendmode : sIFR.defaultBlendMode; + + sIFR.instance = new sIFR(holder.txtF, content); + // This should ignore resizes from the callback. Disabled for now. +/* if(_root.zoomsupport == 'true') Stage.addListener({onResize: function() { sIFR.instance.scale() }});*/ + + // Setup callbacks + _root.watch('callbackTrigger', function() { + sIFR.callback(); + return false; + }); + } + + private static function eval(str) { + var as; + + if(str.charAt(0) == '{') { // Ah, we need to create an object + as = {}; + str = str.substring(1, str.length - 1); + var $ = str.split(','); + for(var i = 0; i < $.length; i++) { + var $1 = $[i].split(':'); + as[$1[0]] = sIFR.eval($1[1]); + } + } else if(str.charAt(0) == '"') { // String + as = str.substring(1, str.length - 1); + } else if(str == 'true' || str == 'false') { // Boolean + as = str == 'true'; + } else { // Float + as = parseFloat(str); + } + + return as; + } + + private function applyFilters() { + var $filters = this.textField.filters; + $filters = $filters.concat(sIFR.filters); + + var $ = _root.flashfilters.split(';'); // name,prop:value,...; + for(var i = 0; i < $.length; i++) { + var $1 = $[i].split(','); + + var newFilter = new sIFR.filterMap[$1[0]](); + for(var j = 1; j < $1.length; j++) { + var $2 = $1[j].split(':'); + newFilter[$2[0]] = sIFR.eval(unescape($2[1])); + } + + $filters.push(newFilter); + } + + this.textField.filters = $filters; + } + + private function sIFR(textField, content) { + this.textField = textField; + this.content = content; + + var offsetLeft = parseInt(_root.offsetleft); + textField._x = MARGIN_LEFT + (isNaN(offsetLeft) ? 0 : offsetLeft); + var offsetTop = parseInt(_root.offsettop); + if(!isNaN(offsetTop)) textField._y += offsetTop; + + tuneWidth = parseInt(_root.tunewidth); + if(isNaN(tuneWidth)) tuneWidth = 0; + tuneHeight = parseInt(_root.tuneheight); + if(isNaN(tuneHeight)) tuneHeight = 0; + + textField._width = tuneWidth + (isNaN(parseInt(_root.width)) ? DEFAULT_WIDTH : parseInt(_root.width)); + textField._height = tuneHeight + (isNaN(parseInt(_root.height)) ? DEFAULT_HEIGHT : parseInt(_root.height)); + textField.wordWrap = true; + textField.selectable = _root.selectable == 'true'; + textField.gridFitType = sIFR.enforcedGridFitType || _root.gridfittype; + this.applyFilters(); + + // Determine font-size and the number of lines + this.fontSize = parseInt(_root.size); + if(isNaN(this.fontSize)) this.fontSize = 26; + styles.fontSize = this.fontSize; + + if(!sIFR.preserveAntiAlias && (sIFR.conditionalAntiAlias && this.fontSize < ALIASING_MAX_FONT_SIZE + || !sIFR.conditionalAntiAlias)) { + textField.antiAliasType = sIFR.antiAliasType || DEFAULT_ANTI_ALIAS_TYPE; + } + + if(!sIFR.preserveAntiAlias || !isNaN(parseInt(_root.sharpness))) { + textField.sharpness = parseInt(_root.sharpness); + } + if(isNaN(textField.sharpness)) textField.sharpness = sIFR.defaultSharpness; + + if(!sIFR.preserveAntiAlias || !isNaN(parseInt(_root.thickness))) { + textField.thickness = parseInt(_root.thickness); + } + if(isNaN(textField.thickness)) textField.thickness = sIFR.defaultThickness; + + // Set font-size and other styles + sIFR.styles.parseCSS(unescape(_root.css)); + + var rootStyle = styles.getStyle('.sIFR-root') || {}; + rootStyle.fontSize = this.fontSize; // won't go higher than 126! + styles.setStyle('.sIFR-root', rootStyle); + textField.styleSheet = styles; + + this.write(content); + this.repaint(); + } + + private function repaint() { + var leadingFix = this.isSingleLine() ? sIFR.styles.latestLeading : 0; + if(leadingFix > 0) leadingFix -= LEADING_REMAINDER; + + // Flash wants to scroll the movie by one line, by adding the fontSize to the + // textField height this is no longer happens. We also add the absolute tuneHeight, + // to prevent a negative value from triggering the bug. We won't send the fake + // value to the JavaScript side, though. + textField._height = textField.textHeight + PADDING_BOTTOM + this.fontSize + Math.abs(tuneHeight) + tuneHeight - leadingFix; + this.realHeight = textField._height - this.fontSize - Math.abs(tuneHeight); + var arg = 'height:' + this.realHeight; + if(_root.fitexactly == 'true') arg += ',width:' + (textField.textWidth + tuneWidth); + fscommand('resize', arg); + + this.originalHeight = textField._height; + this.currentHeight = Stage.height; + + textField._xscale = textField._yscale = parseInt(_root.zoom); + } + + private function write(content) { + this.textField.htmlText = ['

', + content, '

' + ].join(''); + } + + private function isSingleLine() { + return Math.round((this.textField.textHeight - sIFR.styles.latestLeading) / this.fontSize) == 1; + } + + //= Scales the text field to the new scale of the Flash movie itself. + public function scale() { + this.currentHeight = Stage.height; + var scale = 100 * Math.round(this.currentHeight / this.originalHeight); + textField._xscale = textField._yscale = scale; + } + + private function calculateRatios() { + var strings = ['X', 'X
X', 'X
X
X', 'X
X
X
X']; + var results = {}; + + for(var i = 1; i <= strings.length; i++) { + var size = 6; + + this.write(strings[i - 1]); + while(size < MAX_FONT_SIZE) { + var rootStyle = sIFR.styles.getStyle('.sIFR-root') || {}; + rootStyle.fontSize = size; + sIFR.styles.setStyle('.sIFR-root', rootStyle); + this.textField.styleSheet = sIFR.styles; + this.repaint(); + var ratio = (this.realHeight - PADDING_BOTTOM) / i / size; + if(!results[size]) results[size] = ratio; + else results[size] = ((i - 1) * results[size] + ratio) / i; + size++; + } + } + + var sizes = [], ratios = []; + var ratiosToSizes = {}, sizesToRatios = {}; + + for(var size in results) { + if(results[size] == Object.prototype[size]) continue; + var ratio = results[size]; + ratiosToSizes[ratio] = Math.max(ratio, parseInt(size)); + } + + for(var ratio in ratiosToSizes) { + if(ratiosToSizes[ratio] == Object.prototype[ratio]) continue; + sizesToRatios[ratiosToSizes[ratio]] = roundDecimals(ratio, 2); + sizes.push(ratiosToSizes[ratio]); + } + + sizes.sort(function(a, b) { return a - b; }); + for(var j = 0; j < sizes.length - 1; j++) ratios.push(sizes[j], sizesToRatios[sizes[j]]); + ratios.push(sizesToRatios[sizes[sizes.length - 1]]); + + fscommand('debug:ratios', '[' + ratios.join(',') + ']'); + } + + private function roundDecimals(value, decimals) { + return Math.round(value * Math.pow(10, decimals)) / Math.pow(10, decimals); + } + + public static function callback() { + switch(_root.callbackType) { + case 'replacetext': + sIFR.instance.content = _root.callbackValue; + sIFR.instance.write(_root.callbackValue); + sIFR.instance.repaint(); + break; + case 'resettext': + sIFR.instance.write(''); + sIFR.instance.write(sIFR.instance.content); + break; + case 'ratios': + sIFR.instance.calculateRatios(); + break; + } + } +} diff --git a/simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla b/simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla new file mode 100644 index 000000000..2aa3f647f Binary files /dev/null and b/simplepie/demo/for_the_demo/source_files/sIFR-r245/sifr.fla differ diff --git a/simplepie/demo/for_the_demo/top_gradient.gif b/simplepie/demo/for_the_demo/top_gradient.gif new file mode 100644 index 000000000..f77bd38f9 Binary files /dev/null and b/simplepie/demo/for_the_demo/top_gradient.gif differ diff --git a/simplepie/demo/for_the_demo/verdana.swf b/simplepie/demo/for_the_demo/verdana.swf new file mode 100644 index 000000000..baf035047 Binary files /dev/null and b/simplepie/demo/for_the_demo/verdana.swf differ diff --git a/simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf b/simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf new file mode 100644 index 000000000..c812a79dc Binary files /dev/null and b/simplepie/demo/for_the_demo/yanone-kaffeesatz-bold.swf differ -- cgit v1.2.3