var current_year = -1;
var current_month = -1;
var current_name = "";

var next_img;
var prev_img;

function check_url() {
	if (location.hash=="#not-found") {
		Element.hide('photo_loading');
		Element.hide('photo_image');
		Element.hide('imageContainer');
		document.getElementById('photo_header').innerHTML = "Фотография не существует или была удалена";
		document.title="Фотография не найдена";
		document.getElementById('prev_none').style.display='none';
		document.getElementById('prev').style.display='none';
		document.getElementById('next').style.display='none';
		document.getElementById('next_none').style.display='none';
	} else {
		m = location.hash.match(/^#(\d\d\d\d)-(\d\d)-(.*)$/);
		if (m) {
			year = m[1];	
			month = m[2];	
			name = m[3];	

			if (year!=current_year || month!=current_month || name!=current_name) {
				show_photo(year, month, name);
			}
		} else {
			not_found();
		}
	}
}

function not_found() {
	location.hash = "not-found";
}

function show_photo(year, month, name) {
	var ph;
	var i;
	var found = 0;

	current_year = year;
	current_month = month;
	current_name = name;

	for (i=0; i<_photo.length; i++) {
		ph = _photo[i];
		if (ph['y'] == year && ph['m'] == month && ph['name'] == name) {
			found = 1;
			break;
		}
	}		

	if (found==0) {
		not_found();
	} else {
		var next;
		var prev;

		if (i>0) {
			prev = _photo[i-1];
		}

		if (i<_photo.length-1) {
			next = _photo[i+1];
		}

		if (prev) {
			document.getElementById('prev').href='#'+prev['y']+'-'+prev['m']+'-'+prev['name'];
			document.getElementById('prev').style.display='inline';
			document.getElementById('prev_none').style.display='none';
			prev_img = "photos/"+prev['y']+"/"+prev['m']+"/"+prev['name']+".jpg";
		} else {
			document.getElementById('prev').style.display='none';
			document.getElementById('prev_none').style.display='inline';
			prev_img = null;
		}

		if (next['y']) {
			document.getElementById('next').href='#'+next['y']+'-'+next['m']+'-'+next['name'];
			document.getElementById('next').style.display='inline';
			document.getElementById('next_none').style.display='none';
			next_img = "photos/"+next['y']+"/"+next['m']+"/"+next['name']+".jpg";
		} else {
			document.getElementById('next').style.display='none';
			document.getElementById('next_none').style.display='inline';
			next_img = null;
		}

		Element.show('imageContainer');
		Element.show('photo_loading');
		Element.hide('photo_image');

		var img = document.getElementById('photo_image');

		Element.setWidth('imageContainer', ph['w']);
		Element.setHeight('imageContainer', ph['h']);

		document.title="Загружается...";

		if (ph['title']!='') {
			document.getElementById('photo_header').innerHTML = ph['title'];
			document.getElementById('photo_header').style.fontWeight='bold';
		} else {
			document.getElementById('photo_header').innerHTML = ph['name'];
			document.getElementById('photo_header').style.fontWeight='normal';
		}

		loader = new Image();

		loader.onload=function() {
			if (current_name!=name) return;
			if (current_month!=month) return;
			if (current_year!=year) return;

			Element.setWidth('photo_image', ph['w']);
			Element.setHeight('photo_image', ph['h']);
			Element.setSrc('photo_image', "photos/"+ph['y']+"/"+ph['m']+"/"+ph['name']+".jpg");
/*			Element.setTitle('photo_image', ph['title']);
			Element.setAlt('photo_image', ph['title']);*/

			Element.hide('photo_loading');
			Element.show('photo_image');

			if (next_img) {
				nextLoader = new Image();
				nextLoader.src = next_img;
			}

			if (prev_img) {
				prevLoader = new Image();
				prevLoader.src = prev_img;
			}


			if (ph['title']!='') {
				document.title=ph['title']+" - "+ph['m']+'/'+ph['y'];
			} else {
				document.title=ph['name']+" - "+ph['m']+'/'+ph['y'];
			}
		}

		loader.src="photos/"+ph['y']+"/"+ph['m']+"/"+ph['name']+".jpg";

		update_boxes(ph['y'],ph['m'],ph['name']);
	}
}

setInterval(check_url, 1000); 

