Dogpatch = {
	
	
	
	Floors: {
		
		SetFloors: function()
		{
			return Array(1,2,3);
		},
		
		SetSections: function()
		{
			return Array(
				'features',
				'lighting',
				'dimensions',
				'occupancy',
				'uses'
			);
		},
		
		Init: function(active)
		{
			// Init floors
			floors = Dogpatch.Floors.SetFloors();
			for (i=0;i<floors.length;i++) {
				if (active) $('floor'+floors[i]).onclick = function()
				{
					Dogpatch.Floors.SwitchFloor(this.id.substring((this.id.length)-1));
					return false;
				};
				else $('floor'+floors[i]).onclick = function()
				{
					return false;
				};
			}
			// Init sections
			sections = Dogpatch.Floors.SetSections();
			for (i=0;i<sections.length;i++) {
				if (active) $('floor_'+sections[i]).onclick = function()
				{
					Dogpatch.Floors.SwitchSection(this.id.substring(6));
					return false;
				};
				else $('floor_'+sections[i]).onclick = function()
				{
					return false;
				};
			}
			// Init section groups
			groups = '';
		},
		
		SwitchFloor: function(floor_new)
		{
			Dogpatch.Floors.ToggleSubhead();
			if (!floor_new) floor_new = 1;
			floors = Dogpatch.Floors.SetFloors();
			for (i=0;i<floors.length;i++) {
				$('floor'+floors[i]).removeClassName('active');
			}
			$('floor'+floors[floor_new-1]).addClassName('active');
			floor = new Array();
			floor[1] = 980;
			floor[2] = 490;
			floor[3] = 0;
			floor_old = $('main').className.substring(5,6);
			$('floor'+floor_old+'_'+$('subhead').className).hide();
			if ($('floor'+floor_old+'_group_'+$('subhead').className)) $('floor'+floor_old+'_group_'+$('subhead').className).hide();
			$('floor'+floor_new+'_'+$('subhead').className).show();
			if ($('floor'+floor_new+'_group_'+$('subhead').className)) $('floor'+floor_new+'_group_'+$('subhead').className).show();
			//floor_old = floor_old.substring((floor_old.length)-1);
			//$('floor'+floor_old+'_group').hide();
			if (floor[floor_old] < floor[floor_new]) {
				Dogpatch.Floors.SlideDown($('main'),floor[floor_old],floor[floor_new]);
			} else {
				Dogpatch.Floors.SlideUp($('main'),floor[floor_old],floor[floor_new]);
			}
			$('main').removeClassName('floor'+floor_old);
			$('main').addClassName('floor'+floor_new);
		},
		
		SlideUp: function(element,old_pos,new_pos)
		{
			element.setStyle({
				backgroundPosition: '5px -'+old_pos+'px'
			});
			if (old_pos != new_pos) {
				setTimeout(function(){Dogpatch.Floors.SlideUp(element,old_pos-10,new_pos);},10);
			} else {
				Dogpatch.Floors.ToggleSubhead();
			}
		},
		
		SlideDown: function(element,old_pos,new_pos)
		{
			element.setStyle({
				backgroundPosition: '5px -'+old_pos+'px'
			});
			if (old_pos != new_pos) {
				setTimeout(function(){Dogpatch.Floors.SlideDown(element,old_pos+10,new_pos);},10);
			} else {
				Dogpatch.Floors.ToggleSubhead();
			}
		},
		
		SwitchSection: function(section_new)
		{
			floor = $('main').className;
			section_old = $('subhead').className;
			sections = Dogpatch.Floors.SetSections();
			for (i=0;i<sections.length;i++) {
				$('floor_'+sections[i]).removeClassName('active');
			}
			$('floor_'+section_new).addClassName('active');
			//alert($('main').className+'_'+section_new);
			//$(floor+'_'+section_old).hide();
			Effect.Fade(floor+'_'+section_old,{duration: .1});
			if ($(floor+'_group_'+section_old)) Effect.Fade(floor+'_group_'+section_old,{duration: .1});
			//$(floor+'_'+section_new).show();
			Effect.Appear(floor+'_'+section_new,{duration: .4});
			if ($(floor+'_group_'+section_new)) Effect.Appear(floor+'_group_'+section_new,{duration: .4});
			$('subhead').removeClassName(section_old);
			$('subhead').addClassName(section_new);
		},
		
		ToggleSubhead: function()
		{
			if ($('subhead_container').visible()) {
				Dogpatch.Floors.Init(false);
				$('subhead_container').hide();
				if ($($('main').className+'_group')) $($('main').className+'_group').hide();
				//Effect.Fade('subhead_container',{duration: .25});
			} else {
				Dogpatch.Floors.Init(true);
				//$('subhead_container').show();
				if ($($('main').className+'_group')) Effect.Appear($('main').className+'_group',{duration: .4});
				Effect.Appear('subhead_container',{duration: .4},true);
			}
		}
		
	}
	
	
	
};