/* already set:
		gSize - size of the gallery
		imageLocation - starting location
		lowEnd - left side
		highEnd - right side
*/

var imageLocation = 1;
var gallery = new Array();

// --- helper functions ------------------------------------------------------

function increase(v) {
	v++;
	if(v > gSize) { v = 1; }
	return v;
}

function decrease(v) {
	v--;
	if(v < 1) { v = gSize; }
	return v;
}

function xmlParser(xmlText) {
	var xmlDoc;
	if (window.ActiveXObject) {
		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.loadXML(xmlText);
	} else {
		var parser = new DOMParser();
		var xmlDoc = parser.parseFromString(xmlText,"text/xml");
	}
	return xmlDoc;
}

/* --- start functions ---------------------------------------------------------------------------
 * note: currently unused

function seedImages() {
	//seedOneImage(lowEnd, 5);
}

function seedOneImage(galLoc, numLeft) {
	if(numLeft > 0) {
		var artID = gallery[galLoc];
	
		var opts = {
			asynchronous: true,
			method: 'POST',
			onSuccess:seedArt,
			onFailure:errFunc,
			parameters: {
				"id":artID
			}
		};
		
		new Ajax.Request('http://test.oovu.com/newgallery/getArt.php', opts);
		
		nextPoint = increase(galLoc);
		numLeft--;
		
		setTimeout("seedOneImage("+nextPoint+","+numLeft+")", 500);
	}
}

var seed = 1;

function seedArt(t) {
	var loc = "artImage" + seed;
	$(loc).innerHTML = t.responseText;
	seed++;
}
*/

// --- arrow functions ---------------------------------------------------------------------------

var lockArrows = false;

function goLeft() {
	if(!lockArrows) {
		lockArrows = true;
		if(gSize >= 5) {
			$("artImage1").innerHTML = "";
			for(var i = 1; i <= 4; i++) {
				$("artImage"+i).innerHTML = $("artImage"+(i+1)).innerHTML;
			}
			imageLocation = 5;
			highEnd = increase(highEnd);
			lowEnd = increase(lowEnd);
			getImage(highEnd);
		} else {
			if( (middleImage+1) <= gSize) {
				$("artImage1").innerHTML = "";
				for(var i = 1; i <= 4; i++) {
					$("artImage"+i).innerHTML = $("artImage"+(i+1)).innerHTML;
				}
				if(gSize == 3) { $("artImage5").innerHTML = ""; }
				middleImage++;
				getImage(highEnd);
			}
		}
	}
}

function goRight() {
	if(!lockArrows) {
		lockArrows = true;
		if(gSize >= 5) {
			$("artImage5").innerHTML = "";
			for(var i = 5; i >= 2; i--) {
				$("artImage"+(i)).innerHTML = $("artImage"+(i-1)).innerHTML;
			}
			imageLocation = 1;
			lowEnd = decrease(lowEnd);
			highEnd = decrease(highEnd);
			getImage(lowEnd);
		} else {
			if( (middleImage-1) >= 1) {
				$("artImage5").innerHTML = "";
				for(var i = 5; i >= 2; i--) {
					$("artImage"+(i)).innerHTML = $("artImage"+(i-1)).innerHTML;
				}
				if(gSize == 3) { $("artImage1").innerHTML = ""; }
				middleImage--;
				getImage(lowEnd);
			}
		}
	}
}

function addArt(t) {
	var xmlParse = xmlParser(t.responseText);
	//alert("response: \n\n" + t.responseText);
	var loc = "artImage" + imageLocation;

	var sml = xmlParse.getElementsByTagName("small");
	var smallImage = "<"+sml[0].childNodes[0].nodeValue+" />";
	//alert(smallImage);
	
	var big = xmlParse.getElementsByTagName("big");
	var bigImage = "<"+big[0].childNodes[0].nodeValue+" />";
	//alert(bigImage);
	
	var titl = xmlParse.getElementsByTagName("ttl");
	var ttl = titl[0].childNodes[0].nodeValue;
	var ttlImg = "<a href=\""+ttl+"\">" + bigImage + "</a>";

	if(gSize >= 5) {
		$(loc).innerHTML = smallImage;
	}

	$("selectedImage").innerHTML = ttlImg;

	imageLocation++;
	lockArrows = false;
}

function errFunc(t) {
	alert(t);
}

function getImage(loc) {
	var artID = gallery[loc];
	
	var tmpMid = -1;
	if(gSize >= 5) {
		tmpMid = decrease(decrease(highEnd));
	} else {
		tmpMid = middleImage;
	}

	var theMiddle = gallery[tmpMid];
	
	//alert("loc = "+loc+"\nartID -> "+artID+"\ntheMid = "+tmpMid+"\ntMid -> "+theMiddle);
	
	var opts = {
		asynchronous: true,
		method: 'POST',
		onSuccess:addArt,
		onFailure:errFunc,
		parameters: {
			"id":artID,
			"middle":theMiddle
		}
	};
	
	new Ajax.Request('http://www.oovu.com/newgallery/getArt.php', opts);
}

function goTwoLeft() {
	goLeft();
	setTimeout("goLeft()",500);
}

function goTwoRight() {
	goRight();
	setTimeout("goRight()",500);
}
