var employeeGroups;
var employeeGroupCount;
var employeeGroupDirection='next';
var selectedEmployeeGroup;
var allEmployeeGroupImages;
var selectedEmployeeGroupImages;
var selectedEmployeeGroupImageContainer;
var prevCompanyGroup;
var nextCompanyGroup;
var pageLoadName;
var pageLoadGroup;
var pageLoadState;
var curLoadingBg;

// this moves company directory 
function animateCompanyDir(act, group){
		var selectedEmployeeGroup = '#contentSlide'+group;
		var selectedEmployeeBg = '#employeeBg'+group;
		$('#companyPageContainer').queue("fx", []);

		// if displaying the company directory do this
		if(act == 'open'){
				$('#companyPageContainer').css({'height': $(selectedEmployeeGroup).innerHeight(),'background-image':'url(../assets/img/company/companyPageContainerBg.jpg)'}); 
				$('#contentCompanyContainer').css({'position':'absolute'});	
				//$('#companyOpenEmployeeList').css({'display':'none'});
				$(selectedEmployeeGroup).css({'position':'absolute'});
				$(selectedEmployeeGroup).animate({left: '-809px'}, 500, 'easeOutQuart');
				var winWidth = parseInt($(window).width());
				var winWidthPlus = winWidth+20;
				$(selectedEmployeeBg).fadeOut(1000);
				$('#companyEmpListContainer')
						.css({'position':'relative', 'display':''})
						.animate({top:'0px'}, 500, 'easeOutCubic', function(){animateCompanyPageContainerHeight('dir', group);});				
				
				// set the image srcs to blank
				allEmployeeGroupImages.attr({src:'../assets/img/common/blank.gif'});
			}
		// if hiding the company directory do this
		if(act == 'close'){
				$('#companyPageContainer').css({'height':$('#companyPageContainer').innerHeight(),'background-image':'url(../assets/img/company/contentCompanyContainerBg.png)'}); 
				$('#contentCompanyContainer').css({'position':'absolute'});
				$(selectedEmployeeGroup).css({'zIndex':'5200', 'left':'809px', 'position':'absolute'});
				//$('#companyOpenEmployeeList').fadeIn(1000);
				$('#companyEmpListContainer').css({'position':'absolute'})
						.animate({top: $('#companyPageContainer').innerHeight()+20}, 500, 'easeOutQuart', 
								function(){
										$('#companyEmpListContainer').css({'display':'none'}); animateEmployeeSlides(group, false);
										$('#contentCompanyContainer').css({'position':'relative'});
									}
							);
			}
	}

function employeeButtonHover() {
	var employeeButton = '#employeeList a';
	$(employeeButton).children('.employeeListHover').css({'opacity':'0'});
	$(employeeButton).hover(function() { 	
		$(this).children('.employeeListHover').stop(true, true).animate({'opacity':'1'}, 500);
		$(this).children('.empTitle').stop(true, true).css({'color':'#353537'});
		 }, function() {
		$(this).children('.employeeListHover').stop(true, true).animate({'opacity':'0'}, 500);	
		$(this).children('.empTitle').stop(true, true).css({'color':'#00aef0'});						
	});
}

// set the direction of content animation and call animation
function animateEmployeeSlideNext(group){
		var g=group;
		employeeGroupDirection = 'next';
		animateEmployeeSlides(g, false);
	}

// set the direction of content animation and call animation
function animateEmployeeSlidePrev(group){
		var g=group;
		employeeGroupDirection = 'prev';
		animateEmployeeSlides(g, false);
	}

// employee switch animation
function animateEmployeeSlides(group, init){
		// check if the company directory is open
		if($('#companyEmpListContainer').css('display')!='none' && init == false){animateCompanyDir('close', group);}
		else {
				// this is used to detect if an animation is currently running and prevent jumping of the page
				$('#companyPageContainer').stop(false, false);
				
				if($('#companyPageContainer').attr('style').match('height') == null){
					$('#companyPageContainer').css({'height':$('#companyPageContainer').innerHeight()}); }
				else{
					$('#companyPageContainer').css({'height':$('#companyPageContainer').css('height')}); }
				$('#companyPageContainer').queue("fx", []);
				selectedEmployeeGroup = '#contentSlide'+group;
				if(init==true){
						setPrevNextLinks('0');
						setCompanyBgImageSrc(group);
						animateEmployeeBg('0');
						setOpenCloseLinks('1');
					}
				else {
						setPrevNextLinks(group);
						setCompanyBgImageSrc(group);
						animateEmployeeBg(group);
						setOpenCloseLinks(group);
					}
				setCompanyImageSrc(group)

				var speed = 700;
				var ease = 'easeOutQuart';
				employeeGroups.css({'position':'absolute'});
				// show the clicked slide
				$(selectedEmployeeGroup).queue("fx", []);
				if(init == false){$(selectedEmployeeGroup).css({'position':'relative', 'zIndex':'5200'});}
				else{$(selectedEmployeeGroup).css({'zIndex':'5200', 'left':'0px'});}
				if(employeeGroupDirection=='next'){	
						$('#contentSlide'+nextCompanyGroup).css({'zIndex':'5050'});
						$('#contentSlide'+nextCompanyGroup).delay(500).animate({left: '809px'}, 0);
						$('#contentSlide'+prevCompanyGroup).delay(500).animate({left: '-809px'}, speed-100, ease);
					}
				if(employeeGroupDirection=='prev'){	
						$('#contentSlide'+prevCompanyGroup).css({'zIndex':'5050'});
						$('#contentSlide'+prevCompanyGroup).delay(500).animate({left: '-809px'}, 0);
						$('#contentSlide'+nextCompanyGroup).delay(500).animate({left: '809px'}, speed-100, ease);
					}
				if(init == false){if($(selectedEmployeeGroup).css('left')!='0px'){$(selectedEmployeeGroup).delay(500).animate({left: '0px'}, speed, ease, animateCompanyPageContainerHeight('employee', group));}}
				jQuery.each(employeeGroups, function(i) {												 
						var iGroup = ((i)+1);
						var thisGroup = '#contentSlide'+iGroup;
						if(thisGroup != selectedEmployeeGroup){ 
									if((iGroup!=prevCompanyGroup && iGroup!=nextCompanyGroup)){
											$(thisGroup).css({'zIndex':'5050'});
											$(thisGroup).css({'left': '-809px'});
										}
							}
					});

			}
	}
	
// set the src for employee images
function setCompanyImageSrc(group){
		var firstImage = '#companySlideImg'+group+'-1';
		var selectedEmployeeGroupImages = $('#companySlideRight'+group+' a img.companySlideImageScript');	
		var allOtherEmployeeGroupImages;
		allOtherEmployeeGroupImages = jQuery.grep(allEmployeeGroupImages, function(i, v){
						if(jQuery.inArray(i, selectedEmployeeGroupImages) == '-1'){return i;}
					}		
			)
		jQuery.each(allOtherEmployeeGroupImages, function(i, v) {																						
					$(v).attr({'src':'../assets/img/common/blank.gif'});
					});
		jQuery.each(selectedEmployeeGroupImages, 
				function(i, v){
						if($(v).attr('src') == '../assets/img/common/blank.gif'){
								$(v).attr('src', $(v).attr('origSrc'));
							}
					});
	}
	
function fadeInBg(group){
		$('#employeeBg'+group).css({'display':'','opacity':'0'});
		if(curLoadingBg == group){$('#employeeBg'+group).delay(500).animate({opacity:1},800);}
	}

// set the src for employee background images
function setCompanyBgImageSrc(group){
		var allEmployeeBg = $('.employeeBg img');
		var thisEmployeeBg = '#employeeBg'+group;
		var prevEmployeeBg = '#employeeBg'+prevCompanyGroup;
		var nextEmployeeBg = '#employeeBg'+nextCompanyGroup;
		var thisEmployeeBgImage = thisEmployeeBg+' img';
		var prevEmployeeBgImage = prevEmployeeBg+' img';
		var nextEmployeeBgImage = nextEmployeeBg+' img';
		var thisEmployeeBgSrc = $(thisEmployeeBgImage).attr('origsrc');
		var winWidth = parseInt($(window).width());
		var winWidthPlus = winWidth+20;
		var curFadeInBg;
		jQuery.each($('.employeeBg'), function(i, v) {$(v).queue('fx', [])});
		var img = new Image();
		if(group != 0){
		$(img).load(function(){
				if(curLoadingBg == group){
						jQuery.each(allEmployeeBg, 
								function(i, v){
										if((i+1)==(prevCompanyGroup) || (i+1)==group || (i+1)==(nextCompanyGroup)){
												$(v).css('backgroundImage', $(v).attr(''));
											}
										else {
												if($(v).css('backgroundImage') != 'url(../assets/img/common/blank.gif)'){
														$(v).css('backgroundImage', 'url(../assets/img/common/blank.gif)');
													}
											}
									});
								setTimeout('fadeInBg('+group+')',550);	
					}
				});
			var imgSrcLength = ((thisEmployeeBgSrc.length)-5);
			curLoadingBg = group;
			$(img).attr({'src':thisEmployeeBgSrc.substr(4,imgSrcLength)});
		}
	else {
				jQuery.each(allEmployeeBg, 
						function(i, v){
								if((i+1)==(prevCompanyGroup) || (i+1)==(nextCompanyGroup)){
										$(v).css('backgroundImage', $(v).attr('origsrc')); 
									}
								else {
										if($(v).css('backgroundImage') != 'url(../assets/img/common/blank.gif)'){
												$(v).css('backgroundImage', 'url(../assets/img/common/blank.gif)');
											}
									}
							});
		}
	}

// animate the employee background images
function animateEmployeeBg(group){
		var thisEmployeeBg = '#employeeBg'+group;
		var thisEmployeeBgImg = '#employeeBg'+group+' img';
		var prevEmployeeBg = '#employeeBg'+prevCompanyGroup;
		var nextEmployeeBg = '#employeeBg'+nextCompanyGroup;
		var allEmployeeBg = $('.employeeBg');
		var pHeight;
		var docHeight = parseInt($(document).height());
		var winHeight = parseInt($(window).height());
		var winWidth = parseInt($(window).width());
		var winWidthPlus = winWidth+20;

		function finishUp(){
				if(docHeight > winHeight){pHeight = docHeight;}
				else{pHeight = winHeight;};
				$(thisEmployeeBg).css({'height': pHeight});
				//$('#employeeBgContainer').animate({height: pHeight}, 700);
			}
			
		//resize the background with the window
		function resizenow(){
				var startwidth = $(thisEmployeeBgImg).attr('width'); 
				var startheight = $(thisEmployeeBgImg).attr('height');
				var ratio = startheight/startwidth;
				var browserwidth = $(window).width();
				var browserheight = $(window).height();
				if ((browserheight/browserwidth) > ratio) {
					$(thisEmployeeBg).height(browserheight);
					$(thisEmployeeBg).width(browserheight / ratio);
					$(thisEmployeeBg).children().height(browserheight);
					$(thisEmployeeBg).children().width(browserheight / ratio);
				} else {
					$(thisEmployeeBg).width(browserwidth);
					$(thisEmployeeBg).height(browserwidth * ratio);
					$(thisEmployeeBg).children().width(browserwidth);
					$(thisEmployeeBg).children().height(browserwidth * ratio);
				}
		}
		//resizenow();
		//$(window).bind("resize", function() { resizenow(); });

		if(employeeGroupDirection=='next'){
				if($(prevEmployeeBg).css('display')!='none'){$(prevEmployeeBg).animate({opacity:0},200, finishUp());}
				else{finishUp();}
				$(nextEmployeeBg).css({'display':'none'});
			}
		else{
				$(prevEmployeeBg).css({'display':'none'});		
				if($(nextEmployeeBg).css('display')!='none'){$(nextEmployeeBg).animate({opacity:0},200, finishUp());}
				else{finishUp();}
			}
		jQuery.each(allEmployeeBg, function(i){
					var iBg = '#employeeBg'+(i+1);
					var w = ('-'+winWidthPlus);
					if(iBg!=thisEmployeeBg && iBg!=prevEmployeeBg && iBg!=nextEmployeeBg){
							$(iBg).css({'height':'0px', 'display':'none'})
						}
				});
	}

// animate the content area height then release height to allow variable text size
function animateCompanyPageContainerHeight(container, group){
		$('#companyPageContainer').queue("fx", []);
		var finalHeight;
		var speed=800;
		var ease;
		if(container == 'dir'){finalHeight = $('#companyEmpListContainer').innerHeight(); speed; ease='easeOutBack';}
		if(container == 'employee'){finalHeight = $('#contentCompanyContainer').innerHeight(); speed; ease='easeInOutBack';}
		if(finalHeight == 0){finalHeight = 350};
		$('#companyPageContainer').animate({'height': finalHeight+'px'}, speed, ease);
		$('#companyPageContainer').queue("fx", function(){$('#companyPageContainer').css({'height':''});});
	}

// set the open directory and close directory links after content is changed
function setOpenCloseLinks(group){
			$('.companyCloseEmployeeList a').unbind('click');
			$('.companyOpenEmployeeList a').unbind('click');
			$('.companyCloseEmployeeList a').bind('click', function(){animateCompanyDir('close', group); return false;});
			$('.companyOpenEmployeeList a').bind('click', function(){animateCompanyDir('open', group); return false;});
	}

// set the previous and next links after content is changed
function setPrevNextLinks(group){
		prevCompanyGroup = group;
		nextCompanyGroup = group;
		if(group > 1){prevCompanyGroup = (--prevCompanyGroup);} else {prevCompanyGroup = employeeGroupCount;} 
		if(group < employeeGroupCount){nextCompanyGroup = (++nextCompanyGroup);} else {nextCompanyGroup = 1;} 
		$('#navPrev a').unbind('click');
		$('#navNext a').unbind('click');
		$('#navPrev a').bind('click', function(){animateEmployeeSlidePrev(prevCompanyGroup); return false;});
		$('#navNext a').bind('click', function(){animateEmployeeSlideNext(nextCompanyGroup); return false;});
	}
	
/*function setPrevNextLinks(group){
		prevCompanyGroup = group;
		nextCompanyGroup = group;
		if(group > 1){ prevCompanyGroup = (--prevCompanyGroup);
			if (jQuery.browser.msie) { $('#navPrevBg, #navPrev a, #navPrev').show(); $('#navPrev').stop(true, true).animate({left:'-100px'}, 400); } 
			else { $('#navPrevBg').animate({opacity:1}, 200); $('#navPrev a').show(); $('#navPrev').stop(true, true).animate({opacity:1, left:'-100px'}, 400); } }
		else { prevCompanyGroup = employeeGroupCount;
			if (jQuery.browser.msie) { $('#navPrevBg, #navPrev a, #navPrev').hide(); $('#navPrev').stop(true, true).animate({left:'-135px'}, 400); } 
			else {  $('#navPrevBg').stop(true, true).animate({opacity:0}); $('#navPrev a').hide(); $('#navPrev').stop(true, true).animate({opacity:0, left:'-135px'}); } }
		if(group < employeeGroupCount) { nextCompanyGroup = (++nextCompanyGroup);
			if (jQuery.browser.msie) { $('#navNextBg, #navNext a, #navNext').show(); $('#navNext').stop(true, true).animate({left:'770px'}, 400); }
			else { $('#navNextBg').animate({opacity:1}, 200); $('#navNext a').show(); $('#navNext').stop(true, true).animate({opacity:1, left:'770px'}, 150); } }
		else { if (jQuery.browser.msie) { $('#navNextBg, #navNext a, #navNext').hide(); $('#navNext').stop(true, true).animate({left:'808px'}, 400); }
			else { $('#navNextBg').stop(true, true).animate({opacity:0}); $('#navNext a').hide(); $('#navNext').stop(true, true).animate({opacity:0, left:'808px'}); } }
		$('#navPrev a').unbind('click');
		$('#navNext a').unbind('click');
		$('#navPrev a').bind('click', function(){animateEmployeeSlidePrev(prevCompanyGroup); return false;});
		$('#navNext a').bind('click', function(){animateEmployeeSlideNext(nextCompanyGroup); return false;});
	}*/
	
// initialize the page
function initCompany(){
		// set the company slides to the left
		//$('#companyOpenEmployeeList').css({'display':'none'});
		$('#contentCompanyContainer').css({'position':'absolute'});
		employeeGroups = $('.contentCompany')
		employeeGroupCount = employeeGroups.length;
		employeeGroups.css({'left':'-809px'}).css({'position':'absolute'});
		employeeButtonHover();
		// hide the company slide images
		allEmployeeGroupImages = $('.companySlideImg img')
		// set the previous & next mousover / out animations
		$('#navPrev').bind('mouseover', function(){navMouseAnimate('#navPrev','-90px');});
		$('#navPrev').bind('mouseout', function(){navMouseAnimate('#navPrev','-100px');});
		$('#navNext').bind('mouseover', function(){navMouseAnimate('#navNext','760px');});
		$('#navNext').bind('mouseout', function(){navMouseAnimate('#navNext','770px');});
		var	pn = "div[name='"+pageLoadName+"']";
		if(pageLoadName=='0' || $(pn).length < 1){
				animateEmployeeSlides('0', true);
				animateCompanyPageContainerHeight('dir', '0')
			}
		else {
				p = $(pn).attr('id');
				pageLoadGroup = p.replace(/contentSlide/,"");
				animateCompanyDir('close', pageLoadGroup)
			}
	}

//When DOM is ready initialize the page
$(document).ready(function(){initCompany();});
