   	/***********************************************************************************************
	
	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=false;	// Display a please wait message while images are loading?
  	
	var previewImage = false;
	var activeImage = false;
	var imageGalleryLeftPos = false;
	var imageGalleryWidth = false;
	var imageGalleryObj = false;
	var maxGalleryXPos = false;
	var slideSpeed = 0;
	var imageGalleryCaptions = new Array();
	function startSlide(e)
	{
		if(document.all)e = event;
		var id = this.id;
		this.getElementsByTagName('IMG')[0].src = 'images/' + this.id + '_over.png';	
		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 + '.png';
		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=90)';	
			activeImage.style.opacity = 0.9;
		}	
		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;
		}
		gallerySlide();
	}
	
	function showPreview(imagePath,imageIndex,ids){
		var subImages = document.getElementById('previewPane').getElementsByTagName('IMG');
		if(subImages.length==0){
			previewImage = document.createElement('IMG');
			document.getElementById('previewPane').appendChild(img);
		}else
		{
			previewImage = subImages[0];
			hasVideoImage=subImages[1];
		}
		if(displayWaitMessage){
			document.getElementById('waitMessage').style.display='inline';
		}
		previewImage.style.display='block';
		document.getElementById('player').style.display='none';
		document.getElementById('largeImageCaption').style.display='none';
		if(document.getElementById('flowplayer1')!=null)
		{
			var pl=	document.getElementById('player');
			var flpl=document.getElementById('flowplayer1');
			pl.removeChild(flpl);
		}
		previewImage.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };
		var http_request = true;
		if (window.XMLHttpRequest) 
		{ // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
		} else if (window.ActiveXObject) 
		{ // IE
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}
		http_request.onreadystatechange=function()
		{
			if (http_request.readyState == 4) 
			{
				if (http_request.status == 200) 
				{
					if(http_request.responseText==1)
					{
						hasVideoImage.style.display ="";
						hasVideoImage.onclick=function(){
								setployers(2,ids);
								};
					} else {
						hasVideoImage.style.display ='none';
					}
				}
			}
		}
		http_request.open('GET', 'ajax.php?do=hasvideo&id='+ids,true);
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		http_request.send(null);
		previewImage.src = imagePath;
	}
	function hideWaitMessageAndShowCaption(imageIndex)
	{
		document.getElementById('waitMessage').style.display='none';	
		document.getElementById('largeImageCaption').innerHTML = imageGalleryCaptions[imageIndex];
		document.getElementById('largeImageCaption').style.display='block';
	}
	function setployers(i,int)
	{
		previewImage.style.display='none';
		xmlHttp=GetXmlHttpObject()
		if (xmlHttp==null)
		 {
		 alert ("Browser does not support HTTP Request")
		 return
		 } 
		var url="ajax.php?do=runvideo&index="+int;
		xmlHttp.onreadystatechange=stateChanged 
		xmlHttp.open("GET",url,true)
		xmlHttp.send(null)
	} 
	
	function stateChanged() 
	{ 
	 if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	 { 
		document.getElementById('player').style.display='block';
		document.getElementById("player").
		innerHTML=xmlHttp.responseText;
		previewImage.style.display='none';
	// document.getElementById('player').style.visibility = "visible";
	 } 
	} 
	
	function GetXmlHttpObject()
	{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	 {
	 objXMLHttp=new XMLHttpRequest()
	 }
	else if (window.ActiveXObject)
	 {
	 objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
	 }
	return objXMLHttp
	}
	window.onload = initSlideShow;
