/**

FNZ Scripts
Version - 1.2 beta
Last Updated - 18/10/2011 1000
Purpose - Initialise Javascript functions with Revo 1.2.3 Advance

**/


var FNZScripts = new Class({
	//implements
	Implements: [Options],
	//options
	options: {
		docid: ''
	},
	//initialization
	initialize: function (options) {
		//set options
		this.setOptions(options);
		var docid = this.options.docid;
		this.linkAni();
		this.toolTips();
		this.rightBar(docid);
		this.homeVideo();
		this.mainMenu();
		this.locations();
		this.pressStories();
		this.staff();
		this.clients();
		this.sendApp();
		this.timeline();
		if(document.id('enq-form')){
			this.sendEnq();
		}
	},
	
	sendApp: function(){
		//alert(dd);
		if(document.id('app-form')){	
			var myForm = document.id('app-form');
			var myResult = document.id('log');
			
		
		  
			// Labels over the inputs.
			myForm.getElements('[type=text], textarea').each(function(el){
				new OverText(el);
			});
			
			
		  // Validation.
			new Form.Validator.Inline(myForm,{
				stopOnFailure: true,
				useTitles: true, 
				async:true,
				errorPrefix: "",
				onFormValidate: function(passed, form, event) {
				if (!passed) return null;
					myForm.send();
				}
			});
		}
	},
	
	sendEnq: function(){
		//alert(dd);
		if(document.id('enq-form')){	
		
		
			var myForm = document.id('enq-form');
			var myResult = document.id('log');
			
		
		  
			// Labels over the inputs.
			myForm.getElements('[type=text], textarea').each(function(el){
				new OverText(el);
			});
			
			
		  // Validation.
			new Form.Validator.Inline(myForm,{
				stopOnFailure: true,
				useTitles: true, 
				async:true,
				errorPrefix: "",
				onFormValidate: function(passed, form, event) {
				if (!passed) return null;
					myForm.send();
				}
			});
		}
	},
	
	staff: function(){
		var team = $$('.detect');

		team.each(function(e){
			if(e.getParent('div').hasClass('ignoreit'))return;
			e.addEvent('mouseenter', function(){
				this.getElements('.pawn-img-hold').morph({'opacity':'0.2'});
				var self = this;
				(function(){
					self.getElements('.pawn-img').setStyle('background-position','0 -62px');
					self.getElements('.pawn-img-hold').morph({'opacity':1})
				}).delay(400);				
			});	
			
			e.addEvent('mouseleave', function(){
				this.getElements('.pawn-img-hold').morph({'opacity':'0.2'});
				var self = this;
				(function(){
					self.getElements('.pawn-img').setStyle('background-position','0 0');
					self.getElements('.pawn-img-hold').morph({'opacity':1})
				}).delay(400);
			});	
		});
	
	},
	
	clients: function(){
		var client = $$('.client .detect');
		client.each(function(e){
			if(e.getParent('div').hasClass('ignoreit'))return;
			e.addEvent('mouseenter', function(){
				this.getElements('.client-img').morph({'opacity':'0.2'});
				var self = this.getElements('.client-img');
				(function(){
					self.setStyle('background-position','center -40px');
					self.morph({'opacity':1})
				}).delay(400);				
			});	
			
			e.addEvent('mouseleave', function(){
				this.getElements('.client-img').morph({'opacity':'0.2'});
				var self = this.getElements('.client-img');
				(function(){
					self.setStyle('background-position','center 0');
					self.morph({'opacity':1})
				}).delay(400);
			});	
		});
	
	},
	
	pressStories: function(){
		var press = $$('.press .detect');
		press.each(function(e){
			e.addEvent('mouseenter', function(){
				this.getElements('.press-img').morph({'opacity':'0.2'});
				var self = this.getElements('.press-img');
				(function(){
					self.setStyle('background-position','center -40px');
					self.morph({'opacity':1})
				}).delay(400);				
			});	
			
			e.addEvent('mouseleave', function(){
				this.getElements('.press-img').morph({'opacity':'0.2'});
				var self = this.getElements('.press-img');
				(function(){
					self.setStyle('background-position','center 0');
					self.morph({'opacity':1})
				}).delay(400);
			});	
		});
	
	},
	
	locations: function(){
		var hotspots = $$('#hotspots div');
		$$('.info-holder').setStyles({'opacity':0});
		hotspots.each(function(e){
			var country = e.get('id');
			e.addEvent('mouseenter', function(){
				
				if(country == 'uk'){
					this.setStyles({'background-image':'url(assets/resource/images/location-over.png)', 'background-position':'-273px -195px'});
					this.getElements('.info-holder').setStyles({'display':'block'}).morph({'opacity':1});
				}
				
				if(country == 'cz'){
					this.setStyles({'background-image':'url(assets/resource/images/location-over.png)', 'background-position':'-316px -211px'});
					this.getElements('.info-holder').setStyles({'display':'block'}).morph({'opacity':1});
				}
				
				if(country == 'aus'){
					this.setStyles({'background-image':'url(assets/resource/images/location-over.png)', 'background-position':'-510px -354px'});
					this.getElements('.info-holder').setStyles({'display':'block'}).morph({'opacity':1});
				}
				
				if(country == 'nz'){
					this.setStyles({'background-image':'url(assets/resource/images/location-over.png)', 'background-position':'-610px -416px'});
					this.getElements('.info-holder').setStyles({'display':'block'}).morph({'opacity':1});
				}
				
			});
			e.addEvent('mouseleave', function(){
				this.morph({'background-image':null});
				this.getElements('.info-holder').morph({'opacity':0});
				var self = this;
				(function(){
				self.getElements('.info-holder').setStyles({'display':'none'});
				}).delay(300);
			});
		});
	
	},

	rightBar: function(docid){
		if(docid != 1)return;
		
		$$('#wwd-nav h3').each(function(e){
			e.addEvent('mouseenter', function(){
				
				this.morph({'opacity':'0.7'});
				var self = this;
				(function(){
					
					self.setStyles({'background-position':'0 -33px'});
					self.morph({'opacity':1});
				}).delay(300);
			});
			e.addEvent('mouseleave', function(){
				this.morph({'opacity':'0.7'});
				var self = this;
				(function(){
					
					self.setStyles({'background-position':'0 0'});
					self.morph({'opacity':1});
				}).delay(300);
			});
		});
		
		new Fx.Accordion($('wwd-nav'),$$('.toggle'),$$('.acc-content'),{
			display: 0
		});
	},
	
	homeVideo: function(){
		if(!document.id('mediaplayer')) return;
		
		var getFrame = function(){
			var frame = jwplayer().getPosition();
			
			if(frame.round() == 40  ){ 
				
				$('select29').fireEvent('click');
			}
			if(frame.round() == 60  ){ 
				$('select30').fireEvent('click');
			}
			if(frame.round() == 80  ){ 
				$('select31').fireEvent('click');
			}
			if(frame.round() == 90  ){ 
				$('select32').fireEvent('click');
			}
			if(frame.round() == 100  ){ 
				$('select33').fireEvent('click');
			}
			
		};
		
		jwplayer("mediaplayer").setup({
			flashplayer: "assets/resource/js/jw/player.swf",
			file: "assets/resource/videos/FNZ_16_audio.m4v",
			backcolor: 'FFFFFF',
			screencolor: 'FFFFFF',
			height: 400,
			width: 710,
			bufferlength: 10,
			image: 'assets/resource/images/video-img.jpg',
			skin: 'assets/resource/js/jw/fnz.zip',
			wmode: 'opaque',
			stretching: 'fill',
			controlbar: 'bottom',
			volume: 40,
			autostart:false,
			events: {
				
				onPlay: function(event){
					$('select28').fireEvent('click');
					getFrame.periodical(1000);
				},
				onComplete: function() {
					
				}
			}
		});
		
		
		
		//
	},
	
	timeline: function(){
		var stageselect = $$('.stage-select .detect');
		
		stageselect.each(function(e){
			e.addEvent('mouseenter', function(){
				this.getElements('.stage-select-img').morph({'opacity':'0.2'});
				var self = this.getElements('.stage-select-img');
				(function(){
					self.setStyle('background-position','center -40px');
					self.morph({'opacity':1})
				}).delay(400);				
			});	
			
			e.addEvent('mouseleave', function(){
				this.getElements('.stage-select-img').morph({'opacity':'0.2'});
				var self = this.getElements('.stage-select-img');
				(function(){
					self.setStyle('background-position','center 0');
					self.morph({'opacity':1})
				}).delay(400);
			});	
			
			e.addEvent('click', function(f){
				f.stop();
				var getrel = this.getElements('a').get('rel');
				var getcur = document.id('stage'+getrel).getStyle('z-index');
				if(getcur != 99){
					
					var morphstage = new Fx.Morph(document.id('stage'+getrel), {
						duration: 600,
						transition: Fx.Transitions.Sine.easeInOut
					});
					
					$$('.stage').set('morph', {
						link:'cancel',
						duration: 250,
						transition: Fx.Transitions.Sine.easeOut
					});
					$$('.stage').morph({'z-index':'89','margin-left':'-710px', 'opacity': [0,1]});
					morphstage.start({'opacity': [0,1],'z-index':'99','margin-left':[110, 0]});
				}
			});
		});
		
		
	
	},
	linkAni: function () {
		var menuPos = $$('#main-nav a');
		menuPos.each(function (e) {
		
		
		if(e.getParent('li').hasClass('active'))return;
		if(e.getParent('li').hasClass('ignore'))return;
			if(!e.hasClass('ignore') || !e.getParent('li').hasClass('active')){
				e.addEvent('mouseenter', function () {
					this.morph({
						'color': '#fff'
					});
				});
				e.addEvent('mouseleave', function () {
					
						this.morph({
							'color': '#9C9C9B'
						});
					
				});
			}
		});
	},

	mainMenu: function () {
		var showMenu = $$('#main-nav li');
		if(Browser.name == 'ie' && Browser.version == 7) { 
			showMenu.each(function (e) {
				
				var list = e.getElements('div.sub-menu');
				
				e.addEvents({
					mouseenter: function () {
						list.setStyles({'display':'block', 'opacity':1, 'margin-left':'-40px'});
					},
					mouseleave: function () {
						list.setStyles({'display':'none', 'opacity':0});
					}
					
				});
			});
		
		}else{
			showMenu.each(function (e) {
				
				var list = e.getElements('div.sub-menu');
				
				e.addEvents({
					mouseenter: function () {
						
						var imageX = this.getElement('a').getCoordinates();
						list.position({
							relativeTo: this.getElement('a'),
							position: 'upperLeft',
							//edge: 'rightTop',
							offset: {
								x: 20,
								y: 25
							}
						});
						list.set('morph', {
							link:'cancel'
						});
						list.morph({
							'opacity': 0
						}).setStyles({
							'display': 'none'
						});
						list.setStyles({
							'display': 'block'
						}).morph({
							'opacity': 1
						});
					},
					mouseleave: function () {
						list.set('morph', {link:'cancel'});
						list.morph({
							'opacity': 0
						});
						
						(function(){
							list.setStyles({
							'display': 'none'
							});
						}).delay(300);
						
					}
				}); // end addEvents
			}); // end each   
		}
	},
	toolTips: function () {
		var customTips = $$(".help");
		var toolTips = new Tips(customTips, {
			showDelay: 100,
			hideDelay: 100,
			fixed: true,
			offsets: {
				"x": 220,
				"y": 220
			},
			windowPadding: {
				"x": 220,
				"y": 220
			},
			onShow: function (toolTipElement) {
				toolTipElement.fade(0.8);
			},
			onHide: function (toolTipElement) {
				toolTipElement.fade(0);
			}
		});
	}
});
