function log(url_id)
{
	var media_id = ret_mid();			//GET media_id
	var res = ret_keyword();			//Domain,Keyword
	var domain = res[0];				//Domain
	var keyword = res[1];				//Keyword
	var referrer = res[2];				//Referrer
	var lastclient_id = '';				//ClientID From Cookie
	var lastmedia_id = '';				//MediaID From Cookie
	var lastkeyword = '';				//Keyword From Cookie
	var lastAcctime = 0;				//LastAccessTime From Cookie
	var lastreferrer = '';				//Referrer From Cookie

	//Get Cookie
	res = getCookie();
	if(res != false)
	{
		lastclient_id = res[0];
		lastmedia_id = res[1];
		lastkeyword = res[2];
		lastreferrer = res[3];
		lastAccTime = res[4];
//		if((getNow() - lastAccTime) < 3)
//			return;
	}


	//Judge Root
	var root;
	if(media_id)
		root = 1;
	else if(domain != false)
		root = 2;
	else
		root = 3;
/*
	alert("root = " + root);
	alert("url_id = " + url_id);
	alert("media_id = " + media_id);
	alert("lastmedia_id = " + lastmedia_id);
	alert("keyword = " + keyword);
	alert("lastkeyword = " + lastkeyword);
	alert("referrer = " + referrer);
*/
	/***
	 *Update Cookie
	 ***/
	if(root == 1)														//From Advertise
	{
		if(lastclient_id == '')											//Can't Get Cookie
		{
//			alert("1");
			client_id = makeClientID();
			setCookie(client_id, media_id, keyword, referrer, 365);		//Set Cookie
		}
		else
		{
//			alert("2");
			setCookie(lastclient_id, media_id, keyword, referrer ,365);	//Set Cookie
		}
	}
	else if(root == 2)													//Search Engine
	{
		if(lastclient_id == '')											//Can't Get Cookie
		{
//			alert("3");
			client_id = makeClientID();
			setCookie(client_id, 0, keyword, referrer , 1);				//Set Cookie
		}
		else
		{
//			alert("4");
			setCookie(lastclient_id, 0, keyword, referrer , 1);			//Set Cookie
		}
	}
	else if(root == 3)
	{
		if(lastclient_id == '')											//Can't Get Cookie
		{
//			alert("5");
			client_id = makeClientID();
			setCookie(client_id, 0, keyword, referrer, 1);				//Set Cookie
		}
		else
		{
//			alert("6");
			setCookie(lastclient_id, lastmedia_id, lastkeyword, lastreferrer, 1);//Set Cookie
		}
	}

	/***
	 *Print ImaTag
	 ***/
	if(root == 1)
	{
		output(url_id, media_id, keyword, referrer);
	}
	else if(root == 2)
	{
		output(url_id, 0, keyword, referrer);
	}
	else if(root == 3)
	{
		if(lastclient_id != '')
		{
			//alert("OK");
			output(url_id, lastmedia_id, lastkeyword, lastreferrer);
		}
		else
			output(url_id, 0, '', referrer);
	}

//	if(location.search != ''){
//		location.href = "http://" + location.hostname + location.pathname;
//	}
}

function ret_mid()
{
	var urlParam = location.search;			//Myself URL
//	var rgexp = /\?/i;
	var rgexp = /m=([^\s&]*)/i;
	var media_id = false;
//	urlParam = urlParam.replace(rgexp, '');	//Delete ?
	res = urlParam.match(rgexp);			//Match 10Number
	if(res){								//Match MediaID
		media_id = RegExp.$1;
	}
	return media_id;
}

function ret_keyword()
{
	var result = false;
	var keyword = '';
	var ret = new Array(result, keyword, '');
	var referrer = document.referrer;				//Get Referrer

	var search_engine = new Array();				//Array Search Engine
	search_engine[0] = new Array();					//Google
	search_engine[0][0] = 'google.co';
	search_engine[0][1] = 'q';
	search_engine[1] = new Array();					//yahoo.co.jp
	search_engine[1][0] = 'yahoo.co.jp';
	search_engine[1][1] = 'p';
	search_engine[2] = new Array();					//exite 1
	search_engine[2][0] = 'www.excite.co.jp';
	search_engine[2][1] = 'search';
	search_engine[3] = new Array();					//exite 2
	search_engine[3][0] = 'odn.excite.co.jp';
	search_engine[3][1] = 'search';
	search_engine[4] = new Array();					//exite 3
	search_engine[4][0] = 'apple.excite.co.jp';
	search_engine[4][1] = 's';
	search_engine[5] = new Array();					//nifty
	search_engine[5][0] = 'nifty.com';
	search_engine[5][1] = 'Text';
	search_engine[6] = new Array();					//dion
	search_engine[6][0] = 'dion.ne.jp';
	search_engine[6][1] = 'QueryString';
	search_engine[7] = new Array();					//infoseek
	search_engine[7][0] = 'infoseek.co.jp';
	search_engine[7][1] = 'qt';
	search_engine[8] = new Array();					//goo
	search_engine[8][0] = 'goo.ne.jp';
	search_engine[8][1] = 'MT';
	search_engine[9] = new Array();					//alltheweb
	search_engine[9][0] = 'alltheweb.com';
	search_engine[9][1] = 'q';
	search_engine[10] = new Array();					//lycos 1
	search_engine[10][0] = 'search.lycos.co.jp';
	search_engine[10][1] = 'qt';
	search_engine[11] = new Array();				//lycos 2
	search_engine[11][0] = 'dir.lycos.co.jp';
	search_engine[11][1] = 'q';
	search_engine[12] = new Array();				//aol
	search_engine[12][0] = 'aol.com';
	search_engine[12][1] = 'query';
	search_engine[13] = new Array();				//netscape
	search_engine[13][0] = 'netscape.com';
	search_engine[13][1] = 'query';
	search_engine[14] = new Array();				//biglobe
	search_engine[14][0] = 'biglobe.ne.jp';
	search_engine[14][1] = 'q';
	search_engine[15] = new Array();				//msn
	search_engine[15][0] = 'msn.co.jp';
	search_engine[15][1] = 'q';
	search_engine[16] = new Array();				//dmoz
	search_engine[16][0] = 'search.dmoz.org';
	search_engine[16][1] = 'search';
	search_engine[17] = new Array();				//allabout
	search_engine[17][0] = 'allabout.co.jp';
	search_engine[17][1] = 'qs';
	search_engine[18] = new Array();				//fresheye
	search_engine[18][0] = 'fresheye.com';
	search_engine[18][1] = 'kw';
	search_engine[19] = new Array();				//test
	search_engine[19][0] = 'exvoto';
	search_engine[19][1] = 'keyword';

	var max = search_engine.length;					//Get Entry Serch Engine Numger
	for(i = 0; i < max; i++)						//Loop Entry Search Engine Number
	{
		res = referrer.match(search_engine[i][0]);	//Match Domain
//		alert(search_engine[i][0]);
		if(res)
		{
			var Name = new RegExp(search_engine[i][1] + "=([^\s&]*)", "i");
			res = referrer.match(Name);				//Param Name
			if(res)									//Can Get Keyword
			{
				//keyword = decodeURI(RegExp.$1);		//Decode Keyword
				ret[0] = search_engine[i][0];
				ret[1] = RegExp.$1;
				ret[2] = referrer;
				return ret;
			}
		}
	}
	return ret;
}

function getCookie()
{
	var firstChar,lastChar;
	var ret_str = new Array;
	var theBigCookie=document.cookie;					//Get Cookie
	var c_Array = theBigCookie.split(";");				//Split name=value
	var target = new Array('client_id', 'media_id', 'keyword', 'referrer', 'lastAccTime');	//Array name
/*
	for(i=0; i<c_Array.length; i++){
		firstChar=c_Array[i].indexOf(target[i]);
		if(firstChar != -1){
			firstChar += target[i].length + 1;	//Jump "name="
			lastChar = c_Array[i].indexOf(';', firstChar);	// Search ";".
			if(lastChar == -1) lastChar = c_Array[i].length;
			ret_str.push(unescape(c_Array[i].substring(firstChar, lastChar)));
		}
	}
*/
	for(i=0; i<c_Array.length; i++){
		var a = c_Array[i].split("=");
		if(a[0].indexOf("client_id", 0) >= 0)
			ret_str[0] = unescape(a[1]);
		else if(a[0].indexOf("media_id", 0) >= 0)
			ret_str[1] = unescape(a[1]);
		else if(a[0].indexOf("keyword", 0) >= 0)
			ret_str[2] = unescape(a[1]);
		else if(a[0].indexOf("referrer", 0) >= 0)
			ret_str[3] = unescape(a[1]);
		else if(a[0].indexOf("lastAccTime", 0) >= 0)
			ret_str[4] = unescape(a[1]);
	}

	if(ret_str.length == 5)
		return ret_str;
	else
		return false;
}

function makeClientID()
{
	var client_id = '';
	var rndpass = new Array("a","b","c","d",
	"e","f","g","h","i","j","k","l","m",
	"n","o","q","r","s","t","u","v","w",
	"x","y","z","A","B","C","D","E","F",
	"G","H","J","K","L","M","N","Q","R",
	"S","T","U","V","W","X","Y","Z","_","-",
	"1","2","3","4","5","6","7","8","9");

	for(i = 0; i < 20; i++){
		a = Math.floor(Math.random() * rndpass.length)
		client_id += rndpass[a];
	}

	return client_id;
}

function setCookie(client_id, media_id, keyword, referrer, term){
	Exp = new Date();
	var now = getNow();
	Exp.setTime(Exp.getTime()+(term*24*60*60*1000));
	cookie1 = "client_id=" + escape(client_id);
	cookie2 = "media_id=" + escape(media_id);
	cookie3 = "keyword=" + escape(keyword);
	cookie4 = "referrer=" + escape(referrer);
	cookie5 = "lastAccTime=" + now;
	Expires = "expires=" + Exp.toGMTString();
//	domain = "http://" + location.hostname + ";";
	domain = "domain=" + create_domainname(location.hostname)
	path = "path=/";
	document.cookie =  cookie1 + ";" + Expires + ";" + path + ";" + domain;
	document.cookie =  cookie2 + ";" + Expires + ";" + path + ";" + domain;
	document.cookie =  cookie3 + ";" + Expires + ";" + path + ";" + domain;
	document.cookie =  cookie4 + ";" + Expires + ";" + path + ";" + domain;
	document.cookie =  cookie5 + ";" + Expires + ";" + path + ";" + domain;
}

function output(url_id, media_id, keyword, referrer)
{
	img = "<script type=\"text/JavaScript\" src=\"http://www.senden-jaws.com/";
	img = img + "roi/log.pl?u=" + url_id;
	img = img + "&m=" + media_id + "&k=" + keyword + "&r=" + referrer + "\"></script>";
	document.write(img);
}

function getNow(){
	Now = new Date();
	var year = Now.getYear();
	var month = Now.getMonth()+1;
	if(month < 10)
		month = "0" + month;
	var date = Now.getDate();
	if(date < 10)
		date = "0" + date;
	var hours = Now.getHours();
	if(hours < 10)
		hours = "0" + hours;
	var minutes = Now.getMinutes();
	if(minutes < 10)
		minutes = "0" + minutes;
	var seconds = Now.getSeconds();
	if(seconds < 10)
		seconds = "0" + seconds;

	var ret = year + month + date + hours + minutes + seconds;

	return ret
}


function create_domainname(host)
{
	domainname = ""
	dom = host.split(".")
	if(dom.length <= 2)
		domainname = host
	else
	{
		for(j in dom)
		{
			if(j > 0)
			{
				domainname += "." + dom[j]
			}
		}
	}
	return domainname
}
