function sendR2D2URL(linkobj, d2Id, extraParams) {
    var outUrl;
    var url = linkobj.href;
    var urlStr = new String(url).trim();
    if(urlStr.length == 0) {
        outUrl = 'http://' + document.domain;
    } else if(d2Id == '') {
        outUrl = urlStr;
    } else {
        outUrl = 'http://rd.rakuten.co.jp/s/?R2=' + encodeURIComponent(urlStr) + '&D2=' + d2Id;
        if(extraParams != null) {
            outUrl = outUrl + extraParams;
        }
    }
    linkobj.href = outUrl;
}

function sendR2D2URLwoEnc(linkobj, d2Id, extraParams) {
    var outUrl;
    var url = linkobj.href;
    var urlStr = new String(url).trim();
    if(urlStr.length == 0) {
        outUrl = 'http://' + document.domain;
    } else if(d2Id == '') {
        outUrl = urlStr;
    } else {
        outUrl = 'http://rd.rakuten.co.jp/s/?R2=' + urlStr + '&D2=' + d2Id;
        if(extraParams != null) {
            outUrl = outUrl + extraParams;
        }
    }
    linkobj.href = outUrl;
}

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, "");
}

function rd(d2Id) {
    if(d2Id.length > 0) {
        var el = (document.activeElement || window.getSelection().focusNode);
        var url = el.href;
        sendR2D2URL(url, d2Id);
    }
}


//function _dom_trackActiveElement(evt) {
//    if (evt && evt.target) {
//        document.activeElement = evt.target == document ? null : evt.target;
//    }
//}
//function _dom_trackActiveElementLost(evt) {
//    document.activeElement = null;
//}
//function onload() {
//	if (document.addEventListener) {
//    document.addEventListener("focus",_dom_trackActiveElement,true);
//    document.addEventListener("blur",_dom_trackActiveElementLost,true);
//}
//}
