var Site = {
	
	whatWeDoAccordion: null,
	
	whatWeDoKwicks: null,
	whatWeDoKwicksFx: null,
	
	start: function() {
		
		$('sf_menu_0').store('tip:text', 'Return to the homepage');
		$('sf_menu_1').store('tip:text', 'A bit about our story, team, clients and life on the bright side');
		$('sf_menu_2').store('tip:text', 'Our services and expertise covered in-depth');
		$('sf_menu_3').store('tip:text', 'Our online portfolio of work + case studies');
		$('sf_menu_4').store('tip:text', 'Manage your online presence easily');
		$('sf_menu_5').store('tip:text', 'Join the team at BrightLabs');
		$('sf_menu_6').store('tip:text', 'Read the latest news from Brightlabs');
		$('sf_menu_7').store('tip:text', 'What can we do for your business?');

		var menuTips = new Tips($$('.suckerfishMenu li'), {
			fixed: true,	
			offsets: {x: 11, y: 36 }
		});
		
		var x = $$('body.t46605');
		if (x.length) {
			var xx = x[0].getElements('div.ctoc_item1');
			xx.each(function(el, i) {
				if (i<2) {
					el.setStyle('display','none');	
				}
			});
		}

		var visitSites = $('content-main').getElements('a.visit-site');
			visitSites.addEvents({
				'mousedown': function() { this.setStyle('background-position', 'bottom left');  },
				'mouseup': function() { this.setStyle('background-position', 'center left'); },
				'mouseenter': function() { this.setStyle('background-position', 'center left'); },
				'mouseleave': function() { this.setStyle('background-position', 'top left'); }
			});
			
		if ($('p46600')) {
			Site._setupWhatWeDoAccordion();
			Site._setupWhatWeDoKwicks();
		}
		
		if ( $('contactForm') ) Site._attachContactRequirements();

		if ( $('careersForm') ) Site._attachCareersRequirements();

		if ( $('newsletterForm') ) Site._attachNewsletterRequirements();

		if ( $('bigNewsletterForm') ) Site._attachBigNewsletterRequirements();
	},
	
	_setupWhatWeDoAccordion: function() {
		this.whatWeDoAccordion = new Accordion($('accordion'), 'h3.toggler', 'div.stretcher', {
			opacity: false
		});
	},
	
	_whatWeDoAccordionDisplay: function(i) {
		this.whatWeDoAccordion.display(i);	
	},
	
	_setupWhatWeDoKwicks: function() {
		
		var szNormal = 25, szSmall  = 25, szFull   = 642;
		 
		whatWeDoKwicks = $$("#kwick ul.kwicks li a.kwick");
		whatWeDoKwicksFx = new Fx.Elements(whatWeDoKwicks, {wait: false, duration: 300 , transition: Fx.Transitions.Circ.easeIn});
		whatWeDoKwicks.each(function(kwick, i) {
			kwick.addEvent("click", function(event) {
				var e = new Event(event);
				var o = {};
				o[i] = {width: [kwick.getStyle("width").toInt(), szFull]}
				whatWeDoKwicks.each(function(other, j) {
					if(i != j) {
						var w = other.getStyle("width").toInt();
						if(w != szSmall) o[j] = {width: [w, szSmall]};
					}
				});
				
				e.stop();

				whatWeDoKwicksFx.start(o);
				Site._whatWeDoAccordionDisplay(i);

			});
			kwick.addEvent("mouseup", function(event) {
				$('hero-swf').callPlayBall(i);
			});
		});
		
		if (window.location.hash) {
			var hash = window.location.hash.substr(1);
			switch(hash) {
				case 'Design':
					Site._whatWeDoKwicksShow(0);
					$('hero-swf').callPlayBall(0);
					break;
				case 'Development':
					Site._whatWeDoKwicksShow(1);
					$('hero-swf').callPlayBall(1);
					break;
				case 'Strategy':
					Site._whatWeDoKwicksShow(2);
					$('hero-swf').callPlayBall(2);
					break;
				case 'Hosting':
					Site._whatWeDoKwicksShow(3);
					$('hero-swf').callPlayBall(3);
					break;
			}
		}

		
	},
	
	_whatWeDoKwicksShow: function(n) {
		whatWeDoKwicks[n].fireEvent('click', whatWeDoKwicks[n], 0);
		this._whatWeDoAccordionDisplay(n);
	},
	
	_attachContactRequirements: function() {
		$('contact-name').setProperty('rel', 'required');
		$('contact-name').setProperty('fieldname', 'Name');
		$('contact-name').setProperty('valmsg', 'Please enter your name.');
		
		$('contact-email').setProperty('rel', 'required email');
		$('contact-email').setProperty('fieldname', 'Email');
		$('contact-email').setProperty('valmsg', 'Please enter a contact email address.');
		
		$('contact-phone').setProperty('rel', 'required');
		$('contact-phone').setProperty('fieldname', 'Phone');
		$('contact-phone').setProperty('valmsg', 'Please enter a contact phone number.');
		
		$('contact-comments').setProperty('rel', 'required');
		$('contact-comments').setProperty('fieldname', 'Comments');
		$('contact-comments').setProperty('valmsg', 'Please enter your comments or request.');
		
		$('contact-captcha').setProperty('rel', 'required');
		$('contact-captcha').setProperty('fieldname', 'Verification code');
		$('contact-captcha').setProperty('valmsg', 'Please enter the verification code.');
	},
	
	_attachCareersRequirements: function() {
		$('careers-name').setProperty('rel', 'required');
		$('careers-name').setProperty('fieldname', 'Name');
		$('careers-name').setProperty('valmsg', 'Please enter your name.');
		
		$('careers-email').setProperty('rel', 'required email');
		$('careers-email').setProperty('fieldname', 'Email');
		$('careers-email').setProperty('valmsg', 'Please enter a contact email address.');
		
		$('careers-phone').setProperty('rel', 'required');
		$('careers-phone').setProperty('fieldname', 'Phone');
		$('careers-phone').setProperty('valmsg', 'Please enter a contact phone number.');
		
		$('careers-comments').setProperty('rel', 'required');
		$('careers-comments').setProperty('fieldname', 'Comments');
		$('careers-comments').setProperty('valmsg', 'Please enter your comments or request.');
		
		$('careers-captcha').setProperty('rel', 'required');
		$('careers-captcha').setProperty('fieldname', 'Verification code');
		$('careers-captcha').setProperty('valmsg', 'Please enter the verification code.');
	},
	
	_attachNewsletterRequirements: function() {
		$('newsletter-name').setProperty('rel', 'required');
		$('newsletter-name').setProperty('fieldname', 'Name');
		$('newsletter-name').setProperty('valmsg', 'Please enter your name.');
		
		$('newsletter-email').setProperty('rel', 'required email');
		$('newsletter-email').setProperty('fieldname', 'Email');
		$('newsletter-email').setProperty('valmsg', 'Please enter a contact email address.');
		
		$('newsletter-name').addEvent('focus', function() {
			if ( this.value == 'Name' ) {
				this.value = '';
			}
		});
		
		$('newsletter-name').addEvent('blur', function() {
			if ( this.value == '' ) {
				this.value = 'Name';
			}
		});
		
		$('newsletter-email').addEvent('focus', function() {
			if ( this.value == 'Email Address' ) {
				this.value = '';
			}
		});
		
		$('newsletter-email').addEvent('blur', function() {
			if ( this.value == '' ) {
				this.value = 'Email Address';
			}
		});
	},
	
	_attachBigNewsletterRequirements: function() {
		$('newsletter-firstname').setProperty('rel', 'required');
		$('newsletter-firstname').setProperty('fieldname', 'Name');
		$('newsletter-firstname').setProperty('valmsg', 'Please enter your name.');
		
		$('newsletter-lastname').setProperty('rel', 'required');
		$('newsletter-lastname').setProperty('fieldname', 'Name');
		$('newsletter-lastname').setProperty('valmsg', 'Please enter your name.');
		
		$('newsletter-emailaddr').setProperty('rel', 'required email');
		$('newsletter-emailaddr').setProperty('fieldname', 'Email');
		$('newsletter-emailaddr').setProperty('valmsg', 'Please enter a contact email address.');
		
		$('newsletter-captcha').setProperty('rel', 'required');
		$('newsletter-captcha').setProperty('fieldname', 'Verification code');
		$('newsletter-captcha').setProperty('valmsg', 'Please enter the verification code.');
	}

};
window.addEvent('domready', Site.start);

function openExternalLink(url) {
	window.open(url, '_external');
}