/* 
Author: Bubi Blomer
Company: Kabum.nl
*/

var $windowWidth, headerWidth, $mainNav, headerLeftPos;

function centerHeader(){
	$windowWidth = $(window).width();
	headerWidth = 920;
	$mainNav = $('#mainNav');
	headerLeftPos = ($windowWidth-headerWidth)/2;
	var $flashMessageContainer = $('#flashMessageContainer');
	$mainNav.css({'left':headerLeftPos});
	$flashMessageContainer.css({'left':($windowWidth-500)/2});
}

function moveTo(id){
	var $target = $(id);
	$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
    if ($target.length) {
        var targetOffset = $target.offset().top;
        $('html,body').animate({scrollTop: targetOffset}, 750,  function() {
        	window.location.hash = $target.attr('id');
        });
        return false;
    }
}

$(document).ready(function() {

	if(window.location.hash.length){
		//nothing
		var $lis = $('#mainNav li');  
		$lis.removeClass('active');
		$lis.find('a[href="'+window.location.hash+'"]').parent().addClass('active');
	} else {
		window.location.hash = "#home";
	}
	
    $('#mainNav li a[href*=#]').click(function() {
    	var $this = $(this);
    	var $lis = $('#mainNav li');   	
    	
    	if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
            var $target = $(this.hash);
            $lis.removeClass('active');
            $this.parent().addClass('active');
            
            $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
            if ($target.length) {
                var targetOffset = $target.offset().top;
                $('html,body').animate({scrollTop: targetOffset}, 750,  function() {
                	window.location.hash = $target.attr('id');
                });
                return false;
            }
        }
    });
	
	Cufon.replace('h1, h2');
	
	$(window).resize(function() {
		centerHeader();
	});
	
	$(window).trigger('resize');
	
	//twitter
	$("#latestTweet .bubble .middle").getTwitter({
		userName: "kabum_nl",
		numTweets: 1,
		loaderText: "Tweets binnenhalen...",
		slideIn: true, 
		showHeading: false,
		headingText: "Latest Tweets", 
		showProfileLink: false,
		showTimestamp: false
	});
		
	$('.moreProjects .block:nth-child(5n)').addClass('last');
	$('.moreProjects .block:nth-child(5n+1)').addClass('first');
	
	var $mainPRoject = $('#work .mainProject');
	var $replaceable = $mainPRoject.find('.replaceable')
	var $mainSlideshow = $('#work .mainProject .slideshow');
	
	var cycleConf = {
		fx:      'scrollRight',
		prev:   '#left',
		next:   '#right',
		easing:  'easeInOutBack'
	}
	
	$mainSlideshow.cycle(cycleConf);
	
	//cycle on mouse over pause
	$('#work .mainProject .slideshow').live('hover', function(e){
		var $this = $(this);
		if(e.type === "mouseenter"){
			$this.cycle('pause');
		} else {
			$this.cycle('resume');
		}
	});
		
	$('.moreProjects .block .container a.thumb').click(function() {
		var $this = $(this);
		var $hiddenContainer = $this.parent().find('.hidden');
		
		var $content = $hiddenContainer.find('.content').clone();
		$replaceable.empty().append($content.children());
		Cufon.replace($mainPRoject.find('.replaceable h3'));
		var $slideShowImgs = $hiddenContainer.find('.aside .slideshow a').clone();
		
		$mainSlideshow.cycle('destroy');
		$mainSlideshow.empty().append($slideShowImgs).cycle(cycleConf);
		$slideShowImgs.attr('rel','test').fancybox({ //rel changed to avoid extra images in the fancybox
			'overlayColor'		: 	'#000',
			'showCloseButton'	:	true,
			'titlePosition' 	: 	'inside'
		});
		
		moveTo('#work');
		
		return false;
	});
	
	//cycle for project groups
	var cycleConfProjects = {
		fx:      'scrollRight',
		prev:   '#leftProject',
		next:   '#rightProject',
		easing:  'easeInOutBack'
	}
	
	var $projectSlider = $('#project-slider .sliderContainer');
	$projectSlider.cycle(cycleConfProjects);
	$projectSlider.cycle('pause');
	
	//fancybox
	$('.fancybox').fancybox({
		'overlayColor'		: 	'#000',
		'showCloseButton'	:	true,
		'titlePosition' 	: 	'inside'
	});
	
	$('#contact').each(function() {
		var $this = $(this),
		$form = $this.find('form'),
		$reset = $form.find('input[type="reset"]'),
		$submit = $form.find('a.submit');
		$submit.click(function() {
			
			if($form.valid()){
				var $sCaptcha = parseInt($('#sCaptcha').val());
				if($sCaptcha === 2){
					var serialize = $form.serialize();
					$.ajax({
						type: "POST",
						url: "/cst/s1/ajax/form.php",
						data: serialize,
						success: function(response){
							doFadeMsg(response.message,'success');
							$reset.trigger('click');
						},
						error: function(response){
							doFadeMsg('<h1>Oeps! Er is iets mis met ons formulier.</h1><p>Stuur een mail naar <a href="mailto:info@kabum.nl">info@kabum.nl</a>, zodat wij onze webdeveloper een schop kunnen geven ;)</p>','error');
						}
					});
				} else {
					var msg = '<h1>Go away Robot</h1>';
					doFadeMsg(msg,'error');		
				}
				
			}
			
			return false;
		}); //end submit click
		
	}); //end contact each
		
});
