
/* ****************************************************************** 

	COPYRIGHT(C) CYBRiDGE CORPORATION.
	URL: http://www.cybridge.jp/

****************************************************************** */

window.onload = function() {
	
	//class blankで新しいウィンドウ
	var node_a = document.getElementsByTagName('a');
	for (var i in node_a) {
		if (node_a[i].className == 'blank') {
			node_a[i].onclick = function() {
			window.open(this.href, '', '');
			return false;
			};
		};
	};
	//class headimageで画像生成
	var elements = document.getElementsByClassName('headimage');
	for(j=0;j<elements.length;j++){
					var element = elements[j];
					var text    = element.innerHTML;

					element.innerHTML = '';
					element.style.backgroundImage  = 'url(/common/headimage/headimage.php?text='+ encodeURI(text) +')';
					element.style.backgroundRepeat = 'no-repeat'

					var spanObj = document.createElement("span");
					spanObj.style.visibility = "hidden";
					spanObj.innerHTML = text;
					element.appendChild(spanObj);
	}
	//ページスクロール
	tinyScrolling.init();
};


//ページスクロール

/* Tiny Scrolling - a smooth navigation between internal links and their destinations
by Marco Rosella - http://www.centralscrutinizer.it/en/design/js-php/tiny-scrolling
based on the works by Travis Beckham and Brian McAllister.
                v0.3 - March 27, 2006
*/

var tinyScrolling = {
	speed : 25,      //set here the scroll speed: when this value increase, the speed decrease. 
	maxStep: 150,	 //set here the "uniform motion" step for long distances
	brakeK: 3,		 //set here the coefficient of slowing down
	hash:null,		
	currentBlock:null,
	requestedY:0,
	init: function() {
			var lnks = document.getElementsByTagName('a');   
			for(var i = 0, lnk; lnk = lnks[i]; i++) {   
				if ((lnk.href && lnk.href.indexOf('#') != -1) &&  ( (lnk.pathname == location.pathname) ||
				('/'+lnk.pathname == location.pathname) ) && (lnk.search == location.search)) {  
				lnk.onclick = tinyScrolling.initScroll;   		
				}   
			}
	},
	getElementYpos: function(el){
			var y = 0;
			while(el.offsetParent){  
				y += el.offsetTop    
				el = el.offsetParent;
			}	return y;
	},		
	getScrollTop: function(){
			if(document.all) return (document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
			else return window.pageYOffset;   
	},	
	getWindowHeight: function(){
			if (window.innerHeight)	return window.innerHeight;
			if(document.documentElement && document.documentElement.clientHeight) return document.documentElement.clientHeight;
	},
	getDocumentHeight: function(){
			if (document.height) return document.height;
			if(document.body.offsetHeight) return document.body.offsetHeight;
	},
	initScroll: function(e){
			var targ;  
			if (!e) var e = window.event;
			if (e.target) targ = e.target;
			else if (e.srcElement) targ = e.srcElement;   
			tinyScrolling.hash = targ.href.substr(targ.href.indexOf('#')+1,targ.href.length); 
			tinyScrolling.currentBlock = document.getElementById(tinyScrolling.hash);   
			if(!tinyScrolling.currentBlock) return;
			tinyScrolling.requestedY = tinyScrolling.getElementYpos(tinyScrolling.currentBlock); 
			tinyScrolling.scroll();  
			return false;
	},
	scroll: function(){
			var top  = tinyScrolling.getScrollTop();
			if(tinyScrolling.requestedY > top) {  
				var endDistance = Math.round((tinyScrolling.getDocumentHeight() - (top + tinyScrolling.getWindowHeight())) / tinyScrolling.brakeK);
				endDistance = Math.min(Math.round((tinyScrolling.requestedY-top)/ tinyScrolling.brakeK), endDistance);
				var offset = Math.max(2, Math.min(endDistance, tinyScrolling.maxStep));
			} else { var offset = - Math.min(Math.abs(Math.round((tinyScrolling.requestedY-top)/ tinyScrolling.brakeK)), tinyScrolling.maxStep);
			} window.scrollTo(0, top + offset);  
			if(Math.abs(top-tinyScrolling.requestedY) <= 1 || tinyScrolling.getScrollTop() == top) {
				window.scrollTo(0, tinyScrolling.requestedY);
				if(!document.all || window.opera) location.hash = tinyScrolling.hash;
				tinyScrolling.hash = null;
			} else 	setTimeout(tinyScrolling.scroll,tinyScrolling.speed);
	}		
}

//class headimageで画像生成
if( typeof html5jp == 'undefined' ) {
	html5jp = new Object();
}
if( typeof html5jp.dom == 'undefined' ) {
	html5jp.dom = new Object();
}
html5jp.dom.getElementsByClassName = new Object();

// getElementsByClassName(className) method
html5jp.dom.getElementsByClassName.method = function(classNames) {
	var o = html5jp.dom.getElementsByClassName;
	var tokens = o._split_a_string_on_spaces(classNames);
	var tn = tokens.length;
	var nodes = this.all ? this.all : this.getElementsByTagName("*");
	var n = nodes.length;
	var array = new Array();
	if( tn > 0 ) {
		if( document.evaluate ) {
			var contains = new Array();
			for(var i=0; i<tn; i++) {
				contains.push('contains(concat(" ",@class," "), " '+ tokens[i] + '")');
			}
			var xpathExpression = "/descendant::*[" + contains.join(" and ") + "]";
			var iterator = document.evaluate(xpathExpression, this, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
			var inum = iterator.snapshotLength;
			for( var i=0; i<inum; i++ ) {
				var elm = iterator.snapshotItem(i);
				if( elm != this ) {
					array.push(iterator.snapshotItem(i));
				}
			}
		} else {
			for(var i=0; i<n; i++) {
				var elm = nodes.item(i);
				if( elm.className == "" ) { continue; }
				var class_list = o._split_a_string_on_spaces(elm.className);
				var class_name = class_list.join(" ");
				var f = true;
				for(var j=0; j<tokens.length; j++) {
					var re = new RegExp('(^|\\s)' + tokens[j] + '(\\s|$)')
					if( ! re.test(class_name) ) {
						f = false;
						break;
					}
				}
				if(f == true) {
					array.push(elm);
				}
			}
		}
	}
	// add item(index) method to the array as if it behave as a NodeList interface.
	array.item = function(index) {
		if(array[index]) {
			return array[index];
		} else {
			return null;
		}
	};
	//
	return array;
};
// split a string on spaces
html5jp.dom.getElementsByClassName._split_a_string_on_spaces = function(string) {
	string = string.replace(/^[\t\s]+/, "");
	string = string.replace(/[\t\s]+$/, "");
	var tokens = string.split(/[\t\s]+/);
	return tokens;
};
// find this script file path
html5jp.dom.getElementsByClassName.find_this_script_file_path = function() {
	var scripts = document.getElementsByTagName("SCRIPT");
	var path = "";
	for( var i=0; i<scripts.length; i++ ) {
		var elm = scripts.item(i);
		if( elm.src.match(/(^|\/)getElementsByClassName\.js$/) ) {
			path = elm.src.replace("getElementsByClassName.js", "");
			break;
		}
	}
	return path;
};
// set getElementsByClassName(classNames) method to objects of HTMLElement and Document interface;
html5jp.dom.getElementsByClassName.attach_method = function() {
	var o = html5jp.dom.getElementsByClassName;
	if( document.getElementsByClassName ) {
		// do nothing
	} else if( window.HTMLElement && window.Document ) { // for Firefox 1.5-2.0, Safari 3.0
		if( window.HTMLElement.prototype.getElementsByClassName == undefined ) {
			window.HTMLElement.prototype.getElementsByClassName = o.method;
		}
		if( window.Document.prototype.getElementsByClassName == undefined ) {
			window.Document.prototype.getElementsByClassName = o.method;
		}
	} else if( document.constructor && document.createElement('a').constructor ) { // for Safari 1.3-2.0
		document.createElement('a').constructor.prototype.getElementsByClassName = o.method;
		document.constructor.prototype.getElementsByClassName = o.method;
	} else if(document.uniqueID) { // for Internet Explorer
		var path = o.find_this_script_file_path();
		document.write('<style type="text/css">* { behavior: url(' + path + 'getElementsByClassName.htc); }</style>');
		document.getElementsByClassName = o.method;
	}
};

html5jp.dom.getElementsByClassName.attach_method();


//検索ボックス
function kwdComment(obj){
	if (obj.value == obj.defaultValue){
  	obj.value = "";
  	obj.style.color = "#444";
	}
}