/* (c)Copyright Pencil Co.,Ltd 2008 All rights reserved.
 * Version: 1.0
 */

// HTTP REFERRER
var rtmsref = document.referrer;

// Request URL
var rtmsurl = document.URL;

// BrowserWidth
var rtmsbrowserwidth = getRtmsBrowserWidth();

// BrowserHeight
var rtmsbrowserheight = getRtmsBrowserHeight();

// BASE64 Encode
var rtmsrefenc = rtmsbase64encode(rtmsref);
var rtmsurlenc = rtmsbase64encode(rtmsurl);
var rtmsbrowserwidthenc = rtmsbase64encode(rtmsbrowserwidth);
var rtmsbrowserheightenc = rtmsbase64encode(rtmsbrowserheight);

// Cookie
document.write('<' + 'script type="text/javascript" src="/pasystem/php/rtms.js.php?ref=' + rtmsrefenc + '&url=' + rtmsurlenc + '&bw=' + rtmsbrowserwidthenc + '&bh=' + rtmsbrowserheightenc + '"><' + '/script>');

/*
 * Interfaces:
 * b64 = rtmsbase64encode(data);
 */

function rtmsbase64encode(str) {
	// BASE64 Encode Chars
	var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
	var out, i, len;
	var c1, c2, c3;
	len = str.length;
	i = 0;
	out = "";
	while(i < len) {
		c1 = str.charCodeAt(i++) & 0xff;
		if(i == len) {
			out += base64EncodeChars.charAt(c1 >> 2);
			out += base64EncodeChars.charAt((c1 & 0x3) << 4);
			out += "==";
			break;
		}
		c2 = str.charCodeAt(i++);
		if(i == len) {
			out += base64EncodeChars.charAt(c1 >> 2);
			out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
			out += base64EncodeChars.charAt((c2 & 0xF) << 2);
			out += "=";
			break;
		}
		c3 = str.charCodeAt(i++);
		out += base64EncodeChars.charAt(c1 >> 2);
		out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
		out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6));
		out += base64EncodeChars.charAt(c3 & 0x3F);
	}
	return out;
}

function getRtmsBrowserWidth() {
	if (window.innerWidth) {
		return window.innerWidth + '';
	}
	else if (document.documentElement && document.documentElement.clientWidth != 0) {
		return document.documentElement.clientWidth + '';
	}
	else if (document.body) {
		return document.body.clientWidth + '';
	}
	return 0;
}

function getRtmsBrowserHeight() {
	if (window.innerHeight) {
		return window.innerHeight + '';
	}
	else if (document.documentElement && document.documentElement.clientHeight != 0) {
		return document.documentElement.clientHeight + '';
	}
	else if (document.body) {
		return document.body.clientHeight + '';
	}
	return 0;
}

