/* vim: set expandtab tabstop=4 shiftwidth=4: */
// +----------------------------------------------------------------------+
// | Copyright (c) 2004 Totally plc                                       |
// +----------------------------------------------------------------------+
// | functions for photogallery                                           |
// +----------------------------------------------------------------------+

var browserVersion = parseInt(navigator.appVersion);
var isNetscape = navigator.appName.indexOf("Netscape") != -1;
var isIE = navigator.appName.indexOf("Microsoft") != -1;
var isIE5 = ((isIE) && (navigator.appVersion.indexOf("MSIE 5.")!=-1)) ? true : false;
var isIE6 = ((isIE) && (navigator.appVersion.indexOf("MSIE 6.")!=-1)) ? true : false;
var agent = navigator.userAgent.toLowerCase();
var isWindows = agent.indexOf("win") != -1;
var isMac = agent.indexOf("mac") != -1;
var isNix = agent.indexOf("X11") != -1;

var resChecker = null;

// global vars for photo set pages
var galleryID;
var photoSetID;
var photoSetImagePreviewWidth;
var photoSetImagePreviewHeight;
var photoSetNumImages;
var photoSetCurrentImage = 1;
var photoSetVisible

// global vars for thumbnail scroller
var photoSetNumVisibleRows;
var photoSetTotalRows;
var photoSetCurrentRow = 1;
var scrollerTimer;
var scrollerMaxTime = 400;
var scrollerMinTime = 50;
var scrollerIncrement = 100;
var scrollerCounter = 1;


/**
* Select a preview image to view
*/
function photoSetPreviewImageSelect(imageNum, startPos, nomove)
{
    var imageRef = 'image'+imageNum;
    var filename = document.photoSetThumbnailsForm[imageRef].value;
    var src = '/photo_gallery/photo/';

    if (photoSetCurrentImage == imageNum) { return; }

    src+= '?photo_set_id='+photoSetID;
	src+= '&filename='+escape(filename);
	src+= '&width='+photoSetImagePreviewWidth;
	src+= '&height='+photoSetImagePreviewHeight;


    document.pImage.src = '/siteimages/photo_gallery/loading.gif';
    photoSetCurrentImage = imageNum;
    //document.winResizeForm.preview_image.value = imageNum;

    // set pic number info
    var info = document.getElementById("photoSetPreviewImageInfo");
    var picNumber = parseInt(startPos)+parseInt(imageNum);
	info.firstChild.nodeValue = 'Pic '+picNumber+' of '+photoSetNumImages;


    window.setTimeout("document.pImage.src = '"+src+"'", 250);
/*
	if (!nomove) {
	window.location = "#MovePage";
	}
*/
	
	
}

/**
* View slideshow
*/
function photoSetViewSlideshow()
{
    var imageRef = 'image'+photoSetCurrentImage;
    var filename = document.photoSetThumbnailsForm[imageRef].value;
    var uri = '/gallery/slideshow/';
                                                                                                                  
    uri+= '?gallery_id='+galleryID;
    uri+= '&photo_set_id='+photoSetID;
    if (filename != null) {
        uri+= '&filename='+filename;
    }

    window.location = uri;
}

/**
* Select next preview image
*/
function photoSetPreviewImageNext(startPos,nomove)
{
    var nextImage = eval(photoSetCurrentImage+'+1');
	if  (parseInt(startPos)+photoSetPerPage>parseInt(photoSetNumImages)) {
		var imagesOnPage = parseInt(photoSetNumImages)-parseInt(startPos);
	} else {
		var imagesOnPage = photoSetPerPage;
	}
		
    if (nextImage > imagesOnPage) {
        photoSetPreviewImageSelect(1,startPos,nomove);
    } else {
        photoSetPreviewImageSelect(nextImage,startPos,nomove);
    }
}


/**
* Select prev preview image
*/
function photoSetPreviewImagePrev(startPos, nomove)
{
    var prevImage = eval(photoSetCurrentImage+'-1');
	if  (parseInt(startPos)+photoSetPerPage>parseInt(photoSetNumImages)) {
		var imagesOnPage = parseInt(photoSetNumImages)-parseInt(startPos);
	} else {
		var imagesOnPage = photoSetPerPage;
	}

    if (prevImage <= 1) {
        photoSetPreviewImageSelect(imagesOnPage,startPos,nomove);
    } else {
        photoSetPreviewImageSelect(prevImage,startPos,nomove);
    }
	
	
}

/**
* change mouse to pointer
*/
function changePointer (obj, pointer)
{
    pointer = (pointer != '') ? pointer : 'pointer';
    if (isIE && browserVersion < 6 && pointer == 'pointer') {
        pointer = 'hand';
    }

    obj.style.cursor = pointer;
}


/**
* Start scrolling thumbnails
*/
function photoSetStartScrollThumbs(direction)
{
    photoSetScrollThumbs(direction);

    // work out time for timer
    if (scrollerCounter == 1) {
        time = scrollerMaxTime;
    } else {
        time = scrollerMaxTime - (scrollerCounter * scrollerIncrement);
    }

    time = (time > scrollerMinTime) ? time : scrollerMinTime;
    scrollerCounter++;

    clearTimeout(scrollerTimer);
    scrollerTimer = window.setTimeout("photoSetStartScrollThumbs('"+direction+"')", time);
}

/**
* Stop scrolling thumbnails
*/
function photoSetStopSrcollThumbs(direction)
{
    scrollerCounter = 1;
    clearTimeout(scrollerTimer);

}


/**
* Scroll thumbnails
*/
function photoSetScrollThumbs(direction)
{
    var rowToHide;
    var rowToShow;

    if (direction == 'down') {
        rowToHide = photoSetCurrentRow;
        rowToShow = rowToHide + photoSetNumVisibleRows;

        if (rowToShow > photoSetTotalRows) { return false; }

        photoSetCurrentRow++;
    } else {
        rowToShow = photoSetCurrentRow - 1;
        rowToHide = rowToShow + photoSetNumVisibleRows;

        if (rowToShow < 1) { return false; }

        photoSetCurrentRow--;
    }

    photoSetToggleTable('thumbsRow'+rowToHide);
    photoSetToggleTable('thumbsRow'+rowToShow);

    return true;
}


/**
* Toggle a table between hidden/displayed
*/
function photoSetToggleTable(tableID)
{
    var table = document.getElementById(tableID);
    if (table != null) {
        var newClass = (table.className == 'thumbsHidden') ? 'show' : 'thumbsHidden';
        changeClass(table, newClass);
    }
}

function changeClass(obj, newClass)
{
    obj.className = newClass;
}


/**
* send to email picture page
*/
function photoEmailPicture()
{

	var imageRef = 'image'+photoSetCurrentImage;
	var filename = document.photoSetThumbnailsForm[imageRef].value;
                                                                                                                  
    photoSetEmailuri+= '?gallery_id='+galleryID;
    photoSetEmailuri+= '&photo_set_id='+photoSetID;
    if (filename != null) {
        photoSetEmailuri+= '&filename='+filename;
    }

    window.location = photoSetEmailuri;
	
	
}


/**
* send to email picture page
*/
function photoBuyPicture()
{

	var imageRef = 'image'+photoSetCurrentImage;
	var filename = document.photoSetThumbnailsForm[imageRef].value;
                                                                                                                  
    photoSetBuyuri+= '?gallery_id='+galleryID;
    photoSetBuyuri+= '&photo_set_id='+photoSetID;
    if (filename != null) {
        photoSetBuyuri+= '&filename='+filename;
    }

    window.location = photoSetBuyuri;
	
	
}

