/*
 * yuga.js 0.1.0 - 優雅なWeb制作のためのJS
 *
 * Copyright (c) 2006 Kyosuke Nakamura (kyosuke.jp)
 * Licensed under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * Since:     2006-10-30
 * Modified:  2006-11-15
 
 改変kakehashi
 2007-03-15
 
リンクに絶対パスが含まれているときは、すべて外部リンクになるため、notを使うことで回避する
.not('[@href^="http://localhost/"]')


 
 */


var yuga = {
	preloader: {
		loadedImages: [],
		load: function (url){
			var img = this.loadedImages;
			var l = img.length;
			img[l] = new Image();
			img[l].src = url;
		}
	},
	uri: {
		dirName: function(uri){
			var ary = uri.split('/');
			ary.pop();
			return ary.join('/');
		},
		path: function (uri){
			return uri.split('#')[0];
		},
		anchorName: function (uri){
			return uri.split('#')[1];
		},
		isSelfLink: function(href){
			return ((this.path(href) == this.path(location.href)) || (this.path(href) == this.dirName(location.href)+'/'));
		}
	}
};

$(function(){
	
	//リンク画像はロールオーバーを設定
	$('a img.btn').each(function(){
								
		this.originalSrc = this.src;
		this.rolloverSrc = this.originalSrc.replace(/(\.gif|\.jpg|\.png)/, "_on$1");
		yuga.preloader.load(this.rolloverSrc);
	}).hover(function(){
		this.src = this.rolloverSrc;
	},function(){
		this.src = this.originalSrc;
	});

	//現在のページへのリンク
	$('a').each(function(){
		if (yuga.uri.isSelfLink(this.href) && !yuga.uri.anchorName(this.href)) {
			$(this).addClass('current');
			//img要素が含まれていたら現在用画像に設定
			$(this).find('img').each(function(){
				//ロールオーバーが設定されていたら削除
				$(this).unbind('mouseover');
				$(this).unbind('mouseout');
				//this.currentSrc = this.getAttribute('src').replace(/(\.gif|\.jpg|\.png)/, "_cr$1");
				//this.src = this.currentSrc;
			});
		}
	});

	//外部リンクは別ウインドウを設定
	/*$('a[@href^="http://"]').not('[@href^="http://localhost/"]').click(function(){
		window.open(this.href, '_blank');
		return false;
	}).addClass('externalLink');*/
	
//	//ページ内リンクはするするアニメーション
//	$('a[@href^="#"]').click(function(){
//		var href = yuga.uri.anchorName(this.href);
//		$('#'+href).ScrollTo(500,'easeout');
//		return false;
//	});

	//画像へ直リンクするとthickboxで表示
	$('a[@href$=".jpg"]').add('a[@href$=".gif"]').add('a[@href$=".png"]').click(function(){
		var t = this.title || this.name || null;
		var g = this.rel || false;
		TB_show(t,this.href,g);
		this.blur();
		return false;
	});


	//奇数と偶数でクラス付与
	//oddEvenAdder("table.generalTbl","tr");
	//oddEvenAdder("table.formTable","tr");
	
	//topのcss設定
	if ($("div#topFlash").attr("id") == "topFlash") {
		$("div#container").addClass("index").removeClass("containerClass");
	}
	
	//2カラムのときの背景画像指定
	//div#secondaryがあればdiv#containerのクラスに"2ColBg"を追加
	if ($("div#secondary").attr("id") == "secondary") {
		$("div#container").addClass("twoCol").removeClass("containerClass");
		//$("div#container").css({background: "url(../img/container_bg.png) repeat-y left top #ccc" });
		
	}
	
	
	
	/*  トップページ ブランドトピックス、クリア要素の追加
	-----------------------------------*/	
	loopClear("div#topBrand","id","topBrand","dl","2","lastChild",'<div class=\"jsClear\"></div>');
	
	/*if($("div#topFlash") != undefined) {
		var so = new SWFObject("images/topdir/index/top.swf", "topFlash", "546", "214", "7", "#fff");
		so.write("topFlash");
	}*/
	
	/*  カテゴリリスト、クリア要素の追加
	-----------------------------------*/	
	loopClear("ul#catList","id","catList","li","3","lastChild",'<li class=\"jsClear\"></li>');
	
	
	/*  ご利用ガイド 5つ目のdlにlastchildクラス追加、クリア要素の追加
	-----------------------------------*/	
	loopClear("div#related","id","related","dl","5","lastChild",'<div class=\"jsClear\"></div>');
	loopClear("div#users","id","users","dl","5","lastChild",'<div class=\"jsClear\"></div>');
	
	/*  検索結果 サムネイル表示もdlのクリア
	-----------------------------------*/
	loopClear("div.searchResult","class","searchResult","dl","3","lastChild",'<div class=\"jsClear\"></div>');
	
	/*  qaのクリア
	-----------------------------------*/
	//loopClear("ul.qaSummary","class","qaSummary","li","2","lastChild",'<li class=\"jsClear\"></li>');
	
	/*  検索結果 一覧表示を交互に色違いにする
	-----------------------------------*/
	oddEvenAdder("ul.resultList", "li");



});


/*  チェッカ
-----------------------------------*/
function classCheck (parent,attrType) {
	alert($(parent).attr(attrType)) ;
}


/*  偶数と奇数クラスを追加する関数
-----------------------------------*/
function oddEvenAdder (parentElm, targetElm) {
	var oddText = targetElm + ":odd";
	var evenText = targetElm + ":even";
	$(parentElm).each(function(){
		$(this).find(oddText).addClass('even');
		$(this).find(evenText).addClass('odd');
	});
}



/*  ループ時にlastChild系とクリア系を挿入
-----------------------------------*/
function loopClear(parent,attrType, attrName, target,colNum, addClassName, appChild) {
	if($(parent).attr(attrType) == attrName || $(parent).attr(attrType) == $(parent).attr("class")) {
		var len = 1;
		var targetPath = parent + ' '+ target;
		$(targetPath).each(function(){
			if(len%colNum==0) {
				$(this).addClass(addClassName);
				$(this).after(appChild);
			}
			len++;
		});
		
	} 
}