
// zGallery 1.0.0.0 (07 03 2010)
// Copyright (c) OverHertz OOD. All Rights reserved.
// 
// This software is copyrighted, and may not be used without
// permission from OverHertz OOD.
//
// URL:   http://www.overhertz.com/
// Email: developers@overhertz.com


function getXmlHttpObject() {
	var xmlHttp = null;

	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlHttp = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		// code for IE6, IE5
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert("Your browser does not support XMLHTTP!");
	}
	return xmlHttp;
}

function ObjectPosition(obj) {
	var curleft = 0;
    var curtop = 0;
      if (obj.offsetParent) {
            do {
                  curleft += obj.offsetLeft;
                  curtop += obj.offsetTop;
            } while (obj = obj.offsetParent);
      }
      return [curleft,curtop];
}

function displayAlbum(album, pg, pic, lang) {
	//show that a new image will be loading
	var loadElement = document.getElementById("loading");
	var img = document.getElementById('theimage');
	if (img) {
		loadElement.style.visibility = "visible";
		var aryPosition = ObjectPosition(img);
		loadElement.style.top = aryPosition[1];
		loadElement.style.left = aryPosition[0];
	}
	
	var xmlHttp = getXmlHttpObject();
	
	if (xmlHttp == null) {
	 	alert ("Browser does not support HTTP Request");
	 	return;
	}
	
	//First build the navigation panel
	if (pic == 0) {
		var url = "zkit/zgallery/zgalleryajax.php?l="+lang+"&p="+pg+"&a="+album;
		
		xmlHttp.onreadystatechange = function() { 
			if (xmlHttp.readyState == 4) {
				if (loadElement) {
					loadElement.style.visibility = "hidden";
				}				
				document.getElementById('contentbox').innerHTML = xmlHttp.responseText;			
			}
		}		
	} else {
		var url = "zkit/zgallery/zgalleryajax.php?l="+lang+"&p="+pg+"&a="+album+"&i="+pic;
		
		var bufbox = document.getElementById('bufferbox');
		
		imageLoaded = function() {
			if (loadElement) {
				loadElement.style.visibility = "hidden";
			}
			cbox = document.getElementById('contentbox');
			cbox.innerHTML = xmlHttp.responseText;	
			bufbox.innerHTML = '';	
		}
		
		xmlHttp.onreadystatechange = function() { 
			if (xmlHttp.readyState == 4) {
				bufbox.innerHTML = xmlHttp.responseText;
				theimg = document.getElementById('theimage');
				if (theimg.complete) {
					imageLoaded();
				} else
					theimg.onload = imageLoaded;
				//document.getElementById('contentbox').innerHTML = xmlHttp.responseText;			
			}
		}		
	}
	
	/*function stateChanged() { 
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") { 		
			document.getElementById("zcalender").innerHTML = xmlHttp.responseText;			
		}
	}*/		
	//xmlHttp.onreadystatechange = stateChanged;
	
	
	//perform the http request.
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}