
(function(){var GLOBAL={os:{mac:/Mac/.test(navigator.userAgent),win:/Windows/.test(navigator.userAgent)},ua:{ie:/MSIE/.test(navigator.userAgent),ie6:/MSIE 6/.test(navigator.userAgent),ie7:/MSIE 7/.test(navigator.userAgent),ff:/Firefox/.test(navigator.userAgent),ff2:/Firefox\/2/.test(navigator.userAgent),ff3:/Firefox\/3/.test(navigator.userAgent),safari:/Safari/.test(navigator.userAgent)},regExes:{email:/^([a-zA-Z0-9-_.]+@[a-zA-Z0-9-\.]+\.[a-zA-Z]{1,7})$/},validateEmail:function(val){return GLOBAL.regExes.email.test(val);},_init:function(){}};var Carousel=function(carousel,visible,slide,speed){this.activeIndex=null;this.state={active:null,first:null,last:null};this.rotator={shift:0,interval:null};this.inner={elem:null,elemWidth:0};this.nav={};this.slides={};this.getSlides=function(){var elem=this.inner.elem;var slides=elem.getElementsByTagName('li');var count=this.slides.count=slides.length;if(count>0){var width=this.slides.elemWidth=slides[0].offsetWidth;elem.elemWidth=width*count;for(var i=0;i<count;i++){slides[i].setAttribute('id','item-'+i);}}};this.activateCarouselNav=function(carousel,tag){var that=this;var $carouselControls=$(carousel).siblings('.carousel-controls');$carouselControls.show();var $buttons=$carouselControls.find('a');var count=that.nav.count=$buttons.length;that.nav.elemWidth=25;if(count>0){$buttons.click(function(e){e.preventDefault();$(this).blur();var v=this.title=='Previous'?-1:1;return that.rotateCarousel(v);});}
that.rotator.shift=that.inner.elem.offsetLeft-that.slides.elemWidth;};this.rotateCarousel=function(v){var rotator=this.rotator;if(!rotator.interval){var that=this;var increment=v*15;var elem=this.inner.elem;var $elem=$(elem);var slides=this.slides.elems;var first=slides[0];var last=slides[this.slides.count-1];var startPos=elem.offsetLeft;var shift=Math.abs(startPos-this.nav.elemWidth+this.slides.elemWidth);var endPos=(startPos+rotator.shift)*this.slide;if(increment<0){elem.style.left=(startPos+endPos)+'px';for(var i=0;i<that.slide;i++){$elem.prepend($elem.find('li:last'),$elem.find('li:first'));}
endPos=startPos;}
var shiftCarousel=function(){var currentPos=elem.offsetLeft;if((increment>0&&currentPos<=endPos)||(increment<0&&currentPos>=endPos)){clearInterval(rotator.interval);rotator.interval=null;if(increment>0){for(var i=0;i<that.slide;i++){$elem.append($elem.find('li:first'));}}
elem.style.left=startPos+'px';that.setActive();}
else{elem.style.left=(currentPos-increment)+'px';}};rotator.interval=setInterval(shiftCarousel,this.speed/.25);return false;}};this.setActive=function(){var slides=this.inner.elem.getElementsByTagName('li');this.slides.elems=slides;};this._init=function(carousel,visible,slide,speed){visible=visible?visible:4;slide=slide?slide:visible;speed=speed?speed:1;this.visible=visible;this.slide=slide;this.speed=speed;this.activeIndex=Math.floor(visible/2);var inner=this.inner.elem=$(carousel).find('.carousel-slides').get(0);this.getSlides();if(this.slides.count>0){this.activateCarouselNav(carousel,'a');var outerWidth=(this.slides.elemWidth*visible)+(this.nav.elemWidth*this.nav.count);var innerWidth=(this.slides.elemWidth*this.slides.count)+(this.nav.elemWidth*this.nav.count);this.inner.elem.style.width=innerWidth+'px';this.slides.elems=this.inner.elem.getElementsByTagName('li');}
return this;};this._init(carousel,visible,slide,speed);};var IDEA={pageId:'',activateNav:function(){var pageTitle=document.title.replace(' :: IDEA2009 :: Social and Experience Design','');$('#nav .main-nav li').each(function(){var $this=$(this);if($.trim($this.text())==IDEA.pageId){$this.addClass('active');}});var $subNav=$('.sidebar .sub-nav');var hash=document.location.hash.substr(1);$subNav.find('li a').each(function(){var $this=$(this);var $parent=$this.parent();var $siblings=$parent.siblings();});$subNav.find('li').each(function(){var $this=$(this);var $link=$this.find('a:first');if($this.hasClass('pager')){$this.bind('click',function(e){e.preventDefault();$('.expand').text('More...').siblings('p:not(p:first), .pre-conference-imagery').hide(100);$('.pages').attr('class','pages '+$link.attr('class')).find('.expand').text('Less...').siblings('p:not(p:first), .pre-conference-imagery').show(100);$this.siblings().each(function(){$(this).removeClass('active');});$this.addClass('active');document.title=$link.attr('title')+' :: IDEA2009 :: Social and Experience Design';});if(hash==$link.attr('href').split('#')[1]){$this.click();}
else if(hash==''){$subNav.find('li:eq(3)').click();}}
else if($link.attr('title')==pageTitle){$subNav.slideDown('fast',function(){$this.addClass('active').click(function(e){e.preventDefault();});});}});},activateForms:function(){$('input[type=text]').each(function(){this.defaultValue=this.value;var $this=$(this);$this.click(function(){if(!$this.hasClass('active')){$this.addClass('active');$this.value='';}});$this.blur(function(){if($.trim(this.value)==''){this.value=this.defaultValue;$this.removeClass('active');}});});},activateNotifyForRegister:function(){var email=$('#mailing-list-email')[0];var emailDefault='Email Address';email.value=emailDefault;var $email=$(email);var $button=$('.let-me-know form input[type=submit]');var $statusDiv=$('#mailing-list-status');var callbacks={success:function(data){$email.removeClass('active');$statusDiv.removeClass('frm-err').html('* Thank You! Your request has been sent').show(500).fadeOut('slow',callbacks.reset);},failure:function(){$statusDiv.addClass('frm-err').html('* Something went wrong').show(500);callbacks.reset();},reset:function(){email.blur();email.value=emailDefault;$email.removeClass('frm-err');$button.removeAttr('disabled');}};var $notify=$('.let-me-know form');$notify.submit(function(e){e.preventDefault();$statusDiv.hide();if(GLOBAL.validateEmail(email.value)){$button.attr('disabled','disabled');var postInfo='&'+$.param($('.let-me-know form input')).replace(/&good_url=.[^&]*/,'');$.post(this.action,postInfo,callbacksbacks.success,'html');}
else{$email.addClass('frm-err');$statusDiv.addClass('frm-err').html('* Invalid E-mail Address').show(500);}});},activateFlash:function(){$('.banner').media({width:940,height:250,autoplay:true,bgcolor:'#444'});$('.mars-swf').media({width:650,height:385,autoplay:true,bgcolor:'#fff'});},activateRegistrationTab:function(){if(GLOBAL.ua.ie6){$('.ajaxified').attr('href','/2009/Register/').removeClass('ajaxified');return;}
var $tab=$('.register-today');var $reg=$('.registration-blind');var $form=$reg.find('.registration-form:first');var $screen=$('.lightbox-screen');if(GLOBAL.ua.ff3&&GLOBAL.os.win){$('.iai-link').css({'margin-left':'145px'});}
if(GLOBAL.ua.ff2&&GLOBAL.os.win){$('.sec-nav').css({'left':'175px'});}
var callback={close:function(){$tab.toggleClass('close');$reg.toggleClass('open');$form.html('');$tab.blur();},open:function(){$tab.toggleClass('close');$form.html('<iframe frameborder="0" id="RegTabIFrame" name="Registration-Form" width="100%" height="100%" src="/2009/Register/Pricing"></iframe>');$tab.blur();}};$('.ajaxified').click(function(e){e.preventDefault();$screen.toggleClass('hide');if($reg.hasClass('open')){$reg.animate({top:'-580px'},700,callback.close);}
else{window.scrollTo(0,0);$reg.toggleClass('open');$reg.animate({top:'0'},1100,callback.open);}});},activateCarousel:function(){IDEA.carousels={};$('.accessible').each(function(i){var $this=$(this);if($this.find('.slide-entity').length>4){var $carousel=$this.find('.carousel:first');var info=$carousel[0].className.split(/[ -]/ig);$this.removeClass('accessible');IDEA.carousels[$this.attr('class')]=new Carousel($carousel,info[2],info[4],info[6]);}});IDEA.sponsorTimer=setInterval(function(){$('.carousel-sponsors .carousel-controls .next').click();},5000);$('.carousel-sponsors .carousel-controls').mousedown(function(){clearInterval(IDEA.sponsorTimer);IDEA.sponsorTimer=null;IDEA.carousels['carousel-sponsors'].speed=1;});},activateProgram:function(){$('.program-day ul li:not([class]):has(p+p)').each(function(){$(this).find('.time').before('<a href="#" class="expand">More...</a>').siblings('p:not(p:first), .pre-conference-imagery').hide();});$('.expand').toggle(function(){$(this).text('Less...').siblings('p:not(p:first), .pre-conference-imagery').slideDown(200);},function(){$(this).text('More...').siblings('p:not(p:first), .pre-conference-imagery').slideUp(200);});},_init:function(){IDEA.activateCarousel();IDEA.pageId=$('body')[0].id;IDEA.activateNav();IDEA.activateProgram();IDEA.activateForms();IDEA.activateFlash();if($('#mailing-list-email').length>0){IDEA.activateNotifyForRegister();}}};$(document).ready(function(){IDEA._init();window.IDEA=IDEA;});})();