/* 	filename: library.js 
	author: Brian Teryek
*/

function getPageName()
{
	var urlstring = location.href;
	var pattern = /\/[a-zA-Z0-9-_]+[\/]*$/;
	
	var position = urlstring.search(pattern);
	var pagename = urlstring.substr(position + 1);
	
	var hyperlinks = document.body.getElementsByTagName('a');
	
	for(var i in hyperlinks)
	{
		if(hyperlinks.item(i).getAttribute('href') == pagename)
		{
			hyperlinks.item(i).style.color = '#676767';	
		}
	}						 
}


function init()
{
	Fade.items = totalScreenShots();
	Fade.images = getImagesArray();
	addIdsToImages();
	setInterval('swapImage()', Fade.speed);
	//getPageName();
}

function initializeImageGallery(imageContainer)
{
	ImageGallery.list = imageContainer;
	ImageGallery.items = ImageGallery.totalImages();
	ImageGallery.images = ImageGallery.getImagesArray();
	ImageGallery.addIdsToImages();
}

var ImageGallery =
{
	//properties
	speed: 600, //in milliseconds
	animationSpeed: 300,
	list: null, //id where images are located
	items: 0, //default
	count: 0,
	images: null, //default
	
	//methods
	addIdsToImages: function() 
	{
		for(i = 0; i < ImageGallery.images.length; i++)
		{
			ImageGallery.images.item(i).setAttribute('id', ''+ImageGallery.list+i+'');	
		}
	},
	
	getImagesArray: function()
	{
		return document.getElementById(ImageGallery.list).getElementsByTagName('img');
	},
	
	totalImages: function()
	{
		return document.getElementById(ImageGallery.list).getElementsByTagName('img').length;
	},
	
	switchToNextImage: function(image, count)
	{
		$('#'+ImageGallery.list+count).css({ opacity: 0 });
		$('#'+ImageGallery.list+count).animate({ opacity: 1 }, Fade.animationSpeed, function() { });		
	},
	
	toggleImage: function(direction)
	{
		var i;
		var image = document.getElementById(ImageGallery.list).getElementsByTagName('img');
		
		switch(direction)
		{
			case 'next':
				
				//console.log('before '+ImageGallery.count);
				ImageGallery.count++;
				//console.log('after increment '+ImageGallery.count);
				
				for(var i = 0; i < ImageGallery.items; i++)
				{
					if(image.item(i).style.display == 'block')
					{
						image.item(i).style.display = 'none';
					}
					
					if(i == ImageGallery.count)
					{
						image.item(i).style.display = 'block';
						ImageGallery.switchToNextImage(image, i);
					}
					
					else
					{
						image.item(i).style.display = 'none';
					}
					
					if(ImageGallery.count == ImageGallery.items)
					{
						image.item(0).style.display = 'block';
						ImageGallery.switchToNextImage(image, 0);
						ImageGallery.count = 0;
					}
					
				}
			
				break;
				
			case 'previous':
			
				
				if(ImageGallery.count == 0)
					ImageGallery.count = ImageGallery.items - 1;
				else
					ImageGallery.count--;
				
				//console.log('after decrement '+ImageGallery.count);
			
				var i = ImageGallery.items - 1;
				//alert(i);
			
				for(i; i >= 0; i--)
				{
					if(image.item(i).style.display == 'block')
					{
						image.item(i).style.display = 'none';
					}
					
					if(i == ImageGallery.count)
					{
						image.item(i).style.display = 'block';
						ImageGallery.switchToNextImage(image, i);
					}
				}

				//console.log(ImageGallery.count);
			
				break;
		}
		
	}
} //end ImageGallery Object


var Fade = 
{
	//properties
	speed: 3000, //in milliseconds
	animationSpeed: 800,
	list: 'welcome-images', //id where images are located
	items: 0, //default
	count: 0,
	images: null //default
	
	//methods
	
} //end Fade object

function addIdsToImages()
{	
	for(i = 0; i < Fade.images.length; i++)
	{
		Fade.images.item(i).setAttribute('id', 'welcome'+i+'');
		$('#welcome'+i).css({ opacity: 0 });
	}
	
	$('#welcome0').css({ opacity: 1 });
}

function getImagesArray()
{
	return document.getElementById(Fade.list).getElementsByTagName('img');
}

function totalScreenShots()
{
	return document.getElementById(Fade.list).getElementsByTagName('img').length;
}

function swapSiteText(image, count)
{
	$('#welcome'+count).css({ opacity: 0, display:'block'});
	$('#welcome'+(count - 1)).css({ opacity: 1 });
	
	$('#welcome'+count).animate({ opacity: 1 }, Fade.animationSpeed, function() { });
	$('#welcome'+(count - 1)).animate({ opacity: 0 }, Fade.animationSpeed, function() { });

}


function swapImage()
{
	var i;
	var image = document.getElementById(Fade.list).getElementsByTagName('img');
	
	Fade.count+= 1;
	
	if(Fade.count == Fade.items)
	{
		//image.item(0).style.display = 'block';
		swapSiteText(image, Fade.count);
		Fade.count = 0;
	}
	
	swapSiteText(image, Fade.count);
	//console.log(Fade.count);
}
