// メインビジュアルの切り替え

$(function(){
	var flag = 0;
	$('#mainvisual_image p').eq(1).hide();
	$('#mainvisual_button').hover(
		function(){
			if(flag == '0'){
				$('#mainvisual_image p').eq(0).hide();
				$('#mainvisual_image p').eq(1).fadeIn();
				flag = 1;
			}else{
				$('#mainvisual_image p').eq(1).hide();
				$('#mainvisual_image p').eq(0).fadeIn();
				flag = 0;
			}
		},
		function(){}
	);
});

// マウスホバー効果

$(function(){
	$('.hvr').hover(
		function(){
			$(this).fadeTo(200, 0.7);
		},
		function(){
			$(this).fadeTo(200, 1.0);
		}
	);
});

// ページの先頭へ滑らかに戻る

$(function(){
	$('#go_up').click(function(){
			$('html, body').animate({
				'scrollTop': 0
			}, 'swing');
		}
	);
});

// 閲覧中のページの見出しを強調する

$(function(){
	var hn = location.hostname;
	var path = location.href.replace('http://' + hn, '');
	var href;
	$('#side_menu ul li').each(function(){
		href = $(this).children().eq(0).attr('href');
		(href) ? href = href.replace('http://' + hn, '') : false;
		if( path == href || path.match(href + 'entry/') ){
			if($(this).attr('class') == 'side_menu_end'){
				$(this).css({'background': 'url(/images/side_bg_end_on.jpg) no-repeat'}).addClass('selected');
			}else if($(this).attr('class') == 'side_menu_start'){
				$(this).css({'background': 'url(/images/side_bg_start_on.jpg) no-repeat'}).addClass('selected');
			}else{
				$(this).css({'background': 'url(/images/side_bg_on.jpg) no-repeat'}).addClass('selected');
			}
		}
	});
	
	// マウスホバー効果(サイドメニュー)
	
	$('#side_menu ul li').hover(
		function(){
			if($(this).attr('class') == undefined){
				$(this).css({'background': 'url(/images/side_bg_on.jpg) no-repeat'});
			}else if($(this).attr('class').match(/side_menu_start/) && !$(this).attr('class').match(/selected/)){
				$(this).css({'background': 'url(/images/side_bg_start_on.jpg) no-repeat'});
			}else if($(this).attr('class').match(/side_menu_end/) && !$(this).attr('class').match(/selected/)){
				$(this).css({'background': 'url(/images/side_bg_end_on.jpg) no-repeat'});
			}
		},
		function(){
			if($(this).attr('class') == undefined){
				$(this).css({'background': 'url(/images/side_bg.jpg) no-repeat'});
			}else if($(this).attr('class').match(/side_menu_start/) && !$(this).attr('class').match(/selected/)){
				$(this).css({'background': 'url(/images/side_bg_start.jpg) no-repeat'});
			}else if($(this).attr('class').match(/side_menu_end/) && !$(this).attr('class').match(/selected/)){
				$(this).css({'background': 'url(/images/side_bg_end.jpg) no-repeat'});
			}
		}
	);
});

// 文字サイズ変更機能

$(function(){

	// normalで初期化
	
	var status = 'n';
	$('#to_normal').children().eq(0).attr('src', function(){
		return $(this).attr('src').replace(/.jpg/, '_on.jpg');
	});
	
	// largeがクリックされた時
	
	$('#to_large').click(function(){
		
		//自分以外をoffにする
		
		$('#to_normal').children().eq(0).attr('src', function(){
			return $(this).attr('src').replace(/_on.jpg/, '.jpg');
		});
		$('#to_small').children().eq(0).attr('src', function(){
			return $(this).attr('src').replace(/_on.jpg/, '.jpg');
		});
		
		$('#contents_left_ll p').each(function(){
			$(this).css({'font-size': function(){
					if(status == 'l'){
						return parseInt($(this).css('font-size').replace(/px/, ''));
					}else if(status == 'n'){
						return parseInt($(this).css('font-size').replace(/px/, '')) + 2;
					}else if(status == 's'){
						return parseInt($(this).css('font-size').replace(/px/, '')) + 4;
					}
				}
			});
		});
		if(status != 'l'){
			$(this).children().eq(0).attr('src', function(){
				return $(this).attr('src').replace(/.jpg/, '_on.jpg');
			});
		}
		status = 'l';
	});
	
	//normalがクリックされた時
	
	$('#to_normal').click(function(){
		
		//自分以外をoffにする
		
		$('#to_large').children().eq(0).attr('src', function(){
			return $(this).attr('src').replace(/_on.jpg/, '.jpg');
		});
		$('#to_small').children().eq(0).attr('src', function(){
			return $(this).attr('src').replace(/_on.jpg/, '.jpg');
		});
		
		$('#contents_left_ll p').each(function(){
			$(this).css({'font-size': function(){
					if(status == 'l'){
						return parseInt($(this).css('font-size').replace(/px/, '')) - 2;
					}else if(status == 'n'){
						return parseInt($(this).css('font-size').replace(/px/, ''));
					}else if(status == 's'){
						return parseInt($(this).css('font-size').replace(/px/, '')) + 2;
					}
				}
			});
		});
		if(status != 'n'){
			$(this).children().eq(0).attr('src', function(){
				return $(this).attr('src').replace(/.jpg/, '_on.jpg');
			});
		}
		status = 'n';
	});
	
	//smallがクリックされた時
	
	$('#to_small').click(function(){
		
		//自分以外をoffにする
		
		$('#to_normal').children().eq(0).attr('src', function(){
			return $(this).attr('src').replace(/_on.jpg/, '.jpg');
		});
		$('#to_large').children().eq(0).attr('src', function(){
			return $(this).attr('src').replace(/_on.jpg/, '.jpg');
		});
		
		$('#contents_left_ll p').each(function(){
			$(this).css({'font-size': function(){
					if(status == 'l'){
						return parseInt($(this).css('font-size').replace(/px/, '')) - 4;
					}else if(status == 'n'){
						return parseInt($(this).css('font-size').replace(/px/, '')) - 2;
					}else if(status == 's'){
						return parseInt($(this).css('font-size').replace(/px/, ''));
					}
				}
			});
		});
		if(status != 's'){
			$(this).children().eq(0).attr('src', function(){
				return $(this).attr('src').replace(/.jpg/, '_on.jpg');
			});
		}
		status = 's';
	});
});

//お問い合わせフォームのバリデーション

function validate_contact_form(){
	if(location.href.match(/contact/)){
		var vObj = $('.validate');
		var x;
		var max = vObj.length;
		var message = '';
		var pattern = /^(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+))*)|(?:"(?:\\[^\r\n]|[^\\"])*")))\@(?:(?:(?:(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+)(?:\.(?:[a-zA-Z0-9_!#\$\%&'*+/=?\^`{}~|\-]+))*)|(?:\[(?:\\\S|[\x21-\x5a\x5e-\x7e])*\])))$/;
		
		for(x = 0; x < max; x++){
			if(vObj[x].value == ''){
				switch(x){
					case 0:
						message += 'お名前が入力されていません。\n';
						break;
					case 1:
						message += 'フリガナが入力されていません。\n';
						break;
					case 2:
						message += '電話番号が入力されていません。\n';
						break;
					case 3:
						message += 'E-mailアドレスが入力されていません。\n';
						break;
					case 4:
						message += 'お問い合わせ内容が入力されていません。\n';
						break;
				}
			}
		}
		if(message){
			alert(message);
			return false;
		}
		
		// メールアドレスの書式チェック
		
		if(!document.forms[1].email.value.match(pattern)){
			alert('メールアドレスが不正です。');
			return false;
		}
	}
};
