psfm.interactive = {
}

psfm.interactive.filter = {
    TIME_OUT:
        5000//1000mm/s
    ,
    COUNTER:
        1
    ,
    ALTER_SRC:
        "./imgs/bg.jpg"
    ,
    CODE:
        1
    ,
    OPACITY_VALUE:
        null
    ,
    ELEMENT:
        null
    ,
    TIMER:
        psfm.DISABLE
    ,
    STYLE:
        1
    ,
    IMG_OBJ:
        null
    ,
    IMG_SRC:
        null
    ,
    done:
        function() {
            var vif = psfm.interactive.filter;
            if (!vif.IMG_OBJ.complete) {
                if (vif.COUNTER == vif.TIME_OUT) {
                    var tmpImg = new Image();
                    tmpImg.src = vif.ALTER_SRC;
                    vif.IMG_OBJ = tmpImg;
                    vif.IMG_SRC = "url(" + vif.ALTER_SRC + ")";
                    vif.ELEMENT.style.backgroundImage = vif.IMG_SRC;
                    vif.COUNTER = 1;
                    return;
                }
                vif.COUNTER++;
                return;
            }
	        if (vif.OPACITY_VALUE <= 0) {
	            vif.CODE = 3;
	        } else if (vif.CODE == 1 && vif.OPACITY_VALUE <= 100) {
                vif.CODE = 1;
            } else {
                if (vif.STYLE == 1) {
                    vif.CODE = 2;
                } else {
                    vif.CODE = 3;
                }
            }
            switch (vif.CODE) {
            case 1:
                vif.setOpacity(vif.ELEMENT ,vif.OPACITY_VALUE++);
                return;
            case 2:
                vif.setOpacity(vif.ELEMENT ,vif.OPACITY_VALUE--);
                return;
            case 3:
                document.body.removeChild(vif.ELEMENT);
                break;
            default:
            }
            vif.CODE = 1;
            switch (vif.STYLE) {
            case 1:
                break;
            case 2:
                document.body.style.backgroundImage = vif.IMG_SRC;
                break;
            default:
            }
            clearInterval(vif.TIMER);
            vif.COUNTER = 1;
            vif.TIMER = psfm.DISABLE;
        }
    ,
    setOpacity:
        function(e, opacityValue) {
            e.style.filter = 'alpha(opacity=' + (opacityValue * 1) + ')';
            e.style.MozOpacity = opacityValue / 100;
            e.style.opacity = opacityValue / 100;
        }
    ,
    execute:
        function(imgsrc, style) {
            document.body.style.backgroundImage = "url(" + imgsrc + ")";
            var vif = psfm.interactive.filter;
            if (!vif.TIMER) {
                var tmpImg = new Image();
                tmpImg.src = imgsrc;
                vif.IMG_OBJ = tmpImg;
                vif.IMG_SRC = "url(" + imgsrc + ")";
                vif.STYLE = style;
	            var e = psfm.formUtil.createDIV("vif");
	            var b = document.body;
	            e.style.position = 'absolute';
	            e.style.zIndex = -1;
	            b.appendChild(e);
                e.style.backgroundImage = vif.IMG_SRC;
                vif.setOpacity(e, 0);
                switch (vif.STYLE) {
                case 1:
	                e.style.top = "5px";
	                e.style.left = "5px";
	                e.style.width = b.clientWidth - 5 + "px";
	                e.style.height = b.clientHeight - 5 + "px";
                    document.body.style.backgroundImage = vif.IMG_SRC;
                    break;
                case 2:
		            e.style.top = "0px";
		            e.style.left = "0px";
	                e.style.width = document.documentElement.clientWidth + "px";
	                e.style.height = document.documentElement.clientHeight + "px";
                    document.body.style.backgroundImage = "";
                    break;
                default:
                }
                vif.OPACITY_VALUE = 1;
                vif.ELEMENT = e;
                vif.TIMER = setInterval(psfm.interactive.filter.done, 1);
            }
        }
}

