// ============================================================ 
// jQuery と prototype コンフリクト対策
// ============================================================ 
jQuery.noConflict();
var $j = jQuery;

// ============================================================ 
// 画像プリロード
// ============================================================
$j.preloadImages = function() {
	for(var i = 0; i<arguments.length; i++) {
		$j("<img>").attr("src", arguments[i]);
	}
}
$j.preloadImages(
"/common/img/icon_fontsize_s_on.gif",
"/common/img/icon_fontsize_m_on.gif",
"/common/img/icon_fontsize_l_on.gif"
);

// ============================================================ 
// ロールオーバー
// ============================================================ 
var rollover = {
	swap:function(){
		$j("img.swap").each(function(i) {
			var imgsrc = this.src;
			var dot = imgsrc.lastIndexOf(".");
			var imgsrc_on = imgsrc.substr(0, dot) + '_on' + imgsrc.substr(dot, 4);
			$j("<img>").attr("src", imgsrc_on);
			
			$j(this).hover(
				function() { this.src = imgsrc_on; },
				function() { this.src = imgsrc; }
			);
		});
	},
	
	bright:function(){
		$j("img.bright").mouseover(function(){
			$j(this).css({opacity: 0.25}).fadeTo(300, 1);
		});
	},
	
	alpha:function(){
		$j("img.alpha").hover(
			function() { $j(this).fadeTo(250, 0.6); },
			function() { $j(this).fadeTo(250, 1); }
		);
	}
}

$j(function(){
	rollover.swap();
	rollover.bright();
	rollover.alpha();
});

// ============================================================ 
// フォントサイズ切り換え
// ============================================================ 
$j(function(){
							
	var fsize = function() {

		// 初期化
		if($j.cookie("TEXT_SIZE")) {
			var c = $j.cookie("TEXT_SIZE");
			$j("body").addClass(c);
			$j("."+c).addClass(c+"-on");
		} else {
			$j("body").addClass("fm");
			$j(".fm").addClass("fm-on");
		}
		
		// クリックでボタン状態変更
		$j("#font-size li").click(function() {
			var size = $j(this).attr("class");
			if(size.indexOf("on")!=-1) return false;
			$j("#font-size li").removeClass("fs-on fm-on fl-on");
			$j(this).addClass(size+"-on");
			$j("body").removeClass("fs fm fl").addClass(size);

			// Cookie に書き込む
			$j.cookie("TEXT_SIZE", size, { path: '/', expires: 30 });
			return false;
		});
	}
	fsize();
});

// ============================================================ 
// Droppy 0.1.2
// ============================================================ 
$j(function(){
    $j('#gnavi-inner').droppy({speed: 200});
});
  
/*
 * Droppy 0.1.2
 * (c) 2008 Jason Frame (jason@onehackoranother.com)
 */
$j.fn.droppy = function(options) {
		
	options = $j.extend({speed: 250}, options || {});
	
	this.each(function() {
		
		var root = this, zIndex = 1000;
		
		function getSubnav(ele) {
			if (ele.nodeName.toLowerCase() == 'li') {
				var subnav = $j('> ul', ele);
				return subnav.length ? subnav[0] : null;
			} else {
				return ele;
			}
		}
		
		function getActuator(ele) {
			if (ele.nodeName.toLowerCase() == 'ul') {
				return $j(ele).parents('li')[0];
			} else {
				return ele;
			}
		}
		
		
		function hide() {
			clearTimeout(dTimer);
			
			var subnav = getSubnav(this);
			if (!subnav) return;
			$j.data(subnav, 'cancelHide', false);
			setTimeout(function() {
				if (!$j.data(subnav, 'cancelHide')) {
					$j(subnav).slideUp(options.speed);
				}
			}, 200);
		}
	
		var dTimer; // ロールオーバーの遅延
		function show() {
			var subnav = getSubnav(this);
			if (this.nodeName.toLowerCase() == 'ul') {
				var li = getActuator(this);
				$j(li).addClass('hover');
				$j('> a', li).addClass('hover');
			}
			dTimer = setTimeout(function(){
				if (!subnav) return;
				$j.data(subnav, 'cancelHide', true);
				$j(subnav).css({zIndex: zIndex++}).slideDown(options.speed);
				
			}, 200);
		}
		
		$j('ul, li', this).hover(show, hide);
		$j('li', this).hover(
			function() { $j(this).addClass('hover'); $j('> a', this).addClass('hover'); },
			function() { $j(this).removeClass('hover'); $j('> a', this).removeClass('hover'); }
		);
	});
};

// ============================================================ 
// フォーム入力フィールドにあらかじめテキストを表示
// ============================================================ 
$j(document).ready(function() {
	var supportsInputAttribute = function (attr) {
		var input = document.createElement('input');
		return attr in input;
	};
	if (!supportsInputAttribute('placeholder')) {
		$j('[placeholder]').each(function () {
		var
			input = $j(this),
			placeholderText = input.attr('placeholder'),
			placeholderColor = 'GrayText',
			defaultColor = input.css('color');
		input.
			focus(function () {
				if (input.val() === placeholderText) {
					input.val('').css('color', defaultColor);
				}
			}).
			blur(function () {
				if (input.val() === '') {
					input.val(placeholderText).css('color', placeholderColor);
				} else if (input.val() === placeholderText) {
					input.css('color', placeholderColor);
				}
			}).
			blur().
			parents('form').
				submit(function () {
					if (input.val() === placeholderText) {
						input.val('');
					}
				});
		});
	}
});

// ============================================================ 
// SMOOTH SCROLL
// ============================================================ 
$j(function(){
		
	$j('.pagetop').click(function(){
		if($j.browser.safari && $j.browser.version.charAt(0)<5) {
			location.href = "#header";
		} else {
			$j(this).blur();
			$j('html,body').animate({scrollTop: 0}, {duration: 800, easing: "easeInOutQuad"});
			return false;
		}
	});
});

function pageScroll(id) {
	if($j.browser.safari && $j.browser.version.charAt(0)<5) {
		location.href = id;
	} else {
		var targetOffset = $j(id).offset().top;
		$j('html,body').animate({ scrollTop: targetOffset }, {duration: 800, easing: "easeInOutQuad"});
		return false;
	}
}

// ============================================================ 
// このサイト用に定義
// ============================================================ 
var jssa = {
	init:function() {
		// パンくずリストの最後のli要素は矢印アイコン無し
		var p_len = $j("#pankuzu ul li").length;
		$j("#pankuzu ul li:eq("+(p_len-1)+")").addClass("no-bg").addClass("no-margin").addClass("no-padding");
		// お知らせリストの最後のdd要素はライン無し
		/*
		var n_len = $j("dl.news dd").length;
		$j("dl.news dd:eq("+(n_len-1)+")").addClass("no-border");
		*/
	},
	
	// コーナー角丸
	corner:function() {
		
		setting1 = {
			tl: { radius: 4 },
			tr: { radius: 4 },
			bl: { radius: 4 },
			br: { radius: 4 },
			antiAlias: true,
			autoPad: true,
			validTags: ["div"]
		}
		$j(".corner4").corner(setting1);
	}
}
$j(function(){
	jssa.init();
	jssa.corner();
});
