
function addClass(element,value) {
	if(!element.className) {
		element.className = value;
	} else {
		newClassName = element.className;
		newClassName += ' ';
		newClassName += value;
		element.className = newClassName;
	}
}

//記事内の画像リンク、外部リンクのウィンドウ指定
function articleLinks() {
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById) return false;
	if(!document.getElementById("main_contents")) return false;
	var articles = document.getElementById("main_contents");
	var links = articles.getElementsByTagName("a");
	
	//絶対URIでも、同一ウィンドウで開くURIを指定（'keirin-pr.jp' または 'keirinss.typepad.jp'）
	var excepturi = new RegExp(/^http(s)?:\/\/+([\w-]+\.)?((keirin-pr\.jp)|(keirinss\.typepad\.jp))+(\/)?/);

	//画像の拡張子
	var format = new RegExp(/(.jpg$)|(.jpeg$)|(.jpe$)|(.gif$)|(.bmp$)|(.png$)/i);

	for (var i=0; i<links.length; i++) {
		var linkurl = links[i].getAttribute("href");
		
		//記事内の画像をポップアップウィンドウで開く
		if(links[i].getAttribute('onclick')) {
			continue;
		} else if(linkurl.match(format)) {
			links[i].onclick = function() {
				var src = this.getAttribute("href");
				popUp(src, 'image');
				return false;
			}
		};

		//外部リンクが指定されているa要素に、class="openwin"を追加
		if(links[i].getAttribute('href').match(excepturi)) {
			continue;
		} else if(links[i].getAttribute('href', 2).match(/^http(s)?:\/\//i)) {
			addClass(links[i], 'openwin');
		};
	}
}

function prepareLinks() {
	if(!document.getElementsByTagName) return false;
	var links = document.getElementsByTagName("a");
	for (var i=0; i<links.length; i++) {
		
		//新規ウィンドウで開く(class="openwin")
		if(links[i].getAttribute("className") == "openwin" || links[i].getAttribute("class") == "openwin") {
			links[i].onclick = function() {
				var src = this.getAttribute("href");
				popUp(src, 'normal');
				return false;
			}
		}
		//ポップアップウィンドウで開く(class="openwin_s")
		else if(links[i].getAttribute("className") == "openwin_s" || links[i].getAttribute("class") == "openwin_s") {
			links[i].onclick = function() {
				var src = this.getAttribute("href");
				popUp(src, 'small');
				return false;
			}
		}
	}
}

function popUp(winURL, type) {
	switch(type) {
		//新規ウィンドウのパラメータ
		case 'normal':
			var param = '';
			var wname = '';
		break;
		
		//ポップアップウィンドウのパラメータ
		case 'small':
			var w = 620;
			var h = 660;

			var param = 'width=' + w;
			param += ',height=' + h;
			param += ',resizable=0';
			param += ',toolbar=0';
			param += ',scrollbars=1';
			param += ',menubar=0';
			param += ',status=0';
			param += ',directories=0';
			param += ',location=0';
			var wname = 'popupWin';
		break;
		
		//画像ウィンドウのパラメータ
		case 'image':
			var w = 620;
			var h = 660;

			var param = 'width=' + w;
			param += ',height=' + h;
			param += ',resizable=1';
			param += ',toolbar=0';
			param += ',scrollbars=1';
			param += ',menubar=0';
			param += ',status=0';
			param += ',directories=0';
			param += ',location=0';
			var wname = 'imageWin';
		break;
	}

	var newwin = window.open(winURL,wname,param);
	newwin.focus();
}

//画像マウスオーバー
/*
	Standards Compliant Rollover Script
	Author : Daniel Nolan
	http://www.bleedingego.co.uk/webdev.php
*/

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 == 'imgover') {
			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;
			
			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);
			}
		}
	}
}

//window.onloadの待ち行列
function addLoadEvent(func) {
	var oldonload = window.onload;
	if(typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

addLoadEvent(articleLinks);
addLoadEvent(prepareLinks);
addLoadEvent(initRollovers);
