var __cp_params = new Array( "xp", "xm", "xr" );
var __cp_ktrack = new Array( "ktr_cpid", "ktr_mid", "ktr_crid" );
var __max_zero = "0000000000";
var __max_zero_len = 10;

var __is_send_referer = 0;

function __getURL() {
    var url = __decodeURL(window.document.URL);
    var qs = "";
    if( typeof(__add_params) != "undefined" ) {
        qs = __pickupParams(__add_params, __add_params, 0);
    }
    if( qs != "" ) {
        url = url.split("?")[0] + "?" + qs;
    }
    else {
        if( window.location.search != "" ) {
            url = url.split("?")[0];
        }
   }
   return (url);
}
function __getReferrer() {
    var ref;
    var qs;
    if( window.document.referrer == "" || window.document.referrer == "-" ) {
        return "";
    }
    else {
        return __encodeURL(window.document.referrer);
    }
}

function __pickupParams(p, r, m) {
    var qs = window.location.search;
    var params;
    var wd;
    var i,j;
    var ret = "";

    if( qs == "" || typeof(qs) != "string" ) {
        return "";
    }
    if( qs.indexOf("?") > -1 ) {
        qs = qs.replace("?","");
    }

    if( typeof(p) != "object" || typeof(r) != "object" ) {
        return "";
    }
    if( p.length < 1 || r.length < 1 || p.length != r.length ) {
        return "";
    }

    if( qs.indexOf("&") > -1 ) {
        params = qs.split("&");
    }
    else {
        params = new Array( qs );
    }
    for(i=0; i<params.length; i++) {

        if( params[i].indexOf("=") < 0 ) {
            continue;
        }
        wd = params[i].split("=");
        if( wd.length < 2 ) {
		    continue;
		}
        for(j=0; j<p.length; j++) {
            if( wd[0] == p[j] ) {
                if( m = 1 && (wd[0] == "xp" || wd[0] == "xm" ) ) {
					var _pudlen = __max_zero_len - wd[1].length;
				    wd[1] = __max_zero.substring(0,_pudlen) + wd[1];
                }
                ret += (((ret != "") ? "&" : "") + (r[j] + "=" + wd[1]));
            }
        }
    }
    return ret;
}

function __getCampaign() {
    return __pickupParams(__cp_params, __cp_ktrack, 1)
}

function __getProtocol() {
    return location.protocol;
}

function __build_img_url(_url) {
    var cp  = __getCampaign();
    var ref = "";
    var url = __getProtocol() + "//" + __call_domain +
              "/dot.php?ktr_site=" + __site_id +
                      "&" + _url +
                      ((cp != "")  ? ("&"+cp)  : "");

	if( !__is_send_referer ) {
		ref = __getReferrer();
		__is_send_referer = 1;
		url += ((ref != "") ? ("&ktr_httpref="+ref) : "");
	}
    return url;
}

function __encodeURL(str) {
    if( typeof(encodeURIComponent) == "function" ) {
        return encodeURIComponent(str);
    }
    else {
        return escape(str);
    }
}
function __decodeURL(str) {
    if( typeof(decodeURIComponent) == "function" ) {
        return decodeURIComponent(str);
    }
    else {
        return unescape(str);
    }
}

function __write_imgtag(url) {
    var __write_imgtag;
    var __imgobj;
    if( typeof(url) != "string" ) {
        return;
    }
    
//    __write_imgtag = "<img src=\"" + url + "\" border=0 width=1 height=1>";
//    document.write(__write_imgtag);
    __imgobj = new Image(1,1);
    __imgobj.src = url+"&lt="+(new Date).getTime();
    __imgobj.onLoad = __beacon_load;
}

function __push_beacon(_url) {
    var _bu;
    var _u;
    _u = "ktr_url=" + __encodeURL(_url);
    _bu = __build_img_url(_u);
    __write_imgtag(_bu);
}

function __beacon_load() {
    return;
}

var __imgurl;
var __callurl;
if( typeof(__call_domain) != "undefined" &&
    typeof(__site_id) != "undefined" &&
    typeof(__no_init) == "undefined" ) {
    __callurl = __getURL();
    __push_beacon(__callurl);
}
