function setElementOpacity(sElemId, nOpacity)
{
    var opacityProp = getOpacityProperty(sElemId);
    var elem = document.getElementById(sElemId);
    if (!elem || !opacityProp) return;
    	    // Если не существует элемент с указанным id или браузер не поддерживает ни один из известных функции способов управления прозрачностью
    if (opacityProp=="filter")  // Internet Exploder 5.5+
    {
	nOpacity *= 100;
	// Если уже установлена прозрачность, то меняем её через коллекцию filters, иначе добавляем прозрачность через style.filter
	var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
	if (oAlpha) oAlpha.opacity = nOpacity;
	else elem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")";
	// Для того чтобы не затереть другие фильтры используем "+="
    }
    else // Другие браузеры
	elem.style[opacityProp] = nOpacity;
}

function getOpacityProperty(id)
{
    if (typeof document.getElementById(id).style.opacity == 'string') // CSS3 compliant (Moz 1.7+, Safari 1.2+, Opera 9)
	return 'opacity';
    else if (typeof document.getElementById(id).style.MozOpacity == 'string') // Mozilla 1.6 и младше, Firefox 0.8 
	return 'MozOpacity';
    else if (typeof document.getElementById(id).style.KhtmlOpacity == 'string') // Konqueror 3.1, Safari 1.1
	return 'KhtmlOpacity';
    else if (document.getElementById(id).filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) // Internet Exploder 5.5+
	return 'filter';
    return false; //нет прозрачности
}

var cur_id = 0;
var cur_opacity = 1.0;
var delta_o = -0.02;
function Op()
{
    setElementOpacity("d" + cur_id, cur_opacity);
    setElementOpacity("d" + (cur_id+1) % 4, 1-(cur_opacity-0.5));

    if(cur_opacity <= 0.5) {cur_opacity = 1.0; cur_id = (cur_id+1) % 4;}

//    if(cur_opacity >= 1.0) delta_o *= -1;
    cur_opacity += delta_o;
//    if(cur_opacity <= 0.5) {delta_o *= -1; cur_id = (cur_id+1) % 4;}
}