function animatePage(checkedId, uri, instanceId)
{
	//disable all the tab links
	for (var i = 1; i < 100; i++) {
		if ($("pageNameLink_" + i)) {
			$("pageNameLink_" + i).href = "javascript: void(0);";
			$("pageNameLink_" + i).onclick = function () { return false; };
			$("pageNameLink_" + i).disabled = true;
		} else {
			break;
		}
	}
	//do the animation
    var totalFrames = 1000;
    var startTab = 0;
    var distance = 0;
    var animationFunction = function (frame) {
        for (var i = 0; i < pages.length; i++) {
            if (pages[i].id == currentId) {
                var leftTabLength = i;
                break;
            }
        }
        distance = $(pages[0].id).offsetWidth - rightPosition - pages[leftTabLength].leftPosition;
        for(var i = 0; i < pages.length; i++) {
            if (pages[i].id == checkedId) {
                startTab = i;
                var loaderId = checkedId.replace("page_", "pageLoadingIndicator_");
                if ($(loaderId)) {
                	$(loaderId).style.display = "block";
                }
                break;
            }
        }
        for (var i = startTab + 1; i <= leftTabLength; i++) {
            $(pages[i].id).style.left = (pages[i].leftPosition + (frame/totalFrames) * distance) + "px";
        }

        for (var i = leftTabLength + 1; i <= startTab; i++) {
            $(pages[i].id).style.left = (pages[i].leftPosition + (1 - frame/totalFrames) * distance) + "px";
            $(pages[i].id + "_fake").style.display = "none";
        }
        if (frame == totalFrames) {
            currentId = checkedId;
            setTimeout("window.location='" + uri +"'", 25);
        }
    }
    var animation = new _aponAnimation(0, totalFrames, 35, "fading", animationFunction);
    animation.start();
    return false;
}

function pagesIntroReady()
{
	//take the intro div out
	$("pagesInit").style.display = "none";
}

function paginate(pageId, pageContentId, contentId)
{
    var contentHeight = $(contentId).offsetHeight;
    var pageHeight = $(pageContentId).offsetHeight;
    noOfPages = Math.ceil(contentHeight / pageHeight);

    if (noOfPages > 1) {
        for (i = 1; i <= noOfPages; i++) {
            var insertedElement = document.createElement('div');
            insertedElement.innerHTML = "&nbsp;";
            if (i == 1) {
                insertedElement.setAttribute("class", "moreSelected");
            } else {
                insertedElement.setAttribute("class", "more");
            }
            insertedElement.setAttribute("id", "subpage_" + i);
            insertedElement.setAttribute("onclick","showSubPage(" + i + ", '" + contentId + "', " + pageHeight + ", " + noOfPages + ");");
            $("pageTopMargin").appendChild(insertedElement);
        }
    }
}

function showSubPage(subPageId, contentId, pageHeight)
{
    var topPosition = (subPageId - 1) * pageHeight;
    $(contentId).style.top = "-" + topPosition + "px";
    for (i = 1; i <= noOfPages; i++) {
        if (i == subPageId) {
            $("subpage_" + i).className = "moreSelected";
        } else {
            $("subpage_" + i).className = "more";
        }
    }
}
