// RollOver
$(function () {
	$.rollover = {
		init : function () {
			$('a img,input[type="image"]').not('[src*="_on."]')
				.bind('mouseover', this.over)
				.bind('mouseout',  this.out)
				.each(this.preload);
		},

		over : function () {
			this.setAttribute('src', this.getAttribute('src').replace('_off.', '_on.'));
		},

		out : function () {
			this.setAttribute('src', this.getAttribute('src').replace('_on.', '_off.'));
		},

		preload : function () {
			new Image().src = this.getAttribute('src').replace('_off.', '_on.');
		}
	};

	$.rollover.init();
});

//extension
$(document).ready(function(){

	$('a[href$=pdf]').addClass('pdf');

	$('a[href$=doc]').addClass('doc');

	$('a[href$=xls]').addClass('xls');
	
//	$("a[@href$=gif]").addClass("img");
	
//	$("a[@href$=jpg]").addClass("img");

//	$("a[@href$=ram]").addClass("sound");

//	$("a[@href$=mp3]").addClass("sound");


	$('a[href^=http]').not('[href*=http://www.akitafan.com], [href*=http://akitafan.torapants.co.jp]').not('a:has(img)')
	  .addClass("external")
	  .attr({ target: "_blank" });

//	$('a:not([href*=http://www.akitafan.com])').not('[href^=http://],[href^=#]')
//	  .addClass("external")
//	  .attr({ target: "_blank" });

});


// PNG fix
if (window.DD_belatedPNG) DD_belatedPNG.fix('#wrapper, #header, h1, p.title, img');


/*
-----------------------------------------
for #navigation
-----------------------------------------
*/

// Map -> check list
$(function () {
	$.myCheckMap = {
		init : function () {
			$('#search_map area').click(this.check);
		},
		check : function (e) {
			var obj = this.href.match(/(#[-_0-9A-Za-z]+)$/) && $( RegExp.$1 );
			if (obj && e) {
				obj.attr('checked', !obj.attr('checked'));
				e.preventDefault();
			}
		}
	};
	$.myCheckMap.init();
});

// cookie
$.extend({
	mycookie : function (name, value, opt) {
		// get cookie
		if (arguments.length <= 1) {
			var cookies = (document.cookie || '').split(';');
			for (var i = 0; i < cookies.length; i++) {
				var cookie = cookies[i].replace(/^\s+|\s+$/g, '');
				if (cookie.indexOf(name +'=') == 0) {
					return (decodeURIComponent || unescape)( cookie.substring(name.length + 1) );
				}
			}
			return '';
		}
		// set cookie
		else {
			if (!opt) opt = {};
			if (!value) value = '', opt.expires = -1;

			var expires = '';
			if (opt.expires && parseFloat( opt.expires )) {
				var date = new Date();
				date.setTime( date.getTime() + parseFloat( opt.expires ) * 86400 * 1000 );
				expires = '; expires='+ date.toUTCString();
			}
			var path   = (opt.path)   ? '; path='   + (opt.path)   : '';
			var domain = (opt.domain) ? '; domain=' + (opt.domain) : '';
			var secure = (opt.secure) ? '; secure'                 : '';

			document.cookie = name +'='+ (encodeURIComponent || escape)(value) + expires + path + domain + secure;	// set
		}
	}
});

// display navigation slide toggle
$.fn.slideNavi = function (conf) {
		var self = this;

		// config
		conf = $.extend({
			speed : 'normal',	// アニメーションのスピード ["slow", "normal", "fast", ミリ秒, 0]
			hide  : '',	// 指定した要素が全て非表示なときに同時に非表示にさせる要素
			name  : 'slideNavi',	// cookie-name
			expires : 0 	// cookie-expires
		}, conf || {});

		// get cookie, and, hide the elmements checked in cookie
		var cookie = $.mycookie( conf.name ) || '';
		if (cookie) {
			var params = cookie.split(',');
			for (var i = 0; i < params.length; i++) {
				this.eq( parseInt(params[i]) ).next().hide();
			}
			// change display condition
			$(this).next().css('display') != 'none'
				? $(this).addClass('opened').removeClass('closed')
				: $(this).addClass('closed').removeClass('opened');
			if (params.length == this.length) $( conf.hide ).hide();
		}
		// add slide event
		this.click( function () {
			// change display condition
			$(this).next().css('display') == 'none'
				? $(this).addClass('opened').removeClass('closed')
				: $(this).addClass('closed').removeClass('opened');
			$(this).next().slideToggle( conf.speed, finish_slide);
		});
		// fonish slide event
		function finish_slide () {
			// 表示されていない要素をチェック
			var hides = [];
			self.each(function () {
				if ($(this).next().css('display') == 'none') hides[ hides.length ] = self.index(this);
			});
			// 指定した要素が全て非表示なときに同時にある要素を非表示にさせる
			if (conf.hide) {
				(hides.length == self.length) ? $( conf.hide ).slideUp  ( conf.speed )
				                              : $( conf.hide ).slideDown( conf.speed );
			}
			// クッキーに状態をセット
			$.mycookie( conf.name, hides.join(','), { expires : conf.expires, path : '/' });
		};
};

// start display slide
$(function() {
	$('#navigation div.search dt').slideNavi({
		speed : 'normal',
		hide  : '#navigation div.search p.submit input',
		name  : 'slideNavi',
		expires : 30
	});
});


// read calender
document.write(
	'<link type="text/css" rel="stylesheet" href="/css/dhtmlgoodies_calendar.css" media="screen"><\/link>\n'+
	'<script type="text/javascript" src="/js/dhtmlgoodies_calendar.js"><\/script>\n'
);
// onload run
$(function() {
	if (!window.displayCalendar) return;

	// set start event on click
	$('#start_date').next().click( function () {
		displayCalendar( document.getElementById('start_date'), 'yyyy-mm-dd', this, true);
	});
	// set start event on click
	$( '#end_date' ).next().click( function () {
		displayCalendar( document.getElementById( 'end_date' ), 'yyyy-mm-dd', this, true);
	});
});

//イベント情報用（IDが競合する為）
$(function() {
	if (!window.displayCalendar) return;

	// set start event on click
	$('#e_start_date').next().click( function () {
		displayCalendar( document.getElementById('e_start_date'), 'yyyy-mm-dd', this, true);
	});
	// set start event on click
	$( '#e_end_date' ).next().click( function () {
		displayCalendar( document.getElementById( 'e_end_date' ), 'yyyy-mm-dd', this, true);
	});
});

