var toolbarLoaded = false;

function InitializeToolbar(params)
{
	var i;
	for(i = 0; i < document._toolbarForm._listPage.options.length; i++)
		document._toolbarForm._listPage.options[i] = null;
	for(i = params.firstPage; i <= params.lastPage; i++)
		document._toolbarForm._listPage.options[i - params.firstPage] = new Option(i, i);

	//document._toolbarForm._listPage.selectedIndex = 0;
    
	for(i = 0; i < document._toolbarForm._listZoom.options.length; i++)
		document._toolbarForm._listZoom.options[i] = null;
	for(i = 0; i < parent._viewerParams.resolutions.length - 1; i++)
	    document._toolbarForm._listZoom.options[i] = new Option((i + 1), i);
	document._toolbarForm._listZoom.options[i] = new Option("Fit Pages", -1);
	var zoomIndex = parent.getUserZoomCookie();
    var slider = $find('zoomSliderBehavior');
    if (zoomIndex == -1) {
        document.getElementById("chkFitPages").checked = true;
        slider._minimum = -1;
    }
    else {
        document.getElementById("chkFitPages").checked = false;
        slider._minimum = 0;
    }
	parent._viewerParams.zoom = parent._viewerParams.resolutions[zoomIndex];
	setZoomSliderValue(zoomIndex)
//	if (zoomIndex == -1)
//	    document._toolbarForm._listZoom.selectedIndex = parent._viewerParams.resolutions.length -1;
//	else
//	    document._toolbarForm._listZoom.selectedIndex = zoomIndex;
}


function isToolbarLoaded() {
    return toolbarLoaded;
}

function setToolbarLoaded() {
    toolbarLoaded = true;
}



var _tocWidth = 200;

function getColWidth(cols)
{
	return new Number(cols.split(",")[0]);
}


function ShowHideTOC()
{
	if(parent.isNetscape())
		return;
	var width = getColWidth(parent.frmSet2.cols);
	if(width == 0)
	{
		ShowTOC();
	}
	else
	{
		_tocWidth = width;
		HideTOC();
	}
}

function Thumbnails(startPage)
{
	var startPage = 1;
	var endPage = parent._viewerParams.lastPage;
	
	parent._viewerParams.Thumbnails = true;
	parent.DisplayThumbnails(startPage);
}

function HideTOC()
{
	var width = getColWidth(parent.frmSet2.cols);
	if(width > 0)
	{
		width -= 50;
		if(width < 0)
			width = 0;
		parent.frmSet2.cols = width + ",*";
		setTimeout(HideTOC, 1);
	}
}

function PopupToc()
{
    parent.basefrm.toc();
}

function PopupSearch()
{
    parent.basefrm.search();
}

function ShowTOC()
{
	var width = getColWidth(parent.frmSet2.cols);
	if(width < _tocWidth)
	{
		width += 50;
		if(width > _tocWidth)
			width = _tocWidth;
		parent.frmSet2.cols = width + ",*";
		setTimeout(ShowTOC, 1);
	}
}


function FirstPage()
{
	if(parent._viewerParams.page > parent._viewerParams.firstPage)
	{
		var pgnum = 1;
		if(parent._viewerParams.facingPages && pgnum > 1)
			pgnum -= 1;
		gotoPage(pgnum, true);
    }
}

function PrevPage()
{
	if(parent._viewerParams.page > parent._viewerParams.firstPage)
	{
		var pgnum = parent._viewerParams.page - 1;
		if(parent._viewerParams.facingPages && pgnum > 1)
			pgnum -= 1;
		gotoPage(pgnum, true);
    }
}

function NextPage()
{
	if(parent._viewerParams.page < parent._viewerParams.lastPage)
	{
		var pgnum = parent._viewerParams.page + 1;
		if(parent._viewerParams.facingPages == true && pgnum < parent._viewerParams.lastPage)
			pgnum += 1;
		gotoPage(pgnum, true);
    }
}

function LastPage()
{
    if (parent._viewerParams.page < parent._viewerParams.lastPage) {
        var pgnum = parent._viewerParams.lastPage;
        if (parent._viewerParams.facingPages && pgnum > 1)
            pgnum = parent._viewerParams.lastPage;
        gotoPage(pgnum, true);
    }
}



function gotoPage(pgnum, bSyncToc)
{
	pgnum = new Number(pgnum); 
	if(parent._viewerParams.Thumbnails)
	{
        parent.basefrm.thumbLinkClick(pgnum)
        return;
    }

	if(parent._viewerParams.facingPages)
	{
		if(pgnum % 2 == 0 && pgnum < parent._viewerParams.lastPage)
		{
			//even number - not allowed
			pgnum++;
		}
	}
	
	if(parent._viewerParams.Thumbnails)
	{
	    parent._viewerParams.Thumbnails = false;
	    parent.basefrm.location.href = "main.aspx?pagenum=" + pgnum;
	}
	else
	{
	    parent._viewerParams.page = pgnum;
	    //parent.DisplayPage(parent._viewerParams, false);
	    DisplayPageWithUserZoom();
	}
	document._toolbarForm._listPage.selectedIndex = pgnum - parent._viewerParams.firstPage;

}

function getZoomSliderValue() {
    var slider = $find('zoomSliderBehavior');
    return slider._boundControl.value;
}

function fitPagesChanged() {
    var slider = $find('zoomSliderBehavior');
    if (isFitPages()) {
        slider._minimum = -1;
        setZoomSliderValue(-1);
    }
    else {
        slider._minimum = 0;
    }
}

function isFitPages() {
    return document.getElementById("chkFitPages").checked;
}

function DisplayPageWithUserZoom() {
    var zoomIndex = parent.getUserZoom();
    setZoomSliderValue(zoomIndex);
    //parent.DisplayPage(parent._viewerParams, false);
    //    frmToolbar.DoZoom(zoomIndex, false);
}

function DoZoom(zoomValue, zooming) {
    //zoom value is either index - or -1 for fit pages
    var p = parent._viewerParams;
    p.zooming = zooming;
    if (zoomValue == -1)  //Fit Pages
    {
        p.isZoomed = false;
        document._toolbarForm._listZoom.selectedIndex = p.resolutions.length - 1;
    }
    else {
        document._toolbarForm._listZoom.selectedIndex = zoomValue;
        p.zoom = p.resolutions[zoomValue];
        p.isZoomed = true;
    }
    parent.DisplayPage(p, false);
}

function SaveZoom() {
    var exp = new Date();
    exp.setFullYear(2090, 1, 1);
    var p = parent._viewerParams;
    var zoomIndex = getZoomSliderValue();
    parent.setCookie("userzoom", zoomIndex, exp, null, null, null);
    document.getElementById("chkFitPages").checked = false;
    parent.basefrm.message();
}


function MaxZoom() {
    if (!parent._viewerParams.Thumbnails) {
        var p = parent._viewerParams;
        //document._toolbarForm._listZoom.selectedIndex = p.resolutions.length - 2;
        //DoZoom(p.resolutions.length - 2, true);
        setZoomSliderValue(p.resolutions.length - 2);
        //    
        //    if(!p.isZoomed)
        //    {
        //        p.zoom = p.resolutions[p.resolutions.length - 2];
        //        p.isZoomed = true;
        //		parent.DisplayPage(p, false);
        //	}
    }
}

function IncrementZoom() {
    if (!parent._viewerParams.Thumbnails) {
        var p = parent._viewerParams;
        var i;
        for (i = 0; i < p.resolutions.length - 2; i++) {
            if (p.zoom == p.resolutions[i]) {
                setZoomSliderValue(i + 1);
                //DoZoom(i+1, true);
                //            p.zoom = p.resolutions[i + 1];
                //            p.isZoomed = true;
                //            p.zooming = true;
                //            parent.DisplayPage(p, false);
                break;
            }
        }
    }
}


function DecrementZoom() {
    if (!parent._viewerParams.Thumbnails) {

        var p = parent._viewerParams;
        var i;
        for (i = p.resolutions.length - 1; i > 0; i--) {
            if (p.zoom == p.resolutions[i]) {
                setZoomSliderValue(i - 1);
                //            DoZoom(i - 1, true);
                //            p.zoom = p.resolutions[i - 1];
                //            p.isZoomed = true;
                //            p.zooming = true;
                //            parent.DisplayPage(p, false);
                break;
            }
        }
    }
}

function onZoomValueChanged(sender, e) {
    DoZoom(new Number(sender._boundControl.value), true);
}

//Slider values will map to resolutions index
function setZoomSliderValue(zoomValue) {
    var slider = $find('zoomSliderBehavior');
    var p = parent._viewerParams;
    if (slider != null && typeof (slider) != "undefined") {
//        if (zoomValue == -1) {
//            //Fit Pages - figure out what where the slider should be
//            for (var i = 0; i < p.resolutions.length - 1; i++) {
//                if (p.resolutions[i] == p.zoom) {
//                    zoomValue = i;
//                    break;
//                }
//            }
//        }
        if (slider._boundControl.value == zoomValue) {
            //change event won't fire - so call explicitly
            onZoomValueChanged(slider, null);
        }
        else {
            slider._boundControl.value = zoomValue;
            slider._setValueFromBoundControl();
        }
    }
}

function ZoomOut() {
    //    DoZoom(-1, true);
    parent._viewerParams.zoom = parent.getPageZoom(parent._viewerParams);
    setZoomSliderValue(-1);
    
//    if(parent._viewerParams.isZoomed)
//    {
//        parent._viewerParams.isZoomed = false;
//	    parent.DisplayPage(parent._viewerParams, false);
//	}
}

function toggleZoom()
{
    var p = parent._viewerParams;
    if (p.zoom == p.resolutions[p.resolutions.length - 2])
        ZoomOut();
    else
        MaxZoom();
}

function Annotations()
{

	if(parent._viewerParams.Annotations == false)
	{
		parent._viewerParams.Annotations = true;
		setTimeout('var i = new Image(); i.src = "../../SetAnnotation.aspx?enable=true"', 100);
		if(parent._viewerParams.Thumbnails == true)
			setTimeout("Thumbnails(1)", 150);
		else
		{
			setTimeout("parent.DisplayPage(parent._viewerParams, false)", 150);
		}
	}
	else
	{
		parent._viewerParams.Annotations = false;
		setTimeout('var i = new Image(); i.src = "../../SetAnnotation.aspx?enable=false"', 100);
		if(parent._viewerParams.Thumbnails == true)
			setTimeout("Thumbnails(1)", 150);
		else		
		{
			setTimeout("parent.DisplayPage(parent._viewerParams, false)", 150);
		}
	}
}

function ShowNotePrompt()
{
	if(parent._viewerParams.Thumbnails == true)
	{
		alert("Notes cannot be added in thumbnail view");
		return;
	}
	if(parent._viewerParams.Annotations == false)
		Annotations();
	setTimeout('parent.PromptForNotes(true)', 180);
}




function FitPages() {
	//  Fit window instead
	//var leftImg = parent.basefrm.document.getElementById("_leftImg");
    //var rightImg = parent.basefrm.document.getElementById("_rightImg")
	
	//frameWidth = parent.getFrameWidth();
	//frameHeight = parent.getFrameHeight();
	//parent.window.resizeBy((leftImg.width + rightImg.width) - frameWidth, (leftImg.height + rightImg.height) - frameHeight); 

    alert('here');
	parent._viewerParams.fitPages = true;
	parent.DisplayPage(parent._viewerParams, false);


	
	}

function PrintPage()
{
    var printSetupUrl = "printSetup.aspx?d=" + parent._viewerParams.docName + "&p=" + parent._viewerParams.page;
    if(parent._viewerParams.facingPages == true)
        printSetupUrl += "&f=true";
        
    parent.window.open(printSetupUrl, "Print", "status=0, toolbar=0, location=0, menubar=0, resizable=0, scrollbars=0, height=200 width=200");
}


function FacingPages(fFace) {
    if (!parent._viewerParams.Thumbnails) {
        parent._viewerParams.facingPages = fFace;
        var expires = new Date();
        expires.setFullYear(2040, 1, 1);
        parent.setCookie("facingPages", fFace, expires);
        setTimeout("parent.DisplayPage(parent._viewerParams, false)", 150);
    }
}


function fullScreen()
{
    var url = "default.aspx?d=" + parent._viewerParams.docName;
    window.open(url, '', 'toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width='+screen.width+',height='+screen.height+',screenX=0,screenY=0,left=0,top=0');
}