/* Функция кроссбраузерной установки прозрачности
Пример: setElementOpacity(document.body, 0.5); //сделать документ прозрачным на половину
*/
function setElementOpacity(oElem, nOpacity)
{
	var p = getOpacityProperty();
	(setElementOpacity = p=="filter"?new Function('oElem', 'nOpacity', 'nOpacity *= 100;	var oAlpha = oElem.filters["DXImageTransform.Microsoft.alpha"] || oElem.filters.alpha;	if (oAlpha) oAlpha.opacity = nOpacity; else oElem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")";'):p?new Function('oElem', 'nOpacity', 'oElem.style.'+p+' = nOpacity;'):new Function)(oElem, nOpacity);
}
// Функция getOpacityProperty() возвращает свойство которое используется для смены прозрачности или undefined, и может использоваться для проверки возможности изменения прозрачности
function getOpacityProperty()
{
	var p;
	if (typeof document.body.style.opacity == 'string') p = 'opacity';
	else if (typeof document.body.style.MozOpacity == 'string') p =  'MozOpacity';
	else if (typeof document.body.style.KhtmlOpacity == 'string') p =  'KhtmlOpacity';
	else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) p =  'filter';
	
	return (getOpacityProperty = new Function("return '"+p+"';"))();
}
function OpacityFade(elem,start,end,speed)
{
	if (!elem || !getOpacityProperty()) return false;
	// Обход двойного вхождения в объект
	if(typeof(elem.fade_opacity)=='object') return false;
	// Добавляем к элементу наше специальное свойство, которое будет говорить 
	// про состояние этого элемента
	elem.fade_opacity = new Object();
	elem.fade_opacity.step  = Math.round(((end-start)/10)*10)/10;
	// Добавляем к элементу функцию, которая будет делать необходимую работу
	elem.fade_opacity.run	= function(){OpacityRun(elem,start,end,speed)};
	elem.fade_opacity.tid 	= setInterval(elem.fade_opacity.run,speed);
}
function OpacityRun(elem,start,end,speed)
{
	if (!elem || !getOpacityProperty()) return false;
	
	start = Math.round((start+elem.fade_opacity.step)*10)/10;
	setElementOpacity(elem,start);

	if ((elem.fade_opacity.step>=0 && start>=end) || (elem.fade_opacity.step<0 && start<=end)) 
	{
		clearInterval(elem.fade_opacity.tid);
		if(elem.fade_opacity.step<0) setElementOpacity(elem,1.0);
		elem.fade_opacity = false;
	}else{
		// Добавляем к элементу функцию, которая будет делать необходимую работу
		clearInterval(elem.fade_opacity.tid);
		elem.fade_opacity.run	= function(){OpacityRun(elem,start,end,speed)};
		elem.fade_opacity.tid 	= setInterval(elem.fade_opacity.run,speed);
	}
}
function MOF(obj){
	OpacityFade(obj,0.0,0.8,60);
}
function XOF()
{
	var el = document.getElementById('menu');
	OpacityFade(el,0.1,1.0,30);
	var el = document.getElementById('pmini');
	OpacityFade(el,0.1,1.0,30);

}