// 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.not('a:has(img)').addClass('external');
		
	//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;
	}
}