//設定------------------------------------------------------//
var hpURL='http://www.marutar.com/';
var hpName='まるたぁ小屋';


//背景------------------------------------------------------//
$(function(){
     if(window.screen.width>1024){
		$('body:first').css('backgroundImage','url(image/bg.jpg)');
	}
});


//iframeの高さの自動調整------------------------------------//
//jquery拡張
$.fn.iframeHeight = function(){
	return this.each(function(){
		$(this).load(function(){
			if ($(this).attr('height')=='' || this.style.height==''){
				$(this)	.css({overflow:'hidden',border:'none'})
					.attr({frameBorder:'0',scrolling:'no'})
					.height($(this).contents().height()+10);
			}
		});
		$(this).triggerHandler('load');
	});
}


//自動リンク------------------------------------------------//
$(function(){
	$('div.entry-body').urlLink();
});
//jquery拡張
$.fn.urlLink = function(){
	return this.each(function(){
		var str=$(this).html();
		//「'"=」が先頭に付いたURLを除外
		str=str.replace(/(\"\s*|\'\s*|=)(https?|s?ftp|ssh):/g,'$1$2xCOLONx');
		//<a>要素内のURLを除外
		str=str.replace(/(<\s*[aA]\s+(?:\"[^\"]*\"|\'[^\']*\'|[^\'\">])+>[^<]*)(https?|s?ftp|ssh):/g,'$1$2xCOLONx');
		//「'()」はURLに含まれないと信じて除外
		str=str.replace(/(https?|s?ftp|ssh)(:\/\/[-_.!~*a-zA-Z0-9;\/?:\@&=+\$,%#]+)/g, '<a href="$1$2" target="_blank">$1$2</a>');
		str=str.replace(/xCOLONx/g,':');
		$(this).html(str);
	});
}

//ドラッグで動かせるように----------------------------------//
//jquery拡張（objで親要素を指定可能、指定しなければ自身、複数指定だと自身に最も近い親）
$.fn.drag = function(obj){
	return this.each(function(){
		if(obj==undefined){
			var target=$(this);
		}else{
			var target=$(this).parents(obj).eq(0);
		}
		if(target.size()==1){
			$(this).mousedown(function(e){
				var x=target.position().left-e.pageX;
				var y=target.position().top-e.pageY;
				$(this).mousemove(function(e){
					target.css({position:'absolute', left:x+e.pageX, top:y+e.pageY});
					return false;
				});
			});
			$(this).mouseup(function(e){
				$(this).unbind('mousemove');
				return false;
			});
		}
	});
}

//画像のポップアップ化--------------------------------------//
$(function(){
     var ext=['jpg','gif','png'];
     for(var i=0; i<ext.length; i++){
          $('a[href$='+ext[i]+']').click(function(event){
               event.preventDefault();
               openWindow($(this).attr('href'));
          });
     }
});


//多階層リスト----------------------------------------------//
//折りたたみメニュー化
$(function(){
	$('li ul').parent().prepend('<img src="image/li_in.gif" title="展開" onclick="exList(this)"/>');
	$('li ul').parent().css('margin-left','-19px');
});
//展開・収納の切替
function exList(target){
	if($(target).siblings('ul').filter(':hidden').size() == 0){
		$(target).attr({src:'image/li_in.gif',title:'展開'});
	}else{
		$(target).attr({src:'image/li_ex.gif',title:'収納'});
	}
	$(target).siblings('ul').toggle(200);
	return false;
}


//追記の表示・非表示----------------------------------------------//
//イベントハンドラ追加
$(function(){
	$('a.entry-more-show').click(function(e){
		toggleMore(this);
	});
	$('a.entry-more-hide').click(function(e){
		toggleMore(this);
	});
});
//表示・非表示の切替
function toggleMore(target){
	if($(target).siblings('div.entry-more').filter(':hidden').size() == 0){
		$(target).hide();
		$(target).siblings('div.entry-more').slideUp('fast');
		$(target).siblings('a.entry-more-show').show();
	}else{
		$(target).hide();
		$(target).siblings('div.entry-more').slideDown('fast');
		$(target).siblings('a.entry-more-hide').show();
	}
	return false;
}


//投稿者によってアイコン変更--------------------------------//
function pasteIcon(a,b){
	if(a=='marutar'){
		document.write('<img src="image/icon_taremarutar.gif" title="投稿者：'+b+'">');
	}
	else if(a=='mori'){
		document.write('<img src="image/icon_g.gif" title="投稿者：'+b+'">');
	}
	else{}
	return false;
}


//お知らせ--------------------------------------------------//
$(function(){
	$.get("info.txt",function(data){
		data=data.replace(/\n/g,'<br/>');
		$('#info p').html(data);
	});
});


//Twitter関連-----------------------------------------------//
//Twitter読み込み
$(function(){
	if($('#twitter').size()>0){
		$.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?screen_name=marutar&count=5&include_rts=true&callback=?',twitterCallback);
	}
});
//コールバック
function twitterCallback(twitters){
	var statusHTML = [];
	for (var i=0; i<twitters.length; i++){
		var username = twitters[i].user.screen_name;
		var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url){return '<a href="'+url+'" target=_blank>'+url+'</a>';}).replace(/\B@([_a-z0-9]+)/ig, function(reply){return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'" target=_blank>'+reply.substring(1)+'</a>';});
		statusHTML.push('■'+status+' <a style="font-size:85%" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'" target=_blank>'+relative_time(twitters[i].created_at)+'</a><br/>');
	}
	$('#twitter p').html(statusHTML.join(''));
}
function relative_time(time_value) {
	var values = time_value.split(" ");
	time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	var parsed_date = Date.parse(time_value);
	var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	delta = delta + (relative_to.getTimezoneOffset() * 60);
	if (delta < 60) {
		return '書き込み直後';
	} else if(delta < 120) {
		return '1分くらい前';
	} else if(delta < (60*60)) {
		return (parseInt(delta / 60)).toString() + '分前';
	} else if(delta < (120*60)) {
		return '約1時間前';
	} else if(delta < (24*60*60)) {
		return '約 ' + (parseInt(delta / 3600)).toString() + '時間前';
	} else if(delta < (48*60*60)) {
		return '1日前';
	} else {
		return (parseInt(delta / 86400)).toString() + '日前';
	}
}


//Feed関連-----------------------------------------------//
//Feed読み込み
$(function(){
	if($('#checkit').size()>0){
		$.getJSON('http://pipes.yahoo.com/pipes/pipe.run?_id=16b89b447108073d2276ab54ca94115d&_render=json&_callback=?',feedCallback);
	}
});
//コールバック
function feedCallback(feeds){
	var feedHTML = [];
	var feedMax = 15;
	if(feedMax > feeds.count){
		feedMax = feeds.count
	}
	for (var i=0; i<feedMax; i++){
		var feedTitle = feeds.value.items[i].title;
		var feedURL = feeds.value.items[i].link;
		var viaTitle = feeds.value.items[i].source.title.content;
		var viaURL = feeds.value.items[i].source.link.href;
		if(viaURL == ''){
			var viaHTML = ' from ReadItLater';
		}else{
			var viaHTML = ' via <a href="' + viaURL + '" target="_blank">' + viaTitle + '</a>';
		}
		var pubDate = feeds.value.items[i].source.pubDate.year.slice(2) + '年' + feeds.value.items[i].source.pubDate.month + '月' + feeds.value.items[i].source.pubDate.day + '日';
		feedHTML.push('■<a href="' + feedURL + '" target="_blank">' + feedTitle + '</a> <span style="font-size:85%">（' + pubDate + viaHTML +' ）</span><br/>');
	}
	$('#checkit p').html(feedHTML.join(''));
}


//cookie関連------------------------------------------------//
$(function(){
	//cookie読み込み
	if(document.cookie!=""){
		var namedata;
		var maildata;		
		var cookieArray=document.cookie.split("; ");
		var i=0;
		while(cookieArray[i]){
			if(cookieArray[i].substr(0,9)=="namedata="){
				namedata=cookieArray[i].substr(9,cookieArray[i].length-9);
			}else if(cookieArray[i].substr(0,9)=="maildata="){
				maildata=cookieArray[i].substr(9,cookieArray[i].length-9);
			}
			i++;
		}
		if(namedata != undefined){
			$('input.form-name').val(unescape(namedata));
		}
		if(maildata != undefined){
			$('input.form-mail').val(unescape(maildata));
		}
	}
	//送信でcookie書き込み
	$('form').submit(function(e){
		writeCookie(this);
	});
});
//cookie書き込み
function writeCookie(target){
	var expire=new Date();
	var namedata;
	var maildata;
	expire.setTime(expire.getTime()+1000*60*60*24*30);
	namedata=escape($(target).find('input.form-name').val());
	maildata=escape($(target).find('input.form-mail').val());
	document.cookie='namedata='+namedata+'; ; expires='+expire.toGMTString();
	document.cookie='maildata='+maildata+'; expires='+expire.toGMTString();
}


//テキストエリアの色変更------------------------------------//
$(function(){
	$('textarea').focus(function(e){
		$(this).val('');
		$(this).css('color','#669');
	});
	$('textarea').blur(function(e){
		if($(this).val()==''){
			$(this).css('color','#ccf');
			$(this).val('（本文入力欄）');
		}
	});
});


//アクセス解析--------------------------------//
$(function(){
	$.get('access/access.cgi?' + document.referrer);
});


//画像ウィンドウ--------------------------------------------//
function openWindow(src){
	var img=new Image();
	if(src.substr(0,4)!='http'){
		src=hpURL+src;
	}
	$(img).one('load',function(){
		var picwin=window.open('','_blank','width='+img.width+',height='+img.height+
			',toolbar=0,location=0,directories=0,menubar=0,scrollbars=1,resizable=1');
		if(picwin){
			picwin.window.document.write(
				'<html><head><title>(c)'+hpName+'</title></head>'+
				'<body style="margin:0;padding:0;border:0;">'+
				'<img src="'+img.src+'" width="100%"></body></html>');
		}
	});
	img.src = src;
	return false;
}
