/*
	Airfront vs StudioSkylab
	site js
*/

// stop ie being a nob if console is undefined
if (typeof console == "undefined" || typeof console.log == "undefined") var console = { log: function() {} }; 

// newsticker jquery plugin (http://www.texotela.co.uk/code/jquery/newsticker/)
(function($){$.fn.newsTicker=$.fn.newsticker=function(delay){delay=delay||4000;initTicker=function(el){$.newsticker.clear(el);el.items=$("li",el);el.items.not(":eq(0)").hide().end();el.currentitem=0;startTicker(el)};startTicker=function(el){el.tickfn=setInterval(function(){doTick(el)},delay)};doTick=function(el){if(el.pause)return;$.newsticker.pause(el);$(el.items[el.currentitem]).fadeOut("slow",function(){$(this).hide();el.currentitem=++el.currentitem%(el.items.size());$(el.items[el.currentitem]).fadeIn("slow",function(){$.newsticker.resume(el)})})};this.each(function(){if(this.nodeName.toLowerCase()!="ul")return;initTicker(this)}).addClass("newsticker").hover(function(){$.newsticker.pause(this)},function(){$.newsticker.resume(this)});return this};$.newsticker=$.newsTicker={pause:function(el){(el.jquery?el[0]:el).pause=true},resume:function(el){(el.jquery?el[0]:el).pause=false},clear:function(el){el=(el.jquery?el[0]:el);clearInterval(el.tickfn);el.tickfn=null;el.items=null;el.currentItem=null}}})(jQuery);

// swfobject/flash jquery plugin (http://jquery.thewikies.com/swfobject/features)
(function(F,C){var D=function(H){var G,I=[];for(G in H){if(/string|number/.test(typeof H[G])&&H[G]!==""){I.push(G+'="'+H[G]+'"')}}return I[A]("")},E=function(I){var G,K,J=[],H;if(typeof I=="object"){for(G in I){if(typeof I[G]=="object"){H=[];for(K in I[G]){H.push([K,"=",encodeURIComponent(I[G][K])][A](""))}I[G]=H[A]("&amp;")}if(I[G]){J.push(['<param name="',G,'" value="',I[G],'" />'][A](""))}}I=J[A]("")}return I},B=false,A="join";F[C]=(function(){try{var G="0,0,0",H=navigator.plugins["Shockwave Flash"]||ActiveXObject;G=H.description||(function(){try{return(new H("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version")}catch(J){}}())}catch(I){}G=G.match(/^[A-Za-z\s]*?(\d+)[\.|,](\d+)(?:\s+[d|r]|,)(\d+)/);return{available:G[1]>0,activeX:H&&!H.name,version:{major:G[1]*1,minor:G[2]*1,release:G[3]*1},hasVersion:function(K){var N=this.version,L="major",M="minor",J="release";K=(/string|number/.test(typeof K))?K.toString().split("."):K||[0,0,0];K=[K[L]||K[0]||N[L],K[M]||K[1]||N[M],K[J]||K[2]||N[J]];return(K[0]<N[L])||(K[0]==N[L]&&K[1]<N[M])||(K[0]==N[L]&&K[1]==N[M]&&K[2]<=N[J])},expressInstall:"expressInstall.swf",create:function(J){if(!F[C].available||B||!typeof J=="object"||!J.swf){return false}if(J.hasVersion&&!F[C].hasVersion(J.hasVersion)){J={swf:J.expressInstall||F[C].expressInstall,attrs:{id:J.id||"SWFObjectExprInst",name:J.name,height:Math.max(J.height||137),width:Math.max(J.width||214)},params:{flashvars:{MMredirectURL:location.href,MMplayerType:(F[C].activeX)?"ActiveX":"PlugIn",MMdoctitle:document.title.slice(0,47)+" - Flash Player Installation"}}};B=true}else{J=F.extend(true,{attrs:{id:J.id,name:J.name,height:J.height||180,width:J.width||320},params:{wmode:J.wmode||"opaque",flashvars:J.flashvars}},J)}if(F[C].activeX){J.attrs.classid=J.attrs.classid||"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";J.params.movie=J.params.movie||J.swf}else{J.attrs.type=J.attrs.classid||"application/x-shockwave-flash";J.attrs.data=J.attrs.data||J.swf}return["<object ",D(J.attrs),">",E(J.params),"</object>"][A]("")}}}());F.fn[C]=function(G){if(typeof G=="object"){this.each(function(){var I=document.createElement(C);var H=F[C].create(G);if(H){I.innerHTML=H;if(I.childNodes[0]){this.appendChild(I.childNodes[0])}}})}else{if(typeof G=="function"){this.find("object").andSelf().filter("object").each(function(){var I=this,H="jsInteractionTimeoutMs";I[H]=I[H]||0;if(I[H]<660){if(I.clientWidth||I.clientHeight){G.call(this)}else{setTimeout(function(){F(I)[C](G)},I[H]+66)}}})}}return this}}(jQuery,"flash"));

var $j = jQuery.noConflict();

var site = {
	
	// constants for elements selectors
	querypaths : {
		newsTickerItems : "#newsTickerItems",
		accordion : ".accordion",
		accordionToggler : ".accordion_toggler a",
		accordionTogglerActive : "open",
		accordionContent : ".accordion_content"
	},
	
	// some permanent vars
	constants : {
		//mediaPath: "/_client/mediaplayer/",
		//emailReg : /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/,
		fe : $j.flash.available, // returns true or false
		/*adFlash : $j.flash.create({ 
			swf: '_client/mediaplayer/player.swf',
			height: 400,
			width: 700,
			flashvars: { 
				file: '/_client/mediaplayer/preview.jpg',
				//file: "http://brunelfranklin.s3.amazonaws.com/ONLINEad2_H264_700x394_Brunel.mov",
				image: "/_client/mediaplayer/preview.jpg",
				backcolor: "#FF0000",
				frontcolor: "#ffffff",
				autostart: "true",
				stretching: "fill",
				controlbar : "bottom"
			}
		}),*/
		adFlashTarget : "#adtarget", // reusable object for the bf ad*
		noFlashMsg : '<p>You have JavaScript but the device or browser you\'re using does not currently have Adobe Flash Player installed. If you think you\'re able to download and install it please visit: <a href="http://get.adobe.com/flashplayer/">http://get.adobe.com/flashplayer/</a>'
	},
	
	jsLabels : {
	
	},
	
	_handleAccordion : function () {
		
		var self = this;
		
		$j(self.querypaths.accordionToggler).toggle(
		      function () {
				$j(this).toggleClass(self.querypaths.accordionTogglerActive);
				$j(self.querypaths.accordionContent, $j(this).parent().parent()).slideToggle("fast", function(){
					
				});
		      },
		      function () {
				that = this;
				$j(self.querypaths.accordionContent, $j(this).parent().parent()).slideToggle("fast", function(){
					$j(that).toggleClass(self.querypaths.accordionTogglerActive);
				});
		      }
		);
		
	},
	
	_embedAd : function(target) {
		var self = this;
		if(self.constants.fe == true) {
			var test = "<embed src=\"_client/mediaplayer/player.swf\" width=\"700\" height=\"400\" allowscriptaccess=\"always\" allowfullscreen=\"true\" flashvars=\"file=http://brunelfranklin.s3.amazonaws.com/ONLINEad2_H264_700x394_Brunel.mov&autostart=true\" />";
			$j(target).html(test);
			//$j(target).html(self.constants.adFlash);
		} else {
			$j(target).html(self.constants.noFlashMsg);
		}
	},
		
	_init : function() {
		
		var self = this;
		
		// make a few things nice with js
		$j("hr").replaceWith('<div class="hr"></div>');
		
		// run cufon
		Cufon.replace('h2')('h3')('.pageboard-msg p.replace', { hover: true, hoverables: { a: true }});
		//Cufon.replace('h2')('h3')('#pageboard .tabs li a', { hover: true, hoverables: { a: true, span: true }})('.pageboard-msg p.replace', { hover: true, hoverables: { a: true }});
		
		// run the the news ticker if present
		if ($j(self.querypaths.newsTickerItems)) {
			$j(self.querypaths.newsTickerItems).newsticker();
		}
		
		// if FAQs exists run js handler
		if($j(self.querypaths.accordion).length > 0){
			self._handleAccordion();
		}
		
		// if ad call to action exists handle pop-up
		if($j("#adcta").length > 0) {
			$j("#adcta").fancybox({
				overlayColor: "#333",
				overlayOpacity: 0.8,
				hideOnContentClick: false,
				frameWidth: 700,
				frameHeight: 430,
				callbackOnShow : self._embedAd(self.constants.adFlashTarget)
			});
		}
		
		// if ad call to action exists handle pop-up
		if($j(".btn-call-back").length > 0) {
			$j(".btn-call-back").fancybox({
				overlayColor: "#333",
				overlayOpacity: 0.8,
				hideOnContentClick: false,
				frameWidth: 430,
				frameHeight: 460
			});
		}
		
		
	}
	
}

$j(document).ready(function(){
	site._init();
});
