/* Author: David Jakobik, EtherCycle

*/

window.addEvent('domready', function() {
	$$('.contact h2').each(function(titleCase){
		// alert(titleCase);
		// titleCase.setStyle('text-transform','uppercase');
	});
	
	if ($('carousel')) {
		var preload = [];
		$('carouselPreload').getElements('a').each(function(preloaded){
			var newImg = new Element('img',{src:preloaded.get('href'),style:'visibility: hidden; opacity: 0;'});
			preload.include(newImg);
		});
		
		preload.shuffle().each(function(shuffledImg){
			shuffledImg.inject($('carousel'),'bottom');
		})
		
		$('next').addEvent('click',function(e){
			e.stop();
			if ($('carousel').getElement('.active').getNext('img')){
				$('carousel').getElement('.active').fade('out').getNext().fade('in');
				$('carousel').getElement('.active').removeClass('active').getNext().addClass('active');
			} else {
				$('carousel').getElement('.active').fade('out');
				$('carousel').getFirst('img').fade('in');
				$('carousel').getElement('.active').removeClass('active');
				$('carousel').getFirst('img').addClass('active');
			}
		})

		$('prev').addEvent('click',function(e){
			e.stop();
			if ($('carousel').getElement('.active').getPrevious('img')){
				$('carousel').getElement('.active').fade('out').getPrevious().fade('in');
				$('carousel').getElement('.active').removeClass('active').getPrevious().addClass('active');
			} else {
				$('carousel').getElement('.active').fade('out');
				$('carousel').getLast('img').fade('in');
				$('carousel').getElement('.active').removeClass('active');
				$('carousel').getLast('img').addClass('active');
			}
		});
	};

	if ($('maps')){
		// $$('#maps nav a').each(function(mapSelects){
		// 
		// 	mapSelects.set('href',mapSelects.get('href').replace(/\#(\w)/g, '$1'));
		// })
		
		$$('#maps nav').addEvent('click', function(e){
			e.stop();
			this.setStyle('height','auto');
			this.getElements('a').each(function(mapSelects){
				mapSelects.addEvent('click',function(ee){
					if($(this.get('href').replace(/\#(\w)/g, '$1')).hasClass('active')) {
						ee.stop();
					} else {
						ee.stop();
						$(this.get('href').replace(/\#(\w)/g, '$1')).fade('in');
						$$('#maps .active').fade('out');
						$$('#maps .active').removeClass('active');
						$(this.get('href').replace(/\#(\w)/g, '$1')).addClass('active');
						this.inject(this.getParent(),'top');
					}
					this.removeEvent('click');
					this.getParent().setStyle('height','25px');
				});
			});
		});
	};
});

function twitterCallback2(twitters) {
  var statusHTML = [];
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return '<a href="'+url+'">'+url+'</a>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://www.twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
    statusHTML.push('<li><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+status+'</a></li>');
  }
  $('twitter_update_list').innerHTML = statusHTML.join('');
}

function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
    return 'less than a minute ago';
  } else if(delta < 120) {
    return 'about a minute ago';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'about an hour ago';
  } else if(delta < (24*60*60)) {
    return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return '1 day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}

Array.implement({
	shuffle:function() {
		this.sort(function (x,y) { return Math.floor(Math.random()*3)-1; });
		return this;
	}
});
