			var projects = new Array();
			
			proj = projects[0] = new Array();
			proj['title'] = "Top Golf The Game";
			proj['mainImage'] = "topGolf_main.jpg";
			proj['smallImage'] = "topGolf_small.jpg";
			proj['description'] = "Complete flash golf game. Users can play 4 different characters with different stats, and 4 different locations (expandable later). Scoring system based on distance and accuracy. Power, Accuracy, and Wind affect game play. Users can control sound track (editable by client). An 'offer slide' is configurable by the client so that they can rotate offers/specials/promotions at any time. High score board as well as analytics. Oh and hours of addicting play.";
			proj['imageCount'] = 13;
			proj['subImage'] = "topGolf_";
			proj['url'] = "http://www.topgolfthegame.com/";
		
			proj = projects[1] = new Array();
			proj['title'] = "Pyromaniac";
			proj['mainImage'] = "pyromaniac_main.jpg";
			proj['smallImage'] = "pyromaniac_small.jpg";
			proj['description'] = "Flash header for fantasy football site. The piece reads in multiple RSS feeds of player rankings and displays them in an auto-scroll - as well as user controlled - ticker. Users could drag the scrollbar which follows progress of scroll in the auto-scroll mode. Feeds could be added dynamically, as well as controlling pagination.";
			proj['imageCount'] = 3;
			proj['subImage'] = "pyromaniac_";
		
			proj = projects[2] = new Array();
			proj['title'] = "Sparrow";
			proj['mainImage'] = "sparrow_main.jpg";
			proj['smallImage'] = "sparrow_small.jpg";
			proj['description'] = "Flash header rebrand of hospital in Michigan. Sparrow launched a complete intranet site for internal employees to cover the rebrand. Flash headers were to illustrate fluid flocking <i>sparrows</i> which followed the <i>leader</i> sparrow, illustrating their new branding of leading the rest of the field. Multiple variations of the flight paths were created and rotated in the header. Rather than <b>days</b> to animate out multiple sequences, we took a coded approach, which allowed us to create a new sequence within a few hours. It also allowed for constrained variance to keep even the same flight path looking fresh on each view.";
			proj['imageCount'] = 3;
			proj['subImage'] = "sparrowFlocking_";
			proj['url'] = "http://nodegarden.net/clients/OneDesign/Sparrow/Final/5.html";

			proj = projects[3] = new Array();
			proj['title'] = "Beyond Burnham";
			proj['mainImage'] = "beyondBurnham_main.jpg";
			proj['smallImage'] = "beyondBurnham_small.jpg";
			proj['description'] = "Flash microsite for the launch of a special program on Chicago Public Radio highlighting the Burnham Plan and its extension into today. <br/><br/> The front-end included dynamic charting with historic demographic information, tool-tips with deeper information on a period, and a dynamic timeline of events which contained text, photos, photo credits, and external links. We also built a full admin interface for managing ALL content, including some of the layout items like the timeline break-down.";
			proj['imageCount'] = 8;
			proj['subImage'] = "beyondBurnham_";
		
			proj = projects[4] = new Array();
			proj['title'] = "Comcast Business Class";
			proj['mainImage'] = "comcast_main.jpg";
			proj['smallImage'] = "comcast_small.jpg";
			proj['description'] = "Geo-Location lookup service to support Rich media Banner campaign. nodeGarden setup a web service to pass back a viewer's geo-location information such as City/State/Zip and even ISP. The service was based on a customized version of the top geo-location provider data, which we accounted better for proxied connections. This allowed targeting of messages to a specific competitor sets in different markets. We also provided reporting at the impression level for lookups, aggregated by city/state/ISP and combinations of that. Again allowing them to access the market image, as well as update messaging or media based on performance. The server setup and application handled over 30MM+ impressions.";
			proj['imageCount'] = 3;
			proj['subImage'] = "comcast_";
		
			proj = projects[5] = new Array();
			proj['title'] = "Top Golf Banners";
			proj['mainImage'] = "topGolfBanner_main.jpg";
			proj['smallImage'] = "topGolfBanner_small.jpg";
			proj['description'] = "Flash banner to promote Top Golf";
			proj['imageCount'] = 6;
			proj['subImage'] = "topGolfBanner_";
			proj['url'] = "http://nodegarden.net/clients/OneDesign/TopGolf/Banner/TopGolf_300x250_v2_compact.html";
		
			proj = projects[6] = new Array();
			proj['title'] = "United Airlines Dynamic Offers";
			proj['mainImage'] = "united_main.jpg";
			proj['smallImage'] = "united_small.jpg";
			proj['description'] = "Custom built admin interface and web service that allowed the client to update fare specials and legal disclaimers dynamically and instantly. This is VERY important in airfare advertising since a lot of it is reactionary. Whoever can push out updates quickest will have a higher likelihood of success; or in the case of legal disclaimers, less liability/loss. Client could specify different messaging for different locations that the ad was geo-targeted to. They could also have different LENGTH messages based on size, since a 160x600 will hold text differently than a 728x90. Preview capabilities were built so that they could see the updated messaging in the actual creative before setting live. <br/><br/>The interface was built out in flash, and controlled by XML so that it could accommodate future needs/requirements.";
			proj['imageCount'] = 0;
			proj['subImage'] = "";
		
			proj = projects[7] = new Array();
			proj['title'] = "Tasty Flakes Game";
			proj['mainImage'] = "tastyFlakes_main.jpg";
			proj['smallImage'] = "tastyFlakes_small.jpg";
			proj['description'] = "Flash Holiday game built for Tribe Agency. This was a multi-level slider game. The goal was to catch as many flakes as you can in the allotted time while avoiding icicles. The speed <i>and</i> frequency of both the snow flakes and the icicles, could be controlled dynamically per level. Background scenes could be swapped out easily, as well as adding additional levels. A high score board and a Send-to-Friend email challenge helped to push virality and replay.";
			proj['imageCount'] = 11;
			proj['subImage'] = "tastyFlakes_";
			//proj['url'] = "http://nodegarden.net/clients/Tribe/TastyFlakes/";
			proj['url'] = "";
		
			proj = projects[8] = new Array();
			proj['title'] = "Duotone";
			proj['mainImage'] = "duotone_main.jpg";
			proj['smallImage'] = "duotone_small.jpg";
			proj['description'] = "Complete flash site built on top of a CMS, for the launch of local (Chicago) creative shop. Multiple sections with several sub-sections. Most of the content was controllable through the client interface for easy updates/maintenance. 90% actionscript controlled. OOP for nice clean hand-off.";
			proj['imageCount'] = 6;
			proj['subImage'] = "duotone_";
			proj['url'] = "http://duotone2.com/index2.html";
			
			
			proj = projects[9] = new Array();
			proj['title'] = "Aflac / Toy Story 3";
			proj['mainImage'] = "ts3_main.jpg";
			proj['smallImage'] = "ts3_small.jpg";
			proj['description'] = "Flash banner that utilized heavy graphic elements. Banners were built on a very tight timeline, including client review.";
			proj['imageCount'] = 5;
			proj['subImage'] = "ts3_";
			proj['url'] = "http://nodegarden.net/clients/Zimmerman/Aflac_TS3/300x250_v1_Shake.html";
			
			proj = projects[10] = new Array();
			proj['title'] = "Aflac / Know Quack";
			proj['mainImage'] = "knowQuack_main.jpg";
			proj['smallImage'] = "knowQuack_small.jpg";
			proj['description'] = "Flash banner for Aflac that visually animated out the spoken rhythm of their then-current TV spots. This project contained over 400 banner sizes and 8 messaging variations, as well as multiple formats for Rich Media expandable banners that included video.";
			proj['imageCount'] = 3;
			proj['subImage'] = "knowQuack_";
			//proj['url'] = "http://nodegarden.net/clients/Zimmerman/Aflac/CSM/1164/Flash/CSM_1164_300x250.html";
			proj['url'] = "";
			
			proj = projects[11] = new Array();
			proj['title'] = "Evamor Water";
			proj['mainImage'] = "evamor_main.jpg";
			proj['smallImage'] = "evamor_small.jpg";
			proj['description'] = "Flash banner prototype for Evamor Water. The client wanted to show some realism in animation, and a strong emphasis on motion. We leveraged some particle systems to animate the fire, water, and steam.";
			proj['imageCount'] = 8;
			proj['subImage'] = "evamor_";
			proj['url'] = "http://nodegarden.net/clients/Zimmerman/Evamor/300x250_Chili_proto_v2.html";
			
			proj = projects[12] = new Array();
			proj['title'] = "Harris Bank";
			proj['mainImage'] = "harrisDraw_main.jpg";
			proj['smallImage'] = "harrisDraw_small.jpg";
			proj['description'] = "Flash banner, and back-end system, that allowed users to draw their inspired idea on a 'napkin' and then email it to themselves. One of the obstacles to overcome was the LARGE amount of data points needed to collect in-order to draw the image back for the email. This was at the time Flash 8 just came out, so capturing as a bitmap was not a solution which would allow a high success rate. We customized a compressed format for recording the drawing points to cut down on size. The drawing must also have been captured as vector because the image's scale was increased in the email that was sent after. The email had the user drawing wrapped with a customized message for that time period. This custom message background could be changed out any time to update special offers.<br/><br/>This unit blew the normal user-generated content benchmark out of the water, and only ran on one site with a very small media buy. This was due to repeat submissions after users saw how cool it was.";
			proj['imageCount'] = 5;
			proj['subImage'] = "harrisDraw_";
			proj['url'] = "";
			
			tempProjects = new Array();
			tempProjects[0] = projects[0];
			tempProjects[1] = projects[7];
			tempProjects[2] = projects[1];
			tempProjects[3] = projects[12];
			tempProjects[4] = projects[8];
			tempProjects[5] = projects[2];
			tempProjects[6] = projects[3];
			tempProjects[7] = projects[4];
			tempProjects[8] = projects[5];
			tempProjects[9] = projects[6];
			tempProjects[10] = projects[11];
			tempProjects[11] = projects[10];
			tempProjects[12] = projects[9];

			projects = tempProjects;
		
			var currentProj = projects[0];
			var currentNum = 0;
		
		
		
			function launchProject() {
				try {
					if ( currentProj['url'].length > 3 ) {
						window.open ( currentProj['url'], currentProj['title'] );
					}
				}
				catch (e) { 
					alert("Sorry, the link appears to be broken. Please try back later");
				}
			}

			function imgLoad(img, completeCallback, errorCallback){
				if(img!=null && completeCallback!=null){
					var loadWatch = setInterval(watch, 100);
					function watch(){
						if(img.complete){
							clearInterval(loadWatch);
							completeCallback(img);
						}
					}
				}else{
					if(typeof errorCallback=="function") errorCallback();
				}
			}
			
			
			function showProject( num ) {
			
				proj = projects[num];
				currentProj = proj;
				currentNum = num;
				numProjects = projects.length;
				
					//alert( "showProject( " + num + " )" );

					$("#mainImage").fadeOut('slow', function(){
						$("#mainImage").attr("src", "images/"+currentProj['mainImage']);
						$("#mainImage").onImagesLoad( {
							itemCallback: function() {
								//alert('load complete');
								$("#mainImage").fadeIn('slow');
														
								$("#largeImageBar").html( currentProj['title'] );
								$("#projectTitle").html( currentProj['title'] );
								$("#projectText").html( currentProj['description'] + "");
								
								try {
									if (currentProj['url'].length>3) {
										$("#projectText").append( '<div id="viewProject" onClick="launchProject();"><img src="images/button_viewProject.png" width="125" height="30" /></div>' );
									}
								} catch (e) { 
									//alert("catch -> " + e);
								}
								finally { 
									//alert("finally");
								}
								
								$("#smallImageBar_left").html( projects[(((currentNum==0?numProjects:currentNum)-1)%numProjects)]['title'] );
								$("#smallImageBar_right").html( projects[((currentNum+1)%numProjects)]['title'] );
								
								
								$("#subImagesHolder").empty();
								if (currentProj['imageCount']>0) {
									$("#subImagesHolder").append( '<div id="divider_screenshots"></div><div id="screenShots">' );
									for (i=1; i<=currentProj['imageCount']; i++) {
										$("#screenShots").append( "<img class='subImage' width='250' height='250' src='images/" + projects[ currentNum ]['subImage'] + i + ".jpg' />" );
									}
									$("#screenShots").append( '<div class="clear"></div> ');
								}
								$("#subImagesHolder").append( '</div><div class="clear"></div>' );
							}
						});
					});
					
					$("#firstImage").delay(0).fadeOut('slow', function() {
						$("#firstImage").attr("src", "images/"+projects[(((currentNum==0?numProjects:currentNum)-1)%numProjects)]['smallImage']);
						$("#firstImage").onImagesLoad( {
							itemCallback: function() {
								$("#firstImage").fadeIn('slow');
							}
						});
					});					
					$("#secondImage").delay(0).fadeOut('slow', function() {
						$("#secondImage").attr("src", "images/"+projects[((currentNum+1)%numProjects)]['smallImage']);
						$("#secondImage").onImagesLoad( {
							itemCallback: function() {
								$("#secondImage").fadeIn('slow');
							}
						});
					});					

				
			}
		
			 $(document).ready(function() {
			 		 
				showProject(0);
			
				$("#secondImage").click( advance );
				$("#rightArrowLarge img").click( advance );
				$("#smallImageBar_right").click( advance );

				$("#smallImageBar_left").click( goBack );
				$("#leftArrowLarge img").click( goBack );
				$("#firstImage").click( goBack );
				
				function advance() {
					//alert( "( " + currentNum + " < " +  projects.length + " ) => " + ( currentNum < projects.length ));
					if ( currentNum < projects.length-1 ) {
						currentNum++;
					}
					else {
						currentNum = 0;
					}
					showProject( currentNum );
				};
			
				
				function goBack() {
					if ( currentNum > 0 ) {
						currentNum--;
					}
					else {
						currentNum = projects.length-1;
					}

					showProject( currentNum );
				};
				
				
				
				$("#aboutUs").colorbox();
				$("#contactUs").colorbox();
				$("#newsletter").colorbox();

				
			 });
			

