//defining global variables
var xmlDoc, xmlDoc2;
var portfolio_show, show_status = 1;
if (!galleryid) var galleryid='';
if (!portfolioid) var portfolioid='';
var pics;
var image_dir='';

var tempgalleryid=null;
var pic_index = 1;
var mytimeout=null;
var execute_slide = 0;
var howmany_pics=null;
var g_controller=null;
var first_pic=0, next_pic=0, previous_pic=0, last_pic=0;

//start by loading the data
importXML();

//this function loads galleryxml.php data; after finishes goes to start()
function importXML()
{
	var filexml ="/mod/galleryxml.php";
	if (galleryid!=null) 
	{
		filexml = filexml + '?galleryid=' + galleryid;
				if(img_start!=null)
					filexml+='&img_start=' + img_start;
	}
	
	if (portfolioid!=null&& portfolioid!='')
	{
		if (galleryid!=null) filexml+="&portfolio="+portfolioid;
		else filexml+="?portfolio="+portfolioid;
	}
	if (document.implementation && document.implementation.createDocument)
	{
		xmlDoc = document.implementation.createDocument("", "", null);
		if (xmlDoc.load)
		  {
		  xmlDoc.onload = start;
		  xmlDoc.load(filexml);
		  }
		else if (window.XMLHttpRequest)
		  {
                  var safariReq = new XMLHttpRequest();
                  safariReq.open("GET", filexml, false);
		  safariReq.send(null);
                  xmlDoc=safariReq.responseXML;
		  start();
		  }
	}
	else if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.onreadystatechange = function () {
			if (xmlDoc.readyState == 4) {
			  start();}
		};
		xmlDoc.load(filexml);
 	}
return;
}


//this loads up the first image and starts the slideshow
function start()
{
	//DO PRELOADING OF ALL IMAGES
	if (!galleryid)
	{ //main index page
		var items=xmlDoc.getElementsByTagName('items')[0].getElementsByTagName('item');
		image_dir = "/im_detail/uploaded_image/";
	}
	else
	{ //gallery view page
		var items=xmlDoc.getElementsByTagName('album')[0].getElementsByTagName('image');
		if (galleryconfig['fullimagepath']!=null && galleryconfig['fullimagepath']!='') image_dir = galleryconfig['fullimagepath'];
		if (galleryconfig['largerimg']!='' && galleryconfig['largerimg']!=null) image_dir=galleryconfig['largerimg'];
		else if (!image_dir) image_dir='/im_large/uploaded_image/';
	}
	
	//image preloader	
	var imageholder = document.createElement('div');
	imageholder.style.height = '0px';
	imageholder.style.overflow = 'hidden';
	imageholder.style.width = '1px';
	document.body.appendChild(imageholder);

	for(var i=0; i<=items.length; i++)
	{
		if (items[i]!=null)
			{
			var imgs_objs = new Image(); 
			imgs_objs.src = image_dir+items[i].getElementsByTagName('imgurl')[0].childNodes[0].nodeValue;
			imageholder.appendChild(imgs_objs);	
			}
	}
}

//THIS IS BODY ON LOAD
function initdefault()
{
	if( portfolio_show = document.getElementById('portfolio_album'))
	{		
//		mytimeout = setTimeout('swapping()',3000) ;		
	}
}

function showdetails(i,ext,albumname, slide_status)
{
	if (galleryid==0 && tempgalleryid) galleryid=tempgalleryid;
	if (ext==null || ext=="") ext=".html";
	if (galleryconfig['filetype']!=null && galleryconfig['filetype']!='') ext=galleryconfig['filetype'];
if (document.getElementById('fulldescription')) 
{
if (i==0) var nst='block';
else var nst='none';
document.getElementById('fulldescription').style.display=nst;
}
	if(slide_status)
	{
		pic_index = null;
		clearTimeout(mytimeout);
	}
	if(galleryid)
	{
		howmany_pics= xmlDoc.getElementsByTagName('album')[0].getElementsByTagName('image').length;
	}
	if (galleryconfig['firstpic'] && galleryconfig['firstpic']<=i && i>0 && next_pic==0 && last_pic==0)
		{
		i=parseInt(galleryconfig['firstpic'])+1;
		}
	if (i<0)
		{
		i=howmany_pics-1;
		}
	if (i>(howmany_pics-1))
		{
		i=0;
		}

	for (var n=0; n<howmany_pics; ++n)
	{
		if (document.getElementById('thumb_'+n) && n==i) document.getElementById('thumb_'+n).className='linkdiv active';
		else if (document.getElementById('thumb_'+n)) document.getElementById('thumb_'+n).className='linkdiv';
	}
	if(!galleryid)
	{
 	var items=xmlDoc.getElementsByTagName('items')[0].getElementsByTagName('item');
 	var title = items[i].getElementsByTagName('title')[0].childNodes[0].nodeValue; 
	var date = items[i].getElementsByTagName('date')[0].childNodes[0].nodeValue; 
 	var url = '/im_detail/uploaded_image/'+items[i].getElementsByTagName('imgurl')[0].childNodes[0].nodeValue;
    var albumlink = items[i].getElementsByTagName('albumlink')[0].childNodes[0].nodeValue;
        
 	document.getElementById('album_summary').style.display='block';
	document.getElementById('album_summary').innerHTML='<div class="photo_info_gallery"><div class="photo_info_pic"><img style="display:block;" src="'+url+'"/></div>'+'<div class="photo_info_desc">'+title+'</div><div class="photo_info_date">'+date+'</div></div><div class="view_gallery"><a href="/'+albumlink+'.html">View Gallery</a></div>';
        
	}
	else
	{
		var imagearr=xmlDoc.getElementsByTagName('album')[0].getElementsByTagName('image');
		execute_slide = 0;
		if(howmany_pics && imagearr)
		{
			i = parseInt(i);
			execute_slide = 1;
			last_pic = howmany_pics  - 1;
			if(howmany_pics > 1)
			{
				if( (i>first_pic) && (i<last_pic) )
				{
					next_pic = parseInt(i)+1;
					previous_pic = parseInt(i)-1;
					
				}
				else if(i==first_pic)
				{
					next_pic = i + 1;
					previous_pic = last_pic;
			
				}
				else if(i==last_pic)
				{
					next_pic = first_pic;
					previous_pic = i - 1;
			
				}
			}
			else
			{
				i = next_pic = previous_pic = first_pic;
			}
			pic_index = next_pic;	
		}

		if(execute_slide && imagearr)
		{
			var photolink = image_dir + imagearr[i].getElementsByTagName('imgurl')[0].childNodes[0].nodeValue;
			var event_description = imagearr[i].getElementsByTagName('photosummary')[0].childNodes[0].nodeValue;
			var nextlink = image_dir + imagearr[next_pic].getElementsByTagName('imgurl')[0].childNodes[0].nodeValue;
			var previouslink = image_dir + imagearr[previous_pic].getElementsByTagName('imgurl')[0].childNodes[0].nodeValue;
			
			var imgfile_name = imagearr[i].getElementsByTagName('imgurl')[0].childNodes[0].nodeValue;

			document.getElementById('photo_summary').style.display='block';

			if ((event_description!="0" && event_description!="") && document.getElementById('photo_info_desc1')) document.getElementById('photo_info_desc1').innerHTML=event_description;
			else if(document.getElementById('photo_info_desc1')) document.getElementById('photo_info_desc1').innerHTML='';
			var down_ele = document.getElementById('download')
		
			var galleryslide=document.getElementById('gallery_controller');
			var slidearrow=document.getElementById('slidearrow');
			var wholecontent=document.getElementById('wholecontent');
			if (galleryconfig['imagearrows']!=null && galleryconfig['imagearrows']!='')
			{
				if(slidearrow && galleryconfig['photo']!=null && galleryconfig['photo']!='')
				{
					slidearrow.innerHTML='<a href="../'+albumname+'/'+(previous_pic)+ext+'" id="picarrowleft" onClick="showdetails('+(previous_pic)+',\''+ext+'\',\''+albumname+'\',1);return false;">&nbsp;</a><a href="../'+albumname+'/'+(next_pic)+ext+'" id="picarrowright" onClick="showdetails('+(next_pic)+',\''+ext+'\',\''+albumname+'\',1);return false;">&nbsp;</a>';
				}
			}
			else if(galleryslide && galleryconfig['showimagedetail']!=null && galleryconfig['showimagedetail']!='')
			{
				galleryslide.innerHTML='<div class="download_image"><a href="'+photolink+'">Download Image</a></div><div class="image_previous"><a href="/photos/'+albumname+'/'+(previous_pic)+ext+'" onClick="showdetails('+(previous_pic)+',\''+ext+'\',\''+albumname+'\',1);return false;">Previous</a></div><br style="clear:both;"><div class="back_gallery"><a href="/photos'+ext+'">Back to Gallery</div><div class="image_next"><a href="/photos/'+albumname+'/'+(next_pic)+ext+'" onClick="showdetails('+(next_pic)+',\''+ext+'\',\''+albumname+'\',1);return false;">Next</a></div>';
			}
			var large_img =	document.getElementById('large_img');

			var new_img = document.createElement('img');
			new_img.setAttribute('id','new_img');
			new_img.src= photolink;
			new_img.setAttribute('onClick','showdetails('+(next_pic)+',\''+ext+'\',\''+albumname+'\',1);');
			
			large_img.parentNode.appendChild(new_img);
			ajamagicxfade('large_img','new_img');
		}
	}
 	return false;
}

function swapping()
{
// 	if( host_name == "www.rgbdigital.co.uk" || host_name == "rgbdigital.co.uk" ) showdetails(pic_index, '.rgb', 'quick_folio');
// 	else showdetails(pic_index, '.html', '');

	var galleryname='';
	if (galleryconfig['defaultgallery']!=null && galleryconfig['defaultgallery']!='') galleryname=galleryconfig['defaultgallery'];

	if (galleryname=='') galleryname=galleryconfig['galleryname'];

	showdetails(pic_index, galleryconfig['filetype'] , galleryname);

	if(pic_index !== null)
	{
		mytimeout = setTimeout('swapping()',5000) ;
	}
}



