var margin = 0;

$(function(){
	// progressive enhancement
	$('#slider').css({overflow:'hidden'});
	
	// place last twitter messages
	// http://twitter.com/markschaafNL
	$('#twitter').css('overflow','hidden');
	
	$('a').live('click',function(e){
		if(isUrl($(this).attr('href'))){
			e.preventDefault();
			window.open(this.href, '_blank');
		}else{
			return true;
		}
	});
	
	twitterName = 'MarkSchaafNL';
	$.getJSON("http://twitter.com/statuses/user_timeline/"+twitterName+".json?count=1&callback=?",
		function(json){
			
			$(json).each(function(i){
				$('#twitter').append('<li>last tweet:</li><li><a href="http://twitter.com/#!/'+twitterName+'/status/'+json[i].id_str+'">'+json[i].text+'</a></li>').hide().fadeIn();
			});
			//$('#twitter').cycle();
		}
	);
	
	
	$('.fancybox1').fancybox({
		'overlayOpacity': .8,
		'overlayColor': '#000',
		'titlePosition': 'outside',
		'showNavArrows': true,
		'index': true
	});
	$('.fancybox_flv').fancybox({
		'overlayOpacity': .8,
		'overlayColor': '#000',
		'titlePosition': 'outside',
		'showNavArrows': true,
		'index': true
	});
	$('.fancybox-youtube').live('mouseover',function(){
		$(this).fancybox({
    		'cyclic'		: true,
			'padding'		: 10,
			'overlayOpacity' : .5,
			'overlayColor':'#000',
			'titleShow'     : false,
			'autoScale'		: true,
			'transitionIn'  : 'elastic',
			'transitionOut' : 'elastic',
			'href' : this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
			'type'      : 'swf',
			'swf'       : {'wmode':'transparent','allowfullscreen':'true'}
		});
	});
	
	$('.slider-wrapper a').each(function(){
		$(this).mouseover(function(){
			$('#underscore').html( $(this).attr('title') );
		});
		$(this).mouseout(function(){
			$('#underscore').html('');
		});
	});
});

$(window).load(function(){
	// all slider related functions go only here, when images are loaded

	// place buttons that move the slider
	var allitemsWidth = 0;
	$('.slider-wrapper').each(function(){
		allitemsWidth += $(this).width();
		allitemsWidth += margin; // margin
	});
	allitemsWidth -= margin;
	if( allitemsWidth > $('#slider').innerWidth() ){
		$('#go-left, #go-right').css('display','block');
	}


	$('#go-right').click(function(e){
		var newVal = $('#slider').scrollLeft() + $('#slider').outerWidth();
		if( (allitemsWidth - $('#slider').scrollLeft()) < (2*$('#slider').innerWidth()) ){
			// there is less to slide than the width
			newVal = $('#slider').scrollLeft() + (  allitemsWidth - $('#slider').scrollLeft() - $('#slider').width()  );
		}
		var time  = ( newVal - $('#slider').scrollLeft() ) * 1.5; // 1.5 ms per pixel
		$('#slider').stop().animate({scrollLeft:newVal},{duration:time,complete:evaluateScrollButtons});
	});
	
	$('#go-left').click(function(e){
		var newVal = $('#slider').scrollLeft() - $('#slider').innerWidth();
		if( ($('#slider').scrollLeft()) < $('#slider').innerWidth() ){
			// there is less to slide than the width
			newVal = 0;
		}
		var time  = ( $('#slider').scrollLeft() - newVal ) * 1.5; // 1.5 ms per pixel
		$('#slider').stop().animate({scrollLeft:newVal},{duration:time,complete:evaluateScrollButtons});
	});


	evaluateScrollButtons();
});

function evaluateScrollButtons(){
	if( $('#slider').scrollLeft() == 0 ){
		$('#go-left').hide();
	}else{
		$('#go-left').show();
	}

	var allitemsWidth = 0;
	$('.slider-wrapper').each(function(){
		allitemsWidth += $(this).outerWidth();
//		allitemsWidth += margin; // margin
	});
//	allitemsWidth -= margin;
	if(  $('#slider').scrollLeft() >= ( allitemsWidth - $('#slider').outerWidth() )  ){
		$('#go-right').hide();
	}else{
		$('#go-right').show();
	}
}

function isUrl(s) {
	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(s);
}
