// JavaScript Document
var playing = false;
var currImg = 0;
var slideTimer = null;

function GalleryImg( src ){
	this.src = src;
	GalleryImg[ this.name ] = this;
	GalleryImg.all[ GalleryImg.all.length ] = this;
}
GalleryImg.all = new Array();

function showImage( dir ){
	fadeOut( 'imgHolder', 100, 30 );
	setTimeout( 'changeImage( "' + dir + '" )', 300 );
	setTimeout( 'fadeIn( "imgHolder", 100, 30 )', 600 ); //110 = change image delay + fade in time
	if( playing ){
		slideTimer = setTimeout( "showImage('next')", timer );
	}
	else{
		playing = false;
		playButtonRollover('off');
	}
	return false;
}

function changeImage( dir ){
	var imgs = GalleryImg.all;
	var img = document.getElementById("galleryImg");
	var imgTmp = document.getElementById("tmpImage");
	var counter = document.getElementById("counter");
	clearDescs();
	if( dir == 'next' ){
		currImg++;
		if( currImg == imgs.length ) currImg = 0;
		
		img.src = imgs[currImg]['src'];
		if( currImg < imgs.length-1 ) 
			{imgTmp.src=imgs[currImg+1]['src']} 
		else 
			{imgTmp.src=imgs[0]['src']};
		
		counter.innerHTML = (currImg+1) + '/' + imgs.length;
		document.getElementById("desc"+(currImg+1)).style.display='';
		
		
	}
	else{
		if( currImg <= 0 ) currImg = imgs.length;
		img.src = imgs[currImg-1]['src'];
		counter.innerHTML = currImg + '/' + imgs.length;
		document.getElementById("desc"+currImg).style.display='';
		currImg--;
	}
}

function initGallery(){
	document.getElementById("counter").innerHTML = '1/' + (GalleryImg.all.length);
	
	document.getElementById("galleryImg").src = GalleryImg.all[currImg]['src'];
	
	document.getElementById("desc1").style.display = '';
}

function clearDescs(){
	for(var i=0; i<GalleryImg.all.length;i++ ){
		document.getElementById("desc"+(i+1)).style.display = 'none';
	}
}

function playButtonRollover( onOff ){
	if( playing ) source = '/img/ctrl_pause_' + onOff + '.gif';
	else source = '/img/ctrl_play_' + onOff + '.gif';
	document.getElementById("playImg").src = source;
}

function cancelPlaying(){
	clearTimeout( slideTimer );
	playing = false;
}

function playPause(){
	var playButton = document.getElementById("playImg");
	if( playing ){
		clearTimeout( slideTimer );
		playing = false;
	}
	else{
		playButton.src = '/img/ctrl_pause_on.gif';
		slideTimer = setTimeout( "showImage('next')", timer );
		playing = true;
	}
	return false;
}

function fadeIn( objName, opacity, interval ){
	if( !interval ) interval = 20;
	if( !opacity ) opacity = 100;
	opacity = opacity/10;
	
	if( is.ie && is.win ){ //use filters for IE
		for( var i=0; i<=opacity; i++ ){ setTimeout( 'document.getElementById("'+objName+'").filters.alpha.opacity="' +i+ '0"', i*interval ); }
	}
	else if( is.mac ){ //macs need less steps
		var origOpacity = opacity;
		if( opacity == 10 ) opacity = 9;
		for( var j=0; j<=opacity; j++ ){
			if( j%2 == 1 ) setTimeout( 'document.getElementById("'+objName+'").style.opacity="' +(j/10)+ '"', j*interval );
		}
		if( origOpacity == 10 ){
			setTimeout( 'document.getElementById("'+objName+'").style.opacity=.99999', opacity*interval  );
		}
	}
	else{ //opacity for everyone else
		var origOpacity = opacity;
		if( opacity == 10 ) opacity = 9;
		for( var j=0; j<=opacity; j++ ){ setTimeout( 'document.getElementById("'+objName+'").style.opacity="' +(j/10)+ '"', j*interval ); }
		if( origOpacity == 10 ){
			setTimeout( 'document.getElementById("'+objName+'").style.opacity=.99999', opacity*interval  );
		}
	}
	
	
}

function fadeOut( objName, opacity, interval ){
	if( !interval ) interval = 20;
	if( !opacity ) opacity = 100;
	opacity = opacity/10;
	var k = 0;
	if( is.ie && is.win ){ //use filters for IE
		for( var i=opacity; i>=0; i-- ){ setTimeout( 'document.getElementById("'+objName+'").filters.alpha.opacity="' +i+ '0"', k*interval ); k++; }
	}
	else if( is.mac ){ //macs need less steps
		if( opacity == 10 ) opacity = 9;
		for( var j=opacity; j>=0; j-- ){ if( j%2 == 1 ) setTimeout( 'document.getElementById("'+objName+'").style.opacity="' +(j/10)+ '"', k*interval ); k++; }
	}
	else{ //opacity for everyone else
		if( opacity == 10 ) opacity = 9;
		for( var j=opacity; j>=0; j-- ){ setTimeout( 'document.getElementById("'+objName+'").style.opacity="' +(j/10)+ '"', k*interval ); k++; }
	}
}

function Is(){
	var appName = navigator.appName;
	var version = navigator.appVersion;
	
	this.ns = ( appName == "Netscape" );
	this.ns4 = this.ns && version.indexOf("4.")!=-1;
	this.ns5 = this.ns && version.indexOf("5.")==0;
	this.ns6 = ( this.ns5 || (this.ns && version.indexOf("6.")!=-1) );

	this.ie = ( appName == "Microsoft Internet Explorer" );
	this.ie4 = this.ie && version.indexOf("MSIE 4.")!=-1;
	this.ie5 = this.ie && version.indexOf("MSIE 5.")!=-1;
	this.ie6 = this.ie && version.indexOf("MSIE 6.")!=-1;
	this.ie7 = this.ie && version.indexOf("MSIE 7.")!=-1;
	
	var userAgent = navigator.userAgent.toLowerCase()
	this.mac = ( userAgent.indexOf( "mac" ) != -1 )
	this.win = ( userAgent.indexOf( "windows" ) != -1 )
	this.linux = ( userAgent.indexOf( "linux" ) != -1 )
}

Is.prototype.toString = function(){
	var s = ''
	for( var i in this ){
		s += i + ': ' + this[i] + '\n'
	}
	return s;
}

var is = new Is();
