//
//	Copyright (c) 2006, studio-algo,inc.
//

var _PHOTO_LIST  = new Object();
var _ID_IMG      = 'image';
var _ID_COUNT    = 'count';
var _ID_DEBUG    = 'debug';

var _LIMIT_QUERY =  4;
var _CC_CHAR     = 'C';
var _SS_CHAR     = 'S';
var _SS_INTERVAL = 4000;

var gTarget = 'photo';
var gIndex  = 0;
var gCount  = 0;
var gTimer  = null;		// slide show timer.
var gSS     = false;	// slide show ON/OFF.
var gCC     = false;	// false;  // counter ON/OFF.


function Init() {
	var query = location.search.substring( 1, location.search.length ).replace( /\?$/, '' );
	if (query.length > 0) {
		var q_list = query.split( '?' );
		if ((q_list.length > _LIMIT_QUERY) || !CheckQuery( q_list )) {
			location.href = location.href.replace( /\?.*$/, '' );
			return;
		}
	}
	else {
		gCount = GetImgCount();
	}

	var n = GetStartIndex();
	if (n) {
		gIndex = n;
	}

	Draw( 0 );
}

function CheckQuery( q ) {
	for (var i = 0; i < q.length; i++) {
		if ((q[ i ].match( /[0-9]+/ )) && (q[ i ].match( /[^0-9]/ ) == null)) {
			gIndex = parseInt( q[ i ], 10 ) - 1;
		}
		else
		if (q[ i ] == _SS_CHAR) {
			gSS = true;
		}
		else
		if (q[ i ] == _CC_CHAR) {
			gCC = true;
		}
		else
		if (q[ i ].length) {
			gTarget = q[ i ];
		}
	}
	gCount = GetImgCount();

	return (gCount > 0);
}

function GetStartIndex() {
	var o = _PHOTO_LIST[ gTarget ];
	if (o) {
		var start = o[ 'start' ];
		if (start) {
			for (var i = 0; i < gCount; i++) {
				if (start == o[ 'file' ][ i ]) {
					return i;
				}
			}
		}
	}
	return 0;
}

function GetImgCount() {
	var c = 0;
	var o = _PHOTO_LIST[ gTarget ];
	if (o) {
		if (o[ 'file' ]) {
			c = o[ 'file' ].length;
		}
	}
	return c;
}

function Draw( n ) {
	if (gCount > 0) {
		if (gTimer) {
			clearTimeout( gTimer );
			gTimer = null;
		}

		gIndex += n;
		if (gIndex < 0)       {gIndex = gCount - 1;} else
		if (gIndex >= gCount) {gIndex = 0;}

		var elem = document.getElementById( _ID_IMG );
		if (elem) {
			var o = _PHOTO_LIST[ gTarget ];
			elem.src = o[ 'path' ] + o[ 'file' ][ gIndex ];

			if (gSS) {
				gTimer = setTimeout( 'Draw(1);', _SS_INTERVAL );
			}
			if (gCC) {
				var elem = document.getElementById( _ID_COUNT );
				if (elem) {
					elem.innerHTML = (gIndex + 1).toString() + ' / ' + gCount.toString();
				}
			}
		}
	}
}

function Back() {
	Draw( -1 );
}

function Next() {
	Draw( 1 );
}

function Debug( s ) {
	var elem = document.getElementById( _ID_DEBUG );
	if (elem) {
		elem.innerHTML = s;
	}
}