
// if siteBase hasn't been set in pr_head
if ( typeof(siteBase) == "undefined" ) {
	siteBase = "";
}

function init() {

	// flag js to activate styles
	
	$(document.body).addClassName('js_active');
	
	switch (document.body.id) {
		
		case 'index':
		
			document.body.addClassName('js_active_index');
			
						
			// login form validation
			$$('form').invoke('observe','submit',function(evt){
																										
				var previousError = this.select('.error')[0];
				if (previousError) { previousError.remove() };
				
				var validity = new Array();
				validity.push(this.getInputs().invoke('present').all());
				
				var errorMessage = '';
				if (!(validity[0])) {
					errorMessage += 'Please complete both fields.';
				};
				if (errorMessage) {
					Event.stop(evt);
					var errorElt = new Element('p', { 'class': 'error' }).update(errorMessage);
					this.insert(errorElt);
				};
				
			});

			
			break;
		
		case 'sites':
		
			document.body.addClassName('js_active_sites');
				
			// set variables
			var viewport = $('viewport');
			var content = $('content');
			var industries = $$('.industry');
			var sites = $$('.site');
			var basicDivs = $$('.basic');
			var extensionDivs = $$('.extension');
			var nav = $('indNav');
			var navLinks = nav.select('a');
		
			// set inline styles
			var contentWidth = ''+(7*industries[0].offsetWidth)+'px';
			content.style.width = contentWidth;
			
			// collect industry divs' positions
			var industriesPos = new Object();
			for (var i=0;i<industries.length;i++) {
				industriesPos[industries[i].id] = industries[i].offsetLeft;
			}
			
			// structural modification/displays/hides
			$$('.back_to_top','.contentNav','.toggleHide').invoke('hide');

			// horizontal scroller
			function horizScroll(e) {
				var currentViewPos = viewport.scrollLeft;
				var targetViewID = this.hash.substring(1);
				var targetViewPos = industriesPos[targetViewID];
				if (currentViewPos==targetViewPos) return false;
				navLinks.invoke('removeClassName','current');
				new Effect.Tween(viewport,currentViewPos,targetViewPos, { duration: 1 },'scrollLeft');
				this.addClassName('current');
				Event.stop(e);
			}
			
			// onclick handlers
			navLinks.invoke('observe','click',horizScroll);

			// hash check: if an industry, jump to it and highlight nav
			navLinks.invoke('removeClassName','current');
			var startingInd = industries.find(function(n){return '#'+n.id==location.hash})||industries[0];
			if (startingInd) {
				window.scrollTo(0,0);
				viewport.scrollLeft = industriesPos[startingInd.id];
				navLinks.find(function(a){return a.hash=='#'+startingInd.id}).addClassName('current');
			};

			// hash check: if a site, open that site and jump to it
			var splitSites = sites.partition(function(n){return n.id==location.hash.substring(1)});
			// splitSites[1].collect(function(s){ return s.select('.extension')[0]; }).invoke('hide');
			if (splitSites[0][0]) {
				splitSites[0][0].scrollTo();
				// splitSites[0][0].select('.toggle').invoke('toggle');
				var indId = splitSites[0][0].up('.industry').id;
				viewport.scrollLeft = industriesPos[indId];
			}
					
			break;
			
		case 'workthingplus':
		
			document.body.addClassName('js_active_workthingplus');
			
			// feature panel
			var featureTabs = $$('#featureTabs li');
			var featureContents = $$('#featureContents li');
			function showFeatureTab(i) {
				featureTabs.invoke('removeClassName','active');
				featureContents.invoke('hide');
				featureTabs[i].addClassName('active');
				featureContents[i].show();
			}
			
			featureTabs.each(function(tab,i) {
				tab.observe('click', function(){
					showFeatureTab(i);
				});
			});
			
			showFeatureTab(0);
			
			// price plans view switcher
			$('pricePlans').hide();
			var showState = 0;
			$('pricePlansButton').observe('click',function(){
				if (showState == 0) {
					Effect.Fade('mainHeading', {queue: 'end', duration: 0.3});
					Effect.Appear('pricePlans', {queue: 'end', duration: 0.3});
					showState = 1;
				} else {
					Effect.Fade('pricePlans', {queue: 'end', duration: 0.3});
					Effect.Appear('mainHeading', {queue: 'end', duration: 0.3});
					showState = 0;
				};
			});
			
			// enquiry form validation
			$$('form').invoke('observe','submit',function(evt){
																										
				var previousError = this.select('.error')[0];
				if (previousError) { previousError.remove() };
				
				var validity = new Array();
				validity.push(this.getInputs('text').invoke('present').all());
				validity.push(this.from_email.getValue().match(/\S+@\w+\.\w+/g));
				validity.push(this.telnumber.getValue().match(/^[\(\)0-9 ]+$/g));
				
				var errorMessage = '';
				if (!(validity[0])) {
					errorMessage += 'Please complete all fields. <br />';
				} else {
					if (!(validity[1])) {
						errorMessage += 'Please ensure your email address is in a valid format. <br />';
					};
					if (!(validity[2])) {
						errorMessage += 'Please ensure your telephone number is in a valid format. <br />';
					};
				}
				if (errorMessage) {
					Event.stop(evt);
					var errorElt = new Element('p', { 'class': 'error' }).update(errorMessage);
					this.select('.inner')[0].insert(errorElt);
				};
				
			});
			
			// equal height
			var formHeight = $('enquiryForm').getHeight();
			$('features').setStyle({ height: formHeight-2+'px' });

	};
};
swfobject.embedSWF(siteBase+"/flash/player.swf", "videoResponsible", "380", "268", "9.0.0", false, { file: siteBase+"/flash/corporate_overview_homepage.flv",skin: siteBase+"/flash/stylish_slim.swf",stretching:"fill",image:siteBase+"/img/frame_corporate.jpg" }, false, { styleclass:"video" });
swfobject.embedSWF(siteBase+"/flash/flashintro-small4_corp.swf", "introFlashArea", "350", "350", "9.0.0", false, false, { wmode: "transparent" });

document.observe('dom:loaded', init);