/*
 * $Id: asinjp.js,v 0.6 2007/03/19 14:43:33 dankogai Exp dankogai $
 */

function ASINjpHandler(associate_id, asap){
    var sizemap = { 's':'THUMBZZZ', 'm':'MZZZZZZZ', 'l':'LZZZZZZZ' };
    var handler = function(){
        var elems = document.getElementsByTagName('a');
        for (var i = 0, l = elems.length; i < l; i++){
            var href = elems[i].getAttribute('href');
            if (! href ) continue;
            if (! href.match(/^asin:/)) continue;
	    elems[i].setAttribute('title', href);
            var asin = href.substr(5);
            href = asin == 'search'
		? 'http://www.amazon.co.jp/gp/search?'
                + 'ie=UTF8&index=blended&linkCode=ur2'
                + '&keywords=' + encodeURIComponent(elems[i].innerHTML)
		: 'http://www.amazon.co.jp/gp/product/' 
		+ asin + '?ie=UTF8&linkCode=as2';
            if (associate_id) href += '&tag=' + associate_id;
            elems[i].setAttribute('href', href);
            elems[i].setAttribute('target', '_blank');
            elems[i].className = 'asin';
        }
	elems = document.getElementsByTagName('img');
        for (var i = 0, l = elems.length; i < l; i++){
            var src = elems[i].getAttribute('src');
            if (! src ) continue;
            if (! src.match(/^asin:/)) continue;
	    elems[i].setAttribute('alt', src);
            var asin = src.substr(5);
	    var size = '';
	    asin =  asin.replace(/\.(.+)$/,function(m0,m1){
		size = m1;
		return '';
	    });
	    if (asin == 'noimage'){
		if (!size) size = 128;
		src = 'http://ec1.images-amazon.com/'
		    + 'images/G/09/nav2/dp/no-image-no-ciu._AA'
		    + size + '_.gif';
	    }else{
		if (sizemap[size]) size = sizemap[size];
		if (!size) size = sizemap.m;
		if (size.match(/^[0-9]+$/)){
		    size = '_AA' + size + '_SCLZZZZZZZ_';
		}
		src = 'http://ec2.images-amazon.com/images/P/'
		    + asin + '.01.' + size + '.jpg';
	    }
	    elems[i].setAttribute('src', src);
            elems[i].className = 'asin';
       }
    };
    if (asap){
	handler();
    }else{
        if (window.addEventListener){
	    window.addEventListener('load', handler, false);
	}else if (window.attachEvent){
	    window.attachEvent('onload',  handler);
	}
    }
}

