var Site = {
	quick_links: null,
	quick_links_dropdown: null,
	quickLinkSelect: null,
	searchField: null,
	currentZoom: 1,
	maxZoom: 5,
	contentArea: null,
	zoomCookie: null,
	
	
	start: function(){
		// One month cookie duration
		Site.zoomCookie = new Hash.Cookie('zoom', {		duration: 30,
														domain: 'alphawest_ecm.localhost',
														path: '/'
													});
		
		if ( (Site.quick_links = $('quick-links')) && (Site.quick_links_dropdown = $('quick-links-dropdown')) ) {
			Site.attachQuickLink();
		}
													
		if ( Site.quickLinkSelect = $('quicklink_select') ) {
			Site.attachQuickLinkSelect();
		}
		
		if ( Site.searchField = $('search_query') ) {
			Site.attachSearchQuery();
		}
		
		Site.checkZoomCookie();
	},
	
	
	checkZoomCookie: function() {
		var zoom = Site.zoomCookie.get('zoom');
		
		if ( zoom ) {
			if ( zoom > 0 && zoom <= Site.maxZoom ) {
				Site.currentZoom = zoom;
			}
		}
		
		if ( !Site.contentArea ) {		Site.contentArea = $('content_text');	 }
		Site.contentArea.addClass('zoom_' + Site.currentZoom);
	},
	
	
	saveZoomCookie: function() {
		Site.zoomCookie.set('zoom', Site.currentZoom);
		Site.zoomCookie.save();
	},
	
	attachQuickLink: function() {
		Site.quick_links.addEvent('mouseover', function() {
			Site.quick_links_dropdown.style.display='block';
		});
		Site.quick_links.addEvent('mouseout', function() {
			Site.quick_links_dropdown.style.display='none';
		});
	},
	
	attachQuickLinkSelect: function() {
		Site.quickLinkSelect.addEvent('change', function() {
			if ( this.options[this.selectedIndex].value != '' ) {
				window.location = this.options[this.selectedIndex].value;
			}
		});
	},
	
	
	attachSearchQuery: function() {
		Site.searchField.addEvent('focus', function() {
			if ( this.value == 'Search...' ) {
				this.value = '';
			}
		});
		
		Site.searchField.addEvent('blur', function() {
			if ( this.value == '' ) {
				this.value = 'Search...';
			}
		});
	},
	
	
	sizeDown: function() {
		if ( Site.currentZoom > 1 ) {
			if ( !Site.contentArea ) {		Site.contentArea = $('content_text');	 }
			
			Site.contentArea.removeClass('zoom_' + (Site.currentZoom));
			Site.contentArea.addClass('zoom_' + (Site.currentZoom - 1));
			Site.currentZoom--;
		}
		
		Site.saveZoomCookie();
	},
	
	
	sizeUp: function() {
		if ( Site.currentZoom < Site.maxZoom ) {
			if ( !Site.contentArea ) {		Site.contentArea = $('content_text');	 }
			
			Site.contentArea.removeClass('zoom_' + (Site.currentZoom));
			Site.contentArea.addClass('zoom_' + (Site.currentZoom + 1));
			Site.currentZoom++;
		}
		
		Site.saveZoomCookie();
	},
	
	
	printerFriendly: function(page) {
		window.open(page + '&rtemplate=1731', '_external');
	},
	
	hover: function() {
		Site.quick_links_dropdown.css({"display":"block"});
	},

	out: function() {
		Site.quick_links_dropdown.css({"display":"none"});
	}
	
};

// XHTML Strict is awesome, silence critics
function openExternalLink(url) {
	window.open(url, '_external');
}


window.addEvent('load', Site.start);