/* jQuery.fn.yourfunctionname = function() {

    var o = $(this[0]) // It's your element

};
*/

$(function(){
	positionFooter(); 
	function positionFooter(){
		if($(document.body).height() < $(window).height()){
			$("#stickyFooter").css({position: "absolute",top:($(window).scrollTop()+$(window).height()-$("#stickyFooter").height())+"px"})
		}	
	}
	
	$(window)
		.scroll(positionFooter)
		.resize(positionFooter)
	
	if ($('.slideshow').length) {
	    $('.slideshow').cycle({
	        pager: '#slidePager',
	        slideExpr: 'div.item',
			timeout: 8000,
			onPagerEvent: function(index,elem) {
				$('.slideshow .item').eq(index).addClass('clicked');
			},
			timeoutFn: function(curr,next,opt,flag) {
				if ($(curr).hasClass('clicked')) {
					$('.slideshow .item').removeClass('clicked');
					return 15000;
				}
				$('.slideshow .item').removeClass('clicked');
				return 8000;
			}
	    });
	}
});

$(function(){
	/*
	 * Pretty forms
	 */
	$('form.prettyform input[@type*=radio]').css('border','none');
	$('form.prettyform input[@type*=checkbox]').css('border','none');
	if($.browser.mozilla) { prettyform(); }
	
	/*
	 * Blur on focus
	 */
	$('a').focus(function() { this.blur(); });
    
    $('label.required').append(' <em>*</em>');
    
    $("#subnavigation a:last").addClass('last');
    
    //$("#subnavigation ul li a").append('<span>></span>');
	
	$(".content table ul li").prepend('<span>></span>');
	
	$('input#primaryEmail, input#firstname, input#lastname').addClass('input');
    
	$(".content .intro-box .chart table tr:odd").addClass('odd');
    
    $("div.custom_images a,#subscribeIcon").tipTip();
    
    $("#toggleComments").click( function(){
    	 $('#commentWrapper').toggle('fast',
    			 function(){
    		 			// account for height of form with floated submit button
	    				$("#stickyFooter").css({position: "absolute",top:($("#wrapper").height()-$("#stickyFooter").height() + $("blogCommentForm").height() +200 )+"px"});
	    			//alert( 'updated');
    		 });
    });
	
	$('.comparisonTable tr').children('td').wrapInner('<span class="spacer" />');
	$('.comparisonTable tr').slice(1,-2).find('span.spacer').addClass('border');
	$('.comparisonTable tr td:first .spacer').html('<div class="premium"></div>');
	
	$('table.borderBottom tr').find('td:even').addClass('even');
	$('table.downloadLog tr:even').addClass('even');
	
	$('.comparisonTable .button').parent('span').addClass('buttonSpace');
	/*$('table.comparisonTable').wrap('<div class="comparisonWrapper" />');*/
	
	$('table.comparisonTable tr:first td:eq(1) span.spacer').append('<div class="ribbon free"></div>');
	$('table.comparisonTable tr:first td:eq(2) span.spacer').append('<div class="ribbon premium"></div>');
	
	$('.homeList a').hover(function(){ $(this).parent('li').addClass('hover') },function(){ $(this).parent('li').removeClass('hover') });
	
	$('#agreeToMailout-label').prepend($('#agreeToMailout'));
	
	$('#sequencingSystems-element').append($('#sequencingSystemsOther'));
	if (!$('#os-Other').is(':checked')){
		$('#OperatingSystemOther').hide();
	}
	$('#sequencingSystemsOther-element, #sequencingSystemsOther-label').remove();
	
	$('#OperatingSystem-element').append($('#OperatingSystemOther'));
	if (!$('#sequencing-Other').is(':checked')){
		$('#sequencingSystemsOther').hide();
	}
	$('#OperatingSystemOther-element, #OperatingSystemOther-label').remove();
	
	$('#os-Other').click(function(){
		if ($(this).is(':checked')) {
			$('#OperatingSystemOther').show();
		} else {
			$('#OperatingSystemOther').hide();
		}
	});
	$('#sequencing-Other').click(function(){
		if ($(this).is(':checked')) {
			$('#sequencingSystemsOther').show();
		} else {
			$('#sequencingSystemsOther').hide();
		}
	});
	
	
	$('form#registration-form').submit(function(){
		if ($('#sequencing-Other:checked').length == 0) {
			$('#sequencingSystemsOther').remove();
		}
		if ($('#os-Other:checked').length == 0) {
			$('#OperatingSystemOther').remove();
		}
		//return false;
	});
	
	// Twitter feed
	var script = document.createElement('script');
	//script.type = 'text/javascript';
	//script.src = 'http://twitter.com/javascripts/blogger.js';
	//$(document.body).append(script);
	script.src = 'http://twitter.com/statuses/user_timeline/rtginvestigator.json?callback=twitterCallback2&count=5';
	$(document.body).append(script);
	
});

function searchAuthor(author) {
	$('#i_author').val(author);
	$('#i_keywords').val('');
	$('#f_blogsearch').submit();
}

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>';
		});
		statusHTML.push('<li><span>'+status+'</span> - <a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id_str+'">View tweet</a></li>');
	}
	$('#twitter_update_list').html(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';
	}
	}


/*
 * Pretty forms
 */
function prettyform(){
  /*
   * Hide forms
   */
  $( 'form.prettyform' ).hide().end();
  /*
   * Label & list formatting
   */
  $( 'form.prettyform' ).find( 'label' ).not( '.noprettyform' ).each( function( i ){
    var labelContent = this.innerHTML;
    var labelWidth = document.defaultView.getComputedStyle( this, '' ).getPropertyValue( 'width' );
    var labelSpan = document.createElement( 'span' );
        labelSpan.style.display = 'block';
        labelSpan.style.width = labelWidth;
        labelSpan.innerHTML = labelContent;
    this.style.display = '-moz-inline-box';
    this.innerHTML = '';
    this.appendChild( labelSpan );
  } ).end();
  
  /*
   * Show forms
   */
  $( 'form.prettyform' ).show().end();
}

function clearSearch(i){
    if( $(i).val() == "" ){
        $(i).val('Enter keyword...');
        $(i).addClass('inactive');
    }else if( $(i).val() == "Enter keyword..." ){
        $(i).val('');
        $(i).removeClass('inactive');
    }else{
        $(i).select();
    }
}
