/* CSSハック用 */
/* ----------------------------------------------------- */
var css_browser_selector = function() {
	var 
		ua=navigator.userAgent.toLowerCase(),
		is=function(t){ return ua.indexOf(t) != -1; },
		h=document.getElementsByTagName('html')[0],
		b=(!(/opera|webtv/i.test(ua))&&/msie (\d)/.test(ua))?('ie ie'+RegExp.$1):is('gecko/')? 'gecko':is('opera/9')?'opera opera9':/opera (\d)/.test(ua)?'opera opera'+RegExp.$1:is('konqueror')?'konqueror':is('applewebkit/')?'webkit safari':is('mozilla/')?'gecko':'',
		os=(is('x11')||is('linux'))?' linux':is('mac')?' mac':is('win')?' win':'';
	var c=b+os+' js';
	h.className += h.className?' '+c:c;
}();

/* ----------------------------------------------------- */
/* noConflict*/
/* ----------------------------------------------------- */
var $j =jQuery.noConflict();

/* ----------------------------------------------------- */
/* jquery ロード*/
/* ----------------------------------------------------- */
$j(function(){

	/* aタグクリック時の枠線無効に */
	/* ----------------------------------------------------- */
	$j('a').focus(
		function(){
		this.blur();
	});

	/* 関数Call */
	/* ----------------------------------------------------- */

		
		/* 基本ローカルナビアクティブ */
		lnavActive('#side dl.cat-nav dd.wrap');

		/* 製品一覧タブアクティブ */
		tabActive('#list-tab');

		/* 製品ページローカルナビアクティブ */
		productLnavActive();

		/* ポップアップウィンドウを開く */
		popupWindow('#pic dt.zoom a',800,800,'Big');
		popupWindow('.pic-g dt.zoom a',800,800,'Big');
		popupWindow('#detail-main p.pic01 a',820,620,'Big');
		popupWindow('#detail-main p.pic02 a',820,620,'Big');
		popupWindow('#detail-main p.pic03 a',820,620,'Big');
		popupWindow('#printer li.image2 a',820,600,'Movie');
		popupWindow('p.detail-right a',820,600,'Big');
		
		
		/* 拡大画像のページのスワップ */
		SwapImg('#zoom-pic #thum a','#zoom-pic #mainPhoto img');
		SwapImg('#zoom-pic #thum2 a','#zoom-pic #mainPhoto img');
		
		
	/* ポップアップウィンドウを閉じる */
	/* ----------------------------------------------------- */
	$j('#cls img').click(function(){
		window.close();
	});
	
	/* グローバルナビ　カレントページのボタン変更（ロールオーバー部分の前に記載する） */
	/* ----------------------------------------------------- */
	var activeObj ='#g-'+ $j('body').attr('id');
	if($j('#gnav li').filter(activeObj).size()==1){
		$activeObj = $j(activeObj).find('a:first img');
		$activeObj.removeClass('over');
		var src = $activeObj.attr('src');
		var ftype = src.substring(src.lastIndexOf('.'), src.length);
		var hsrc = src.replace(ftype, '-a'+ftype);
		$activeObj.attr('src', hsrc);
	}
	

	/* ロールオーバー */
	/* ----------------------------------------------------- */
	$j('img.over').not('[src*="-a."]').hover(function()
	{
		Rollover($j(this),$j(this).attr('src'));	
	},function() {
		Rollover($j(this),$j(this).attr('src'));	
	});	

	/* ページ内スクロール */
	/* ----------------------------------------------------- */
  $j('a[href^=#]').click(function(event) {
    var hash = this.hash;
		if(hash!==''){
			var tarPosition = $j(hash).offset().top;
			if(undefined !== window.opera && "function" === typeof window.opera.version){ // opera
				$j('html').animate({scrollTop: tarPosition}, 400, 'easeOutQuad'); 
			}
			else{
				$j('html, body').animate({scrollTop: tarPosition}, 400, 'easeOutQuad');
			}
			return false;
		}
  });
  
  	

	/* 製品ページプルダウン */
	/* ----------------------------------------------------- */
	$j('#series-search option:first').attr('selected','selected')
	
	$j('#model-search').dependent({
		parent:'series-search',
		group: 'selectable',
		defaultText:	'Type Select'
	});

	$j('#model-search').change(function(){
		var url = $j(this).val();
		if(url !== ''){
			location.href = url;
		}
	});
	
	/* あいさつページプルダウン */
	/* ----------------------------------------------------- */

	$j('#message-kind').change(function(){
		var url = $j(this).val();
		if(url !== ''){
			location.href = url;
		}
	});

	/* addclass */
	/* ----------------------------------------------------- */
	$j('#home-intro dl.news li:even').addClass('even');
	$j('#sitemap li:first').addClass('first');
	$j('#sitemap li:last-child').addClass('close');

});

/* ----------------------------------------------------- */
/*　ページ内スクロール用　*/
/* ----------------------------------------------------- */
jQuery.easing.easeOutQuad = function (x, t, b, c, d) {
		return -c *(t/=d)*(t-2) + b;
};

/* ----------------------------------------------------- */
/*　ロールオーバー　*/
/* ----------------------------------------------------- */
var Rollover = function(obj,thisSrc) {
	/* 変数宣言 */
	var sTempSrc = thisSrc;
	var ftype = thisSrc.substring(thisSrc.lastIndexOf('.'), thisSrc.length);
	var hsrc = thisSrc.replace(ftype, '-o'+ftype);	
	var aPreLoad = new Image();

	/* プリロード */
	aPreLoad.src = hsrc;

	re = new RegExp('-o');
	
	if(!sTempSrc.match(re)){
		$j(obj).attr('src', hsrc);
	}
	
	if (sTempSrc.match(re)) {
		sTempSrc = $j(obj).attr('src').replace('-o'+ftype, ftype);
		$j(obj).attr('src', sTempSrc);
	}
}

/* ----------------------------------------------------- */
/* 基本ローカルナビアクティブ */
/* ----------------------------------------------------- */
var lnavActive = function(obj){
	/* hrefを取得 */
	var showObj = location.href;
	var myData = showObj.split('/');
	myData = myData[myData.length-1];
	re = new RegExp('#');
	if(myData.match(re)){
		myData = myData.split('#')[0];
	}
	var hrefList =[];
	$j('a',obj).each(function(i){
		hrefList[i] = $j(this).attr('href');
	});
	
	for (var i = 0; i < hrefList.length; i++) {
		if(hrefList[i]===myData){
			var activeObj = $j('a',obj).eq(i);
			activeObj.addClass('active');
		}
	}
}

/* ----------------------------------------------------- */
/* 製品ページローカルナビアクティブ */
/* ----------------------------------------------------- */
var productLnavActive = function(obj){
	/* hrefを取得 */
	var showObj = location.href;
	var activeObj = $j('#product dl.cat-nav a');
	var hrefList =[];
	$j('#product dl.cat-nav a').each(function(i){
		hrefList[i] = $j(this).attr('href');
	});
	
	for (var i = 0; i < hrefList.length; i++) {
		if(hrefList[i]===showObj){
			activeObj = activeObj.eq(i);
			if(activeObj.parents('li').size()===1){
				activeObj.addClass('active').parents('dd').prev().find('a').addClass('active');
			}else{
				activeObj.addClass('active');
			}
		}
	}
}
/* ----------------------------------------------------- */
/*▼アコーディオン 新着*/
/* ----------------------------------------------------- */

/*▼アコーディオン*/
/* ----------------------------------------------------- */
var Accordion = function(){
	//toggle設定
	$j('.accordion dd').hide();

	//dtクリック時イベント
	$j('.accordion dt').click(function(){
		$j(this).next('dd').slideToggle('normal');
	});	
}

/*▼アコーディオン サイトマップ*/
/* ----------------------------------------------------- */
var Accordion02 = function(){
	//toggle設定
	$j('#news dl.acc dd').hide();

	//オーバー時のマウスカーソル変更
	$j('#news dl.acc dt span').hover(function(){
	$j(this).css('cursor','pointer'); 
	},function(){
		$j(this).css('cursor','default');
	});

	//li.accクリック時イベント
	$j('#news dl.acc dt span').click(function(){
		$j(this).parent().children('dd').slideToggle('normal');
	});	
}

/*▼アコーディオン サイトマップ02*/
/* ----------------------------------------------------- */
var Accordion03 = function(){
	//toggle設定
	$('#news dl.acc dd').hide();

	//オーバー時のマウスカーソル変更
	$j('#news dl.acc dt span').hover(function(){
	$j(this).css('cursor','pointer'); 
	},function(){
		$j(this).css('cursor','default');
	});

	//dl.accクリック時イベント
	$j('#news dl.acc dt + dd').prev('dt').click(function(){
		$j(this).parent().children('dd').slideToggle('normal');
	});	
}

/* ----------------------------------------------------- */
/* 製品一覧タブアクティブ */
/* ----------------------------------------------------- */
var tabActive = function(obj){
	/* hrefを取得 */
	var showObj = location.href;
	var myData = showObj.split('/');
	myData = myData[myData.length-1];
	re = new RegExp('#');
	if(myData.match(re)){
		myData = myData.split('#')[0];
	}
	var hrefList =[];
	$j('a',obj).each(function(i){
		hrefList[i] = $j(this).attr('href');
	});
	
	for (var i = 0; i < hrefList.length; i++) {
		if(hrefList[i]===myData){
			var activeObj = $j('a',obj).eq(i);
			
			$activeObj = activeObj.find('img');
			$activeObj.removeClass('over');
			var src = $activeObj.attr('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '-a'+ftype);
			$activeObj.attr('src', hsrc);
		}
	}
}

/* ----------------------------------------------------- */
/* ポップアップウィンドウ開く */
/* ----------------------------------------------------- */
var popupWindow = function(tar,w,h,windowName){
	$j(tar).click(function(){
		var Loc = $j(this).attr('href');
		var features="scrollbars=yes,resizable=yes";
		features+=", left="+(window.screen.width-w)/2;
		features+=", top="+(window.screen.height-h)/2;
		features+=", width="+w;
		features+=", height="+h;
		var newWin=window.open(Loc,windowName,features);
		newWin.focus();
		return false;
	});
}

/* ----------------------------------------------------- */
/* スワップ */
/* ----------------------------------------------------- */
var SwapImg = function(obj,mainPhoto){
	/* プリロード */
	$j(obj).each(function(i){				
		var siPreLoad = new Array();
		var src = $j(this).attr('href');
		siPreLoad[i] = new Image();
		siPreLoad[i].src = src;
	});
	/* クリック */
	$j(obj).click(function(){
		src = $j(this).attr('href');
		$j(mainPhoto).attr('src',src);
		return false;
	});
}

/* ----------------------------------------------------- */
/* SWFObject呼び出し */
/* ----------------------------------------------------- */
var setFlash = function (swf,width, height,alt,movieUrl) {
	var so = new SWFObject(swf, alt, width, height, '9', '#FFF');
	so.addParam('allowFullScreen', 'true');
	so.addParam('FlashVars', movieUrl);
	so.write('movie-player');
}

/* ----------------------------------------------------- */
/* flatHeights */
/* ----------------------------------------------------- */
var flat = function(obj,flatobj,num){
	var sets = [], temp = [];
	/* numごとで高さ揃える */
		$j(obj).find(flatobj).each(function(i) {
				temp.push(this);
				if ((i+1) % num == 0) {
						sets.push(temp);
						temp = [];
				}
		});
		if (temp.length) sets.push(temp);

		/* 各組ごとに高さ揃え */
		$j.each(sets, function() {
				$(this).flatHeights();
		});
		sets = [], temp = [];
}

/* ----------------------------------------------------- */
/* 画像拡大 */
/* ----------------------------------------------------- */
var zoomPhoto = function(obj){
		//表示画像の幅・高さ取得　自身にclass付加（cashImg0'+(i+1)）
		$(obj).each(function(i){
			var bigPhotosrc = $(this).attr('href');
			$(this).addClass('cashImg0'+(i+1))
			var cashImg = '<img src="'+ bigPhotosrc + '" class="cashImg" id="cashImg0'+(i+1)+'" />'
			$("body").append(cashImg);
		});
		
		$(obj).click(function(i){
			//IEはselect非表示に
			if(jQuery.browser.msie){
				$('select').css('visibility','hidden');
			}
			
			//自身のクラスから表示する画像が格納されている非表示の要素のID取得
			var tar = '#'+$(this).attr('class').split(' ')[1];
			
			//拡大画像のパス
			var bigPhotosrc = $(this).attr('href');
			var bigPhoto = '<p id="zoomPhoto"><img src="'+ bigPhotosrc + '" /><span id="close">×CLOSE</span></p>'
			
			//ローディングイメージのパス
			var loadImg = 'img/load.gif'  
			var loading = '<p id="zoomPhoto"><img src="'+ loadImg + '" /></p>'
			
			//画像データキャッシュ
			var aPreLoad = new Image();
			aPreLoad.src = bigPhotosrc;
			
			//zoomPhotoの表示座標
			if(undefined !== window.defaultstatus){ //Safari　Google Chrome 
				var top = $('body').scrollTop();
			}
			if ( undefined !== window.Components) { //Firefox
				var top = $('html').scrollTop();
			}
			if ( jQuery.browser.msie && !(jQuery.browser.version < 7)) { // over IE6
				var top = $('html').scrollTop();
			}
			if(undefined !== window.opera && "function" === typeof window.opera.version){ // opera
				var top = $('html').scrollTop();
			}
			if ( jQuery.browser.msie && jQuery.browser.version == 6) { // under IE6
				var top = $('body').scrollTop();
			}
			var left = $(window).width();

			//zoomPhotoが存在しない場合
			if($('#zoomPhoto').size()===0){
				//拡大画像読み込み完了
				if(aPreLoad.complete){
					$("body").append(bigPhoto);
					$('#zoomPhoto').css('left',Math.floor((left-$('#zoomPhoto').width())/ 2)).css('top',Math.floor(top+($(window).height()-$('#zoomPhoto').height())/ 2));
				}
				//拡大画像読み込み未完了
				else{
					$("body").append(loading);
					$('#zoomPhoto').css('left',Math.floor((left-$('#zoomPhoto').width())/ 2)).css('top',Math.floor(top+($(window).height()-$('#zoomPhoto').height())/ 2));
					//画像読み込み完了時に差し替え
					aPreLoad.onload = function(){
						$('#zoomPhoto').remove();
						$("body").append(bigPhoto);
					$('#zoomPhoto').css('left',Math.floor((left-$('#zoomPhoto').width())/ 2)).css('top',Math.floor(top+($(window).height()-$('#zoomPhoto').height())/ 2));
					}
				}
			}
			//zoomPhotoが存在する場合
			else{
				$('#zoomPhoto').remove();
				$("body").append(bigPhoto);
					$('#zoomPhoto').css('left',Math.floor((left-$('#zoomPhoto').width())/ 2)).css('top',Math.floor(top+($(window).height()-$('#zoomPhoto').height())/ 2));
			}
			return false;
		});
		
		//zoomPhotoクリックで閉じる
		$('#close').live("click", function(){
			$('#zoomPhoto').remove();													 
				$('select').css('visibility','visible');
		});
}

