/**
 * jQuery.LocalScroll
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 6/3/2008
 *
 * @projectDescription Animated scrolling navigation, using anchors.
 * http://flesler.blogspot.com/2007/10/jquerylocalscroll-10.html
 */

/**
 * Copyright (c) 2006/2007 Sam Collett (http://www.texotela.co.uk)
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 * 
 */

/**
 *  jquery.popupt
 *  (c) 2008 Semooh (http://semooh.jp/)
 *
 *  Dual licensed under the MIT (MIT-LICENSE.txt)
 *  and GPL (GPL-LICENSE.txt) licenses.
 *
 **/
(function($){ var URI = location.href.replace(/#.*/,''); var $localScroll = $.localScroll = function( settings ){ $('body').localScroll( settings );}; $localScroll.defaults = { duration:1000, axis:'y', event:'click', stop:true
}; $localScroll.hash = function( settings ){ settings = $.extend( {}, $localScroll.defaults, settings ); settings.hash = false; if( location.hash )
setTimeout(function(){ scroll( 0, location, settings );}, 0 );}; var $scrollTo = $.scrollTo = function( target, duration, settings ){ $scrollTo.window().scrollTo( target, duration, settings );}; $scrollTo.defaults = { axis:'y', duration:1
}; $scrollTo.window = function(){ return $( $.browser.safari ? 'body' : 'html' );}; $.fn.extend({ localScroll: function( settings ){ settings = $.extend( {}, $localScroll.defaults, settings ); return ( settings.persistent || settings.lazy )
? this.bind( settings.event, function( e ){ var a = $([e.target, e.target.parentNode]).filter(filter)[0]; a && scroll( e, a, settings );})
: this.find('a,area')
.filter( filter ).bind( settings.event, function(e){ scroll( e, this, settings );}).end()
.end(); function filter(){ return !!this.href && !!this.hash && this.href.replace(this.hash,'') == URI && (!settings.filter || $(this).is( settings.filter ));};}, scrollTo: function( target, duration, settings ){ if( typeof duration == 'object' ){ settings = duration; duration = 0;}
settings = $.extend( {}, $scrollTo.defaults, settings ); duration = duration || settings.speed || settings.duration; settings.queue = settings.queue && settings.axis.length > 1; if( settings.queue )
duration /= 2; settings.offset = both( settings.offset ); settings.over = both( settings.over ); return this.each(function(){ var elem = this, $elem = $(elem), t = target, toff, attr = {}, win = $elem.is('html,body'); switch( typeof t ){ case 'number':
case 'string':
if( /^([+-]=)?\d+(px)?$/.test(t) ){ t = both( t ); break;}
t = $(t,this); case 'object':
if( t.is || t.style )
toff = (t = $(t)).offset();}
$.each( settings.axis.split(''), function( i, axis ){ var Pos = axis == 'x' ? 'Left' : 'Top', pos = Pos.toLowerCase(), key = 'scroll' + Pos, act = elem[key], Dim = axis == 'x' ? 'Width' : 'Height', dim = Dim.toLowerCase(); if( toff ){ attr[key] = toff[pos] + ( win ? 0 : act - $elem.offset()[pos] ); if( settings.margin ){ attr[key] -= parseInt(t.css('margin'+Pos)) || 0; attr[key] -= parseInt(t.css('border'+Pos+'Width')) || 0;}
attr[key] += settings.offset[pos] || 0; if( settings.over[pos] )
attr[key] += t[dim]() * settings.over[pos];}else
attr[key] = t[pos]; if( /^\d+$/.test(attr[key]) )
attr[key] = attr[key] <= 0 ? 0 : Math.min( attr[key], max(Dim) ); if( !i && settings.queue ){ if( act != attr[key] )
animate( settings.onAfterFirst ); delete attr[key];}
}); animate( settings.onAfter ); function animate( callback ){ $elem.animate( attr, duration, settings.easing, callback && function(){ callback.call(this, target);});}; function max( Dim ){ var el = win ? $.browser.opera ? document.body : document.documentElement : elem; return el['scroll'+Dim] - el['client'+Dim];};});}, jQIR: function(format, path, onload){ if(!document.images) return this; path = path || ""; this.each( function()
{ var img = $("<img>"), el = jQuery(this); var file; var re = /(?:{src\:)(\S+)(?:})/i; var m = this.className.match(re); if(m)
{ file = path + m[1];}
else
{ file = path + this.id + "." + format;}
jQuery(img).attr( { src: file, alt: el.text()
}).load(typeof onload == "function" ? onload : function(){} ); var a = el.find("a"); var toAppend = a.length ? a.empty().append(img) : img; el.empty().append(toAppend);}
)
return this;}, imghover: function(opt){ return this.each(function() { opt = $.extend({ prefix: '', suffix: '_on', src: '', btnOnly: true, fade: false, fadeSpeed: 400
}, opt || {}); var node = $(this); if(!node.is('img')&&!node.is(':image')){ var sel = 'img,:image'; if (opt.btnOnly) sel = 'a '+sel; node.find(sel).imghover(opt); return;}
var orgImg = node.attr('src'); var hoverImg; if(opt.src){ hoverImg = opt.src;}else{ hoverImg = orgImg; if(opt.prefix){ var pos = hoverImg.lastIndexOf('/'); if(pos>0){ hoverImg = hoverImg.substr(0,pos-1)+opt.prefix+hoverImg.substr(pos-1);}else{ hoverImg = opt.prefix+hoverImg;}
}
if(opt.suffix){ var pos = hoverImg.lastIndexOf('.'); if(pos>0){ hoverImg = hoverImg.substr(0,pos)+opt.suffix+hoverImg.substr(pos);}else{ hoverImg = hoverImg+opt.suffix;}
}
}
if(opt.fade){ var offset = node.offset(); var hover = node.clone(true); hover.attr('src', hoverImg); hover.css({ position: 'absolute', left: offset.left, top: offset.top, zIndex: 100
}).hide().insertAfter(node); node.mouseover( function(){ var offset=node.offset(); hover.css({left: offset.left, top: offset.top}); hover.fadeIn(opt.fadeSpeed); node.fadeOut(opt.fadeSpeed,function(){node.show()});} ); hover.mouseout( function(){ node.fadeIn(opt.fadeSpeed); hover.fadeOut(opt.fadeSpeed);} );}else{ node.hover( function(){node.attr('src', hoverImg)}, function(){node.attr('src', orgImg)} );}
});}
}); function scroll( e, link, settings ){ var id = link.hash.slice(1), elem = document.getElementById(id) || document.getElementsByName(id)[0]; if ( elem ){ e && e.preventDefault(); var $target = $( settings.target || $.scrollTo.window() ); if( settings.lock && $target.is(':animated') || settings.onBefore && settings.onBefore.call(link, e, elem, $target) === false ) return; if( settings.stop )
$target.queue('fx',[]).stop(); $target
.scrollTo( elem, settings )
.trigger('notify.serialScroll',[elem]); if( settings.hash )
$target.queue(function(){ location = link.hash; $(this).dequeue();});}
}; function both( val ){ return typeof val == 'object' ? val : { top:val, left:val };};})(jQuery); 

$(document).ready(function(){
	$.localScroll();
	$(".jqir_jpg").jQIR("jpg", "/img/");
	$(".jqir_gif").jQIR("gif", "/img/");
	$(".jqir_png").jQIR("png", "/img/");
	$('.btn img').imghover();
	$('#hhc .h_btn').hover(
		function(){ $(this).fadeTo("normal",1); },
		function(){ $(this).fadeTo("fast",0.6); }
	);
	$('.bnr a, .btn_opacity a').hover(
		function(){ $(this).fadeTo("normal",0.6); },
		function(){ $(this).fadeTo("fast",1); }
	);
	//slideセットアップ
	var W = $(window).width();
	var imgNum = Math.floor(W / 640);
	var img = $('#slide .inner img');
	var slideImgArr = new Array('1', '2', '3', '4', '5', '6', '7');
	var maxNum = slideImgArr.length;
	//console.log(imgArr.size());
	numberArr = randomNumbers(0, maxNum - 1);
	//console.log(numberArr.join(','));

	var slide = '';
	var num, pos;
	for(var i = 0; i < maxNum; i++){
		num = numberArr[i];
		pos = (940 * i + 25 * i);
		slide += '<img src="slide/' + slideImgArr[num] + '.jpg" width="940" height="425" class="slideImg" style="left: ' + pos + 'px;" data-num="' + i + '" />';
		//console.log(num + '/' + slideImgArr[num]);
	}
	//ポジション
	var imgPos;
	imgPos = Math.floor((W - 940)/2);
	currentImg = 1;
	$('.loader').fadeOut(1500);
	var slideInner = $('#slide .inner');
	slideInner.append(slide).css('left', imgPos + 'px').width(965 * maxNum);
	slideInner.children('img').css('opacity', 0);
	slideInner.children('img:nth-child(' + currentImg + ')').css('opacity', 1).css('top', '5px').addClass('current');
	slideInner.fadeIn(1000);
	slideInner.children('img').click(function(){
		slideInner.children('img').animate({
				opacity: 0.4,
				top: "0px"
				}, 300, function(){$(this).removeClass('current')});
		var newImg = parseInt($(this).attr('data-num')) + 1;
		if(newImg == maxNum){
			imgPos = Math.floor((W - 940)/2);
			newImg = 0;
		} else {
			imgPos -= 965;
		}
		slideInner.animate({
				left: imgPos + 'px',
				top: 0
		}, 400, function(){
				currentImg = newImg;
				var newImgNum = newImg + 1;
				slideInner.children('img:nth-child(' + newImgNum + ')')
									.animate({
										opacity: 1.0,
										top: "5px"
									}, 300, function(){slideInner.children('img').not('img:nth-child(' + newImgNum + ')').css('opacity', 0);})
									.addClass('current');
				
		});
	});
});

//数字をランダムに並べる
function randomNumbers(minNum, maxNum){
	var numArr = new Array();
	var cnt = 0;
	for(var n = minNum; n <= maxNum; n++){
		numArr[cnt] = n;
		cnt++;
	}
	var randomIndex;
	var rdmArr = new Array();
	for(var i = 0; i < n; i++){
		randomIndex = Math.floor(Math.random()*numArr.length);
		rdmArr[i] = numArr[randomIndex];
		numArr.splice(randomIndex, 1);
	}
	return rdmArr;
}

