	var timer = null;
	var effect = 0.25; //seconds for animation cycle
	var project_img_dir = null;
	var project_imgs = new Array();

	function updateProfile(cont, id, callback) {
		var url = '/' + cont + '/view_ajax/' + id;
		new Ajax.Request(url, {
			method: 'get',
				onSuccess: function(transport) {
					callback(transport.responseText);
				},
				onFailure: function() {
					location.href = cont + '/view/' + id;
				}
		});
	}

	
	function updateMarket(data) {
		var now = new Date().getTime();
		var diff = now - timer;
		var eff = effect * 1000;
		var delay = eff - diff;
		if (delay < 0) {
			delay = 0;
		}
		var market = data.evalJSON();
		window.setTimeout(function(){
					$('market_img').src = '/' + market.image;
					$('market_img').alt = market.main_label;
					$('market_main_label').innerHTML = market.main_label;
					$('market_secondary_label').innerHTML = market.secondary_label;
					$('market_blurb').innerHTML = market.blurb;
					if (market.profile_left != null) {
						$('profile_left').innerHTML = market.profile_left;
					} else {
						$('profile_left').innerHTML = '';
					}
					
					$('market_next').href = '/markets/view/' + market.next;
					$('market_next').onclick = function() {
						loadMarket(market.next);
						return false;
					}; 
					
					$('market_prev').href = '/markets/view/' + market.prev;
					$('market_prev').onclick = function() {
						loadMarket(market.prev);
						return false;
					}; 

					$('market_img').appear({duration:effect, delay:0.25});
					$('market_labels').appear({duration:effect, delay:0.25});
					$('market_blurb').appear({duration:effect, delay:0.25});
					$('profile_left').appear({duration:effect, delay:0.25});
				}, delay
		);
	}

	function loadMarket(id) {
		timer = new Date().getTime();
		
		updateProfile('markets', id, updateMarket);

		$('market_img').fade({duration:effect});
		$('market_labels').fade({duration:effect});
		$('market_blurb').fade({duration:effect});
		$('profile_left').fade({duration:effect});
	}
	
	
	function updateService(data) {
		var now = new Date().getTime();
		var diff = now - timer;
		var eff = effect * 1000;
		var delay = eff - diff;
		if (delay < 0) {
			delay = 0;
		}
		var service = data.evalJSON();
		window.setTimeout(function(){
					$('service_img').src = '/' + service.image;
					$('service_img').alt = service.main_label;
					$('service_main_label').innerHTML = service.main_label;
					$('service_secondary_label').innerHTML = service.secondary_label;
					$('service_blurb').innerHTML = service.blurb;
					if (service.profile_left != null) {
						$('profile_left').innerHTML = service.profile_left;
					} else {
						$('profile_left').innerHTML = '';
					}
					
					$('service_next').href = '/services/view/' + service.next;
					$('service_next').onclick = function() {
						loadService(service.next);
						return false;
					}; 
					
					$('service_prev').href = '/services/view/' + service.prev;
					$('service_prev').onclick = function() {
						loadService(service.prev);
						return false;
					}; 

					$('service_img').appear({duration:effect, delay:0.25});
					$('service_labels').appear({duration:effect, delay:0.25});
					$('service_blurb').appear({duration:effect, delay:0.25});
					$('profile_left').appear({duration:effect, delay:0.25});
				}, delay
		);
	}

	function loadService(id) {
		timer = new Date().getTime();
		
		updateProfile('services', id, updateService);

		$('service_img').fade({duration:effect});
		$('service_labels').fade({duration:effect});
		$('service_blurb').fade({duration:effect});
		$('profile_left').fade({duration:effect});
	}

	
	
	function updatePeople(data) {
		var now = new Date().getTime();
		var diff = now - timer;
		var eff = effect * 1000;
		var delay = eff - diff;
		if (delay < 0) {
			delay = 0;
		}
		var people = data.evalJSON();
		window.setTimeout(function(){
					$('people_img').innerHTML = people.image;
					$('people_main_label').innerHTML = people.main_label;
					$('people_blurb').innerHTML = people.blurb;
					if (people.profile_left != null) {
						$('profile_left').innerHTML = people.profile_left;
					} else {
						$('profile_left').innerHTML = '';
					}
					
					$('people_next').href = '/people/' + people.next;
					$('people_next').onclick = function() {
						loadPeople(people.next);
						return false;
					}; 
					
					$('people_prev').href = '/people/' + people.prev;
					$('people_prev').onclick = function() {
						loadPeople(people.prev);
						return false;
					}; 
					sIFR.replaceElement("h3", named({sFlashSrc: "/flash/helvetica_45_light.swf", sColor: "#939598", sBgColor: "#FFFFFF", sWmode: "transparent", sFlashVars: "textalign=left"}));
					$('people_img').appear({duration:effect, delay:0.25});
					$('people_main_label').appear({duration:effect, delay:0.25});
					$('people_blurb').appear({duration:effect, delay:0.25});
					$('profile_left').appear({duration:effect, delay:0.25});
				}, delay
		);
	}

	function loadPeople(page) {
		
		timer = new Date().getTime();
		
		updateProfile('people', page, updatePeople);

		$('people_img').fade({duration:effect});
		$('people_main_label').fade({duration:effect});
		$('people_blurb').fade({duration:effect});
		$('profile_left').fade({duration:effect});
	}
	
	
	function updateProject(data) {
		var now = new Date().getTime();
		var diff = now - timer;
		var eff = effect * 1000;
		var delay = eff - diff;
		if (delay < 0) {
			delay = 0;
		}
		var project = data.evalJSON();
		window.setTimeout(function(){
					$('project_main_label').innerHTML = project.main_label;
					$('project_secondary_label').innerHTML = project.secondary_label;
					$('project_heading').innerHTML = project.heading;
					$('project_location').innerHTML = project.location;
					$('project_blurb').innerHTML = project.blurb;
					//$('project_thumbnails').innerHTML = project.blurb;
					$('project_map').src = "/"+project.map;
					if (project.profile_left != null) {
						$('profile_left').innerHTML = project.profile_left;
					} else {
						$('profile_left').innerHTML = '';
					}
					
					initProjectImgs(project.image_dir, project.images);
					loadProjectImage(0);
					$('project_thumbnails').innerHTML = '';
					for (var i = 0; i < project_imgs.length; i++) {
						var thumbnail = null;
						var div = null;
						div = document.createElement('div');
						div.style.display = 'none';
						thumbnail = new Image(60, 60); 
						thumbnail.src = "/"+project_img_dir+"/thumbnails/"+project_imgs[i]; 
						thumbnail.setAttribute('id', 'project_thumb_'+i);
						thumbnail.onclick = function() {
							var id = this.id;
							id = id.replace('project_thumb_', '');
							loadProjectImage(id);
						}
						thumbnail.onmouseover = function() {
							hover(this);
						}
						thumbnail.onmouseout = function() {
							unhover(this);
						}
						div.appendChild(thumbnail);
						$('project_thumbnails').appendChild(div);
						//div.appear({duration:effect, delay:(0.25+(i/20))});
						new Effect.Appear(div, {duration:effect, delay:(0.25+(i/20))});
					}
					
					$('project_next').href = '/projects/profile/' + project.next;
					$('project_next').onclick = function() {
						loadProject(project.next);
						return false;
					}; 
					
					$('project_prev').href = '/projects/profile/' + project.prev;
					$('project_prev').onclick = function() {
						loadProject(project.prev);
						return false;
					}; 

					
					$('project_main_label').appear({duration:effect, delay:0.25});
					$('project_secondary_label').appear({duration:effect, delay:0.25});
					$('project_labels').appear({duration:effect, delay:0.25});
					$('project_thumbnails').appear({duration:effect, delay:0.25});
					$('profile_left').appear({duration:effect, delay:0.25});
					$('profile_right').appear({duration:effect, delay:0.25});
				}, delay
		);
	}

	function loadProject(id) {
		timer = new Date().getTime();
		
		updateProfile('projects', id, updateProject);

		$('project_img').fade({duration:effect});
		$('project_labels').fade({duration:effect});
		$('project_thumbnails').fade({duration:effect});
		$('profile_left').fade({duration:effect});
		$('profile_right').fade({duration:effect});
	}
	
	function initProjectImgs(dir, imgs) {
		project_img_dir = '';
		project_imgs = null;
		project_img_dir = dir;
		project_imgs = imgs;
		for (var i = 0; i < project_imgs.length; i++) {
			preload = new Image(456, 230); 
			preload.src = "/"+project_img_dir+"/"+project_imgs[i]; 

		}
	}
	
	function preloadImage(img) {
		preload = new Image(456, 230); 
		preload.src = img; 
	}

	function preloadImages(imgs) {
		for (var i = 0; i < imgs.length; i++) {
			preload = new Image(456, 230); 
			preload.src = imgs[i];
		}
	}
	
	
	function loadProjectImage(index) {
		$('project_img').fade({duration:effect});
		window.setTimeout(function(){
					$('project_img').src = "/"+project_img_dir+"/"+project_imgs[index];
					$('project_img').appear({duration:effect, delay:0.25});
				}, (effect*1000)
		);
	}

	
	function teamHover(elem, id) {
		hover(elem);
		$(id).appear({duration:effect});
	}
	
	function teamunHover(elem, id) {
		unhover(elem);
		$(id).fade({duration:effect});
	}
	
	function hover(elem) {
		//elem.fade({duration:0.25, to:0.7, from:1.0});
		new Effect.Fade(elem, {duration:0.25, to:0.7, from:1.0})
	}

	function unhover(elem) {
		//elem.appear({delay:0.15, duration:0.5, from:0.7, to:1.0});
		new Effect.Appear(elem, {delay:0.15, duration:0.5, from:0.7, to:1.0})
	}
	
	
	
	function updateNews(data) {
		var now = new Date().getTime();
		var diff = now - timer;
		var eff = effect * 1000;
		var delay = eff - diff;
		if (delay < 0) {
			delay = 0;
		}
		var news = data.evalJSON();
		window.setTimeout(function(){
					$('news_img').src = '/' + news.image;
					$('news_main_label').innerHTML = news.title;
					$('news_blurb').innerHTML = news.blurb;
					if (news.profile_left != null) {
						$('profile_left').innerHTML = news.profile_left;
					} else {
						$('profile_left').innerHTML = '';
					}
					
					$('news_next').href = '/spotlight/news/' + news.next;
					$('news_next').onclick = function() {
						loadNews(news.next);
						return false;
					}; 
					
					$('news_prev').href = '/spotlight/news/' + news.prev;
					$('news_prev').onclick = function() {
						loadNews(news.prev);
						return false;
					}; 
					sIFR.replaceElement("h3", named({sFlashSrc: "/flash/helvetica_45_light.swf", sColor: "#939598", sBgColor: "#FFFFFF", sWmode: "transparent", sFlashVars: "textalign=left"}));
					$('news_img').appear({duration:effect, delay:0.25});
					$('news_main_label').appear({duration:effect, delay:0.25});
					$('news_blurb').appear({duration:effect, delay:0.25});
					$('profile_left').appear({duration:effect, delay:0.25});
				}, delay
		);
	}

	function loadNews(id) {
		timer = new Date().getTime();
		
		updateProfile('spotlight', id+'/news', updateNews);

		$('news_img').fade({duration:effect});
		$('news_main_label').fade({duration:effect});
		$('news_blurb').fade({duration:effect});
		$('profile_left').fade({duration:effect});
	}

	function loadAward(id) {
		timer = new Date().getTime();
		
		updateProfile('spotlight', id+'/awards', updateAward);

		$('award_img').fade({duration:effect});
		$('award_main_label').fade({duration:effect});
		$('award_blurb').fade({duration:effect});
		$('profile_left').fade({duration:effect});
	}

	function updateAward(data) {
		var now = new Date().getTime();
		var diff = now - timer;
		var eff = effect * 1000;
		var delay = eff - diff;
		if (delay < 0) {
			delay = 0;
		}
		var award = data.evalJSON();
		window.setTimeout(function(){
					$('award_img').src = '/' + award.image;
					var title = award.title;
					if (award.location != null && award.location != 'undefined') {
						title = title + ', <br />' + award.location;
					}
					$('award_main_label').innerHTML = award.title;
					$('award_blurb').innerHTML = award.blurb;
					if (award.profile_left != null) {
						$('profile_left').innerHTML = award.profile_left;
					} else {
						$('profile_left').innerHTML = '';
					}
					
					$('award_next').href = '/spotlight/awards/' + award.next;
					$('award_next').onclick = function() {
						loadAward(award.next);
						return false;
					}; 
					
					$('award_prev').href = '/spotlight/awards/' + award.prev;
					$('award_prev').onclick = function() {
						loadAward(award.prev);
						return false;
					}; 
					$('award_img').appear({duration:effect, delay:0.25});
					$('award_main_label').appear({duration:effect, delay:0.25});
					$('award_blurb').appear({duration:effect, delay:0.25});
					$('profile_left').appear({duration:effect, delay:0.25});
				}, delay
		);
	}
	
	function toggleInsight(dir) {
		switch (dir) {
			case 'down':
				new Effect.SlideDown('insight_dropdown', {duration:0.25});
				break;
			case 'up':
				new Effect.SlideUp('insight_dropdown', {duration:0.25});
				break;
		}
	}
	