//===================== LOAD THUMBS ==========================
var _totalPhotosInCat;
var _totalPhotosShown;
var _isReloadInProcess = false;
var _imgIdentityDefaultStart;
var _imgIdentityLastShown;
var _isLoadImgAfterBringChunk = false;
_activeImgRow = 1;
_numChunk = 18;
var _browser = "";

var _loadImgTimerId = 0;
var _isLoadingImgInProcess = false;
var _preloadTimer = null;
var _isMorePhotos = true;

function thumbs_Init(imgId,imgIdentity,imgIdentityLastShown, totalPhotosInCat,chunkPhotosShow){
	$('thumbsScroll').onscroll = loadThumbsOnDemand;
	setThumbActive(imgId,1);
	_totalPhotosInCat = totalPhotosInCat;
	_totalPhotosShown = chunkPhotosShow;
	_imgIdentityDefaultStart = imgIdentity; //img that was the first when page loaded
	_imgIdentityLastShown = imgIdentityLastShown;
	 preLoad();
	 _browser = getUserBrowser();
	 showPageButtons();
}

function getUserBrowser(){
	var retVal = "";
	if ((navigator.userAgent).indexOf("Firefox")!=-1){
		retVal = "Firefox";
	}else if ((navigator.userAgent).indexOf("Netscape")!=-1){
		retVal = "Netscape";
	}else if ((navigator.userAgent).indexOf("Opera")!=-1){
		retVal = "Opera";
	}else if ((navigator.userAgent).indexOf("MSIE")!=-1){
		retVal = "IE";
	}
	return retVal;
}

function preLoad(){
	
	//================== NOT SURE IT WORKS ======================================================================
	if( ( $("imgImg").src.indexOf($("imgURL" + _activeImgRow).value) > -1 ) && ($("imgImg").complete==true) ) {
		clearTimeout ( _preloadTimer );
	}else{
		_preloadTimer = setTimeout ( "preLoad()", 100 );
		return;
	}
	//==============================================================================================================

	for (i = 1; i <= 3; i++)
	{
		var rowNext = _activeImgRow+i;
		if ( $("imgURL" + rowNext) ){
			$("a" + i).src = $("imgURL" + rowNext).value;
		}
	}
}


function loadThumbsOnDemand(isLoadNext){
	if(_isReloadInProcess) return;
	if(_totalPhotosInCat <= _totalPhotosShown){
		$("thumbsSpiner").style.display = 'none';
		return;
	}
	
	height = $("thumbsScroll").style.height.replace("px","");
	scrollBottom = ($("thumbsScroll").scrollHeight - height) - 10;
	
	if($("thumbsScroll").scrollTop > scrollBottom){
		//if(isLoadNext) $("imgImg").src = "/images/SpinnerBig.gif";
		_isReloadInProcess = true;
		$("thumbsSpiner").style.display = '';
		try{
			var chunk = calcNextChunkPhotos();
			var imgIdentityStart = _imgIdentityLastShown + 1;

			var url = "/ajax/img_cat.php?key=LOAD_THUMBS&cat_id=" + _CAT + "&chunkPhotosShow=" + chunk + "&imgIdentityStart=" + imgIdentityStart + "&totalPhotosShown=" + _totalPhotosShown;
			
			new Ajax.Request(url,{
				containers: 'thumbsScroll',
				onSuccess: function(transport) { 
					_isReloadInProcess = false;
					$("thumbsSpiner").style.display = 'none';
					var arr = transport.responseText.split("{%%}");
					$("thumbsScroll").innerHTML = $("thumbsScroll").innerHTML + arr[0];
					_imgIdentityLastShown = parseInt(arr[1]);
				 	_totalPhotosShown = _totalPhotosShown + chunk;
					if(_isLoadImgAfterBringChunk){
						_isLoadImgAfterBringChunk = false;
						loadImgNext();
					}
				}
			});
		}catch(err){
			_isReloadInProcess = false;
			_isLoadImgAfterBringChunk = false;
			$("thumbsSpiner").style.display = 'none';
		}
		
	 }
}

		
function calcNextChunkPhotos(){
	var retVal = _numChunk;
	var diff  = _totalPhotosInCat - _totalPhotosShown;
	if(diff < _numChunk ) retVal = diff;
	return retVal;
}

function setThumbActive(imgId,row){
	try{
	  $("Tn" + _activeImgRow).className = 'thumb';
	  $("Tn" + row).className = 'thumbActive';
	}catch(err)
	{
	}
	_activeImgRow = row;
	setIMG(imgId);
}

function thumbMouseChange(action,row){
	if (row == _activeImgRow) return;
	$("Tn" + row).src = $("Tn" + row).src;
	if(action == 'over'){
		$("Tn" + row).className = 'thumb2';
	}else{
		$("Tn" + row).className = 'thumb';
	}
}

function updateCurrentImgHiddens(valTitle,valImgURL,valImgTh){
	 $("imgTitle" + _activeImgRow).value = valTitle; 
	 $("imgImg").src = "/" + valImgURL;
	 $("imgURL" + _activeImgRow).value = "/" + valImgURL;
	 $("Tn" + _activeImgRow).src = "/" + valImgTh;
}

function refreshImg(isNoEdit){
	if(isNoEdit==0){
		$("eI").innerHTML = "Loading...";
    }
	$("imgTitle").innerHTML =  $("imgTitle" + _activeImgRow).value; 
	loadImgAJAX(_IMG,_activeImgRow,isNoEdit);
}

function loadImg(imgId, row){
	
	$("imgImg").src = "/images/SpinnerBig_" + _LANG + ".gif";
	
	//$("imgImg").width = 497;
	//$("imgImgLink").innerHTML = "<div style='height=100%;width:100%;color:white'>Loading...</div>";
	$("imgInfo2").innerHTML = "";
	$("imgDescr").innerHTML = "";
	$("comments").innerHTML = "";

	if($("eI")!=null) $("eI").innerHTML = "";

	imgSiteWidth = 747;
	imgWidth = $("imgWidth" + row).value;
	if(imgWidth=='' || imgWidth > imgSiteWidth) imgWidth = imgSiteWidth;
	//var imgSRC = $("imgURL" + row).value; 
	//$("imgImgLink").innerHTML = "<IMG id='imgImg' class=picbrd src='" + imgSRC + "' border=0 width='" + imgWidth + "'>";
	
	$("imgImg").width = imgWidth;
	$("imgImg").src = $("imgURL" + row).value; 
	imgName =  xtractFile_sans( $("imgImg").src ).file;	
	$("htmlCode").value = getImgHTMLCode($("imgURL" + row).value, imgName);
	
	//$("imgImgLink").href = $("imgURLLarge" + row).value;

	//pageTitle = document.title.replace($("imgTitle").innerHTML, $("imgTitle" + row).value);
	//document.title = pageTitle;
	$("imgTitle").innerHTML =  $("imgTitle" + row).value; 
	
	setThumbActive(imgId,row);
	showPageButtons();
	$("Tn" + row).src = $("Tn" + row).src;
	preLoad();
	var expression = "loadImgAJAX(" + imgId + ", " + row + ", 0)";
	_loadImgTimerId = setTimeout ( expression, 500 );
	 window.location = "#" + imgName;
}

function getImgHTMLCode(imgURL, imgName){
	//&copy;
	var retVal = "";
	var imgURLFull = imgURL;
	if( imgURLFull.indexOf('http') == -1){
		imgURLFull = _DOMAIN_NAME + imgURLFull;
	}
	imgPageURLFull = _DOMAIN_NAME + _CURRENT_PATH_CAT + "/" + imgName + ".html";	
	retVal = "<a href='" + imgPageURLFull + "'><img src='" + imgURLFull + "' border=0></a>";
	return retVal;
}

function xtractFile_sans(data){
	var m = data.match(/(.*)[\/\\]([^\/\\]+)\.\w+$/);
	return {path: m[1], file: m[2]}
}
		
function loadImgAJAX(imgId, row, isNoEdit){
	if (_isLoadingImgInProcess) return;
	_isLoadingImgInProcess = true;
	clearTimeout ( _loadImgTimerId );

	if(isNoEdit==0){
		if($("eI")!=null) $("eI").innerHTML = "Loading...";
	}
			
	var url = "/ajax/img_cat.php?key=LOAD_IMG&imgId=" + imgId + "&catId=" + _CAT + "&isNoEdit=" + isNoEdit;

	new Ajax.Request(url,{
		containers: 'imgInfo,eI',
		onSuccess: function(transport) {
			var arr = transport.responseText.split("{%%}");
			//$("imgTitle").innerHTML =  arr[0];
			//$("imgImg").src = "/" + arr[1];
			$("imgInfo2").innerHTML = arr[2];
			$("imgDescr").innerHTML = arr[3];
			$("comments").innerHTML = arr[4];

			$("seeAlso").innerHTML = arr[5];	
			$("phSeeAlso").style.display = 'none';
			if($("seeAlso").innerHTML!=''){
				$("phSeeAlso").style.display = '';
			}
			
			
			if(isNoEdit==0){
				if($("eI")!=null) $("eI").innerHTML = arr[6];
			}
			_isLoadingImgInProcess = false;
		}
	});
}

function loadImgNext(){
	var row =  _activeImgRow + 1;
	//if (row > _totalPhotosInCat) row = 1; //start over
	
	if(_isMorePhotos) {
		$("imgImg").src = "/images/SpinnerBig_" + _LANG + ".gif";
	}
			
	if($("imgR" + row)){ //may be not loaded yet
		var imgId = $("imgR" + row).value;
		loadImg(imgId, row);
			//alert(findPosY($("Tn" + row)));
			//alert($("imgR" + row).offsetTop);
			//alert($("Tn" + row).offsetTop);
			//alert($("thumbsScroll").scrollTop);
			//$("thumbsScroll").scrollTop = $("Tn" + row).offsetTop-60;
			//var height = $("thumbsScroll").style.height.replace("px","");
			//var scrollBottom = ($("thumbsScroll").scrollHeight - height);
			//alert(scrollBottom);

	}else{
		if($("thumbsScroll")){
			var height = $("thumbsScroll").style.height.replace("px","");
			var scrollBottom = ($("thumbsScroll").scrollHeight - height);
			$("thumbsScroll").scrollTop = scrollBottom;
			_isLoadImgAfterBringChunk = true;
			//loadThumbs(true);
			if(_browser!='IE' && _browser!='FireFox'){
				loadThumbsOnDemand(true);
			}
		}
	}

}

function loadImgPriv(){
	var row =  _activeImgRow - 1;
	if($("imgR" + row)){ //may be not loaded yet
		var imgId = $("imgR" + row).value;
		loadImg(imgId, row);
	}
}

function showPageButtons(){
	_isMorePhotos = true;
	if(_activeImgRow==1) {
		$("bttnImgPriv").style.display = 'none';
	}else{
		$("bttnImgPriv").style.display = '';
	}
	if(_activeImgRow == _totalPhotosInCat) {
		$("bttnImgNext").style.display = 'none';
		_isMorePhotos = false;
	}else{
		$("bttnImgNext").style.display = '';
	}
}

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }
