//getexif ver.0.1
//XMLHttpRequest
function createHttpRequest(){
	var req = window.XMLHttpRequest ? new XMLHttpRequest() :
	(function(){
		try { return new ActiveXObject("Msxml2.XMLHTTP"); }
		catch(e) {
			try { return new ActiveXObject("Microsoft.XMLHTTP"); }
			catch(e) { return null; }
		}
	})();
	return req;
}
// --------------------
function getData(sourceURL){
	var req = createHttpRequest();
	var desc;

	req.onreadystatechange = function(){
		if (req.readyState == 4 && req.status == 200) {
			parse_exif(req);
		}
	}

	req.open('GET', sourceURL, true);
	req.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
	req.send(null);

}

// --------------------
function parse_exif(req) {
	var xmldoc = req.responseXML;
//	var make    = xmldoc.getElementsByTagName('make');
	var model    = xmldoc.getElementsByTagName('model');
	var DateTimeOriginal = xmldoc.getElementsByTagName('DateTimeOriginal');
	var ISOSpeedRatings = xmldoc.documentElement.getElementsByTagName('ISOSpeedRatings');
	var exposureTime     = xmldoc.documentElement.getElementsByTagName('exposureTime');
	var fNumber     = xmldoc.documentElement.getElementsByTagName('fNumber');
	var n = DateTimeOriginal.length;
	if (n < 1) {
		return null;
	}
	var exifs = new Array();
	for (var i = 0 ; i < n ; i++) {
		var desc = {
//			'make'  : make[0].firstChild.nodeValue,
			'model'  : model[0].firstChild.nodeValue,
			'DateTimeOriginal'  : DateTimeOriginal[0].firstChild.nodeValue,
			'ISOSpeedRatings'  : ISOSpeedRatings[0].firstChild.nodeValue,
			'exposureTime'  : exposureTime[0].firstChild.nodeValue,
			'fNumber'  : fNumber[0].firstChild.nodeValue
		};
	}
	output_exif(desc);
}
// --------------------
function window_content(exif) {
	return '<div class="exifdata">'+exif.model+'<br />'+exif.DateTimeOriginal+'<br />'+exif.exposureTime+' '+exif.fNumber+' ISO'+exif.ISOSpeedRatings+'</div>';
}
// --------------------
function output_exif(exifs){
	if (exifs){
		Element.setInnerHTML( 'stimuli_meta', window_content(exifs));
//		document.write(window_content(exifs));
//		document.getElementById("exif").innerHTML = window_content(exifs);
	}
}
// --------------------
function get_exif(url) {
	var query = 'target=' + url;
		getData(baseurl + query);
}
// --------------------
function main() {
	get_exif('http://www.kuroneko-square.net/photos/2008/20082395.jpg');
}
// --------------------

//	var baseurl = 'http://www.kuroneko-square.net/services/exif/exifshow.php?exif=full&format=xml&';
	var baseurl = '/exif.php?exif=full&format=xml&';
//	onload = main;

