$.fn.loadTwitterFeed = function(options) {
	
	var defaults={
		userId: "",
		qty: 3,
		title: "On Twitter",
		titleTag:"h2",
		callback: "?",
		fade: 200,
		urlsize: 50,
		followLink: "Follow us on Twitter",
		listClass: "tweetList",
		followLinkClass: "",
		loadingMessage: "Loading...",
		baseUrl: "/images/"
		};
	
	var userData = $.extend(defaults,options);
	
	return this.each(function(){
		
		var tweetDiv = $(this);
		//var tweetUrl= "http://twitter.com/status/user_timeline/"+userData.userId+".json?count="+userData.qty+"&callback="+userData.callback;
		
		//start Loading Tweets
		tweetDiv.empty().append("<p><img class='loading' src='"+userData.baseUrl+"ajax-loader.gif' width='16' height='16'/>&nbsp;&nbsp;"+userData.loadingMessage+"</p>");
		
		$.ajax({
  			//url: "http://twitter.com/status/user_timeline/"+userData.userId+".json",
  			url: "http://api.twitter.com/1/statuses/user_timeline/"+userData.userId+".json",
  			dataType: 'json',
  			data: "count="+userData.qty+"&callback="+userData.callback+"&include_rts=true",
  			success: function(d){
  				
  				tweetDiv.empty().append("<"+userData.titleTag+" class='twitter_widget_heading'><a href='http://twitter.com/"+userData.userId+"' target='_blank'>"+userData.title+"</a></"+userData.titleTag+">"+
					"<div class='"+userData.listClass+"' id='tweetlist'></div><!--<p class='followLink'>"+
					"<a class='"+userData.followLinkClass+"' href='http://twitter.com/"+userData.userId+"' target='_blank'>"+userData.followLink+" &rarr;</a></p>-->"
					);
  				//alert('about to process...');
  				$.each(d,function(i,item){
					
					//alert('processing...');
					
					var newTweet='<p id="tweet'+i+'">'+item.text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
				
						var newurl=url.split('http://')[url.split('http://').length-1];
				
						if(newurl.length>userData.urlsize){
							newurl=newurl.substr(0,userData.urlsize)+"[&hellip;]";
							}//end if
				
						return '<a href="'+url+'" target="_blank">'+newurl+'</a>';
						}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {	
					
							return  '<a class="tweet_mention" href="http://twitter.com/'+reply.substring(1)+'" target="_blank">'+reply.substring(0)+'</a>';
							
							})+' <small class="tweetTime">'+relative_time(item.created_at)+'</small></p>';
				
				$('#tweetlist').append(newTweet);
					
				});//end $.each()
  				},
  			error: function(){
  				$('#tweetlist').append("Sorry, an error occurred. Please try again later.");
  				}
			});
		
		
		});//end function()
	
	
	function relative_time(time_value) {
   		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);

   		if(delta < 60) {
    	   return 'less&nbsp;than&nbsp;a&nbsp;minute&nbsp;ago';
   			}//end if
   			
   		else if(delta < 120) {
     		return 'about&nbsp;a&nbsp;minute&nbsp;ago';
   			}//end else if
   			
   		else if(delta < (45*60)) {
       		return (parseInt(delta / 60)).toString() + '&nbsp;minutes ago';
   			}//end else if
   			
   		else if(delta < (90*60)) {
        	return 'about&nbsp;an&nbsp;hour&nbsp;ago';
       		}//end else if
       	
       	else if(delta < (24*60*60)) {
       		return 'about&nbsp;' + (parseInt(delta / 3600)).toString() + '&nbsp;hours&nbsp;ago';
   			}//end else if
   			
   		else if(delta < (48*60*60)) {
       		return '1&nbsp;day&nbsp;ago';
   			}//end else if
   			
   		else {
       		return (parseInt(delta / 86400)).toString() + '&nbsp;days&nbsp;ago';
   			}//end else
   			
		}//end Function relative_time
	
	
	};//end loadTwitterFeed extension

var state_hidden = true;
var $speed = 400;

//Variables
var $ua=navigator.userAgent;
var $iPadBrowser=/iPad/i.test($ua)||/iPhone OS 3_1_2/i.test($ua)||/iPhone OS 3_2_2/i.test($ua);
var $iPhoneBrowser=/iPhone/i.test($ua)||/iPhone OS 3_1_2/i.test($ua)||/iPhone OS 3_2_2/i.test($ua);

$(document).ready(function() {

// Remove Portfolio BG images for iOS devices - Fixes issue where bg image bleeds through
if($iPhoneBrowser == true || $iPadBrowser == true){
	removeBackgroundiOS($('div.member'));
	}//end if

if($("#apply-confirmation").length>0){
	$('.wrapper-apply-page').slideDown($speed);
	state_hidden = false;
	}


/*     test for opera */
	if($.browser.opera) {
		$("LINK[href='_css/fonts.css']").remove();
	}
    
    if($('#twitter-feed').length>0){	
    	
    	$('#twitter-feed').loadTwitterFeed({
    		userId:"lightbank",
    		listClass:"list",
    		followLinkClass:"read_more",
    		titleTag:"strong",
    		title:"on twitter",
    		qty:1,
    		baseUrl:'/static/img/'
    		});
    	
    	}
    
    $("#apply-button").click(function(){
        
        
        if (state_hidden == true){
        	$('#apply-form').css('display', 'block');
            $(".wrapper-apply-page").slideDown($speed);
            state_hidden = false;
        	}
        
        else{
        	//alert('hiding');
        	
        	$(".wrapper-apply-page, #apply-confirmation").slideUp($speed, function(){
        		if($("#apply-confirmation").length>0){$("#apply-confirmation").remove();}
        		});
        	
        	$('body').animate({scrollTop : 0},'5000',function(){
        		return false;
        		});
        	
        	state_hidden = true;
        	}
    });
    
    $('.member a').click(function(){
        
        this_row = $(this).parents('.row');
        
        if($(this).parent().hasClass('active')){
        	$('.placeholder').slideUp($speed,function(){
        		$('.member.active').removeClass('active');
        		if($iPhoneBrowser == true || $iPadBrowser == true){
        			hideBackgroundiOS($('.member a'));
        			}//end if
        		});
        	}//end if
        
        else if($('.placeholder', this_row).is(":visible")) {
        	var $nextItem = $(this).next('div').html();
	        $('.placeholder', this_row).slideUp($speed,function(){$(this).empty().append($nextItem);}).delay(50).slideDown($speed);        
       		}//end else if
       		
        else {
	        $('.placeholder').slideUp($speed);
    	    var placeholder = $($(this).parents('.row').find('.placeholder'));
	        placeholder.html($(this).next('div').html()).slideDown($speed);
        	}//end else
        	
        $('.member.active').removeClass('active');
        $(this).parent().addClass('active');
        
        if($iPhoneBrowser == true || $iPadBrowser == true){
        	hideBackgroundiOS($('.member a'));
        	showBackgroundiOS($('.member.active a'));
        	}//end if
        
        return false;
    });
    
    $('.team .close').live('click', function(){
        $(this).parents('.placeholder').slideUp();
        $('.member.active').removeClass('active');
        if($iPhoneBrowser == true || $iPadBrowser == true){
        	hideBackgroundiOS($('.member a'));
        	}//end if
        return false;
    });
    
    $('form.contact_form label').inFieldLabels();
    
/*     core js */
	$(".add-person").click(function() {
        total++;
        if (total >= 6) return;
        $("input[name=counter]").val(total);
        $("#ppl"+total).fadeIn("slow");
        if (total == 5) {
             $(".add-person").hide();
             $(".add-person-label").hide();
             $(this).find('.placeholder').placeholder();
        }
    });
    
    $(".placeholder").placeholder();    
    
});

function removeBackgroundiOS($item){

	var $style = $item.attr('style');
	$item.attr('style','');
	$item.attr('ios-style', $style);
	
	}//end function

function showBackgroundiOS($item){
	$item.css({
		'opacity':'1',
        'background-position' : 'bottom'
        });
	}//end function
	
function hideBackgroundiOS($item){
	$item.css({
		'opacity':'1',
        'background-position' : 'top'
        });
	}
