Commit 9850ba4445cf83d7b8efbf93348ef206420a788f

Authored by AntonioTerceiro
1 parent dda3c544

ActionItem460: adding iepngfix files

git-svn-id: https://svn.colivre.coop.br/svn/noosfero/branches/0.11.x@2504 3f533792-8f58-4932-b0fe-aaf55b0a4547
public/stylesheets/iepngfix/blank.gif 0 → 100755

49 Bytes

public/stylesheets/iepngfix/iepngfix.htc 0 → 100755
... ... @@ -0,0 +1,103 @@
  1 +<public:component>
  2 +<public:attach event="onpropertychange" onevent="iePNGFix(0)" />
  3 +
  4 +<script type="text/javascript">
  5 +
  6 +// IE5.5+ PNG Alpha Fix v1.0
  7 +// (c) 2004-2008 Angus Turnbull http://www.twinhelix.com
  8 +
  9 +// This is licensed under the GNU LGPL, version 2.1 or later.
  10 +// For details, see: http://creativecommons.org/licenses/LGPL/2.1/
  11 +
  12 +
  13 +// This must be a path to a blank image, relative to the HTML document(s).
  14 +// In production use I suggest '/images/blank.gif' or similar. That's all!
  15 +if (typeof blankImg == 'undefined') var blankImg = 'blank.gif';
  16 +
  17 +
  18 +
  19 +function filt(s, b)
  20 +{
  21 + var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
  22 + var sM = (currentStyle.backgroundRepeat == 'no-repeat') ? 'crop' : 'scale';
  23 + s = (s || '').replace(/\(/g, '%28').replace(/\)/g, '%29');
  24 +
  25 + if (s && !(/IMG|INPUT/.test(nodeName) && !b) &&
  26 + currentStyle.width == 'auto' && currentStyle.height == 'auto')
  27 + {
  28 + style.width = offsetWidth + 'px';
  29 + style.height = clientHeight + 'px';
  30 + if (currentStyle.display == 'inline') style.display = 'inline-block';
  31 + }
  32 +
  33 + if (filters[f])
  34 + {
  35 + filters[f].enabled = s ? true : false;
  36 + if (s) with (filters[f]) { src = s }
  37 + }
  38 + else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="' + sM + '")';
  39 +}
  40 +
  41 +function iePNGFix(init)
  42 +{
  43 + if (!/MSIE (5\.5|6)/.test(navigator.userAgent) || typeof filters == 'unknown') return;
  44 + var evt = init ? { propertyName: 'src,background' } : event;
  45 + var isSrc = /src/.test(evt.propertyName);
  46 + var isBg = /background/.test(evt.propertyName);
  47 + var isClass = !init &&
  48 + ((this.className != this._png_class) && (this.className || this._png_class));
  49 + if (!(isSrc || isBg || isClass)) return;
  50 + this._png_class = this.className;
  51 + var blank = blankImg.match(/([^\/]+)$/)[1];
  52 +
  53 + // Required for Whatever:hover support - erase any set BG if className changes.
  54 + if (isClass && ((style.backgroundImage.indexOf('url(') == -1) ||
  55 + (style.backgroundImage.indexOf(blank) > -1)))
  56 + {
  57 + setTimeout(function() { this.style.backgroundImage = '' }, 0);
  58 + return;
  59 + }
  60 +
  61 + if (isSrc && this.src && /IMG|INPUT/.test(nodeName))
  62 + {
  63 + if ((/\.png/i).test(src))
  64 + {
  65 + filt(src, 1);
  66 + src = blankImg;
  67 + }
  68 + else if (src.indexOf(blank) == -1) filt();
  69 + }
  70 +
  71 + var bgSrc = currentStyle.backgroundImage || style.backgroundImage;
  72 + if ((bgSrc + this.src).indexOf(blank) == -1)
  73 + {
  74 + var bgPNG = bgSrc.match(/^url[("']+(.*\.png[^\)"']*)[\)"']+[^\)]*$/i);
  75 +
  76 + if (bgPNG)
  77 + {
  78 + style.backgroundImage = 'url("' + blankImg + '")';
  79 + filt(bgPNG[1], 0);
  80 + // Unclickable elements inside PNG backgrounds.
  81 + var tags = ['a', 'input', 'select', 'textarea', 'iframe', 'object'],
  82 + t = tags.length, tFix = [];
  83 + while (t--)
  84 + {
  85 + var elms = all.tags(tags[t]), e = elms.length;
  86 + while (e--) tFix.push(elms[e]);
  87 + }
  88 + var t = tFix.length;
  89 + if (t && (/relative|absolute/i).test(currentStyle.position))
  90 + alert('IEPNGFix: Children of positioned element are unclickable:\n\n<' +
  91 + nodeName + (id && ' id=' + id) + '>');
  92 + while (t--)
  93 + if (!(/relative|absolute/i).test(tFix[t].currentStyle.position))
  94 + tFix[t].style.position = 'relative';
  95 + }
  96 + else filt();
  97 + }
  98 +}
  99 +
  100 +iePNGFix(1);
  101 +
  102 +</script>
  103 +</public:component>
... ...