
//
// ============================
//  file name : common.js
//  @require : jquery-1.3.2.min.js
//  author : staff015
// ============================
//


/////////////////////////////////////////////////////////////////////////////////////////

j$(document).ready(function(){
	
	// サイドバーのアコーディオン設定
	if(!j$("dl#localNavi").length) return;
	
	j$("dl#localNavi dd ul").hide();
	j$("dl#localNavi dd ul.active").show();
	
	// click
	j$("dl#localNavi dd").click(
		
		function(){
			if (j$(this).children("ul").is(".active")) {
				j$("dl#localNavi dd ul.active").show();
			} else {
				j$(this).children("ul").stop().toggle(400);
			}
		}		
	);
});

/////////////////////////////////////////////////////////////////////////////////////////

// サイト内検索初期設定
function setSearchBox(){
	
	if(!j$("div#header div.search p.searchText input")[0].value == "")
	{
		j$("div#header div.search p.searchText input").addClass("focus");
	}
	
	// focus
	j$("div#header div.search p.searchText input").focus(
		function(){
			if(this.value.length < 0) return;
			j$(this).addClass("focus");
		}
	);
	
	// blur	
	j$("div#header div.search p.searchText input").blur(
		function(){
			if(this.value.length > 0) return;
			j$(this).removeClass("focus");
		}
	);

}

/////////////////////////////////////////////////////////////////////////////////////////

// 子エレメントの最後に.lastを設定
function initLastChild(){
	var tmp = j$("*[class*='setLastChild']");
	if (tmp.length == 0) { return; };
	jQuery.each(tmp, function(){
		j$(this).children(':last-child').addClass('last');
	});
}

/////////////////////////////////////////////////////////////////////////////////////////

// 画像のhover設定
function initRollovers() {
	if (!document.getElementById) { return; };
	
	var aPreLoad = new Array();
	var sTempSrc;
	var aImages = document.getElementsByTagName('img');

	for (var i = 0; i < aImages.length; i++)
	{		
		if (aImages[i].className == 'hover')
		{
			var src = aImages[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_on'+ftype);

			aImages[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
			
			//alert(aImages[i].parentNode.nodeName);
			if (aImages[i].parentNode.nodeName == "A")	
			{
				aImages[i].onmouseover = function()
				{
					sTempSrc = this.getAttribute('src');
					this.setAttribute('src', this.getAttribute('hsrc'));
				}	
				
				aImages[i].onmouseout = function()
				{
					if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_on'+ftype, ftype);
					this.setAttribute('src', sTempSrc);
				}
			}
		}
	}
}

/////////////////////////////////////////////////////////////////////////////////////////

// popupWindow ver1.2
function popupWindow (url, width, height, option, windowName)
{	
	if (!width) width = window.innerWidth || document.documentElement.clientWidth;
	if (!height) height = window.innerHeight || document.documentElement.clientHeight;
	if (!option) option = 'menubar=yes, toolbar=yes, location=yes, status=yes, scrollbars=yes, resizable=yes';
	if (!windowName) windowName = "popup";
	var x = (screen.availWidth - width)/2;
	var y = (screen.availHeight - height)/4;
	var o = option+', width='+width+', height='+height+', left='+x+', top='+y;
	var blockMessage = "ウィンドウがお使いのブラウザでポップアップブロックされました。\nポップアップブロックを解除してください。";
	var win = window.open(url, windowName, o);
	if (win)
	{
		win.focus();
	} else {
		alert(blockMessage);
	}
}

/////////////////////////////////////////////////////////////////////////////////////////

function init(){
	initLastChild();
	initRollovers();
	setSearchBox();
}

//addLoadEvent
function addLoadEvent(func) {
	if (typeof window.addEventListener == 'function') {
		window.addEventListener('load', func, false);
		return true;
	} else if (typeof window.attachEvent == 'object') {
		window.attachEvent('onload', func);
		return true;
	}
	
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

addLoadEvent(init);
