<!--
//alert(mhouse-re);
var negoExeclock = 0;
var negoNowTimeNumber = negoGetNowSecond();
negolog();

//----------------------------------------
//--MAIN FUNCTIONS
//----------------------------------------
function negolog(swfurl)
{
	//----------------------------------------
	//--変数・定数
	//----------------------------------------
	expireCookieDate = "Thu, 15-Apr-2010 20:00:00";
	uniqueId = 0;
	visiting = 0;
	visited = 0;
	stayedTime = (0);
	negoNowTimeNumber = negoGetNowSecond();
	url = !swfurl ? document.URL : swfurl; 	// <-- このURL
	domain = document.domain;
	refe = document.referrer;

	if (refe == "" || refe == null || refe == "null" || negoExeclock > 0 || refe.indexOf("http://" + domain) == 0 || refe.indexOf("https://" + domain) == 0)	// <-- ローカルのreferrerは信用していない
	{
		refe = unescape(negoGetCookie("_referrer"));
	}

	if(refe == "" || refe == null || refe == "null")
	{
		refe = "";
	}

//	alert("http://re.m-house.co.jp/\n▼\nDOCUMENT REF : " + refe + "\n▼\nDOCUMENT URL" + document.URL);

	if (swfurl && negoExeclock == 1) url = document.URL;
	negoSetCookie("_referrer", escape(url), "", "/");

	if (negoExeclock != 1)
	{
		vingC = negoGetCookie("_visiting");
		vtedC = negoGetCookie("_visited");

		colDep = screen.colorDepth;			//--画面色数(bit)
		scrW = screen.width;				//--画面サイズ幅
		scrH = screen.height;				//--画面サイズ高

		//----------------------------------------
		if(vingC)
		{
			pairs = vingC.split(";");
			visiting = pairs[0];
			beforeTimeNumber = pairs[1];
			refUrl = pairs[2];

			visiting++;
			stayedTime = negoNowTimeNumber - beforeTimeNumber;

			if(refUrl == url) refe = url;	// <== リロード対策
//			if(refe == "") visiting = 0;		// <== 訪問中なのに、リファラがなかったり、外部だと最初からカウントさせる。
//			alert(visiting + " <-- " + refe);
		}

		negoSetCookie("_visiting", visiting + ";" + negoNowTimeNumber + ";" + url, "", "/");
//		negoSetCookie("_referrer", url, "", "/");

		if(!vtedC)
		{
			uniqueId = negoNowTimeNumber + "" + Math.floor(Math.random() * 9) + "" + Math.floor(Math.random() * 9);
			negoSetCookie("_visited", uniqueId + ";" + visited, expireCookieDate, "/");
		}
		else
		{
			pairs = vtedC.split(";");
			uniqueId = pairs[0];
			visited = pairs[1];
			if(!visiting)
			{
				visited++;
				negoSetCookie("_visited", uniqueId + ";" + visited, expireCookieDate , "/");
			}
		}

		//----------------------------------------
		var param		= 'id=' + uniqueId
						+ '&url=' + TEscape(document.URL)
						+ '&colDep=' + colDep
						+ '&scrW=' + scrW
						+ '&scrH=' + scrH
						+ '&swfurl=' + TEscape(url)		// <= escp
						+ '&referrer=' + TEscape(refe)	// <= escp
						+ '&ving=' + visiting
						+ '&vted=' + visited
						+ '&stime=' + stayedTime;
		outputLog(param);
	}

	negoExeclock++;
}
//----------------------------------------
//--SUB FUNCTIONS
//----------------------------------------
function negoGetNowSecond()
{
	return Math.floor(new Date().getTime() / 1000);
}

function outputLog(param)
{
	var dummyimg = new Image();
	dummyimg.src = 'http://stat.negolog.com/negocnt.cgi?' + param;
}

function negoGetCookie(name)
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen)
	{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
		{
			return negoGetCookieVal(j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0)
		break;
	}
	return null;
}

function negoGetCookieVal(offset)
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function negoSetCookie(name, value, expires, path, domain)
{
	var c_expires = "";
	var c_path = "";
	var c_domain = "";

	if(expires)
	{
		c_expires = "expires="+expires+";";
	}

//	if(path)
//	{
		c_path = "path="+path+";";
//	}

	if(domain)
	{
		c_domain = "domain="+domain+";";
	}

	document.cookie = name + "=" + escape(value) + ";" + c_expires + c_path + c_domain;
}

function TEscape(str)
{
	if(!str) return "";

	var s0, i, s, u;
	s0 = "";				// encoded str
	for (i = 0; i < str.length; i++){   // scan the source
		s = str.charAt(i);
		u = str.charCodeAt(i);		  // get unicode of the char
		if (s == " "){s0 += "+";}	   // SP should be converted to "+"
		else {
			if ( u == 0x2a || u == 0x2d || u == 0x2e || u == 0x5f || ((u >= 0x30) && (u <= 0x39)) || ((u >= 0x41) && (u <= 0x5a)) || ((u >= 0x61) && (u <= 0x7a))){	   // check for escape
				s0 = s0 + s;			// don't escape
			}
			else {				  // escape
				if ((u >= 0x0) && (u <= 0x7f)){	 // single byte format
					s = "0"+u.toString(16);
					s0 += "%"+ s.substr(s.length-2);
				}
				else if (u > 0x1fffff){	 // quaternary byte format (extended)
					s0 += "%" + (oxf0 + ((u & 0x1c0000) >> 18)).toString(16);
					s0 += "%" + (0x80 + ((u & 0x3f000) >> 12)).toString(16);
					s0 += "%" + (0x80 + ((u & 0xfc0) >> 6)).toString(16);
					s0 += "%" + (0x80 + (u & 0x3f)).toString(16);
				}
				else if (u > 0x7ff){		// triple byte format
					s0 += "%" + (0xe0 + ((u & 0xf000) >> 12)).toString(16);
					s0 += "%" + (0x80 + ((u & 0xfc0) >> 6)).toString(16);
					s0 += "%" + (0x80 + (u & 0x3f)).toString(16);
				}
				else {					  // double byte format
					s0 += "%" + (0xc0 + ((u & 0x7c0) >> 6)).toString(16);
					s0 += "%" + (0x80 + (u & 0x3f)).toString(16);
				}
			}
		}
	}
	return s0;
}
function negoGetInnerW()
{
	var aw = 0;

	if(window.innerWidth)
	{
		aw = window.innerWidth;
	}
	else if(document.documentElement.clientWidth)
	{
		aw = document.documentElement.clientWidth;
	}
	else if(document.body.clientWidth)
	{
		aw = document.body.clientWidth;
	}

	return aw;
}

function negoGetInnerH()
{
	var ah = 0;

	if(window.innerHeight)
	{
		ah = window.innerHeight;
	}
	else if(document.documentElement.clientHeight)
	{
		ah = document.documentElement.clientHeight;
	}
	else if(document.body.clientHeight)
	{
		ah = document.body.clientHeight;
	}

	return ah;
}
//-->
