/* ----------------------------------------------------- */
/* 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;
}();
function Print(ID){
	document.getElementById(ID).style.display = "block";
	window.print();
}
/* ----------------------------------------------------- */
/* noConflict*/
/* ----------------------------------------------------- */
var $j =jQuery.noConflict();

/* ----------------------------------------------------- */
/* jquery ロード*/
/* ----------------------------------------------------- */
$j(function(){

	/* aタグクリック時の枠線無効に */
	/* ----------------------------------------------------- */
	$j('a').focus(
		function(){
		this.blur();
	});

	/* 関数Call */
	/* ----------------------------------------------------- */
		/* 検索フリーワードのフォーカス */
		formUtility('#side #search li input','#side #search li.btn input');

		/* 商品詳細画像スワップ */
		SwapImg('#thum a','#detail-main dt.pic')

		/* 商品詳細 関連商品4点ごとに高さ揃える */
		flat('#related-product dd.wrap','dl',4)
		
		//サイトマップ　カテゴリーで探す　3つごとに高さ揃える
		flat('#sitemap-wrap div.cat-list','dl',3);

		//着物のお仕立てトップ　メニュー2つごとに高さ揃える
		flat('#info-article div.tailor-index','dd.txt',2);

		//ご利用方法トップ　メニュー2つごとに高さ揃える
		flat('#guide-index','dl',2);

		//相互リンクソースコピー
		linkFunc('#info-article p.code textarea');
		
		//日展出品作品画像拡大
		zoomPhoto('#work-history p.pic a');
			
		//ポップアップウィンドウを開く
		popupWindow('#wrap a.open-back-cloth',700,800,'backCloth');
		popupWindow('#wrap a.open-size',700,800,'size');

		// PHPのSSLから抜け出す
		systemNotssl('#wrap div.system-ssl');
		
		// 静的ページSSLから抜け出す
		notssl('#wrap div.static-ssl');

	/* グローバルナビ　カレントページのボタン変更（ロールオーバー部分の前に記載する） */
	/* ----------------------------------------------------- */
	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, '-o'+ftype);
		$activeObj.attr('src', hsrc);
	}

	/* ロールオーバー */
	/* ----------------------------------------------------- */
	$j('img.over').not('[src*="-o."]').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('#cls img').click(function(){
		window.close();
	});

	/* addclass */
	/* ----------------------------------------------------- */
	$j('#contents-nav dl:first-child').addClass('first-c');
	$j('#contents-nav dl:last-child').addClass('last-c');
	$j('#news dd dl:odd').addClass('odd');
	$j('#guide-article dl.ol-note01').each(function(){
		$j('dt',this).each(function(i){
			var num = 'no0'+(i+1);
			$j(this).addClass(num)													
		});
	});
});

/* ----------------------------------------------------- */
/*　ページ内スクロール用　*/
/* ----------------------------------------------------- */
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 formUtility = function(obj,submitBtn) {
	var obj = $j(obj),
			submitBtn = $j(submitBtn),
			defaultVal = obj.val();
	if(obj.size()!==0){
		
		if(defaultVal===''){
			obj.val(defaultVal);															
		}		

		obj.focus(function(){
			if($j(this).val()===defaultVal){
				$j(this).val('');															
			}
		});
		obj.blur(function(){
			if($j(this).val()===''){
				$j(this).val(defaultVal);															
			}
		});
	
		submitBtn.click(function(){
			$j(this).parents('form').find('.ex-txt').each(function(){
				if($j(this).val()===defaultVal){
					obj.val('');															
				}
			});
		});

		$j(window).bind("beforeunload", function(e){
			obj.val(defaultVal).blur();
		});
	
		$j('input[type=text],input[type=password],textarea').focus(function(){
			$j(this).addClass('focus');															
		});
		$j('input[type=text],input[type=password],textarea').blur(function(){
			$j(this).removeClass('focus');															
		});
	}
}

/* ----------------------------------------------------- */
/* SWFObject呼び出し */
/* ----------------------------------------------------- */
var setFlash = function (width, height) {
	var loc = $j('#gnav li:eq(0) a').attr('href').split('index.php')[0];
	var so = new SWFObject(loc+"calendar.swf", "京都着物販売・お仕立て「京のきもの屋さん」", width, height, "8", "#FFF");
	so.addParam("wmode", "opaque");
	so.addParam("allowScriptAccess", "sameDomain");
	so.write("fla");
}

/* ----------------------------------------------------- */
/* スワップ */
/* ----------------------------------------------------- */
var SwapImg = function(href,mainImg){
	/* プリロード */
	$j(href).each(function(i){				
		var siPreLoad = new Array();
		var src = $j(this).attr('href');
		siPreLoad[i] = new Image();
		siPreLoad[i].src = src;
	});
	/* クリック */
	$j(href).click(function(){
		src = $j(this).attr('href');
		$j(mainImg).find('img').attr('src',src);
		return false;
	});
}

/* ----------------------------------------------------- */
/* 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() {
				$j(this).flatHeights();
		});
		sets = [], temp = [];
}

/* ----------------------------------------------------- */
/* リンクソースコピー　*/
/* ----------------------------------------------------- */
var linkFunc  = function(obj){	
	$j(obj).click(function(){
		$j(this).select();																		 
	})
	.focus(function(){
		$j(this).select();																			 
	});
};

/* ----------------------------------------------------- */
/* ポップアップウィンドウ開く */
/* ----------------------------------------------------- */
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 zoomPhoto = function(obj){
		//表示画像の幅・高さ取得　自身にclass付加（cashImg0'+(i+1)）
		$j(obj).each(function(i){
			var bigPhotosrc = $j(this).attr('href');
			$j(this).addClass('cashImg0'+(i+1))
			var cashImg = '<img src="'+ bigPhotosrc + '" class="cashImg" id="cashImg0'+(i+1)+'" />'
			$j("body").append(cashImg);
		});
		
		$j(obj).click(function(i){
			//IEはselect非表示に
			if(jQuery.browser.msie){
				$j('select').css('visibility','hidden');
			}
			
			//自身のクラスから表示する画像が格納されている非表示の要素のID取得
			var tar = '#'+$j(this).attr('class').split(' ')[1];
			
			//拡大画像のパス
			var bigPhotosrc = $j(this).attr('href');
			var bigPhoto = '<p id="zoomPhoto"><img src="'+ bigPhotosrc + '" /><span id="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 = $j('body').scrollTop();
			}
			if ( undefined !== window.Components) { //Firefox
				var top = $j('html').scrollTop();
			}
			if ( jQuery.browser.msie && !(jQuery.browser.version < 7)) { // over IE6
				var top = $j('html').scrollTop();
			}
			if(undefined !== window.opera && "function" === typeof window.opera.version){ // opera
				var top = $j('html').scrollTop();
			}
			if ( jQuery.browser.msie && jQuery.browser.version == 6) { // under IE6
				var top = $j('body').scrollTop();
			}
			var left = $j(window).width();

			//zoomPhotoが存在しない場合
			if($j('#zoomPhoto').size()===0){
				//拡大画像読み込み完了
				if(aPreLoad.complete){
					$j("body").append(bigPhoto);
					$j('#zoomPhoto').css('left',Math.floor((left-$j('#zoomPhoto').width())/ 2)).css('top',Math.floor(top+($j(window).height()-$j('#zoomPhoto').height())/ 2)).find('img').attr('alt','クリックで写真を閉じます');
				}
				//拡大画像読み込み未完了
				else{
					$j("body").append(loading);
					$j('#zoomPhoto').css('left',Math.floor((left-$j('#zoomPhoto').width())/ 2)).css('top',Math.floor(top+($j(window).height()-$j('#zoomPhoto').height())/ 2));
					//画像読み込み完了時に差し替え
					aPreLoad.onload = function(){
						$j('#zoomPhoto').remove();
						$j("body").append(bigPhoto);
					$j('#zoomPhoto').css('left',Math.floor((left-$j('#zoomPhoto').width())/ 2)).css('top',Math.floor(top+($j(window).height()-$j('#zoomPhoto').height())/ 2)).find('img').attr('alt','クリックで写真を閉じます');
					}
				}
			}
			//zoomPhotoが存在する場合
			else{
				$j('#zoomPhoto').remove();
				$j("body").append(bigPhoto);
					$j('#zoomPhoto').css('left',Math.floor((left-$j('#zoomPhoto').width())/ 2)).css('top',Math.floor(top+($j(window).height()-$j('#zoomPhoto').height())/ 2)).attr('alt','クリックで写真を閉じます');
			}
			return false;
		});
		
		//zoomPhotoクリックで閉じる
		$j('#close').live("click", function(){
			$j('#zoomPhoto').remove();													 
				$j('select').css('visibility','visible');
		});
}

/* ----------------------------------------------------- */
/* システムページSSLから抜け出す*/
/* ----------------------------------------------------- */
var systemNotssl=	function(obj){
	if($j(obj).size()===1){
		var before_uri = 'https:';
		var after_uri = 'http://';
		var mailTo = 'mailto:';
		var siteurl = 'http://www.tange-shin.net';
		
		$j("a").each(function() {												 
			var href = $j(this).attr('href');
			if(href==undefined ||  href.indexOf(mailTo)!=-1)return
			if(href.indexOf(before_uri)==-1 && href.indexOf(after_uri)==-1){//絶対パスとSSLパス含まず
				if(href.indexOf('#')!==0){
					var newHref = href.replace(href,siteurl+href);
					$j(this).attr('href',newHref);
				}
			}
		});
	}
}

/* ----------------------------------------------------- */
/* 静的ページSSLから抜け出す*/
/* ----------------------------------------------------- */
var notssl=	function(obj){
	if($j(obj).size()===1){
		var before_uri = 'https:';
		var after_uri = 'http://';
		var mailTo = 'mailto:';
		var siteurl = 'http://www.tange-shin.net/';
		
		$j("a").each(function() {												 
			var href = $j(this).attr('href');
			if(href==undefined ||  href.indexOf(mailTo)!=-1)return
			if(href.indexOf(before_uri)==-1 && href.indexOf(after_uri)==-1){//絶対パスとSSLパス含まず
				if(href.indexOf('../')!=-1){//相対パスで../を含む場合
					var href = href.substring(href.lastIndexOf('../')+3, href.length);
					var newHref = href.replace(href,siteurl+href);
					$j(this).attr('href',newHref);
				}
				else if(href.indexOf('html#')!=-1 || href.indexOf('#')==-1){//ページ内アンカー除くページ
					$j(this).attr('href',siteurl+ 'info/'  +href);
				}
			}
		});
	}
}

