var Global = {
    addEvent : function(obj, type, fn) {
        if (obj.addEventListener) {
            obj.addEventListener(type, fn, false);
        }
        else if (obj.attachEvent) {
            obj["e"+type+fn] = fn;
            obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
            obj.attachEvent("on"+type, obj[type+fn]);
        }
    },
    popup : function (html) {
      window.open(html,'window2','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=450,height=600');
    },
    getElementsByClassName : function(className, tag, elm) {
        var testClass = new RegExp("(^|\s)" + className + "(\s|$)");
        var tag = tag || "*";
        var elm = elm || document;
        var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
        var returnElements = [];
        var current;
        var length = elements.length;
        for(var i=0; i<length; i++){
            current = elements[i];
            if(testClass.test(current.className)){
                returnElements.push(current);
            }
        }
        return returnElements;
    }
}

var btn = {
    init : function() {
        if (!document.getElementById || !document.createElement || !document.appendChild) return false;
        as = Global.getElementsByClassName('btn_(.*)');
        for (i=0; i<as.length; i++) {
            var thisType = "fixed";
            if ( as[i].className.indexOf("btn_flex") != -1 ) {
              thisType = "flex";
            }
            if ( as[i].tagName == "BUTTON" ) {
              if ( navigator.userAgent.indexOf("Safari") != -1 ) {
                var i2 = document.createElement('i');
                while (as[i].firstChild) {
                  i2.appendChild(as[i].firstChild);
                }
                as[i].appendChild(i2);
              }
            } else if ( as[i].tagName == "A" ) {
              var i1 = document.createElement('i');
              while (as[i].firstChild) {
                i1.appendChild(as[i].firstChild);
              }
              as[i].appendChild(i1);
              if ( thisType == "flex" ) {
                var s2 = document.createElement('span');
                as[i].appendChild(s2);
              }
            }
            // Firefox Only
            if ( navigator.userAgent.indexOf("Firefox/2") != -1 ) {
              as[i].className+=as[i].className?' btn_firefox':'btn_firefox';
              if ( navigator.userAgent.indexOf("Macintosh") != -1 ) {
                as[i].className+=as[i].className?' btn_firefox_mac':'btn_firefox_mac';
              }
            }
        }
    }
}

var oImg = {
    preloadFlag : false,
    init : function() {
        oImg.preloadImages();
        if (!document.getElementById || !document.createElement || !document.appendChild) return false;
        as = Global.getElementsByClassName('png_fix');
        for (i=0; i<as.length; i++) {
          oImg.fixPng(as[i]);
        }
    },
    fixPng: function( img ){
      if( oImg.needPNGFix() ){
        img.style.visibility = "hidden";
        img.parentNode.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=image src='"+ img.src +"')";
      } else {
        img.style.visibility = "visible";
      }
    },
    newImage: function (arg) {
      if (document.images) {
        rslt = new Image();
        rslt.src = arg;
        return rslt;
      }
    },
    changeImages : function () {
      if (document.images && (oImg.preloadFlag == true)) {
        for (var i=0; i<oImg.changeImages.arguments.length; i+=2) {
          document[oImg.changeImages.arguments[i]].src = oImg.changeImages.arguments[i+1];
        }
      }
    },
    preloadImages : function () {
      if (document.images) {
        oImg.preloadFlag = true;
      }
    },
    needPNGFix : function () {
      if(document.all && navigator.userAgent.indexOf("MSIE") != -1 ){
        return true;
      }
      return false;
    }
}

var resize = {
    fire : function() {
      if (!document.getElementById || !document.createElement || !document.appendChild) return false;
      if( oImg.needPNGFix() ){
        as = Global.getElementsByClassName('png_fix');
        for (i=0; i<as.length; i++) {
          as[i].parentNode.style.filter = "none";
          as[i].parentNode.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=image src='"+ as[i].src +"')";
        }

        as = Global.getElementsByClassName('btn_(.*)');
        for (i=0; i<as.length; i++) {
          as[i].style.visibility = 'hidden';
          as[i].style.visibility = 'visible';
        }
      }
    }
}

RentalHomeDVDGlow = {
  Over : function() {
    if( oImg.needPNGFix() ){
      document.all.dvdglow.parentNode.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=image src='" + document.all.dvdglow.src + "')";
    } else {
      document.getElementById('dvdglow').style.visibility = "visible";
    }
  },
  Out : function() {
    if( oImg.needPNGFix() ){
      document.all.dvdglow.parentNode.style.filter = "none";
    } else {
      document.getElementById('dvdglow').style.visibility = "hidden";
    }
  }
}

Global.addEvent(window,'load', function() { oImg.init();} );
Global.addEvent(window,'load', function() { btn.init();} );
