/***************************************
Global Navigation
URI: http://blog.lunatic-code.net
***************************************/

DIR = "http://global-kentei.jp/images/";	// 画像ディレクトリ
EXT = ".gif";	// 画像拡張子
flg = 0;		// 画像読み込みフラグ
debug=0;		// デバッグ


/* 初期化 */
$(function(){
	if(debug){$(document.body).append($('<div id="debug_info"></div>'));}
	listToImg("#gnavi");
});


/* 画像に置き換える */
function listToImg(id){
	flg = 0;
	var elm = [];
	var newElm = [];
	$(id+" li a").each(
		function(i){
		elm[i]=$(this);
	});

	$(elm).each(
		function(i){
			ct=$(elm[i]).parent().attr("id");
			url = DIR+ct+EXT;
			var p = [];
			p[i]=new Image();
			p[i].src=Math.random();		// IE Imageオブジェクトバグ対策
			p[i].src=url;
			var alt= $(elm[i]).text();
			$(elm[i]).empty();
			//$("#debug_info").append($('<p>p['+i+'] width='+p[i].width+' height='+p[i].height+'</p>'));
			// 画像の縦横サイズが取得出来てなければ読み込む
			if(p[i].width==0 &&p[i].height==0){
				$(elm[i]).append($("<img>").attr("src",p[i].src).attr("alt",alt));	// 一旦縦横サイズなしで設定してやる
				p[i].onload = function(){
					p[i].onload = null;
					newElm[i]='<img src="'+p[i].src+'" width="'+p[i].width+'" height="'+p[i].height+'" alt="'+alt+'" />'	// 縦横サイズ取得したらバッファに入れる
					flg++;
					// 全て読み込みが終わったら、リストを一気に書き換える
					if(flg==$(id+" li a").length){
						$(elm).each(
							function(i){
								$(elm[i]).empty();
								$(elm[i]).append($(newElm[i]));
								//$("#debug_info").append($('<p>newElm['+i+'] width='+$(newElm[i]).attr("width")+' height='+$(newElm[i]).attr("height")+'</p>'));
							}
						);
						//$("#debug_info").append($("<p>画像ロード時 hover</p>"));
						// 全て書き換えたらhover処理呼び出し(画像ロード時)
						imghover("#gnavi");
					}
				}
			}else{			// 画像の縦横サイズが取得出来てれば、そのまま設定
				$(elm[i]).append($("<img>").attr("src",p[i].src).attr("width",p[i].width).attr("height",p[i].height).attr("alt",alt));
			}
		}
	);
	// 全て書き換えたらhover処理呼び出し(画像キャッシュロード時or縦横サイズ未取得時)
	if(flg==0&&elm[0].width!=0&&elm[0].height!=0){
		//$("#debug_info").append($("<p>画像キャッシュロード時or縦横サイズ未取得時 hover</p>"));
		imghover("#gnavi");
	}
}

/* hover処理 */
function imghover(id){
	//$("#debug_info").append($("<p>flg="+flg+" imghover実行</p>"));

	// リンク先ディレクトリチェック
	var uri = location.href.split('#')[0];
	var file= uri.substring(uri.lastIndexOf('/',uri.length)+1,uri.length);
	if(file.length>0){
		uri = uri.split(file)[0];
	}
	var elm = [];
	var gLinks=new Image();
	$(id+" li a img").each(
		function(i){
		elm[i]=$(this);
	});

	// アクティブなディレクトリのhover
	$(elm).each(
		function(i){
		gLinks.src = $(elm[i]).parent().attr("href");
		if(gLinks.src ==uri){
			$(this).attr("src",$(this).attr("src").replace(EXT, "_on"+EXT));
			$(this).parent().attr("class","active");
		}
	});

	// マウスオーバー処理
	$(id+" li a img").hover(
		function(){
			if($(this).parent().attr("class")!="active"){
				$(this).attr("src",$(this).attr("src").replace(EXT, "_on"+EXT));
			}
		},
		function(){
			if($(this).parent().attr("class")!="active"){
				$(this).attr("src",$(this).attr("src").replace("_on"+EXT, EXT));
			}
		}
	);
}
/*-------------------------------------------------------------------- 
 * JQuery Plugin : "ReplaceImg"
 * version 1.0
--------------------------------------------------------------------*/

(function($){

//画像置換（HTML）
$.fn.replaceImg = function(src,settings) {
	c = $.extend({
		selector: this,
		rollover: '.over',
		postfix:'_on',
		borderSize:0,
		imgTitle:true
	}, settings);
		
	$(c.selector).each(function(){
		var imgAlt = imgtitle = (c.imgTitle)? $(this).text() : '';
		$(this).html('<img src="'+src+'" alt="'+imgAlt+'" style="border:'+c.borderSize+'" />')
			.attr('title',imgtitle);
	});

	$(c.selector).filter(c.rollover).children().each(function(){
		//srcセット
		$(this).addClass('overImg').css({border:c.borderSize});
	});

	$('.overImg').each(function(){
		rolloverSrc = $(this).attr('src').replace(/(\.gif|\.jpg|\.png)$/, c.postfix+"$1");

		//イメージセット
		$(this).clone().insertAfter(this)
			.attr('src',rolloverSrc)
			.css('display','none');

		//ロールオーバー(マウスオン時)
		$(this).mouseover(function(){
			$(this).hide();
			$(this).next().show();
		});

		//ロールオーバー(マウスアウト時)
		$(this).next().mouseout(function(){
			$(this).hide();
			$(this).prev().show();
		});
	});
};

//画像置換（CSS background-image）
$.fn.replaceBgImg = function(url,width,height,settings) {
	c = $.extend({
		selector: this,
		rollover: '.over',
		postfix:'_on',
		borderSize:0,
		bgdisplay:'block',
		bgposition:'0 0',
		bgrepeat:'no-repeat',
		imgTitle:true
	}, settings);
		
	$(c.selector).each(function(){
		var imgtitle  = (c.imgTitle)? $(this).text() : '';
		$(this).css({
			display:c.bgdisplay,
			width:width,
			height:height,
			backgroundImage:'url('+url+')',
			backgroundPosition:c.bgposition,
			backgroundRepeat:c.bgrepeat
		}).text('').attr('title',imgtitle);
		
		rolloverUrl = url.replace(/(\.gif|\.jpg|\.png)$/, c.postfix+"$1");
		
		//イメージセット
		$(this).filter(c.rollover).clone().insertAfter(this)
		.text(imgtitle)
			.css({
				backgroundImage:'url('+rolloverUrl+')',
				display:'none'
			});
		
		//ロールオーバー(マウスオン時)
		$(this).filter(c.rollover).mouseover(function(){
			$(this).hide();
			$(this).next().show().css({display:'block'}).text('');
		});
		//ロールオーバー(マウスアウト時)
		$(this).filter(c.rollover).next().mouseout(function(){
			$(this).hide();
			$(this).prev().show();
		});
	});
};
})(jQuery);
$(function(){
	$('h1 a').replaceImg('http://global-kentei.jp/images/logo.gif');
});
/*  ================================================================================
Popup window
================================================================================  */
self.name="MainWindow";
window.onload = function (){
var node_a = document.getElementsByTagName('a');
for (var i in node_a) {
if(node_a[i].className == 'popup'){
node_a[i].onclick = function() {
return winOpen(this.href, this.rel)
};
}
}
} ;
function winOpen(url, rel) {
var split = rel.split(',') ;
window.open(
url,'popup',
'width='+ split[0] +',height='+ split[1] +',toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes');
return false;
};
/*  ================================================================================
 *  jQuery Page Scroller -version 3.0.7
 *  http://coliss.com/articles/build-websites/operation/javascript/296.html
================================================================================  */
/*  ================================================================================
Option
================================================================================  */
var virtualTopId = "top",
    virtualTop,
    adjTraverser,
    adjPosition,
    callExternal = "pSc",
    delayExternal= 200;

/* option example
======================================================================  */
//  virtualTop = 0;    // virtual top's left position = 0
//  virtualTop = 1;    // virtual top's left position = vertical movement
//  adjTraverser = 0;  // left position = 0
//  adjTraverser = 1;  // horizontal movement.
//  adjPosition = -26;

/*  ================================================================================
Page Scroller
================================================================================  */
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('(c($){7 D=$.E.D,C=$.E.C,G=$.E.G,A=$.E.A;$.E.1Q({C:c(){3(!6[0])1g();3(6[0]==i)b 1b.1P||$.1q&&5.B.1e||5.f.1e;3(6[0]==5)b((5.B&&5.1p=="1l")?5.B.1i:5.f.1i);b C.1n(6,1o)},D:c(){3(!6[0])1g();3(6[0]==i)b 1b.1T||$.1q&&5.B.1v||5.f.1v;3(6[0]==5)b((5.B&&5.1p=="1l")?5.B.1m:5.f.1m);b D.1n(6,1o)},G:c(){3(!6[0])b 11;7 k=5.M?5.M(6[0].z):5.1t(6[0].z);7 j=1u 1r();j.x=k.1j;1s((k=k.1a)!=12){j.x+=k.1j}3((j.x*0)==0)b(j.x);g b(6[0].z)},A:c(){3(!6[0])b 11;7 k=5.M?5.M(6[0].z):5.1t(6[0].z);7 j=1u 1r();j.y=k.19;1s((k=k.1a)!=12){j.y+=k.19}3((j.y*0)==0)b(j.y);g b(6[0].z)}})})(1Y);$(c(){$(\'a[F^="#"]\').1d(c(){7 h=R.21+R.20;7 H=((6.F).1Z(0,(((6.F).18)-((6.X).18)))).Q((6.F).1f("//")+2);3(h.I("?")!=-1)Y=h.Q(0,(h.I("?")));g Y=h;3(H.I("?")!=-1)Z=H.Q(0,(H.I("?")));g Z=H;3(Z==Y){d.V((6.X).1V(1));b 1O}});$("f").1d(c(){d.O()})});6.q=12;7 d={14:c(w){3(w=="x")b(($(5).C())-($(i).C()));g 3(w=="y")b(($(5).D())-($(i).D()))},13:c(w){3(w=="x")b(i.17||5.f.t||5.f.J.t);g 3(w=="y")b(i.1R||5.f.1J||5.f.J.1J)},S:c(l,m,v,p,o){7 q;3(q)P(q);7 1F=16;7 L=d.13(\'x\');7 N=d.13(\'y\');3(!l||l<0)l=0;3(!m||m<0)m=0;3(!v)v=$.1I.1N?10:$.1I.1W?8:9;3(!p)p=0+L;3(!o)o=0+N;p+=(l-L)/v;3(p<0)p=0;o+=(m-N)/v;3(o<0)o=0;7 U=u.1z(p);7 T=u.1z(o);i.1X(U,T);3((u.1A(u.1w(L-l))<1)&&(u.1A(u.1w(N-m))<1)){P(6.q);i.1x(l,m)}g 3((U!=l)||(T!=m))6.q=1B("d.S("+l+","+m+","+v+","+p+","+o+")",1F);g P(6.q)},O:c(){P(6.q)},1K:c(e){d.O()},V:c(n){d.O();7 r,s;3(!!n){3(n==1L){r=(K==0)?0:(K==1)?i.17||5.f.t||5.f.J.t:$(\'#\'+n).G();s=((K==0)||(K==1))?0:$(\'#\'+n).A()}g{r=(1C==0)?0:(1C==1)?($(\'#\'+n).G()):i.17||5.f.t||5.f.J.t;s=1E?($(\'#\'+n).A())+1E:($(\'#\'+n).A())}7 15=d.14(\'x\');7 W=d.14(\'y\');3(((r*0)==0)||((s*0)==0)){7 1G=(r<1)?0:(r>15)?15:r;7 1y=(s<1)?0:(s>W)?W:s;d.S(1G,1y)}g R.X=n}g d.S(0,0)},1c:c(){7 h=R.F;7 1H=h.1f("#",0);7 1h=h.1M(1k);3(!!1h){1D=h.Q(h.I("?"+1k)+4,h.18);1S=1B("d.V(1D)",1U)}3(!1H)i.1x(0,0);g b 11}};$(d.1c);',62,126,'|||if||document|this|var||||return|function|coliss||body|else|usrUrl|window|tagCoords|obj|toX|toY|idName|frY|frX|pageScrollTimer|anchorX|anchorY|scrollLeft|Math|frms|type|||id|top|documentElement|width|height|fn|href|left|anchorPath|lastIndexOf|parentNode|virtualTop|actX|getElementById|actY|stopScroll|clearTimeout|slice|location|pageScroll|posY|posX|toAnchor|dMaxY|hash|usrUrlOmitQ|anchorPathOmitQ||true|null|getWindowOffset|getScrollRange|dMaxX||pageXOffset|length|offsetTop|offsetParent|self|initPageScroller|click|clientWidth|indexOf|error|checkPageScroller|scrollWidth|offsetLeft|callExternal|CSS1Compat|scrollHeight|apply|arguments|compatMode|boxModel|Object|while|all|new|clientHeight|abs|scroll|setY|ceil|floor|setTimeout|adjTraverser|anchorId|adjPosition|spd|setX|checkAnchor|browser|scrollTop|cancelScroll|virtualTopId|match|mozilla|false|innerWidth|extend|pageYOffset|timerID|innerHeight|delayExternal|substr|opera|scrollTo|jQuery|substring|pathname|hostname'.split('|'),0,{}));
/*  ----------------------
IE png fix
----------------------  */
if (typeof IEPNGFIX == 'undefined') {
//--============================================================================

var IEPNGFIX = {
	blank:  'http://global-kentei.jp/js/blank.gif',
	filter: 'DXImageTransform.Microsoft.AlphaImageLoader',

	fixit: function (elem, src, method) {
		if (elem.filters[this.filter]) {
			var filter = elem.filters[this.filter];
			filter.enabled = true;
			filter.src = src;
			filter.sizingMethod = method;
		}
		else {
			elem.style.filter = 'progid:' + this.filter +
				'(src="' + src + '",sizingMethod="' + method + '")';
		}
	},

	fixwidth: function(elem) {
		if (elem.currentStyle.width == 'auto' &&
			elem.currentStyle.height == 'auto') {
			elem.style.width = elem.offsetWidth + 'px';
		}
	},

	fixchild: function(elem, recursive) {
		if (!/MSIE (5\.5|6\.|7\.)/.test(navigator.userAgent)) return;

		for (var i = 0, n = elem.childNodes.length; i < n; i++) {
			var childNode = elem.childNodes[i];
			if (childNode.style) {
				if (childNode.style.position) {
					childNode.style.position = childNode.style.position;
				}
				else {
					childNode.style.position = 'relative';
				}
			}
			if (recursive && childNode.hasChildNodes()) {
				this.fixchild(childNode, recursive);
			}
		}
	},

	fix: function(elem) {
		if (!/MSIE (5\.5|6\.|7\.)/.test(navigator.userAgent)) return;

		var bgImg =
			elem.currentStyle.backgroundImage || elem.style.backgroundImage;

		if (elem.tagName == 'IMG') {
			if ((/\.png$/i).test(elem.src)) {
				this.fixwidth(elem);
				this.fixit(elem, elem.src, 'scale');
				elem.src = this.blank;
				elem.runtimeStyle.behavior = 'none';
			}
		}
		else if (bgImg && bgImg != 'none') {
			if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i)) {
				var s = RegExp.$1;
				this.fixwidth(elem);
				elem.style.backgroundImage = 'none';
				this.fixit(elem, s, 'scale'); // crop | image | scale

				if (elem.tagName == 'A' && elem.style) {
					if (!elem.style.cursor) {
						elem.style.cursor = 'pointer';
					}
				}

				this.fixchild(elem);
				elem.runtimeStyle.behavior = 'none';
			}
		}
	},

	hover: function(elem, hvImg) {
		var bgImg = elem.style.backgroundImage;

		if (!bgImg && elem.currentStyle) bgImg = elem.currentStyle.backgroundImage;

		if (elem.tagName == 'IMG' && hvImg) {
			var image = elem.src;
			elem.onmouseover = function() {
				elem.src = hvImg;
				IEPNGFIX.fix(elem);
			};
			elem.onmouseout = function() {
				elem.src = image;
				IEPNGFIX.fix(elem);
			};
		}
		else if (bgImg && bgImg != 'none' && hvImg) {
			elem.onmouseover = function() {
				elem.style.backgroundImage = 'url(' + hvImg + ')';
				IEPNGFIX.fix(elem);
			};
			elem.onmouseout = function() {
				elem.style.backgroundImage = bgImg;
				IEPNGFIX.fix(elem);
			};
		}

		IEPNGFIX.fix(elem);
	}
};

//--============================================================================
}
