
var thumbs = document.getElementById('thumbs');
var currentimg = 0;
var totalcount;
var smalls = new Array();
var bigs = new Array();
var newo = 0;
var oldo = 100;
var currentTarget = 0;

function nextthumb() { if(currentimg < totalcount - 1) { gotothumb(parseInt(currentimg) + 1, false); } else { gotothumb(0, false); } }
function previousthumb() { if(currentimg > 0) { gotothumb(parseInt(currentimg) - 1, false); } else { gotothumb(parseInt(totalcount) - 1, false); } }
function getImagePosition(n) {
	n++;
	if ( n < 4 ) return 0;
	else if ( n > totalcount - 2) return (((totalcount) * -64) + 300);
	else return ((n - 3) * -64);
}
function gotothumb(thumbnum, postswap) {
	document.getElementById('thumb' + currentimg).className = 'off';
	document.getElementById('thumb' + thumbnum).className = 'current';
	currentTarget = thumbnum;
	if (postswap == false) { swapimage(currentimg, thumbnum); }
	slideto(getImagePosition(thumbnum));
	currentimg = thumbnum;	
}
function slideto(g) {
	if (g == getImagePosition(currentTarget))
		if(parseInt(thumbs.style.left) != g) { setTimeout('movealittle(' + g + ')', 60); }
}
function movealittle(g) {
	var D = Math.abs(parseInt(thumbs.style.left) - g);
	var d = 1;
	if(D == 1) { d = 1; } else if(D < 10) {	d = 2; } else if(D < 65) { d = 10; } else if(D < 97) { d = 20; }
 		else if(D < 129) { d = 30; } else if(D < 257) {	d = 40; } else { d = 50; }
	if(parseInt(thumbs.style.left) > g) thumbs.style.left = (parseInt(thumbs.style.left) - d) + 'px';
	else thumbs.style.left = (parseInt(thumbs.style.left) + d) + 'px';
	slideto(g);
}
function swapimage(curImage, newImage) { 
	for (var i = 0; i < totalcount; i++)
		if (i != newImage && i != curImage) { document.getElementById('big'+i).style.display = 'none'; }
	fadeInOut('big' + curImage, 'big' + newImage); 
}
function initImageViewer (mlnum, mls, imagecount) {
	totalcount = imagecount;
	if (document.images) {
		preloader = new Image();
		for(var i = 0; i < totalcount; i++) {
			smalls[i] = '/images/propertyphotos/' + mls + 'small/' + mlnum + '_' + i + '.jpg';
			bigs[i] = '/images/propertyphotos/' + mls + 'large/' + mlnum + '_' + i + '.jpg';
		}
		for(var i = 0; i < totalcount; i++) { preloader.src = smalls[i]; }
	  	for(var i = 0; i < totalcount; i++) { preloader.src = bigs[i]; }
		for(var i = 0; i < totalcount; i++) { 
			var img = new Image();
			img.src = document.getElementById('big' + i).src;
			if(img.width < img.height) {
				document.getElementById('big' + i).width = img.width;
				document.getElementById('big' + i).style.left = parseInt((300 - img.width) / 2) + 'px';
			}
		}
	}
}
function fadeInOut(oldi, newi) {
	if( oldi != newi && newi == 'big' + currentTarget) {
		newimg = document.getElementById(newi);
		oldimg = document.getElementById(oldi);
		if(newo == 99) {
			newo = 0;
			oldo = 100;
			for (var i = 0; i < totalcount; i++) {
				if ('big' + i != newi) { 
					document.getElementById('big'+i).style.display = 'none'; 
					setOpacity(document.getElementById('big'+i), 0)
				}
			}
			newimg.style.display = 'block';
			newimg.style.opacity = '.99';
			newimg.style.MozOpacity = '.99';
			newimg.style.filter = 'alpha(opacity=100)';	
			gotothumb(newi.replace('big',''), true);
		}
		else {
			newo = newo + 10;
			oldo = oldo - 10;			
			if(newo == 100) { newo = 99; }
			setOpacity(newimg, newo);	
			newimg.style.display = 'block';
			setOpacity(oldimg, oldo);
			oldimg.style.display = 'block';
			setTimeout('fadeInOut(\'' + oldi + '\',\'' + newi + '\');',50);
		}
	}
}
function setOpacity( i, o ) {
	i.style.opacity = '' + (o/100);
	i.style.MozOpacity = '' + (o/100);
	i.style.filter = "alpha(opacity=" + o + ")";	
}
