(function($){$.fn.jCarouselLite=function(o){o=$.extend({btnPrev:null,btnNext:null,btnGo:null,mouseWheel:false,auto:null,speed:200,easing:null,vertical:false,circular:true,visible:1,start:0,scroll:1,beforeStart:null,afterEnd:null},o||{});return this.each(function(){var b=false,animCss=o.vertical?"top":"left",sizeCss=o.vertical?"height":"width";var c=$(this),ul=$("ul",c),tLi=$("li",ul),tl=tLi.size(),v=o.visible;if(o.circular){ul.prepend(tLi.slice(tl-v-1+1).clone()).append(tLi.slice(0,v).clone());o.start+=v}var f=$("li",ul),itemLength=f.size(),curr=o.start;c.css("visibility","visible");f.css({overflow:"hidden",float:o.vertical?"none":"left"});ul.css({margin:"0",padding:"0",position:"relative","list-style-type":"none","z-index":"1"});c.css({overflow:"hidden",position:"relative","z-index":"2",left:"0px"});var g=o.vertical?height(f):width(f);var h=g*itemLength;var j=g*v;f.css({width:f.width(),height:f.height()});ul.css(sizeCss,h+"px").css(animCss,-(curr*g));c.css(sizeCss,j+"px");if(o.btnPrev)$(o.btnPrev).click(function(){return go(curr-o.scroll)});if(o.btnNext)$(o.btnNext).click(function(){return go(curr+o.scroll)});if(o.btnGo)$.each(o.btnGo,function(i,a){$(a).click(function(){return go(o.circular?o.visible+i:i)})});if(o.mouseWheel&&c.mousewheel)c.mousewheel(function(e,d){return d>0?go(curr-o.scroll):go(curr+o.scroll)});if(o.auto)setInterval(function(){go(curr+o.scroll)},o.auto+o.speed);function vis(){return f.slice(curr).slice(0,v)};function go(a){if(!b){if(o.beforeStart)o.beforeStart.call(this,vis());if(o.circular){if(a<=o.start-v-1){ul.css(animCss,-((itemLength-(v*2))*g)+"px");curr=a==o.start-v-1?itemLength-(v*2)-1:itemLength-(v*2)-o.scroll}else if(a>=itemLength-v+1){ul.css(animCss,-((v)*g)+"px");curr=a==itemLength-v+1?v+1:v+o.scroll}else curr=a}else{if(a<0||a>itemLength-v)return;else curr=a}b=true;ul.animate(animCss=="left"?{left:-(curr*g)}:{top:-(curr*g)},o.speed,o.easing,function(){if(o.afterEnd)o.afterEnd.call(this,vis());b=false});if(!o.circular){$(o.btnPrev+","+o.btnNext).removeClass("disabled");$((curr-o.scroll<0&&o.btnPrev)||(curr+o.scroll>itemLength-v&&o.btnNext)||[]).addClass("disabled")}}return false}})};function css(a,b){return parseInt($.css(a[0],b))||0};function width(a){return a[0].offsetWidth+css(a,'marginLeft')+css(a,'marginRight')};function height(a){return a[0].offsetHeight+css(a,'marginTop')+css
(a,'marginBottom')}})(jQuery);

(function(a){a.event.special.textchange={setup:function(){a(this).bind("keyup.textchange",a.event.special.textchange.handler);a(this).bind("cut.textchange paste.textchange input.textchange",a.event.special.textchange.delayedHandler)},teardown:function(){a(this).unbind(".textchange")},handler:function(){a.event.special.textchange.triggerIfChanged(a(this))},delayedHandler:function(){var b=a(this);setTimeout(function(){a.event.special.textchange.triggerIfChanged(b)},25)},triggerIfChanged:function(b){if(b.val()!==
b.data("lastValue")){b.trigger("textchange",b.data("lastValue"));b.data("lastValue",b.val())}}};a.event.special.hastext={setup:function(){a(this).bind("textchange",a.event.special.hastext.handler)},teardown:function(){a(this).unbind("textchange",a.event.special.hastext.handler)},handler:function(b,c){a.event.special.hastext.check(a(this),c)},check:function(b,c){if((c===""||c===undefined)&&c!==b.val())b.trigger("hastext")}};a.event.special.notext={setup:function(){a(this).bind("textchange",a.event.special.notext.handler)},
teardown:function(){a(this).unbind("textchange",a.event.special.notext.handler)},handler:function(b,c){a(this).val()===""&&a(this).val()!==c&&a(this).trigger("notext")}}})(jQuery);

$('#application-form-coverLetter').bind('textchange', function (event, previousText) {
	$('#charactersLeftCoverLetter').html( 2000 - parseInt($(this).val().length) );
});
$('#application-form-whyus').bind('textchange', function (event, previousText) {
	$('#charactersLeftWhyUs').html( 500 - parseInt($(this).val().length) );
});

function setVisibilityClass(id, visibility) {
$(".link-active").removeClass('link-active');
$(".visibility-active").removeClass('visibility-active').addClass('visibility-not-active');
document.getElementById(id).className = visibility;
};

$('#quickmap-link-newyork').mouseover(function()
	{
	$("#googlemap-london").removeClass('active').addClass('inactive');
	$("#googlemap-newyork").removeClass('inactive').addClass('active');
	});
$('#quickmap-link-london').mouseover(function()
	{
	$("#googlemap-newyork").removeClass('active').addClass('inactive');
	$("#googlemap-london").removeClass('inactive').addClass('active');
	});

function removeCurrent() {
$(".current").removeClass('current');
};

$(function() {
    $("#banner-slider").jCarouselLite({
        btnNext: "#banner-buttons a.next",
        btnPrev: "#banner-buttons a.prev"
    });
    $("#slideshow").jCarouselLite({
        btnNext: "#buttons a.next",
        btnPrev: "#buttons a.prev"
    });
    $("#slideshowDescription").jCarouselLite({
        btnNext: "#buttons a.next",
        btnPrev: "#buttons a.prev"
    });
    $("#ourwork-slider").jCarouselLite({
        btnNext: ".ourwork-buttons a.next",
        btnPrev: ".ourwork-buttons a.prev"
    });
     $("#brand-slider").jCarouselLite({
        auto: "3",
        visible: 3,
        scroll: 1,
        speed: 700,
        easing: 'swing'
     });
});

$('#newsletter-form label.opt').hide();

$.fn.newsLetterForm=function(dv)
{
	$(this).focus(function()
		{
		if ($(this).val()==dv) 
			{
			$(this).val(''); 
			$(this).removeClass('faded');
			}
		}
	).blur(function()
		{
		if ($(this).val()=='')
			{
			$(this).val(dv); 
			$(this).addClass('faded');
			}
		});
	if ($(this).val()=='' || $(this).val()==dv)
		{
		$(this).val(dv); 
		$(this).addClass('faded');
		}
}

$('#newsletter-form-firstname').newsLetterForm('First Name');
$('#newsletter-form-lastname').newsLetterForm('Last Name');
$('#newsletter-form-email').newsLetterForm('Email');
$('#search-terms').newsLetterForm('Search');

$('#contact-form label.opt').hide();

$.fn.contactForm=function(dv)
{
	$(this).focus(function()
		{
		if ($(this).val()==dv) 
			{
			$(this).val(''); 
			$(this).removeClass('faded');
			}
		}
	).blur(function()
		{
		if ($(this).val()=='')
			{
			$(this).val(dv); 
			$(this).addClass('faded');
			}
		});
	if ($(this).val()=='' || $(this).val()==dv)
		{
		$(this).val(dv); 
		$(this).addClass('faded');
		}
}

$('#contact-form-firstname').newsLetterForm('First Name');
$('#contact-form-lastname').newsLetterForm('Last Name');
$('#contact-form-company').newsLetterForm('Company');
$('#contact-form-email').newsLetterForm('Email');
$('#contact-form-message').newsLetterForm('Message');
$('#search-terms').contactForm('Search');

$('#application-form label.opt').hide();
$.fn.applicationform=function(dv)
{
	$(this).focus(function()
		{
		if ($(this).val()==dv) 
			{
			$(this).val(''); 
			$(this).removeClass('faded');
			}
		}
	).blur(function()
		{
		if ($(this).val()=='')
			{
			$(this).val(dv); 
			$(this).addClass('faded');
			}
		});
	if ($(this).val()=='' || $(this).val()==dv)
		{
		$(this).val(dv); 
		$(this).addClass('faded');
		}
}

$('#application-form-firstname').applicationform('First Name');
$('#application-form-lastname').applicationform('Last Name');
$('#application-form-company').applicationform('Company');
$('#application-form-email').applicationform('Email');
$('#application-form-phone').applicationform('Phone Number');
$('#search-terms').applicationform('Search');

// t: current time, b: begInnIng value, c: change In value, d: duration
jQuery.easing['jswing'] = jQuery.easing['swing'];

jQuery.extend( jQuery.easing,
{
	def: 'easeOutQuad',
	swing: function (x, t, b, c, d) {
		//alert(jQuery.easing.default);
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInQuad: function (x, t, b, c, d) {
		return c*(t/=d)*t + b;
	},
	easeOutQuad: function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
	}
});
