var c3d = function() {
	return {
		toggleval : function() {
			var el = 'input#q';
			var a = 'enter search text here';
			var t = $(el).val();
			if (t == a) {
				$(el).val('');
			} else {
				if (t.length == 0 ) {
					$(el).val(a);
				}
			}
		}
	};
}();
$(document).ready(function(){
	/*==============
	Setup search box
	================*/
	$('input#q').focus(function(){c3d.toggleval();}).blur(function(){c3d.toggleval();});
	/*==============
	Open external links in a new window
	================*/
	$('a[href^=http]').not('a[href*=corporate3design.com]').attr({target: "_blank", title: "Opens in a new window"});
	
	/*$('form.contact').validate({
		errorPlacement: function(error, element) {
    		 error.prependTo( element.parent("dd") )
   		}
	});
		alert("ready");*/

	$('ul.portfolio li').not('ul.portfolio li:last-child').append("&nbsp;| ");
	$('ul.recentwork li a, ul.biolist li a').append('<span></span>');
	//$('.columns').columnize({columns:3, buildOnce: true});
	$('.cycle').before('<ul id="slidenav">').cycle(
			{
				timeout: 3000, 
   				pager:  '#slidenav',
				fit: 1,
				pauseOnPagerHover: 1,// true to pause when hovering over pager link
				pagerAnchorBuilder: function(idx, slide) { // callback fn that creates a thumbnail to use as pager anchor
					return '<li><a href="#">&bull;</a></li>'; 
				} 
			}
	);
	$('form.contact, form#now').validate();
	$('a#toForm').click(function(){
		var targetOffset = $('form#now').offset().top;
       	$('html,body').animate({scrollTop: targetOffset}, 500);
		$('#company').focus();
		return false;
	});
	
});
DD_roundies.addRule('ul#slidenav', '15px 0 15px 0', true)
Cufon.replace('h2, h3:not(.plain)', { fontFamily: 'Helvetica' });
Cufon.replace('h4', { fontFamily: 'Helvetica45' });


/*===========================================
	FROM: twitter.com/javascripts/blogger.js
	Modified: Lane Roberts, Corporate3Design
  ===========================================*/
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://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
	var source = twitters[i].source;
    statusHTML.push('<li><span>'+status+'</span><br /><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+c3d_time(twitters[i].created_at)+'</a> from ' + source + '</li>');
  }
  $('#twitter_update_list').html( statusHTML.join('') );
}

function c3d_time(time_value) {
	var monthNames = [
		"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
		"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
	];
	var values = time_value.split(" ");
	//time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	//Fri Jul 31 2009 10:11:48 GMT-0500 (CST)
	//Fri Jul 31 15:11:48 +0000 2009
	// 0   1  2      3      4     5
	var parsed_date = Date.parse(time_value);
	var d = new Date();
	d.setTime(parsed_date);
	var str = (d.getHours() > 12) ? d.getHours() - 12 + ':' + ( (d.getMinutes() < 9) ? '0' + d.getMinutes() : d.getMinutes() ) + ' PM ' : d.getHours() + ':' + ( (d.getMinutes() < 9) ? '0' + d.getMinutes() : d.getMinutes() )  + ' AM ';
	str += monthNames[d.getMonth()] + ' ' + d.getDate();
	return str;
}
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';
  }
}