var imagesArray;
var imageLink;
var imageNum;

function resizeContainer(nwidth, nheight) {
	var newwidth = nwidth+20;
	var addheight = Math.floor(document.getElementById('gallery_caption_'+(imageNum+1)).innerHTML.length/50)*16;
	var newheight = nheight+80+addheight;
	document.getElementById('caartgalContainer').style.marginLeft = -newwidth/2+'px';
	document.getElementById('caartgalContainer').style.marginTop = -newheight/2+'px';
	document.getElementById('caartgalContainer').style.width= newwidth+'px';
	document.getElementById('caartgalContainer').style.height = newheight+'px';
}

function embedInvisible() {
	var embeds = document.getElementsByTagName('embed');
    /*var objects_html = document.getElementsByTagName('object');*/
	for(var i=0; i<embeds.length;i++){
		var curlink = embeds[i];
		curlink.style.visibility = 'hidden';
		}
    /*for(var j=0; j<objects_html.length;j++){
		var curlink2 = objects_html[j];
		curlink2.style.visibility = 'hidden';
		}*/

    /*document.getElementById('bannerflash2').style.visibility = 'hidden';*/
}

function embedVisible() {
	var embeds = document.getElementsByTagName('embed');
    /*var objects_html = document.getElementsByTagName('object');*/
	for(var i=0; i<embeds.length;i++){
		var curlink = embeds[i];
		curlink.style.visibility = 'visible';
		}
    /*for(var j=0; j<objects_html.length;j++){
		var curlink2 = objects_html[j];
		curlink2.style.visibility = 'visible';
		}*/
    /*document.getElementById('bannerflash2').style.visibility = 'visible';*/
}


function fillImgArray(src) {
	imagesArray = [];
	var pagelinks = document.getElementsByTagName('a');
	for(var i=0; i<pagelinks.length;i++){
		var curlink = pagelinks[i];
		if(curlink.getAttribute('href') == 'javascript:displayImage(\''+src+'\');') {
			imageLink = curlink;
		}
	}
	
	for(var i=0; i<pagelinks.length;i++){
		var curlink = pagelinks[i];
		if(curlink.getAttribute('href') && (curlink.getAttribute('rel')==imageLink.getAttribute('rel'))) {
			imagesArray.push(curlink.getAttribute('href'));
		}
	}
	
	for(var i=0; i<imagesArray.length;i++){
		var curlink = imagesArray[i];
		if(curlink==imageLink.getAttribute('href')) {
			imageNum = i;
		}
	}
}

function nextImg() {
	if(imageNum+1<imagesArray.length) {
		imageNum++;
		window.location.href = imagesArray[imageNum];
	}
}

function prevImg() {
	if(!(imageNum==0)) {
		imageNum--;
		window.location.href = imagesArray[imageNum];
	}
}

function setVisibility() {
	if(imageNum+1==imagesArray.length) {
		document.getElementById('nextLink').style.display = 'none';
	} else {
		document.getElementById('nextLink').style.display = 'inline';
	}
	
	if(imageNum==0) {
		document.getElementById('prevLink').style.display = 'none';
	} else {
		document.getElementById('prevLink').style.display = 'inline';
	}
}

function displayImage(src) {
    embedInvisible();
  	fillImgArray(src);
	setVisibility();
	document.getElementById('caartGalContent').innerHTML = '<img src="loader.gif" alt="" border="0"/>';
	var newImg = new Image();
	newImg.onload = getWidthAndHeight;
	newImg.src = src;
	document.getElementById('background').style.display = 'block';
	document.getElementById('background').style.height = getScrollY()+'px';
	if(document.getElementById('description')) {
		document.getElementById('description').style.display = 'none';
	}
	document.getElementById('caartgalContainer').style.display = 'block';
}

function height() {
    if (document.all) 
        return(document.body.offsetHeight);
    else if (document.layers)
        return(document.body.document.height);
}

function getWidthAndHeight() {
	resizeContainer(this.width, this.height);
	document.getElementById('caartGalContent').innerHTML = '<img src="'+this.src+'" border="0" /><div class="caartgalDescr">'+document.getElementById('gallery_caption_'+(imageNum+1)).innerHTML+'</div>';
	
}

function closeImg() {
	embedVisible();
	document.getElementById('background').style.display = 'none';
	document.getElementById('caartgalContainer').style.display = 'none';
	if(document.getElementById('description')) {
		document.getElementById('description').style.display = 'block';
	}
}

function getScrollY() {

	if (window.innerHeight && window.scrollMaxY) {// Firefox
		yWithScroll = window.innerHeight + window.scrollMaxY;
		xWithScroll = window.innerWidth + window.scrollMaxX;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		yWithScroll = document.body.scrollHeight;
		xWithScroll = document.body.scrollWidth;
	} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
		yWithScroll = document.body.offsetHeight;
		xWithScroll = document.body.offsetWidth;
  	}
  	if(yWithScroll==0) {
  		yWithScroll = window.innerHeight + window.scrollMaxY;
		xWithScroll = window.innerWidth + window.scrollMaxX;
  	}
	arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);
	//alert( 'The height is ' + yWithScroll + ' and the width is ' + xWithScroll );
	return yWithScroll;

}
