$(document).ready(function(){

/* Base URL
==========================================================================*/
	/*  Determine where the site is being viewed from 
			and set base url accordingly */

		var loc = window.location;
		var domain = loc.hostname;
		var splitDomain = loc.pathname.split('/');
		var siteRepo = splitDomain[1];
	
		// Localhost
		if (domain == 'localhost') {
			var baseUrl = loc.protocol + '//' + loc.hostname + ':' + loc.port + '/' + siteRepo + '/';
		}
	
		// Staging
		else if (domain == 'staging.bitmedia.co.uk') {
			var baseUrl = loc.protocol + '//' + loc.hostname + '/';
		}
		
		// Live 
		else {
			var baseUrl = '/';
		}


/*---------------------------------------------------------------------------------------
	Misc  
---------------------------------------------------------------------------------------*/
// IE6 PNG Fix
function ie6Png(){
	if ($.browser.msie && parseInt($.browser.version, 10) == 6) {
		$('#playVid, #culture .mainCol h4 a, #culture .sideCol h4 a, #footer .social a, .back, .scroll .next, .scroll .prev, .filetype, .overlay, #vidOverlay, .innerContent, #vid, #accreditations img, .sustainableApproach img, .twitterLink, .clients img').supersleight();
	}
}
ie6Png();

    //Random Background
    function randomBg(){
        var images = ['Abstract_Type.jpg', 'Chesterfield.jpg', 'Peg_Line.jpg'];
        var bg = 'media/images/bg/' + images[Math.floor(Math.random() * images.length)]
        $('body, #headerContainer').css('backgroundImage', 'url(http://www.logistikgroup.com/'+ bg + ')');
    }
    randomBg();
	
    // Logo scroll to top on click
    $('#logo').click(function(e){
        if ($('body').hasClass('homePage')){
					e.preventDefault();
					$.scrollTo(0, 1500);
				}
    });
    
    // Twitter Feed
    $("#tweets").tweet({
        count: 2
    });
    $("#tweets2").tweet({
        username: "LogistikCSR",
        loading_text: ""
    });	
	
    function topicTweet(){
			if ($('#topicTweets').length){
				var topic = $('#topicTweets').attr('class');
				var topicQuery = '#' + topic +' from:logistikgroup';
				$('#topicTweets').tweet({
						query: topicQuery,
						loading_text: 'Loading Tweet...'
				}).bind("empty", function() { $(this).append(''); });
			}
		}topicTweet();
			
/*---------------------------------------------------------------------------------------
	Navigation  
---------------------------------------------------------------------------------------*/
     //Scroll Nav
    	$('body.homePage #mainNav a').click(function(e){
			if ($(this).parent('li').hasClass('whatWeDoNav')){
				if ($.browser.msie && parseInt($.browser.version, 10) == 6) {}
					else {		
						e.preventDefault();
						var url = $(this).attr('href');
						var id = $(this).attr('class');
						populateLogbox(url, id);
					}
			} 
			else {
				e.preventDefault();
				$.scrollTo.window().queue([]).stop();
				// if culture, use a different offset so that it's not overridden by contactnav activation
				if ($(this).parent().hasClass('cultureNav')){
					$.scrollTo(this.hash, 1500, {
						easing: 'easeOutQuint',
						offset: -250
					});	
				}
				else {
					$.scrollTo(this.hash, 1500, {
						easing: 'easeOutQuint',
						offset: -128
					});
				}
			}
		});
	
	// Set initial active class
	if ($(window).scrollTop() == '0') {
    	$('#mainNav li a').removeClass('selected');
        $('#mainNav li.aboutNav a').addClass('selected');
    }
	
    // Set nav classes according to page scroll
    $(window).scroll(function(){
        //if bottom of page, set active class on contact
        if ($(window).height() + $(window).scrollTop() == $(document).height()) {
            $('#mainNav li a').removeClass('selected');
            $('#mainNav li.contactNav a').addClass('selected');
        }
        // if near top, set active class on about
        else if ($(window).scrollTop() <= 300) {
            $('#mainNav li a').removeClass('selected');
            $('#mainNav li.aboutNav a').addClass('selected');
        }
		// if within 100px of bottom, set active class on culture
        else if ($(window).scrollTop() >= $(document).height() - $(window).height() - 355) {
            $('#mainNav li a').removeClass('selected');
            $('#mainNav li.cultureNav a').addClass('selected');
        }
        // else set active class on approproate nav
        else {
            $('body.homePage .section').each(function(){
                if ($(this).offset().top - $(window).scrollTop() < 255) {
                    var a = $(this).attr('id');
                    $('#mainNav a').removeClass('selected');
                    $('#mainNav a[href="#' + a + '"]').addClass('selected');
                }
            });
        }
    });

	
/*---------------------------------------------------------------------------------------
	Info Slideup
---------------------------------------------------------------------------------------*/    
    // Info slide up/down for work and news items
    function slideUps(){
        $('#work .item, #news .item').each(function(){
        	
            // Get element heights
	
            var subTextHeight = $(this).find('.abstract p').outerHeight();
			// Set default position of abstract
            $(this).find('.abstract').css('marginBottom', '-' + subTextHeight + 'px');
            
             //Set hover position of abstract
            $(this).hover(function(){
                $(this).find('.abstract').animate({
                    marginBottom: '0'
                });
                return false;
            },            
            function(){

								//reset var as it may be cached from before page resize
								var subTextHeight = $(this).find('.abstract p').outerHeight();
								
								$(this).find('.abstract').animate({
                    marginBottom: '-' + subTextHeight + 'px'
                });
                return false;
            });
        });
    }

	$(window).resize(function(){
		// reset the slideUps on resize
		$('#work .item, #news .item').each(function(){
    	var subTextHeight = $(this).find('.abstract p').outerHeight();
			$(this).find('.abstract').css('marginBottom', '-' + subTextHeight + 'px');
		});
	});
    

/*---------------------------------------------------------------------------------------
	Scrollables
---------------------------------------------------------------------------------------*/
function workSlider(){	

	var slideOffset = '35'; 		
	var slideDur = '500';

  $('#workScroll').flexslider({
		slideshow: false,
		animation: 'slide',
		slideDirection: 'horizontal',
		controlNav: false,
		start: function(){
			setTimeout(function() {
				$('#work .flex-direction-nav').detach().prependTo('#work');
				slideUps();
			}, 100 );		
		}, 
		before: function(){
			$('#work .flex-direction-nav a').addClass('used');
		}  
	});
	
	$('#work .flex-direction-nav a').live({
		mouseover: function() {
 			var direction = $(this).attr('class');

				$(this).animate({
					width: '74px'
				}, slideDur);

			if ($(this).hasClass('prev')){
				
				$('#work .flex-direction .next').removeClass('active');
				$(this).addClass('active');
				
				$('#workScroll .slides').animate({
					marginLeft: '+='+ slideOffset +'px'
				}, slideDur);
				
			}
			else if ($(this).hasClass('next')){
				
				$('#work .flex-direction .prev').removeClass('active');
				$(this).addClass('active');
				
				$('#workScroll .slides').animate({
					marginLeft: '-=' + slideOffset + 'px'
				}, slideDur);
			}
		},
  	mouseout: function() {
			
				$(this).animate({
					width: '52px'
				}, slideDur);			
			
			if ($(this).not('.used').hasClass('prev') || $(this).hasClass('prev') && $.browser.webkit){
				$('#workScroll .slides').animate({
					marginLeft: '-='+ slideOffset +'px'
				}, slideDur);
			}
			else if ($(this).not('.used').hasClass('next') || $(this).hasClass('next') && $.browser.webkit){
				$('#workScroll .slides').animate({
					marginLeft: '+=' + slideOffset + 'px'
				}, slideDur);
			}
			$('#work .flex-direction-nav a').removeClass('used');
  	}
	});
}
workSlider();
	
function newsSlider(){	

	var slideOffset = '35'; 		
	var slideDur = '500';

  $('#newsScroll').flexslider({
		slideshow: false,
		animation: 'slide',
		slideDirection: 'horizontal',
		controlsContainer: '#news',
		controlNav: false,
		start: function(){
			setTimeout(function() {
				// need to manually move the next/prev as slider isn't inserting it into the correct spot
				$('#news .flex-direction-nav').detach().prependTo('#news');
				slideUps();
			}, 100 );		
		}, 
		before: function(){
			$('#news .flex-direction-nav a').addClass('used');
		}  
	});
	
	$('#news .flex-direction-nav a').live({
		mouseover: function() {
 			var direction = $(this).attr('class');

				$(this).animate({
					width: '74px'
				}, slideDur);

			if ($(this).hasClass('prev')){
				
				$('#news .flex-direction .next').removeClass('active');
				$(this).addClass('active');
				
				$('#newsScroll .slides').animate({
					marginLeft: '+='+ slideOffset +'px'
				}, slideDur);
				
			}
			else if ($(this).hasClass('next')){
				
				$('#news .flex-direction .prev').removeClass('active');
				$(this).addClass('active');
				
				$('#newsScroll .slides').animate({
					marginLeft: '-=' + slideOffset + 'px'
				}, slideDur);
			}
		},
  	mouseout: function() {
			
				$(this).animate({
					width: '52px'
				}, slideDur);			
			
			if ($(this).not('.used').hasClass('prev') || $(this).hasClass('prev') && $.browser.webkit){
				$('#newsScroll .slides').animate({
					marginLeft: '-='+ slideOffset +'px'
				}, slideDur);
			}
			else if ($(this).not('.used').hasClass('next') || $(this).hasClass('next') && $.browser.webkit){
				$('#newsScroll .slides').animate({
					marginLeft: '+=' + slideOffset + 'px'
				}, slideDur);
			}
			$('#news .flex-direction-nav a').removeClass('used');
  	}
	});
}
newsSlider();	
//
//    // Scrollable - No items 
//    function scrollerNoItems(){
//        if ($('#newsScroll #noitems').length) {
//            $('#newsScroll').css('height', '130px');
//            $('#news .prev, #news .next').remove();
//        }
//        if ($('#workScroll #noitems').length) {
//            $('#workScroll').css('height', '130px');
//            $('#work .prev, #work .next').remove();
//        }
//    }
//    scrollerNoItems();
//    
//    // Scrollable - Not enough items
//    function scrollerNotEnoughItems(){
//        var newsItems = $('#newsScroll .slides > li').size()
//		if (newsItems <= 1) {
//            $('#news .prev, #news .next').remove();
//        }
//        var workItems = $('#workScroll .slides > li').size()
//        if (workItems <= 1) {
//            $('#work .prev, #work .next').remove();
//        }
//    }
//    scrollerNotEnoughItems();
//    
     //Inner Page Scrollables
    function innerScrolls(){
        $('#relProjects .scroll, #relArticles .scroll').scrollable().navigator();
        // Set navi numbers
        $('#relProjects .navi a').each(function(i){
            $(this).html(i + 1);
        });
        $('#relArticles .navi a').each(function(i){
            $(this).html(i + 1);
        });
        
        $('#content .scroll').scrollable().navigator();
    }
    innerScrolls();
    
/*---------------------------------------------------------------------------------------
	Inner Page Functions
---------------------------------------------------------------------------------------*/
    // Image Lightbox
    function fancyBox(){
        // For images
        $('a[rel=group]').fancybox({
            overlayColor: '#000',
            transitionIn: 'none',
            transitionOut: 'none',
            titlePosition: 'over',
            titleFormat: function(title, currentArray, currentIndex, currentOpts){
                return '<span id="fancybox-title-over">Image ' + (currentIndex + 1) + ' / ' + currentArray.length + (title.length ? ' &nbsp; ' + title : '') + '</span>';
            }
        });
    }
    fancyBox();
    
    
/*---------------------------------------------------------------------------------------
	Share
---------------------------------------------------------------------------------------*/
    function social(){
        if ($('#socialShare').length) {
            $('#socialShare').find('a').each(function(){
            
                // Get needed info from page
                var site = $(this).parent('li').attr('class');
                var title = document.title;
                var url = location.href;
                var desc = $('meta[name=description]').attr('content');
                
                $(this).attr("target", "_blank");
                
                // Format links for each site and insert
                if (site === 'facebook') {
                    $(this).attr('href', 'http://www.facebook.com/sharer.php?u=' + url + '&amp;t=' + title);
                }
                
                else if (site === 'twitter') {
                    $(this).attr('href', 'http://twitter.com/home/?status=' + url + '%20:%20' + title);
                }
                
                else if (site === 'digg') {
                    $(this).attr('href', 'http://digg.com/submit?phase=2&amp;url=' + url + '&amp;title=' + title);
                }
                
                else if (site === 'delicious') {
                    $(this).attr('href', 'http://del.icio.us/post?url=' + url + '&amp;title=' + title);
                }
                
                // insert send to friend form
                else if (site === 'email') {
                    $(this).parent('li').append('<div class="emailFriend"><label for="emailToFriend">Please enter your friend\'s email address</label><input type="text" id="emailToFriend"><input type="submit" value="Send" id="emailToFriendSubmit"/><a class="close" href="#">Close</a></div>');
                }
            });
        }

/*---------------------------------------------------------------------------------------
	Send To Friend
---------------------------------------------------------------------------------------*/        
         //show send to friend
        $('#socialShare li.email a').click(function(e){
            e.preventDefault();
            $('#socialShare li.email .emailFriend').fadeIn();
        });
        
        // send to friend close button
        $('#socialShare li.email .close').click(function(e){
            $(this).parent('div').fadeOut();
            e.preventDefault();
        });
        
        // send to friend submit
        $('#emailToFriendSubmit').click(function(){
        
            var address = $('#emailToFriend').val();
            // get url from hidden field
            var url = $('#pageURL').val();
            
            // Run basic validation and ajax submit
            filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            if (filter.test(address)) {
                $.ajax({
                    type: 'POST',
                    url: 'frontend.ashx',
                    data: {
                        "op": "sendToFriend",
                        "address": address,
                        "url": url
                    },
                    success: function(d){
                        $('.emailFriend').find('label').removeClass().addClass('success').html('Email sent successfully!');
                    },
                    error: function(){
                        alert('We\'re sorry, but an error has occured. Please try again later.');
                    }
                });
            }
            else {
                $('.emailFriend').find('label').removeClass().addClass('error').html('Please enter a VALID address.');
            }
            e.preventDefault();
        });
    } 
	social();
    
    // Call center overlay function on inner page load.
    if ($('body.inner').length) {
        $('.backContainer  a').click(function(){
					window.location.href = baseUrl;
				});
    }
    
    // jScroll
    $('#innerWork #content #side').jScrollPane();
    
    // Full Post Comment Functions
    $('#culture .fullpost .interact a').click(function(e){
        e.preventDefault();
        $.scrollTo(this.hash, 1500);
    });
    
/*---------------------------------------------------------------------------------------
  LOGBOX
---------------------------------------------------------------------------------------*/
 // CREATE //
	if ($('body.homePage').length) {
		var logboxHtml = 
			'<div id="logboxOverlay" style="display: none;" >\
				<div id="logboxLoading" />\
				<div id="logboxContainer">\
					<div id="logbox" style="display: none;">\
						<a href="#" class="close" style="display: none;"/>\
						<div id="logboxInner" />\
					</div>\
				</div>\
			</div>';
							
		$('body').append(logboxHtml);
	}



// allow IE6 to put these in popup
	$('#about #readMoreLink, #playVid').live('click',function(){
			var url = $(this).attr('href');
			if ($(this).attr('id').length){
				var id = $(this).attr('id');
			}
			else {
				var id = 'none'
			}
			populateLogbox(url, id);
			return false;		
	});



 // EXECUTE
	$('#workScroll a, #newsScroll a, #logboxInner #relProjects ul a, #logboxInner #relArticles ul a, #footer .gmap, #servicesNav a, a.sustainableApproach, #services ul a, .otherServices ul a').live('click',function(){
		if ($.browser.msie && parseInt($.browser.version, 10) == 6) {}
		else {
			var url = $(this).attr('href');
			if ($(this).attr('id').length){
				var id = $(this).attr('id');
			}
			else {
				var id = 'none'
			}
			populateLogbox(url, id);
			return false;		
		}
	});

// EXECUTE separate call for Services Page as we do not want blog links opening in popup
$('#servicesHome .item:not(.blog) .links a').live('click',function(){
	if ($.browser.msie && parseInt($.browser.version, 10) == 6) {}
	else {		
		var url = $(this).attr('href');
		if ($(this).attr('id').length){
			var id = $(this).attr('id');
		}
		else {
			var id = 'none'
		}
		populateLogbox(url, id);
		return false;		
	}
});

// EXECUTE separate call for Services Page as we do not want blog links opening in popup
$('#currentStories .item:not(.blog) a').live('click',function(){
	if ($.browser.msie && parseInt($.browser.version, 10) == 6) {}
	else {		
		var url = $(this).attr('href');
		if ($(this).attr('id').length){
			var id = $(this).attr('id');
		}
		else {
			var id = 'none'
		}
		populateLogbox(url, id);
		return false;		
	}
});

	
 // POPULATE
	function populateLogbox(url, id){
		if ($.browser.msie && parseInt($.browser.version, 10) == 6) {
		}
		else if ($.browser.msie && parseInt($.browser.version, 10) == 7) {
			$('html').css({'overflow' : 'hidden'});
		}
		else {
			$('body').css({'overflow' : 'hidden', 'margin-right' : '15px'});
		}

		
		
		$('#logboxOverlay').show();
			var top = $(window).scrollTop() - 100 + "px";
			var mLeft = 82 / 2 + "px";
			$('#logboxLoading').css('zIndex' , '99999')
				.activity({segments: 12, width: 5.5, space: 6, length: 20, color: '#ccc', speed: 1.5, align: 'left', valign: 'top'}).show();

		// READ MORE
		if (id === 'readMoreLink'){
			var readMoreContent = $('#about #readMoreContent').clone();
			$('#logboxInner').html(readMoreContent);
			showLogbox(url, id);			
			$('#logboxLoading').activity(false); // remove loading animation
		}
		
		else if (id === 'playVid'){
			$('#vid').appendTo('#logboxInner');
			$('#logboxLoading').activity(false); // remove loading animation
			showLogbox(url, id);
		}
		
		//  GMAPS
		else if (id === 'headOffice') {
        	$('#logboxInner').html('<div class="mapContainer"><iframe width="905" height="500" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=logistik+LS12+2QG&amp;aq=&amp;sll=37.0625,-95.677068&amp;sspn=56.856075,114.169922&amp;ie=UTF8&amp;hq=logistik&amp;hnear=Leeds+LS12+2QG,+United+Kingdom&amp;cid=16242433094366113533&amp;ll=53.809014,-1.579285&amp;spn=0.025341,0.077591&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe></div>');
			$('#logboxLoading').activity(false); // remove loading animation
			showLogbox(url, id);
        }
		else if (id === 'leedsOffice') {
        	$('#logboxInner').html('<div class="mapContainer"><iframe width="905" height="500" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=31+Burley+Road,+Leeds+LS3+1JT,+United+Kingdom&amp;aq=0&amp;sll=53.800332,-1.581863&amp;sspn=0.020353,0.055747&amp;ie=UTF8&amp;hq=&amp;hnear=31+Burley+Rd,+Leeds+LS3+1JT,+United+Kingdom&amp;ll=53.808811,-1.563148&amp;spn=0.025341,0.077591&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe></div>');
			$('#logboxLoading').activity(false); // remove loading animation
			showLogbox(url, id);			
        }
		else if (id === 'londonOffice') {
        	$('#logboxInner').html('<div class="mapContainer"><iframe width="905" height="500" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=115a+Drysdale+Street,+London,+N1+6ND&amp;aq=&amp;sll=51.502866,-0.138874&amp;sspn=0.085804,0.222988&amp;ie=UTF8&amp;hq=&amp;hnear=Drysdale+St,+Hackney,+Greater+London+N1+6,+United+Kingdom&amp;ll=51.534324,-0.075016&amp;spn=0.026695,0.077763&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe></div>');
			$('#logboxLoading').activity(false); // remove loading animation
			showLogbox(url, id);
		}
		
		// NORMAL
		else {

			$('#logboxInner').load(url + ' .section', function(){
				social();
				innerScrolls();
				fancyBox();
				topicTweet();
				$('.backContainer').remove();
				$('#logboxInner').append('<input type="hidden" id="pageURL" value="' + url + '" />'); // attach hidden input with full page url to be used by other scripts
				$('#logboxLoading').activity(false); // remove loading animation
				showLogbox(url, id);
			});
		}



		

		
	}	
	
// SHOW
	function showLogbox(url, id){
		var top = $(window).scrollTop() + 100 + "px";
		var mLeft = $('#logbox').outerWidth() / 2 + "px";

		$('#logbox').slideDown('fast', function() {
    		$('#logbox .close').fadeIn('fast');
							ie6Png();
			if ($('#innerWork').length){
				$('#innerWork #content #side').jScrollPane();
			}
			
			// play video
			if (id === 'playVid'){
				$f('player').play();
			}
  		});
	}	
	
// CLOSE
	$('#logbox > .close').live('click',function(){
		if ($('body').hasClass('homePage')){
			closeLogbox();
		}
		else {
			window.location.href = baseUrl;
		}
		return false;
	});

	function closeLogbox(){
		$('#logbox').fadeOut('fast').children('#logboxInner').html('');
		
		$('#logbox, #logboxOverlay').fadeOut('fast', function() {
    		$('#logbox .close').hide();
			$('logboxInner').html('');
  		});
		
		$('#logboxOverlay').fadeOut('fast');	
		if ($.browser.msie && parseInt($.browser.version, 10) == 6) {
		}
		else if ($.browser.msie && parseInt($.browser.version, 10) == 7) {
			$('html').css({'overflow':'auto'});
		}
		else {
				$('body').css({'overflow':'auto', 'margin-right': '0'});
		}

	}


$('#work h2').after('<a class="prev">Prev</a><a class="next">Next</a><div class="loading" style="display: none;"/>');
$('#news h2').after('<a class="prev">Prev</a><a class="next">Next</a><div class="loading" style="display: none;"/>');	

$('#workScroll .items').append('<div style="display: none;"></div>');
$('#work .prev, #work .next').live('click',function(){
	$('#work .loading').activity({segments: 12, width: 5.5, space: 6, length: 20, color: '#333', speed: 1.5, align: 'left', valign: 'top'}).show();
	$('#workScroll .items div:last').load('test.txt', function(){
		$('#workScroll .items div').delay('1500').fadeIn('slow', function() {
			slideUps();
			$('.loading').activity(false);		
			$('#workScroll .items div:first').remove();
  		});
	});
});


$('#newsScroll .items').append('<div style="display: none;"></div>');
$('#news .prev, #news .next').live('click',function(){
	$('#news .loading').activity({segments: 12, width: 5.5, space: 6, length: 20, color: '#333', speed: 1.5, align: 'left', valign: 'top'}).show();
	$('#newsScroll .items div:last').load('test2.txt', function(){
		$('#newsScroll .items div').delay('1500').fadeIn('slow', function() {
			slideUps();
			$('.loading').activity(false);		
			//$('#workScroll .items div:first').remove();
  		});
	});
});






    
});
