/**
* This function should return a URL which points to the book cover image based on ISBN.
*/


function buildISBNSrc(isbn, size) {
	size = (size) ? size : 'small';
	var protocol = (OILS_OPAC_STATIC_PROTOCOL) ? OILS_OPAC_STATIC_PROTOCOL + ':' : location.protocol;
    if(OILS_OPAC_IMAGES_HOST)
        return protocol + '//' + OILS_OPAC_IMAGES_HOST + size + '/' + isbn;
	return '../../../../extras/ac/jacket/'+size+'/'+isbn;
}      


function acMakeURL(type, key) {
	return '../../../../extras/ac/' + type + '/html/' + key;
}


function acCollectData( key, callback ) {
	var context = { key : key, callback: callback, data : {} };
	acCollectItem(context, 'summary');
	acCollectItem(context, 'reviews');
	acCollectItem(context, 'toc');
	acCollectItem(context, 'excerpt');
	acCollectItem(context, 'anotes');
}

function acCheckDone(context) {
	if(	context.data.reviews && context.data.reviews.done &&
			context.data.toc		&& context.data.toc.done &&
			context.data.excerpt && context.data.excerpt.done &&
			context.data.anotes	&& context.data.anotes.done ) {

		if(context.callback) context.callback(context.data);
	}
}

function acCollectItem(context, type) {
	var req = buildXMLRequest();
	req.open('GET', acMakeURL(type, context.key), true);
	req.onreadystatechange = function() {
		if( req.readyState == 4 ) {
			context.data[type] = { done : true }

			if(IE) {

				/* Someone please explain why IE treats status 404 as status 200?? 
					On second thought, don't bother.
				*/
				if( ! req.responseText.match(
					/The requested URL.*was not found on this server/) )
					context.data[type].html = req.responseText;

			} else {
				if( req.status != 404 ) 
					context.data[type].html = req.responseText;
			}
			acCheckDone(context);
		}
	}
	req.send(null);
}


