Changeset 30358

Show
Ignore:
Timestamp:
02/20/09 17:13:09 (4 years ago)
Author:
kyo_ago
Message:

バグを直したような、直してないような。。。

Location:
lang/javascript/sisso
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/sisso/sisso.js

    r30280 r30358  
    55 * Dual licensed under the MIT <http://www.opensource.org/licenses/mit-license.php> 
    66 * and GPL <http://www.opensource.org/licenses/gpl-license.php> licenses. 
    7  * Date: 2009-02-19 
     7 * Date: 2009-02-20 
    88 * @author kyo_ago <http://tech.kayac.com/archive/iepngfix-library-sisso-js.html> 
    9  * @version 1.0.6 
     9 * @version 1.0.7 
    1010 * 
    1111 * thanks from 
     
    1414 *   http://kyosuke.jp/portfolio/javascript/yuga.html 
    1515 *   http://webtech-walker.com/archive/2008/11/02151611.html 
     16 *   http://code.google.com/p/uupaa-js/source/browse/trunk/src/ieboost.js 
    1617 */ 
    17  
    1818;new function () { 
    1919        var name_space = 'Sisso'; 
     
    2121        window[name_space] = self; 
    2222 
    23         var Event; 
    24         if (!$) load_lib(); 
    25  
    26         var $ = window.jQuery; 
     23        var Event, $ = window.jQuery; 
     24        if (!window.jQuery) { 
     25                load_lib(); 
     26                $ = function () {}; 
     27                $.data = function () {}; 
     28                $.removeData = function () {}; 
     29                self.Event = Event; 
     30        }; 
     31 
    2732        var $d = document; 
    2833 
     
    7378                        for (var i = 0, l = elems.length; i < l; ++i) { 
    7479                                var elem = elems[i]; 
    75                                 if (elem.className.indexOf(cname) == -1) continue; 
     80                                if (elem.className.indexOf(cname) === -1) continue; 
    7681                                if (!reg.test(elem.className)) continue; 
    7782                                result.push(elem); 
     
    97102        }; 
    98103 
    99         self.observe = $ 
    100                 ? function (target, type, listener) { 
     104        new function () { 
     105                self.bind = window.jQuery ? _jq : window.addEventListener ? _add : _on; 
     106 
     107                function _jq (target, type, listener) { 
    101108                        $(target).bind(type + '.' + name_space, listener); 
    102                 } : window.addEventListener 
    103                         ? function(target, type, listener) { 
    104                                 target.addEventListener(type, listener, false); 
    105                         } : function(target, type, listener) { 
    106                                 target.attachEvent('on' + type, function() { 
    107                                         listener && listener.call(target, window.event); 
    108                                 }); 
    109                         }; 
     109                }; 
     110                function _add (target, type, listener) { 
     111                        target.addEventListener(type, listener, false); 
     112                }; 
     113                function _on (target, type, listener) { 
     114                        target.attachEvent('on' + type, listener); 
     115                }; 
     116        }; 
    110117 
    111118        self.add_src_over = function (elem, src, over) { 
    112119                var img = new Image(); 
    113120                img.src = over; 
    114                 self.observe(elem, 'mouseover', function () { elem.src = over; }); 
    115                 self.observe(elem, 'mouseout', function () { elem.src = src; }); 
     121                self.bind(elem, 'mouseover', (function (target) { 
     122                        return function () { 
     123                                $.data(target, name_space, 'src'); 
     124                                target.src = over; 
     125                                $.removeData(target); 
     126                        }; 
     127                })(elem)); 
     128                self.bind(elem, 'mouseout', (function (target) { 
     129                        return function () { 
     130                                $.data(target, name_space, 'src'); 
     131                                target.src = src; 
     132                                $.removeData(target); 
     133                        }; 
     134                })(elem)); 
    116135        }; 
    117136 
    118137        self.add_bg_over = function (elem, src, over) { 
    119                 var img = new Image(); 
    120                 img.src = over; 
    121                 self.observe(elem, 'mouseover', function () { 
    122                         elem.style.backgroundImage = 'url(' + over + ')'; 
    123                 }); 
    124                 self.observe(elem, 'mouseout', function () { 
    125                         elem.style.backgroundImage = 'url(' + src + ')'; 
    126                 }); 
     138                (new Image()).src = over; 
     139                self.bind(elem, 'mouseover', (function (target) { 
     140                                return function () { 
     141                                $.data(target, name_space, 'style.backgroundImage'); 
     142                                target.style.backgroundImage = 'url(' + over + ')'; 
     143                                $.removeData(target); 
     144                        }; 
     145                })(elem)); 
     146                self.bind(elem, 'mouseout', (function (target) { 
     147                        return function () { 
     148                                $.data(target, name_space, 'style.backgroundImage'); 
     149                                target.style.backgroundImage = 'url(' + src + ')'; 
     150                                $.removeData(target); 
     151                        }; 
     152                })(elem)); 
    127153        }; 
    128154 
    129155        self.exec_hover = function () { 
    130                 self.observe(window, 'load', function () { 
     156                self.bind(window, 'load', function () { 
    131157                        var elems = self.get_elems(self.overClass); 
    132158                        for (var i = 0, l = elems.length; i < l; self.hover(elems[i++])); 
     
    135161 
    136162        self.exec_external = function () { 
    137                 self.observe(window, 'load', function () { 
     163                self.bind(window, 'load', function () { 
    138164                        var elems = self.get_elems(self.externalClass); 
    139165                        for (var i = 0, l = elems.length; i < l; elems[i++].target = '_blank'); 
     
    143169        self.exec_break_all = function () { 
    144170                var userAgent = navigator.userAgent; 
    145                 var splitter = userAgent.indexOf(' Gecko/') != -1 && userAgent.indexOf('; rv:1.8.1') != -1 ? '<wbr/>' : String.fromCharCode(8203); 
     171                var splitter = userAgent.indexOf(' Gecko/') !== -1 && userAgent.indexOf('; rv:1.8.1') !== -1 ? '<wbr/>' : String.fromCharCode(8203); 
    146172                var split_text_node = function (elem) { 
    147173                        var elems = elem.childNodes; 
     
    154180                        for (i = 0, len = child.length; i < len; ++i) { 
    155181                                var self = child[i]; 
    156                                 if (self.nodeType == 1) { 
     182                                if (self.nodeType === 1) { 
    157183                                        if (self.childNodes && self.childNodes.length) arguments.callee(self); 
    158184                                        continue; 
     
    167193                        } 
    168194                }; 
    169                 if (userAgent.indexOf('Mozilla/4.0 (compatible; MSIE ') == 0 && userAgent.toLowerCase().indexOf('opera') == -1) { 
     195                if (userAgent.indexOf('Mozilla/4.0 (compatible; MSIE ') === 0 && userAgent.toLowerCase().indexOf('opera') === -1) { 
    170196                        split_text_node = function (elem) { 
    171197                                elem.style.wordBreak = 'break-all'; 
     
    177203                        for (var i = 0, l = elems.length; i < l; split_text_node(elems[i++])); 
    178204                }; 
    179                 $ ? $(exec) : Event.domReady.add(exec); 
     205                window.jQuery ? $(exec) : Event.domReady.add(exec); 
    180206        }; 
    181207 
     
    206232        self.set_width = function (elem) { 
    207233                var cur = elem.currentStyle; 
    208                 if (cur.width != 'auto' || cur.height != 'auto') return; 
     234                if (cur.width !== 'auto' || cur.height !== 'auto') return; 
    209235                elem.style.width = elem.offsetWidth + 'px'; 
    210236        }; 
     
    217243                self.set_width(elem); 
    218244                if (elem.src) elem.src = self.blankUrl; 
    219                 if (!elem.style.zoom && elem.style.zoom != '0') elem.style.zoom = 1; 
     245                if (!elem.style.zoom && elem.style.zoom !== '0') elem.style.zoom = 1; 
    220246                self.swap(elem, src); 
    221247                if (!elem.src) self.fix_bg_elem(elem); 
    222                 self.observe(elem, 'propertychange', function (env) { 
    223                         switch (env.propertyName) { 
    224                                 case 'src': 
    225                                         if (!elem.src || elem.src == self.blankUrl) return; 
    226                                         self.swap(elem, elem.src); 
    227                                         elem[self.eid] = elem.src; 
    228                                         elem.src = self.blankUrl; 
    229                                 break; 
    230                                 case 'style.backgroundImage': 
    231                                         var src = self.get_src(elem); 
    232                                         if (!src) return; 
    233                                         self.swap(elem, src); 
    234                                         elem.style.backgroundImage = 'none'; 
    235                                         elem[self.eid] = src; 
    236                                 break; 
    237                         } 
     248                self.bind(elem, 'propertychange', function () { 
     249                        propertychange.apply(this, arguments); 
    238250                }); 
     251 
     252                function propertychange () { 
     253                        if (window.jQuery) { 
     254                                var target = this; 
     255                                var propertyName = $.data(target, name_space); 
     256                        } else { 
     257                                var env = window.event; 
     258                                var target = env.srcElement; 
     259                                var propertyName = env.propertyName; 
     260                        }; 
     261                        var tmp = propertychange; 
     262                        propertychange = function () {}; 
     263                        new function () { 
     264                                if (propertyName === 'src') { 
     265                                        if (!target.src || target.src === self.blankUrl) return; 
     266                                        self.swap(target, target.src); 
     267                                        target[self.eid] = target.src; 
     268                                        target.src = self.blankUrl; 
     269                                        return; 
     270                                } 
     271                                if (propertyName !== 'style.backgroundImage') return; 
     272                                var src = self.get_src(target); 
     273                                if (!src) return; 
     274                                self.swap(target, src); 
     275                                target.style.backgroundImage = 'none'; 
     276                                target[self.eid] = src; 
     277                        }; 
     278                        propertychange = tmp; 
     279                }; 
    239280        }; 
    240281 
     
    242283                elem.style.backgroundImage = 'none'; 
    243284                self.set_pos(elem); 
    244                 (elem.tagName.toUpperCase() == 'A') && (elem.style.cursor = elem.style.cursor || 'pointer'); 
     285                (elem.tagName.toUpperCase() === 'A') && (elem.style.cursor = elem.style.cursor || 'pointer'); 
    245286        }; 
    246287 
     
    260301 
    261302        self.swap = function (elem, src) { 
    262                 if (src == self.blankUrl) return; 
    263                 var sizing = (elem.currentStyle.backgroundRepeat == 'no-repeat') ? 'crop' : 'scale'; 
     303                if (src === self.blankUrl) return; 
     304                var sizing = (elem.currentStyle.backgroundRepeat === 'no-repeat') ? 'crop' : 'scale'; 
    264305                var al = 'DXImageTransform.Microsoft.AlphaImageLoader'; 
    265306                if (elem.filters.length && al in elem.filters) { 
     
    298339                 * http://snipplr.com/view/6029/domreadyjs/ 
    299340                 */ 
    300                 if(typeof Event=="undefined"){Event=new Object()}Event.domReady={add:function(b){if(Event.domReady.loaded){return b()}var e=Event.domReady.observers;if(!e){e=Event.domReady.observers=[]}e[e.length]=b;if(Event.domReady.callback){return}Event.domReady.callback=function(){if(Event.domReady.loaded){return}Event.domReady.loaded=true;if(Event.domReady.timer){clearInterval(Event.domReady.timer);Event.domReady.timer=null}var j=Event.domReady.observers;for(var f=0,h=j.length;f<h;f++){var g=j[f];j[f]=null;g()}Event.domReady.callback=Event.domReady.observers=null};var d=!!(window.attachEvent&&!window.opera);var a=navigator.userAgent.indexOf("AppleWebKit/")>-1;if(document.readyState&&a){Event.domReady.timer=setInterval(function(){var f=document.readyState;if(f=="loaded"||f=="complete"){Event.domReady.callback()}},50)}else{if(document.readyState&&d){var c=(window.location.protocol=="https:")?"://0":"javascript:void(0)";document.write('<script type="text/javascript" defer="defer" src="'+c+'" onreadystatechange="if (this.readyState == \'complete\') Event.domReady.callback();"><\/script>')}else{if(window.addEventListener){document.addEventListener("DOMContentLoaded",Event.domReady.callback,false);window.addEventListener("load",Event.domReady.callback,false)}else{if(window.attachEvent){window.attachEvent("onload",Event.domReady.callback)}else{var b=window.onload;window.onload=function(){Event.domReady.callback();if(b){b()}}}}}}}}; 
    301         } 
     341                if(typeof Event=="undefined"){Event=new Object()}Event.domReady={add:function(b){if(Event.domReady.loaded){return b()}var e=Event.domReady.observers;if(!e){e=Event.domReady.observers=[]}e[e.length]=b;if(Event.domReady.callback){return}Event.domReady.callback=function(){if(Event.domReady.loaded){return}Event.domReady.loaded=true;if(Event.domReady.timer){clearInterval(Event.domReady.timer);Event.domReady.timer=null}var j=Event.domReady.observers;for(var f=0,h=j.length;f<h;f++){var g=j[f];j[f]=null;g()}Event.domReady.callback=Event.domReady.observers=null};var d=!!(window.attachEvent&&!window.opera);var a=navigator.userAgent.indexOf("AppleWebKit/")>-1;if(document.readyState&&a){Event.domReady.timer=setInterval(function(){var f=document.readyState;if(f=="loaded"||f=="complete"){Event.domReady.callback()}},50)}else{if(document.readyState&&d){var c=(window.location.protocol=="https:")?"://0":"javascript:void(0)";document.write('<script type="text/javascript" defer="defer" src="'+c+'" onreadystatechange="if (this.readyState == \'complete\') '+name_space+'.Event.domReady.callback();"><\/script>')}else{if(window.addEventListener){document.addEventListener("DOMContentLoaded",Event.domReady.callback,false);window.addEventListener("load",Event.domReady.callback,false)}else{if(window.attachEvent){window.attachEvent("onload",Event.domReady.callback)}else{var b=window.onload;window.onload=function(){Event.domReady.callback();if(b){b()}}}}}}}}; 
     342        }; 
    302343}; 
  • lang/javascript/sisso/sisso.min.js

    r30280 r30358  
    55 * Dual licensed under the MIT <http://www.opensource.org/licenses/mit-license.php> 
    66 * and GPL <http://www.opensource.org/licenses/gpl-license.php> licenses. 
    7  * Date: 2009-02-19 
     7 * Date: 2009-02-20 
    88 * @author kyo_ago <http://tech.kayac.com/archive/iepngfix-library-sisso-js.html> 
    9  * @version 1.0.6 
     9 * @version 1.0.7 
    1010 * 
    1111 * thanks from 
     
    1414 *   http://kyosuke.jp/portfolio/javascript/yuga.html 
    1515 *   http://webtech-walker.com/archive/2008/11/02151611.html 
     16 *   http://code.google.com/p/uupaa-js/source/browse/trunk/src/ieboost.js 
    1617 */ 
    1718 
    18 ;new function(){var d="Sisso";var b=window[d]||{};window[d]=b;var a;if(!f){e()}var f=window.jQuery;var c=document;new function(){var o=c.getElementsByTagName("script");var k=new RegExp(d+"\\.js");var h=o.length;while(h--){if(!k.test(o[h].src.toLowerCase())){continue}var m=o[h].src.split("#");if(m.length===1){return}var n=m.pop().split(/[&;]+/);var g=n.length;while(g--){var l=n[g].split("=");b[l[0]]=l[1]}return}};b.blankUrl=b.blankUrl||"http://tech.kayac.com/data/iepngfix-library-sisso-js/blank.gif";b.overClass=b.overClass||"btn";b.externalClass=b.externalClass||"external";b.breakAllClass=b.breakAllClass||"wordBreak";b.noRoll=b.noRoll||false;b.noFix=b.noFix||false;b.noExternal=b.noExternal||false;b.noBreakAll=b.noBreakAll||false;b.get_elems=(function(){if(c.getElementsByClassName){return function(g){return c.getElementsByClassName(g)}}if(c.querySelectorAll){return function(g){return c.querySelectorAll("*."+g)}}if(c.evaluate){return function(k){var j=c.evaluate("descendant::*[@class="+k+" or contains(concat(' ', @class, ' '), ' "+k+" ')]",c,null,7,null);var g=[];for(var m=0,h=j.snapshotLength;m<h;g.push(j.snapshotItem(m++))){}return g}}return function(k){var n=new RegExp("(?:^|[ \\n\\r\\t])"+k+"(?:[ \\n\\r\\t]|$)");var j=c.body.getElementsByTagName("*");var g=[];for(var m=0,h=j.length;m<h;++m){var o=j[m];if(o.className.indexOf(k)==-1){continue}if(!n.test(o.className)){continue}g.push(o)}return g}})();b.get_src=function(g){if(g.src){return g.src}src=(g.currentStyle||c.defaultView.getComputedStyle(g,"")).backgroundImage;return(src.match(/^url\((["']?)(.*\.png)\1\)$/i)||[undefined]).pop()};b.hover=function(g){var i=b.get_src(g);var h=b.replace_over(i);return g.src?b.add_src_over(g,i,h):b.add_bg_over(g,i,h)};b.replace_over=function(g){return g.replace(/(?:_o)?(\.\w+)$/,"_o$1")};b.observe=f?function(i,g,h){f(i).bind(g+"."+d,h)}:window.addEventListener?function(i,g,h){i.addEventListener(g,h,false)}:function(i,g,h){i.attachEvent("on"+g,function(){h&&h.call(i,window.event)})};b.add_src_over=function(h,j,i){var g=new Image();g.src=i;b.observe(h,"mouseover",function(){h.src=i});b.observe(h,"mouseout",function(){h.src=j})};b.add_bg_over=function(h,j,i){var g=new Image();g.src=i;b.observe(h,"mouseover",function(){h.style.backgroundImage="url("+i+")"});b.observe(h,"mouseout",function(){h.style.backgroundImage="url("+j+")"})};b.exec_hover=function(){b.observe(window,"load",function(){var h=b.get_elems(b.overClass);for(var j=0,g=h.length;j<g;b.hover(h[j++])){}})};b.exec_external=function(){b.observe(window,"load",function(){var h=b.get_elems(b.externalClass);for(var j=0,g=h.length;j<g;h[j++].target="_blank"){}})};b.exec_break_all=function(){var j=navigator.userAgent;var i=j.indexOf(" Gecko/")!=-1&&j.indexOf("; rv:1.8.1")!=-1?"<wbr/>":String.fromCharCode(8203);var h=function(o){var l=o.childNodes;var m=[];var p=0;var q=l.length;while(p<q){m[p]=l[p++]}for(p=0,q=m.length;p<q;++p){var s=m[p];if(s.nodeType==1){if(s.childNodes&&s.childNodes.length){arguments.callee(s)}continue}var n=s.nodeValue;if(!n||/^[ \n\r\t]*$/.test(n)){continue}var k=c.createElement("div");k.innerHTML=n.split("").join(i);var r=s.parentNode;while(k.firstChild){r.insertBefore(k.removeChild(k.firstChild),s)}r.removeChild(s)}};if(j.indexOf("Mozilla/4.0 (compatible; MSIE ")==0&&j.toLowerCase().indexOf("opera")==-1){h=function(k){k.style.wordBreak="break-all"}}var g=function(){var m=b.get_elems(b.breakAllClass);for(var n=0,k=m.length;n<k;h(m[n++])){}};f?f(g):a.domReady.add(g)};if(!b.noExternal){b.exec_external()}if(!b.noBreakAll){b.exec_break_all()}if(!/^Mozilla\/4\.0 \(compatible; MSIE (?:5\.5|[67]\.)/.test(navigator.userAgent)){if(!b.noRoll){b.exec_hover()}return}b.eid="_"+d+"_src";b.store=function(g,h){return h?g[b.eid]=h:g[b.eid]};b.hover=function(g){var i=g[b.eid]||(g[b.eid]=b.get_src(g));var h=b.replace_over(i);return g.src?b.add_src_over(g,i,h):b.add_bg_over(g,i,h)};b.set_width=function(g){var h=g.currentStyle;if(h.width!="auto"||h.height!="auto"){return}g.style.width=g.offsetWidth+"px"};b.fix=function(g){g.runtimeStyle.behavior="none";var h=g[b.eid]||(g[b.eid]=b.get_src(g));if(!h){h=g.src}if(!h||!/\.png$/.test(h.toLowerCase())){return}b.set_width(g);if(g.src){g.src=b.blankUrl}if(!g.style.zoom&&g.style.zoom!="0"){g.style.zoom=1}b.swap(g,h);if(!g.src){b.fix_bg_elem(g)}b.observe(g,"propertychange",function(i){switch(i.propertyName){case"src":if(!g.src||g.src==b.blankUrl){return}b.swap(g,g.src);g[b.eid]=g.src;g.src=b.blankUrl;break;case"style.backgroundImage":var j=b.get_src(g);if(!j){return}b.swap(g,j);g.style.backgroundImage="none";g[b.eid]=j;break}})};b.fix_bg_elem=function(g){g.style.backgroundImage="none";b.set_pos(g);(g.tagName.toUpperCase()=="A")&&(g.style.cursor=g.style.cursor||"pointer")};b.set_pos=function(h){var g=["input","textarea","select"];var i=function(j,n){for(var k=j.length,m;m=j[--k];){var l=m.style;!l.position&&(l.position="relative");if(!n){continue}!l.cursor&&(l.cursor=n)}};while(g.length){i(h.getElementsByTagName(g.pop()))}i(h.getElementsByTagName("a"),"pointer")};b.swap=function(h,j){if(j==b.blankUrl){return}var g=(h.currentStyle.backgroundRepeat=="no-repeat")?"crop":"scale";var i="DXImageTransform.Microsoft.AlphaImageLoader";if(h.filters.length&&i in h.filters){h.filters[i].enabled=1;h.filters[i].src=j;return}h.style.filter="progid:"+i+'(src="'+j+'",sizingMethod="'+g+'");'};b.exec_pngfix=function(){var g="expression("+d+".fix(this));";var h=c.createElement("div");h.innerHTML=(['div<div><style type="text/css">',"img, input { behavior : "+g+" };",".bgpng { behavior : "+g+" };","</style></div>"]).join("");c.getElementsByTagName("head")[0].appendChild(h.getElementsByTagName("style")[0])};if(!b.noRoll){b.exec_hover()}if(!b.noFix){b.exec_pngfix()}function e(){if(typeof a=="undefined"){a=new Object()}a.domReady={add:function(g){if(a.domReady.loaded){return g()}var i=a.domReady.observers;if(!i){i=a.domReady.observers=[]}i[i.length]=g;if(a.domReady.callback){return}a.domReady.callback=function(){if(a.domReady.loaded){return}a.domReady.loaded=true;if(a.domReady.timer){clearInterval(a.domReady.timer);a.domReady.timer=null}var l=a.domReady.observers;for(var o=0,m=l.length;o<m;o++){var n=l[o];l[o]=null;n()}a.domReady.callback=a.domReady.observers=null};var j=!!(window.attachEvent&&!window.opera);var h=navigator.userAgent.indexOf("AppleWebKit/")>-1;if(document.readyState&&h){a.domReady.timer=setInterval(function(){var l=document.readyState;if(l=="loaded"||l=="complete"){a.domReady.callback()}},50)}else{if(document.readyState&&j){var k=(window.location.protocol=="https:")?"://0":"javascript:void(0)";document.write('<script type="text/javascript" defer="defer" src="'+k+'" onreadystatechange="if (this.readyState == \'complete\') Event.domReady.callback();"><\/script>')}else{if(window.addEventListener){document.addEventListener("DOMContentLoaded",a.domReady.callback,false);window.addEventListener("load",a.domReady.callback,false)}else{if(window.attachEvent){window.attachEvent("onload",a.domReady.callback)}else{var g=window.onload;window.onload=function(){a.domReady.callback();if(g){g()}}}}}}}}}}; 
     19;new function(){var d="Sisso";var b=window[d]||{};window[d]=b;var a,f=window.jQuery;if(!window.jQuery){e();f=function(){};f.data=function(){};f.removeData=function(){};b.Event=a}var c=document;new function(){var o=c.getElementsByTagName("script");var k=new RegExp(d+"\\.js");var h=o.length;while(h--){if(!k.test(o[h].src.toLowerCase())){continue}var m=o[h].src.split("#");if(m.length===1){return}var n=m.pop().split(/[&;]+/);var g=n.length;while(g--){var l=n[g].split("=");b[l[0]]=l[1]}return}};b.blankUrl=b.blankUrl||"http://tech.kayac.com/data/iepngfix-library-sisso-js/blank.gif";b.overClass=b.overClass||"btn";b.externalClass=b.externalClass||"external";b.breakAllClass=b.breakAllClass||"wordBreak";b.noRoll=b.noRoll||false;b.noFix=b.noFix||false;b.noExternal=b.noExternal||false;b.noBreakAll=b.noBreakAll||false;b.get_elems=(function(){if(c.getElementsByClassName){return function(g){return c.getElementsByClassName(g)}}if(c.querySelectorAll){return function(g){return c.querySelectorAll("*."+g)}}if(c.evaluate){return function(k){var j=c.evaluate("descendant::*[@class="+k+" or contains(concat(' ', @class, ' '), ' "+k+" ')]",c,null,7,null);var g=[];for(var m=0,h=j.snapshotLength;m<h;g.push(j.snapshotItem(m++))){}return g}}return function(k){var n=new RegExp("(?:^|[ \\n\\r\\t])"+k+"(?:[ \\n\\r\\t]|$)");var j=c.body.getElementsByTagName("*");var g=[];for(var m=0,h=j.length;m<h;++m){var o=j[m];if(o.className.indexOf(k)===-1){continue}if(!n.test(o.className)){continue}g.push(o)}return g}})();b.get_src=function(g){if(g.src){return g.src}src=(g.currentStyle||c.defaultView.getComputedStyle(g,"")).backgroundImage;return(src.match(/^url\((["']?)(.*\.png)\1\)$/i)||[undefined]).pop()};b.hover=function(g){var i=b.get_src(g);var h=b.replace_over(i);return g.src?b.add_src_over(g,i,h):b.add_bg_over(g,i,h)};b.replace_over=function(g){return g.replace(/(?:_o)?(\.\w+)$/,"_o$1")};new function(){b.bind=window.jQuery?g:window.addEventListener?i:h;function g(l,j,k){f(l).bind(j+"."+d,k)}function i(l,j,k){l.addEventListener(j,k,false)}function h(l,j,k){l.attachEvent("on"+j,k)}};b.add_src_over=function(h,j,i){var g=new Image();g.src=i;b.bind(h,"mouseover",(function(k){return function(){f.data(k,d,"src");k.src=i;f.removeData(k)}})(h));b.bind(h,"mouseout",(function(k){return function(){f.data(k,d,"src");k.src=j;f.removeData(k)}})(h))};b.add_bg_over=function(g,i,h){(new Image()).src=h;b.bind(g,"mouseover",(function(j){return function(){f.data(j,d,"style.backgroundImage");j.style.backgroundImage="url("+h+")";f.removeData(j)}})(g));b.bind(g,"mouseout",(function(j){return function(){f.data(j,d,"style.backgroundImage");j.style.backgroundImage="url("+i+")";f.removeData(j)}})(g))};b.exec_hover=function(){b.bind(window,"load",function(){var h=b.get_elems(b.overClass);for(var j=0,g=h.length;j<g;b.hover(h[j++])){}})};b.exec_external=function(){b.bind(window,"load",function(){var h=b.get_elems(b.externalClass);for(var j=0,g=h.length;j<g;h[j++].target="_blank"){}})};b.exec_break_all=function(){var j=navigator.userAgent;var i=j.indexOf(" Gecko/")!==-1&&j.indexOf("; rv:1.8.1")!==-1?"<wbr/>":String.fromCharCode(8203);var h=function(o){var l=o.childNodes;var m=[];var p=0;var q=l.length;while(p<q){m[p]=l[p++]}for(p=0,q=m.length;p<q;++p){var s=m[p];if(s.nodeType===1){if(s.childNodes&&s.childNodes.length){arguments.callee(s)}continue}var n=s.nodeValue;if(!n||/^[ \n\r\t]*$/.test(n)){continue}var k=c.createElement("div");k.innerHTML=n.split("").join(i);var r=s.parentNode;while(k.firstChild){r.insertBefore(k.removeChild(k.firstChild),s)}r.removeChild(s)}};if(j.indexOf("Mozilla/4.0 (compatible; MSIE ")===0&&j.toLowerCase().indexOf("opera")===-1){h=function(k){k.style.wordBreak="break-all"}}var g=function(){var m=b.get_elems(b.breakAllClass);for(var n=0,k=m.length;n<k;h(m[n++])){}};window.jQuery?f(g):a.domReady.add(g)};if(!b.noExternal){b.exec_external()}if(!b.noBreakAll){b.exec_break_all()}if(!/^Mozilla\/4\.0 \(compatible; MSIE (?:5\.5|[67]\.)/.test(navigator.userAgent)){if(!b.noRoll){b.exec_hover()}return}b.eid="_"+d+"_src";b.store=function(g,h){return h?g[b.eid]=h:g[b.eid]};b.hover=function(g){var i=g[b.eid]||(g[b.eid]=b.get_src(g));var h=b.replace_over(i);return g.src?b.add_src_over(g,i,h):b.add_bg_over(g,i,h)};b.set_width=function(g){var h=g.currentStyle;if(h.width!=="auto"||h.height!=="auto"){return}g.style.width=g.offsetWidth+"px"};b.fix=function(g){g.runtimeStyle.behavior="none";var i=g[b.eid]||(g[b.eid]=b.get_src(g));if(!i){i=g.src}if(!i||!/\.png$/.test(i.toLowerCase())){return}b.set_width(g);if(g.src){g.src=b.blankUrl}if(!g.style.zoom&&g.style.zoom!=="0"){g.style.zoom=1}b.swap(g,i);if(!g.src){b.fix_bg_elem(g)}b.bind(g,"propertychange",function(){h.apply(this,arguments)});function h(){if(window.jQuery){var m=this;var j=f.data(m,d)}else{var l=window.event;var m=l.srcElement;var j=l.propertyName}var k=h;h=function(){};new function(){if(j==="src"){if(!m.src||m.src===b.blankUrl){return}b.swap(m,m.src);m[b.eid]=m.src;m.src=b.blankUrl;return}if(j!=="style.backgroundImage"){return}var n=b.get_src(m);if(!n){return}b.swap(m,n);m.style.backgroundImage="none";m[b.eid]=n};h=k}};b.fix_bg_elem=function(g){g.style.backgroundImage="none";b.set_pos(g);(g.tagName.toUpperCase()==="A")&&(g.style.cursor=g.style.cursor||"pointer")};b.set_pos=function(h){var g=["input","textarea","select"];var i=function(j,n){for(var k=j.length,m;m=j[--k];){var l=m.style;!l.position&&(l.position="relative");if(!n){continue}!l.cursor&&(l.cursor=n)}};while(g.length){i(h.getElementsByTagName(g.pop()))}i(h.getElementsByTagName("a"),"pointer")};b.swap=function(h,j){if(j===b.blankUrl){return}var g=(h.currentStyle.backgroundRepeat==="no-repeat")?"crop":"scale";var i="DXImageTransform.Microsoft.AlphaImageLoader";if(h.filters.length&&i in h.filters){h.filters[i].enabled=1;h.filters[i].src=j;return}h.style.filter="progid:"+i+'(src="'+j+'",sizingMethod="'+g+'");'};b.exec_pngfix=function(){var g="expression("+d+".fix(this));";var h=c.createElement("div");h.innerHTML=(['div<div><style type="text/css">',"img, input { behavior : "+g+" };",".bgpng { behavior : "+g+" };","</style></div>"]).join("");c.getElementsByTagName("head")[0].appendChild(h.getElementsByTagName("style")[0])};if(!b.noRoll){b.exec_hover()}if(!b.noFix){b.exec_pngfix()}function e(){if(typeof a=="undefined"){a=new Object()}a.domReady={add:function(g){if(a.domReady.loaded){return g()}var i=a.domReady.observers;if(!i){i=a.domReady.observers=[]}i[i.length]=g;if(a.domReady.callback){return}a.domReady.callback=function(){if(a.domReady.loaded){return}a.domReady.loaded=true;if(a.domReady.timer){clearInterval(a.domReady.timer);a.domReady.timer=null}var l=a.domReady.observers;for(var o=0,m=l.length;o<m;o++){var n=l[o];l[o]=null;n()}a.domReady.callback=a.domReady.observers=null};var j=!!(window.attachEvent&&!window.opera);var h=navigator.userAgent.indexOf("AppleWebKit/")>-1;if(document.readyState&&h){a.domReady.timer=setInterval(function(){var l=document.readyState;if(l=="loaded"||l=="complete"){a.domReady.callback()}},50)}else{if(document.readyState&&j){var k=(window.location.protocol=="https:")?"://0":"javascript:void(0)";document.write('<script type="text/javascript" defer="defer" src="'+k+"\" onreadystatechange=\"if (this.readyState == 'complete') "+d+'.Event.domReady.callback();"><\/script>')}else{if(window.addEventListener){document.addEventListener("DOMContentLoaded",a.domReady.callback,false);window.addEventListener("load",a.domReady.callback,false)}else{if(window.attachEvent){window.attachEvent("onload",a.domReady.callback)}else{var g=window.onload;window.onload=function(){a.domReady.callback();if(g){g()}}}}}}}}}};