var current_photo_element = false;
var global_name = false;
var global_num = false;

function set_large_photo()
{
	var backgroundImage = document.getElementById('photo').style.backgroundImage.replace('medium', 'large');
	if (div = document.getElementById('photo_large')) {
		var backgroundImageLarge = div.style.backgroundImage;
		document.getElementById('photo_big').removeChild(div);
	} else {
		var backgroundImageLarge = '';
	}
	if (backgroundImageLarge != backgroundImage) {
		var new_element = document.createElement('div');
		new_element.setAttribute('id', 'photo_large');
		new_element.style.backgroundImage = backgroundImage;
		document.getElementById('photo_big').appendChild(new_element);
	}
}

var photosdiv = {
	1:{
		element:'div',
		attributes:{"id":'photos'},
		textnode:
		{
			1:{
				element:'div',
				attributes:{"id":'photoset'}
			},
			2:{
				element:'div',
				attributes:{"id":'photo'},
				listeners:{"click":set_large_photo}
			},
			3:{
				element:'div',
				attributes:{"id":'photo_big'}
			}
		}
	}
}

function setphoto(a_element)
{
	if (current_photo_element) {
		current_photo_element.style.backgroundColor = 'transparent';
	}
	current_photo_element = a_element;
	a_element.style.backgroundColor = '#acb2c9';
	document.getElementById('photo').style.backgroundImage = a_element.style.backgroundImage.replace('small', 'medium');
	if (document.getElementById('photo_large')) {
		set_large_photo();
	}
}

function setphotos(a_name, a_num)
{
	global_name = a_name;
	global_num = a_num;
}

function set_listener(a_element)
{
	a_element.onclick = function(){setphoto(a_element);};
}

function resize()
{
	if (navigator.appName == 'Microsoft Internet Explorer') {
		var IEWidth = 0;
		if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
			IEWidth = document.documentElement.clientWidth;
		} else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
			IEWidth = document.body.clientWidth;
		}
		var main = document.getElementById('main');
		var lc = document.getElementById('lc');
		var rc = document.getElementById('rc');
		if (IEWidth < 1210) {
			main.style.width = '1210px';
			lc.style.width = '';
			rc.style.width = '';
		} else {
			var widht = (IEWidth - 1205) / 2;
			widht = widht.toFixed(0) + 'px';
			main.style.width = '';
			lc.style.width = widht;
			rc.style.width = widht;
		}
	}
}

window.onload = function ()
{
	resize();
	if (navigator.appName == 'Microsoft Internet Explorer') {
		window.onresize = resize;
	}
	if ((a_parent = document.getElementById('content')) && (global_name)  && (global_num)) {
		createElements(a_parent, photosdiv, false);
		if (element = document.getElementById('photoset')) {
			for (i = 1; i <= global_num; i++) {
				var new_element = document.createElement('div');
				set_listener(new_element);
				element.appendChild(new_element);
			}
			var divs = element.getElementsByTagName('div');
			for (i = 0; i < divs.length; i++) {
				num = i + 1;
				divs[i].style.backgroundImage = 'url(resources/publications/' + global_name + '/' + global_name + '.' + num + '.small.jpg)';
			}
			setphoto(divs[0]);
		}
	}
}

function createElements(a_parent, a_nodes, id)
{
	for (var key in a_nodes) {
		var new_element = document.createElement(a_nodes[key].element);
		if ((a_nodes[key].attributes != undefined) && (typeof(a_nodes[key].attributes) == 'object')) {
			for (var attribute in a_nodes[key].attributes) {
				if ((id) && (((attribute == 'id') || (attribute == 'name') || (attribute == 'for')))) {
					if (a_nodes[key].element == 'tr') {
						new_element.setAttribute(attribute, a_nodes[key].attributes[attribute] + '[' + id + '][' + key + ']');
					} else {
						new_element.setAttribute(attribute, a_nodes[key].attributes[attribute] + '[' + id + ']');
					}
				} else {
					if ((attribute == 'class') && (navigator.appName == 'Microsoft Internet Explorer')) {
						new_element.setAttribute('className', a_nodes[key].attributes[attribute]);
					} else {
						new_element.setAttribute(attribute, a_nodes[key].attributes[attribute]);
					}
				}
			}
		}

		if (a_nodes[key].listeners != undefined) {
			for (var event in a_nodes[key].listeners) {
				var func = a_nodes[key].listeners[event];
				if (new_element.addEventListener) {
					new_element.addEventListener(event, a_nodes[key].listeners[event], false);
				} else if (new_element.attachEvent) {
					new_element.attachEvent('on' + event, a_nodes[key].listeners[event]);
				}
			}
		}

		if (a_nodes[key].textnode != undefined) {
			if (typeof(a_nodes[key].textnode) == 'object') {
				createElements(new_element, a_nodes[key].textnode, id);
			} else if (a_nodes[key].textnode != '') {
				if (a_nodes[key].textnode == 'id') {
					var text_node = document.createTextNode(id);
				} else {
					var text_node = document.createTextNode(a_nodes[key].textnode);
				}
				new_element.appendChild(text_node);
			}
		}
		a_parent.appendChild(new_element);
	}
}