/* --------- /javascripts/noConflict.js --------- */ 

jQuery.noConflict();/* --------- /javascripts/platformSelector.js --------- */ 

(function($){function t(str,test){return str.indexOf(test)!==-1;}
function uaIs(test){return t(ua,test);}
var ua=navigator.userAgent.toLowerCase();var ie=(!uaIs('opera')&&!uaIs('webtv')&&(/msie (\d+)/.test(ua)))?'ie ie_'+RegExp.$1:'';var os=(uaIs('x11')||uaIs('linux'))?'linux':uaIs('mac')?'mac':uaIs('win')?'win':'';var classNames=[ie,os,'js'];var agents=ua.split(' ');$.each(agents,function(){if(!this.match(/(\w+)\/([^\s]+)/)){return;}
var agent=RegExp.$1;var fullVersion=RegExp.$2.replace(/[\/\.]/g,'_');var majorVersion=fullVersion.replace(/_.*/,'');classNames=classNames.concat([agent,agent+'_'+fullVersion,agent+'_'+majorVersion]);});if($.inArray('safari',classNames)!==-1&&$.inArray('version',classNames)!==-1){classNames=$.map(classNames,function(c){return c.replace('version','safari');});}
if($.inArray('chrome',classNames)!==-1){classNames=$.map(classNames,function(c){return c.match(/^safari/)?null:c;});}
var engineVersion=((ua.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,'0'])[1]).replace(/\./g,'_');$.each(['opera','applewebkit','gecko'],function(){if($.inArray(String(this),classNames)!==-1){classNames.push(this+'_'+engineVersion);return false;}});var seen={};classNames=$.map(classNames,function(c){if(seen[c]||c.match(/^mozilla/)){return null;}else{seen[c]=true;return c;}}).join(' ');var html=$('html');html.addClass(classNames);$(function(){html.removeAttr('class');$('body').addClass(classNames);});})(jQuery);/* --------- /javascripts/clearingInput.js --------- */ 

(function($){$.extend($.fn,{clearingInput:function(options){var defaults={blurClass:'blur'};options=$.extend(defaults,options);return this.each(function(){var input=$(this).addClass(options.blurClass);var form=input.parents('form:first');var label,text;text=options.text||textFromLabel()||input.val();if(text){input.val(text);input.blur(function(){if(input.val()===''){input.val(text).addClass(options.blurClass);}}).focus(function(){if(input.val()===text){input.val('');}
input.removeClass(options.blurClass);});form.submit(function(){if(input.hasClass(options.blurClass)){input.val('');}});input.blur();}
function textFromLabel(){label=form.find('label[for='+input.attr('id')+']');return label?label.css({position:'absolute',left:'-9999px'}).text():'';}});}});})(jQuery);/* --------- /javascripts/stringUtils.js --------- */ 

(function($){$.extend($,{truncate:function(text,length,truncation){length=length||30;truncation=(typeof truncation==='undefined')?'...':truncation;return text.length>length?text.slice(0,length-truncation.length)+truncation:String(text);}});})(jQuery);/* --------- /javascripts/pngfix.js --------- */ 

(function($){$.fn.pngfix=function(options){var elements=this;var settings=$.extend({imageFixSrc:false,sizingMethod:false},options);if(!$.browser.msie||($.browser.msie&&$.browser.version>=7)){return(elements);}
function setFilter(el,path,mode){var fs=el.attr("filters");var alpha="DXImageTransform.Microsoft.AlphaImageLoader";if(fs[alpha]){fs[alpha].enabled=true;fs[alpha].src=path;fs[alpha].sizingMethod=mode;}else{el.css("filter",'progid:'+alpha+'(enabled="true", sizingMethod="'+mode+'", src="'+path+'")');}}
function setDOMElementWidth(el){if(el.css("width")=="auto"&el.css("height")=="auto"){el.css("width",el.attr("offsetWidth")+"px");}}
return(elements.each(function(){var el=$(this);if(el.attr("tagName").toUpperCase()=="IMG"&&(/\.png/i).test(el.attr("src"))){if(!settings.imageFixSrc){el.wrap("<span></span>");var par=el.parent();par.css({height:el.height(),width:el.width(),display:"inline-block"});setFilter(par,el.attr("src"),"scale");el.remove();}else if((/\.gif/i).test(settings.imageFixSrc)){setDOMElementWidth(el);setFilter(el,el.attr("src"),"image");el.attr("src",settings.imageFixSrc);}}else{var bg=new String(el.css("backgroundImage"));var matches=bg.match(/^url\("(.*)"\)$/);if(matches&&matches.length){setDOMElementWidth(el);el.css("backgroundImage","none");var sc="crop";if(settings.sizingMethod){sc=settings.sizingMethod;}
setFilter(el,matches[1],sc);el.find("a").each(function(){$(this).css("position","relative");});}}}));};})(jQuery);/* --------- /javascripts/cookie.js --------- */ 

jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options=$.extend({},options);options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+(options.path):'';var domain=options.domain?'; domain='+(options.domain):'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};/* --------- /javascripts/clueTip.js --------- */ 
;(function($){var $cluetip,$cluetipInner,$cluetipOuter,$cluetipTitle,$cluetipArrows,$dropShadow,imgCount;$.fn.cluetip=function(js,options){if(typeof js=='object'){options=js;js=null;}
return this.each(function(index){var $this=$(this);var opts=$.extend(false,{},$.fn.cluetip.defaults,options||{},$.metadata?$this.metadata():$.meta?$this.data():{});var cluetipContents=false;var cluezIndex=parseInt(opts.cluezIndex,10)-1;var isActive=false,closeOnDelay=0;if(!$('#cluetip').length){$cluetipInner=$('<div id="cluetip-inner"></div>');$cluetipTitle=$('<h3 id="cluetip-title"></h3>');$cluetipOuter=$('<div id="cluetip-outer"></div>').append($cluetipInner).prepend($cluetipTitle);$cluetip=$('<div id="cluetip"></div>').css({zIndex:opts.cluezIndex}).append($cluetipOuter).append('<div id="cluetip-extra"></div>')[insertionType](insertionElement).hide();$('<div id="cluetip-waitimage"></div>').css({position:'absolute',zIndex:cluezIndex-1}).insertBefore('#cluetip').hide();$cluetip.css({position:'absolute',zIndex:cluezIndex});$cluetipOuter.css({position:'relative',zIndex:cluezIndex+1});$cluetipArrows=$('<div id="cluetip-arrows" class="cluetip-arrows"></div>').css({zIndex:cluezIndex+1}).appendTo('#cluetip');}
var dropShadowSteps=(opts.dropShadow)?+opts.dropShadowSteps:0;if(!$dropShadow){$dropShadow=$([]);for(var i=0;i<dropShadowSteps;i++){$dropShadow=$dropShadow.add($('<div></div>').css({zIndex:cluezIndex-i-1,opacity:.1,top:1+i,left:1+i}));};$dropShadow.css({position:'absolute',backgroundColor:'#000'}).prependTo($cluetip);}
var tipAttribute=$this.attr(opts.attribute),ctClass=opts.cluetipClass;if(!tipAttribute&&!opts.splitTitle&&!js)return true;if(opts.local&&opts.hideLocal){$(tipAttribute+':first').hide();}
var tOffset=parseInt(opts.topOffset,10),lOffset=parseInt(opts.leftOffset,10);var tipHeight,wHeight;var defHeight=isNaN(parseInt(opts.height,10))?'auto':(/\D/g).test(opts.height)?opts.height:opts.height+'px';var sTop,linkTop,posY,tipY,mouseY,baseline;var tipInnerWidth=isNaN(parseInt(opts.width,10))?275:parseInt(opts.width,10);var tipWidth=tipInnerWidth+(parseInt($cluetip.css('paddingLeft'))||0)+(parseInt($cluetip.css('paddingRight'))||0)+dropShadowSteps;var linkWidth=this.offsetWidth;var linkLeft,posX,tipX,mouseX,winWidth;var tipParts;var tipTitle=(opts.attribute!='title')?$this.attr(opts.titleAttribute):'';if(opts.splitTitle){if(tipTitle==undefined){tipTitle='';}
tipParts=tipTitle.split(opts.splitTitle);tipTitle=tipParts.shift();}
var localContent;var activate=function(event){if(!opts.onActivate($this)){return false;}
isActive=true;$cluetip.removeClass().css({width:tipInnerWidth});if(tipAttribute==$this.attr('href')){$this.css('cursor',opts.cursor);}
$this.attr('title','');if(opts.hoverClass){$this.addClass(opts.hoverClass);}
linkTop=posY=$this.offset().top;linkLeft=$this.offset().left;mouseX=event.pageX;mouseY=event.pageY;if($this[0].tagName.toLowerCase()!='area'){sTop=$(document).scrollTop();winWidth=$(window).width();}
if(opts.positionBy=='fixed'){posX=linkWidth+linkLeft+lOffset;$cluetip.css({left:posX});}else{posX=(linkWidth>linkLeft&&linkLeft>tipWidth)||linkLeft+linkWidth+tipWidth+lOffset>winWidth?linkLeft-tipWidth-lOffset:linkWidth+linkLeft+lOffset;if($this[0].tagName.toLowerCase()=='area'||opts.positionBy=='mouse'||linkWidth+tipWidth>winWidth){if(mouseX+20+tipWidth>winWidth){$cluetip.addClass(' cluetip-'+ctClass);posX=(mouseX-tipWidth-lOffset)>=0?mouseX-tipWidth-lOffset-parseInt($cluetip.css('marginLeft'),10)+parseInt($cluetipInner.css('marginRight'),10):mouseX-(tipWidth/2);}else{posX=mouseX+lOffset;}}
var pY=posX<0?event.pageY+tOffset:event.pageY;$cluetip.css({left:(posX>0&&opts.positionBy!='bottomTop')?posX:(mouseX+(tipWidth/2)>winWidth)?winWidth/2-tipWidth/2:Math.max(mouseX-(tipWidth/2),0)});}
wHeight=$(window).height();if(js){$cluetipInner.html(js);cluetipShow(pY);}
else if(tipParts){var tpl=tipParts.length;for(var i=0;i<tpl;i++){if(i==0){$cluetipInner.html(tipParts[i]);}else{$cluetipInner.append('<div class="split-body">'+tipParts[i]+'</div>');}};cluetipShow(pY);}
else if(!opts.local&&tipAttribute.indexOf('#')!=0){if(cluetipContents&&opts.ajaxCache){$cluetipInner.html(cluetipContents);cluetipShow(pY);}
else{var ajaxSettings=opts.ajaxSettings;ajaxSettings.url=tipAttribute;ajaxSettings.beforeSend=function(){$cluetipOuter.children().empty();if(opts.waitImage){$('#cluetip-waitimage').css({top:mouseY+20,left:mouseX+20}).show();}};ajaxSettings.error=function(){if(isActive){$cluetipInner.html('<i>sorry, the contents could not be loaded</i>');}};ajaxSettings.success=function(data){cluetipContents=opts.ajaxProcess(data);if(isActive){$cluetipInner.html(cluetipContents);}};ajaxSettings.complete=function(){imgCount=$('#cluetip-inner img').length;if(imgCount&&!$.browser.opera){$('#cluetip-inner img').load(function(){imgCount--;if(imgCount<1){$('#cluetip-waitimage').hide();if(isActive)cluetipShow(pY);}});}else{$('#cluetip-waitimage').hide();if(isActive)cluetipShow(pY);}};$.ajax(ajaxSettings);}}else if(opts.local){var $localContent=$(tipAttribute+':first');var localCluetip=$.fn.wrapInner?$localContent.wrapInner('<div></div>').children().clone(true):$localContent.html();$.fn.wrapInner?$cluetipInner.empty().append(localCluetip):$cluetipInner.html(localCluetip);cluetipShow(pY);}};var cluetipShow=function(bpY){$cluetip.addClass('cluetip-'+ctClass);if(opts.truncate){var $truncloaded=$cluetipInner.text().slice(0,opts.truncate)+'...';$cluetipInner.html($truncloaded);}
function doNothing(){};tipTitle?$cluetipTitle.show().html(tipTitle):(opts.showTitle)?$cluetipTitle.show().html('&nbsp;'):$cluetipTitle.hide();if(opts.sticky){var $closeLink=$('<div id="cluetip-close"><a href="#">'+opts.closeText+'</a></div>');(opts.closePosition=='bottom')?$closeLink.appendTo($cluetipInner):(opts.closePosition=='title')?$closeLink.prependTo($cluetipTitle):$closeLink.prependTo($cluetipInner);$closeLink.click(function(){cluetipClose();return false;});if(opts.mouseOutClose){if($.fn.hoverIntent&&opts.hoverIntent){$cluetip.hoverIntent({over:doNothing,timeout:opts.hoverIntent.timeout,out:function(){$closeLink.trigger('click');}});}else{$cluetip.hover(doNothing,function(){$closeLink.trigger('click');});}}else{$cluetip.unbind('mouseout');}}
var direction='';$cluetipOuter.css({overflow:defHeight=='auto'?'visible':'auto',height:defHeight});tipHeight=defHeight=='auto'?Math.max($cluetip.outerHeight(),$cluetip.height()):parseInt(defHeight,10);tipY=posY;baseline=sTop+wHeight;if(opts.positionBy=='fixed'){tipY=posY-opts.dropShadowSteps+tOffset;}else if((posX<mouseX&&Math.max(posX,0)+tipWidth>mouseX)||opts.positionBy=='bottomTop'){if(posY+tipHeight+tOffset>baseline&&mouseY-sTop>tipHeight+tOffset){tipY=mouseY-tipHeight-tOffset;direction='top';}else{tipY=mouseY+tOffset;direction='bottom';}}else if(posY+tipHeight+tOffset>baseline){tipY=(tipHeight>=wHeight)?sTop:baseline-tipHeight-tOffset;}else if($this.css('display')=='block'||$this[0].tagName.toLowerCase()=='area'||opts.positionBy=="mouse"){tipY=bpY-tOffset;}else{tipY=posY-opts.dropShadowSteps;}
if(direction==''){posX<linkLeft?direction='left':direction='right';}
$cluetip.css({top:tipY+'px'}).removeClass().addClass('clue-'+direction+'-'+ctClass).addClass(' cluetip-'+ctClass);if(opts.arrows){var bgY=(posY-tipY-opts.dropShadowSteps);$cluetipArrows.css({top:(/(left|right)/.test(direction)&&posX>=0&&bgY>0)?bgY+'px':/(left|right)/.test(direction)?0:''}).show();}else{$cluetipArrows.hide();}
$dropShadow.hide();$cluetip.hide()[opts.fx.open](opts.fx.open!='show'&&opts.fx.openSpeed);if(opts.dropShadow)$dropShadow.css({height:tipHeight,width:tipInnerWidth}).show();if($.fn.bgiframe){$cluetip.bgiframe();}
if(opts.delayedClose>0){closeOnDelay=setTimeout(cluetipClose,opts.delayedClose);}
opts.onShow($cluetip,$cluetipInner);};var inactivate=function(){isActive=false;$('#cluetip-waitimage').hide();if(!opts.sticky||(/click|toggle/).test(opts.activation)){cluetipClose();clearTimeout(closeOnDelay);};if(opts.hoverClass){$this.removeClass(opts.hoverClass);}
$('.cluetip-clicked').removeClass('cluetip-clicked');};var cluetipClose=function(){$cluetipOuter.parent().hide().removeClass().end().children().empty();if(tipTitle){$this.attr(opts.titleAttribute,tipTitle);}
$this.css('cursor','');if(opts.arrows)$cluetipArrows.css({top:''});};if((/click|toggle/).test(opts.activation)){$this.click(function(event){if($cluetip.is(':hidden')||!$this.is('.cluetip-clicked')){activate(event);$('.cluetip-clicked').removeClass('cluetip-clicked');$this.addClass('cluetip-clicked');}else{inactivate(event);}
this.blur();return false;});}else if(opts.activation=='focus'){$this.focus(function(event){activate(event);});$this.blur(function(event){inactivate(event);});}else{$this.click(function(){if($this.attr('href')&&$this.attr('href')==tipAttribute&&!opts.clickThrough){return false;}});var mouseTracks=function(evt){if(opts.tracking==true){var trackX=posX-evt.pageX;var trackY=tipY?tipY-evt.pageY:posY-evt.pageY;$this.mousemove(function(evt){$cluetip.css({left:evt.pageX+trackX,top:evt.pageY+trackY});});}};if($.fn.hoverIntent&&opts.hoverIntent){$this.mouseover(function(){$this.attr('title','');}).hoverIntent({sensitivity:opts.hoverIntent.sensitivity,interval:opts.hoverIntent.interval,over:function(event){activate(event);mouseTracks(event);},timeout:opts.hoverIntent.timeout,out:function(event){inactivate(event);$this.unbind('mousemove');}});}else{$this.hover(function(event){activate(event);mouseTracks(event);},function(event){inactivate(event);$this.unbind('mousemove');});}}});};$.fn.cluetip.defaults={width:275,height:'auto',cluezIndex:97,positionBy:'auto',topOffset:15,leftOffset:15,local:false,hideLocal:true,attribute:'rel',titleAttribute:'title',splitTitle:'',showTitle:true,cluetipClass:'default',hoverClass:'',waitImage:true,cursor:'help',arrows:false,dropShadow:true,dropShadowSteps:6,sticky:false,mouseOutClose:false,activation:'hover',clickThrough:false,tracking:false,delayedClose:0,closePosition:'top',closeText:'Close',truncate:0,fx:{open:'show',openSpeed:''},hoverIntent:{sensitivity:3,interval:50,timeout:0},onActivate:function(e){return true;},onShow:function(ct,c){},ajaxCache:true,ajaxProcess:function(data){data=data.replace(/<s(cript|tyle)(.|\s)*?\/s(cript|tyle)>/g,'').replace(/<(link|title)(.|\s)*?\/(link|title)>/g,'');return data;},ajaxSettings:{dataType:'html'},debug:false};var insertionType='appendTo',insertionElement='body';$.cluetip={};$.cluetip.setup=function(options){if(options&&options.insertionType&&(options.insertionType).match(/appendTo|prependTo|insertBefore|insertAfter/)){insertionType=options.insertionType;}
if(options&&options.insertionElement){insertionElement=options.insertionElement;}};})(jQuery);/* --------- /javascripts/application.js --------- */ 

var RF={};jQuery(function($){$('.clearingInput').clearingInput();$('.httpClearingInput').clearingInput({text:'http://'});$('#logo img, .productFansShell a.becomeFan').pngfix();$('.notLoggedIn .requiresLogin').cluetip($('#loginTooltip').html(),{sticky:true,activation:'click',arrows:true,showTitle:false,width:190,closeText:' ',titleAttribute:''});$('#hideSplash a').click(function(e){e.preventDefault();var splash=$('#splash');splash.animate({height:'2.4em'});splash.children(':not(h1)').fadeOut();$.cookie('hide_splash',true,{expires:3*365});});$('.loggedIn a.productFans').click(function(e){var anchor=this;var indicator=$('<div></div>').addClass('indicator').show();e.preventDefault();$(anchor).fadeOut(function(){$(anchor).after(indicator);});$.ajax({url:anchor.href,dataType:'html',type:'post',data:{authenticity_token:encodeURIComponent(RF.AUTH_TOKEN)},error:function(){alert('Something went wrong :-(');},complete:function(){indicator.hide();},success:function(response){var container=$(anchor).parent();container.children().fadeOut();$(anchor).after(response);container.find('div.productFans').hide().fadeIn('slow');}});});$('.loggedIn #destinations a.voteUpIcon').click(function(e){destinationVote(e,this,true);});$('.loggedIn #destinations a.voteDownIcon').click(function(e){destinationVote(e,this,false);});function destinationVote(e,anchor,forAgainst){e.preventDefault();$.ajax({url:anchor.href,type:'post',dataType:'html',data:{for_against:forAgainst,authenticity_token:encodeURIComponent(RF.AUTH_TOKEN)},success:function(response){$(anchor).parent().after(response).remove();},error:function(){alert('Something went wrong :-(');}});}
$('#shareOnFacebook a').click(function(e){e.preventDefault();open(this.href+'?u='+encodeURIComponent(location.href)+'&t='+encodeURIComponent(document.title),'_blank','toolbar=0,status=0,width=626,height=436,resizeable=yes');});});
