/**
 * JavaScript module used to build the interactions on the Nokia homepage.
 * @author Adam J. McIntyre
 * 
 * jQuery onAvailable plugin from
 * http://github.com/furf/jquery-onavailable/
 */


(function($){$.extend({onAvailable:function(el,callback){if(typeof callback!=='function'){throw new TypeError();}
var _this=$.onAvailable;if(!(el instanceof Array)){el=[el];}
for(var i=0,n=el.length;i<n;++i){_this.listeners.push({id:el[i],callback:callback,obj:arguments[2],override:arguments[3],checkContent:!!arguments[4]});}
if(!_this.interval){_this.interval=window.setInterval(_this.checkAvailable,_this.POLL_INTERVAL);}
return this;},onContentReady:function(el,callback,obj,override){$.onAvailable(el,callback,obj,override,true);}});$.extend($.onAvailable,{POLL_RETRIES:2000,POLL_INTERVAL:20,interval:null,listeners:[],executeCallback:function(el,listener){var scope=el;if(listener.override){if(listener.override===true){scope=listener.obj;}else{scope=listener.override;}}
listener.callback.call(scope,listener.obj);},checkAvailable:function(){var _this=$.onAvailable;var listeners=_this.listeners;for(var i=0;i<listeners.length;++i){var listener=listeners[i];var el=document.getElementById(listener.id);if(el&&(!listener.checkContent||(listener.checkContent&&(el.nextSibling||el.parentNode.nextSibling||$.isReady)))){_this.executeCallback(el,listener);listeners.splice(i,1);--i;}
if(listeners.length===0||--_this.POLL_RETRIES===0){_this.interval=window.clearInterval(_this.interval);}}}});})(jQuery);(HomepageHero=function(){var currentItem;var $heroAreas=null;var $heroButtons=null;var ROTATE_INTERVAL=2500;var tab_intvl=null;var bg='<div class="active_tab"></div>';var isChanging=false;var isOldIE=$.browser.msie==true&&$.browser.version<9;var isIE6;var heroHeight=0;var hasFlash=true;return{init:function(){var o=this;if(!isOldIE){$.onAvailable('hero_container',function(){var hc=$('#hero_container');if(parseInt(GetSwfVer(),10)>-1){hc.removeClass('no_flash').addClass('flash_enabled');hasFlash=true;}
else{hasFlash=false;return false;}
$heroAreas=$('#hero_areas li').fadeTo(0.25,0);$('#hero_buttons, #hero_container span.corner').fadeTo(0.25,0);hc.removeClass('no_js').addClass('js_enabled').append('<div class="loading_bar__"></div>');});}
$().ready(function(){if(isOldIE){if(parseInt(GetSwfVer(),10)>-1){$('#hero_container').removeClass('no_flash').addClass('flash_enabled');}
else{hasFlash=false;return false;}
$heroAreas=$('#hero_areas li').fadeTo(0.25,0);$('#hero_buttons, #hero_container span.corner').fadeTo(0.25,0);$('#hero_container').removeClass('no_js').addClass('js_enabled').append('<div class="loading_bar__"></div>');if($('#homepage_container').hasClass('ie6')){isIE6=true;$('#hero_container span.corner').filter('.bl, .br').css('bottom','-3px');}}
else if(!hasFlash){return false;}
$('#homepage_container').removeClass('nojs').addClass('js_enabled');heroHeight=$('#hero_areas').height();$heroButtons=$('#hero_buttons a');$heroButtons.bind('click',function(e){e.preventDefault();if(!isChanging){HomepageHero.rotate($heroButtons.index(this));}
else{return false;}}).filter(':first').parents('li').addClass('active');$heroButtons.parents('li').append(bg);if($.browser.opera){var activeHero=$heroAreas.filter(':gt(0)').hide().end().filter(':first').addClass('active');activeHero.css('top',heroHeight-activeHero.find('embed, object, img').eq(0).height());$('#hero_container').css('visibility','visible');isChanging=true;$('#hero_buttons, #hero_container span.corner').css('visibility','visible').add($heroAreas).fadeTo('slow',1,function(){isChanging=false;});$('#hero_container div.loading_bar__').fadeOut('fast',function(){$(this).remove();});}
else{$(window).bind('load',function(){var activeHero=$heroAreas.filter(':gt(0)').hide().end().filter(':first').addClass('active');activeHero.css('top',heroHeight-activeHero.find('embed, object, img').eq(0).height());$('#hero_container').css('visibility','visible');isChanging=true;$('#hero_buttons, #hero_container span.corner').css('visibility','visible').add($heroAreas).fadeTo('slow',1,function(){isChanging=false;});$('#hero_container div.loading_bar__').fadeOut('fast',function(){$(this).remove();});});}});},rotate:function(idx){var currentHero=$heroAreas.filter('.active');var activeIndex=$heroAreas.index(currentHero.get(0));if(activeIndex!==idx){isChanging=true;this.reset(currentHero,activeIndex);var activeHero=$heroAreas.filter(':eq('+idx+')').css('display','block');var topOffset=heroHeight-activeHero.find('embed, object, img').eq(0).height();activeHero.css('top',topOffset).addClass('active').css('display','none').fadeIn('slow',function(){isChanging=false;});$heroButtons.filter(':eq('+idx+')').parents('li').addClass('active');currentItem=idx;}},reset:function(hero,idx){hero.fadeOut('slow',function(){$(this).removeClass('active');});$heroButtons.filter(':eq('+idx+')').parents('li').removeClass('active');if(isOldIE){setTimeout(function(){$heroButtons.filter(':eq('+idx+')').css('zoom','').css('zoom',1);},50);}},autoRotate:function(){$heroAreas.bind('mouseover',function(){clearInterval(tab_intvl);});$heroButtons.bind('click',function(){clearInterval(tab_intvl);});var totalHeros=$heroAreas.length;tab_intvl=setInterval(function(){var newIndex=currentItem+1;if(newIndex==$heroAreas.length){newIndex=0;}
HomepageHero.rotate(newIndex);},ROTATE_INTERVAL);}}}()).init();

// Flash Player Version Detection - Rev 1.6
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE=(navigator.appVersion.indexOf("MSIE")!=-1)?true:false;var isWin=(navigator.appVersion.toLowerCase().indexOf("win")!=-1)?true:false;var isOpera=(navigator.userAgent.indexOf("Opera")!=-1)?true:false;function ControlVersion()
{var version;var axo;var e;try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");version=axo.GetVariable("$version");}catch(e){}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");version="WIN 6,0,21,0";axo.AllowScriptAccess="always";version=axo.GetVariable("$version");}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version=axo.GetVariable("$version");}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");version="WIN 3,0,18,0";}catch(e){}}
if(!version)
{try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");version="WIN 2,0,0,11";}catch(e){version=-1;}}
return version;}
function GetSwfVer(){var flashVer=-1;if(navigator.plugins!=null&&navigator.plugins.length>0){if(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]){var swVer2=navigator.plugins["Shockwave Flash 2.0"]?" 2.0":"";var flashDescription=navigator.plugins["Shockwave Flash"+swVer2].description;var descArray=flashDescription.split(" ");var tempArrayMajor=descArray[2].split(".");var versionMajor=tempArrayMajor[0];var versionMinor=tempArrayMajor[1];var versionRevision=descArray[3];if(versionRevision==""){versionRevision=descArray[4];}
if(versionRevision[0]=="d"){versionRevision=versionRevision.substring(1);}else if(versionRevision[0]=="r"){versionRevision=versionRevision.substring(1);if(versionRevision.indexOf("d")>0){versionRevision=versionRevision.substring(0,versionRevision.indexOf("d"));}}
var flashVer=versionMajor+"."+versionMinor+"."+versionRevision;}}
else if(isIE&&isWin&&!isOpera){flashVer=ControlVersion();var formatVersion=flashVer.match(/\b(\d+)[,\.]/);if(formatVersion&&formatVersion.length==2){flashVer=formatVersion[1];}
else{flashVer=-1;}}
return flashVer;}
