var img_id = -1;
var big_imgs = [];
var extra_big_imgs = [];

function getWindowWidth() {
	if (window.clientWidth)
		return window.clientWidth;
	if (window.innerWidth)
		return window.innerWidth;
	if (document.documentElement)
		return document.documentElement.clientWidth;
}


function getWindowHeight() {
	if (window.clientHeight)
		return window.clientHeight;
	if (window.innerHeight)
		return window.innerHeight;
	if (document.documentElement)
		return document.documentElement.clientHeight;
}

function getScrollX() {
	var x = 0;
	if (document.body)
	x = document.body.scrollWidth;
	var ww = getWindowWidth();
	return (x < ww) ?  ww : x;
 }

function getScrollY() {
	var y = 0;
	if (document.body)
		y =  document.body.scrollHeight;
	var wh = getWindowHeight();
	return (y < wh) ? wh : y;
}

function getScrollPosTop () {
	return window.pageYOffset || document.documentElement.scrollTop || document.scrollTop || 0;
}

function getWidth(obj) {
	if (obj.offsetWidth)
		return obj.offsetWidth;
	if (obj.clientWidth)
		return obj.clientWidth;
}

function getHeight(obj) {
	if (obj.offsetHeight)
		return obj.offsetHeight;
	if (obj.clientWidth)
		return obj.clientHeight;
}

function getTop(obj) {
    var result=obj.offsetTop;
    while((obj=obj.offsetParent)!=null)
        result+=obj.offsetTop;
    return result;
}

function getLeft(obj) {
    var result=obj.offsetLeft;
    while((obj=obj.offsetParent)!=null)
        result+=obj.offsetLeft;
    return result;
}

function closeWnd() {
	$('grayBg').style.display = 'none';
	$('wnd').style.display = 'none';
}

function keyPress(e) {
	var kC = (window.event) ? event.keyCode : e.keyCode;
	var Esc = (window.event) ? 27 : e.DOM_VK_ESCAPE; // MSIE : Firefox
	if(kC == Esc)
		closeWnd();
}

function centralizeWnd (eWnd) {
	var w = parseInt(getWidth(eWnd));
	var h = parseInt(getHeight(eWnd));
	w = ((getWindowWidth() - w) / 2);
	h = ((getWindowHeight() - h) / 2) + getScrollPosTop();
	if (w < 0) w = 0;
	if (h < 0) h = 0;
	eWnd.style.left = w + 'px';
	eWnd.style.top = h + 'px';
}

function putContentToWnd(wndName, cont) {
	var eWnd = $(wndName);
	eWnd.innerHTML = cont;
	eWnd.style.display = 'block';
	// ну, пошел быдлокодинг
	centralizeWnd(eWnd);
	document.onkeypress = keyPress;
}

function grayIt(id) {
	var grayWnd = $(id);
	grayWnd.style.display = 'block';
	grayWnd.style.width = '100%';//getScrollX() + 'px';
	grayWnd.style.height = getScrollY() + 'px';
}

function setbuttons () {
	$('back').style.display = (img_id == 0) ? 'none' : 'block';
	$('forward').style.display = (img_id == big_imgs.length - 1) ? 'none' : 'block';
}

function search_in_array(arr, v) {
	for (var i in arr)
		if (arr[i] == v)
			return i;
	return false;
}

function img_back() {
	img_id--;
	if (img_id < 0) {
		img_id = 0;
		return false;
	}
	if (extra_big_imgs[img_id])
	    $('i_info').innerHTML = '<a href="' + extra_big_imgs[img_id] + '" onclick="window.open(this.href);return false;"><img src="' + big_imgs[img_id] + '" /></a>';
	else
	    $('i_info').innerHTML = '<img src="' + big_imgs[img_id] + '" />';
	setbuttons();
}

function img_forward() {
	img_id++;
	if (img_id > big_imgs.length-1) {
		img_id = big_imgs.length-1;
		return false;
	}
	if (extra_big_imgs[img_id])
	    $('i_info').innerHTML = '<a href="' + extra_big_imgs[img_id] + '" onclick="window.open(this.href);return false;"><img src="' + big_imgs[img_id] + '" /></a>';
	else
	    $('i_info').innerHTML = '<img src="' + big_imgs[img_id] + '" />';
	setbuttons();
}

function getBack () {
	$('controls').style.display = 'none';
	$('i_info').innerHTML = '';
	$('v_info').style.display = 'block';
	centralizeWnd($('wnd'));
}

function setImg(index) {
	img_id = index;
	$('v_info').style.display = 'none';
	if (extra_big_imgs[index])
		$('i_info').innerHTML = '<a href="' + extra_big_imgs[index] + '" onclick="window.open(this.href); return false;"><img src="' + big_imgs[index] + '"/></a>';
	else
		$('i_info').innerHTML = '<img src="' + big_imgs[index] + '" />';
	$('controls').style.display = 'block';
	eWnd = $('wnd');
	w = ((getWindowWidth() - 600) / 2);
	h = ((getWindowHeight() - 450) / 2) + getScrollPosTop();
	if (w < 0) w = 0;
	if (h < 0) h = 0;
	eWnd.style.left = w + 'px';
	eWnd.style.top = h + 'px';
	setbuttons();
}
