//
// CodaEffects.js - (C) 2007 Panic, Inc.
//
// Used to scroll our tabbed view, display our download popup, and display the giant dialog.
// Requires: Effects.js
//
// Not for redistribution.

// UPDATES
// 8/12/2008 switched default loaded section from "sites-pane" to "new-pane" -- Tim
//

 

 


//
// DOWNLOAD SMALL POPUP: Download Hint Pop-up Functions
//
// An advantage of using a timer to do a hide is that we can ignore
// any spurious mouseOut events that have bubbled up, into <td>'s, etc.

var cpopTimer = "";

function showContactPopup(e) {
	var popContact = document.getElementById('cpop');
	var btnContact = document.getElementById('contact');

	if (moveanim.timer != null) {
		clearInterval(moveanim.timer);
		moveanim.timer = null;
	}

	// Determine where we should pop up in relation to the download button

	position = findElementPos(btnContact);
	popContact.style.top = (position[1] - (popContact.offsetHeight -25)) +"px";
	 
	popContact.style.left = "630" + "px";

	// If already trigger a rollover, cancel it because we're back in

	if (cpopTimer != "")
	{
		clearTimeout(cpopTimer);
		cpopTimer = "";
	} else {
		setOpacity(0, 'cpop');
		popContact.style.visibility = 'visible';
		moveStart(popContact, parseInt(popContact.style.left), parseInt(popContact.style.left), parseInt(popContact.style.top) + 10, parseInt(popContact.style.top), 15);
		fadeElementSetup('cpop', 0, 100, 13);
	}
}

function hideContactpopup() {
	// Start timer to hide the pop-up and the overlay
	cpopTimer = setTimeout("actuallyHide()", 500);
}

function actuallyHide() {
	var popContact = document.getElementById('cpop');
	if (cpopTimer != "")
	{
		cpopTimer = "";
		moveStart(popContact, parseInt(popContact.style.left), parseInt(popContact.style.left), parseInt(popContact.style.top), parseInt(popContact.style.top) - 10, 15);		
		fadeElementSetup('cpop', 100, 0, 13, 1);
	}
}

//
// MOVE: Animate the move of an element.
//
// Move is also synchronous. One at a time, please.
//

var moveanim = {time:0, beginX:0, changeX:0.0, beginY:0, changeY:0, duration:0.0, element:null, timer:null};

function moveStart(elem, startX, endX, startY, endY, duration)
{
	if (moveanim.timer != null) {
		clearInterval(moveanim.timer);
		moveanim.timer = null;
	}
	moveanim.time = 0;
	moveanim.beginX = startX;
	moveanim.changeX = endX - startX;
	moveanim.beginY = startY;
	moveanim.changeY = endY - startY;
	moveanim.duration = duration;
	moveanim.element = elem;

	moveanim.timer = setInterval("moveAnimDo();", 15);
}

function moveAnimDo()
{
	if (moveanim.time > moveanim.duration) {
		clearInterval(moveanim.timer);
		moveanim.timer = null;
	}
	else {
		moveX = cubicOut(moveanim.time, moveanim.beginX, moveanim.changeX, moveanim.duration);
		moveY = cubicOut(moveanim.time, moveanim.beginY, moveanim.changeY, moveanim.duration);
		moveanim.element.style.left = moveX + "px";
		moveanim.element.style.top = moveY + "px";
		moveanim.time++;
	}
}


//console.log("Initialized");
