var galleryImg   = null;
var galleryThumb = null;
var loadedImg      = 0;

function sendGalleryRequest(galleryId, g_type)
{
	if(null != xmlHttp)
	{
		xmlHttp.abort();
		xmlHttp = null;
	}
	
	xmlHttp = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
	
	if(!xmlHttp) return false;
	
	ajax_path = "templates/gallery.php?lang="+lang+"&pageid="+galleryId+"&pagetype="+g_type;
	xmlHttp.onreadystatechange = onGalleryStateChangeHandler;
	xmlHttp.open("GET", ajax_path);
	xmlHttp.send(null);
	
	return true;
}

function onGalleryStateChangeHandler()
{
	if(xmlHttp.readyState == 4)
	{
		onXmlHttpGalleryReadyHandler(xmlHttp);
		xmlHttp = null;
	}
}

function onXmlHttpGalleryReadyHandler(response)
{
	if(200 == response.status)
	{
		galleryImg   = new Array();
		galleryThumb = new Array();
		
		resXml = response.responseText;
		$(resXml).find("mainimage").each(function() { galleryImg.push($(this).text()); });
		$(resXml).find("thumbnail").each(function() { galleryThumb.push($(this).text()) });
		gTitle = $(resXml).find("gTitle").text();
		desc  = $(resXml).find("desc").html();
		
		if(is_IE)
		{
			img_i = 0;
			while(img_i < resXml.indexOf('<mainimage>',img_i))
			{
				img_src = resXml.substring((resXml.indexOf('<mainimage>',img_i) + 11), resXml.indexOf('</mainimage>',img_i));
				galleryImg.push(img_src);
				img_i = resXml.indexOf('</mainimage>',img_i) + 10;
			}
			
			img_i = 0;
			while(img_i < resXml.indexOf('<thumbnail>',img_i))
			{
				img_src = resXml.substring((resXml.indexOf('<thumbnail>',img_i) + 11), resXml.indexOf('</thumbnail>',img_i));
				galleryThumb.push(img_src);
				img_i = resXml.indexOf('</thumbnail>',img_i) + 10
			}
			
			gTitle = resXml.substring((resXml.indexOf('<gTitle>') + 8), resXml.indexOf('</gTitle>'));
			desc   = resXml.substring((resXml.indexOf('<desc>') + 6), resXml.indexOf('</desc>'));		
		}
		
		$("#content_h").text(gTitle);
		$(".scrollbox").html(desc);
		
		onGalleryAjaxLoadHandler();
	}
	else if(0 == response.status)
	{
		return;
	}
	else
	{
		alert("HTTP ERROR: " + response.status + response.statusText);
	}
}

function onGalleryAjaxLoadHandler()
{
	loadedImg = 0;
	len       = galleryImg.length;
	mainImg   = thumbImg = new Array(len);
	
	for(i=0;i<len;i++)
	{
		mainImg[i]      = new Image();
		thumbImg[i]     = new Image();
		addEventListener(mainImg[i], "complete", "onGalleryImgLoadHandler("+i+",'"+galleryThumb[i]+"','"+galleryImg[i]+"')");
		mainImg[i].src  = galleryImg[i];
		thumbImg[i].src = galleryThumb[i];
	}
}

function onGalleryImgLoadHandler(i,thumb, mainImg)
{
	$(".mainImg:eq(" + i + ")").attr("src",mainImg);
	$("#galleryThumb img:eq(" + i + ")").attr("src", thumb);
	loadedImg ++;
	
	if(loadedImg == galleryImg.length)
	{
		galleryImgNum = 0;
		loadedImg       = 0;
		checkGalleryArrows();
		
		$(".mainImg:eq(0)").fadeIn("fast");
		$("#loading").fadeOut("fast");
		$("#gallerybox").fadeIn("slow");
		$('.scrollbox').jScrollPane({showArrows:true, scrollbarWidth:5, animateTo:true, animateInterval:50, animateStep:15});
	}
}
