//------------------------------------------------------------------------------
// MOBYLOG for PC
// Tracking JavaScript
//
// Copyright CELLANT Corp. 2012 All Right Reserved
//------------------------------------------------------------------------------
var allstr="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!" +
           '"' + "#$%&'()=-~^|\\[{]}:*@`;+_/?.>,<";

var __analyze = {
	tracking_cookie  : null,
	unqiue_cookie    : null,
	cookie : function (s, t) {
		var arr = null;
		var carr;
		var val = "";
		var cn = "MOBYLOGTracking_Params_" + t + "_" + s;

		if( !document.cookie ) {
			return null;
		}
		carr = document.cookie.split(";");
		for( var k=0; k<carr.length; k++ ) {
			carr[k] = carr[k].replace(/^\s+|\s+$/g, '');
			var ck = unescape(carr[k]);
			if( ck.indexOf(cn) == 0 ) {
				var karr = carr[k].split('=');
				if( karr.length != 2 ) {
					return null;
				}
				val = karr[1];
				break;
			}
		}

		if( val != "" ) {
			carr = val.split("|");
			for( var i=0; i<carr.length; i++ ) {
				var earr = carr[i].split(':');
				if( earr.length == 2 ) {
					if( !arr ) {
						arr = new Array();
					}
					arr[earr[0]] = earr[1];
				}
			}
		}
		return arr;
	},
	_set_cookie : function(prm, n, expsec) {
		if( typeof(prm) != "object" ) {
			return;
		}
		if( typeof(prm["ktr_site"]) == "undefined") {
			return;
		}
		if( typeof(n) != "string" || (n != "ktr_sid" && n != "ktr_uid") ) {
			return;
		}

		var id;
		if( typeof(prm[n]) == "undefined" ||
		    !(prm[n].match(/^[0-9a-fA-F]{1,32}$/)) ) {
			if( n == "ktr_uid" ) {
				if( typeof(prm["ktr_sid"]) == "undefined" ||
				    !(prm["ktr_sid"].match(/^[0-9a-fA-F]{1,32}$/)) ) {
					return;
				}
				id = prm["ktr_sid"];
			}
			else {
				return;
			}
		}
		else {
			id = prm[n];
		}

		var cn = "MOBYLOGTracking_Params_" +
		         ((n == "ktr_sid") ? "t_" : "u_") + prm["ktr_site"];
		var exp = "";
		if( typeof(expsec) == "number" ) {
			var expdate = new Date();
			expdate.setTime(expdate.getTime()+(expsec*1000));
			exp = "expires=" + expdate.toGMTString() + "; ";
		}
		var val = cn + "=" + n + ":" + id + "; path=/; " + exp;
		document.cookie = val;
		
	},
	set_tracking_cookie : function (prm) {
		this._set_cookie(prm, "ktr_sid", 1800);
	},
	set_unique_cookie : function (prm) {
		this._set_cookie(prm, "ktr_uid", 3600*24*365*5);
	},
	set_cookies : function (prm) {
		this.set_tracking_cookie(prm);
		if( !this.unqiue_cookie ) {
			this.set_unique_cookie(prm);
		}
	},
	params : function (str) {
		var arr = new Array();
		var i;
		var pos;
		if( (pos = str.indexOf("?")) == -1 ) {
			return null;
		}

		var prm = str.substring(pos+1).split("&");
		for( i=0; i<prm.length; i++ ) {
			var p = prm[i].split("=");
			if( p.length == 2 ) {
				arr[p[0]] = p[1];
			}
		}
		
		return arr;
	},
	delete_parameter : function(p, str) {
		var re = new RegExp("[\\?&]"+p + "=[^&]+$");
		if( str.match(re) ) {
			str = str.replace(re, "");
		}
		else {
			re = new RegExp("([\\?&])" + p + "=[^&]+&");
			str = str.replace(re, "$1");
		}
		
		return str;
	},
	replace_parameter : function(p, r, str) {
		var re = new RegExp("([\\?&]" + p + "=)[^&]+");
		if( str.match(re) ) {
			str = str.replace(re, "$1"+r);
		}
		else {
			str += ("&" + p + "=" + r);
		}
		
		return str;
	},
	internal_domain : function(u, r) {
		var re = new RegExp("^http(s)?://([^:/]+).*$");
		var ud = u.replace(re, "$2");
		var cd = r.replace(re, "$2");
		if( ud == cd ) {
			return 1;
		}
		return 0;
	},
	replace : function(p) {
		if( typeof(p) != "string" ) {
			return "";
		}

		var str = p;
		var prm = this.params(str);
		if( !prm || typeof(prm["ktr_site"]) == "undefined" ) {
			return str;
		}

		str = this.delete_parameter("ktr_httpref", str);
		if( document.referrer &&
		    typeof(prm["ktr_url"]) != "undefined" &&
		    this.internal_domain(unescape(prm["ktr_url"]), document.referrer) == 0) {
			str += "&ktr_httpref=" + escape(document.referrer)
		}

		this.unique_cookie = this.cookie(prm["ktr_site"], "u");
		this.tracking_cookie = this.cookie(prm["ktr_site"], "t");
		if( !this.tracking_cookie ) {
			this.set_cookies(prm);
			return str;
		}

		var re;
		if( typeof(this.tracking_cookie["ktr_sid"]) != "undefined" ) {
			if( typeof(prm["ktr_sid"]) != "undefined" &&
			    this.tracking_cookie["ktr_sid"] != prm["ktr_sid"] ) {
				re = new RegExp("([\\?&])ktr_sid=[0-9a-fA-F]+");
				str = str.replace(re, "$1ktr_sid="+this.tracking_cookie["ktr_sid"]);
			}
		}
		if( this.unique_cookie && typeof(this.unique_cookie["ktr_uid"]) != "undefined" ) {
			if( typeof(prm["ktr_uid"]) == "undefined" &&
			    this.unique_cookie["ktr_uid"].match(/^[0-9a-fA-F]{1,32}$/) ) {
				str += ("&ktr_uid=" + this.unique_cookie["ktr_uid"]);
			}
			else {
				if( this.unique_cookie["ktr_uid"] != prm["ktr_uid"] ) {
					re = new RegExp("([\\?&])ktr_uid=[0-9a-fA-F]+");
					str = str.replace(re, "$1ktr_uid="+this.unique_cookie["ktr_uid"]);
				}
			}
		}
		else {
			if( typeof(prm["ktr_uid"]) != "undefined" ) {
				this.set_unique_cookie(prm);
			}
		}

		var adparam = {
			"xp" : ["ktr_cpid", 1],
			"xm" : ["ktr_mid",  1],
			"xr" : ["ktr_crid", 0]
		};
		for( var k in adparam ) {
			if( typeof(this.tracking_cookie[k]) == "undefined" ) {
				str = this.delete_parameter(adparam[k][0], str);
			}
			else {
				var buffer;
				if( adparam[k][1] == 1 ) {
					buffer = ("0000000000"+this.tracking_cookie[k]).slice(-10);
				}
				else {
					buffer = this.tracking_cookie[k];
				}
				str = this.replace_parameter(adparam[k][0], buffer, str);
			}
		}
		
		return str;
	}
};

function decode_url(u,k) {
	var	i;
	var	l = u.length;
	var	al = allstr.length;
	var	p;
	var	retstr = "";
	for( i=0; i<l; i++) {
		if( (pos = allstr.indexOf(u.charAt(i),0)) == -1 ) {
			return "";
		}
		pos = pos-k;
		if( pos < 0 ) {
			pos = al + pos;
		}
		retstr += allstr.charAt(pos);
	}
	retstr = __analyze.replace(retstr);

	return retstr;
}

var _url = decode_url(_iu,_ky);
var _obj = new Image(1,1);
_obj.src = _url;
_obj.onload = function() { return; }


