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--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacityOut(millisec) {
    for(var i = 1; i < arguments.length; i++)
        if(document.getElementById(arguments[i]).style.opacity == 100) {
            opacity(arguments[i], 30, 100, millisec);
        } else {
            opacity(arguments[i], 100, 30, millisec);
        }

}

/*==================== change script ===================*/
/*=== change by С.Ю.Шпак ( "Caesar" ) 28.08.2007 =======*/
/*===  icq : 486925257   mail to : all4m@list.ru  ======*/
/*==================== change script ===================*/
function getOpacityProperty()
{
  if (typeof document.body.style.opacity == 'string')
    return 'opacity';
  else if (typeof document.body.style.MozOpacity == 'string')
    return 'MozOpacity';
  else if (typeof document.body.style.KhtmlOpacity == 'string')
    return 'KhtmlOpacity';
  else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) 
    return 'filter';

  return false;
}
var Elem; Elem= new Array;
var Prev_Elem; Prev_Elem= new Array;
var ups; ups= new Array;
var diff;
var diff2;
var opacityProp;
var z;
var s='';
function IE_go()
{ 
diff+=10;
for( i = 0; i < Elem.length; i++){document.getElementById(Elem[i]).style.filter = 'alpha(opacity='+diff+')';}
}
function Ot_B()
{
diff=diff+0.1;
for( i = 0; i < Elem.length; i++){document.getElementById(Elem[i]).style[opacityProp] = diff}	
}
function Ch_Alpha() 
{	
	opacityProp = getOpacityProperty();	
	Elem=arguments;
	if(opacityProp=='filter')
	{	
		if(Prev_Elem[0]!=null)
		{window.clearInterval(timer);for( i = 0; i < Prev_Elem.length; i++){document.getElementById(Prev_Elem[i]).style.filter = 'alpha(opacity=30)'}}
		diff= 20;
		timer=setInterval("if(diff==100){window.clearInterval(timer);diff=10;}else{IE_go()}",50)		
	}
	else{
		if(Prev_Elem[0]!=null)
		{window.clearInterval(timer);for( i = 0; i < Prev_Elem.length; i++){document.getElementById(Prev_Elem[i]).style[opacityProp] = '0.3'}}
		diff=0.1;
		timer=setInterval("if(diff>1){window.clearInterval(timer);diff=0.1;}else{Ot_B()}",50)
		}
Prev_Elem=Elem;
}
function Fuck_IE()
{ 
diff2+=20;	
z.style.filter = 'alpha(opacity='+diff2+')'
}
function Fuck_ot()
{
diff2=diff2+0.2;	
z.style[opacityProp] = diff2;
}
function O(w)
{   
		for( i = 0; i < Prev_Elem.length; i++)
		{s=s+Elem[i]}
		if(s.indexOf(w.id)==(-1))
		{
		opacityProp = getOpacityProperty();
		if(opacityProp=='filter')
		{	z=w;
			diff2= 30;
			timer2=setInterval("Fuck_IE()",50)
		}
		else
		{   
			z=w;
			diff2=0.1;
			timer2=setInterval("Fuck_ot()",50)
		}	
	}	
}
function Ot(w)
{
	if(s.indexOf(w.id)==(-1))
		{
	if(opacityProp=='filter')
	{
	window.clearInterval(timer2); s='';
	diff2=10;
	w.style.filter = 'alpha(opacity=30)'
	}
	else
	{
	window.clearInterval(timer2); s='';
	diff2=0.1;
	w.style[opacityProp]= '0.3'
	}}
}
/*==================== change script ===================*/
/*=== change by С.Ю.Шпак ( "Caesar" ) 28.08.2007 =======*/
/*===  icq : 486925257   mail to : all4m@list.ru  ======*/
/*==================== change script ===================*/
function blendimage(divid, imageid, imagefile, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	
	//make image transparent
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}
