var fullSize = 2000;
var displaySize = 350;
var interval = 3500; 
var random_display = 0;
var image_dir = ""
var ImageNum = 0;
var isPlaying = false;
var timerID;

var lwID = new Array();
var lwURL = new Array();
var lwAuthorID = new Array();
var lwAttID = new Array();
var lwContentType = new Array();
var lwTitle = new Array();
var lwPosted = new Array();

// globals must be set before this
// itemType - thread or message
// showType - album or storyboard
// pageUserID - id of page user
	
function randNum(x, y) {
	var range = y - x + 1;
	return Math.floor(Math.random() * range) + x;
}

function getImgURL(num, size) {
	return "/servlet/ImgServlet?mx="+size+"&attachImage=true&contentType="+escape(lwContentType[num])+"&attachment="+lwAttID[num]+"&crop=false";
}

function setHiddenImage(num) {
	hiddenMsgID=returnObjById("popupHiddenMessageID");
	if (hiddenMsgID != undefined) {
	    hiddenMsgID.value=lwID[num];
	    replaceMsgId("popupHiddenMessageID", num);
	}
}

function setImage(num) {
    msgCreatedDiv = returnObjById("selected-photo-posted-date");
    msgCreatedDiv.innerHTML=lwPosted[num];
    titleDiv = returnObjById("selected-photo-title");
    titleDiv.innerHTML=lwTitle[num];
    
	if (document.getElementById('selected-photo-email-href')) {
		emailDiv=returnObjById("selected-photo-email-href");
		emailDiv.href=getRefer(num);
	}
    
    viewActualDiv=returnObjById("selected-photo-view-actual-size-href");
    viewActualDiv.href=getImgURL(num, fullSize);
    
    if (document.getElementById('lw-view-messages-link')) {
    	viewCommentsHref=returnObjById("lw-view-messages-link");
	    viewCommentsHref.href=lwURL[num];
	}
	
    imgLink=returnObjById("rImage_link");
    imgLink.href= getImgURL(num, displaySize);
    setHiddenImage(num);
    if (showType == "storyboard") {
	if (lwAuthorID[num] == pageUserID) {
	    toggleBox("popup-thread-rating", 0)
	} else {
	    toggleBox("popup-thread-rating", 1)
	}
    }
    if (document.forms["postform"] != null ) {
	if (itemType == "message") {
	    document.postform.messageID.value = lwID[num];
	} else {
	    document.postform.messageID.value = -1;
	    document.postform.threadID.value = lwID[num];
	}
    }
}

function changeImage(num, place) {
	document[place].src = getImgURL(num, displaySize);
	setImage(num);
	var recur_call = "rotateImage('"+place+"')";
	timerID = setTimeout(recur_call, interval);
}


function getNextImage() {
	if (random_display) {
		ImageNum = randNum(0, number_of_image-1);
	} else {
		ImageNum = (ImageNum+1) % number_of_image;
	}
	if (lwID[ImageNum] == undefined)
	    getBlock(ImageNum, itemType);
	return getImgURL(ImageNum, displaySize);
}
	
function getPrevImage() {
	ImageNum = (ImageNum-1) % number_of_image;
	if (ImageNum< 0) {
		ImageNum= number_of_image-1;
	}
	if (lwID[ImageNum] == undefined)
	    getBlock(ImageNum, itemType);
	if (document.getElementById('message_balloon_box')) toggleBox("message_balloon_box",0);
	setHiddenImage(ImageNum);
	return getImgURL(ImageNum, displaySize);
}
	
	
function prevImage(place) {
	document[place].src = getPrevImage(n);
	rotateImage('rImage');
}
	
function nextImage(place) {
	document[place].src = geNextImage();
}
	
function startSlideShow() {
	resetPlayPauseImage("lw-play-button");
	toggleBox("slideShow", 1);
	toggleBox("darken-div", 1);
	ImageNum = -1;
	getNextImage();
	setImage(ImageNum);
	document["rImage"].src = getImgURL(ImageNum, displaySize);
	if (document.forms["postform"] != null ) {
		document.forms["postform"].elements["body"].value="";
	}
}
	
function closeSlideShow() {
	clearTimeout(timerID);
	var ImageNum = 0;
	var isPlaying = false;
	toggleBox("slideShow", 0);
	toggleBox("darken-div", 0);
	if (document.getElementById('message_balloon_box')) toggleBox("message_balloon_box",0);
	document.forms["postform"].elements["body"].value="";
}
	
function toggleBox(szDivID, iState) { // 1 visible, 0 hidden
	if(document.layers)	{   //NN4+
		document.layers[szDivID].display = iState ? "block" : "none";
		document.layers[szDivID].visibility = iState ? "show" : "hide";
	} else if(document.getElementById) {	  //gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		obj.style.visibility = iState ? "visible" : "hidden";
		obj.style.display = iState ? "block" : "none";
	} else if(document.all)	{ // IE 4
		document.all[szDivID].style.visibility = iState ? "visible" : "hidden";
		document.all[szDivID].style.display = iState ? "block" : "none";
	}
}
	
function swapImage(szDivID, imageName) { // 1 visible, 0 hidden
	if(document.layers)	{   //NN4+
	   document.layers[szDivID].backgroundImage = "url(/images/" + imageName + ")";
	} else if(document.getElementById) {	  //gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		obj.style.backgroundImage = "url(/images/" + imageName + ")";
	} else if(document.all)	{ // IE 4
		document.all[szDivID].style.backgroundImage = "url(/images/" + imageName + ")";
	}
}
	
function togglePlayPauseImage(szDivID, iState) { // 1 visible, 0 hidden
	if(document.layers) {	   //NN4+
		document.layers[szDivID].backgroundImage = iState ? "url(/images/lw_slideviewer_pause_off.jpg)" : "url(/images/lw_slideviewer_play_off.jpg)";
	} else if(document.getElementById) {	  //gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		obj.style.backgroundImage = iState ? "url(/images/lw_slideviewer_pause_off.jpg)" : "url(/images/lw_slideviewer_play_off.jpg)";
	} else if(document.all)	{ // IE 4
		document.all[szDivID].style.backgroundImage = iState ? "url(/images/lw_slideviewer_pause_off.jpg)" : "url(/images/lw_slideviewer_play_off.jpg)";
	}
}
	
function resetPlayPauseImage(szDivID) { // 1 visible, 0 hidden
	if(document.layers) {	   //NN4+
		document.layers[szDivID].backgroundImage = "url(/images/lw_slideviewer_play_off.jpg)";
	} else if(document.getElementById) {	  //gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		obj.style.backgroundImage =  "url(/images/lw_slideviewer_play_off.jpg)";
	} else if(document.all) {	// IE 4
		document.all[szDivID].style.backgroundImage = "url(/images/lw_slideviewer_play_off.jpg)";
	}
}
	
function collapseBox(szDivID, iState) { // 1 visible, 0 hidden
	if(document.layers) {	   //NN4+
		document.layers[szDivID].display = iState ? "block" : "none";
		document.layers[szDivID].visibility = iState ? "show" : "hide";
	} else if(document.getElementById) {	  //gecko(NN6) + IE 5+
		var obj = document.getElementById(szDivID);
		obj.style.display = iState ? "block" : "none";
		obj.style.visibility = iState ? "visible" : "collapse";
	} else if(document.all) {	// IE 4
		document.all[szDivID].style.display = iState ? "block" : "none";	
		document.all[szDivID].style.visibility = iState ? "visible" : "collapse";
	}
}

function replaceMsgId(elementId, id) {
	theElement = returnObjById(elementId);
	if (theElement != null) {
		 theElement.value=lwID[id];
	}
}
	
function returnObjById( id ) {
    if (document.getElementById)
        var returnVar = document.getElementById(id);
    else if (document.all)
        var returnVar = document.all[id];
    else if (document.layers)
        var returnVar = document.layers[id];
    return returnVar;
}

function togglePlay() {
	if (isPlaying) {
		clearTimeout(timerID);
		togglePlayPauseImage("lw-play-button",0);
		isPlaying=false;
	} else {
		rotateImage('rImage');
		togglePlayPauseImage("lw-play-button",1);
		isPlaying=true;
	}
}

function getRefer(num) {
    if (itemType == "message")
	return "refer.jspa?messageID="+lwID[num];
    else
	return "refer.jspa?threadID="+lwID[num];
}

function getVote(num) {
    if (itemType == "message")
	return "vote.jspa?messageID="+lwID[num];
    else
	return "vote.jspa?threadID="+lwID[num];
}

function rotateImage(place) {
	getNextImage();
	changeImage(ImageNum, place);
}

function rotateImageLeft(place) {
	getPrevImage();
	changeImage(ImageNum, place);
}	

function setImageSource(imagTagId, iindex) {	
	if(document.layers)	{   //NN4+
		document.layers[imagTagId].src = getImgURL(iindex, displaySize);
	} else if(document.getElementById) {	  //gecko(NN6) + IE 5+
		var obj = document.getElementById(imagTagId);
		obj.src = getImgURL(iindex, displaySize);
		setImage(iindex);
	}
}
	
