var Anim = {};
var News = {};
var opacityName;
var IconsID = "iclickmedia_VisualHomeIcon";
var IconsColorID = "iclickmedia_VisualHomeIconC";
var IconsActiveID = "iclickmedia_VisualHomeIconCA";
var IconsDivID = "iclickmedia_VisualHomeIcons";
var activeIconID;
var activeIconClass = "VisualHomeActiveIcon";
var timer = null;
var currOpacity = 0;
var visualID;
var timerInt = 30;
var temp;

Anim.Activate = function()
{
	opacityName = getOpacityProperty();

	Anim.SetEvents();
	Anim.SetStyles();
	setTimeout(News.Run,4000);
}


News.Run = function()
{
	target = document.getElementById('NewsRot');
	news = document.getElementById('NewsRot2');
	lift = (news.style.top) ? news.style.top.substr(0,news.style.top.length-2) : "0";
	if (lift<=-18*4) {lift = 18;news.style.top = (lift) + 'px';}
	
	stopPos = lift - 18;

	newsScroll = setInterval(function() {News.Scroll(stopPos)},30)
	
}

News.Scroll = function(stopPos)
{
	news = document.getElementById('NewsRot2');
	lift = (news.style.top) ? news.style.top.substr(0,news.style.top.length-2) : "0";
	news.style.top = (lift-1) + 'px';
	if (lift-1==stopPos) {
		clearInterval(newsScroll);
		
		if ( (lift-1) == (-18*4) ) 
			{News.Run();}
		else {
			setTimeout(News.Run,4000); 
		}
	}
}

Anim.SetStyles = function()
{
	
	for(i=0;i<VisualsNumber;i++){
		
		document.getElementById(IconsID+i).style.left = (5 + i * ( 47 + 26 )) + 'px';
		document.getElementById(IconsColorID+i).style.left = (5 + i * ( 47 + 26 )) + 'px';
		document.getElementById(IconsActiveID+i).style.left = (5 + i * ( 47 + 26 )) + 'px';
	}
	var IconsDivWidth = (5 + VisualsNumber * ( 47 + 26 ) - 26 + 5);
	document.getElementById(IconsDivID).style.width = IconsDivWidth + 'px';
	document.getElementById(IconsDivID).style.left = Math.floor((956 - IconsDivWidth)/2) + 'px';
	document.getElementById(IconsDivID).style.display = 'block';

}

Anim.SetEvents = function()
{
	for(i=0;i<VisualsNumber;i++){
		if(document.getElementById(IconsActiveID+i).className.indexOf(activeIconClass) > -1)
		{
			activeIconID = IconsActiveID+i;
		}
				
		document.getElementById(IconsColorID+i).onmouseover = function(){Anim.fadeIn(this.id,1)};
		document.getElementById(IconsColorID+i).onmouseout = function(){Anim.fadeOut(this.id,0)};
		document.getElementById(IconsColorID+i).onclick = function(){Anim.ChangeActiveVisual(this.id)};
	}
}
Anim.GetVisualName = function(iconID)
{
	if(iconID.indexOf(IconsActiveID) > -1) return("iclickmedia_VisualHome" + iconID.substr(IconsActiveID.length,iconID.length - IconsActiveID.length));
	else return("iclickmedia_VisualHome" + iconID.substr(IconsColorID.length,iconID.length - IconsColorID.length));
}
Anim.GetActiveIconName = function(iconID)
{

	return ( IconsColorID+"A"+iconID.substr((IconsColorID.length),iconID.length - IconsColorID.length) );
}


Anim.ChangeActiveVisual = function(elID)
{

	clearInterval(timer);
	currOpacity=0;
	var oldVisualID = Anim.GetVisualName(activeIconID);
	var newVisualID = Anim.GetVisualName(elID);

	setElementOpacity(activeIconID,0);
	setElementOpacity(oldVisualID,0);
	document.getElementById(oldVisualID).style.zIndex = 0;
	
	activeIconID = Anim.GetActiveIconName(elID);

	setElementOpacity(activeIconID,1);
	setElementOpacity(elID,0);
	setElementOpacity(newVisualID,1);
	document.getElementById(newVisualID).style.zIndex = 10;
	
	visualID = null;
}

Anim.fadeIn = function(elID,direction) 
{
	if (Anim.GetActiveIconName(elID)!=activeIconID)
	{
		if (visualID) Anim.Stop();
		setElementOpacity(elID,1);
		visualID = Anim.GetVisualName(elID);
		setElementOpacity(visualID,0);
		document.getElementById(visualID).style.zIndex = 11;
		timer = setInterval(function(){Anim.fadeInRun(visualID,direction)}, timerInt);
	}
}

Anim.fadeInRun = function(visualID,direction)
{
	currOpacity = (currOpacity) ? Math.round((currOpacity + .1)*10)/10 : .1;
	setElementOpacity(visualID, currOpacity);
	temp += " ? " + currOpacity;
	if (currOpacity >= 1) {clearInterval(timer);currOpacity=1;}
}

Anim.fadeOut = function(elID,direction) 
{
	if (Anim.GetActiveIconName(elID)!=activeIconID)
	{
		setElementOpacity(elID,0);
		clearInterval(timer);
		visualID = Anim.GetVisualName(elID);
		timer = setInterval(function(){Anim.fadeOutRun(visualID,direction)}, timerInt);
	}
}

Anim.fadeOutRun = function(visualID,direction)
{
	currOpacity = (currOpacity) ? Math.round((currOpacity - .1)*10)/10 : .9;
	setElementOpacity(visualID, currOpacity);
	temp += " ! " + currOpacity;
	
	if (currOpacity <= 0)  {clearInterval(timer);currOpacity=0;document.getElementById(visualID).style.zIndex = 0; }
}

Anim.fadeRun = function(visualID,direction)
{
	currOpacity = (currOpacity) ? Math.round((currOpacity - .1 * ((direction==1) ? 1 : -1 ))*10)/10 : (direction==1) ? .1 : .9;
	setElementOpacity(visualID, currOpacity);
	temp += " ! " + currOpacity;
	
	if (currOpacity <= 0 || currOpacity >= 1)  {
		clearInterval(timer);
		currOpacity=direction;
		if (direction == 0) {document.getElementById(visualID).style.zIndex = 0; alert(temp);}
	}
}

Anim.Stop = function() 
{
	clearInterval(timer);
	currOpacity=0;
	setElementOpacity(visualID,0);
	document.getElementById(visualID).style.zIndex = 0;
}

/*
Anim.fadeRun = function(visualID,direction) {
	t+=" - "+currOpacity;
	currOpacity = (currOpacity) ? ( currOpacity + .1 * ( (direction==1) ? 1 : -1 ) ) : (1-direction);

	
	setElementOpacity(visualID, currOpacity);
	if (currOpacity==0) document.getElementById(visualID).style.zIndex = 11*direction;
	if (currOpacity > 1 || currOpacity <0) {clearInterval(timer);currOpacity=direction;}
	
}
*/
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 p; //(getOpacityProperty = new Function("return '"+p+"';"))();
}

function setElementOpacity(elID, opacity)
{
  var elem = document.getElementById(elID);
  if (!elem || !opacityName) return; 
  
  if (opacityName=="filter")  
  {
    opacity *= 100;
	
    var oAlpha = elem.filters['DXImageTransform.Microsoft.alpha'] || elem.filters.alpha;
    if (oAlpha) oAlpha.opacity = opacity;
    else elem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+opacity+")"; 
  }
  else 
    elem.style[opacityName] = opacity;
}

