/**
 * Transition effects for Main News
 * author: Alex Vigdor     copyright 2007 ABCNews Internet Ventures
 **/
 
var tsmPane = new Pane("topstoriesmini-widget");
tsmPane.addMouseOver(function(){tsmPane.engage();});
tsmPane.addMouseOut(function(){tsmPane.disengage();});
tsmPane.addEngage(pauseMmn);
tsmPane.addDisengage(resumeMmn);

var plmPane = new Pane("topstoriesmini-playlist");
plmPane.addYScrollbar();
plmPane.setMaxAge(100000);
plmPane.setAutoReload(true);
plmPane.addMouseOver(function(){plmPane.engage();});
plmPane.addMouseDown(function(){plmPane.engage()});
plmPane.addMouseWheel(function(){plmPane.engage()});
plmPane.addMouseOut(function(){plmPane.disengage()});
plmPane.addEngage(pauseMmn);
plmPane.addDisengage(resumeMmn);

function pauseMmn(){
	if(typeof miniMainNewsPlaylist !='undefined'){
		if(plmPane.engaged || tsmPane.engaged){
			miniMainNewsPlaylist.pause();
		}
		//tsmPane.cancelAnimation();
	}
};

function resumeMmn(){
	if(typeof miniMainNewsPlaylist !='undefined'){
		if(!plmPane.engaged && !tsmPane.engaged){
			miniMainNewsPlaylist.resume();
		}
	} 
};

var miniMainNewsItemTimeout;
var miniMainNewsItemMouseover = function(id){
	var sid = id;
	if(typeof miniMainNewsPlaylist !='undefined'){
		var func = function(){
			miniMainNewsItemTimeout = null;
			miniMainNewsPlaylist.gotoItem('miniMainNews'+sid,mmnDropAnim);
			sid=null;
		}
		miniMainNewsItemTimeout = window.setTimeout(func,310);
	}
}
var miniMainNewsItemMouseout = function(evt){
	if(miniMainNewsItemTimeout != null){
		window.clearTimeout(miniMainNewsItemTimeout);
	}
}
var mmnPlaylistControlProducer = function() { return document.getElementById(miniMainNewsPlaylist.currentItem.id); };


var gotoMiniMainNewsStory = function(e){
	var button = (e != null ? (e.which ? e.which : e.button) : 1);
	if(button==1){
		var nl = tsmPane.content.getElementsByTagName('a');
		if(nl.length > 0){
			var a = nl.item(0);
			var follow = true;
			if(typeof a.onclick == 'function'){
				if(!a.onclick()){
					follow=false;
				}
			}
			if(follow){
				window.location.href = a.getAttribute('href');
			}
		}
	}
}



// ASV addeded 10/16/2007 slide animations

var mmnSlideScrollSeq = plmPane.makeYScrollSequence(mmnPlaylistControlProducer);
mmnSlideScrollSeq.duration=600;
mmnSlideScrollSeq.ease = Easing['easeBothStrong']

var tsmControlFo = new Sequence();
tsmControlFo.duration=150;
tsmControlFo.start=.99;
tsmControlFo.end=.618;
tsmControlFo.min=.1;
tsmControlFo.init=function(){
	setOpacity(document.getElementById('topstoriesmini-controls'),.99);
}
tsmControlFo.handler=function(val){
	setOpacity(document.getElementById('topstoriesmini-controls'),val);
}
tsmControlFo.callback=function(){
	setOpacity(document.getElementById('topstoriesmini-controls'),.618);
}

var tsmControlFi = new Sequence();
tsmControlFi.duration=300;
tsmControlFi.start=.618;
tsmControlFi.end=.99;
tsmControlFi.min=.1;
tsmControlFi.init=function(){
	setOpacity(document.getElementById('topstoriesmini-controls'),.618);
}
tsmControlFi.handler=function(val){
	setOpacity(document.getElementById('topstoriesmini-controls'),val);
}
tsmControlFi.callback=function(){
	setOpacity(document.getElementById('topstoriesmini-controls'),.99);
}

var mmnLeftAnim = new Animation();
mmnLeftAnim.frameinterval = 5;

//old moving left
var mmnLeftOldSlide = new Sequence();
mmnLeftOldSlide.start = 0;
mmnLeftOldSlide.end = -330;
mmnLeftOldSlide.duration = 600;
mmnLeftOldSlide.min=0.5;
mmnLeftOldSlide.ease = Easing['easeBothStrong'];
mmnLeftOldSlide.init = function(){
	setOpacity(tsmPane.oldContent,1);
}
mmnLeftOldSlide.callback = function(){
	tsmPane.oldContent.style.left = "-330px";
};
mmnLeftOldSlide.handler = function(val){
	val = Math.round(val);
	tsmPane.oldContent.style.left = val+"px";
	return val;
};
mmnLeftAnim.addSequence(0,mmnLeftOldSlide);

//new moving left
var mmnLeftSlide = new Sequence();
mmnLeftSlide.start = 330;
mmnLeftSlide.end = 0;
mmnLeftSlide.duration = 600;
mmnLeftSlide.min=0.5;
mmnLeftSlide.ease = Easing['easeBothStrong'];
mmnLeftSlide.init = function(){
	if(tsmPane.content){
		setOpacity(tsmPane.content,1);
		tsmPane.content.style.left="330px";
	}	
	if(tsmPane.content && tsmPane.content.parentNode != tsmPane.viewport){
		tsmPane.viewport.appendChild(tsmPane.content);
	};
	mmnRelatedTweak();
};
mmnLeftSlide.handler = function(val){
	val = Math.round(val);
	tsmPane.content.style.left = val+"px";
	return val;
};
mmnLeftSlide.callback = function(){
	tsmPane.content.style.left = "0px";
}
//mmnLeftAnim.addSequence(0,tsmControlFo);
mmnLeftAnim.addSequence(0,mmnLeftSlide);
mmnLeftAnim.addSequence(0,mmnSlideScrollSeq);
//mmnLeftAnim.addSequence(500,tsmControlFi);

//old moving right
var mmnRightAnim = new Animation();
mmnRightAnim.frameinterval = 5;

var mmnRightOldSlide = new Sequence();
mmnRightOldSlide.start = 0;
mmnRightOldSlide.end = 330;
mmnRightOldSlide.duration = 600;
mmnRightOldSlide.min=0.5;
mmnRightOldSlide.ease = Easing['easeBothStrong'];
mmnRightOldSlide.init = function(){
	setOpacity(tsmPane.oldContent,1);
}
mmnRightOldSlide.callback = function(){
	tsmPane.oldContent.style.left = "330px";
};
mmnRightOldSlide.handler = function(val){
	val = Math.round(val);
	tsmPane.oldContent.style.left = val+"px";
	return val;
};
mmnRightAnim.addSequence(0,mmnRightOldSlide);

//new moving Right
var mmnRightSlide = new Sequence();
mmnRightSlide.start = -330;
mmnRightSlide.end = 0;
mmnRightSlide.duration = 600;
mmnRightSlide.min=0.5;
mmnRightSlide.ease = Easing['easeBothStrong'];
mmnRightSlide.init = function(){
	if(tsmPane.content){
		setOpacity(tsmPane.content,1);
		tsmPane.content.style.left="-330px";
	}	
	if(tsmPane.content && tsmPane.content.parentNode != tsmPane.viewport){
		tsmPane.viewport.appendChild(tsmPane.content);
	};
	mmnRelatedTweak();
};
mmnRightSlide.handler = function(val){
	val = Math.round(val);
	tsmPane.content.style.left = val+"px";
	return val;
};
mmnRightSlide.callback = function(){
	tsmPane.content.style.left = "0px";
}
//mmnRightAnim.addSequence(0,tsmControlFo);
mmnRightAnim.addSequence(0,mmnRightSlide);
mmnRightAnim.addSequence(0,mmnSlideScrollSeq);
//mmnRightAnim.addSequence(500,tsmControlFi);

var defaultScrollSeq = plmPane.makeYScrollSequence(mmnPlaylistControlProducer);
defaultScrollSeq.duration=1200;
defaultScrollSeq.ease = Easing['easeBothStrong']

var mmnDefaultAnim = new Animation();

//old moving left
var mmnDefaultOldSlide = new Sequence();
mmnDefaultOldSlide.start = 0;
mmnDefaultOldSlide.end = -330;
mmnDefaultOldSlide.duration = 1200;
mmnDefaultOldSlide.min=0.5;
mmnDefaultOldSlide.ease = Easing['easeBothStrong'];
mmnDefaultOldSlide.init = function(){
	setOpacity(tsmPane.oldContent,1);
}
mmnDefaultOldSlide.callback = function(){
	tsmPane.oldContent.style.left = "-330px";
};
mmnDefaultOldSlide.handler = function(val){
	val = Math.round(val);
	tsmPane.oldContent.style.left = val+"px";
	return val;
};
//mmnDefaultAnim.addSequence(0,mmnDefaultOldSlide);

//new moving left
var mmnDefaultSlide = new Sequence();
mmnDefaultSlide.start = 330;
mmnDefaultSlide.end = 0;
mmnDefaultSlide.duration = 1200;
mmnDefaultSlide.min=0.5;
mmnDefaultSlide.ease = Easing['easeBothStrong'];
mmnDefaultSlide.init = function(){
	if(tsmPane.content){
		setOpacity(tsmPane.content,1);
		tsmPane.content.style.left="330px";
	}	
	if(tsmPane.content && tsmPane.content.parentNode != tsmPane.viewport){
		tsmPane.viewport.appendChild(tsmPane.content);
	};
	mmnRelatedTweak();
};
mmnDefaultSlide.handler = function(val){
	val = Math.round(val);
	tsmPane.content.style.left = val+"px";
	return val;
};
mmnDefaultSlide.callback = function(){
	tsmPane.content.style.left = "0px";
}
//mmnDefaultAnim.addSequence(0,tsmControlFo);
mmnDefaultAnim.addSequence(0,mmnDefaultSlide);
mmnDefaultAnim.addSequence(0,defaultScrollSeq);
//mmnDefaultAnim.addSequence(1100,tsmControlFi);

var mmnQuickAnim = new Animation();
var mmnQSeq = new Sequence();
mmnQSeq.init=function(){
 if(tsmPane.content && tsmPane.content.parentNode != tsmPane.viewport){
		tsmPane.viewport.appendChild(tsmPane.content);
 }
 mmnRelatedTweak();
}
mmnQuickAnim.addSequence(0,mmnQSeq);

var mmnDropAnim = new Animation();
var mmndxpane = getPane("topstoriesmini-widget").makeCrossFadeSequence();
mmndxpane.duration=600;
mmndxpane.min=.03;
mmndxpane.ease = Easing['easeOut'];
var mmndxinit = mmndxpane.init;
mmndxpane.init = function(){
	mmndxinit();
	mmnRelatedTweak();
};
//these transitions happen onmouseover
mmnDropAnim.addSequence(0,mmndxpane);
mmnDropAnim.addSequence(0,mmnSlideScrollSeq);

//function to show/hide related list items based on visibility
function mmnRelatedTweak(){
	if(tsmPane.content){
		var rel = getElementsWithAttribute(tsmPane.content,'class','related');
		if(rel.length > 0){
			rel[0].style.visibility="visible";
			var nl = rel[0].getElementsByTagName('li');
			var i;
			var pos;
			var height;
			for(i=0;i<nl.length;i++){
				pos = calcPosition(nl[i],"Top",tsmPane.content);
				height = nl[i].offsetHeight;
				if((pos+height)>tsmPane.viewport.offsetHeight){
					if(i==0){
						// hide related area altogether if no items will be visible
						rel[0].style.visibility="hidden";
						return;
					}
					nl[i].style.visibility="hidden"
				}
				else{
					nl[i].style.visibility="visible"
				}
			}
		}
	}
}