/*
	Rotate Modifier Script
*/

var rotateGroups = [
	
	// Group 0
	{
		image1: {
			src: 'images/accordion/euro2011/image1.jpg',
			alt: 'Vienna',
			caption: 'Vienna',
			text: 'Fountain beside the Imperial Palace',
			url: 'http://www.facebook.com/media/set/?set=a.10150299108581689.336620.693311688&type=1&l=9b35fb0b6f'
		},
		image2: {
			src: 'images/accordion/euro2011/image2.jpg',
			alt: 'Czech Republic',
			caption: 'Czech Republic',
			text: 'Girl playing inside a castle in Southern Czech Republic.',
			url: 'http://www.facebook.com/media/set/?set=a.10150293612076689.335595.693311688&l=cfebccb2df&type=1'
		},
		image3: {
			src: 'images/accordion/euro2011/image3.jpg',
			alt: 'Saint Petersburg',
			caption: 'Saint Petersburg',
			text: 'The Russian Art Museum holds its own against the Hermitage vast collection.',
			url: 'http://www.facebook.com/media/set/?set=a.10150290324521689.334911.693311688&l=ec2519d8b3&type=1'
		},
		image4: {
			src: 'images/accordion/euro2011/image4.jpg',
			alt: 'Amsterdam',
			caption: 'Amsterdam',
			text: 'Swans at home in one of Amsterdam\'s many canals',
			url: 'http://www.facebook.com/media/set/?set=a.10150286094381689.333929.693311688&type=1&l=070a88eed1'
		}				
	},	
	// Group 1
	{
		image1: {
			src: 'images/accordion/travels/image1.jpg',
			alt: 'Antarctica',
			caption: 'Antarctica',
			text: 'We were fortunate to come across several Humpback whales on a bright, clear beautiful day which enabled me to take some incredible pictures with my old-school Nikon Coolpix 5700.',
			url: 'http://gallery.mac.com/reifman#100008'
		},
		image2: {
			src: 'images/accordion/travels/image2.jpg',
			alt: 'Iceland',
			caption: 'Iceland',
			text: 'some other random information here how are you doing?',
			url: 'http://gallery.mac.com/reifman#100025'
		},
		image3: {
			src: 'images/accordion/travels/image3.jpg',
			alt: 'Czech Republic',
			caption: 'Czech Republic',
			text: 'Prague is a beautiful city and the Charles Bridge provides a great viewpoint for shots like this one.',
			url: 'http://www.facebook.com/media/set/?set=a.10150293612076689.335595.693311688&l=cfebccb2df&type=1'
		},
		image4: {
			src: 'images/accordion/travels/image4.jpg',
			alt: 'Croatia',
			caption: 'Croatia',
			text: 'Plitvice Lake National Park in Croatia is an incredibly scenic (equally touristy) natural treasure.',
			url: 'https://www.facebook.com/media/set/?set=a.10150182727496689.304322.693311688&l=2429861eeb'
		}				
	},	
	// Group 2
	{
		image1: {
			src: 'images/accordion/pacnw/ferry.jpg',
			alt: 'Ferry in the Fog Off Lopez Island',
			caption: 'Lopez Island',
			text: 'In the ferry line leaving Lopez Island.',
			url: 'http://gallery.mac.com/reifman#100045'
		},
		image2: {
			src: 'images/accordion/pacnw/forest.jpg',
			alt: 'Forest Hike in the Cascade Mountains',
			caption: 'Cascade Mountains',
			text: 'Typical forest hike in the Cascades outside Seattle',
			url: 'http://gallery.mac.com/reifman#100045'
		},
		image3: {
			src: 'images/accordion/pacnw/snowboarder.jpg',
			alt: 'Burton Snowboarder at Mount Hood',
			caption: 'Mount Hood',
			text: 'An unknown Burton snowboarder jumping at Mount Hood in the summer.',
			url: 'http://gallery.mac.com/reifman#100045'
		},
		image4: {
			src: 'images/accordion/pacnw/sunset.jpg',
			alt: 'Oregon coast sunset',
			caption: 'Oregon Coast',
			text: 'Sunset on the Oregon Coast',
			url: 'http://gallery.mac.com/reifman#100045'
		}				
	},		
	// Group 3
	{
		image1: {
			src: 'images/accordion/rome/coliseum.jpg',
			alt: 'Roman Coliseum',
			caption: 'The Coliseum',
			text: 'Caught constantly in sun and shadow',
			url: 'http://gallery.mac.com/reifman#100068'
		},
		image2: {
			src: 'images/accordion/rome/treviftn.jpg',
			alt: 'Trevi Fountain at night',
			caption: 'Trevi Fountain',
			text: 'Slowing things down at the fountain at night',
			url: 'http://gallery.mac.com/reifman#100068'
		},
		image3: {
			src: 'images/accordion/rome/pantheon.jpg',
			alt: 'Pantheon in Rome',
			caption: 'The Pantheon',
			text: 'In front of the Pantheon at night',
			url: 'http://gallery.mac.com/reifman#100068'
		},
		image4: {
			src: 'images/accordion/rome/vatican.jpg',
			alt: 'Saint Peter\'s Square',
			caption: 'Saint Peter\'s Square',
			text: 'Eerie empty setup outside the Vatican',
			url: 'http://gallery.mac.com/reifman#100068'
		}				
	},		
	// Group 4
	{
		image1: {
			src: 'images/accordion/street/goldengardens.jpg',
			alt: 'Girl and kiteboarder at Golden Gardens',
			caption: 'Golden Gardens',
			text: 'One of my favorite shots, always evokes dreaming',
			url: 'http://gallery.mac.com/reifman'
		},
		image2: {
			src: 'images/accordion/street/westlake.jpg',
			alt: 'Girls on the night of Obama\'s election',
			caption: 'Westlake Center',
			text: 'Excited girls nearing Obama\'s 2008 election victory',
			url: 'http://gallery.mac.com/reifman'
		},
		image3: {
			src: 'images/accordion/street/pikeplace.jpg',
			alt: 'Man in pike place market',
			caption: 'Pike Place Market',
			text: 'Anonymous man walking',
			url: 'http://gallery.mac.com/reifman'
		},
		image4: {
			src: 'images/accordion/street/pikeplace-dog.jpg',
			alt: 'beautiful dog with crystal eyes',
			caption: 'Pike Place Market',
			text: 'Dog with crystal eyes in the market',
			url: 'http://gallery.mac.com/reifman'
		}				
	},	
	// Group 5
	{
		image1: {
			src: 'images/accordion/peru/mp.jpg',
			alt: 'macchu picchu at sunrise',
			caption: 'Macchu Picchu',
			text: 'At sunrise',
			url: 'http://gallery.mac.com/reifman#100078'
		},
		image2: {
			src: 'images/accordion/peru/cusco.jpg',
			alt: 'Cusco at night',
			caption: 'Cusco',
			text: 'At night',
			url: 'http://gallery.mac.com/reifman#100078'
		},
		image3: {
			src: 'images/accordion/peru/montero.jpg',
			alt: 'village kids in Montero, Peru',
			caption: 'Montero',
			text: 'village children in rural Peru',
			url: 'http://gallery.mac.com/reifman#100078'
		},
		image4: {
			src: 'images/accordion/peru/moonshine.jpg',
			alt: 'making moonshine in peru',
			caption: 'Above Montero',
			text: 'Before fair trade more families made moonshine from sugarcane',
			url: 'http://gallery.mac.com/reifman#100078'
		}				
	},	
	// Group 6
	{
		image1: {
			src: 'images/accordion/croatia/rafting.jpg',
			alt: 'near the Zrmanja and Krupa Rivers in Croatia',
			caption: 'The Krupa River',
			text: 'Rafting in the rain in Croatia',
			url: 'https://www.facebook.com/media/set/?set=a.10150182727496689.304322.693311688&l=2429861eeb'
		},
		image2: {
			src: 'images/accordion/croatia/sunset.jpg',
			alt: 'Sunset at Novigrad in Croatia',
			caption: 'Novigrad',
			text: 'Sunset',
			url: 'https://www.facebook.com/media/set/?set=a.10150182727496689.304322.693311688&l=2429861eeb'
		},
		image3: {
			src: 'images/accordion/croatia/mantis.jpg',
			alt: 'praying mantis in Paklenica National Park Croatia',
			caption: 'Paklenica National Park',
			text: 'Male praying mantis',
			url: 'https://www.facebook.com/media/set/?set=a.10150182727496689.304322.693311688&l=2429861eeb'
		},
		image4: {
			src: 'images/accordion/croatia/kayak.jpg',
			alt: 'kayaking in the adriatic sea off vrgada, croatia',
			caption: 'The Adriatic Sea',
			text: 'The crystal waters off Vrgada',
			url: 'https://www.facebook.com/media/set/?set=a.10150182727496689.304322.693311688&l=2429861eeb'
		}				
	},	
	// Group 7
	{
		image1: {
			src: 'images/accordion/hermitage/hermitage.jpg',
			alt: 'The Winter Palace, Saint Petersburg, Russia',
			caption: 'The Winter Palace',
			text: 'Outside The Hermitage',
			url: 'http://www.facebook.com/media/set/?set=a.10150300176881689.336837.693311688&type=1&l=f6f258ab54'
		},
		image2: {
			src: 'images/accordion/hermitage/picasso.jpg',
			alt: 'Friendship, Picasso, in the Hermitage, Saint Petersburg, Russia',
			caption: 'Picasso',
			text: 'Friendship, The Hermitage',
			url: 'http://www.facebook.com/media/set/?set=a.10150300176881689.336837.693311688&type=1&l=f6f258ab54'
		},
		image3: {
			src: 'images/accordion/hermitage/dance.jpg',
			alt: 'Dance Matisse in the Hermitage, Saint Petersburg, Russia',
			caption: 'Matisse',
			text: 'Dance, The Hermitage',
			url: 'http://www.facebook.com/media/set/?set=a.10150300176881689.336837.693311688&type=1&l=f6f258ab54'
		},
		image4: {
			src: 'images/accordion/hermitage/rembrandt.jpg',
			alt: 'in the Hermitage, Saint Petersburg, Russia',
			caption: 'Rembrandt',
			text: 'The Hermitage',
			url: 'http://www.facebook.com/media/set/?set=a.10150300176881689.336837.693311688&type=1&l=f6f258ab54'
		}				
	},
	// Group 8
	{
		image1: {
			src: 'images/accordion/russianartmuseum/russian1.jpg',
			alt: 'The Russian Art Museum, Saint Petersburg, Russia',
			caption: 'The Russian Art Museum',
			text: '',
			url: 'http://www.facebook.com/media/set/?set=a.10150283532056689.333262.693311688&type=1&l=5f9a588752'
		},
		image2: {
			src: 'images/accordion/russianartmuseum/russian2.jpg',
			alt: 'The Russian Art Museum, Saint Petersburg, Russia',
			caption: 'The Russian Art Museum',
			text: '',
			url: 'http://www.facebook.com/media/set/?set=a.10150283532056689.333262.693311688&type=1&l=5f9a588752'
		},
		image3: {
			src: 'images/accordion/russianartmuseum/russian3.jpg',
			alt: 'The Russian Art Museum, Saint Petersburg, Russia',
			caption: 'The Russian Art Museum',
			text: '',
			url: 'http://www.facebook.com/media/set/?set=a.10150283532056689.333262.693311688&type=1&l=5f9a588752'
		},
		image4: {
			src: 'images/accordion/russianartmuseum/russian4.jpg',
			alt: 'The Russian Art Museum, Saint Petersburg, Russia',
			caption: 'The Russian Art Museum',
			text: '',
			url: 'http://www.facebook.com/media/set/?set=a.10150283532056689.333262.693311688&type=1&l=5f9a588752'
		}				
	},
	// Group 9
	{
		image1: {
			src: 'images/accordion/antarctica/image1.jpg',
			alt: 'Humpback whales in Antarctica',
			caption: 'Antarctica',
			text: 'We were fortunate to come across several Humpback whales on a bright, clear beautiful day which enabled me to take some incredible pictures with my old-school Nikon Coolpix 5700.',
			url: 'http://gallery.mac.com/reifman#100008'
		},
		image2: {
			src: 'images/accordion/antarctica/image2.jpg',
			alt: 'Humpback whales in Antarctica',
			caption: 'Humpback Whale',
			text: 'We were fortunate to come across several Humpback whales on a bright, clear beautiful day which enabled me to take some incredible pictures with my old-school Nikon Coolpix 5700.',
			url: 'http://gallery.mac.com/reifman#100008'
		},
		image3: {
			src: 'images/accordion/antarctica/penguins.jpg',
			alt: 'Baby Penguins in Antarctica',
			caption: 'Baby Penguins',
			text: 'Two baby Gentoo Penguins in Antarctica',
			url: 'http://gallery.mac.com/reifman#100008'
		},
		image4: {
			src: 'images/accordion/antarctica/seal.jpg',
			alt: 'Leopard seal on the ice in Antarctica',
			caption: 'Leopard Seal',
			text: 'A leopard seal relaxes on the ice in Antarctica',
			url: 'http://gallery.mac.com/reifman#100008'
		}
	},
];

var rotateInterval = 3000;
var rotateTime; // Timing Variable
var currentGroup = 0;
var rotateActive = false;
var recentGroups = [];

$(document).ready(function(){
	rotateInitial();
	
	// Set Timing Events
	$('#mainpage .kwicks').mouseenter(function(){
		if(rotateActive)
		{
			rotateQuickSet();
		}
		clearTimeout(rotateTime);
	}).mouseleave(function(){
		rotateTime = setTimeout("rotateUpdateImages()", rotateInterval);
	});	
	
	rotateTime = setTimeout("rotateUpdateImages()", rotateInterval); 
});


/* Update */
var imagesLoaded;
var imagesTime;
function rotateUpdateImages()
{
	// Generate Random Group ID (Ensure its different group)
	var groupId = Math.floor(Math.random() * rotateGroups.length);	
	if(rotateGroups.length > 1)
	{
		if(recentGroups.length == rotateGroups.length)
		{
			recentGroups = [];
		}	
		while(groupId == currentGroup || jQuery.inArray(groupId, recentGroups) > 0){
			groupId = Math.floor(Math.random() * rotateGroups.length);
		}
		recentGroups.push(groupId);
	}
	
	// Load Images
	imagesLoaded = 0;
	var imgs = [];
	
	for(var i = 1; i <=4; i++)
	{
		imgs[i] = new Image();
		imgs[i].onload = function(){ imagesLoaded++ }
		imgs[i].src = rotateGroups[groupId][('image' + i.toString())].src;
	}

	currentGroup = groupId; // Store current group
	
	// Wait for all images to be loaded
	imagesTime = setInterval("rotateCheckImages()", 50);
}

function rotateCheckImages()
{
	if(imagesLoaded == 4)
	{
		// Disable Interval
		clearInterval(imagesTime);
		
		var delay = 0;
		
		rotateActive = true;
		
		$.each([1, 2, 3, 4], function(i, val)
		{	
			var groupInfo = rotateGroups[currentGroup][('image' + val.toString())];
			var div = '#kwickblock' + val.toString();
		
			$(div).animate({opacity: 1},delay).animate({
				opacity: 0,	
			}, 400, function(){
				// Update Image
				$((div + ' a')).attr("href", groupInfo.url);
				$((div + ' .slideimage')).attr("src", groupInfo.src).attr("alt", groupInfo.alt);
				$((div + ' .slide-minicaptiontitle')).text(groupInfo.caption);
				$((div + ' .slidecaption a')).text(groupInfo.text);
				$((div + ' .slidecaptiontitle a')).text(groupInfo.caption);	
				
				$(this).animate({
					opacity: 1,
				}, 400, function(){
					if(val == 4)
					{
						rotateActive = false;
						rotateTime = setTimeout("rotateUpdateImages()", rotateInterval);
					}
				});		
			});
		
			delay += 200;
		});			
	}
}

function rotateQuickSet()
{
	$.each([1, 2, 3, 4], function(i, val)
	{	
		var groupInfo = rotateGroups[currentGroup][('image' + val.toString())];
		var div = '#kwickblock' + val.toString();
	
		$(div).css('opacity', 1);	
		$((div + ' a')).attr("href", groupInfo.url);		
		$((div + ' .slideimage')).attr("src", groupInfo.src).attr("alt", groupInfo.alt);
		$((div + ' .slide-minicaptiontitle')).text(groupInfo.caption);
		$((div + ' .slidecaption a')).text(groupInfo.text);
		$((div + ' .slidecaptiontitle a')).text(groupInfo.caption);	
		
		rotateActive = false;
	});	
}

/* For Initial Page Load */
function rotateInitial()
{
	currentGroup = Math.floor(Math.random() * rotateGroups.length);
	recentGroups.push(currentGroup);
	$.each([1, 2, 3, 4], function(i, val)
	{	
		var groupInfo = rotateGroups[currentGroup][('image' + val.toString())];
		var div = '#kwickblock' + val.toString();	
		$((div + ' a')).attr("href", groupInfo.url);
		$((div + ' .slideimage')).attr("src", groupInfo.src).attr("alt", groupInfo.alt);
		$((div + ' .slide-minicaptiontitle')).text(groupInfo.caption);
		$((div + ' .slidecaption a')).text(groupInfo.text);
		$((div + ' .slidecaptiontitle a')).text(groupInfo.caption);	
	});	
}
