window.log = function(){
  log.history = log.history || [];   // store logs to an array for reference
  log.history.push(arguments);
  if(this.console){
    console.log( Array.prototype.slice.call(arguments) );
  }
};

var verticalColors = {
	"home-and-building": "#62af2f",
	"sports": "#603913",
	"financial": "#3099b6",
	"healthcare": "#e96633"
};
var vertDefaultColor = "#444444";
var twitterTO, blogTO;
var isMobile = false;
if(navigator.platform == 'iPad' || navigator.platform == 'iPhone' || navigator.platform == 'iPod') {
    isMobile = true;
}

$(document).ready(function(){
	if($(".modal").length) {
		$(".modal").hover(function() {
			var $this = $(this).children("img").eq(0);
			var $mg = $("#mag-glass");
			var $top = $this.position().top + ~~($this.height() >> 1) - ~~($mg.height >> 1);
			var $left = $this.position().left + ~~($this.width() >> 1) - ~~($mg.width >> 1);

			$mg.stop().css({
				top: $top,
				left: $left
			}).animate({
				opacity: 1
			}, 500);
		}, function() {
			$("#mag-glass").stop().animate({
				opacity: 0
			}, 500);
		});
		$("#mag-glass").live("click", function() {
			$(this).parent().click();
		});
		$(".modal").click(function() {
			_gaq.push(['_trackEvent', 'Case Studies', 'Pop Up', $(this).attr('rel')]);
			
			$("#modal-overlay").css({
				height: $(document).height()
			});
			$("#modal-content").css({
				height: $(document).height()
			})
			$("#modal-content-item").html('<img src="' + $(this).attr("rel") + '" class="modal-image" />');
			$("#modal-overlay").data('saveScroll',$(document).scrollTop());
			$('html,body').animate({
				scrollTop: 0
			}, 1000);
			$("#modal-overlay").fadeIn(1000);
		});
		$(".modal-content-close").live('click', function() {
			$("#modal-overlay").fadeOut(500);
			$('html,body').animate({
				scrollTop: $("#modal-overlay").data('saveScroll')
			}, 500);
		});
		//$(".modal-content-close").live('click', function() {
		//	$("#modal-overlay").fadeOut(1000);
		//});
		var modalHTML = '' +
			'<div id="modal-overlay">' +
			   '<div id="modal-content">' +
			  	  '<a href="#" class="modal-content-close" id="top-close">CLOSE</a>' +
					'<div id="modal-content-item"></div>' +
			      '<a href="#" class="modal-content-close" id="bottom-close">CLOSE</a>' +
			   '</div>' +
			  '</div>';
	    $("body").eq(0).append(modalHTML);
	}
	$("#twitter-rollover *").hover(function(event) {
		clearTimeout(window.twitterTO);
		$("#twitters-rollover").fadeIn(100);
		event.stopPropagation();
	}, function() {
		clearTimeout(window.twitterTO);
		window.twitterTO = setTimeout(function() {
			$("#twitters-rollover").fadeOut(100);
		}, 500);
	});
	
	$("#blog-rollover *").hover(function(event) {
		clearTimeout(window.blogTO);
		$("#blogs-rollover").fadeIn(200);
		event.stopPropagation();
	}, function() {
		clearTimeout(window.blogTO);
		window.blogTO = setTimeout(function() {
			$("#blogs-rollover").fadeOut(200);
		}, 500);
	});
	
	$("#site-search").focus(function() {
		if($("#site-search").val() == "SITE SEARCH") {
			$("#site-search").val('');
		}
	});
	$("#site-search").blur(function() {
		if($("#site-search").val() == "") {
			$("#site-search").val('SITE SEARCH');
		}
	});

	$("#get-in-touch-link").click(function(event) {
		_gaq.push(['_trackEvent', 'Get In Touch', 'Pop Up', $(this).attr("rel")]);
		event.stopPropagation();
	});
	$("#get-in-touch-email").click(function(event) {
		_gaq.push(['_trackEvent', 'Get In Touch', 'Email', $(this).attr("rel")]);
	});

	$("#get-in-touch-link").click(function() {
		if($("#get-in-touch").css("display") == "block") {
			$(document).unbind('click');
			$("#get-in-touch").fadeOut();
		} else {
			$("#get-in-touch").fadeIn(function(){
				$(document).click( function() { $("#get-in-touch-link").click(); });
			});
		}
	});

	/* Home Page */
	if(!Modernizr.csstransitions) {
		$(".homepage-verticals").hover(
			function(){
				var vert = ($(this).attr("id")).replace("vert-", "");
				$(this).stop(true, false).animate({
					width: 300,
					backgroundColor: verticalColors[vert]
				}, 400);
			}, 
			function(){
				var vert = ($(this).attr("id")).replace("vert-", "");
				$(this).stop(true, false).animate({
					width: 102,
					backgroundColor: vertDefaultColor 
				}, 400);
			}
		);
	}
	if($("#accordion-background-cycle").length) {
		if($.fn.cycle !== undefined){  // is jcycle plugin available? 
			$("#accordion-background-cycle").cycle({ fx: 'fade'});
		}
	}
	/* End Home Page */

	/* Vertical Landing Pages */
	if($("#carousel-window").length) {
		$(".carousel-view-our-work").click(function() {
			_gaq.push(['_trackEvent', 'Business Unit Carousel', 'Work - View Our Work', $(this).attr('rel')]);
		});
		$(".carousel-meet-our-people").click(function() {
			_gaq.push(['_trackEvent', 'Business Unit Carousel', 'Meet Our People', $(this).attr('rel')]);
		});
		$(".carousel-image-work-image").click(function() {
			_gaq.push(['_trackEvent', 'Business Unit Carousel', 'Work - Image', $(this).attr('rel')]);
		});
		$(".carousel-image-work-image").click(function() {
			_gaq.push(['_trackEvent', 'Business Unit Carousel', 'Work - Image', $(this).attr('rel')]);
		});
		window.imreCarouselGoToSlide = function(slide) {
			var $carouselData = $("#carousel-window").data("imreCarousel");
			var newTop = -(slide * $carouselData.itemHeight);
			var newBubbleTop = $(".carousel-bubble").eq(slide).position().top;
			$carouselData.currentIndex = slide;
			$carouselData.itemWidth = $("#carousel-window .carousel-item").eq(0).width();
			$carouselData.itemHeight = $("#carousel-window .carousel-item").eq(0).height();
			$carouselData.windowWidth = $("#carousel-window").innerWidth();
			$carouselData.windowHeight = $("#carousel-window").innerHeight();
			$("#carousel-window").data("imreCarousel", $carouselData);
/*			if(Modernizr.csstransitions) {
				$("#carousel").css({
					top: newTop
				});
				$(".bubble-active").css({
					top: newBubbleTop
				});
			} else {*/
				$("#carousel").stop().animate({
					top: newTop
				}, 700);
				$(".bubble-active").stop().animate({
					top: newBubbleTop
				}, 700);
//			}
		};
		window.imreCarouselNext = function() {
			var $carouselData = $("#carousel-window").data("imreCarousel");
			var newSlide = $carouselData.currentIndex+1;
			if(newSlide >= $carouselData.items) {
				newSlide = 0;
			}
			imreCarouselGoToSlide(newSlide);
		};
		window.imreCarouselPrev = function() {
			var $carouselData = $("#carousel-window").data("imreCarousel");
			var newSlide = $carouselData.currentIndex - 1;
			if(newSlide < 0) {
				newSlide = $carouselData.items - 1;
			}
			imreCarouselGoToSlide(newSlide);
		};
		window.imreCarouselResize = function() {
			var curIndex = 0;
			var curData = $("#carousel-window").data("imreCarousel");
			if(typeof curData === "object") {
				curIndex = curData.currentIndex;
			}
			$("#carousel-window").data("imreCarousel", {
				items: $("#carousel-window .carousel-item").length,
				itemWidth: $("#carousel-window .carousel-item").eq(0).width(),
				itemHeight: $("#carousel-window .carousel-item").eq(0).height(),
				windowWidth: $("#carousel-window").innerWidth(),
				windowHeight: $("#carousel-window").innerHeight(),
				currentIndex: curIndex,
				windowMarginTop: parseInt($("#carousel-window").css("marginTop"))
			});
			imreCarouselGoToSlide(curIndex);
		};
		$(window).resize(imreCarouselResize);
		imreCarouselResize();
		$(".carousel-bubble").not("#bubbleActive").each(function(theindex) { 
			$(this).click(function() {
				clearInterval(carouselInterval);
				window.carouselInterval = setInterval(function() {
					imreCarouselNext();
				}, 20000);
				imreCarouselGoToSlide(theindex);
			});
		});
/*		$(".carousel-bubble").click(function() {
			var whichBubble = ($(this).attr("id")).replace(/bubble/, '');
			$("#carousel").jcarousel('scroll', +whichBubble, true);
		});*/
		window.carouselInterval = setInterval(function() {
			imreCarouselNext();
		}, 8000);

		$(".carousel-slider-portrait").click(function() {
			var theperson = $(this).attr("rel");
			_gaq.push(['_trackEvent', 'Business Unit Carousel', 'Meet', theperson]);
			if(isMobile) { 
				window.location.href = document.location.protocol + "//" + document.location.host + "/people/" + theperson; 
				return false;
			}
			window.location.href="people/#" + theperson;
		});
	}
	
	/* End Vertical Landing Pages */
	
	/* Careers Page */
	$(".career").click(function() {
		var theCareer = $(this).children(".career-details").eq(0);
		$(".career-details").slideUp('slow');
		$(".career-header").css("color", "#6c6c6c");
		if(theCareer.css('display') === 'block') {
			theCareer.slideUp('slow').siblings('.career-header').eq(0).css('color', '#6c6c6c');
		} else {
			theCareer.slideDown('slow').siblings('.career-header').eq(0).css('color', '#ed1c24');
		}
	});

	/* Capabilities Page */
	if($("#capabilities").length) {
		var removeAnim, removeAnimDuration, shadowDiv, contentDiv;
		$(".capability-close").live('click', function(){
			if(origin = $("#capability-shadow").data("origin")) {
				removeAnim = { "opacity": 0, "left": origin.left, "top": origin.top, "width": origin.width, "height": origin.height };
			} else {
				removeAnim = { "opacity": 0 };
			}
			$("#capability-box-content-show").animate({ opacity: 0 }, 250, function() {
				$("#capability-shadow").animate(removeAnim, 200, function() {
					$("#capability-shadow,#capability-box-content-show").css({
						"display": "none"
					});
				});
			});
		});
		$(".capability-meet-box").live('click', function() {
			_gaq.push(['_trackEvent', 'Capabilities', 'Meet', $(this).attr('rel')]);
		});
		
		$(".capability-box").click(function() {
			_gaq.push(['_trackEvent', 'Capabilities', 'Pop Up', $(this).attr('rel')]);
			shadowDiv = $("#capability-shadow");
			contentDiv = $("#capability-box-content-show");
			currentDiv = $(this).children(".capability-box-content").eq(0);
			var thisOffset = $(this).offset();	
			var topLeftOffset = $(".capability-box").eq(0).offset();
			var current = {};
			var target = {};
			var origin;
			current.left = thisOffset.left - topLeftOffset.left;
			current.top = thisOffset.top - topLeftOffset.top;
			current.row = ~~(current.top / capabilityBoxInfo.height);
			current.col = ~~(current.left / capabilityBoxInfo.width);
			current.width = ~~capabilityBoxInfo.width;
			current.height = ~~capabilityBoxInfo.height;
			
			target.row = 0;
			target.col = (current.col < 2) ? 0 : ((current.col == 2) ? 1 : 2);
			target.top = target.row * capabilityBoxInfo.height;
			target.left = target.col * capabilityBoxInfo.width;
			target.width = capabilityBoxInfo.width * 2;
			target.height = capabilityBoxInfo.height * 2;
			if(shadowDiv.css("display") == "block") {
				if(origin = shadowDiv.data("origin")) {
					removeAnim = { "opacity": 0, "left": origin.left, "top": origin.top, "width": origin.width, "height": origin.height };
				} else {
					removeAnim = { "opacity": 0};
				}
				removeAnimDuration = 200;
			} else {
				removeAnim = {};
				removeAnimDuration = 10;
			}
			contentDiv.animate({ opacity: 0 }, 250, function(){
				contentDiv.html(currentDiv.html());
				contentDiv.css("display", "none");
				shadowDiv.animate(removeAnim, removeAnimDuration, function() {
					contentDiv.css({
						left: target.left + "px",
						top: target.top + "px",
						"width": target.width,
						"height": target.height,
						opacity: 0,
						"display": "block"
					});
					$(this).css({
						"left": current.left + "px",
						"top": current.top + "px",
						"width": capabilityBoxInfo.width,
						"height": capabilityBoxInfo.height,
						opacity: 0.8,
						"display": "block"
					}).animate({
						left: target.left + "px",
						top: target.top + "px",
						"width": target.width,
						"height": target.height
					}, 400, function(){
						shadowDiv.data("origin", current);
						contentDiv.animate({ opacity: 1 }, 150);
					});
				});
			});
		});
		window.capabilityBoxInfo = {
			width: $(".capability-box").eq(0).outerWidth()+8,
			height: $(".capability-box").eq(0).outerHeight()+8,
			containerWidth: $("#capabilities").width(),
			paddingLeft: ($(".capability-box").eq(0).outerWidth() - $("a.portrait").eq(0).width()) >> 1,
			paddingTop: ($(".capability-box").eq(0).outerHeight() - $("a.portrait").eq(0).height()) >> 1
		}
		
	}
	
	/* People pages */
	if($("#people-portraits").length) {  // are we on the people page?
		var removeAnim, removeAnimDuration;

		$(".people-back-to-top").live('click',function() {
			$('#bio-content .bio-content-right').scrollTo(0);
		});
		$(".bio-close").live('click', function(){
			if(origin = $("#bio").data("origin")) {
				removeAnim = { "opacity": 0, "left": origin.left, "top": origin.top, "width": origin.width, "height": origin.height };
			} else {
				removeAnim = { "opacity": 0 };
			}
			$("#bio-content").animate({ opacity: 0 }, 250, function() {
				$("#bio").animate(removeAnim, 200, function() {
					$("#bio-content").css({
						"display": "none"
					});
					$("#bio").css({
						"display": "none"
					});
				});
			});
		});
		
		// make a globalized cache of the offset and width of the top left portrait and container width
		window.portraitInfo = {
			width: $("a.portrait").eq(0).outerWidth(),
			height: $("a.portrait").eq(0).outerHeight(),
			containerWidth: $("#people-portraits").width(),
			paddingLeft: ($("a.portrait").eq(0).outerWidth() - $("a.portrait").eq(0).width()) >> 1,
			paddingTop: ($("a.portrait").eq(0).outerHeight() - $("a.portrait").eq(0).height()) >> 1
		};
		$(".people-page-email-link").live('click', function() {
			_gaq.push(['_trackEvent', 'People', 'Email', $(this).attr('rel')]);
		});
		$("a.portrait").click(function(){
			_gaq.push(['_trackEvent', 'People', 'Pop-Up', $(this).attr('person')]);
			var thisPerson = $(this).attr("person");
			if(isMobile) { 
				document.location.href = document.location.protocol + "//" + document.location.host + "/people/" + thisPerson; 
				return false;
			}
			var thisOffset = $(this).offset();
			var topLeftOffset = $("a.portrait").eq(0).offset();
			var current = {};
			var target = {};
			var origin;
			current.left = thisOffset.left - topLeftOffset.left;
			current.top = thisOffset.top - topLeftOffset.top;
			current.row = ~~(current.top / portraitInfo.height);
			current.col = ~~(current.left / portraitInfo.width);
			current.width = ~~portraitInfo.width;
			current.height = ~~portraitInfo.height;
			
			target.row = (current.row < 2) ? 0 : current.row - 1;
			target.col = (current.col < 2) ? 0 : ((current.col == 2) ? 1 : 2);
			target.top = target.row * portraitInfo.height + portraitInfo.paddingTop;
			target.left = target.col * portraitInfo.width + portraitInfo.paddingLeft;
			target.width = portraitInfo.width * 3 - (portraitInfo.paddingLeft * 5);
			target.height = portraitInfo.height * 2 - (portraitInfo.paddingTop * 4);
			
			if($("#bio").css("display") == "block") {
				if(origin = $("#bio").data("origin")) {
					removeAnim = { "opacity": 0, "left": origin.left, "top": origin.top, "width": origin.width, "height": origin.height };
				} else {
					removeAnim = { "opacity": 0};
				}
				removeAnimDuration = 200;
			} else {
				removeAnim = {};
				removeAnimDuration = 10;
			}
			
			$("#bio-content").animate({ opacity: 0 }, 250, function(){
				$("#bio-content").css("display", "none");
				$("#bio-content").html(
					$("#bio-container ." + thisPerson).html()
				);
				$("#bio").animate(removeAnim, removeAnimDuration, function() {
					$("#bio-content").css({
						left: target.left,
						top: target.top,
						width: target.width,
						height: target.height,
						opacity: 0,
						display: "block"
					});
					$(this).css({
						left: current.left,
						top: current.top,
						width: portraitInfo.width,
						height: portraitInfo.height,
						opacity: 0.8,
						display: "block"
					}).animate({
						left: target.left,
						top: target.top,
						width: target.width,
			 			height: target.height
					}, 400, function(){
						$("#bio").data("origin", current);
						$("#bio-content").animate({ opacity: 1 }, 150);
					});
				});
			});
			
		});
		if(window.location.hash) {
			if($(window.location.hash).length) {
				setTimeout(function() { 
					if($(window.location.hash).offset().top > 450) {
						$(document).scrollTop( $(window.location.hash).offset().top - 350);
					} else {
						$(document).scrollTop( $(window.location.hash).offset().top - 190);
					}
					$(window.location.hash).click() 
				}, 800);
			}
		}
	}
	
	/* End People pages */
	
	/* Client pages */
	if($(".client-container").length) {
		window.animationObj = { duration: 500, queue: false };
		
		$(".client-container").each(function() {
			// cache offset values since offset() is super slow
			// then make all floated boxes position absolute for easier animation
			var $this = $(this);
			$this.data("offsetLeft", $this.offset().left - $("#clients-container").offset().left);
			$this.data("offsetTop", $this.offset().top - $("#clients-container").offset().top);
			$this.data("zIndexHoverOff", $this.attr("zIndexHoverOff"));
			if($this.data('offsetLeft') > 500) {
				$this.css({
					position: "absolute",
					right: $("#clients-container").innerWidth() - $this.data("offsetLeft") - $this.outerWidth(),
					top: $this.data("offsetTop")
				});
			} else {
				$this.css({
					position: "absolute",
					left: $this.data("offsetLeft"),
					top: $this.data("offsetTop")
				});
			}
		});

		(function ($) {
			// VERTICALLY ALIGN FUNCTION
			$.fn.vAlign = function() {
				return this.each(function(i){
					var ah = $(this).height() ? $(this).height() : 15;
					var ph = 167;
					var mh = Math.ceil((ph-ah) / 2);
					$(this).css('margin-top', mh);
				});
			};
		})(jQuery);
		$(".client-logo img").vAlign();
		$(".client-text-p").vAlign();

		$(".client-container").hover(function() { 
			var $this = $(this);   // alias $(this) so we're not creating new jQuery objects every ref
			$this.find(".client-logo img").eq(0).attr("src", $this.find(".hover-content img").eq(0).attr("src"));
			$this.stop().css({ zIndex: 100 }).animate({ width: 342 }, animationObj);
		}, 	function() {
			var $this = $(this);  // alias $(this) so we're not creating new jQuery objects every ref
			$this.find(".client-logo img").eq(0).attr("src", $this.find(".hover-content-inactive img").eq(0).attr("src"));
			$this.css({ zIndex: $this.data("zIndexHoverOff") }).stop().animate({ width: 166 }, animationObj);
		});
	}
	/* End Client Pages */

	/* equal height for the 3 columns on the home pages */
	if($(".content-block").length > 1) {
		var topHeight=500, thisHeight;
		for(var r=0; r<$(".content-block").length; r++) {
			thisHeight = $(".content-block").eq(r).height();
			if(thisHeight > topHeight) {
				topHeight = thisHeight;
			}
		}
		topHeight += 30;
		$(".content-block").css({ height: topHeight }); 
	}
	/* End equal height */
	
	/* Footer code for browsers that don't support position: fixed. */
	$(window).load(function() {
		  
		  window.fixedIsSupported = (function () {
			  var container = document.body;

			  if (document.createElement && container && container.appendChild && container.removeChild) {
			    var el = document.createElement('div');

			    if (!el.getBoundingClientRect) return null;

			    el.innerHTML = 'x';
			    el.style.cssText = 'position:fixed;top:100px;';
			    container.appendChild(el);

			    var originalHeight = container.style.height,
			        originalScrollTop = container.scrollTop;

			    container.style.height = '3000px';
			    container.scrollTop = 500;

			    var elementTop = el.getBoundingClientRect().top;
			    container.style.height = originalHeight;

			    var isSupported = (elementTop === 100);
			    container.removeChild(el);
			    container.scrollTop = originalScrollTop;

			    return isSupported;
			  }
			  return null;
		})();

	    if(!fixedIsSupported && !$.browser.msie) { 
	  		var fixFooter = function() {
			  	$("#sticky-footer").css("top", (window.pageYOffset + window.innerHeight - 25));
			};
			$("#sticky-footer").css({ 
				position: 'absolute',
				'-webkit-transition': 'top .3s linear',
				'-moz-transition': 'top .3s linear',
				'-o-transition': 'top .3s linear',
				'transition': 'top .3s linear'
			});
			fixFooter();
			$(window).resize(fixFooter);
			$(window).scroll(fixFooter);
	  	}
	});
	if($("#wpadminbar").css("display") == "block") {
		$("#header").css("top", "28px");
		$("#header-left-vertical").css("top", "64px");
	}

	/* GA Event Tracking code. */
	
	$(".meetbox a").click(function() {
		_gaq.push(['_trackEvent', 'Business Unit Accordion', 'Meet', $(this).attr('rel')]);
	});
	$("#client-log-in").click(function() {
		_gaq.push(['_trackEvent', 'Client Log In', 'Click']);
	});
	$(".contact-us-mail-link").click(function() {
		_gaq.push(['_trackEvent', 'Contact', 'Email', $(this).attr('rel')]);
	});
	$("#blog-rollover .social-link-box a").click(function() {
		_gaq.push(['_trackEvent', 'Blog Menu', 'Click', $(this).text()]);
	});
	$("#twitter-rollover .social-link-box a").click(function() {
		_gaq.push(['_trackEvent', 'Twitter Menu', 'Click', $(this).text()]);
	});
	
	/* New Business Pages */
	if($('.newbusiness').length) {
		$('.newbusiness #header-right').prepend('<a class="moen_contact_top" href="mailto:bettyle@imre.com"><img align="right" src="/wp-content/themes/imre2011/images/moen_contact_top.jpg" alt="Click here to Arrange a Meeting"></a>');
	}

	if($(".twitter-dd-link").length && $(".twitter-ul").length) {
		// $twitterurl = "http://search.twitter.com/search.json?rpp=100&q=from%3A" . implode("+OR+from%3A", $account);
		window.twitterNewest = +($(".twitter-ul li").eq(0).attr("rel"));
		var goTwitter = new Array();
		$(".twitter-dd-link").each(function(){
			goTwitter[goTwitter.length] = $(this).attr("rel") + "";
		});
		if(goTwitter.length) {
			window.getTwitter = setInterval(function(){
				$.ajax({
					url: 'http://search.twitter.com/search.json',
					data: 'rpp=100&q=from%3A' + goTwitter.join('+OR+from%3A'),
					type: 'GET',
					dataType: 'jsonp',
					success: function(data) {
						for(var i in data.results) {
							var thisTweet = data.results[i];
							var thisId = +(thisTweet.id_str);
							var thisDate = date("M jS g:ia", new Date(thisTweet.created_at));
							if(thisId > twitterNewest) {
								window.twitterNewest = thisId;
								var thisCss = $("#twitter-dd-" + thisTweet.from_user).attr("data-css");
								var prependText = '<li id="t' + thisTweet.id_str + '" rel="' + thisTweet.id_str + '" class="display-none">';
								prependText += '<p>';
								prependText += '<a href="http://twitter.com/' + thisTweet.from_user + '" class="social-vertical-labels ' + thisCss + '" target="_blank">@' + thisTweet.from_user + '</a>';
								prependText += '</p>';
                				prependText += '<p class="social-tweet" rel="' + thisTweet.id_str + '">' + (thisTweet.text).linkify_tweet() + '</p>';
								prependText += '<p class="social-date imre-text">' + thisDate + '</p>';
								prependText += '</li>';
								if($(".twitter-ul li").length > 4) {
									$(".twitter-ul li:last").remove();
								}
								$(".twitter-ul").prepend(prependText);
								$('#t' + thisTweet.id_str).slideDown('slow');
							}
						}
					}
				});
			}, 10000);
		}
	}
});
function careerFormSubmit() {
	_gaq.push(['_trackEvent', 'Career Form', 'Career Form', $(this).attr('rel')]);
	return true;
}

function scrollToEle(element) {
	$(document).scrollTo( $("#" + element).position().top - 180 );
}

function date (format, timestamp) {
    // http://kevin.vanzonneveld.net
    // +   original by: Carlos R. L. Rodrigues (http://www.jsfromhell.com)
    // +      parts by: Peter-Paul Koch (http://www.quirksmode.org/js/beat.html)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: MeEtc (http://yass.meetcweb.com)
    // +   improved by: Brad Touesnard
    // +   improved by: Tim Wiel
    // +   improved by: Bryan Elliott
    //
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   improved by: David Randall
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   improved by: Theriault
    // +  derived from: gettimeofday
    // +      input by: majak
    // +   bugfixed by: majak
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Alex
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // +   improved by: Theriault
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // +   improved by: Theriault
    // +   improved by: Thomas Beaucourt (http://www.webapp.fr)
    // +   improved by: JT
    // +   improved by: Theriault
    // +   improved by: Rafał Kukawski (http://blog.kukawski.pl)
    // +      input by: Martin
    // +      input by: Alex Wilson
    // %        note 1: Uses global: php_js to store the default timezone
    // %        note 2: Although the function potentially allows timezone info (see notes), it currently does not set
    // %        note 2: per a timezone specified by date_default_timezone_set(). Implementers might use
    // %        note 2: this.php_js.currentTimezoneOffset and this.php_js.currentTimezoneDST set by that function
    // %        note 2: in order to adjust the dates in this function (or our other date functions!) accordingly
    // *     example 1: date('H:m:s \\m \\i\\s \\m\\o\\n\\t\\h', 1062402400);
    // *     returns 1: '09:09:40 m is month'
    // *     example 2: date('F j, Y, g:i a', 1062462400);
    // *     returns 2: 'September 2, 2003, 2:26 am'
    // *     example 3: date('Y W o', 1062462400);
    // *     returns 3: '2003 36 2003'
    // *     example 4: x = date('Y m d', (new Date()).getTime()/1000); 
    // *     example 4: (x+'').length == 10 // 2009 01 09
    // *     returns 4: true
    // *     example 5: date('W', 1104534000);
    // *     returns 5: '53'
    // *     example 6: date('B t', 1104534000);
    // *     returns 6: '999 31'
    // *     example 7: date('W U', 1293750000.82); // 2010-12-31
    // *     returns 7: '52 1293750000'
    // *     example 8: date('W', 1293836400); // 2011-01-01
    // *     returns 8: '52'
    // *     example 9: date('W Y-m-d', 1293974054); // 2011-01-02
    // *     returns 9: '52 2011-01-02'
    var that = this,
        jsdate, f, formatChr = /\\?([a-z])/gi,
        formatChrCb,
        // Keep this here (works, but for code commented-out
        // below for file size reasons)
        //, tal= [],
        _pad = function (n, c) {
            if ((n = n + '').length < c) {
                return new Array((++c) - n.length).join('0') + n;
            }
            return n;
        },
        txt_words = ["Sun", "Mon", "Tues", "Wednes", "Thurs", "Fri", "Satur", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
    formatChrCb = function (t, s) {
        return f[t] ? f[t]() : s;
    };
    f = {
        // Day
        d: function () { // Day of month w/leading 0; 01..31
            return _pad(f.j(), 2);
        },
        D: function () { // Shorthand day name; Mon...Sun
            return f.l().slice(0, 3);
        },
        j: function () { // Day of month; 1..31
            return jsdate.getDate();
        },
        l: function () { // Full day name; Monday...Sunday
            return txt_words[f.w()] + 'day';
        },
        N: function () { // ISO-8601 day of week; 1[Mon]..7[Sun]
            return f.w() || 7;
        },
        S: function () { // Ordinal suffix for day of month; st, nd, rd, th
            var j = f.j();
            return j > 4 || j < 21 ? 'th' : {1: 'st', 2: 'nd', 3: 'rd'}[j % 10] || 'th';
        },
        w: function () { // Day of week; 0[Sun]..6[Sat]
            return jsdate.getDay();
        },
        z: function () { // Day of year; 0..365
            var a = new Date(f.Y(), f.n() - 1, f.j()),
                b = new Date(f.Y(), 0, 1);
            return Math.round((a - b) / 864e5) + 1;
        },

        // Week
        W: function () { // ISO-8601 week number
            var a = new Date(f.Y(), f.n() - 1, f.j() - f.N() + 3),
                b = new Date(a.getFullYear(), 0, 4);
            return _pad(1 + Math.round((a - b) / 864e5 / 7), 2);
        },

        // Month
        F: function () { // Full month name; January...December
            return txt_words[6 + f.n()];
        },
        m: function () { // Month w/leading 0; 01...12
            return _pad(f.n(), 2);
        },
        M: function () { // Shorthand month name; Jan...Dec
            return f.F().slice(0, 3);
        },
        n: function () { // Month; 1...12
            return jsdate.getMonth() + 1;
        },
        t: function () { // Days in month; 28...31
            return (new Date(f.Y(), f.n(), 0)).getDate();
        },

        // Year
        L: function () { // Is leap year?; 0 or 1
            return new Date(f.Y(), 1, 29).getMonth() === 1 | 0;
        },
        o: function () { // ISO-8601 year
            var n = f.n(),
                W = f.W(),
                Y = f.Y();
            return Y + (n === 12 && W < 9 ? -1 : n === 1 && W > 9);
        },
        Y: function () { // Full year; e.g. 1980...2010
            return jsdate.getFullYear();
        },
        y: function () { // Last two digits of year; 00...99
            return (f.Y() + "").slice(-2);
        },

        // Time
        a: function () { // am or pm
            return jsdate.getHours() > 11 ? "pm" : "am";
        },
        A: function () { // AM or PM
            return f.a().toUpperCase();
        },
        B: function () { // Swatch Internet time; 000..999
            var H = jsdate.getUTCHours() * 36e2,
                // Hours
                i = jsdate.getUTCMinutes() * 60,
                // Minutes
                s = jsdate.getUTCSeconds(); // Seconds
            return _pad(Math.floor((H + i + s + 36e2) / 86.4) % 1e3, 3);
        },
        g: function () { // 12-Hours; 1..12
            return f.G() % 12 || 12;
        },
        G: function () { // 24-Hours; 0..23
            return jsdate.getHours();
        },
        h: function () { // 12-Hours w/leading 0; 01..12
            return _pad(f.g(), 2);
        },
        H: function () { // 24-Hours w/leading 0; 00..23
            return _pad(f.G(), 2);
        },
        i: function () { // Minutes w/leading 0; 00..59
            return _pad(jsdate.getMinutes(), 2);
        },
        s: function () { // Seconds w/leading 0; 00..59
            return _pad(jsdate.getSeconds(), 2);
        },
        u: function () { // Microseconds; 000000-999000
            return _pad(jsdate.getMilliseconds() * 1000, 6);
        },

        // Timezone
        e: function () { // Timezone identifier; e.g. Atlantic/Azores, ...
            // The following works, but requires inclusion of the very large
            // timezone_abbreviations_list() function.
/*              return this.date_default_timezone_get();
*/
            throw 'Not supported (see source code of date() for timezone on how to add support)';
        },
        I: function () { // DST observed?; 0 or 1
            // Compares Jan 1 minus Jan 1 UTC to Jul 1 minus Jul 1 UTC.
            // If they are not equal, then DST is observed.
            var a = new Date(f.Y(), 0),
                // Jan 1
                c = Date.UTC(f.Y(), 0),
                // Jan 1 UTC
                b = new Date(f.Y(), 6),
                // Jul 1
                d = Date.UTC(f.Y(), 6); // Jul 1 UTC
            return 0 + ((a - c) !== (b - d));
        },
        O: function () { // Difference to GMT in hour format; e.g. +0200
            var a = jsdate.getTimezoneOffset();
            return (a > 0 ? "-" : "+") + _pad(Math.abs(a / 60 * 100), 4);
        },
        P: function () { // Difference to GMT w/colon; e.g. +02:00
            var O = f.O();
            return (O.substr(0, 3) + ":" + O.substr(3, 2));
        },
        T: function () { // Timezone abbreviation; e.g. EST, MDT, ...
            // The following works, but requires inclusion of the very
            // large timezone_abbreviations_list() function.
/*              var abbr = '', i = 0, os = 0, default = 0;
            if (!tal.length) {
                tal = that.timezone_abbreviations_list();
            }
            if (that.php_js && that.php_js.default_timezone) {
                default = that.php_js.default_timezone;
                for (abbr in tal) {
                    for (i=0; i < tal[abbr].length; i++) {
                        if (tal[abbr][i].timezone_id === default) {
                            return abbr.toUpperCase();
                        }
                    }
                }
            }
            for (abbr in tal) {
                for (i = 0; i < tal[abbr].length; i++) {
                    os = -jsdate.getTimezoneOffset() * 60;
                    if (tal[abbr][i].offset === os) {
                        return abbr.toUpperCase();
                    }
                }
            }
*/
            return 'UTC';
        },
        Z: function () { // Timezone offset in seconds (-43200...50400)
            return -jsdate.getTimezoneOffset() * 60;
        },

        // Full Date/Time
        c: function () { // ISO-8601 date.
            return 'Y-m-d\\Th:i:sP'.replace(formatChr, formatChrCb);
        },
        r: function () { // RFC 2822
            return 'D, d M Y H:i:s O'.replace(formatChr, formatChrCb);
        },
        U: function () { // Seconds since UNIX epoch
            return jsdate.getTime() / 1000 | 0;
        }
    };
    this.date = function (format, timestamp) {
        that = this;
        jsdate = ((typeof timestamp === 'undefined') ? new Date() : // Not provided
        (timestamp instanceof Date) ? new Date(timestamp) : // JS Date()
        new Date(timestamp * 1000) // UNIX timestamp (auto-convert to int)
        );
        return format.replace(formatChr, formatChrCb);
    };
    return this.date(format, timestamp);
}

String.prototype.linkify_tweet = function() {
    var tweet = this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&amp;\?\/.=]+/g, function(url) { 
        var wrap = document.createElement('div');
        var anch = document.createElement('a');
        anch.href = url;
        anch.target = "_blank";
        anch.innerHTML = url;
        wrap.appendChild(anch);
        return wrap.innerHTML;
    });
    tweet = tweet.replace(/(^|\s)@(\w+)/g, '$1<a href="http://www.twitter.com/$2" target="_blank">@$2</a>');
    return tweet.replace(/(^|\s)#(\w+)/g, '$1<a href="http://search.twitter.com/search?q=%23$2" target="_blank">#$2</a>');
 };
