var lowerOpac = 50;
var opacSpeed = 1000;
var opacCSteps = {};

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i = i-2) {
            setTimeout("changeOpac(" + i + ",'" + id + "', -1)",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i = i + 2)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "', 1)",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id, step) {
	if(typeof(step)!='undefined' && step != opacCSteps[id]) return; 
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

function changeOpacArr(elements) {
	for(var i in elements) {
		changeOpac(lowerOpac, 'pimg_' + elements[i]);
	}
} 

function porImgOver(el) {
	opacCSteps[el] = 1;
 	opacity(el, lowerOpac, 100, opacSpeed);
}

function porImgOut(el) {
	opacCSteps[el] = -1;
	opacity(el, 100, lowerOpac, opacSpeed);
}