var myD = new Date();
var myYear = myD.getFullYear() ? myD.getFullYear() : 1900 + (myD.getYear() % 1900);
var myMonth = (myD.getMonth() < 9) ? '0' + myD.getMonth() : myD.getMonth();
var myDate = (myD.getDate() < 10) ? '0' + myD.getDate() : myD.getDate();
var getD = new Date(myYear, myMonth, myDate);
var today = getD.getTime();
var today = Math.ceil(today / (24 * 60 * 60 * 1000));

var siteurl = location.href;
siteurl = siteurl.split('/');
siteurl = siteurl.slice(0, -1);
siteurl = siteurl.join('/') + '/';

// ブラウザ判別
var my_ua;
// Win
if (navigator.userAgent.indexOf("Win") != -1) {
	//Firefox
	if (navigator.userAgent.indexOf("Firefox") != -1) {
		my_ua = 'win_ff';
	}
	//Netscape
	else if (navigator.appName == "Netscape") {
		my_ua = 'win_ns';
	}
	//Netscape6 や Mozilla(オープンソース版)
	else if (navigator.userAgent.indexOf("Gecko") != -1) {
		my_ua = 'win_gk';
	}
	//Opreaすべて
	else if (window.opera) {
		my_ua = 'win_op';
	}
	//Internet Explorer
	else if (navigator.userAgent.indexOf("MSIE") != -1) {
		my_ua = 'win_ie';
		
		var agt = navigator.userAgent.toLowerCase();
		var is_major = parseInt(navigator.appVersion);
		var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
		var is_ie3 = (is_ie && (is_major < 4));
		var is_ie4 = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1));
		var is_ie4up  = (is_ie && (is_major >= 4));
		var is_ie5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1));
		var is_ie5_5 = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
		var is_ie6 = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.0") !=-1));
		var is_ie7 = (is_ie && (is_major == 4) && (agt.indexOf("msie 7") !=-1));
	}
}
// Mac
if (navigator.userAgent.indexOf("Mac") != -1) {
	//Safari (Mac OSX用ブラウザ)の場合
	if (navigator.userAgent.indexOf("Safari") != -1) {
		my_ua = 'mac_sf';
	}
	//Firefox
	else if (navigator.userAgent.indexOf("Firefox") != -1) {
		my_ua = 'mac_ff';
	}
	//Netscape
	else if (navigator.appName == "Netscape") {
		my_ua = 'mac_ns';
	}
	//Netscape6 や Mozilla(オープンソース版)
	else if (navigator.userAgent.indexOf("Gecko") != -1) {
		my_ua = 'mac_gk';
	}
	//Opreaすべて
	else if (window.opera) {
		my_ua = 'mac_op';
	}
	//Internet Explorer
	else if (navigator.userAgent.indexOf("MSIE") != -1) {
		my_ua = 'mac_ie';
	}
}

// 透明度を設定する
var setOpacity = function(elem, opac){
	if(my_ua=='mac_sf'){
		elem.style.KhtmlOpacity = opac;
		elem.style.opacity = opac;
	}
	else if(my_ua.match(/ff$/) || my_ua.match(/ns$/)){
		elem.style.MozOpacity = opac;
	}
	else if(my_ua=='win_ie'){
		elem.style.filter = 'Alpha(opacity:' + (opac*100) + ')';
	}
	else{
		elem.style.opacity = opac;
	}
};

// イベント追加
var addEvent = function(){
	if(arguments.length<3) return;
	
	var args = new Array();
	for(var i=0; i<arguments.length; i++){
		args.push(arguments[i]);
	}
	
	var elem = args.shift();
	var evt = args.shift();
	var func = args.shift();
	
	for(var i=0; i<args.length; i++){
		if(args[i]==='this') args[i] = elem;
	}
	
	if(args.length){
		window.addEventListener ?
			elem.addEventListener(evt, function (){ func.apply(this, args) }, false) :
			elem.attachEvent('on' + evt, function (){ func.apply(this, args) }) ;
	}
	else{
		window.addEventListener ?
		elem.addEventListener(evt, func, false) :
		elem.attachEvent('on' + evt, func) ;
	}
};

// イベント削除
var removeEvent = (window.removeEventListener ?
	function(elem, evt, funcName, flag){
		elem.removeEventListener(evt, funcName, flag);
	} :
	function(elem, evt, funcName, flag){
		elem.detachEvent('on' + evt, funcName);
	});

// イベントバブルアップ停止
var cancelEvent = (window.addEventListener ?
	function(evtObj){
		evtObj.stopPropagation();
	} :
	function(evtObj){
		window.event.cancelBubble = true;
	});

// イベントが発生したオブジェクトの情報を取得
var getEventTarget = (window.addEventListener ?
	function(evt){
		return evt.target;
	} :
	function(evt){
		return event.srcElement;
	});

document.getElementsByClassName = function(className, pElement, tagName){
	var d = document, nodes = [], item;
	try{
		var xp = d.evaluate(
			'.//' + (tagName || '*') + '[contains(concat(" ", @class, " "), " ' + className + ' ")]',
			(pElement || d), null, XPathResult.ANY_TYPE, null
		);
		for(item=xp.iterateNext(); item; item=xp.iterateNext()){
			nodes.push(item);
		}
	}
	catch(e){
		var cls, items = (pElement || d).getElementsByTagName((tagName || '*'));
		for(var i=0, l=items.length; i<l; i++){
			item = items[i];
			if(item.className){
				cls = item.className.split(/\s+/);
				for(var j=0, k=cls.length; j<k; j++){
					if(cls[j]==className){
						nodes[nodes.length] = item; break;
					}
				}
			}
		}
	}
	
	return nodes.length > 0 ? nodes : null;
};

var elemInfo = new Object;
elemInfo = function(elem){
	this.val = URLencode(elem.innerHTML);
	
	var style = elem.currentStyle || document.defaultView.getComputedStyle(elem, null);
	
	if(style){
		this.bgcolor = style.backgroundColor!='transparent' ? type_format(style.backgroundColor) : '';
		this.bgimage = style.backgroundImage!='none' ? style.backgroundImage.replace(/"|url\(|\)/g, '') : '';
		this.bgimage = encodeURIComponent(this.bgimage);
		this.width = style.width ? style.width.replace(/pt|px|em|%/, '') : elem.offsetWidth;
		this.width = Math.floor(this.width);
		this.height = style.height ? style.height.replace(/pt|px|em|%/, '') : elem.offsetHeight;
		this.height = Math.floor(this.height);
		this.color = style.color ? type_format(style.color) : '000000';
		this.size = style.fontSize.replace(/pt|px|em|%/, '');
		this.size = Math.floor(this.size) * 0.78;
		this.size = Math.floor(this.size);
		this._x = style.textIndent ? style.textIndent.replace(/pt|px|em|%/, '') : '0';
		this._x = Math.floor(this._x);
		if(style.textAlign=='center'){
			this._x = 'center';
		}
		else if(style.textAlign=='right'){
			this._x = 'right';
			var sp = 0;
			if(style.paddingRight.replace(/pt|px|em|%/, '')>0){
				sp = style.paddingRight.replace(/pt|px|em|%/, '');
				this._x += sp;
			}
			if(my_ua.match(/op$/)) this.width -= Math.floor(sp);
			elem.innerHTML = '';
		}
		this._y = style.paddingTop.replace(/pt|px|em|%/, '');
		this.height += Math.floor(this._y);
		this._y = Math.floor(this._y) + this.size;
		this._y = Math.floor(this._y);
		if(this.height==style.lineHeight.replace(/pt|px|em|%/, '')) this._y = 'center';
	}
};

function type_format(val){
	if(val.match(/^rgb/i)){
		val = val.split(',');
		val[0] = val[0].replace(/rgb|a|\(|\s/g, '');
		val[1] = val[1].replace(/\s/g, '');
		val[2] = val[2].replace(/\s|\)/g, '');
		if(val[3]) val[3] = '';
		
		var imax = val.length;
		for(var i=0; i<imax; i++){
			if(val[i]!=''){
				val[i] = eval(val[i]).toString(16);
				if(val[i].length==1) val[i] = '0' + val[i];
			}
		}
		
		return val.join('');
	}
	else if(val.match(/^#/)){
		return val.replace(/#/, '', val);
	}
	
	return false;
}

function open_page(){
	var args = new Array();
	for(var i=0; i<arguments.length; i++){
		args.push(arguments[i]);
	}
	
	var url = args.shift();
	var wname = args.shift();
	
	var param = '';
	if(args.length) param += ',' + args.join(',');
	
	var w = window.open(url, wname, param);

	// ポップアップブロックが動作するとnullになる。
	// オブジェクトがnullの状態で関数を実行すると、
	// エラーダイアログが表示されてしまうので注意。
	if(w == null) {
		alert('ポップアップがブロックされました。\nブラウザの設定を解除してください。');
	} else {
		w.focus();
	}
	
	return false;
}

function close_page(){
	window.close();
	
	return false;
}

function move_scroll(pt_stop){
	// スクロールが早いポイントの指定(少ないほど、目的地近くまで早い)
	if(typeof(add_px)=='undefined') var add_px = 250;
	
	// スクロール量の指定(多いほどスクロールが早い ※ add_pxを割り切れる数値で指定)
	if(typeof(def_sc)=='undefined') var def_sc = 50;
	
	// 繰り返しのmsec(少ないほどスクロールが早い)
	if(typeof(to_sec)=='undefined') var to_sec = 3;
	
	
	
	if(typeof(def_para)=='undefined') def_para = Math.round(add_px / def_sc);
	var sc_px, pg_top;
	pg_top = document.documentElement.scrollTop || document.body.scrollTop;
	
	if(typeof(sc_flag)=='undefined' || sc_flag=='none'){
		if(pg_top>pt_stop){
			sc_flag = 'up';
		}
		else if(pg_top<pt_stop){
			sc_flag = 'down';
		}
		else{
			return false;
		}
	}
	
	if(sc_flag=='up'){
		if(pt_stop<0) pt_stop = 0;
		
		if(pg_top>(pt_stop + add_px)){
			sc_px = def_sc;
		}
		else{
			sc_px = (pg_top - pt_stop) / def_para;
		}
		
		if(sc_px<1){
			pg_top = pt_stop;
			sc_flag = 'none';
		}
		else{
			pg_top -= sc_px;
		}
		
		window.scroll(0, pg_top);
		
		if(pg_top>pt_stop) setTimeout("move_scroll(" + pt_stop + ")", to_sec);
	}
	else if(sc_flag=='down'){
		var doc_y = document.documentElement.clientHeight || window.innerHeight;
		var max_sc = document.documentElement.scrollHeight || document.body.scrollHeight;
		max_sc -=  doc_y;
		if(pt_stop>max_sc) pt_stop = max_sc;
		
		if(pg_top<(pt_stop - add_px)){
			sc_px = def_sc;
		}
		else{
			sc_px = (pt_stop - pg_top) / def_para;
		}
		
		if(sc_px<1){
			pg_top = pt_stop;
			sc_flag = 'none';
		}
		else{
			pg_top += sc_px;
		}
		
		window.scroll(0, pg_top);
		
		if(pg_top<pt_stop) setTimeout("move_scroll(" + pt_stop + ")", to_sec);
	}
	else{
		return false;
	}
	
	return false;
}

function bg_change(elem, x, y){
	elem = eval(elem);
	if(!x) x = 0;
	if(!y) y = 0;
	elem.style.backgroundPosition = y + 'px ' + x + 'px';
	
	return false;
}

function ret_GET() {
	var query = window.location.search.substring(1);
	var parms = query.split('&');
	var get_arr = new Array();
	var imax = parms.length;
	for(var i=0; i<imax; i++){
		var pos = parms[i].indexOf('=');
		if(pos>0){
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);
			get_arr[key] = val;
		}
	}
	
	return get_arr;
}

function img_replace(){
	var elem = arguments[0];
	var kind = arguments[1];
	var hover = arguments[2];
	var angle = arguments[3];
	
	var info = new elemInfo(elem);
	var url = siteurl + 'common/js/img_text.php';
	url += '?size=' + info.size + '&kind=' + kind + '&x=' + info._x + '&y=' + info._y + '&val=' + info.val + '&w=' + info.width + '&h=' + info.height + '&txcolor=' + info.color;
	if(info.bgimage) url += '&bgimage=' + info.bgimage;
	if(info.bgcolor && info.bgcolor!='000000') url += '&bgcolor=' + info.bgcolor;
	if(hover) url += '&hover=' + hover;
	if(angle) url += '&angle=' + angle;
	
	elem.style.backgroundImage = 'url(' + url + ')';
	if(!info.bgimage && info.bgcolor) elem.style.backgroundColor = 'transparent';
	elem.style.textIndent = '-9999px';
	
	return false;
}

function addLoadEvent(func){
	var oldonload = window.onload;
	if(typeof(window.onload)!='function'){
		window.onload = func;
	}
	else{
		window.onload = function(){
			oldonload();
			func();
		};
	}
	
	return false;
}


addLoadEvent(init_cantuku);



//XMLHttpRequestオブジェクト生成
function createHttpRequest(){
	//Win ie用
	if(window.ActiveXObject){
		try {
			//MSXML2以降用
			return new ActiveXObject("Msxml2.XMLHTTP") //[1]'
		} catch (e) {
			try {
				//旧MSXML用
				return new ActiveXObject("Microsoft.XMLHTTP") //[1]'
			} catch (e2) {
				return null
			}
		}
	} else if(window.XMLHttpRequest){
		//Win ie以外のXMLHttpRequestオブジェクト実装ブラウザ用
		return new XMLHttpRequest() //[1]'
	} else {
		return null
	}
}


function get_analytics() {
	//XMLHttpRequestオブジェクト生成
	var httpoj = createHttpRequest() //[1]

	//open メソッド
	httpoj.open( 'GET' , '/common/js/get_analytics.php' , 'true' ) //[2]

	//受信時に起動するイベント
	httpoj.onreadystatechange = function()  //[4]
	{ 
		//readyState値は4で受信完了
		if (httpoj.readyState==4)  //[5]
		{ 
		
			//コールバック
			var res = httpoj.responseText;
			var len = res.length;

			if (res != "" && len<20) {
				// Google Analytics用のタグを挿入
				var _cantuku_pageTracker = _gat._getTracker(res);
				_cantuku_pageTracker._initData();
				_cantuku_pageTracker._trackPageview();
			}
		}
	}

	//send メソッド
	httpoj.send('') //[3]
}
get_analytics();


// IE6.0以前用のpng透過用cssの読み込み及び設定
if(my_ua=='win_ie' && !is_ie7){
	document.write('<link type="text/css" rel="stylesheet" href="common/css/old_ie.css" />');
}

// for google analytics
var _cantuku_gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src=\'" + _cantuku_gaJsHost + "google-analytics.com/ga.js\' type=\'text/javascript\'%3E%3C/script%3E"));

