﻿
if (typeof DrKoch == 'undefined') { DrKoch = new Object; }
if (typeof DrKoch.Web == 'undefined') { DrKoch.Web = new Object; }

window.onload = function () {
    if (!document.getElementById) return;

    var objRE = /(DrKoch_Web_\w+)/g;
    var arrResult; var func;
    var colElements = document.getElementsByTagName('*');
    var i = 0; var objElement;
    while (objElement = colElements[i++]) {
        while (arrResult = objRE.exec(objElement.className)) {
            func = eval(arrResult[1].replace(/_/g, '.'));
            if (typeof func != 'undefined') {
                new func(objElement);
            }
        }
    }
}




DrKoch.Web.Popup = function (objElement) {

    function Daemon() {
        me.intCurrentOpacity += 2;
        DrKoch.Web.SetOpacity(me.intCurrentOpacity, me.objElement);
        if (me.intCurrentOpacity < me.intOpacity) window.setTimeout(Daemon, 5);
    }

    function HandleClick() {
        me.objElement.style.display = 'none';
        if (document.detachEvent) document.detachEvent('onclick', HandleClick); else document.removeEventListener('click', HandleClick, true);
    }

    var me = this;
    this.objElement = objElement;

    if (document.attachEvent) document.attachEvent('onclick', HandleClick); else document.addEventListener('click', HandleClick, true);
    this.intOpacity = DrKoch.Web.GetOpacity(this.objElement);
    this.intCurrentOpacity = 0;
    DrKoch.Web.SetOpacity(this.intCurrentOpacity, this.objElement);
    this.objElement.style.display = 'block';
    window.setTimeout(Daemon, 500);
}





DrKoch.Web.SetOpacity = function (intOpacity, objElement) {
    if (objElement.filters) {
        objElement.filters.item("DXImageTransform.Microsoft.Alpha").opacity = intOpacity;
    }
    else {
        objElement.style.opacity = intOpacity / 100;
    }
}

DrKoch.Web.GetOpacity = function (objElement) {
    if (objElement.filters) {
        try {
            return objElement.filters.item("DXImageTransform.Microsoft.Alpha").opacity;
        }
        catch (e) {
            return 100;
        }
    }
    else {
        return Math.round(document.defaultView.getComputedStyle(objElement, null).getPropertyValue('opacity') * 100);
    }
}


