
$(document).ready(function() {
	
	$('#sidebar a, #right-coll ul li a').each(function () {
		if ($(this).height() > 40 ) {
			$(this).css({lineHeight:'14px', paddingTop:'6px',paddingBottom:'6px'});
		}
	});
	
	$('.download').colorbox({iframe:true, innerWidth:440, innerHeight:380});
						   
	$('#carousel').carousel();
	$('#news').news({animSpeed: 350, autoSlide: false});						   
	$('.picture_slide').jcarousel();
	
	$('.picture_slide ul li a').click(function (e) {
		e.preventDefault();
		if($(this).attr('href').indexOf('.flv') != -1) {
			var img = '<img src="'+$('img',$(this)).attr('src').replace('118x70', '380x250')+'" />';
			var btn = '<a href="javascript:loadFlash(\''+$(this).attr('href')+'\');" class="play"></a>';
		}
		else {
			var img = '<img src="'+$(this).attr('href')+'" />';
			var btn = '<a href="javascript:loadImage(\''+$(this).attr('href').replace('380x250','640x420')+'\');" class="view"></a>';
		}
		if($('img',$(this)).attr('alt'))
			var span = '<span>'+$('img',$(this)).attr('alt')+'</span>';
		else
			var span = '';
		$('.img_container').html(img + span + btn);
		$('.img_container span').css({opacity:0.0});
	});
	
	$('.img_container span, .quote-container.video span').css({opacity:0.0});
	$('.img_container, .quote-container.video')
	.mouseenter(function() {$('span',this).stop().animate({opacity: 1.0},300);})
	.mouseleave(function() {$('span',this).stop().animate({opacity: 0.0},300);});	
	$("a[rel='colorbox'],a[class='colorbox']").colorbox();
	
	//Preload Images
	$('.picture_slide ul li a').each(function() {
		if($(this).attr('href').indexOf('.jpg') != -1) {
			var img = new Image();
			img.src = $(this).attr("href");
		}
	});

	// Centering logos
	if ($('#clients').length)
	{
		$('#clients li img').each(function() {
			var parent = $(this).parent();
			var height = parent.height();
			var img_height = 65;
			
			img_height = img_height + (parseInt($(this).css('padding-top')) + parseInt($(this).css('padding-bottom')));
			if (height > img_height)
			{
				var from_top = (height-img_height)/2;
				from_top = parseInt(from_top);
				$(this).css('margin-top', from_top + 'px' );
			}
		});
	}
	
	//  Methodology Tabs 
	var tabContainers = $('.tab-container');	    
	$('.tab-navigation li a').click(function () {
		var index = $.inArray(this,$('.tab-navigation li a'));
		tabContainers.hide().filter($(tabContainers[index])).show();
		$('.tab-navigation').css({backgroundPosition:'0 -'+ index * 73 +'px'});
		return false;
	}).filter(':first').click();
	
	$('#quote-carousel').slider();
	
});

function loadImage(file) {
	$('#colorbox-links').children('a[href="'+ file +'"]').click();	
}

function loadFlash(file) {
	var flash = '\
		<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="380" height="250">\
			<param name="movie" value="'+_root+'flash/player.swf" />\
			<param name="wmode" value="transparent" />\
			<param name="allowfullscreen" value="true" />\
			<param name="flashvars" value="file='+ file +'&autostart=true" />\
			<embed type="application/x-shockwave-flash" src="'+_root+'flash/player.swf" width="380" height="250" allowfullscreen="true" wmode="transparent" flashvars="file='+ file +'&autostart=true" />\
		</object>';
	$('.img_container').html(flash);
}

function loadFlashHome(file) {
	var flash = '\
		<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="300" height="225">\
			<param name="movie" value="'+_root+'flash/player.swf" />\
			<param name="wmode" value="transparent" />\
			<param name="allowfullscreen" value="false" />\
			<param name="flashvars" value="file='+ file +'&autostart=true" />\
			<embed type="application/x-shockwave-flash" src="'+_root+'flash/player.swf" width="300" height="225" allowfullscreen="false" wmode="transparent" flashvars="file='+ file +'&autostart=true" />\
		</object>';
	$('.quote-container.video').html(flash);
}



(function($) {
		  
	$.fn.carousel = function(options) {
		
		var defaults = { 
			animSpeed: 350, 
			dispItems: 8,
			autoSlide: true,
			autoSlideInterval: 7000
		}
		var options = $.extend(defaults, options);
		
		return this.each(function() {
			
			var cPanel = 0;	
			var position = 0;
			var inverse = false;
			var inAnimation = false;
			var mouseover = false;
			var container = $(this);
			
			var slider = $('<div class="slider"></div>');
			slider.append('<ul></ul>');			
			$('li',container).each(function() {
				$('ul',slider).append('<li><img src="'+ $('img',$(this)).attr("src").replace('240x210','85x75') +'" width="85" height="75" /><strong>'+ $('h3',$(this)).text() +'</strong></li>');	   
			});			
			container.append(slider);
			
			var panelWidth = $('li',slider).width();
			var panelCount = $('li',slider).size();
			$('ul',slider).css({width: panelWidth * panelCount});	
			$('li:first',slider).addClass('active');
			$('.viewer li:first',container).addClass('activeSlide');
			
			var next = $('<div class="carousel-next"><span>Next</span></div>');
			var prev = $('<div class="carousel-previous"><span>Previous</span></div>');
			container.append(next,prev);
			
			prev.click(function() {
								
				if(inAnimation) return;	
				clearInterval(t);
				if(cPanel != 0) {
					cPanel -= 1;
				}
				else {
					cPanel = panelCount-1;
					inverse = true;	
				}
                if(cPanel + 1 < options.dispItems) {
					position = 0;
					inverse = false;
				}
				else {
					position = - (panelWidth * (cPanel + 1 - options.dispItems));
				}
					
				if(!inverse) {				
					if((cPanel + 1) % options.dispItems == 0 || cPanel + 1 == panelCount % options.dispItems )
						$('ul',slider).animate({left: position}, options.animSpeed);
				}				
				else {
					if((panelCount - (cPanel + 1)) % options.dispItems == 0)	
						$('ul',slider).animate({left: position}, options.animSpeed);		
				}
				
				pageHighlight();
				switchSlide();
					
			});
			
			next.click(function(e) {
								
				if(inAnimation) return;
				if(e.clientX)
					clearInterval(t);
				if(cPanel + 1 != panelCount) {
					cPanel += 1;
				}
				else {
					cPanel = 0;
					inverse = false;
				}
				if (cPanel % options.dispItems == 0 && panelCount - cPanel < options.dispItems) {
					position = - (panelWidth * (cPanel - (options.dispItems - panelCount % options.dispItems)));
					inverse = true;
				}
				else {
					position = - (panelWidth * cPanel);
				}

				if(!inverse) {
					if(cPanel % options.dispItems == 0) 
						$('ul',slider).animate({left: position}, options.animSpeed); 	
				}
				else {
					if((cPanel - (panelCount % options.dispItems)) % options.dispItems == 0 || panelCount - cPanel == panelCount % options.dispItems)
						$('ul',slider).animate({left: position}, options.animSpeed);
				}
					
				pageHighlight();				
				switchSlide();
				
			});
			
			$('li',slider).click(function() {
																   
				if(inAnimation) return;	
				clearInterval(t);
				if(cPanel == $.inArray(this,$('li',slider))) return;
				cPanel = $.inArray(this,$('li',slider));					
				pageHighlight();				
				switchSlide();
																   
			});
			
			$('ul:first',container)
				.mouseenter( function() {
					mouseover = true;					   
				})
				.mouseleave(function() {
					mouseover = false;				 
				});
			
			if(options.autoSlide) {
				var t = setInterval(function() {
					if(mouseover) return;
					next.click();					 
				}, options.autoSlideInterval);
			}
			
			function pageHighlight() {
				$('li',slider).removeClass('active');
				$($('li',slider)[cPanel]).addClass('active');
			}			
			
			function switchSlide() {
				inAnimation = true;
				$($('.viewer li',container)[cPanel]).addClass('nextSlide');				
				$('.activeSlide', $('.viewer',container)).animate({opacity: 0.0}, options.animSpeed, 'linear', 
				function() {	
					$(this).removeClass('activeSlide').css({opacity:''});
					$('.nextSlide', $('.viewer',container)).removeClass('nextSlide').addClass('activeSlide');	
					inAnimation = false;
				});		
			}
			
		});		
		
	}
		  
	$.fn.news = function(options) {
		
		var defaults = {
			anumSpeed: 500,
			autoSlide: true,
			autoSlideInterval: 3000
		}
		
		var options = $.extend(defaults, options);
		
		return this.each(function() {
	
			var inAnimation = false;
			var container = $(this);
			var slides = container.children('ul').children('li');			
			$(slides[0]).addClass('activeSlide');
			$(slides[1]).addClass('nextSlide');
			
			var alts = Array();
			slides.each(function(i) {
				var img =  $('img',$(this)).attr('src').replace('402x200','116x58');
				alts[i] = '<li><img src="'+ img +'" /><strong>' + $('h3',$(this)).text() + '</strong><span>'+ $('span',$(this)).text() +'</span></li>'; 
			});			
			var carousel_nav = $('<ul class="navigation">'+ alts.join('') +'</ul>');
			carousel_nav.children('li:first').addClass('active');
			carousel_nav.appendTo(container);
			
			carousel_nav.children('li').click(function(e) {
				
				if(e.clientX && options.autoSlide) { 					
					clearInterval(autoSlideInterval);
					options.autoSlide = false;
					var elem = this;
					var t = setInterval ( function() { 
						 if(inAnimation == false) { $(elem).click(); clearInterval(t);}
				    }, 50);
				}				
				if(jQuery.inArray(this,carousel_nav.children('li')) == jQuery.inArray($('.activeSlide', container)[0],slides)) return false;							   
				if(inAnimation) return false; 
				else inAnimation = true;
							
				$(slides).css({'display': 'block'});
				$('.nextSlide',container).removeClass('nextSlide');
				$(slides[jQuery.inArray(this, carousel_nav.children('li'))]).addClass('nextSlide');				
				$('.activeSlide',container).fadeOut(options.animSpeed, function() {																  
					$('.nextSlide',container).removeClass('nextSlide').addClass('activeSlide');										  
					$(this).removeClass('activeSlide').addClass('nextSlide');
					inAnimation = false;						
				});
			
				carousel_nav.children('li').removeClass('active');
				$(this).addClass('active');

			});

			if(options.autoSlide) { 			
				var autoSlideInterval = setInterval(function() {															 
					if(jQuery.inArray($('.activeSlide',container)[0], slides) < slides.length - 1)
					var item = jQuery.inArray($('.activeSlide',container)[0],slides) + 1;
					else 
					var item = 0;						
					$(carousel_nav.children('li')[item]).click();																 
				}, options.autoSlideInterval);
			}
								  
		});
	
	}
	
	$.fn.slider = function(options) {
		
		var defaults = { 
			animSpeed: 350, 
			easing: 'linear',
			dispItems: 1, 
			pager: false,
			autoSlide: true,
			autoSlideInterval: 7500
		}
		var options = $.extend(defaults, options);
		
		return this.each(function() {
								  
			var cPanel = 0;	
			var mouseover = false;
			var inAnimation = false;
			var container = $(this);
			var panelCount = $('ul li',container).size();
			if(panelCount <= options.dispItems)	return;	
			var panelWidth = $('ul li:first',container).outerWidth();
			$('ul',container).css({width: panelWidth * panelCount});				
			
			var next = $('<span class="carousel-next">&raquo;</span>');
			var prev = $('<span class="carousel-prev">&laquo;</span>');
			container.after(next, prev);
			
			prev.click(function() { 
				if(inAnimation) return;	
				inAnimation = true;
				clearInterval(t);
				if(cPanel == 0) {
					cPanel = panelCount - options.dispItems;
				}
				else {
					if(cPanel - options.dispItems >= 0)
						cPanel -= options.dispItems;
					else
						cPanel -= panelCount % options.dispItems;
				}
				var position = - (panelWidth * cPanel);
				container.children('ul').animate({left: position}, options.animSpeed, options.easing, function() {inAnimation = false;}); 
				
				if(options.pager) 
					pageHighlight();
					
			});
			
			next.click(function(e) { 				
				if(inAnimation) return;	
				inAnimation = true;
				if(e.clientX)
					clearInterval(t);
					
				if(cPanel == panelCount - options.dispItems) {
					cPanel = 0;
				}
				else {
					if(cPanel + options.dispItems * 2 <= panelCount)
						cPanel += options.dispItems;
					else
						cPanel += panelCount % options.dispItems;
				}
				var position = - (panelWidth * cPanel);
				container.children('ul').animate({left: position}, options.animSpeed, options.easing, function() {inAnimation = false;}); 	
				
				if(options.pager) 
					pageHighlight();	
				
			});
			
			if(options.pager) {
				var pager = $('<ol class="carousel-pages"></ol>');
				for(i=0; i < Math.ceil(panelCount/options.dispItems); i++) {
					pager.append('<li>'+ (i + 1) +'</li>');	
				}
				
				container.after(pager);
				pager.css({left: container.width()/2 - pager.width()/2 + 'px'});
				$('li:eq(0)', pager).addClass('active');
				
				$('li', pager).click( function() {	
					if(inAnimation) return;	
					inAnimation = true;
					clearInterval(t);
					if($(this).text() * options.dispItems <= panelCount)
						cPanel = ($(this).text() - 1) * options.dispItems;
					else
						cPanel = ($(this).text() - 2) * options.dispItems + (panelCount % options.dispItems);					
					var position = - (panelWidth * cPanel);
					
					container.children('ul').animate({left: position}, options.animSpeed, options.easing, function() {inAnimation = false;});						
					pageHighlight();
				});
			}
			
			$('ul:first',container)
				.mouseenter( function() {mouseover = true;})
				.mouseleave(function() {mouseover = false;});
			
			if(options.autoSlide) {
				var t = setInterval(function() {
					if(mouseover) return;
					next.click();					 
				}, options.autoSlideInterval);
			}
			
			function pageHighlight() {
				$('li', pager).removeClass('active');
				$($('li', pager)[Math.ceil(cPanel/options.dispItems)]).addClass('active');	
			}
			
		});
		
	}
	  
})(jQuery);
