var TeamMembers = {
	start: function(){
		TeamMembers.parse();
	},
	parse: function(){
		var teammembers = $$('div#teammembers div.teammember');
		teammembers.each(function(member, i){

			var readmorecontent = member.getElement('div.readmorecontent');
			readmorecontent.addClass('closed');

			var readmorelink = member.getElement('a.toggle');
			readmorelink.addClass('shown');
			readmorelink.addEvent('click', function(event){
				TeamMembers.toggle(readmorelink, readmorecontent);
			});
		});
	},
	toggle: function(link, el){
		if (link.hasClass('readmorelink')) {
			link.removeClass('readmorelink');
			link.addClass('readlesslink');
			link.set('text', 'Read Less');
			el.addClass('open');
			el.removeClass('closed');
		}
		else if (link.hasClass('readlesslink')) {
			link.addClass('readmorelink');
			link.removeClass('readlesslink');
			link.set('text', 'Read More');
			el.removeClass('open');
			el.addClass('closed');
		}
	}
}


var CaseStudies = {
	'selectedtab': 0,
	'selectedcontent': null,
	start: function(){
		CaseStudies.parse();
	},
	parse: function(){

		var tabs = $$('ul#casestudynav li a');
		var selectedtab = null;
		tabs.each(function(tab, i){
			tab.addEvent('click', function(event){
				var event = new Event(event).stop();
				CaseStudies.switchtab(i);
			});
		});

		var casestudies = $$('div#casestudies div.casestudy');
		casestudies.each(function(cs, i){
			if (i == 0) {
				CaseStudies.selectedcontent = cs.getProperty('id');
				cs.addClass('csopened');
			}
		});

	},
	switchtab: function(index){

		var tabs = $$('ul#casestudynav li a');

		// DESELECT PREVIOUS TAB
		if (CaseStudies.selectedtab != null && CaseStudies.selectedtab != index)
			tabs[CaseStudies.selectedtab].getParent().removeClass('selected');

		// TOGGLE TABS
		if (CaseStudies.selectedtab != index) {
			tabs[index].getParent().addClass('selected');
			CaseStudies.selectedtab = index;
			CaseStudies.switchcontent(tabs[index].getProperty('rel'));
		}
		else if (CaseStudies.selectedtab == index) {
			tabs[index].getParent().removeClass('selected');
			CaseStudies.selectedtab = null;
			CaseStudies.switchcontent(tabs[index].getProperty('rel'));
		}

	},
	switchcontent: function(id){

		// HIDE PREVIOUS CONTENT
		if (CaseStudies.selectedcontent != null && CaseStudies.selectedcontent != id)
			$(CaseStudies.selectedcontent).removeClass('csopened');

		// TOGGLE CONTENT
		if (CaseStudies.selectedcontent != id) {
			$(id).addClass('csopened');
			CaseStudies.selectedcontent = id;
		}
		else if (CaseStudies.selectedcontent == id) {
			$(id).removeClass('csopened');
		}
		
	}
}

var Expander = {
	'selectedtab': null,
	'selectedcontent': null,
	start: function(){
		Expander.parse();
	},
	parse: function(){

		var tabs = $$('div#glancetabs.inlinecontent ul li a');
		var selectedtab = null;
		tabs.each(function(tab, i){
			tab.addEvent('click', function(event){
				var event = new Event(event).stop();
				Expander.switchtab(i);
			});
		});

		var tabopeners = $$('a.opentab');
		tabopeners.each(function(tab, i){
			tab.addEvent('click', function(event){
				var event = new Event(event).stop();
				Expander.switchtab(tab.getProperty('rel'));
			});
		});
		
	},
	switchtab: function(index){

		var tabs = $$('div#glancetabs ul li a');

		// DESELECT PREVIOUS TAB
		if (Expander.selectedtab != null && Expander.selectedtab != index)
			tabs[Expander.selectedtab].getParent().removeClass('selected');

		// TOGGLE TABS
		if (Expander.selectedtab != index) {
			tabs[index].getParent().addClass('selected');
			Expander.selectedtab = index;
			Expander.switchcontent(tabs[index].getProperty('rel'));
		}
		else if (Expander.selectedtab == index) {
			tabs[index].getParent().removeClass('selected');
			Expander.selectedtab = null;
			Expander.switchcontent(tabs[index].getProperty('rel'));
		}

	},
	switchcontent: function(id){

		// HIDE PREVIOUS CONTENT
		if (Expander.selectedcontent != null && Expander.selectedcontent != id)
			$(Expander.selectedcontent).removeClass('selected');

		// TOGGLE CONTENT
		if (Expander.selectedcontent != id) {
			$(id).addClass('selected');
			Expander.selectedcontent = id;
			var newheight = $(id).getHeight();
			Expander.expand(newheight);
		}
		else if (Expander.selectedcontent == id) {
			Expander.expand(0, id);
		}
		
	},
	expand: function(newheight, id){

		// SET UP EXPAND EFFECTS
		var expandfx = new Fx.Morph('glanceexpanded', {
			duration: 500,
			transition:Fx.Transitions.Cubic.easeOut,
			onStart: function(){
				// REMOVE AUTO HEIGHT CLASS
				$('glanceexpanded').removeClass('glanceopened');
			},
			onComplete: function(){
				// ADD AUTO HEIGHT CLASS FOR DYNAMIC COLUMN RESIZING
				if (newheight != 0) {
					$('glanceexpanded').addClass('glanceopened');
					var myFx = new Fx.Scroll(window, {
						duration: 300,
						transition:Fx.Transitions.Cubic.easeOut,
						offset: {
							'y': -17
						}
					}).toElement('glancetabs');
				}
				else if (newheight == 0 && id) {
					$(id).removeClass('selected');
					Expander.selectedcontent = null;
				}
			}
		});

		// OPEN EXPANDED INFO
		expandfx.start({
		    'height': newheight
		});

	}
};

window.addEvent('domready', function() {

	var smoothscroll = new Fx.SmoothScroll({
	    wheelStops: true,
		onComplete: function(){
			if ($('getintouch') && this.anchor == "getintouch") {
				$('getintouch').highlight('#4a908c', '#72b8b4');
			}
		}
	});

//	$(document).addEvent('keydown', function(event){
//		if (event.key == 'g')
//			$('grid').toggleClass('show');
//	});

	// INITIATE CASE STUDY SWITCHER
	CaseStudies.start();

	// INITIATE THE EXPANSION
	Expander.start();

	// INITIATE TEAM MEMBER EXPANSION
	TeamMembers.start();


	// Set up contact form ajax
	if ($('contactform')) {
		$('contactform').addEvent('submit', function(event) {
			event.stop();

			// Update submit button
			$('contactformsubmit').set('value', 'One moment...');
			$('contactformsubmit').addClass('disabled');
			$('contactformsubmit').setProperty('disabled', 'true');
		
			new Request.HTML ({
				url: baseurl,
				method: 'post',
				update: $('contactmessage'),
				onStart: function(){
				},
				onComplete: function() {
					$('contactformsubmit').set('value', 'Submit →');
					$('contactformsubmit').removeClass('disabled');
					$('contactformsubmit').removeProperty('disabled');
					$('contactmessage').highlight('#fff','#72b8b4');
				},
				onSuccess: function(){
					Cufon.refresh();
				},
				onFailure: function(item){
				}
			}).post($('contactform'));
		});
	}

	// Set up contact form ajax
	if ($('demoform')) {
		$('demoform').addEvent('submit', function(event) {
			event.stop();

			// Update submit button
			$('contactformsubmit').set('value', 'One moment...');
			$('contactformsubmit').addClass('disabled');
			$('contactformsubmit').setProperty('disabled', 'true');

			new Request.HTML ({
				url: demourl,
				method: 'post',
				update: $('contactmessage'),
				onStart: function(){
				},
				onComplete: function() {
					$('contactformsubmit').set('value', 'Submit →');
					$('contactformsubmit').removeClass('disabled');
					$('contactformsubmit').removeProperty('disabled');
					$('contactmessage').highlight('#fff','#72b8b4');
				},
				onSuccess: function(){
					Cufon.refresh();
				},
				onFailure: function(item){
				}
			}).post($('demoform'));
		});
	}

	// Open rel="external" links in new tab
	$$('a[rel=external]').addEvent('click', function(event){
		event.stop();
		window.open(this.getProperty('href'));
	});

});

