var Slide = function(id, label, text, on, off) {
	this.id = id;
	this.label = label;
	this.text = text;
	this.on = on;
	this.off = off;
}

aSlides = new Array();
aSlides[0] = new Slide('ibm', 'IBM', 'GlobalDoc developed an automation and content management compatible system that drives consistent project management and allowed uninterrupted productivity during development.', 'ibm_on.jpg', 'ibm_off.jpg');
aSlides[1] = new Slide('lenovo', 'Lenovo', 'We helped position the first major translation support infrastructure for Lenovo\'s corporate marketing communications "Hub" in Bangalore, India to ensure timely, consistent messaging.', 'lenovo_on.jpg', 'lenovo_off.jpg');
aSlides[2] = new Slide('ricoh', 'Ricoh/InfoPrint', 'GlobalDoc facilitated a cost effective, timeline-driven translation service proposal and corporate-wide rebranding effort that has positive impact on any culture, in any language.', 'ricoh_on.jpg', 'ricoh_off.jpg');
aSlides[3] = new Slide('xerox', 'Xerox', 'We developed a customized translation process whereby Xerox can communicate with their employees and business partners worldwide with assured localization and project management/QA.', 'xerox_on.jpg', 'xerox_off.jpg');

var iSlide = 0;
var fx;
var fx2;
var swapping = false;
var timer;

var initSlideshow = function() {
	var aImages = new Array();
	aSlides.each(
		function(e) {
			aImages.include('/images/case_studies/' + e.on);
			aImages.include('/images/case_studies/' + e.off);
		}
	);
	var preload = new Asset.images(aImages, {
		onComplete: function() {
			$('CaseStudies').addEvent('mouseenter', slideEnter).addEvent('mouseleave', slideLeave).addEvent('click', slideClick);
			timer = next.periodical(5000);
		}
	});
}

var next = function() {
	if(iSlide < aSlides.length - 1) {
		iSlide++;
	} else {
		iSlide = 0;
	}
	swap();
}

var slideEnter = function(e) {
	if(swapping) return false;
	e = $(e.target);
	if(e.tagName == 'H1') e = e.parentNode;
	if(e) {
		e.setStyle('background-image', 'url(' + '/images/case_studies/' + aSlides[iSlide].on + ')');
	}
}

var slideLeave = function(e) {
	if(swapping) return false;
	e = $(e.target);
	if(e.tagName == 'H1') e = e.parentNode;
	if(e) {
		e.setStyle('background-image', 'url(' + '/images/case_studies/' + aSlides[iSlide].off + ')');
	}
}

var slideClick = function(e) {
	document.location = '/' + aSlides[iSlide].id + '.php';
} 

var swap = function() {
	if(swapping) return;
	swapping = true;
	
	var e = $('CaseStudies');
	var e2 = e.clone().cloneEvents(e);
	e2.id = 'CaseStudies2';
	slideOn = '/images/case_studies/' + aSlides[iSlide].on;
	slideOff = '/images/case_studies/' + aSlides[iSlide].off;
	
	if(Browser.Engine.trident) {
		e2.setStyles({
			'display': 'none',
			'background-image': 'url(' + slideOff + ')'
		});
		e2.innerHTML = '<h1>Case Studies</h1>' + aSlides[iSlide].text;
		e2.inject(e, 'after');
		
		e.setStyle('display', 'none');
		e2.setStyle('display', '');
		e.destroy();
		e2.id = 'CaseStudies';
		swapping = false;
	} else {
		e2.setStyles({
			'opacity': 0,
			'background-image': 'url(' + slideOff + ')'
		});
		e2.innerHTML = '<h1>Case Studies</h1>' + aSlides[iSlide].text;
		e2.inject(e, 'after');
		
		fx = new Fx.Tween(e, {
			duration: 2000
		});
		
		fx2 = new Fx.Tween(e2, {
			duration: 1000,
			onComplete: function() {
				e.destroy();
				e2.id = 'CaseStudies';
				swapping = false;
			}
		});
		
		fx.start('opacity', 1, 0);
		fx2.start('opacity', 0, 1);
	}
}

window.addEvent('domready', initSlideshow);
