var is_allowed_pic_src_read = true;
var picture_id = "";
var next_pic = {
	params: function() {
		set_indicator();
		get_current_picture_id();
		var href_arr = window.location.href.split('/');
		return {
			'rs': 'module_gallery.get_picture_data',
			'rsargs[0]': picture_id,
			'rsargs[1]': 'next',
			'rsargs[2]': href_arr[href_arr.length-2]
		}
	},
	res: function(originalRequest) {
		set_data_of_image(originalRequest.responseText); 
	}
}
var previous_pic = {
	params: function() {
		set_indicator();
		get_current_picture_id();
		var href_arr = window.location.href.split('/');
		return {
			'rs': 'module_gallery.get_picture_data',
			'rsargs[0]': picture_id,
			'rsargs[1]': 'previous',
			'rsargs[2]': href_arr[href_arr.length-2]
		}
	},
	res: function(originalRequest) {
		set_data_of_image(originalRequest.responseText); 
	}
}

function get_current_picture_id() {
	if (is_allowed_pic_src_read) {
		var href_arr = window.location.href.split('/');
		var ids = href_arr[href_arr.length-1].split(',');
		picture_id = ids[ids.length-1];
		is_allowed_pic_src_read = false;
	}
}

function set_data_of_image(res) {
	if (res != 'error') {
		var msg_arr = res.split('__#msg_sep#__');
		var url = $('picture_id').src;
		var url_parts = url.split('/');
		url_parts.pop();
		url = url_parts.join('/');
		$('picture_id').src = url+'/'+msg_arr[0];
		$('currentPage').innerHTML = msg_arr[1];
		$('currentPage2').innerHTML = msg_arr[1];
		//picture name
		if($('pic_name_h2')) $('pic_name').removeChild($('pic_name_h2'));
		if (msg_arr[3].length > 0) {
			var name = document.createTextNode(msg_arr[3]);
			try {
				pic_name_h2 = document.createElement('<p id="pic_name_h2" style="color: #3c84b6; font-weight: bold; margin-bottom: 10px;"></p>');
			} 
			catch (e) {
				pic_name_h2 = document.createElement('p');
				pic_name_h2.setAttribute('id', 'pic_name_h2');
				pic_name_h2.setAttribute('style', 'color: #3c84b6; font-weight: bold; margin-bottom: 10px;');
			}
			pic_name_h2.appendChild(name);
			$('pic_name').appendChild(pic_name_h2);
		}
		//picture description
		if($('description_div')) $('description_span').removeChild($('description_div'));
		if (msg_arr[2].length > 0) {
			var name = document.createTextNode(msg_arr[2]);
			try {
				apic_name_h2 = document.createElement('<p id="description_div" style="position:relative; top: 5px;"></p>');
			} 
			catch (e) {
				apic_name_h2 = document.createElement('p');
				apic_name_h2.setAttribute('id', 'description_div');
				apic_name_h2.setAttribute('style', 'position:relative; top: 5px;');
			}
			apic_name_h2.appendChild(name);
			$('description_span').appendChild(apic_name_h2);
		}
		picture_id = msg_arr[4];
	}
	else {
		var url = window.location.href;
		var url_parts = url.split('/');
		url = url_parts[0]+'//'+url_parts[2];
		window.location = url+$('gallery_href').innerHTML;
	}
	$('ajax_activity').style.display = 'none';
	$('ajax_activity').style.visibility = 'hidden';
}
function set_indicator() {
	pos = findPos($('picture_id'));
	var imgHeight = getImgHeight($('picture_id').src);
	var imgWidth = getImgWidth($('picture_id').src);
	pos_top = (pos[1]+(imgHeight/2));
	pos_left = (pos[0]+(imgWidth/2));
	act_pos = findPos($('ajax_activity'));
	pos_top -= act_pos[1];
	pos_left -= act_pos[0];
	imgHeight = getImgHeight($('ajax_activity').src);
	imgWidth = getImgWidth($('ajax_activity').src);
	pos_top -= (imgHeight/3);
	pos_left -= (imgWidth/3);
	$('ajax_activity').style.top = pos_top + 'px';
	$('ajax_activity').style.left = pos_left + 'px';
	$('ajax_activity').style.display = '';
	$('ajax_activity').style.visibility = 'visible';
}
function getImgHeight(imgSrc) {
	var newImg = new Image();
	newImg.src = imgSrc;
	var height = newImg.height;
	return height;
}

function getImgWidth(imgSrc) {
	var newImg = new Image();
	newImg.src = imgSrc;
	var width = newImg.width;
	return width;
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}
