//document.write('<script type="text/javascript" src="/common/script/util/ecl.js"><\/script>');
//document.write('<script type="text/javascript" src="/common/script/util/CookieManager.js"><\/script>');

// ログ用画像
var _ANALYTICS_IMAGE_PATH = '/analytics/';

// 案件名
var _analyzeGroup = "-";

// オプション
var _analyzeOptions = [];

// クッキーマネージャークラス
var _analyzeCm = null;

// gif用パラメータ
var _analyzeCommonParams = [];

// cloneをオーバーライド
_analyzeCommonParams.clone = function() {
    return Array.apply(null, this);
};

// アンロード時のイベント登録
window.onunload = analyzeUnloader;

/*--------------------*
 * マピオントラッカー *
 *--------------------*/
function mapionTracker(target, options) {

	if (_analyzeCommonParams.length == 0) {
		_analyzePushParams();
	}
	
	var params = _analyzeCommonParams.clone();
	
	if (options) {
		for (var i = 0; i < options.length; i++) {
			params.push(options[i]);
		}
	}
	
	if( target.charAt(0) == '/' ) target = target.substring(1);
	
	// onclickとかに仕込むときこれがナイとうまくいかナイ
	params.push('random=' + Math.round(Math.random() * 2147483647));
	
	var paramTarget = 'target=';
	if (target) {
		paramTarget = encodeURI(target);
		params.push('ispv=false');
	} else {
		// クッキーに保存
		document.write('<script type="text/javascript" src="/common/script/util/CookieManager.js"><\/script>');
		_analyzeCm = new CookieManager();
		var path = document.location.pathname;
		_analyzeCm.set('mapionTracker', new Date() - 0, 1, path);
		paramTarget += path;
		params.push('ispv=true');
	}
	//params.push(paramTarget);
	
	// ログ用画像リクエスト
	var analyticsImage = new Image(1, 1);
	analyticsImage.src = _ANALYTICS_IMAGE_PATH + paramTarget + '?' + params.join('&');

	// コールバック
	analyticsImage.onload = function() {
		//alert('callback');
	};

	return;
};

/*---------*
 * private *
 *---------*/
function _analyzePushParams() {
	_analyzeCommonParams.push('grp=' + _analyzeGroup);
	_analyzeCommonParams.push('mode=track');
	
	for (var i = 0; i < _analyzeOptions.length; i++) {

		if (_analyzeOptions[i] == 'title') {
			_analyzeCommonParams.push('title=' + encodeURI(document.title));
		}
		
		if (_analyzeOptions[i] == 'charset') {
			var paramCharset = 'charset=';
			if (document.characterSet) {
				paramCharset += document.characterSet;
			} else if (document.charset) {
				paramCharset += document.charset;
			} else {
				paramCharset += '-';
			}
			_analyzeCommonParams.push(paramCharset);
		}
		
		if (_analyzeOptions[i] == 'screen') {
			_analyzeCommonParams.push('screen=' + screen.width + 'x' + screen.height);
		}
		
		if (_analyzeOptions[i] == 'screenColor') {
			_analyzeCommonParams.push('screenColor=' + screen.colorDepth + '-bit');
		}
		
		if (_analyzeOptions[i] == 'language') {
			var paramLanguage = 'language=';
			var n = navigator;
			if (n.language) {
				paramLanguage += n.language.toLowerCase();
			} else if (n.browserLanguage) {
				paramLanguage += n.browserLanguage.toLowerCase();
			} else {
				paramLanguage += '-';
			}
			_analyzeCommonParams.push(paramLanguage);
		}
		
		if (_analyzeOptions[i] == 'referrer') {
			var paramReferrer = document.referrer ? document.referrer : '-';
			//_analyzeCommonParams.push('referrer=' + EscapeSJIS(paramReferrer));
			_analyzeCommonParams.push('referrer=' + encodeURI(paramReferrer));
		}

	}
};

/*------------*
 * 離脱時発動 *
 *------------*/
function analyzeUnloader() {

	if (!_analyzeCm) {
		return;
	}
	
	// クッキー取得
	var cookie = _analyzeCm.get('mapionTracker');
	
	if (cookie == '') return;
	
	// クッキー削除
	_analyzeCm.destroy('mapionTracker', document.location.pathname);
	
	var params = [
		'random=' + Math.round(Math.random() * 2147483647),
		'mode=stay',
		'target=' + document.location.pathname,
		'stayTime=' + (new Date() - cookie)
	];
	
	// ログ用画像リクエスト
	var analyticsImage = new Image(1, 1);
	analyticsImage.src = _ANALYTICS_IMAGE_PATH + '?' + params.join('&');

	// コールバック
	analyticsImage.onload = function() {
		//alert('callback');
	};
	
};
