﻿/*ロールオーバー
========================================== */
new function() {
	
	var fadeInTime = 300;	// msec
	var fadeOutTime = 300;	// msec
	var offClass = 'off';
	var onClass = 'on';
	
	if ( typeof jQuery == 'undefined' ) {
		return;
	}
	
	jQuery(document).ready( function() {
		init();
	});
	
	/**
	 * initialize
	 */
	function init() {
		
		jQuery( 'a img' ).each( function() {
			
			var src = jQuery(this).attr( 'src' );
			var fadePatern = new RegExp( /.*_off\.[^.]+/ );
			var pngPatern = new RegExp( /.*\.png$/ );
			var onImage;
			
			if ( src.match( fadePatern ) ) {
				onImage = jQuery(this).clone();
				onImage.
					attr( 'src', src.replace( '_off.', '_on.' ) ).
					addClass( onClass ).
					fadeTo( 0, 0 ).
					css({
						'position': 'absolute',
						'left': '0px',
						'top': '0px'
					});
				
				jQuery(this).
					addClass( offClass ).
					css({
						'position': 'absolute',
						'left': '0px',
						'top': '0px'
					}).
					parent().
						append( onImage ).
						mouseover( onMouseOver ).
						mouseout( onMouseOut ).
						css({
							'display': 'block',
							'position': 'relative'
						}).
						width( jQuery(this).width() ).
						height( jQuery(this).height() );
				
				if ( typeof( DD_belatedPNG ) != 'undefined' ) {
					if ( src.match( pngPatern ) ) {
						DD_belatedPNG.fixPng( this );
						DD_belatedPNG.fixPng( onImage.get(0) );
					}
				}
			}
		});
	}
	
	
	/**
	 * mouseover event( fadein )
	 */
	function onMouseOver( e ) {
		
		var src = jQuery(this).children( 'img.' + offClass ).attr( 'src' );
		var pngPatern = new RegExp( /.*\.png$/ );
		
		jQuery(this).unbind( 'mouseover', onMouseOver );
		
		if ( src.match( pngPatern ) ) {
			jQuery(this).
				children( 'img.' + offClass ).
					fadeTo( fadeInTime, 0 ).
				end().
				children( 'img.' + onClass ).
					fadeTo( fadeInTime, 1, function(){
						jQuery(this).parent().mouseover( onMouseOver );
					});
		}
		else {
			jQuery(this).
				children( 'img.' + onClass ).
					fadeTo( fadeInTime, 1, function(){
						jQuery(this).parent().mouseover( onMouseOver );
					});
		}
	}
	
	/**
	 * mouseout event( fadeout )
	 */
	function onMouseOut( e ) {
		
		var src = jQuery(this).children( 'img.' + offClass ).attr( 'src' );
		var pngPatern = new RegExp( /.*\.png$/ );
		
		if ( src.match( pngPatern ) ) {
			jQuery(this).
				children( 'img.' + offClass ).
					fadeTo( fadeOutTime, 1 ).
				end().
				children( 'img.' + onClass ).
					fadeTo( fadeOutTime, 0 );
		}
		else {
			jQuery(this).
				children( 'img.' + onClass ).
					fadeTo( fadeOutTime, 0 );
		}
	}
}


/*スクロール
========================================== */
$(function(){
	$('a[href^=#]:not(a[href$=#])').click(function() {
		var href = this.hash;
		var $target = $(href == '#document' ? 'body' : href);
		// アンカーリンクがあるページでだけ以下を実行
		if($target.size()){
			var top = $target.offset().top;
			$($.browser.safari ? 'body' : 'html').animate({scrollTop:top}, 300, 'swing');
		}
		return false;
	});
});


/*スクロールボタン
========================================== */
var scrolltotop={
	setting: {startline:100},
	state: {isvisible:false, shouldvisible:false},
	togglecontrol:function(){
		var scrolltop=jQuery(window).scrollTop()
		this.state.shouldvisible=(scrolltop>=this.setting.startline)? true : false
		var width = $(window).width();
		if(width < 1160){
			jQuery("#pageTop").fadeOut("fast");
			this.state.isvisible=false
		}
		else if (this.state.shouldvisible && !this.state.isvisible){
			jQuery("#pageTop").fadeIn("fast");
			this.state.isvisible=true
		}
		else if (this.state.shouldvisible==false && this.state.isvisible){
			jQuery("#pageTop").fadeOut("fast");
			this.state.isvisible=false
		}
	},
	
	init:function(){
		jQuery(document).ready(function($){
			jQuery("#pageTop").hide();
			var mainobj=scrolltotop
			$(window).bind('scroll resize', function(e){
				mainobj.togglecontrol()
			})
		})
	}
}

scrolltotop.init()


/*フォントサイズ
========================================== */
jQuery(function($){
    //変数にクッキー名を入れる
    var history = $.cookie('fontSize');
	
    //適用する箇所を指定。今回は部分的に#test内のpに
    var elm = $('body');
	
    //変数が空ならfontMを、空でなければクッキーに保存しておいたものを適用
   // (!history)? elm.addClass('fontM'):elm.addClass(history);
	if(!history){
		elm.addClass('size_M')
		$('li#size_M').children().addClass('current');
	}else{
		elm.addClass(history);
		$('li#'+history).children().addClass('current');
		//$('li.size_area #font_M a').addClass('current');
	}
	
    //クリックしたら実行
    $('li','.size_area').click(function(){
	
        //クリックした要素のID名を変数にセット
        var setFontSize = this.id;
		
		$(this).parent().find('.current').removeClass('current');
		$(this).children().addClass('current');
		
        //クッキーに変数を保存
    	$.cookie('fontSize', setFontSize,{expires:1,path:'/'});
		
        //一度classを除去して、変数をclassとして追加
        elm.removeClass().addClass(setFontSize);
		
		if($(this).parent().parent().parent().parent().attr("id") == "association"){
			set_thum()
		}
    });
});



/*プリント
========================================== */
var autoPrint = {

	errorMsg : 'ご使用のブラウザのツールメニューから印刷を行ってください。',

	//-----------------------------------------
	// Main処理
	//-----------------------------------------
	print : function() {

		var v;

		// print() が使えるブラウザかどうかを判定
		if (autoPrint.judge) {
			v = 1;
		} else {
			v = 0;
		}
		if(document.getElementById || document.layers){
			v = 1;
		}

		// 印刷
		if (v) {
			try {
				window.print();
			} catch (e) {
				alert(this.errorMsg);
			}
		} else {
			alert(this.errorMsg);
		}

	},

	//-----------------------------------------
	// window.print() の対応ブラウザ判定
	//-----------------------------------------
	judge : function() {

		var userSystem = new autoPrint.getBrowserInfo(navigator.userAgent);

		if ( userSystem.browserShortName == "ie" && userSystem.browserVersion < 5 ) {
			// IE 5以上
			return false;
		} else if ( userSystem.browserShortName == "nn" && userSystem.browserVersion < 4 ) {
			// Netscape 4以上
			return false;
		} else if ( userSystem.browserShortName == "ns" && userSystem.browserVersion < 4 ) {
			// Netscape 4以上
			return false;
		} else if ( userSystem.browserShortName == "op" && userSystem.browserVersion < 6 ) {
			// Opera 6以上
			return false;
		}

		return true;

	},

	//-----------------------------------------
	// ブラウザ情報取得
	//-----------------------------------------
	getBrowserInfo : function() {

		var key, index, keyIndex, keyIndexEnd, versionKey, i, j;
		var uaString = navigator.userAgent.toUpperCase();

		this.browserLongName = "---";
		this.browserShortName = "---";
		this.browserVersion = "---";

		var BROWSERS = new Object();
		BROWSERS['MZ'] = new setBrowser('Mozilla','mz','GECKO');
		BROWSERS['IE'] = new setBrowser('Internet Explorer','ie','MSIE');
		BROWSERS['AO'] = new setBrowser('AOL','ao','AOL');
		BROWSERS['SF'] = new setBrowser('Safari','sf','SAFARI');
		BROWSERS['OP'] = new setBrowser('Opera','op','OPERA');
		BROWSERS['OW'] = new setBrowser('OmniWeb','ow','OMNIWEB');
		BROWSERS['IC'] = new setBrowser('iCab','ic','ICAB');
		BROWSERS['NS'] = new setBrowser('Netscape','ns','NETSCAPE,NETSCAPE6');
		BROWSERS['NN'] = new setBrowser('Netscape Navigator','nn','MOZILLA');
		BROWSERS['FF'] = new setBrowser('Firefox','ff','FIREFOX');


		var UNIXDETAIL = new Array("LNX","BSD");
		var checkVersionExp01 = new Array(' ', '/', '-', '');
		var checkVersionExp02 = new Array(';', ' ', '(', '[', ')', '+', '-', '/');

		uaString = " " + uaString + ";";
		

		index = 0;
		for (key in BROWSERS) {
			for (i=0; i<BROWSERS[key].keyword.length; i++) {
				keyIndex = uaString.indexOf(BROWSERS[key].keyword[i].toUpperCase());
				if (keyIndex > index) {
					this.browserLongName = BROWSERS[key].longName;
					this.browserShortName = BROWSERS[key].shortName;
					versionKey = BROWSERS[key].keyword[i].toUpperCase();
					index = keyIndex;
				}
			}
		}

		// Navigator is reary?
		if (this.browserShortName == "nn" && uaString.indexOf("COMPATIBLE")>0) {
			this.browserLongName = "---";
			this.browserShortName = "---";
		}

		// Version Check
		if (this.browserLongName != "---") {
			for (i=0; i<checkVersionExp01.length; i++) {
				key = versionKey + checkVersionExp01[i];
				if ( ( keyIndex = uaString.indexOf(key) ) > 0 ) break;
			}
			// Mozilla
			if ( key == 'GECKO/' ) {
				key = 'RV:';
				keyIndex = uaString.indexOf(key);
			}
			keyIndex = keyIndex + key.length;
			index = uaString.length;
			for (i=0; i<checkVersionExp02.length; i++) {
				if ((key = uaString.indexOf(checkVersionExp02[i], keyIndex)) > 0) {
					if (key < index) {
						keyIndexEnd = key;
						index = keyIndexEnd;
					}
				}
			}
			this.browserVersion = uaString.substring(keyIndex, keyIndexEnd);
		}

		function setBrowser(longName,shortName,keyWord) {
			this.longName = longName;
			this.shortName = shortName;
			this.keyword = keyWord.split(",");
		}

	}

}


/*会員一覧高さ変更
========================================== */
function set_thum(){
	var counter = 0
	var counter_max = $('.association li').length	
	
	for(var i=0;i<=counter_max;i++){
			$('.association li').eq(i).css({height:("auto")}); 
	}
	
	$('.association').each(function(){
		var rep = 0;	
			$(this).children().each(function(){
				var itemHeight = parseInt($(this).height());
				counter++
				
				if(itemHeight > rep){
					rep = itemHeight;
				}
				
				if(counter >= counter_max){
					show_contents()
				}
			});
	
		$(this).children().css({height:(rep)});
	});
	
	
	
	function show_contents(){
		for(var i=0;i<=counter_max;i++){
			$('.association li').eq(i).css("visibility", "visible"); 
		}
		$('.loader').hide()
	}
	
}


