/**
 * Page controller for www.xtive.nl frontpage template
 *
 * @author	Damien Overeem <dovereem@icit.nl>
 */
var PageController = new Class({
	
	/**
	 * Casestudies texts
	 * @var object
	 */
	caseStudies:	{},
	
	/**
	 * Casestudies html elements
	 */
	caseStudiesNextButton:		null,
	caseStudiesPreviousButton:	null,
	caseStudiesTitle: 			null,
	caseStudiesSubTitle: 		null,
	caseStudiesUrl: 			null,
	caseStudiesMoreInfo: 		null,
	caseStudiesLogo: 			null,		
	
	
	/**
	 * Currently displayed case study
	 * @var int
	 */
	currentCaseStudy:	1,
	
	/**
	 * Constructor
	 */
	initialize:	function(caseStudies) {
	
		this.caseStudies = caseStudies;
		
		// Setup the case studies box
		this.setupCaseStudiesBox();
	
	
	},

	/**
	 * Sets up the case studies box
	 */
	setupCaseStudiesBox: function() {
		
		this.caseStudiesNextButton		=	document.id('caseStudiesNext');
		this.caseStudiesPreviousButton	= 	document.id('caseStudiesPrevious');
		this.caseStudiesTitle 			= document.id('caseStudiesTitle');
		this.caseStudiesSubTitle 		= document.id('caseStudiesSubTitle');
		this.caseStudiesUrl 			= document.id('caseStudiesUrl');
		this.caseStudiesMoreInfo 		= document.id('caseStudiesMoreInfo');
		this.caseStudiesLogo 			= document.id('caseStudiesLogo');		

		this.caseStudiesPreviousButton.setStyle('color', '#d5d5d5');
		
		this.caseStudiesNextButton.addEvent('click', function(event) {
			event.stop();
			if ( typeof(this.caseStudies[this.currentCaseStudy+1]) !== "undefined" ) {
				this.showCaseStudy(this.currentCaseStudy+1);
			} 
		}.bind(this));
		
		this.caseStudiesPreviousButton.addEvent('click', function(event) {
			event.stop();
			if ( typeof(this.caseStudies[this.currentCaseStudy-1]) !== "undefined" ) {
				this.showCaseStudy(this.currentCaseStudy-1);
			} 
		}.bind(this));		
		
	},
	
	/**
	 * Shows a specific caseStudy
	 * 
	 * @param	int	caseStudyId
	 */
	showCaseStudy: function(caseStudyId) {
		
		var caseStudy = this.caseStudies[caseStudyId];
		
		// Set title and subtitle
		this.caseStudiesTitle.set('html', caseStudy.title);
		this.caseStudiesSubTitle.set('html', caseStudy.subtitle);
		
		// Set links
		this.caseStudiesMoreInfo.set('href', caseStudy.moreInfo);
		this.caseStudiesUrl.set('html', caseStudy.urllabel);
		this.caseStudiesUrl.set('href', caseStudy.url);
		
		// Set logo
		if ( caseStudy.logo ) {
			this.caseStudiesLogo.set('html','<a href="' + caseStudy.url + '"><img src="' + caseStudy.logo + '" /></a>');
		} else {
			this.caseStudiesLogo.set('html', '');
		}
		
		this.currentCaseStudy = caseStudyId;
		
		// Indicate availability of the "next" button
		if ( typeof(this.caseStudies[this.currentCaseStudy+1]) == "undefined" ) {
			this.caseStudiesNextButton.setStyle('color', '#d5d5d5');
		} else {
			this.caseStudiesNextButton.setStyle('color', '#686868');
		}
			
		// Indicate availability of the "next" button
		if ( this.currentCaseStudy > 1 ) {
			this.caseStudiesPreviousButton.setStyle('color', '#686868');
		} else {
			this.caseStudiesPreviousButton.setStyle('color', '#d5d5d5');
		}
	
	}
		
});
