/*
var timerlen = 10;
var slideAniLen = 1000;
var slideSingleDistance = 110;
var stepNum = 10;

var timerID = null;
var startTime = null;
var obj = null;
var endLeft = null;
var startLeft = null;

var currentLeft = null;
var stepLength = null;

var moving = null;
var dir = null;

var objname = 'slider_frame';
var currentImgNum = 1;
var newImgNum = 0;
var imgWidth = 110;
*/


var timerlen = 5;
var objname = 'slider_frame';
var stepNum = 10;
var imgWidth = 110;
var moving = false;

function getCurrentNum() {
	
        obj = document.getElementById(objname);
		
		startLeft = parseInt(obj.style.left);
		
		currentNum = (startLeft / 110) + 1;
		
		return currentNum;
}

function slideleft(){
		clearDebug();
        if(moving == true) {
			alert('moving');
			return;
		}

		currentImgNum = getCurrentNum();
		if (currentImgNum > 1) {
			newImgNum = currentImgNum - 1;
	        startslide(newImgNum);
		} else	{
				return;
		}
}

function slideright(){
		clearDebug();
        if(moving == true) {
			alert('moving');
			return;
		}
		
//BRIAN		alert(document.getElementById('li_2').offsetLeft);

		currentImgNum = getCurrentNum();
		newImgNum = currentImgNum + 1;
 //       moving = true;
        startslide(newImgNum);
}

function startslide(gotoImgNum){
        
		if(moving == true) {
			alert('moving');
			return;
		}
		newImgNum = gotoImgNum;
		
		currentImgNum = getCurrentNum();
		
//		makeOpaque(makeThumbID(currentImgNum));
		changeOpacity(makeThumbID(currentImgNum),50);
		
//		changeOpacity(makeLargeID(currentImgNum),0);
		fadeOut(makeLargeID(currentImgNum),100);
		
		//FADE OUT currentimage
		
		//writeDebug('startslide(' + newImgNum + ')');
		
        obj = document.getElementById(objname);
		
		startLeft = parseInt(obj.style.left);
		
		//writeDebug('from: ' + currentImgNum + ' to: ' + newImgNum);
		
		imgDistance = Math.abs(currentImgNum - newImgNum);
		//writeDebug('imgDistance: ' + imgDistance);
		
		if (currentImgNum == newImgNum) {
			return;
		} else if (currentImgNum > newImgNum) {
			dir = "left";
			endLeft = parseInt(obj.style.left) - (imgDistance * imgWidth);
		} else {
			dir = "right";
			endLeft = parseInt(obj.style.left) + (imgDistance * imgWidth);
		}
		//writeDebug('endLeft: ' + endLeft);
		
		
		
		
		
		var travelDistance = Math.abs(endLeft - startLeft);

		//writeDebug('travelDistance: ' + travelDistance);
		
		stepLength = parseInt(travelDistance / (stepNum));
		
		//writeDebug('stepLength: ' + stepLength);
		
//        startTime = (new Date()).getTime();
		
        timerID = setInterval('slidetick(\'' + stepLength + '\');',timerlen);
}

function slidetick(stepLength){
		//writeDebug('<hr>');
		//writeDebug('slidetick');
		
		stepLength = parseFloat(stepLength);
		
        //var elapsed = (new Date()).getTime() - startTime;
		currentLeft = parseInt(obj.style.left);
		
				//writeDebug('currentLeft: ' + currentLeft);
			
				//writeDebug('stepLength: ' + stepLength);
		
		if (dir == 'left' && currentLeft <= endLeft) {
                endSlide();
		} else if (dir == 'right' && currentLeft >= endLeft) {
                endSlide();
		} else {
			
				
			if(dir == "right") {
				thisLeft = parseInt(currentLeft + stepLength);
			} else {
				thisLeft = parseInt(currentLeft - stepLength);
			}

			obj.style.left = thisLeft + "px";
			
        }

        return;
}

function endSlide(){
//		alert('endSlide: endLeft:: ' + endLeft);
        clearInterval(timerID);

//        if(dir == "right")
//                obj.style.display = "none";

        obj.style.left = endLeft + "px";

//        delete(moving);
		oldImgNum = currentImgNum;
		currentImgNum = newImgNum;
		newImgNum = 0;
		moving = false;
        delete(timerID);
        delete(startTime);
        delete(endLeft);
        delete(obj);
        delete(dir);


		hideDiv(makeLargeID(oldImgNum));
		changeOpacity(makeThumbID(getCurrentNum()),100);
		fadeIn(makeLargeID(getCurrentNum()),50);
		displayDiv(makeLargeID(getCurrentNum()));

        return;
}

function makeThumbID(idNum) {
	return ("li_" + idNum);
}

function makeLargeID(idNum) {
	return ("bigImage_" + idNum );
}

function displayDiv(idNum) {
	var obj = document.getElementById(idNum);
	obj.style.display = 'block';
}

function hideDiv(idNum) {
	var obj = document.getElementById(idNum);
	obj.style.display = 'none';
}

function changeOpacity(objID,opacity) {
	var opacity = (opacity == 100)?99.999:opacity;
	var obj = document.getElementById(objID);
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;	
}


function fadeIn(objID,opacity) {
	  if (document.getElementById) {
		var obj = document.getElementById(objID);
		if (opacity <= 100) {
		  changeOpacity(objID, opacity);
//		  opacity += 10;
		  opacity += 10;
		  window.setTimeout("fadeIn('"+objID+"',"+opacity+")", 20);
		} else {
			changeOpacity(objID,100);	
		}
	  }
}


function fadeOut(objID,opacity) {
	  if (document.getElementById) {
		var obj = document.getElementById(objID);
//		if (opacity >= 50) {
		if (opacity >= 10) {
		  changeOpacity(objID, opacity);
		  opacity -= 10;
		  window.setTimeout("fadeOut('"+objID+"',"+opacity+")", 20);
		} else {
			hideDiv(objID);	
		}
	  }
}

function showLeft() {
	obj = document.getElementById(objname);
	alert(obj.style.left);	
	return;
}

function writeDebug(copyText) {
	document.getElementById('debugDiv').innerHTML = document.getElementById('debugDiv').innerHTML + "<br>";
	document.getElementById('debugDiv').innerHTML = document.getElementById('debugDiv').innerHTML + copyText;
	return;
}

function clearDebug() {
	document.getElementById('debugDiv').innerHTML = "";
	return;
}
