window.onload = function(){
	changeImage.attach();
	addIcon.attach();
}

var pullDown = {
	setting: {
		showPosition: '29px',
		hidePosition: '-1000px',
		targetElementID: 'main-menu'
	},
	show: function(LI){
		LI.className = 'onFocus';
		if(LI.getElementsByTagName('ul')[0]){
			LI.getElementsByTagName('ul')[0].style.top =  this.setting.showPosition;
		}
	},
	hide: function(LI){
		LI.className = 'onBlur';
		if(LI.getElementsByTagName('ul')[0]){
			LI.getElementsByTagName('ul')[0].style.top = this.setting.hidePosition;
		}
	},
	setEvent: function(){
		var targetEle = document.getElementById(this.setting.targetElementID);
		var lists = targetEle.getElementsByTagName('li');
		var anchors = targetEle.getElementsByTagName('a');
		var liOverFunc = 'pullDown.show(this)';
		var liOutFunc = 'pullDown.hide(this)';
		var aFocusFunc = 'pullDown.show(this.parentNode)';
		var aBlurFunc = 'pullDown.hide(this.parentNode)';
		var aFocusFuncSub = 'pullDown.show(this.parentNode.parentNode.parentNode)';
		var aBlurFuncSub = 'pullDown.hide(this.parentNode.parentNode.parentNode)';
		for(var i = 0; i < lists.length; i++){
			if(lists[i].parentNode.className != 'sub'){
				util.setEvent(lists[i],'onmouseover',liOverFunc);
				util.setEvent(lists[i],'onmouseout',liOutFunc);
			}
		}
		for(var i = 0; i < anchors.length; i++){
			if(anchors[i].parentNode.parentNode.className != 'sub'){
				util.setEvent(anchors[i],'onfocus',aFocusFunc);
				util.setEvent(anchors[i],'onblur',aBlurFunc);
			}else{
				util.setEvent(anchors[i],'onfocus',aFocusFuncSub);
				util.setEvent(anchors[i],'onblur',aBlurFuncSub);
			}
		}
	}
}

var changeImage ={
	attach: function(){
		var preloadImg = new Object();
		var preNum = 0;
		var images = document.getElementsByTagName('img');
		for(var i = 0,num = images.length;i < num; i++){
			var img = images[i];
			var imgSrc = img.src;
			if(imgSrc.indexOf('_f.') > -1 && img.parentNode.href){
				var newImgSrc = imgSrc.split('_f.')[0] + '_h.' + imgSrc.split('_f.')[1];

				preloadImg[preNum] = new Image();
				preloadImg[preNum].src = newImgSrc;

				var funcOnImg = 'changeImage.action(this,\'' + newImgSrc + '\')\;return false\;';
				var funcOutImg = 'changeImage.action(this,\'' + imgSrc + '\')\;return false\;';
				
				util.setEvent(img.parentNode,'onmouseover',funcOnImg);
				util.setEvent(img.parentNode,'onmouseout',funcOutImg);
				preNum++;
			}
		}
	},
	action: function(eventAnchor,imgSrc){
		eventAnchor.getElementsByTagName('img')[0].src = imgSrc;
	}
}

var fontChangeScript = {
	sizeSet: {
		'fontSmall'		:	'90%',
		'fontMidium'	:	'100%',
		'fontLarge'		:	'120%'
	},
	makeButton: function(){
		if(this.setSize){
			if(this.setSize == this.sizeSet.fontSmall){
				var dd1 = '<a id="small" class="onFocus" href="#" onclick="fontChangeScript.buttonAction(\'' + this.sizeSet.fontSmall + '\',this);return false;"></a>'
			}else{
				var dd1 = '<a id="small" class="noFocus" href="#" onclick="fontChangeScript.buttonAction(\'' + this.sizeSet.fontSmall + '\',this);return false;"></a>'
			}
			if(this.setSize == this.sizeSet.fontMidium){
				var dd2 = '<a id="normal" class="onFocus" href="#" onclick="fontChangeScript.buttonAction(\'' + this.sizeSet.fontMidium + '\',this);return false;"></a>'
			}else{
				var dd2 = '<a id="normal" class="noFocus" href="#" onclick="fontChangeScript.buttonAction(\'' + this.sizeSet.fontMidium + '\',this);return false;"></a>'
			}
			if(this.setSize == this.sizeSet.fontLarge){
				var dd3 = '<a id="large" class="onFocus" href="#" onclick="fontChangeScript.buttonAction(\'' + this.sizeSet.fontLarge + '\',this);return false;"></a>'
			}else{
				var dd3 = '<a id="large" class="noFocus" href="#" onclick="fontChangeScript.buttonAction(\'' + this.sizeSet.fontLarge + '\',this);return false;"></a>'
			}
		}else{
			var dd1 = '<a id="small" href="#" class="noFocus" onclick="fontChangeScript.buttonAction(\'' + this.sizeSet.fontSmall + '\',this);return false;"></a>'
			var dd2 = '<a id="normal" href="#" class="onFocus" onclick="fontChangeScript.buttonAction(\'' + this.sizeSet.fontMidium + '\',this);return false;"></a>'
			var dd3 = '<a id="large" href="#" class="noFocus" onclick="fontChangeScript.buttonAction(\'' + this.sizeSet.fontLarge + '\',this);return false;"></a>'
		}
		var changeItem = dd1 + dd2 + dd3;
		document.write(changeItem);

	},
	buttonAction: function(size,bAnchor){
		var body = document.getElementsByTagName('body')[0];
		if(body){
			body.style.fontSize = size;
		}
		var buttons = bAnchor.parentNode.getElementsByTagName('a');
		for(var i = 0, num = buttons.length; i < num; i++){
			buttons[i].className = 'noFocus';
		}
		bAnchor.className = 'onFocus'
		
		var fontDate = new Date();
		fontDate.setTime(fontDate.getTime() + (7*24*60*60*1000));
		document.cookie = 'font-size=' + size + '; path=/; expires=' + fontDate.toGMTString();
	},
	checkCookie: function(){
		if(document.cookie.indexOf('font-size=') >= 0){
			var cookieAll = document.cookie + ';'
			var cookieF = cookieAll.indexOf('font-size=');
			var cookieE = cookieAll.indexOf(';',cookieF);
			var fontSizeData = cookieAll.substring(cookieF,cookieE);
			this.setSize = fontSizeData.split('=')[1];
			document.write('<style type="text/css">body {font-size: ' + this.setSize + ';}</style>');
		}
	}
}

fontChangeScript.checkCookie();


var addIcon = {
	setting: {
		fileType: 'doc,xls,pdf,txt',
		fileTypeName: {
			doc: 'ワードファイル',
			xls: 'エクセルファイル',
			pdf: 'PDFファイル',
			txt: 'テキストファイル'
		},
		newWinIconBase: 'win',
		newWinIconText: '新しいウィンドウを開きます',
		checkArea: 'main-contents',
		iconSize: '16x16',
		iconDir: '/images/',
		iconNameBase: 'icon_xxx.gif'
	},
	attach : function(){
		if(document.getElementById(this.setting.checkArea)){
			var as = document.getElementById(this.setting.checkArea).getElementsByTagName('a');
			var fileTypes = this.setting.fileType.split(',');
			var iconSizeW = this.setting.iconSize.split('x')[0];
			var iconSizeH = this.setting.iconSize.split('x')[1];
			for(var i = 0; i < as.length; i++){
				if(as[i].getElementsByTagName('img').length == 0){
					if(as[i].target == '_blank'){
						var iconSrc = this.setting.iconDir + this.setting.iconNameBase.split('xxx')[0] + this.setting.newWinIconBase + this.setting.iconNameBase.split('xxx')[1];
						var iconText = this.setting.newWinIconText;
						var icon = '<img src="' + iconSrc + '" width="' + iconSizeW + '" height="' + iconSizeH + '" alt="' + iconText + '" title="' + iconText + '" />';
						as[i].innerHTML = icon + as[i].innerHTML;
					}
					var ahref = as[i].href;
					var fileType = ahref.split('.')[ahref.split('.').length-1];
					for(var j = 0; j < fileTypes.length; j++){
						if(fileType == fileTypes[j]){
							var iconSrc = this.setting.iconDir + this.setting.iconNameBase.split('xxx')[0] + fileType + this.setting.iconNameBase.split('xxx')[1];
							var iconText = this.setting.fileTypeName[fileType];
							var icon = '<img src="' + iconSrc + '" width="' + iconSizeW + '" height="' + iconSizeH + '" alt="' + iconText + '" title="' + iconText + '" />';
							as[i].innerHTML = icon + '&nbsp\;' + as[i].innerHTML;
						}
					}
				}
			}
		}
	}
}


var util = {
	setEvent: function(obj,eventType,func){
		if(this.isIE) {
			obj.setAttribute(eventType,new Function(func));
		} else {
			obj.setAttribute(eventType,func);
		}
	},
	isIE: (document.documentElement.getAttribute("style") == document.documentElement.style)
}

var trace = function(t){
	var traceBox = document.createElement('div')
	document.getElementsByTagName('body')[0].appendChild(traceBox);
	traceBox.style.textAlign = 'left';
	traceBox.appendChild(document.createTextNode(t));
}

function MM_openBrWindow(theURL,winName,features)
{
	window.open(theURL,winName,features);
}
