$(function() {
	
	
	
	
	//PAGE SLIDER/////////////////////////////////////////////////////
	/////////////////////////////////////////////////////////////////
	
	function slider(){
		
		//vars
		var pageWidth = $(window).width();
		var itemLength = $('#wrapper ul li').not($('.container li')).length;
		var pages = [];
		var prevIndex = -1;
		var nextIndex = 1;
		
		//get all pages in array (removes panel from id)
		$('#wrapper ul li').not($('.container li')).each(function(){
			var string = $(this).attr('id');
			if(string){
				var a = string.split('P');
				pages.push(a[0]);
			}
		})
		
		//on page load
		$(window).load(function(){
			
			var loadHash = window.location.hash;
			
			$('#navigation ul li ul li a').each(function(){
				if($(this).attr('href') == loadHash){
					$(this).parents('li').addClass('active');
				}
			})
			
			paginate();
			
			//set inital hrefs for arrows
			if($('.subStrategy li.active').length == 1){
				var selection = $('.subStrategy li.active');
				prevIndex = selection.index('li')-1;
				nextIndex = selection.index('li')+1;
			}else if($('.subTechnology li.active').length == 1){
				var selection = $('.subTechnology li.active');
				prevIndex = selection.index('li')-2;
				nextIndex = selection.index('li');
			}else if($('.subOrganization li.active').length == 1){
				var selection = $('.subOrganization li.active');
				prevIndex = selection.index('li')-3;
				nextIndex = selection.index('li')-1;
			}
			$('#prevArrow').attr('href', pages[prevIndex]);
			$('#nextArrow').attr('href', pages[nextIndex]);
			
			//hide previous/next arrows accordingly
			if($('#wrapper ul li.page').length == 1){
				$('#prevArrow, #nextArrow').hide();
			}
			if(prevIndex == -1){
				$('#prevArrow').hide();
			}
			if(nextIndex == $('#wrapper ul li').not($('.container li')).length){
				$('#nextArrow').hide();
			}
			
		});
	
		function hideShowArrows(){
			if(nextIndex == $('#wrapper ul li.page').length){$('#nextArrow').hide();}else{$('#nextArrow').fadeIn(300);}
			if(prevIndex == -1){$('#prevArrow').hide();}else{$('#prevArrow').fadeIn(300);}		
		}
		
		//set ul / li width
		$('#wrapper ul').not($('.container ul')).width(itemLength * pageWidth);
		$('#wrapper ul li').not($('.container li')).width(pageWidth);
	  
		//resize page
		$(window).resize(function(){
		 	pageWidth = $(window).width();
			$('#wrapper ul').not($('.container ul')).width(itemLength * pageWidth);
			$('#wrapper ul li').not($('.container li')).width(pageWidth);
			
			//callback to center content after resize
			delay(function(){
			  $('.subStrategy li.active a, .subTechnology li.active a, .subOrganization li.active a').click();
			}, 250);
			
		});
		
		//check for ios/android
		var deviceAgent = navigator.userAgent.toLowerCase();
		var agentID = deviceAgent.match(/(iphone|ipod|ipad|android)/);
		if(agentID){
			
			//hide arrows
			$('#prevArrow, #nextArrow').hide();
			
			var swipeOptions = {swipe:swipe,threshold:100}
			$("#wrapper").swipe( swipeOptions );
			
			function swipe(event, direction){
				
				if(direction == 'left'){
					
					//set hash
					window.location.hash = $('#nextArrow').attr('href');
		
					//pagination
					if(nextIndex < $('#wrapper ul li').not($('.container li')).length){
						
						prevIndex++;
						nextIndex++;
						
						$('#nextArrow').attr('href', pages[nextIndex]);
						$('#prevArrow').attr('href', pages[prevIndex]);
						
						paginate();
					}
					
					//control subnav highlights
					$('#navigation ul li ul li').removeClass('active');
					$('#navigation ul li ul li a').each(function(){
						if($(this).attr('href') == window.location.hash){
							$(this).parents('li').addClass('active');
						}
					})
					
				}
				
				if(direction == 'right'){
					
					//set hash
					window.location.hash = $('#prevArrow').attr('href');
					
					//pagination
					if(prevIndex > -1){
						
						prevIndex--;
						nextIndex--;
						
						$('#prevArrow').attr('href', pages[prevIndex]);
						$('#nextArrow').attr('href', pages[nextIndex]);
						
						paginate();
					}
					
					//control subnav highlights
					$('#navigation ul li ul li').removeClass('active');
					$('#navigation ul li ul li a').each(function(){
						if($(this).attr('href') == window.location.hash){
							$(this).parents('li').addClass('active');
						}
					})
					
				}
		
			}
		
		}
		
		//click pagination for subnav
		$('#navigation ul li ul li a').live('click', function(e){
			
			//paginate
			window.location.hash = $(this).attr('href');
			$('#navigation ul li ul li').removeClass('active');
			$(this).parents('li').addClass('active');
			paginate();
			
			//update arrows based on pages array
			if($('.subStrategy li.active').length == 1){
				var selection = $('.subStrategy li.active');
				prevIndex = selection.index('li')-1;
				nextIndex = selection.index('li')+1;
			}else if($('.subTechnology li.active').length == 1){
				var selection = $('.subTechnology li.active');
				prevIndex = selection.index('li')-2;
				nextIndex = selection.index('li');
			}else if($('.subOrganization li.active').length == 1){
				var selection = $('.subOrganization li.active');
				prevIndex = selection.index('li')-3;
				nextIndex = selection.index('li')-1;
			}
			
			$('#prevArrow').attr('href', pages[prevIndex]);
			$('#nextArrow').attr('href', pages[nextIndex]);
			
			
			//control arrows
			if(!agentID){
				hideShowArrows();
			}
			
			e.preventDefault();
			
		})
		
		//click pagination for arrows (prev / next)
		$('#prevArrow').click(function(e){
			
			//set hash
			window.location.hash = $(this).attr('href');
			
			//pagination
			prevIndex--;
			nextIndex--;
			$(this).attr('href', pages[prevIndex]);
			$('#nextArrow').attr('href', pages[nextIndex]);
			paginate();
			
			//control subnav highlights
			$('#navigation ul li ul li').removeClass('active');
			$('#navigation ul li ul li a').each(function(){
				if($(this).attr('href') == window.location.hash){
					$(this).parents('li').addClass('active');
				}
			})
			
			//control arrows
			if(!agentID){
				hideShowArrows();
			}
						
			e.preventDefault();
			
		})
				
		$('#nextArrow').click(function(e){
			
			//set hash
			window.location.hash = $(this).attr('href');

			//pagination
			prevIndex++;
			nextIndex++;
			$(this).attr('href', pages[nextIndex]);
			$('#prevArrow').attr('href', pages[prevIndex]);
			paginate();
			
			//control subnav highlights
			$('#navigation ul li ul li').removeClass('active');
			$('#navigation ul li ul li a').each(function(){
				if($(this).attr('href') == window.location.hash){
					$(this).parents('li').addClass('active');
				}
			})
			
			//control arrows
			if(!agentID){
				hideShowArrows();
			}
						
			e.preventDefault();
			
		})
		
		//paginate
		function paginate(){
			
			var windowLocation = window.location.hash;
			if(windowLocation){
				var $panel = $(windowLocation + "Panel");
				var panelIndex = $panel.index('#wrapper ul li.page');
				var panelOffset = (panelIndex) * (pageWidth); 
				
				$('#wrapper ul').not($('.container ul')).animate({left: '-'+panelOffset+'px'},500);
			}
						
		}
	}
	
	
	
	//SIDEBAR/////////////////////////////////////////////////////////
	/////////////////////////////////////////////////////////////////
	
	function sideBar(){
		
		$('.sideBar a.toggle').click(function(e){
			
			if($(this).hasClass('active')){
				$(this).removeClass('active')
			}else{
				$(this).addClass('active')
			}
			
			$(this).nextAll('div').slideToggle('slow');
			e.preventDefault();
		})
		
	}
	
	
	
	
	//LEADERSHIP//////////////////////////////////////////////////////
	/////////////////////////////////////////////////////////////////
	
	function leadership(){
		
		//show tooltip
		$('.bottom #team li a').hover(function(){
			$(this).nextAll('.teamTab').show();
		},function(){
			$(this).nextAll('.teamTab').hide();
		})
		
		//user click
		$('#wrapper ul li .container .bottom #team li a').click(function(e){
			
			//vars
			var person = $(this).attr('id');
			
			//changer highlights
			$('#wrapper ul li .container .bottom #team li').removeClass('active')
			$(this).parents('li').addClass('active');
			
			
			//hide & show new content
			$('.bio, .original').hide();
			$('.'+person).fadeIn(500);
			
			e.preventDefault();
		})
		
		//back to intro
		$('.backToIntro').click(function(e){
			$('.bio, .original').hide();
			$('.original').fadeIn(500);
			$('#wrapper ul li .container .bottom #team li').removeClass('active');
			e.preventDefault();
		})
	}
	
	
	
	
	//MIG 200/////////////////////////////////////////////////////////
	/////////////////////////////////////////////////////////////////
	
	function mig200(){
		
		$('#mig200').click(function(e){
			$('#modal').css({opacity: 0}).show().animate({opacity:1},500);
			$('#overlay').css({opacity: 0}).show().animate({opacity:.8},500);
			e.preventDefault();
		})
		
		$('#overlay, .close').click(function(e){
			$('#modal, #overlay').fadeOut('500');
			e.preventDefault();
		})
	}
	
	
	
	
	 //FIXES//////////////////////////////////////////////////////////
	/////////////////////////////////////////////////////////////////
	
	function fixes(){
		
		//set container height to 100%
		var pageHeight = $(window).height();
		if($('#globalContainer').height() < ($(window).height())){
			$('#wrapper ul li .container').height(pageHeight - 432);
		}else{
			$('#wrapper ul li .container').height(pageHeight - 289);
		}
		
		//resize page
		$(window).resize(function(){
			pageHeight = $(window).height();
			if($('#globalContainer').height() <= pageHeight){
				$('#wrapper ul li .container').height(pageHeight - 432);
			}
		})
		
		if($.browser.msie && $.browser.version == '7.0'){
			//$('#wrapper').css({'top':'192px'});
		}
		
		
		
	}
	
	
	
	
	//MISC////////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////
	
	//external link function 
	if (document.getElementsByTagName){
		var anchors = document.getElementsByTagName("a");
		for (var i=0; i<anchors.length; i++) {
			var anchor = anchors[i];
			anchor.hideFocus = true;
			if (anchor.getAttribute("href") && (anchor.getAttribute("rel") == "external" || anchor.getAttribute("rel") == "alternate" || anchor.getAttribute("href").toLowerCase().indexOf(".pdf") > 4)){
				anchor.target = "_blank";
			}
		}
	}
	
	//popup window (privacy / legal / optout)
	$('.privacy, .legal, .optout').click(function(e){
		var url = $(this).attr('href');
		popitup(url);
		e.preventDefault();
	})
	function popitup(url) {
		newwindow=window.open(url,'name','height=600, width=600, scrollbars=1');
		if (window.focus) {newwindow.focus()}
		newwindow.moveTo(screen.width/2-600/2, screen.height/2-710/2);
		return false;
	}

	
	//get last uri segemnt from url
	function getLastURI(){
		var pageUrl = location.href;
		var pageArray = pageUrl.split('/');
		var pageType = pageArray[pageArray.length-1];
		return pageType;
	}
	
	
	//delay
	var delay = (function(){
		var timer = 0;
		return function(callback, ms){
		  clearTimeout (timer);
		  timer = setTimeout(callback, ms);
		};
	})();
	
	
	//click to print
	$('#print a').click(function(e){
		
		var defaultHash = window.location.hash;
		var defaultLeft =  $('#wrapper ul').not($('.container ul')).css('left');
		
		$('#wrapper ul li .container').css({'margin':'0'});
		if(defaultHash){
			$('#wrapper ul li').not($('.container ul li')).css({'float': 'none'}).not(defaultHash+'Panel').hide();
		}else{
			$('#wrapper ul li').not($('.container ul li')).css({'float': 'none'}).not('#startPanel').hide();
		}
		$('#wrapper ul').not($('.container ul')).css({'left': '0'});
		
		//print
		window.print();
		
		$('#wrapper ul li .container').css({'margin':'0 auto'});
		$('#wrapper ul').not($('.container ul')).css({'left': defaultLeft});
		$('#wrapper ul li').not($('.container ul li')).css({'float': 'left'}).show();
		
		e.preventDefault();
		
	})
	
	
	
	
	
	//LOADING//////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////
	
	function loading(){
		
		$('#loadingWhiteWall').delay(500).animate({opacity: 0}, 0, function(){
			$(this).remove();
		});
		
	}
	

		
		
	//EXECUTABLES
	slider();
	sideBar();
	leadership();
	fixes();
	mig200();
	loading();
	
	
	
	
}); //END OF DOM READY

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
