var liburl = document.referrer;
var libname = document.title;

var l_name = new Array(
	"青森県内図書所蔵マップに",
	"岩手県内図書所蔵マップに",
	"宮城県内図書所蔵マップに",
	"秋田県内図書所蔵マップに",
	"山形県内図書所蔵マップに",
	"福島県内図書所蔵マップに",
	"福島県内図書所蔵マップに"
);
var l_url = new Array(
	"http://natu-n.com/Aomori_map.htm",
	"http://natu-n.com/Iwate_map.htm",
	"http://natu-n.com/Miyagi_map.htm",
	"http://natu-n.com/Akita_map.htm",
	"http://natu-n.com/Yamagata_map.htm",
	"http://natu-n.com/Fukushima_map.htm",
	"http://natu-n.com/newfileX.html"
);

function load() {
	Event.observe($('ttl'), 'keypress',
		function(event){
			if (event.keyCode == Event.KEY_RETURN) {
				Event.stop(event);
				document.iform.sub.focus();
				Az_Get(1);
			}
		}
		, false);

//	リファラ設定
	var ref = document.referrer;
	for (var i=0;i<7;i++) {
		var reg = new RegExp("^" + l_url[i] + ".*$" );
		if ( reg.test(ref) ) {
			liburl = l_url[i];
			libname = l_name[i];
			Event.observe($('back'), 'click',
				function(event){
					location.href = liburl;
				 }
			, false);
			break;
		}
	}
	document.iform.ttl.focus();
}

function Az_Get (page) {
	var name = document.iform.ttl.value
	var elementTarget = $("main");
	while ( elementTarget.hasChildNodes() ) {
		elementTarget.removeChild(elementTarget.firstChild);
	}
	var url = "http://natu-n.com/Amazon_Get.cgi?atag=blog082b-22&name=" + encodeURIComponent( name ) + "&page=" + page;
	var http = new JKL.ParseXML.JSON( url );
	var data = http.parse();
//	var dumper = new JKL.Dumper();
//	alert( dumper.dump( data ) );
	var hash1 = $H( data.table );
	var i = 0;
	var height1 = 0;
	var height2 = 0;
	var height3 = 0;
	hash1.each( function( pair ) {
		if ( height1 < hash1[pair.key].height ) { height1 = hash1[pair.key].height }
	} );
	
	hash1.each( function( pair ) {
		Element.addClassName(elementTarget.appendChild( document.createElement('div') ), 'itemBox');
		Element.addClassName(elementTarget.getElementsByClassName('itemBox')[i].appendChild( document.createElement('div') ), 'itemPhoto');
		elementTarget.getElementsByClassName('itemPhoto')[i].style.height = height1 + "px";
		var h = elementTarget.getElementsByClassName('itemPhoto')[i].getHeight();
		if (height3 < h) { height3 = h };

		var im1 = document.createElement('img');
			im1.setAttribute('src', hash1[pair.key].mediumimage);
		if (hash1[pair.key].isbn == "XXXXXXXXXX") {
			elementTarget.getElementsByClassName('itemPhoto')[i].appendChild(im1);
		} else {
			var lk1 = document.createElement('a');
				adr = liburl + "?isbn=" + hash1[pair.key].isbn;
				lk1.setAttribute('href' ,adr);
				lk1.setAttribute('title' ,libname);
			elementTarget.getElementsByClassName('itemPhoto')[i].appendChild(lk1);
			elementTarget.getElementsByClassName('itemPhoto')[i].getElementsByTagName('a')[0].appendChild(im1);
		}
		Element.addClassName(elementTarget.getElementsByClassName('itemBox')[i].appendChild( document.createElement('div') ), 'itemText');

		var elementTarget2 = elementTarget.getElementsByClassName('itemText')[i];
//		elementTarget2.appendChild(document.createElement('p'));
//		elementTarget2.getElementsByTagName('p')[0].appendChild( document.createTextNode( pair.key ) );
		elementTarget2.appendChild(document.createElement('p'));
		elementTarget2.getElementsByTagName('p')[0].appendChild( document.createTextNode( hash1[pair.key].title ) );
		elementTarget2.appendChild( document.createElement('p') );
		elementTarget2.getElementsByTagName('p')[1].appendChild( document.createTextNode( hash1[pair.key].author ) );
		elementTarget2.appendChild( document.createElement('p') );
		elementTarget2.getElementsByTagName('p')[2].appendChild( document.createTextNode( hash1[pair.key].binding ) );

		var h = elementTarget2.getHeight();
		if (height2 < h) { height2 = h };
		i++;
	} );
//
	for (var j=0;j<i;j++){
		elementTarget.getElementsByClassName('itemText')[j].style.height = (height2 - 10) + "px";
// IE6, older browsers 
		if (typeof document.body.style.maxHeight == "undefined") { 
			elementTarget.getElementsByClassName('itemPhoto')[j].style.height = (height3 - 10) + "px";
		}
	}
	var elementTarget = document.getElementsByClassName('pagenavi')[0];
	while ( elementTarget.hasChildNodes() ) {
		elementTarget.removeChild(elementTarget.firstChild);
	}

	var t1 = document.createTextNode( "Page " + data.page + " of " + data.totalpages );
	Element.addClassName(elementTarget.appendChild( document.createElement('span') ), 'pages');
	elementTarget.getElementsByClassName('pages')[0].appendChild( t1 );

//	ページが１ページしかない場合は表示しない
	if ( data.totalpages  ==  1) { return };

	var j = 0;

//	１ページ目？
	if ( data.page != 1) {
		var lk1 = document.createElement('a');
		    lk1.setAttribute('href' ,"#");
		    lk1.setAttribute('title' ,"Prev");
		elementTarget.appendChild(lk1);
		elementTarget.getElementsByTagName("a")[0].appendChild( document.createTextNode( "\u300A" ) );
		Event.observe(elementTarget.getElementsByTagName("a")[0], 'click',
			function(event){ Az_Get( data.page - 1 ); }
			, false);
		j++;
	}

	var st = Math.floor( ( data.page  - 1 ) / 5 ) * 5 + 1;
	var ed = st + 4;
	for (var i=st;( i <= data.totalpages && i <= ed );i++) {
		if ( i == data.page ) {
			Element.addClassName(elementTarget.appendChild( document.createElement('span') ), 'current');
			elementTarget.getElementsByClassName('current')[0].appendChild( document.createTextNode( data.page ) );
		} else {
			var lk1 = document.createElement('a');
			    lk1.setAttribute('href' ,"#");
			    lk1.setAttribute('title' ,( i ));
			elementTarget.appendChild(lk1);
			elementTarget.getElementsByTagName("a")[j].appendChild( document.createTextNode( i ) );
			var k = i;
			Event.observe(elementTarget.getElementsByTagName("a")[j], 'click', page_click);
			j++;
		}
	}

	if ( data.page != data.totalpages ) {
		var lk1 = document.createElement('a');
		    lk1.setAttribute('href' ,"#");
		    lk1.setAttribute('title' ,"Next");
		elementTarget.appendChild(lk1);
		elementTarget.getElementsByTagName("a")[j].appendChild( document.createTextNode( "\u300B" ) );
		Event.observe(elementTarget.getElementsByTagName("a")[j], 'click',
			function(event){ Az_Get( data.page - 0 + 1 ); }
			, false);
	}
}

function page_click (e) {
	var elem = Event.element(e);
	Az_Get( elem.childNodes[0].nodeValue );
}


