/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
 *
 * Copyright (c) 2007 George Smith
 * Licensed under the MIT License:
 *   http://www.opensource.org/licenses/mit-license.php
 */
jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d)},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4}else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b}});
/*
 *	jQuery Timer plugin v0.1
 *		Matt Schmidt [http://www.mattptr.net]
 *
 *	Licensed under the BSD License:
 *
 */
jQuery.timer=function(b,d){b=b||100;if(!d)return false;_timer=function(e,f){this.stop=function(){clearInterval(a.id)};this.internalCallback=function(){f(a)};this.reset=function(c){a.id&&clearInterval(a.id);c=c||100;this.id=setInterval(this.internalCallback,c)};this.interval=e;this.id=setInterval(this.internalCallback,this.interval);var a=this};return new _timer(b,d)};
/*
 * jcommon.js 1.2
 * Copyright (c) 2010 C.M.A. Co.,Ltd.
 *
 * Last Added: 2010-07-09
 *
 */

//GoogleAnalytics
var _gaq = _gaq || []; 
_gaq.push(['_setAccount', 'UA-20336445-1']); 
_gaq.push(['_setDomainName', 'none']); 
_gaq.push(['_setAllowLinker', true]); 
_gaq.push(['_trackPageview']);
(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();

//Utility
var absPath,sharePath = '/shared',isIE='\v'=='v',isIE6=(navigator.userAgent.indexOf("MSIE 6")>=0)?true:false,isWebKit = navigator.userAgent.match(/WebKit/),isLinkAry = location.pathname.split('/').slice(1),jcommon={preloader:{loadedImages:[],load:function(a){var b=this.loadedImages,c=b.length;b[c]=new Image;b[c].src=a}},URIExp:new RegExp("^[https]*[^a-z]*"+document.domain),URI:function(a){this.absolutePath=a.replace(jcommon.URIExp,"").replace(/^[^a-z]*/,"").replace(/index.*$/,"").replace(/\/$/,"");this.len=isLinkAry.length;for(this.isSelfLink=false;this.len--&&!this.isSelfLink;)this.isSelfLink=this.isSelfLink||this.absolutePath==isLinkAry[this.len]},addLinkAry:function(){for(var a=0,b=isLinkAry.length;a<
b;)isLinkAry.push(isLinkAry.slice(0,++a).join("/").replace(/^\//,"").replace(/index.*$/,""))}};jcommon.addLinkAry();switch(true){case location.host.split('.')[1]===('apkisndov'+40*50).replace(/[p-z]/g,''):absPath = '/'+(location.pathname.split('/')[1]);var isBeta = true;break;case location.protocol==='file:':absPath = (isIE?'':'/')+('IYK:M/HOtMdoNcRs/X').replace(/[I-X]/g,'')+(location.pathname.split('/')[3])+'/www/\u4f5c\u696d\u7528';var isBeta = true;break; default:absPath = '';break;}

//ロールオーバー
$.fn.addRollOver=function(add){$(this).filter('img').each(function(){$(this).runRollOver(add,$(this));}).end().not('img').each(function(){$(this).runRollOver(add,$(this).find('img'));});};
$.fn.runRollOver=function(add,target){$(this).each(function(num){this.originalSrc=String(target.attr('src'));this.rolloverSrc=this.originalSrc.replace(/(\.gif|\.jpg|\.png)/,add+"$1");}).hover(function(){target.attr('src',this.rolloverSrc);},function(){target.attr('src',this.originalSrc);});};
//現在のページへのリンク
$.fn.addCurrentImages=function(add){$(this).each(function(){var href=new jcommon.URI($(this).attr('href'));if(href.isSelfLink){$(this).addClass('current');$(this).unbind('mouseenter');$(this).unbind('mouseleave');$(this).find('img').each(function(){$(this).unbind('mouseenter');$(this).unbind('mouseleave');this.currentSrc=this.getAttribute('src').replace(/(\.gif|\.jpg|\.png)/,add+"$1");$(this).attr('src',this.currentSrc)});}});};	
//ページ全体にリンク
$.fn.groupLink=function(){$(this).css({cursor:'pointer'}).hover(function(){$(this).addClass('hover')},function(){$(this).removeClass('hover')}).click(function(){location.href=$(this).find('a:last').attr('href');return false})}
//要素全体にリンク
$.fn.groupLink=function(){$(this).hover(function(){$(this).css({cursor:"pointer"});$(this).addClass('hover')},function(){$(this).removeClass('hover')}).click(function(){location.href=$(this).find('a').attr('href');return false})}
	
$(function(){

	//beta
	if(isBeta){
		$('a[href^="/"]').each(function(){var url = $(this).attr('href');$(this).attr('href',absPath+url);});
		$('img[src^="/"]').each(function(){var url = $(this).attr('src');$(this).attr('src',absPath+url);});
	}
	
	//透過pngの処理
	if (typeof document.body.style.maxHeight != "undefined") {
		// IE 7, mozilla, safari, opera 9
	} else{
		// IE6, older browsers
		if($('#wrapper').length){
			$('div#footer #naturaCom').addClass("png_bg");
		}
		DD_belatedPNG.fix('img, .png_bg');
	} 
	
/*	//透過pngの処理
		if (typeof document.body.style.maxHeight != "undefined") {
			// IE 7, mozilla, safari, opera 9
		} else{
			// IE6, older browsers
			if($('#wrapper').length){
				$('#footer #naturaCom').addClass("png_bg");
			}
			DD_belatedPNG.fix('img, .png_bg');
		} */
		

	//ロールオーバー
	$('div#header ul#globalNav li a,div#footer #ftL #ftTxtNav li a,div#header ul#subNav li a,div#header ul#blogNav li a,a img.btn,a.btn').addRollOver('_on');

	//現在のページへのリンク
	$('div#header ul#globalNav li a,div#sub #localNav ul li:not([id="categoryTop"]) a,div#footer #ftL #ftTxtNav li a,div#sub #side ul.list li a,div#sub #ownerNav li a').addCurrentImages('_cr');	

	//外部リンクは別ウインドウを設定
	$('a[href^="http://"]:not([href^="http://www.yurakomuten.com"])').click(function(){
		window.open(this.href, '_blank');
		return false;
	}).addClass('externalLink');

	//別ウィンドウを設定
	$('a[href$=".pdf"],a[href$=".asx"]').click(function(){
		window.open(this.href, '_blank');
		return false;
	})
	
	//要素全体にリンク
	$('#worksList li','body.works').groupLink();
	$('.eventList li','body.uraraclub').groupLink();
	$('.eventList li','body#opeIndex').groupLink();
	
	//トップページへMTで書き出したmoduleを読み込み
	if($('body#home').length){
		$('#news').load(absPath + '/shared/module/home_news.html');
		$('#works').load(absPath + '/shared/module/home_works.html');
		$('#event').load(absPath + '/shared/module/home_event.html');
	}	
	
	//連番nxxxをクラスとして追加
	$('#flow .flowList li').each(function(num){
		var len = ($('#flow .flowList li').length)-(num++);
		$(this).addClass('n'+len);
	
	});
		
	//:first-child, :last-childをクラスとして追加
	$('#flow .flowList li').filter(':last-child').addClass('lastChild');
	
	//要素の非表示 ver1.0
	$('body.complete #flow').each(function(){
		$(this).children('ul.flowList').hide();
	});
	$('body.complete #flow h2').click(function(){
		if($(this).next().is(':visible')){
			$(this).next().hide();
		}else{
			$(this).next().show();
		}
	});

	$('body.complete #flow h2').click(
			function() {
					if ($(this).hasClass('moreOn')) {
							$(this).removeClass('moreOn');
					} else {
							$(this).addClass('moreOn');
					}
			}
	);



	

	
	//オーナーの声　画像の自動切り替え
	var tickerLen = $('#owner li','#home').length;
	$('#owner li','#home').each(function(num){
		$(this).css({zIndex:100+$(this).length - num,display:'none'});
	});
	$.newsticker = function(len){
		if(len > tickerLen-1)len=0;
		$('#owner li:eq('+len+')').each(function(){
			$(this).fadeIn(1000,function(){
				$(this).animate({left:0},7000,function(){
					$(this).fadeOut(1000);
					$.newsticker(++len);
				});
			});
		});
	}
	$.newsticker(0);
	
	switch(document.body.id){
	//googlemap
	case 'newIndividual' :
	 
		// var $info = $('div#data');
		data = [{
			"ID" : "map",
			"latlng" : $('#gmap').text().split(',')
		}];
		gmapLoad('gmapIndexRun');
		
	break;
	//home
	case 'home' :
		
		$('#mainVisual')
			.bind('createHtmlHandler',function(){
				var i,html = [];
				if(isIE){
					html.push('<p id="mainCopy"><img src="img/main_visual/txt_copy_urara_ie.png" alt="人と風土と暮らしを無理なく繋ぐもの" width="145" height="264" /></p>');
				}else{
					html.push('<p id="mainCopy"><img src="img/main_visual/txt_copy_urara.png" alt="人と風土と暮らしを無理なく繋ぐもの" width="145" height="264" /></p>');
				}
				html.push('<ul id="mainNav">');
				i = 1;
				while(i<=5){
					html.push('	<li><a href="#photo'+i+'"><img src="img/main_visual/pho_thumb_'+i+'.jpg" alt="" width="100" height="100" /></a></li>');
					i++;
				}
				html.push('</ul>');
				html.push('<p id="mainView">');
				i = 1;
				while(i<=5){
					html.push('<img class="photo'+i+'" src="img/main_visual/pho_main_'+i+'.jpg" width="960" height="500" />');
					i++;
				}
				html.push('</p>');
				$(this).html(html.join('')).css({opacity:1});//.fadeTo(2000,1);
				$('#mainCopy,#mainTag,#mainNav').css({opacity:0});
				$('#mainCopy').queue('fx',[]).delay(1000).css({top:35}).animate({top:55,opacity:1},{duration:2000,easing:'easeOutQuart'})
				$('#mainTag').queue('fx',[]).delay(5000).css({top:-30}).animate({top: 0,opacity:1},{duration:2000,easing:'easeOutQuint'})
				
				$('#mainView')
					.children('img').hide()
					.bind('hideImageHandler',function(){
						$(this).queue('fx',[]).fadeTo(1000,0,function(){$(this).hide()});
					})
					.bind('showImageHandler',function(){
						$(this).queue('fx',[]).delay(1000).fadeTo(1000,1);
					});
				$('#mainNav').css({opacity:1})
					.each(function(){
						this.crnum = 0;
					})
					.bind('changeImageHandler',function(){
						$(this).children('li:eq('+(this.crnum++)+')').trigger('click');
						if(this.crnum>=5)this.crnum=0;
					})
					.children('li').css({opacity:0})
					.bind('unCurrent',function(){
						$('#mainView>img:eq('+$(this).index()+')').trigger('hideImageHandler');
						$(this)
							.removeClass('current')
							.children('a').queue('fx',[]).css({cursor:'pointer',width:40,height:40,margin:30})
							.children('img').queue('fx',[]).css({marginLeft:-30,marginTop:-30});
					})
					.hover(function(){
						if(!$(this).hasClass('current'))$(this).find('img').animate({opacity:0.5},{duration:500,easing:'easeOutQuint'});
					},function(){
						$(this).find('img').animate({opacity:1},{duration:500,easing:'easeOutQuint'});
					}).click(function(){if(!$(this).hasClass('current')){
						var parent = $('#mainNav').get()[0];
						parent.crnum = $(this).index();
						if(parent.timer)parent.timer.stop();
						if($(this).index()==0){
							$('#mainCopy').queue('fx',[]).delay(1000).fadeTo(1000,1);
						}else{
							$('#mainCopy').queue('fx',[]).fadeTo(1000,0);
						}
						$('#mainView>img:eq('+$(this).index()+')').trigger('showImageHandler');
						$(this)
							.addClass('current')
							.children('a').queue('fx',[]).css({cursor:'default',width:100,height:100,margin:0}).animate({width:70,height:70,margin:15},{duration:500,easing:'easeOutQuint'})
							.children('img').queue('fx',[]).css({margin:0}).animate({marginLeft:-15,marginTop:-15},{duration:500,easing:'easeOutQuint'})
							.end().end().siblings('li.current').trigger('unCurrent');
						$.timer(5000, function (timer) {
							$('#mainNav').get()[0].timer = timer;
							$('#mainNav').trigger('changeImageHandler');
						});
					}return false;
					}).each(function(num){
						$(this).delay(3000+250*num).animate({opacity:1},{duration:1000,easing:'easeOutQuint'});
						if(num==0){
							$('#mainView>img:eq('+$(this).index()+')').trigger('showImageHandler');
							$(this).addClass('current')
								.children('a').css({cursor:'default',width:70,height:70,margin:15})
								.children('img').css({marginLeft:-15,marginTop:-15})
						}
					});
					$.timer(5000, function (timer) {
						$('#mainNav').get()[0].timer = timer;
						$('#mainNav').trigger('changeImageHandler');
					});
			})
			.each(function(){
				if(isIE6){
					$('#mainVisual').html('<a href="natura/"><img src="img/pho_main.jpg" width="960" height="500" alt="風も香りも家とひとつになりました。" /></a>');
				}else if(isIE){
					$('#mainVisual').fadeTo(1000,0,function(){
						$(this).trigger('createHtmlHandler');
					})
				}else{
					loadImages([
						'img/main_visual/txt_copy_ie.png',
						'img/main_visual/txt_copy.png',
						'img/main_visual/bnr_natura.png',
						'img/main_visual/pho_thumb_1.jpg',
						'img/main_visual/pho_thumb_2.jpg',
						'img/main_visual/pho_thumb_3.jpg',
						'img/main_visual/pho_thumb_4.jpg',
						'img/main_visual/pho_thumb_5.jpg',
						'img/main_visual/pho_main_1.jpg',
						'img/main_visual/pho_main_2.jpg',
						'img/main_visual/pho_main_3.jpg',
						'img/main_visual/pho_main_4.jpg',
						'img/main_visual/pho_main_5.jpg'
					],function(){
						$('#mainVisual').fadeTo(1000,0,function(){
							$(this).trigger('createHtmlHandler');
						})
					});
				}
			});
		
		/*
		<!--p id="mainCopy"><img src="img/main_visual/txt_copy.png" alt="風も香りも家とひとつになりました。" width="145" height="185" /></p>
		<p id="mainTag"><img src="img/main_visual/bnr_natura.png" alt="Natura シンプルでやさしい。自然体の家ナチュラ。" width="100" height="200" /></p>
		<ul id="mainNav">
			<li><a href="#photo1"><img src="img/main_visual/pho_thumb_1.jpg" alt="" width="100" height="100" /></a></li>
			<li><a href="#photo2"><img src="img/main_visual/pho_thumb_2.jpg" alt="" width="100" height="100" /></a></li>
			<li><a href="#photo3"><img src="img/main_visual/pho_thumb_3.jpg" alt="" width="100" height="100" /></a></li>
			<li><a href="#photo4"><img src="img/main_visual/pho_thumb_4.jpg" alt="" width="100" height="100" /></a></li>
			<li><a href="#photo5"><img src="img/main_visual/pho_thumb_5.jpg" alt="" width="100" height="100" /></a></li>
		</ul>
		<p id="mainView"><img src="img/main_visual/pho_main_1.jpg" width="960" height="500" /></p>
		<!-- -->
		*/
	break;
	}
	
});
//ImageClass イメージオブジェクトの生成
function loadImages(arySrc,callback){
	var	count = 0,
		i = 0,
		aryImage = [],
		finish = callback;
	while(i<arySrc.length){
		aryImage.push(new Image());
		aryImage[i].src = arySrc[i];
		aryImage[i].maxLen = arySrc.length;
		aryImage[i].onload = function(){
			count++;
			if(count>=this.maxLen) finish();
		}
		i++;
	}
}

//GLOBAL VAR
var data;
//GMAP LOAD
function gmapLoad(fn){
	//Google Map API ver3
	var script = document.createElement("script");
	script.src = "http://maps.google.com/maps/api/js?sensor=true&callback="+fn;
	script.type = "text/javascript";
	document.getElementsByTagName("body")[0].appendChild(script);		
}
//GMAP MAIN
function gmapIndexRun(){
	var	$g = google.maps,
		gmap = new Object;
	// MAP
	gmap.latlng = new $g.LatLng(data[0].latlng[0],data[0].latlng[1]);	
	gmap.bounds = new $g.LatLngBounds(gmap.latlng,gmap.latlng);
	gmap.div = document.getElementById('gmap');
	gmap.param = {
		zoom:13,
		scrollwheel:false,
		center:gmap.latlng,
		mapTypeControl:false,
		mapTypeId: $g.MapTypeId.ROADMAP
	};
	gmap.go = new $g.Map(gmap.div,gmap.param);
	// MARKER
	gmap.marker = new Object;
	gmap.marker.go = new Array;
//	gmap.marker.shadow = new $g.MarkerImage(
//		'/shared/img/fig_marker_shade.png',
//		new $g.Size(43,23),
//		new $g.Point(0,0),
//		new $g.Point(0,22)
//	);
	var i = 0;
	while(data[i]){
//		gmap.marker.image = new $g.MarkerImage(
//			'/shared/img/fig_marker_green.png',
//			new $g.Size(31,35),
//			new $g.Point(0,0),
//			new $g.Point(4,33)
//		);
		gmap.marker.param = {
			//icon:gmap.marker.image,
			//shadow:gmap.marker.shadow,
			map:gmap.go,
			position:new $g.LatLng(data[i].latlng[0],data[i].latlng[1])
		}
		gmap.marker.go.push(new $g.Marker(gmap.marker.param));
		gmap.marker.go[i].infoHtml = new Array();
		gmap.marker.go[i].infoParam = {
			content:gmap.marker.go[i].infoHtml.join(''),
			maxWidth:240,
			pixelOffset:new $g.Size(-14,35)
		}
		gmap.marker.go[i].infowin = new google.maps.InfoWindow(gmap.marker.go[i].infoParam);
		gmap.bounds.extend( gmap.marker.param.position );
		i++;
	}
}
