﻿<!--
var IMAGE_BLANK = 'imagens/geral/branco.gif';
var TYPE_IMAGE = 'IMG';
var TYPE_INPUT = 'INPUT';
var TYPE_DIV = 'DIV';

var ud = null;

if (/MSIE (5\.5|6)/.test(navigator.userAgent) || typeof filters == 'unknown') {
  window.attachEvent("onload", InitImages);
}

function InitImages() {
  var i = 0;
  for (i = 0; i < document.images.length; i++) {
    var img = document.images[i];
    if ((/\.png/i).test(img.src)) {
      FixPNG(img, img.src);
      img.onpropertychange = PropertyChangeHandler;
    }
  }

  var inputs = document.getElementsByTagName('input');
  for (i = 0; i < inputs.length; i++) {
    var input = inputs[i];
    if (input.type == "image") {
      if ((/\.png/i).test(input.src)){
      FixPNG(input, input.src);
      input.onpropertychange = PropertyChangeHandler;
      }
    }
  }

  var divs = document.getElementsByTagName('div');
  for (i = 0; i < divs.length; i++) {
    var div = divs[i];
    var bgSrc = div.currentStyle.backgroundImage || div.style.backgroundImage;
    if ((/\.png/i).test(bgSrc)) {
      FixPNG(div, bgSrc);
      div.onpropertychange = PropertyChangeHandler;
    }

    if (div.getElementsByTagName(TYPE_IMAGE).length > 0) {
      div.onfilterchange = FilterChangeHandler;
    }
  }
}

function PropertyChangeHandler() {
  switch (event.srcElement.nodeName) {
    case TYPE_IMAGE:
    case TYPE_INPUT:
      if (event.propertyName == "src" && (/\.png/i).test(event.srcElement.src)) {
        FixPNG(event.srcElement, event.srcElement.src);
      }
      break;
    case TYPE_DIV:
      if (/background/.test(event.propertyName) && (/\.png/i).test(event.srcElement.style.backgroundImage)) {
        FixPNG(event.srcElement, event.srcElement.style.backgroundImage);
      }
      break;
  }
}

function FilterChangeHandler() {
  try {
    if (event.srcElement.filters['DXImageTransform.Microsoft.Alpha'].opacity == 100) {
      ReLoadImages(event.srcElement)
    }
  }
  catch(e){
  }
}

function ReLoadImages(div) {
  div.style.filter = null;
  var images = div.getElementsByTagName(TYPE_IMAGE);
  for (i = 0; i < images.length; i++) {
    var img = images[i];             
    if ((/\.png/i).test(img.ImageSrc)) {
      img.style.filter = null;
      FixPNG(img, img.ImageSrc);
    }
  }
}

function FixPNG(elem, src) {
  switch (elem.nodeName) {
    case TYPE_IMAGE:
    case TYPE_INPUT:
      if ((/\.png/i).test(src)) {
        LoadImageInFilter(elem, src, 1);
        elem.src = IMAGE_BLANK;
      }
      break;
    case TYPE_DIV:
      var bgSrc = elem.currentStyle.backgroundImage || elem.style.backgroundImage;
      if ((bgSrc + src).indexOf(IMAGE_BLANK) == -1) {
        var bgPNG = bgSrc.match(/^url[("']+(.*\.png[^\)"']*)[\)"']+[^\)]*$/i);
        if (bgPNG) {
          elem.style.backgroundImage = 'none';
          LoadImageInFilter(elem, bgPNG[1], 0);
        }
      }
      break;
  }
}

function LoadImageInFilter(e, s, b) {
  var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
  var sM = (e.currentStyle.backgroundRepeat == 'no-repeat') ? 'crop' : 'scale';
  s = (s || '').replace(/\(/g, '%28').replace(/\)/g, '%29');

  if (s && !(/IMG|INPUT/.test(e.nodeName) && !b) && e.currentStyle.width == 'auto' && e.currentStyle.height == 'auto'){
    e.style.width = e.offsetWidth + 'px';
    e.style.height = e.clientHeight + 'px';
    if (e.currentStyle.display == 'inline') e.style.display = 'inline-block';
  }

  if (e.filters[f]) {
    e.filters[f].enabled = s ? true : false;
    if (s) with (e.filters[f]) { src = s }
  }
  else if (s) e.style.filter = 'progid:' + f + '(src="' + s + '",sizingMethod="' + sM + '")';

  e.ImageSrc = s;
}
//-->

