// Check whether links are external:
$.extend($.expr[':'],{
    external: function(a,i,m) {
        if(!a.href) {return false}
        return a.hostname=='static.castlesblog.com' ? false : a.hostname.substr(0,window.location.hostname.length) !== window.location.hostname;
    }
});
$(function() {
	var $external = $('article a:external');
	$external.attr('target','_blank'); //make external links open new window
	
	$external.has('img').addClass('img_link');
	
	$external.not('a:has(img)').addClass('external').each(function(i,e){
		$(e).html('<span>'+$(e).html()+'</span>');
	});
		
	//prevent widows in content
	$('article p:not(p:has(img:only-child)):not(p:has(a)),article h1,article h2').html(function(i,html){
  		return html.replace(/ (\S+)$/,'&nbsp;$1');
	});
	
	//if there is a comment form get
	if($('#comment').size()>0) {
		$.get("/includes/stop_spam.php", function(data){ $("#comment form").append('<input type=hidden name=key value='+data+' />'); });
	}
	
	
	if(isTouchDevice()){
	
		var scrollLeftStartPos = 0, scrollTopStartPos = 0;
		
		$('article pre').each(function(){
			
			$(this)[0].addEventListener("touchstart", function(event) {
				scrollLeftStartPos 	= this.scrollLeft+event.touches[0].pageX;
				scrollTopStartPos	= event.touches[0].pageY;
				//event.preventDefault();
			},false);
			
			$(this)[0].addEventListener("touchmove", function(event) {
				if( event.touches[0].pageY >= (scrollTopStartPos-30) && event.touches[0].pageY <= (scrollTopStartPos+30) ) {
					this.scrollLeft=scrollLeftStartPos-event.touches[0].pageX;
					event.preventDefault();
				}
			},false);
			
		});
		
	}

	
});

function isTouchDevice(){
	try{
		document.createEvent("TouchEvent");
		return true;
	}catch(e){
		return false;
	}
}

$(window).load(function() {
	if($('#comment').size()>0) {
		//go get gravatars
		$('#comments li').each(function(){
			var img = new Image();
			img.li = this;
			img.onload = function(){
				$(this.li).html('<img src="'+this.src+'" width=100 height=100 /><div class="textwrap">'+$(this.li).html()+'</div><div class="clear"></div>');
			};
			img.src = 'http:\/\/www.gravatar.com/avatar/'+$(this).data('gvtr')+'.jpg?s=100&r=pg&d=404';
		});
	};
});
