﻿var lastFsiEvent = "";
var zoomingToCatalog = false;
var loadComplete = false;
var currentPage = 1;
var helpVisible = false;

function firstPage_Click(){ sendCommand("FirstPage"); }
function nextPage_Click(){ sendCommand("NextPage");	}
function prevPage_Click(){ sendCommand("PreviousPage"); }
function lastPage_Click(){ sendCommand("LastPage"); }
function zoomIn_Click(){ sendCommand("ZoomIn"); }
function zoomOut_Click(){ sendCommand("ZoomOut"); }
function fullPage_Click(){ sendCommand("Reset"); }

function catalogView_Click()
{
    zoomingToCatalog = true;
    sendCommand("Reset");
}

function jumpPos_keyPress(e)
{
    var keyCode = 0;
    if(window.event)
        keyCode = e.keyCode;
    else
        keyCode = e.which;
    
    if(keyCode == 13)
    {
        jumpToPage();
        return false;
    }
}

function go_Click()
{
    jumpToPage();
}

function help_Click()
{
    if(currentPage > 1)
    {
        helpVisible = true;
        var obj = document.getElementById("divTips");
        obj.style.border = "1px solid black";
        obj.getElementsByTagName("img")[0].style.visibility = "visible";
        obj.style.cursor = "hand";
        obj.style.visibility = "visible";   
    }
}

function divTips_Click()
{
    if(currentPage > 1)
    {
        hideTips();
    }
}

function jumpToPage()
{
    var pageNumber = parseInt(document.getElementById("jumpPos").value);
    if(pageNumber != "NaN")
    {
        gotoPage(pageNumber);
	}
    else
    {
        alert("Please enter a page number between 1 and 232");
    }
    document.getElementById("jumpPos").value = "";
}

function fsi_DoFSCommand(fsi_event, params)
{
    switch(fsi_event)
    {
        case "Modal":
            if(lastFsiEvent != ""){
                zoomingToCatalog = false;
            }
            break;
        case "Zoom":
            if(zoomingToCatalog && params == "100")
                sendCommand("Reset");
            break;
        case "LoadingComplete":
            loadComplete = true;
            break;
            
        case "onPagesPageChanged":
            currentPage = params;
            if(currentPage > 1)
                hideTips();
            else
            {
                var obj = document.getElementById("divTips");
                obj.style.border = "0px solid black";
                obj.style.visibility = "visible";
            }
            break;
            
        case "onPagesShowZoom":
            if(params == "true")
                hideTips();
            else
                moveTips();
            break;
            
        case "Action":
            hideTips();
            break;

        case "toolTip":
            if (params.indexOf("Search") > -1)
                hideTips();
            break;
    }
    
    switch(params)
    {
        case "GotoPage":
            sendCommand("");
            break;
        case "NextPage":
            sendCommand("");
            break;
        case "PreviousPage":
            sendCommand("");
            break;
        case "LastPage":
            sendCommand("");
            break;
        case "FirstPage":
            sendCommand("");
            break;
        case "ZoomIn":
            sendCommand("");
            break;
        case "ZoomOut":
            sendCommand("");
            break;
    }
	
//    if(fsi_event != "ToolTip")
//	    trace(fsi_event + " : " + params);
        
    lastFsiEvent = fsi_event + ":" + params;
}

function sendCommand(cmd)
{
    if(isFirefox)
        document.getElementsByName("fsi")[0].SetVariable("FSICMD", cmd);
    else
        document.getElementById("fsi").SetVariable("FSICMD", cmd);
}

function trace(msg)
{
    document.getElementById("testOut").innerHTML += msg + "<br/>";
}

function init()
{
    if(isFirefox)
        window_ffResize(null);
    else
        window_Resize(null);
    moveTips();
}

function window_Resize(e)
{
    var flash = document.getElementById("fsi");
    flash.style.width = (document.body.offsetWidth * .8) + "px";
    flash.style.height = (document.body.offsetHeight * .7) + "px";
    moveTips();
}

function window_ffResize(e)
{
    var flash = document.getElementsByName("fsi")[0];
    flash.setAttribute("height", window.innerHeight * .7);
    flash.setAttribute("width", window.innerWidth * .8);
    if(e !=  null)
        moveTips();
}

function window_opResize(e)
{
    var flash = document.getElementById("fsi");
    flash.setAttribute("height", window.innerHeight * .7);
    flash.setAttribute("width", window.innerWidth * .7);
    moveTips();
}

function gotoPage(page)
{
    if(!loadComplete)
    {
        setTimeout("gotoPage(" + page + ");", 500);
    }
    else
    {
        if(isFirefox)
        {
            document.getElementsByName("fsi")[0].SetVariable("newImageIndex", page);
            document.getElementsByName("fsi")[0].SetVariable("FSICMD", "GotoPage");
        }
        else
        {
            document.getElementById("fsi").SetVariable("newImageIndex", page);
	        document.getElementById("fsi").SetVariable("FSICMD", "GotoPage");
        }
    }
}

function moveTips()
{   
    var flash = null;
    if(isFirefox)
        flash = document.getElementById("fsi").getElementsByTagName("embed")[0];
    else
        flash = document.getElementById("fsi");
    var tips = document.getElementById("divTips");
    
    var x = flash.offsetLeft;
    var y = flash.offsetTop - 30;
    var width = flash.offsetWidth / 2;
    var height = flash.offsetHeight;
    
    tips.style.left = (x + (width / 2 - tips.offsetWidth / 2)) + "px";
    tips.style.top = (y + (height / 2 - tips.offsetHeight / 2)) + "px";
    
    if((width < tips.offsetWidth || tips.offsetTop < flash.offsetTop || currentPage > 1) && !helpVisible)
        hideTips();
    else if(width > tips.offsetWidth && tips.offsetTop > flash.offsetTop && currentPage < 2)
        tips.style.visibility = "visible";
    else if(helpVisible && width > tips.offsetWidth)
        tips.style.visibility = "visible";        
}

function hideTips()
{
    var obj = document.getElementById("divTips");
    obj.style.visibility = "hidden";
    obj.style.border = "0px solid black";
    obj.getElementsByTagName("img")[0].style.visibility = "hidden";
    obj.style.cursor = "default";
    helpVisible = false;
}

var modalTargetId = null;
function btnEmail_Click(sender)
{
    modalTargetId = sender.id;
    return false;
}

function btnSend_Click()
{
    if(modalTargetId != null)
    {
        if(Page_ClientValidate("vgEmail"))
        {
            document.getElementById(pageField).value = currentPage;
            __doPostBack(modalTargetId.replace(/_/g, "$"), '');
        }
        else
        {
            $find("ModalSendEmail").show();
        }
    }
}

function btnCancel_Click()
{
    modalTargetId = null;
}


