/*preload*/

var objRightImgHolder = new Image();
var objLeftImgHolder = new Image();
var objSpacerImgHolder = new Image();

objRightImgHolder.src = '/scrollGallery/rightarrow.png';
objLeftImgHolder.src = '/scrollGallery/leftarrow.png';
objSpacerImgHolder.src = '/scrollGallery/spacer.png';



function sgsetup(){

	var thumb = '';
	var page = '';

	for(var i = 0; i < imageNum; i++){
		if(i+1 < 10){
			var imgPos = '0' + String(i + 1);
		} else {
			var imgPos = i + 1;
		}
		thumb = thumbPath + imageIdent + imgPos + '.jpg';
		page = pagePath + imageIdent + imgPos + '.jpg';
		arImages[i] = new ImageHolder(page,thumb,thumb);
	}

	totalItems = arImages.length;
	
	var scrollerWidth = (visibleItems * thumbWidth) + (visibleItems * 4) + objLeftImgHolder.width + objRightImgHolder.width;
	
	if(totalItems > visibleItems){
		//The right scroll arrow.
		var objRightImg = document.createElement('img');
		objRightImg.src = objRightImgHolder.src;
		objRightImg.setAttribute('border', '0');
		
		var objRightScroll = document.createElement('div');
		objRightScroll.setAttribute('id', 'rightScroll');
		//objRightScroll.style.width = objRightImg.width;
		//objRightScroll.style.height = objRightImg.height;
		objRightScroll.style.cursor = 'pointer';
		objRightScroll.zIndex = 2;
		if (objRightScroll.addEventListener) {
			objRightScroll.addEventListener('mouseover', function(){move(fastspeed,normspeed);}, false);
			objRightScroll.addEventListener('mouseout', function(){move();}, false);
		} else if (objRightScroll.attachEvent) {
			objRightScroll.attachEvent ("onmouseover",function(){move(fastspeed,normspeed);});
			objRightScroll.attachEvent ("onmouseout",function(){move();});
		} else {
			objRightScroll.onmouseover = function(){move(fastspeed,normspeed);};
			objRightScroll.onmouseout = function(){move();};
		}		

		objRightScroll.appendChild(objRightImg);
		
		var objLeftImg = document.createElement('img');
		objLeftImg.src = objLeftImgHolder.src;
		objLeftImg.setAttribute('border', '0');
		
		//The left scroll arrow.
		var objLeftScroll = document.createElement('div');
		objLeftScroll.setAttribute('id', 'leftScroll');
		//objLeftScroll.style.width = objLeftImg.width;
		//objLeftScroll.style.height = objLeftImg.height;
		objLeftScroll.style.position = 'absolute';
		objLeftScroll.style.top = 0;
		objLeftScroll.style.left = 0;
		objLeftScroll.style.cursor = 'pointer';
		if (objLeftScroll.addEventListener) {
			objLeftScroll.addEventListener('mouseover', function(){move(fastspeed,-1);}, false);
			objLeftScroll.addEventListener('mouseout', function(){move();}, false);
		} else if (objLeftScroll.attachEvent) {
			objLeftScroll.attachEvent ("onmouseover",function(){move(fastspeed,-1);});
			objLeftScroll.attachEvent ("onmouseout",function(){move();});
		} else {
			objLeftScroll.onmouseover = function(){move(fastspeed,-1);};
			objLeftScroll.onmouseout = function(){move();};
		}		

		objLeftScroll.appendChild(objLeftImg);		
	} else {
		visibleItems = totalItems;
	}

	var objBase = document.getElementById('scrollGallery');
	objBase.width = scrollerWidth + 'px';
	var objContainer = document.createElement('div');
	objContainer.setAttribute('id', 'scrollContainer');
	objContainer.style.height = thumbHeight + 'px';
	objContainer.style.width = scrollerWidth + 'px';
	objBase.appendChild(objContainer);
	objContainer.appendChild(objRightScroll);
	objContainer.appendChild(objLeftScroll);

	var objThumbs = document.createElement('div');
	objThumbs.setAttribute('id','thumbnails');
	objThumbs.style.width = String(Number(visibleItems * thumbWidth) + Number(visibleItems * 4)) + 'px';
	objThumbs.style.position = 'absolute';
	objThumbs.style.left = objLeftImgHolder.width + 'px';
	objThumbs.style.top = 0;
	objThumbs.style.height = String(thumbHeight + 12) + 'px';
	objThumbs.style.overflow = 'hidden';

	for(var i = 0; i < visibleItems; i++){
		var objImgHolder = document.createElement('div');
		objImgHolder.setAttribute('id', 'box'+i);
		var numLeft = i * (thumbWidth + 4);
		objImgHolder.style.left = numLeft + 'px';
		objImgHolder.style.width = String(thumbWidth + 4) + 'px';
		objImgHolder.style.height = String(thumbHeight + 12) + 'px';
		objImgHolder.style.position = 'absolute';
		objImgHolder.style.cursor = 'pointer';
		objImgHolder.style.top = 0;

		if (objImgHolder.addEventListener) {
			objImgHolder.addEventListener('click', getPage, false);
		} else if (objImgHolder.attachEvent) {
			objImgHolder.attachEvent ("onclick",getPage);
		} else {
			objImgHolder.onclick = getPage;
		}
		
		var objImage = document.createElement('img');
		objImage.setAttribute('id','img'+i);
		objImage.setAttribute('alt',i);		
		objImage.src = arImages[i].src1;
		
		if (objImage.addEventListener) {
			objImage.addEventListener('mouseover', swap, false);
			objImage.addEventListener('mouseout', unswap, false);
		} else if (objImage.attachEvent) {
			objImage.attachEvent ("onmouseover",swap);
			objImage.attachEvent ("onmouseout",unswap);
		} else {
			objImage.onmouseover = swap;
			objImage.onmouseout = unswap;
		}

		objImgHolder.appendChild(objImage);
		objThumbs.appendChild(objImgHolder);
	}

	if(visibleItems < totalItems){
		var objImgHolder = document.createElement('div');
		objImgHolder.setAttribute('id', 'box'+visibleItems);
		objImgHolder.style.left = String(visibleItems * (thumbWidth + 4)) + 'px';
		objImgHolder.style.width = String(thumbWidth + 4) + 'px';
		objImgHolder.style.height = String(thumbHeight + 12) + 'px';
		objImgHolder.style.position = 'absolute';
		objImgHolder.style.cursor = 'pointer';
		objImgHolder.style.top = 0;

		if (objImgHolder.addEventListener) {
			objImgHolder.addEventListener('click', getPage, false);
		} else if (objImgHolder.attachEvent) {
			objImgHolder.attachEvent ("onclick",getPage);
		} else {
			objImgHolder.onclick = getPage;
		}
		
		var objImage = document.createElement('img');
		objImage.setAttribute('id','img'+visibleItems);
		objImage.setAttribute('alt',visibleItems);
		
		objImage.src = arImages[visibleItems].src1;

		if (objImage.addEventListener) {
			objImage.addEventListener('mouseover', swap, false);
			objImage.addEventListener('mouseout', unswap, false);
		} else if (objImage.attachEvent) {
			objImage.attachEvent ("onmouseover",swap);
			objImage.attachEvent ("onmouseout",unswap);
		} else {
			objImage.onmouseover = swap;
			objImage.onmouseout = unswap;
		}

		objImgHolder.appendChild(objImage);
		objThumbs.appendChild(objImgHolder);
	}

	objContainer.appendChild(objThumbs);

	nextRight = visibleItems + 1;
	nextLeft = totalItems - 1;

	var objImageArea = document.getElementById('sgImageArea');
	var objIATable = document.createElement('div');
	objIATable.style.textAlign = 'center';
	
	var objIALeftArrow = document.createElement('img');
	objIALeftArrow.setAttribute('alt','Left');
	objIALeftArrow.setAttribute('border','0');
	objIALeftArrow.style.cursor = 'pointer';
	objIALeftArrow.src = '/scrollGallery/leftarrowl.png';
	
	if (objIALeftArrow.addEventListener) {
		objIALeftArrow.addEventListener('click', prevFull, false);
	} else if (objIALeftArrow.attachEvent) {
		objIALeftArrow.attachEvent ("onclick",prevFull);
	} else {
		objIALeftArrow.onclick = prevFull;
	}
	
	objIATable.appendChild(objIALeftArrow);

	var objMainLink = document.createElement('a');
	objMainLink.setAttribute('id', 'sgLink');
	objMainLink.setAttribute('href', pagePath + (currentPos + 1) + '.jpg');
	objMainLink.setAttribute('rel','lightbox');
	objMainLink.style.width = maxSize + 'px';
	
	var objMainImage = document.createElement('img');
	objMainImage.setAttribute('id','mainImg');
	objMainImage.setAttribute('border', 0);
	objMainImage.src = objSpacerImgHolder.src;
	
	objMainLink.appendChild(objMainImage);
	objIATable.appendChild(objMainLink);
	
	var objIARightArrow = document.createElement('img');
	objIARightArrow.setAttribute('alt','Right');
	objIARightArrow.setAttribute('border','0');
	objIARightArrow.style.cursor = 'pointer';
	objIARightArrow.src = '/scrollGallery/rightarrowl.png';
	
	if (objIARightArrow.addEventListener) {
		objIARightArrow.addEventListener('click', nextFull, false);
	} else if (objIARightArrow.attachEvent) {
		objIARightArrow.attachEvent ("onclick",nextFull);
	} else {
		objIARightArrow.onclick = nextFull;
	}
	
	objIATable.appendChild(objIARightArrow);
	
	objImageArea.appendChild(objIATable);

	var theImage = new Image();
	theImage.onload = function(){mainResize(theImage);};
	theImage.src = arImages[currentPos].target;
	
	for(var j = 0; j <= visibleItems; j++){
		var tmpImg = document.getElementById('img'+j);
		if(tmpImg.filters){
			//tmpImg.style.filter ="progid:DXImageTransform.Microsoft.Alpha(enabled=true, opacity=60)"
		} else {
			tmpImg.style.opacity = .6;
		}
	}
	
	initLightbox();
	
	if(visibleItems < totalItems){
		move();
	}
}

function move(speed, dir){
	clearTimeout(t);
	if(!speed){
		speed = normspeed;
	}
	if(!dir){
		dir = normdir;
	}

	if (dir > 0){
		movement = speed;
	}

	if (dir < 0){
		movement = speed * -1;
	}

	if (dir == 0){
		movement = 0;
	}

	if (movement != 0){
		for (var i = 0; i <= visibleItems; i++){
			box = document.getElementById('box' + i);
			var boxLeft = box.style.left.replace('px','');
			var newLeft = parseInt(boxLeft) + movement;
			box.style.left = newLeft + 'px';
			if (newLeft <= ((thumbWidth + 6) *-1) || newLeft >= (((thumbWidth + 4)* visibleItems)+2)){
				img = document.getElementById('img' + i);
				if (dir > 0){
					box.style.left = (newLeft - ((thumbWidth + 4)* visibleItems) - (thumbWidth + 4)) + "px";
					if(nextRight < 0 ){
						nextRight = arImages.length - 1;
					}
					if(nextLeft < 0){
						nextLeft = arImages.length - 1;
					}
					img.src = arImages[nextLeft].src1;
					img.alt = nextLeft;
					nextRight--;
					nextLeft--;
				} else {
					box.style.left = (newLeft + ((thumbWidth + 4)* visibleItems) + (thumbWidth + 4)) + "px";
					if(nextLeft == arImages.length){
						nextLeft = 0;
					}
					if(nextRight == arImages.length){
						nextRight = 0;
					}
					img.src = arImages[nextRight].src1;
					img.alt = nextRight;
					nextLeft++;
					nextRight++;
				}

			}
		}

		t = setTimeout('move('+speed+','+dir+')',30);
	}
}

function mainResize(theImage){
	var mainImg = document.getElementById('mainImg');
	var mainLink = document.getElementById('sgLink');

	var theWidth = theImage.width;
	var theHeight = theImage.height;

	if(theWidth > theHeight){
		var heightAdj = (maxSize / theWidth) * theHeight;
		mainImg.style.width = maxSize + 'px';
		mainImg.style.height = heightAdj + 'px';
		var centerImgAdj = Math.floor((maxSize - heightAdj) / 2);
		mainImg.style.marginTop = centerImgAdj + 'px';
		mainImg.style.marginBottom = centerImgAdj + 'px';
		mainImg.style.marginLeft = 0;
		mainImg.style.marginRight = 0;
	} else {
		var widthAdj = (maxSize / theHeight) * theWidth;
		mainImg.style.height = maxSize + 'px';
		mainImg.style.width = widthAdj + 'px';
		var centerImgAdj = Math.floor((maxSize - widthAdj) / 2);
		mainImg.style.marginLeft = centerImgAdj + 'px';
		mainImg.style.marginRight = centerImgAdj + 'px';
		mainImg.style.marginTop = 0;
		mainImg.style.marginBottom = 0;
	}
	
	mainLink.setAttribute('href',theImage.src);
	mainImg.src = theImage.src;
	
	initLightbox();
}

function getPage(e){
	if(e.target){
		var img = e.target;
	} else {
		var img = e.srcElement;
	}
	
	//alert(img.alt);
	var whichImg = img.alt;
	currentPos = whichImg;

/****** This is where you put in the id assigned to the iFrame
	that will change when an image is clicked on.
	Replace the THE ID OF YOUR IFRAME text with the actual ID. ******/

	var mainImg = document.getElementById('mainImg');
	mainImg.src = "../images/spacer.png";

	var theImage = new Image();
	theImage.onload = function(){mainResize(theImage);};
	theImage.src = arImages[whichImg].target;
}

function swap(e){
	move('0','0');
	if(e.target){
		var img = e.target;
	} else {
		var img = e.toElement;
	}

	if(img.filters){
		//img.filters.alpha.opacity = 100;
	} else {
		img.style.opacity = 1;
	}

	/*var atts = "";
	for(att in img){
		atts = atts + att + ": " + img[att] + "\n";
	}

	alert(atts);*/
}

function unswap(e){
	move();

	if(e.target){
		var img = e.target;
	} else {
		var img = e.fromElement;
	}

	if(img.filters){
		//img.filters.alpha.opacity = 60;
	} else {
		img.style.opacity = .6;
	}
}

function ImageHolder(target,src1,src2){
	this.src1 = src1;
	this.src2 = src2;
	this.target = target;
}

function prevFull(){
	if(currentPos == 0){
		currentPos = totalItems - 1;
	} else {
		currentPos--;
	}

	var mainImg = document.getElementById('mainImg');
	mainImg.src = "../images/spacer.png";

	var theImage = new Image();
	theImage.onload = function(){mainResize(theImage);};
	theImage.src = arImages[currentPos].target;
}

function nextFull(){
	if(currentPos == totalItems - 1){
		currentPos = 0;
	} else {
		currentPos++;
	}

	var mainImg = document.getElementById('mainImg');
	mainImg.src = "../images/spacer.png";

	var theImage = new Image();
	theImage.onload = function(){mainResize(theImage);};
	theImage.src = arImages[currentPos].target;
}