var galleryFader = 0;

var gallNext;

var gallLast;

var gallStartPage = 1;

var gallPage = 1;

var galleryHeight;

var gallOpen = false;

var i;

var slides = 0;

var total;

var CLICKS = 1;

var mover;

var slideThisMuch;









function openGalleries(){

	if(gallOpen == false){

		// get body

		body = document.getElementsByTagName("body")[0];

		//get window height

		winHeight = getHeight();

		//minus title height

		galleryHeight = winHeight - 61;

		//minus top the top bar

		galleryHeight -= 35; 

		//create boxs

		galleries = document.createElement("div");

		//give it id

		galleries.setAttribute("id","galleries");

		//add to body

		body.appendChild(galleries);

		//set galleries height

		galleries.style.height = galleryHeight + "px";

		//set opacity to 0

		galleries.style.opacity = 0;

		galleries.style.filter = 'alpha(opacity='+ (0 * 100) +')';

		gallOpen = true;

		//fade in

		galleryFade();

	}

}







function galleryFade()

{

	galleryPane = document.getElementById("galleries");

	opacity = galleryPane.style.opacity;



	//check its full

	if (opacity != 0.7){

		galleryFader += 0.1;

		opacity += 0.1;

		galleryPane.style.opacity = galleryFader;

		galleryPane.style.filter = 'alpha(opacity='+ (galleryFader * 100) +')';

		gallFade = setTimeout("galleryFade()",50);

	}

	else{

		galleryFader = 0;

		addContent();

	}

}







function addContent(){

	//set content size

	galleryHeight -=45;



	//make links /boxes

	gallContent = document.createElement("div");

	gallClose = document.createElement("a");

	gallNext = document.createElement("a");

	gallLast = document.createElement("a");

	// set ids

	gallContent.setAttribute("id","gallContent");

	gallClose.setAttribute("id","gallClose");

	gallNext.setAttribute("id","gallNext");

	gallLast.setAttribute("id","gallLast");

	

	// set srcs

	gallClose.setAttribute("href","#");

	gallNext.setAttribute("href","#");

	gallLast.setAttribute("href","#");

	

	//	use .onclick method

	gallClose.onclick = function(){closeGalleries(); return false;};

	gallNext.onclick =  function(){nextGalleries(); return false;};

	gallLast.onclick =  function(){prevGalleries(); return false;};

	

	//Set closes X

	gallClose.innerHTML = " X ";

			

	//set titles

	gallNext.setAttribute("title","Next");

	gallLast.setAttribute("title","Previous");

	gallClose.setAttribute("title","Close");

	//add to page

	body.appendChild(gallContent);

	body.appendChild(gallClose);

	body.appendChild(gallNext);

	body.appendChild(gallLast);

		

	

	// Set contents height

	gallContent.style.height = galleryHeight + "px";	

	// give gallery some presence

	gallContent.innerHTML = " ";

	//hide buttons

	gallNext.style.display = "none";

	gallLast.style.display = "none";

	//Gallery calculations

	galleriesContentHeight = parseInt(gallContent.style.height.split("px")[0]);

	galleriesPerPage = galleriesContentHeight/136;

	//add loader image

	menuload = document.createElement("img");

	//set src

	menuload.setAttribute("src", root + "/slideshow/system_images/menuload.gif");

	//set id

	menuload.setAttribute("id","menuLoad");

	//work out top margin

	menuLoadTop = (galleriesContentHeight - 33)/2;

	menuload.style.marginTop = menuLoadTop + "px";

	// put it on :D

	gallContent.appendChild(menuload);

 	//make ajax item

 	menuCall = makeAjaxItem();

 	// remove decimal

	perpage = Math.floor(galleriesPerPage);

	// Set contents height

	gallContent.style.height = (136 * perpage ) + "px";

	//set up data

	data = "page=" + gallStartPage + "&perpage=" + perpage;

 	//send ajax item

 	sendAjax(menuCall,"get","includes/galleries.php",data);

 	//return function

 	menuCall.onreadystatechange = galleryFirstLoad;

}







function  galleryFirstLoad(){

	if(menuCall.readyState == 4)

	{

		// Using xml

		gallXml = menuCall.responseXML;

	

		//clear menu

		gallContent.innerHTML = "";

	

		//get amounts

		pageNum = parseInt(gallXml.getElementsByTagName("page")[0].childNodes[0].nodeValue);

		perPage = parseInt(gallXml.getElementsByTagName("perpage")[0].childNodes[0].nodeValue);

		total = parseInt(gallXml.getElementsByTagName("total")[0].childNodes[0].nodeValue);

		if(total > 0){

		

		//get data

		gallID = gallXml.getElementsByTagName("id");

		gallName = gallXml.getElementsByTagName("name");

		gallThumb = gallXml.getElementsByTagName("thumb");

		gallPos = gallXml.getElementsByTagName("position");

		//set global page

		gallPage = pageNum;

		nextPage = pageNum + 1;

		lastPage = pageNum - 1;

		//get numbers of slides

		var end = pageNum * perPage;

		var start = end - (perPage - 1);

	

		//slide this much setting

		slideThisMuch = 136;



		//for each image retuned

		var i;

	

		var div = document.createElement("div");

		div.setAttribute("id","page" + gallPage);

		div.style.height = galleriesContentHeight + "px";

		//set width to fix ie

		div.style.width = "318px";

		//set position for ie

		div.style.position = "relative";

		//set start pos

		div.style.top = "0px";

		//add toi page

		gallContent.appendChild(div);

		

			//add slides

			for(i = 0; i < gallThumb.length; i++){

				var id;

				var TITLES;

				//make its box

				id =gallID[i].childNodes[0].nodeValue;

				TITLES = gallName[i].childNodes[0].nodeValue;

			 	gall = document.createElement("div");

				//	set id 

				gall.setAttribute("id",id);

				//set class

				gall.setAttribute("class","gallery_preview");

				//set title

				gall.setAttribute("name", TITLES);

				//add hover

				gall.onmouseover = function(){this.style.cursor = "pointer"};

				//set title

				gall.title = TITLES;

				//give height to fix moody ie

				gall.style.height = "126px";

				//give bottom margin to fix moody ie

				gall.style.marginBottom = "10px";

				//add onclick

				gall.onclick = function(){loadNewGallery(this, TITLES);};

				//colour for ie ¬¬

				gall.style.color = "#000";

				

				//add the image

				img = document.createElement("img");

				img.setAttribute("src", root + "/" + gallThumb[i].childNodes[0].nodeValue);

				//make title span

				span = document.createElement("span");

				//give id

				//span.setAttribute("class","titles");
				
				//need to manually set some styles for IE browsers- the class isn't working.
				span.style.display = 'block';
				span.style.textAlign = 'right';
				span.style.paddingRight = '20px';
				span.style.fontFamily = 'Shelley, "Times New Roman", Times, serif';
				span.style.fontSize = '14pt';

				//set title

				//span.innerHTML = "<br /><span class='gallery_title'>Gallery " + start + ": </span> " + gallName[i].childNodes[0].nodeValue;
				span.innerHTML = gallName[i].childNodes[0].nodeValue;

				// add to box

				gall.appendChild(img);

				gall.appendChild(span);



				//add to content pane

				div.appendChild(gall);

				//give image a class

				img.setAttribute("class","gallery_images");

				//set width ad height to kick ie in to place the b****

				img.style.height = "100px";

				img.style.width = "280px";

				start++;

				// make spacer

			}

		}

		else{

			var p = document.createElement("p");

			p.innerHTML = "No Galleries Found";

			gallContent.appendChild(p);

		}

		

		//reset start

		start = end - (perPage - 1);

		//see if next button should be shown

		if(total > end){

			gallNext.style.display = "inline";

		}else{

			gallNext.style.display = "none";

		}

		// set if previous should be shown

		if(start > 1){

			gallLast.style.display = "inline";



		}else{

			if(gallLast){

			gallLast.style.display = "none";}			

		}

		

	}

}







/* New Gallery Function*/

function loadNewGallery(ids, title){



	//Kill Ajax

	if(imageCall){

		imageCall.abort();

	}

	

/*	//get loading table

	loadingTable = document.getElementById("LOADERS");*/

	//get details from clicked element

	GalleryId =ids.id;

	//set for ajax call

	GalleryTitle = ids.title; 

	//set system specs

	imageId = 1;

	galleryChanging = 1;

	loadingText.innerHTML = "Loading " + GalleryTitle;

	resizeWin();

}





///next / last functions





function nextGalleries()

{

	CLICKS+=1;

   	// remove buttons

	gallNext.style.display = "none";

	gallLast.style.display = "none";

	slideUp();

}



function prevGalleries()

{

	//close loader

	CLICKS -= 1;

 	// remove buttons

	gallNext.style.display = "none";

	gallLast.style.display = "none";

	slideDown();

}







function slideUp(){

 mover = document.getElementById("page1");

	var nextSlideNum = i + 1;

	var nextSlide = document.getElementById("page" + nextSlideNum);

	if(mover){

	Top = mover.style.top;

	topamount = Top.split("px")[0];}



	if(slides < (slideThisMuch) /2){

		



			moved = parseInt(topamount) - 2;





		

		if(mover){

		mover.style.top = moved + "px";

		slides++;

		gallerySlideTimeOut = setTimeout("slideUp();",10);}

	}



	else{

		slides = 0;

		if(CLICKS < (total - perPage)){

			gallNext.style.display = "inline";

		}else{

			gallNext.style.display = "none";

		}

		// set if previous should be shown

		if(CLICKS > 1){

			gallLast.style.display = "inline";

		}else{

			if(gallLast){

			gallLast.style.display = "none";}			

		}

	}

}









//menu slide down

function slideDown(){

	 mover = document.getElementById("page1");

	if(mover){

	Top = mover.style.top;

	topamount = Top.split("px")[0];}

	if(slides < (slideThisMuch /2)){

		//set new amount

		moved = parseInt(topamount) + 2;

		// if the divs there so we dont error out

		if(mover){

		mover.style.top = moved + "px";

		slides++;

		gallerySlideTimeIn = setTimeout("slideDown();",10);}

	}



	else{

		slides = 0;

		if((CLICKS) < (total - perPage)){

			gallNext.style.display = "inline";

		}else{

			gallNext.style.display = "none";

		}

		// set if previous should be shown

		if(CLICKS > 1){

			gallLast.style.display = "inline";



		}else{

			if(gallLast){

			gallLast.style.display = "none";}			

		}

	}

}

















/* close the galleries*/

function closeGalleries(){

	//get elements

	//remove galleries menu

	gallBox = document.getElementById("galleries");

	gallText = document.getElementById("gallContent")

	gallClose = document.getElementById("gallClose");

	gallNext = document.getElementById("gallNext");

	gallLast = document.getElementById("gallLast");

	var loader = document.getElementById("gallLoader");

	if(loader){

	document.body.removeChild(loader);}

	//remove galleries menu	

	if(gallNext){	

	document.body.removeChild(gallNext);}

	if(gallLast){

	document.body.removeChild(gallLast);}

	if(gallBox){

	document.body.removeChild(gallBox);}

	if(gallText){

	document.body.removeChild(gallText);}

	if(gallClose){

	document.body.removeChild(gallClose);}





	//set Clicks

	CLICKS = 1;

	//say its closed

	 gallOpen = false;

	 

	 return false;

}