if(typeof NokiaCF=='undefined')NokiaCF={};(function($){Mapifies.AddLabeledMarker=function(element,options,callback){var options=$.extend({pointLatLng:[],pointHTML:null,pointOpenHTMLEvent:"click",pointIsDraggable:false,pointIsRemovable:false,pointRemoveEvent:"dblclick",pointMinZoom:1,pointMaxZoom:17,pointIcon:null,centerMap:false,labelText:"",labelOffset:[0,0],labelMinZoom:0,atSurface:false,onDragEnd:null,showOnMouseOver:true},options);var map=Mapifies.MapObjects.Get(element);var markerOptions={};if(typeof options.pointIcon=="object")markerOptions.icon=options.pointIcon;if(options.pointIsDraggable)markerOptions.draggable=options.pointIsDraggable;if(options.labelText)markerOptions.labelText=options.labelText;if(options.labelOffset)markerOptions.labelOffset=new GSize(options.labelOffset[0],options.labelOffset[1]);if(options.labelMinZoom)markerOptions.labelMinZoom=options.labelMinZoom;if(options.labelLink)markerOptions.labelLink=options.labelLink;if(options.atSurface)markerOptions.atSurface=options.atSurface;if(options.onDragEnd)markerOptions.onDragEnd=options.onDragEnd;if(options.showOnMouseOver)markerOptions.showOnMouseOver=options.showOnMouseOver;if(options.picture)markerOptions.picture=options.picture;if(options.picOffset)markerOptions.picOffset=new GSize(options.picOffset[0],options.picOffset[1]);if(options.centerMap)jQuery.jmap.GMap2.setCenter(new GLatLng(options.pointLatLng[0],options.pointLatLng[1]));var marker=new NokiaCF.LabeledMarker(new GLatLng(options.pointLatLng[0],options.pointLatLng[1]),markerOptions);if(options.pointHTML){GEvent.addListener(marker,options.pointOpenHTMLEvent,function(){marker.openInfoWindowHtml(options.pointHTML,{maxContent:options.pointMaxContent,maxTitle:options.pointMaxTitle})})}if(options.pointIsRemovable){GEvent.addListener(marker,options.pointRemoveEvent,function(){map.removeOverlay(marker)})}if(map.MarkerManager){map.MarkerManager.addMarker(marker,options.pointMinZoom,options.pointMaxZoom)}else{map.addOverlay(marker)}if(typeof callback=='function')return callback(marker,options);return};Mapifies.CheckResize=function(element){var map=Mapifies.MapObjects.Get(element);return map.checkResize()};Mapifies.SetMapType=function(element,mapType){var mapType=Mapifies.GetMapType(mapType);var map=Mapifies.MapObjects.Get(element);map.setMapType(mapType)};Mapifies.GetCurrentMapType=function(element){var map=Mapifies.MapObjects.Get(element);var currentMapType=map.getCurrentMapType();var mapType="";switch(currentMapType){case G_NORMAL_MAP:mapType="map";break;case G_SATELLITE_MAP:mapType="sat";break;case G_HYBRID_MAP:mapType="hybrid";break};return mapType};Mapifies.Pan=function(element,direction){var map=Mapifies.MapObjects.Get(element);var x=y=0;switch(direction){case"up":y=1;break;case"down":y=-1;break;case"left":x=1;break;case"right":x=-1;break};map.panDirection(x,y)};Mapifies.ZoomIn=function(element){var map=Mapifies.MapObjects.Get(element);map.zoomIn()};Mapifies.ZoomOut=function(element){var map=Mapifies.MapObjects.Get(element);map.zoomOut()}}(jQuery));NokiaCF.init_LabeledMarker=function(){NokiaCF.LabeledMarker=function(latlng,options){this.latlng=latlng;this.clickable=options.clickable||true;this.labelText=options.labelText||'undefined';this.labelClass=options.labelClass||"maplabel";this.arrowClass=options.arrowClass||"arrow";this.labelOffset=options.labelOffset||new GSize(0,0);this.labelMinZoom=options.labelMinZoom||0;this.labelLink=options.labelLink||"";this.atSurface=options.atSurface||false;this.onDragEnd=options.onDragEnd||null;this.showOnMouseOver=options.showOnMouseOver||true;this.picture=options.picture||false;this.picClass=options.picClass||"mappic";this.picOffset=options.picOffset||new GSize(0,0);GMarker.apply(this,arguments)};NokiaCF.LabeledMarker.prototype=new GMarker(new GLatLng(0,0));NokiaCF.LabeledMarker.prototype.initialize=function(map){var newEventPassthrough=function(obj,event){return function(){GEvent.trigger(obj,event)}};GMarker.prototype.initialize.call(this,map);var div=document.createElement("div");var arrowDiv=document.createElement("div");var span=document.createElement("span");div.className=this.labelClass;div.style.position="absolute";arrowDiv.className=this.arrowClass;div.appendChild(arrowDiv);div.appendChild(span);span.appendChild(document.createTextNode(this.labelText));if(this.labelLink&&jQuery&&jQuery.history){var that=this;GEvent.addListener(this,"click",function(){NokiaCF.loadContent(that.labelLink,{scroll:true});jQuery.history.add(that.labelLink);that.map.panTo(that.getPoint())})}if(this.clickable){var events=['click','dblclick','mousedown','mouseup','mouseover','mouseout'];for(var i=0;i<events.length;i++){var name=events[i];GEvent.addDomListener(div,name,newEventPassthrough(this,name))}div.style.cursor="pointer"}GEvent.addListener(this,"dragstart",function(){if(jQuery&&!jQuery.browser.msie)jQuery(this.div).fadeOut("fast");else this.div.style.display="none"});GEvent.addListener(this,"dragend",function(){this.redraw(true,true);if(this.onDragEnd){var that=this;setTimeout(function(){that.onDragEnd.call(that)},100)}});if(this.picture){var picdiv=document.createElement("div");var picimg=document.createElement("img");picdiv.className=this.picClass;picimg.src=this.picture;picdiv.appendChild(picimg);picdiv.style.display="none";picdiv.style.position="absolute";this.picdiv=picdiv;GEvent.addListener(this,"mouseover",function(){this.picdiv.style.display="block"});GEvent.addListener(this,"mouseout",function(){this.picdiv.style.display="none"})}GEvent.addListener(this,"mouseover",function(){this.div.style.zIndex=1;if(this.showOnMouseOver&&map.getZoom()<this.labelMinZoom){this.div.style.display="block"}});GEvent.addListener(this,"mouseout",function(){var z=GOverlay.getZIndex(this.getPoint().lat());this.div.style.zIndex=z;if(this.showOnMouseOver&&map.getZoom()<this.labelMinZoom){this.div.style.display="none"}});this.map=map;this.div=div;this.span=span;var pane=map.getPane(this.atSurface?G_MAP_FLOAT_PANE:G_MAP_FLOAT_SHADOW_PANE);pane.appendChild(div);if(this.picture)pane.appendChild(picdiv)};NokiaCF.LabeledMarker.prototype.setLabelText=function(newtext){this.span.innerHTML=newtext};NokiaCF.LabeledMarker.prototype.redraw=function(force,dragEnd){GMarker.prototype.redraw.call(this,this.map);if(!force)return;var p=this.map.fromLatLngToDivPixel(this.getPoint());var z=GOverlay.getZIndex(this.getPoint().lat());if(this.picture){this.picdiv.style.left=(p.x+this.labelOffset.width+this.picOffset.width)+"px";this.picdiv.style.top=(p.y+this.labelOffset.height+this.picOffset.height)+"px";this.picdiv.style.zIndex=z}this.div.style.left=(p.x+this.labelOffset.width)+"px";this.div.style.top=(p.y+this.labelOffset.height)+"px";this.div.style.zIndex=z+1;if(this.map.getZoom()>=this.labelMinZoom){if(dragEnd){if(jQuery&&!jQuery.browser.msie)jQuery(this.div).fadeIn("fast");else this.div.style.display="block"}}else{if(jQuery&&!jQuery.browser.msie)jQuery(this.div).fadeOut("fast");else this.div.style.display="none"}};NokiaCF.LabeledMarker.prototype.remove=function(){GEvent.clearInstanceListeners(this.div);this.div.parentNode.removeChild(this.div);this.div=null;if(this.picture){this.picdiv.parentNode.removeChild(this.picdiv);this.picdiv=null}GMarker.prototype.remove.call(this)};NokiaCF.baseIcon=new GIcon(G_DEFAULT_ICON);NokiaCF.baseIcon.image="images/misc/map_marker.png";NokiaCF.baseIcon.shadow="images/misc/map_marker_shadow.png";NokiaCF.baseIcon.iconSize=new GSize(37,34);NokiaCF.baseIcon.shadowSize=new GSize(37,34);NokiaCF.baseIcon.iconAnchor=new GPoint(33,32);NokiaCF.baseIcon.infoWindowAnchor=new GPoint(20,4);NokiaCF.baseIcon.imageMap=[13,0,35,0,35,26,13,26];NokiaCF.selectionIcon=new GIcon(NokiaCF.baseIcon);NokiaCF.selectionIcon.image="images/misc/map_marker_select.png"};(function($){$.fn.NCF_loadContent=function(options){var options=jQuery.extend({},$.fn.NCF_loadContent.defaults,options);this.each(function(){var self=$(this);self.href=self.attr('href');self.attr('href','#'+NokiaCF.hash.fromRequest(self.href));self.click(function(){NokiaCF.loadContent(self.href,options);$.history.add(NokiaCF.hash.fromRequest(self.href));self.trigger('blur');if(typeof options.callback=='function')options.callback.call(self);return false})});return this};$.fn.NCF_loadContent.defaults={scroll:false,defaultUrl:'index.php',callBack:null};NokiaCF.loadContent=function(url,options){var options=jQuery.extend({},$.fn.NCF_loadContent.defaults,options);var url=(url.match(/^#/)?NokiaCF.hash.toRequest(url):url);if(url.match(/compete\-form/)){NokiaCF.lightbox.open({url:url});return'lightbox'}else{NokiaCF.lightbox.close();var wrapper=$('#content_wrapper');var content=$('#content');var id=NokiaCF.rand();NokiaCF.loadContent.pipeId=id;NokiaCF.contentLoader.show();jQuery.ajax({url:(url||options.defaultUrl),dataType:'html',error:function(XMLHttpRequest,textStatus,errorThrown){alert('Error: Could not load content ('+XMLHttpRequest.status+')');NokiaCF.contentLoader.hide()},success:function(data){var msie=jQuery.browser.msie;if(NokiaCF.loadContent.pipeId!=id)return false;wrapper.css('height',content.height());content.empty();if(msie)content.hide();else content.css('opacity',0);content.append(data);NokiaCF.contentInit();if(msie)wrapper.css('height','auto');else{wrapper.animate({height:content.height()},300,null,function(){wrapper.css('height','auto')})}if(msie)content.show();else content.animate({opacity:1},300);if(options.scroll)$('html,body').animate({scrollTop:content.offset().top-20},300);if(msie)$('#footer_wrapper').css('bottom',0)}});return'content'}};NokiaCF.hash={toRequest:function(hash){var out=section='';var args=new Array();var idArg='id';hash=hash.replace(/^#/,'');section=hash.match(/^([^\/]+)/);id=hash.match(/\/([\d\w]+)/);page=hash.match(/\/page(\d+)/);if(id&&id[1].match(/page/))id=false;var acResponse;if(acResponse=hash.match(/^(attendent|competitor)\-response/)){idArg='hash';if(id&&id[1]=="error")idArg='status';section=['','compete-form'];if(acResponse[1]=='competitor')args.push('type=competitor')}var acSuccess;if(acSuccess=hash.match(/^(attendent|competitor)\-success/)){section=['','compete-form'];args.push('status=success');idArg='type';var type=acSuccess[1];id=['',type+'-'+((id&&id[1]=='update')?id[1]:'add')]}if(id)args.push(idArg+'='+id[1]);if(page)args.push('page='+page[1]);if(section)out+=section[1]+'.php';if(args.length>0)out+='?'+args.join('&');return(out)},fromRequest:function(string){var out=section=page='';section=string.match(/^(.+)\.(php|html)/);id=string.match(/id=([\da-z]+)/);page=string.match(/page=(\d+)/);if(section)out+=section[1];if(id)out+='/'+id[1];if(page)out+='/page'+page[1];var location=(""+window.location).replace(/#.*$/,'');out=out.replace(location,"");return(out)}};NokiaCF.LoaderPrototype=function(options){this.options=jQuery.extend({},NokiaCF.LoaderPrototype.defaults,options);this.element=$(this.options.elementPath);if(!this.element||!this.element.length)return false;var createLoader=function(){var container=$('<div/>');var loader=$('<div/>');if(this.options.containerId)container.attr('id',this.options.containerId);if(this.options.containerClass)container.addClass(this.options.containerClass);if(this.options.loaderId)loader.attr('id',this.options.loaderId);if(this.options.loaderClass)loader.addClass(this.options.loaderClass);container.css('height',this.element.height());container.append(loader);return container};this.show=function(){if(this.element.find('#'+this.options.containerId+',.'+this.options.containerClass).length)return false;var loader=createLoader.call(this);loader.hide().css('opacity',0).show();this.element.append(loader);loader.fadeTo(this.options.duration,(jQuery.browser.msie?0.8:1));this.loader=loader};this.hide=function(){this.loader.remove()}};NokiaCF.LoaderPrototype.defaults={elementPath:'#content',containerId:'content_loader',containerClass:null,loaderId:null,loaderClass:'loader',duration:300};NokiaCF.map={init:function(){if((typeof(GMap2)=="undefined")||!NokiaCF.init_LabeledMarker)return false;NokiaCF.init_LabeledMarker();var mapContainer=$('#map');mapContainer.jmap('init',{mapCenter:[48.922499263758226,9.755859375],mapZoom:4,mapShowMapifiesIcon:false,mapEnableSmoothZoom:true,mapControlSize:"none"}).jmap('CreateMarkerManager');jQuery.ajax({dataType:"json",url:"app/get-missions.php",success:function(data){$('#map_wrapper .views').mapViews(mapContainer);for(index in data.items){var point=data.items[index];mapContainer.jmap('AddLabeledMarker',{pointLatLng:point.latLng,pointIcon:NokiaCF.baseIcon,labelText:point.title,labelOffset:[20,-25],labelMinZoom:4,labelLink:"#mission/"+point.id,atSurface:false,picture:point.photo_small,picOffset:[-23,-111]})}}});mapContainer.mapNav();mapContainer.expandMapButton()}};$.fn.mapViews=function(mapContainer,options){var options=jQuery.extend({activeClass:'active'},options);if(!mapContainer.length)return this;var mapTypes=["map","sat","hybrid"];var mapType=Mapifies.GetCurrentMapType(mapContainer[0]);return this.each(function(){var list=$(this);var items=list.find('li');items.each(function(i){var item=$(this);var link=item.find('a');if(mapTypes[i]==mapType)item.addClass(options.activeClass);link.click(function(){items.removeClass(options.activeClass);items.slice(i,i+1).addClass(options.activeClass);mapContainer.jmap('SetMapType',mapTypes[i]);return false})})})};$.fn.expandMapButton=function(options){var options=jQuery.extend({className:'expand',expandedClassName:'expanded',expandedHeight:500,duration:300},options);return this.each(function(){var mapContainer=$(this);var originalHeight=mapContainer.height();var link=$('<a href="#">Expand!</a>');link.addClass(options.className);link.toggle(function(){link.addClass(options.expandedClassName);mapContainer.jmap('SavePosition');mapContainer.animate({height:options.expandedHeight},options.duration,function(){mapContainer.jmap('CheckResize').jmap('GotoSavedPosition');$('#footer_wrapper').css('bottom',0)})},function(){link.removeClass(options.expandedClassName);mapContainer.jmap('SavePosition');mapContainer.animate({height:originalHeight},options.duration,function(){mapContainer.jmap('CheckResize').jmap('GotoSavedPosition');$('#footer_wrapper').css('bottom',0)})});mapContainer.prepend(link)})};$.fn.mapNav=function(){return this.each(function(){var mapContainer=$(this);var mapObj=Mapifies.MapObjects.Get(mapContainer[0]);var originalZoom=mapObj.getZoom();var originalPosition=mapObj.getCenter();var mapNav=$('<div class="mapnav"></div>');var mnUp=$('<a class="up"></a>');var mnDown=$('<a class="down"></a>');var mnLeft=$('<a class="left"></a>');var mnRight=$('<a class="right"></a>');var mnReset=$('<a class="reset"></a>');var mnZoomIn=$('<a class="zoomin"></a>');var mnZoomOut=$('<a class="zoomout"></a>');mnUp.click(function(){mapContainer.jmap('Pan','up')});mnDown.click(function(){mapContainer.jmap('Pan','down')});mnLeft.click(function(){mapContainer.jmap('Pan','left')});mnRight.click(function(){mapContainer.jmap('Pan','right')});mnZoomIn.click(function(){mapContainer.jmap('ZoomIn')});mnZoomOut.click(function(){mapContainer.jmap('ZoomOut')});mnReset.click(function(){mapContainer.jmap('MoveTo',{mapCenter:[originalPosition.lat(),originalPosition.lng()],mapZoom:originalZoom})});mapNav.append(mnUp,mnLeft,mnReset,mnRight,mnDown,mnZoomIn,mnZoomOut);mapContainer.append(mapNav)})};$.fn.lightbox=function(options){var options=jQuery.extend({},NokiaCF.lightbox.defaults,options);return this.each(function(){var self=$(this);var href=self.attr('href');var hashRe=href.match(/^(#.+)/);var passOptions=hashRe?{element:$(hashRe[1])}:{url:self.attr('href')};passOptions=jQuery.extend({},options,passOptions);self.click(function(){self.trigger('blur');NokiaCF.lightbox.open(passOptions);return false})})};NokiaCF.lightbox={open:function(options){var options=jQuery.extend({},NokiaCF.lightbox.defaults,options);if(!options.url&&(!options.element||!options.element.length)&&!options.data)return false;var showBackground=function(){NokiaCF.lightbox.redraw.call(this);var loader;if(this.options.url){loader=$('<div id="'+this.options.loaderId+'"/>');loader.css('opacity',0);$('body').append(loader)}this.background.fadeTo(300,this.options.backgroundOpacity,function(){if(loader)loader.css('opacity',1)})};var showContainer=function(){var that=this;var html=$('html');var body=$('body');var scrollTop=html.scrollTop()||body.scrollTop();this.container.css('top',scrollTop+this.options.offsetTop);this.container.css('left',(html.width()-this.container.outerWidth())/2);$('#'+this.options.loaderId).remove();this.container.fadeTo(100,1,function(){that.container.find(':input:first').trigger('focus')});$(window).bind("keypress.lightbox",function(e){if(e.keyCode==27)NokiaCF.lightbox.close.call(that)})};var fill=function(data){this.content.empty();this.content.append(data);NokiaCF.lightboxInit()};var container,background,content;var body=$('body');container=$('#'+options.containerId);background=$('#'+options.backgroundId);if(container.length&&background.length){content=container.find('.'+options.contentClass);container.css('opacity',0).show();if(!background.is(':visible'))background.css('height','auto').css('opacity',0).show()}else{container=$('<div />');background=$('<div />');closeLink=$('<a class="'+options.closeClass+'" title="'+options.closeText+'">'+options.closeText+'</a>');content=$('<div class="'+options.contentClass+'" />');container.attr('id',options.containerId);background.attr('id',options.backgroundId);container.append('<div class="'+options.containerTopClass+'" />');container.append(closeLink);container.append(content);container.css('opacity',0);background.css('opacity',0);background.bind('click',function(){NokiaCF.lightbox.close(options,container,background)});closeLink.bind('click',function(){NokiaCF.lightbox.close(options,container,background);return(false)});body.append(container);body.append(background)}var lightboxInfo={background:background,container:container,content:content,options:options};if(options.url){showBackground.call(lightboxInfo);jQuery.ajax({url:options.url,error:function(XMLHttpRequest,textStatus,errorThrown){alert('Error: Could not load content ('+XMLHttpRequest.status+')');NokiaCF.lightbox.close(lightboxInfo)},success:function(data){fill.call(lightboxInfo,data);showContainer.call(lightboxInfo)}})}else if(options.element){fill.call(lightboxInfo,options.element.children().clone());showBackground.call(lightboxInfo);showContainer.call(lightboxInfo)}else if(options.data){fill.call(lightboxInfo,options.data);showBackground.call(lightboxInfo);showContainer.call(lightboxInfo)}return lightboxInfo},redraw:function(options){var options=this.options||jQuery.extend({},NokiaCF.lightbox.defaults,options);var container=this.container||$('#'+options.containerId);var background=this.background||$('#'+options.backgroundId);var document=$(document);background.css('height',document.height())},close:function(options){var options=this.options||jQuery.extend({},NokiaCF.lightbox.defaults,options);var container=this.container||$('#'+options.containerId);var background=this.background||$('#'+options.backgroundId);background.fadeOut(100).css('height','auto');container.fadeOut(50,function(){container.css('top',0)});$('#'+options.loaderId).remove();$(window).unbind("keypress.lightbox");if($.history.getCurrent().match(/^(attendent|competitor)/))$.history.add('')},defaults:{containerId:'lightbox',containerTopClass:'top',closeClass:'close',closeText:'Close',contentClass:'content',backgroundId:'lightbox_background',loaderId:'lightbox_loader',backgroundOpacity:0.6,offsetTop:30,url:null,element:null,data:null}};$.fn.ajaxLink=function(options){var options=jQuery.extend({callback:null},options);var error=function(message){alert(message)};return this.each(function(){var link=$(this);var url=link.attr('href');link.bind("click.ajaxlink",function(){jQuery.ajax({url:url,dataType:'json',error:function(XMLHttpRequest,textStatus,errorThrown){error('Error ('+XMLHttpRequest.status+', '+textStatus+')')},success:function(data){if(data.status=="success"){if(options.callback){options.callback.call(link,data)}}else{for(i in data.feedback){for(k in data.feedback[i]){error(data.feedback[i][k])}}}}});return false})})};$.fn.voteLink=function(options){var options=jQuery.extend({defaultColor:'#ffffff',flashColor:'#ffa800',flashDuration:500,flashDelay:500},options);var flashVotes=function(data){var link=this;var votes=$('p.votes',link[0].parentNode.parentNode);var idRE=link.attr('href').match(/id=(\d+)/);if(votes.length){var votesNum=votes.find('.num');votesNum.text(data.items.votes);votesNum.css('color',options.flashColor);setTimeout(function(){votesNum.animate({color:options.defaultColor},options.flashDuration)},options.flashDelay)}link.removeAttr('href').removeAttr('title').addClass('disabled');link.trigger('blur').unbind("click.ajaxlink");if(idRE){var id=idRE[1];NokiaCF.track(id,'MissionVote')}};return this.ajaxLink({callback:flashVotes})};$.fn.expandList=function(options){var options=jQuery.extend({itemPath:'ul:first > li',linkPath:'.more-link a',initialItems:5,expandItems:10},options);setLinkNum=function(link,num){link.text(link.text().replace(/\d+/,num))};return this.each(function(){var self=$(this);var items=self.find(options.itemPath);var link=self.find(options.linkPath);items.slice(options.initialItems).hide();visibleItems=options.initialItems;hiddenItems=items.slice(visibleItems);if(!hiddenItems.length||hiddenItems.length==0)link.hide();if(hiddenItems.length<options.expandItems)setLinkNum(link,hiddenItems.length);link.click(function(){if(visibleItems<items.length){items.slice(visibleItems,visibleItems+options.expandItems).show();visibleItems+=options.expandItems;hiddenItems=items.slice(visibleItems);if(!hiddenItems.length||hiddenItems.length==0)link.hide();if(hiddenItems.length<options.expandItems)setLinkNum(link,hiddenItems.length)}return false})})};NokiaCF.submitAjaxForm=function(form){var form=$(form);jQuery.ajax({url:form.attr('action'),data:form.serialize(),type:'POST',success:function(data){if(form.attr('id')=="comments_form"){var data=eval("("+data+")");if(data.status=="success")NokiaCF.loadContent(NokiaCF.hash.toRequest(jQuery.history.getCurrent()));else NokiaCF.injectFormErrors(data,form)}else{if(data.match(/^\s*\{/))NokiaCF.injectFormErrors(data,form);else NokiaCF.lightbox.open({data:data})}},cache:false});return false};NokiaCF.injectFormErrors=function(data,form){var errorBox=$('<ul class="errors" />');for(i in data.feedback){for(k in data.feedback[i])errorBox.append('<li>'+data.feedback[i][k]+'</li>')};form.find('fieldset:first').before(errorBox)};$.fn.footerLangNav=function(options){var options=jQuery.extend({},options);if(this.length>1)return this;var list=this;var currentItem=this.find('li.current');var otherItems=this.find('li:not(.current)');currentItem.click(function(){var height=currentItem.height();list.toggleClass('active');otherItems.each(function(i){var item=$(this);item.css('top',height*(i+1));item.toggle()})});this.bind('mouseleave',function(){list.removeClass('active');otherItems.hide()});return this};$.fn.commentsForm=function(options){var options=jQuery.extend({clickElementPath:'h3',contractedClass:'contracted'},options);if(this.length>1)return this;var form=$(this);var header=form.find(options.clickElementPath);var fieldsets=form.find('fieldset');form.addClass(options.contractedClass);fieldsets.hide();header.click(function(){form.toggleClass(options.contractedClass);fieldsets.toggle();if(fieldsets.slice(0,1).is(':visible'))form.find(':input:first').trigger('focus');$('#footer_wrapper').css('bottom',1).css('bottom',0)});return this};$.fn.externalLink=function(){return this.click(function(){window.open(this.href);return false})};$.fn.missionMap=function(options){var options=jQuery.extend({mapHeight:300,mapMarginBottom:"1.2em",inactiveClass:"disabled"},options);if(this.length>1)return this;var initMap=function(map,latlngElm,latField,longField){map.jmap('init',{mapCenter:[48.922499263758226,9.755859375],mapZoom:4,mapShowMapifiesIcon:false,mapEnableSmoothZoom:true,mapControlSize:"none"});map.jmap('AddLabeledMarker',{pointLatLng:[48.922499263758226,9.755859375],pointIcon:NokiaCF.selectionIcon,labelText:NokiaCF.strings.missionMapDragIcon,labelOffset:[20,-25],atSurface:false,pointIsDraggable:true,onDragEnd:function(){var prefix=NokiaCF.strings.missionMapLabelPrefix;var point=this.getPoint();var latlng=[point.lat(),point.lng()];var latlngTrunc=[NokiaCF.round(latlng[0],2),NokiaCF.round(latlng[1],2)];this.setLabelText(prefix+latlngTrunc[0]+', '+latlngTrunc[1]);latField.val(latlng[0]);longField.val(latlng[1]);$('#mission_form').valid()}});map.mapNav()};var link=$(this);var form=link.parents('form:first');var map=form.find('#mission_map');var latlngElm=form.find('em.latlng:first');var latField=form.find('input#mission_latitude');var longField=form.find('input#mission_longitude');map.hide();this.bind('click.missionmap',function(){var self=$(this);map.show();map.animate({height:options.mapHeight,marginBottom:options.mapMarginBottom},300,null,function(){initMap(map,latlngElm,latField,longField);NokiaCF.lightbox.redraw()});self.unbind('click.missionmap').bind('click.missionmap',function(){return false}).removeAttr('href').trigger('blur').parent().addClass(options.inactiveClass);return false});return this};$.fn.loadPresentation=function(){var link=this.find('a:first');var src=link.attr('href');var container=link.parent();link.remove();container.flash({src:src,width:740,height:507,version:'9'})};$.fn.contentNav=function(){if(!this.length||this.length>1)return this;var activeClass='active';var switchTab=function(){var link=$(this);var item=link.parent();items.removeClass(activeClass);item.addClass(activeClass);return false};var items=this.find('li');var links=this.find('a');$.fn.contentNav.defaultActive=this.find('li.'+activeClass);links.click(switchTab).NCF_loadContent({scroll:true});return this};$.fn.contentNavUpdate=function(hash){if(!this.length||this.length>1)return this;var hash=hash.replace(/\/page[\d]+/,'');var activeClass='active';var items=this.find('li');var links=this.find('a');var theLink=this.find('a[href$='+hash+']');if(hash&&theLink.length){items.removeClass(activeClass);theLink.parent().addClass(activeClass)}else if(hash==""){items.removeClass(activeClass);$.fn.contentNav.defaultActive.addClass(activeClass)}return this};$.fn.NCF_countdown=function(){if(!this.length||this.length>1)return this;var date=new Date();var str=this.attr('title');var re=str.match(/^(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})$/);if(re){date.setYear(re[1]);date.setMonth(parseInt(re[2])-1);date.setDate(re[3]);date.setHours(re[4]);date.setMinutes(re[5]);date.setSeconds(re[6])}this.countdown({until:date,layout:'%Y<span>%n</span><em>:</em>%Y%O<span>%nn</span><em>:</em>%O%D<span>%nn</span><em>:</em>%D%H<span>%nn</span><em>:</em>%H%M<span>%nn</span><em>:</em>%M%S<span>%nn</span>%S'});return this};$.fn.shareIt=function(){if(typeof addthis_open=="undefined")return this;var title=document.title+' - '+$('#content h1:first').text();var url=""+window.location;this.hover(function(){addthis_open(this,'',url,title)},function(){addthis_close()}).click(function(){return false});return this};NokiaCF.rand=function(){return String((new Date()).getTime()).replace(/\D/gi,'')};NokiaCF.round=function(num,dec){var result=Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);return result};jQuery.extend($.validator.messages,NokiaCF.strings.standardValidatorMessages);NokiaCF.defaultValidationSettings={onfocusout:function(element){this.element(element)},errorElement:'em',highlight:function(element,errorClass){$(element.parentNode).addClass(errorClass)},unhighlight:function(element,errorClass){$(element.parentNode).removeClass(errorClass)},success:function(label){label.text("");label.addClass('success')},messages:NokiaCF.strings.customValidatorMessages};NokiaCF.track=function(page,path){path='/Microsites/48h-mission/'+path;if(typeof(_hbPageView)=="function")_hbPageView(page,path)}}(jQuery));(function($){$('html').addClass('js');$(function(){NokiaCF.contentLoader=new NokiaCF.LoaderPrototype();$('#logo a').NCF_loadContent({scroll:true});$('#footer .lang').footerLangNav();$('#steps li, #phase2_intro .nkit').click(function(){var url=$(this).find('a:first').attr('href');NokiaCF.lightbox.open({url:url});return false});$('#competition_over a').NCF_loadContent({scroll:true,callback:function(){var self=this;$('#content_nav').contentNavUpdate(NokiaCF.hash.fromRequest(self.href))}});$('#content_nav').contentNav();var hash;if(jQuery.history&&(hash=jQuery.history.getCurrent())){if(NokiaCF.loadContent(NokiaCF.hash.toRequest(hash))=='lightbox'){NokiaCF.contentInit()}else{$('#content_nav').contentNavUpdate(hash)}}else{NokiaCF.contentInit()}if($('body#lightbox').length)NokiaCF.lightboxInit();$('#footer a[rel=terms]').lightbox();$('#footer a[rel=external]').externalLink();$('body').bind('ajaxStart',function(){$(this).css('cursor','wait')}).bind('ajaxStop',function(){$(this).css('cursor','auto')})});$(window).bind("load",function(){NokiaCF.map.init()});NokiaCF.contentInit=function(){var content=$('#content');content.find('.mission-panel h3 a, .mission-panel .image a, .mission-panel .comments a, .pagination a, .mission-nav a, .competitor-group h2 a:not([rel=external]), .mission-profile a').NCF_loadContent({scroll:true});content.find('.vote-link a').voteLink();content.find('h1 a, .badge a, .apply-link a, .suggest-mission-link a, .nkit-pic a, .competitor-group .image a, .feed .video a, .daredevil-profile a').lightbox();content.find('.mission-participants').expandList();content.find('.comments_form').commentsForm();content.find('.share-link a').shareIt();content.find('.daredevils .pair').click(function(){var url=$(this).find('a:first').attr('href');var hash=NokiaCF.hash.fromRequest(url);NokiaCF.loadContent(url,{scroll:true});$.history.add(hash);$('#content_nav').contentNavUpdate(hash);return false});content.find('.instashow').each(function(i){i==0&&NokiaCF.lightbox.open({element:$(this)})});content.find('a[rel=external]').externalLink();content.find('#comments_form').validate(jQuery.extend({submitHandler:NokiaCF.submitAjaxForm,rules:{"comment-form[name]":{required:true},"comment-form[email]":{required:true,email:true},"comment-form[comment]":{required:true}}},NokiaCF.defaultValidationSettings))};NokiaCF.lightboxInit=function(){var lb=$('#lightbox');lb.find('a[rel=external]').externalLink();lb.find('a[rel=terms]').lightbox();lb.find('a#mission_expand_map_link').missionMap();lb.find('a.reset-competitor').ajaxLink({callback:function(data){this.siblings('input:first').val('').removeAttr('disabled').trigger('focus');this.remove()}});lb.find('#mission_form').validate(jQuery.extend({submitHandler:NokiaCF.submitAjaxForm,rules:{"mission-form[title]":{required:true},"mission-form[longitude]":{required:true},"mission-form[description]":{required:true},"mission-form[firstname]":{required:true},"mission-form[lastname]":{required:true},"mission-form[email]":{required:true,email:true},"mission-form[terms]":{required:true}}},NokiaCF.defaultValidationSettings));var competeForm=lb.find('#compete_form');var competePhotoRequired=!!$('#compete_photo.required').length;competeForm.validate(jQuery.extend({rules:{"compete-form[firstname]":{required:true},"compete-form[lastname]":{required:true},"compete-form[email]":{required:true,email:true},"compete-form[age]":{required:true,number:true,min:18},"compete-form[city]":{required:true},"compete-form[description]":{required:true},"compete-form[motivation]":{required:true},"compete-form[competitor]":{required:true,email:true},"compete-form[photo]":(competePhotoRequired?{required:true,accept:"png|gif|jpg|jpeg"}:null),"compete-form[terms]":{required:true}}},NokiaCF.defaultValidationSettings));if(competeForm.find(':input:first').val())competeForm.valid();$('#lightbox #phonepresentation').loadPresentation()};$(window).bind("history",function(e,hash,previous){if(hash==""&&previous=="")return false;if(!previous.match(/^(attendent|competitor)/)){NokiaCF.loadContent(NokiaCF.hash.toRequest(hash));$('#content_nav').contentNavUpdate(hash)}})}(jQuery));