   	/***********************************************************************************************
	
	Copyright (c) 2005 - Alf Magne Kalleland post@dhtmlgoodies.com
	
	UPDATE LOG:
	
	March, 10th, 2006 : Added support for a message while large image is loading
	
	Get this and other scripts at www.dhtmlgoodies.com
	
	You can use this script freely as long as this copyright message is kept intact.
	
	***********************************************************************************************/ 
   	
	var displayWaitMessage=true;	// Display a please wait message while images are loading?
  	
   		
	var activeImage = false;
	var imageGalleryLeftPos = false;
	var imageGalleryWidth = false;
	var imageGalleryObj = false;
	var maxGalleryXPos = false;
	var slideSpeed = 0;
	var imageGalleryCaptions = new Array();

	var change_scroll_div_display=false;
	var paging_xmlHttp;

	var total_loops=0;
	var temp_img_id=0;
	var temp_f_id=0;

	function startSlide(e)
	{
		change_scroll_div_display=false;
		if(document.all)e = event;
		var id = this.id;
		
		this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '_over.gif';	
		if(this.id=='arrow_right'){
			slideSpeedMultiply = Math.floor((e.clientX - this.offsetLeft) / 5);
			slideSpeed = -1*slideSpeedMultiply;
			slideSpeed = Math.max(-10,slideSpeed);
		}else{			
			slideSpeedMultiply = 10 - Math.floor((e.clientX - this.offsetLeft) / 5);
			slideSpeed = 1*slideSpeedMultiply;
			slideSpeed = Math.min(10,slideSpeed);
			if(slideSpeed<0)slideSpeed=10;
		}
	}
	
	function releaseSlide()
	{
		var id = this.id;
		this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '.gif';
		slideSpeed=0;
	}
		
	function gallerySlide()
	{
		if(slideSpeed!=0){
			var leftPos = imageGalleryObj.offsetLeft;
			leftPos = leftPos/1 + slideSpeed;
			if(leftPos>maxGalleryXPos){
				leftPos = maxGalleryXPos;
				slideSpeed = 0;
				
			}
			if(leftPos<minGalleryXPos){
				leftPos = minGalleryXPos;
				slideSpeed=0;
			}
			
			imageGalleryObj.style.left = leftPos + 'px';
		}
		setTimeout('gallerySlide()',20);
	}
	
	function showImage()
	{
		if(activeImage){
			/*activeImage.style.filter = 'alpha(opacity=50)';	
			activeImage.style.opacity = 0.5;*/
			activeImage.style.filter = 'alpha(opacity=85)';	
			activeImage.style.opacity = 0.8;
		}	
		this.style.filter = 'alpha(opacity=100)';
		this.style.opacity = 1;	
		activeImage = this;	
	}
	
	function initSlideShow()
	{
		document.getElementById('arrow_left').onmousemove = startSlide;
		document.getElementById('arrow_left').onmouseout = releaseSlide;
		document.getElementById('arrow_right').onmousemove = startSlide;
		document.getElementById('arrow_right').onmouseout = releaseSlide;
		
		imageGalleryObj = document.getElementById('theImages');
		imageGalleryLeftPos = imageGalleryObj.offsetLeft;

		imageGalleryWidth = document.getElementById('galleryContainer').offsetWidth - 80;
		maxGalleryXPos = imageGalleryObj.offsetLeft; 
		minGalleryXPos = imageGalleryWidth - document.getElementById('slideEnd').offsetLeft;
		var slideshowImages = imageGalleryObj.getElementsByTagName('IMG');
		
		for(var no=0;no<slideshowImages.length;no++){
			slideshowImages[no].onmouseover = showImage;
		}
		
		var divs = imageGalleryObj.getElementsByTagName('DIV');
		for(var no=0;no<divs.length;no++){
			if(divs[no].className=='imageCaption')imageGalleryCaptions[imageGalleryCaptions.length] = divs[no].innerHTML;
		}
		document.getElementById('waitMessage').style.display='none';
		gallerySlide();
	}
	
	function showPreview(imagePath,imageIndex, imageCaption, image_id, folder_id){
		temp_img_id=image_id;
		temp_f_id=folder_id;
		var subImages = document.getElementById('previewPane').getElementsByTagName('IMG');
		if(subImages.length==0){
			var img = document.createElement('IMG');
			document.getElementById('previewPane').appendChild(img);
		}else img = subImages[0];
		
		if(displayWaitMessage){
			document.getElementById('waitMessage').style.display='inline';
		}
		//document.getElementById('largeImageCaption').innerHTML = "Subject : ";
		img.onload = function() { hideWaitMessageAndShowCaption(imageCaption); };
		img.src = imagePath;
		//document.getElementById('largeImageCaption').innerHTML=imageCaption;
		//document.getElementById('largeImageCaption').style.display='block';
	}
	function hideWaitMessageAndShowCaption(imageCaption)
	{
		document.getElementById('waitMessage').style.display='none';	
		document.getElementById('largeImageCaption').innerHTML = "Subject : "+imageCaption;
		document.getElementById('largeImageCaption').style.display='block';
		
	}
	function display_status_scrolldiv(display_status)
	{
		if (change_scroll_div_display==true)
		{
			document.getElementById("galleryContainer").style.display=display_status;
			document.getElementById("redzeb_logo_image").style.display=display_status;
			change_scroll_div_display=false;
		}
	}
	function display_status_scrolldiv_force(display_status)
	{
		change_scroll_div_display=true;
		display_status_scrolldiv(display_status);
	}
	function GetXmlHttpObject_multi(variable_name)
	{
		try
		{
			variable_name=new XMLHttpRequest();
		}
		catch (e)
		{
			try
			{
				variable_name=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				variable_name=new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		return variable_name;
	}

	function load_page_index(page_index, request_name, request_id, siteaddress)
	{
		document.getElementById('waitMessage').style.display='inline';

		paging_xmlHttp = null;
		paging_xmlHttp = GetXmlHttpObject_multi(paging_xmlHttp);
		if (paging_xmlHttp==null)
		{
			alert ("Browser does not support HTTP Request")
			return
		}
		var url = siteaddress + "album_view/scroll/paging.php?name="+request_name+"&id="+request_id+"&pi="+page_index
		url=url+"&sid="+Math.random();
		total_loops=0;
		paging_xmlHttp.onreadystatechange=function ()
		{
			if (paging_xmlHttp.readyState==4 || paging_xmlHttp.readyState=="complete")
			{
				document.getElementById("galleryContainer").innerHTML=paging_xmlHttp.responseText;
				document.getElementById('galleryContainer').style.display="block";
				/*data=eval("(" + paging_xmlHttp.responseText + ")");
				paging_xmlHttp=null;		
				document.getElementById("galleryContainer").innerHTML=data.thumbnails;
				document.getElementById("paging").innerHTML=data.html_pages;				
				*/				
				setTimeout("waitcheckandthenload()", 1000);
			}
		}
		paging_xmlHttp.open("GET",url,true)
		paging_xmlHttp.send(null)
	}
	function waitcheckandthenload()
	{
		total_loops++;
		if (total_loops>10)
		{
			initSlideShow();
		}
		else
		{
			if (parseInt(document.getElementById('galleryContainer').offsetWidth)>480)
			{
				setTimeout("initSlideShow()", 3000);
			}
			else
			{
				setTimeout("waitcheckandthenload()", 1000);
			}
		}
	}
	function load_enlarged_preview(siteaddress, id)
	{
		//display_bigger_image(temp_img_id, temp_f_id, id, siteaddress)
	}
	function display_bigger_image(img_id, f_id, id, siteaddress)
	{
		line_execute=siteaddress+'group_map/showImage.php?imageid='+img_id+"&map_request_id="+id;
		popup_name='RedZebra';
		popup_params="scrollbars=yes, menubar=no, toolbar=no, location=no, status=no, url=no, height="+screen.height+", width="+screen.width;		
		try{
		//alert(line_execute);
		window.open(line_execute, popup_name, popup_params);
		}
		catch (e)
		{
			alert(e.message);
		}
	}
	window.onload = initSlideShow;

