// утф8
var objPreviewImg = null;
var globTimer = null;
var globDelTimer = null;
var prevImg = null;
var refTimer = null;

var objDivBack = document.createElement('DIV');
	objDivBack.id = 'backDiv';
	objDivBack.style.backgroundColor = '#fff';
	objDivBack.style.position = 'absolute';
	objDivBack.style.display = 'none';
	objDivBack.style.width = 600;	
	objDivBack.style.height = 200;
	
	objPreviewImg = document.createElement('IMG');
	objPreviewImg.id = 'previewImg';
		
function remove_elem(id_elem) {
    el=document.getElementById(id_elem);
    el.parentNode.removeChild(el);
}

function getElementPosition(elem)
{
    var w = elem.offsetWidth;
    var h = elem.offsetHeight;
	
    var l = 0;
    var t = 0;
	
    while (elem)
    {
        l += elem.offsetLeft;
        t += elem.offsetTop;
        elem = elem.offsetParent;
		
    }

    return {"left":l, "top":t, "width": w, "height":h};
}

function refreshBack(smImg,prevPostfix) {
	prevImg = smImg;
	
	var fullName = smImg.src;
	var fullNameArray = fullName.split('/');
	var fileName=fullNameArray[fullNameArray.length-1];
	var fileNameArray = fileName.split('.');
	var imgNameArray = fileNameArray[0].split('_');
	var imgName = ''
	for (i=0; i<imgNameArray.length-1; i++) {
		if (i!=imgNameArray.length-2) {
			imgName += imgNameArray[i]+'_';
		}
		else imgName += imgNameArray[i];	
	}
	var extName = fileNameArray[1];
	var previewFileName = imgName+'.'+extName;
	var previewFullName = '';
	
	for (i=0; i<fullNameArray.length-1; i++) {
		previewFullName=previewFullName+fullNameArray[i]+'/';
	}
	previewFullName = previewFullName+previewFileName; // NEW IMAGE URL HERE
	
		
	var smallImgPos = getElementPosition(smImg);
	objDivBack.style.left = smallImgPos.left;
	objDivBack.style.top = 271 ;
	
	document.body.appendChild(objDivBack);
	//$('#contDiv').animate({scrollTop:smallImgPos.top-161},300);
	
	objPreviewImg.setAttribute("src", previewFullName);	
	refTimer = setTimeout(function() { refSRC(previewFullName); }, 2000);
	$(objPreviewImg).load(function() {
		setImgPosition(objPreviewImg,smImg)
	});
	//objPreviewImg.onload = function() {setImgPosition(objPreviewImg,smImg)};
	
	$(objDivBack).hover (function() {cancelHideTimer()}, function() {hidePreviewTimer()})	
	$(objDivBack).animate({ opacity: "show" }, 600);
	$(objPreviewImg).css ('display','none');
	//$(objDivBack).animate({ opacity: "0.8" }, 300);	
}

function setImgPosition(oImg,smImg) {
	//$(oImg).hover (function() {cancelHideTimer()}, function() {hidePreviewTimer()})	
	
	document.getElementById('backDiv').appendChild(oImg);
	$(oImg).animate({height:"show",opacity:"show"},300);
}

function showPreview(smImg,prevPostfix) {
	cancelHideTimer();
	stopRefTimer();
	if (prevImg==null || prevImg!=smImg) {
		refreshBack(smImg,prevPostfix);
	}
}


function cancelHideTimer() {
	if (globTimer!=null) {
		clearTimeout(globTimer);
		globTimer = null;
	}	
}

function hidePreviewTimer() {
	if (globTimer == null) {
		globTimer=setTimeout('hidePreview()',100);
	}	
}

function hidePreview() {
	stopRefTimer();
	objPreviewImg.onload = function() {};
	objPreviewImg.style.display="none";
	$('#backDiv').animate({ opacity: "hide" }, 200) 
	prevImg = null;
	
}
function refSRC(previewFullName) {
	objPreviewImg.setAttribute("src", previewFullName);	
	refTimer = setTimeout(function() { refSRC(previewFullName); }, 500);
}
function stopRefTimer() {
	if (refTimer!=null) {
		clearTimeout(refTimer);
		refTimer = null;
	}
}