// JavaScript Document
$(function(){

	Headred = new function(){
		
		var corner_slide_speed = 300;
		var base_url = 'http://www.headred.net';

		this.bind = function(){ /** constructor function **/
		
			$("p.hidden-text").css('display','block').css('opacity',0);
			
			$("#filter-box").css('opacity',0);
			
			$("body").click(function(){
				$(".select-box").stop().animate({
						height: '14px'
					}, 400);
		 	});
			
			
			
			$("#buttons a").live('click', function(){
				Headred.do_slide($(this),true);
				return false;
			});			
			
			$(".select-box,#select-box-trigger").live('click',function(){
				if($(".select-box").height() > 14){
					$(".select-box").stop().animate({
						height: '14px'
					}, 400);					
				} else {
					if($(".select-box li.clone").length > 0){
						$(".select-box").stop().animate({
							height: '280px'
						}, 400);
					} else {
						$(".select-box").stop().animate({
							height: '260px'
						}, 400);
					}
					return false;
				}
			});
			
			$(".select-box a").live('click',function(){
				var selecter = $(this).attr('href');
				if(selecter.length > 0){
					$("#filter-box").val(selecter.toString());
					$("#filter-box").trigger('change');
					$(".select-box").stop().animate({
						height: '14px'
					}, 400);
					if($(".select-box li.clone").length > 0){
						$("li.clone").replaceWith($(this).parent().clone(true));
						$(".select-box li:first").addClass('clone');
					} else {
						$(this).parent().clone(true).prependTo($(".select-box ul"));
						$(".select-box li:first").addClass('clone');
					}
					$(".select-box li a").attr('id','');
					$(".select-box li:first a").attr('id', "select-box-trigger");
				}
				return false;
			});
			
			Headred.hideLeftArrow(1);
			Headred.loadRightArrow();
			
			$(".home-icon-button").live('click',function(){
				$(".home-site-list ul").stop().animate({
					left: '-'+$(this).attr('rel') + 'px'
				}, 550);
				$(".home-icon-button").removeClass('active');
				$(this).addClass('active');
				return false;
			});

			$(".content-tab").click(function(){
				var href = $(this).attr('href');
				Headred.resetTabs();
				$("a[href="+href+"]").parent().addClass('active');
				$(".tab-content").stop().animate({
					height: "0px"
				},300, function(){
					$.get(href, function(data){
						$(".tab-holders").replaceWith($(".tab-holders", data));
						if($("#related-projects", data).length > 0){
							$("#related-projects").replaceWith($("#related-projects", data));
							Headred.load_images();
						}
						setTimeout(function(){
							var v_height = '310px';
							if(href == base_url + '/about-us/our-history/'){
								var v_height = '330px';
							} else if(href == base_url + '/about-us/management-team/'){
								var v_height = '410px';
							} else if(href == base_url + '/online-marketing/pay-per-click/'){
								var v_height = '365px';
							} else if(href == base_url + '/online-marketing/social-media/'){
								var v_height = '360px';
							}
							$(".tab-content").stop().animate({
									height: v_height
							},1000, 'bounceout');}, 0);
						
							if($("#about_uniq_form").length > 0){
								$("#about_uniq_form").attr('action',href + "#about_form");
							}
					});
				});
				
		 		return false;
		 	});
			
			$("a#topofpage").click(function(){
				$.scrollTo("#top", 750);		
				return false;
			});
			
			$(".services-link").click(function(){
				if($("#services").height() > 0){
					$("#services").stop().animate({
						height: '0px'
					},350, 'linear');
				} else {
					$("#services").stop().animate({
						height: '242px'
					},350, 'linear');
				}
				return false;
			});
			
			$(".overlay").live('click',function(){
				Headred.overlayHide();
			});
			
			$(".header-close").click(function(){
				$(".header-drop-content").fadeOut();
				$('#header-contact').stop().animate({
					height: '0px'
				});
				return false;
			});
			
			$(".contact-link").click(function(){
				$('#header-contact').stop().animate({
					height: '340px'
				},function(){
					$(".header-drop-content").fadeIn();
				});
				return false;
			});
			
			$(".client_arrows").live('click',function(){
				var img_number = $(this).attr('rel');
				var position = (img_number - 1);
				var left_width = (position * 952);
				$("#banner-hold").stop().animate({
					left: '-'+left_width+'px'
				}, 500);
				$("#banner-hold img").removeClass("active");
				$("#banner-hold #"+img_number).addClass("active");
				var prev_element = $("#banner-hold img.active").prev();
				var next_element = $("#banner-hold img.active").next();
				$(".left-arrow").attr('rel', $(prev_element).attr('id'));
				$(".right-arrow").attr('rel', $(next_element).attr('id'));
				
				if($("#banner-hold img.active").hasClass("first")){
					Headred.hideLeftArrow();
					Headred.showRightArrow();
				} else if($("#banner-hold img.active").hasClass("last")){
					Headred.hideRightArrow();
					Headred.showLeftArrow();
				} else {
					Headred.showLeftArrow();
					Headred.showRightArrow();
				}
				
	 			return false;
		 	});
			
			$(".lavalamp").lavaLamp({
					fx: "backout",
					speed: 700
			});
			
			if($("select[name=filter]").val() !== 'client-item'){
				setTimeout(function(){ $("select[name=filter]").trigger('change');},1);
			}
			$("select[name=filter]").change(function(data){
				var filter_val = $(this).val();
				$(".portfolio li.client-item").each(function(i,el){
					if(filter_val.length > 0){
						if($(el).hasClass(filter_val)){
							$(el).css('display','block');
						} else $(el).css('display','none');
					}
		 		});
				var count = 0;
				$(".portfolio li.client-item").each(function(i,el){
					if($(el).css('display') == 'block'){
						$(el).removeClass('last');
						count++;
						if(count == 4){
							$(el).addClass('last');
							count = 0;
						}
					}
				});
				//$.get('/portfolio.php?set_search='+filter_val);
				return false;
			});
			
			Headred.load_images();
			
			$("li.client-item,.home-site-list li").live('mouseover',function(){
				Headred.corner_slide($(this),'mouseover');
			});
			$("li.client-item,.home-site-list li").live('mouseleave',function(){
				Headred.corner_slide($(this),'mouseleave');
			});	
		}
		
		this.do_slide = function(a,isClick){
			if(isClick){
				clearInterval(Headred.slide_counter);
				var href = base_url + '/'+ $(a).attr('rel');
			} else { 
				var href = base_url + '/'+a;
			}
			$("#banner div").stop().animate({'opacity': 0 }, 1000);
			$.get(href, function(data){
				$("#banner").html($("#banner", data).html());
				$("#banner div").css('opacity', 0);
				$("#banner div").stop().animate({
					opacity: 1
				}, 700);
				if(isClick){
					Headred.start_slide_count();					
				}
			});
		}
		
		this.start_slide_count = function(){
			this.slide_counter = setInterval(function(){
				if($("#buttons li.active").hasClass("last")){
					var next_obj = $("#buttons li:first");
				} else {
					var next_obj = $("#buttons li.active").next();
				}
				Headred.do_slide($("a",next_obj).attr('rel'),false);
			},6000);			
		}		
		
		this.overlayHide = function(){
			$(".overlay").remove();
			$(".overlay-repeat").remove();
			$("#header-drop-down").css('display','none').css('top', '-400px');			
		}
		
		this.resetTabs = function(){
			$(".tab-content-controls ul li, .tab-content-top ul li").each(function(count,obj){
		 		$(obj).removeClass('active');
			});
		}
		
		this.showLeftArrow = function(){
			$(".left-arrow").stop().animate({
				left: '-85px'
			}, 1000, "bounceout");			
		}
		
		this.hideLeftArrow = function(fast){
			if(fast){
				$(".left-arrow").css('left', '70px');
			} else {
				$(".left-arrow").stop().animate({
					left: '70px'
				}, 500);
			}
		}
		
		this.loadRightArrow = function(){
			this.hideRightArrow(1);
			setTimeout(function(){ Headred.showRightArrow(); }, 100);
		}
		
		this.showRightArrow = function(){
			$(".right-arrow").stop().animate({
				right: '-85px'
			}, 1000, "bounceout");	
		}
		
		this.hideRightArrow = function(fast){
			if(fast){
				$(".right-arrow").css('right', '85px');
			} else {
				$(".right-arrow").stop().animate({
					right: '85px'
				}, 500);			
			}
		}
		
		this.close_footer = function(){
			$("#upper-footer").stop().animate({
					top: '-75px'
			});
			$('.topofpage-holder').css('top','0px');			
		}
		
		this.corner_slide = function(obj,state){
			if(state == 'mouseleave'){
				Headred.make_slide_normal(obj);
				$('.rollover-start',obj).stop().animate({
					top: '-445px'
				}, corner_slide_speed);
			} else {
				Headred.make_slide_hover(obj);
				$('.rollover-start',obj).stop().animate({
					top: '0px'
				}, corner_slide_speed);
			}
		}
		
		this.make_slide_normal = function(obj){
			$('.trans-title-active',obj).addClass('trans-title').removeClass('trans-title-active');
			$('p',obj).stop().animate({
				opacity: 0
			});
		}
		
		this.make_slide_hover = function(obj){
			$('.trans-title',obj).removeClass('trans-title').addClass('trans-title-active');
			$('p',obj).stop().animate({
				opacity: 1
			});
		}
		
		this.load_images = function(){
			var loading_div = '';
			$(".preload").each(function(i,el){
				var count = (i + 1);
				var src = $(el).html();
				loading_div = '<div class="loaderlay" id="loaderlay'+count+'"></div>';
				$(el).parent().append(loading_div);
				var img = new Image();
				$(img,el).load(function(){
					$(el).parent().append(this);
					$('#loaderlay'+count).remove();
				}).attr('src', src).addClass('ajax_loaded');
   		});
			$("p.hidden-text").css('display','block').css('opacity',0);
		}
	}
	
	Headred.bind();
});

;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

jQuery.easing = {
	easein: function(x, t, b, c, d) {
		return c*(t/=d)*t + b; // in
	},
	easeinout: function(x, t, b, c, d) {
		if (t < d/2) return 2*c*t*t/(d*d) + b;
		var ts = t - d/2;
		return -2*c*ts*ts/(d*d) + 2*c*ts/d + c/2 + b;		
	},
	easeout: function(x, t, b, c, d) {
		return -c*t*t/(d*d) + 2*c*t/d + b;
	},
	expoin: function(x, t, b, c, d) {
		var flip = 1;
		if (c < 0) {
			flip *= -1;
			c *= -1;
		}
		return flip * (Math.exp(Math.log(c)/d * t)) + b;		
	},
	expoout: function(x, t, b, c, d) {
		var flip = 1;
		if (c < 0) {
			flip *= -1;
			c *= -1;
		}
		return flip * (-Math.exp(-Math.log(c)/d * (t-d)) + c + 1) + b;
	},
	expoinout: function(x, t, b, c, d) {
		var flip = 1;
		if (c < 0) {
			flip *= -1;
			c *= -1;
		}
		if (t < d/2) return flip * (Math.exp(Math.log(c/2)/(d/2) * t)) + b;
		return flip * (-Math.exp(-2*Math.log(c/2)/d * (t-d)) + c + 1) + b;
	},
	bouncein: function(x, t, b, c, d) {
		return c - jQuery.easing['bounceout'](x, d-t, 0, c, d) + b;
	},
	bounceout: function(x, t, b, c, d) {
		if ((t/=d) < (1/2.75)) {
			return c*(7.5625*t*t) + b;
		} else if (t < (2/2.75)) {
			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
		} else if (t < (2.5/2.75)) {
			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
		} else {
			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
		}
	},
	bounceinout: function(x, t, b, c, d) {
		if (t < d/2) return jQuery.easing['bouncein'] (x, t*2, 0, c, d) * .5 + b;
		return jQuery.easing['bounceout'] (x, t*2-d,0, c, d) * .5 + c*.5 + b;
	},
	elasin: function(x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	},
	elasout: function(x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	},
	elasinout: function(x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
	},
	backin: function(x, t, b, c, d) {
		var s=1.70158;
		return c*(t/=d)*t*((s+1)*t - s) + b;
	},
	backout: function(x, t, b, c, d) {
		var s=1.70158;
		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
	},
	backinout: function(x, t, b, c, d) {
		var s=1.70158;
		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
	},
	linear: function(x, t, b, c, d) {
		return c*t/d + b; //linear
	}
};

(function(jQuery){jQuery.fn.lavaLamp=function(o){o=jQuery.extend({fx:'swing',speed:500,click:function(){return true},startItem:'no',autoReturn:true,returnDelay:0,setOnClick:true,homeTop:0,homeLeft:0,homeWidth:0,homeHeight:0,returnHome:true},o||{});var $home;if(o.homeTop||o.homeLeft){$home=jQuery('<li class="homeLava selectedLava"></li>').css({left:o.homeLeft,width:o.homeWidth,height:o.homeHeight,position:'absolute'});jQuery(this).prepend($home);}
return this.each(function(){var path=location.pathname+location.search+location.hash;var $selected=new Object;var delayTimer;var $back;var ce;var $li=jQuery('li[class!=noLava]',this);if(o.startItem=='no')
$selected=jQuery('li a[href$="'+path+'"]',this).parent('li');if($selected.length==0&&o.startItem=='no')
$selected=jQuery('li a[href$="'+location.pathname.substring(location.pathname.lastIndexOf('/')+1)+location.search+location.hash+'"]',this).parent('li');if($selected.length==0||o.startItem!='no'){if(o.startItem=='no')o.startItem=0;$selected=jQuery($li[o.startItem]);}
ce=jQuery('li.selectedLava',this)[0]||jQuery($selected).addClass('selectedLava')[0];$li.mouseenter(function(){if(jQuery(this).hasClass('homeLava')){ce=jQuery(this)[0];}
move(this);});$back=jQuery('<li class="backLava"><div class="leftLava"></div><div class="bottomLava"></div><div class="cornerLava"></div></li>').appendTo(this);jQuery(this).mouseleave(function(){if(o.autoReturn){if(o.returnHome&&$home){move($home[0]);}
else if(o.returnDelay){if(delayTimer)clearTimeout(delayTimer);delayTimer=setTimeout(function(){move(null);},o.returnDelay+o.speed);}
else{move(null);}}});$li.click(function(e){if(o.setOnClick){jQuery(ce).removeClass('selectedLava');jQuery(this).addClass('selectedLava');ce=this;}
return o.click.apply(this,[e,this]);});if(o.homeTop||o.homeLeft)
$back.css({left:o.homeLeft,width:o.homeWidth,height:o.homeHeight});else
$back.css({left:ce.offsetLeft,width:ce.offsetWidth,height:ce.offsetHeight});function move(el){if(!el)el=ce;var bx=0,by=0;if(!jQuery.browser.msie){bx=($back.outerWidth()-$back.innerWidth())/2;by=($back.outerHeight()-$back.innerHeight())/2;}
$back.stop().animate({left:el.offsetLeft-bx,width:el.offsetWidth,height:el.offsetHeight},o.speed,o.fx);};});};})(jQuery);
