/** Requires: TGLightBox.js **/

var TGSS_THUMB_SIZE = 85;
var TGSS_NUM_THUMBS = 3;


function tgInitSlideShow (photosDivId) {
	hideObject (photosDivId);

	var arrContent = new Array();

	arrContent.push ('<div id="tgSS_Container" class="master" style="position:absolute; visibility:hidden; display:none; z-index:105;">');
	arrContent.push ('<table  cellspacing="0" cellpadding="0"><tbody>');
	
	arrContent.push ('<tr><td>');
	
		arrContent.push ('<div class="borderOuter">');
		arrContent.push ('<div class="closewindowupper" ><a href="JavaScript: tgCloseSlideShow();">Close Window</a></div>');
		arrContent.push ('<div class="borderInner">');
			arrContent.push ('<h1 id="tgSS_Title">' + getElemById(photosDivId).title + '</h1>');
			arrContent.push ('<div id="tgSS_MainImage" align="center" onClick="JavaScript: tgImageAction(\'' + photosDivId + '\', \'NEXT\');">');
			arrContent.push ('</div>');

			arrContent.push ('<div class="sliderContainer">');
				arrContent.push ('<div id="tgSS_Prev" onMouseDown="JavaScript: tgSliderMouseMove(this, \'DOWN\');" onMouseOut="JavaScript: tgSliderMouseMove(this, \'OUT\');" onMouseOver="JavaScript: tgSliderMouseMove(this, \'OVER\');" onClick="JavaScript: tgSliderAction(\'' + photosDivId + '\', this);" style="display: block" class="navButton navPrev navDisabled">');
				arrContent.push ('</div>');
				arrContent.push ('<div class="tgSS_TNClip">');
					arrContent.push ('<ul id="tgSS_TNList"></ul>');
				arrContent.push ('</div>');
				arrContent.push ('<div id="tgSS_Next" onMouseDown="JavaScript: tgSliderMouseMove(this, \'DOWN\');" onMouseOut="JavaScript: tgSliderMouseMove(this, \'OUT\');" onMouseOver="JavaScript: tgSliderMouseMove(this, \'OVER\');" onClick="JavaScript: tgSliderAction(\'' + photosDivId + '\', this);" style="display: block" class="navButton navNext navDisabled">');
				arrContent.push ('</div>');
			arrContent.push ('</div>');
		arrContent.push ('</div></div>'); /* borderInner, borderOuter */

	arrContent.push ('</td></tr>');
	arrContent.push ('<tr><td>');
		arrContent.push ('<div class="closewindow center">');
			arrContent.push ('<a id="hotel_dtl_cls_win" href="JavaScript:tgCloseSlideShow();">Close Window</a>');
		arrContent.push ('</div>');
	arrContent.push ('</td></tr>');
	arrContent.push ('</tbody></table>');
	arrContent.push ('</div>');


	//arrContent.push (tgGetBackFillerDivHtml());
	document.writeln (arrContent.join (''));

	var backFillerDiv = getElemById("tgBackFiller");
	addEventHandler (backFillerDiv, "click", tgCloseSlideShow);
}

function tgStartSlideShow (photosDivId, divW, divH) {
	//tgInitBackFiller (true);
	tgCenterObject ('tgSS_Container', divW, divH);
	getStyleObject ('tgSS_MainImage').height = (divH-230) + 'px';

	var masterDiv = getElemById (photosDivId);
	var sliderData = "";
	for (var i=0; i<masterDiv.childNodes.length; ++i) {
		if (masterDiv.childNodes[i].nodeName.toUpperCase() == "IMG") {
			sliderData += '<li><img alt="photo" onClick="JavaScript: tgImageAction(\'' + photosDivId + '\', this);" style="background-image:url(content/graphics/missing_photo.jpg); background-repeat: no-repeat;" class="thumb" alt="' 
				+ masterDiv.childNodes[i].alt + '" src="' + masterDiv.childNodes[i].src + '"></li>';
		}
	}
	var sliderId = getElemById ('tgSS_TNList');
	getStyleObject ('tgSS_TNList').left = "0px";
	sliderId.innerHTML = sliderData;
	getElemById ('tgSS_MainImage').innerHTML = "";
	tgSlideShowNext(photosDivId);

	//tgShowObjectWithBackFiller ('tgSS_Container');
	tgHtmlLightBox('tgSS_Container',divW,divH);
}

function tgCloseSlideShow () {
	tgHideObjectWithBackFiller ('tgSS_Container');
}

function tgSlideShowNext (photosDivId) {
	tgImageAction(photosDivId, 'NEXT');
}


function tgImageAction (photosDivId, action) {
	if (tgSliderSliding) return;

	var sliderList	= getElemById ('tgSS_TNList');
	var imageDiv	= getElemById ('tgSS_MainImage');
	var currImgSrc	= '';
	var currIndex	= -1;

	if (action != null && action != 'NEXT' && action != 'PREV') {
		currImgSrc = action.src;
	} else {
		for (var i=0; i<imageDiv.childNodes.length; ++i) {
			if (imageDiv.childNodes[i].nodeName.toUpperCase() == "IMG") {
				currImgSrc = imageDiv.childNodes[i].src;
				break;
			}
		}
	}

	if (currImgSrc != '') {
		for (var i=0; i<sliderList.childNodes.length; ++i) {
			sliderList.childNodes[i].className = "";
			if (sliderList.childNodes[i].firstChild.src == currImgSrc) 
				currIndex = i;
		}
	}

	if (action == 'NEXT') {
		if (++currIndex >= sliderList.childNodes.length) {
			currIndex = 0;
		}
	} else if (action == 'PREV') {
		if (--currIndex < 0) {
			currIndex = sliderList.childNodes.length - 1;
		}
	}

	if (action != null) {
		sliderList.childNodes[currIndex].className = "selected";

		tgAutoAdjustSlider (photosDivId, currIndex);
		changeOpacity (0, "tgSS_MainImage");
		imageDiv.innerHTML = '<img alt="" src="' + sliderList.childNodes[currIndex].firstChild.src + '">';
		fadeEffect ("tgSS_MainImage", 0, 100, 400);
	}

	return currIndex;
}

function tgAutoAdjustSlider (photosDivId, currIndex) {
	if (tgSliderSliding) return;

	var sliderList	= getElemById ('tgSS_TNList');
	var sliderStyle	= getStyleObject ('tgSS_TNList');

	var prevDisabled = false;
	var nextDisabled = false;

	var positionAt	= currIndex-1;
	if (positionAt < 0) positionAt = 0;
	if (positionAt > sliderList.childNodes.length - TGSS_NUM_THUMBS) {
		positionAt = sliderList.childNodes.length - TGSS_NUM_THUMBS;
	}

	if (currIndex < 2) prevDisabled = true;
	if (currIndex > sliderList.childNodes.length - TGSS_NUM_THUMBS || sliderList.childNodes.length <= TGSS_NUM_THUMBS) nextDisabled = true;

	getElemById ('tgSS_Prev').className = "navButton navPrev " + (prevDisabled?"navDisabled":"navEnabled");
	getElemById ('tgSS_Next').className = "navButton navNext " + (nextDisabled?"navDisabled":"navEnabled");
	tgSliderSlideTo ('tgSS_TNList', (-1 * TGSS_THUMB_SIZE * positionAt));
}

function tgSliderAction (photosDivId, divId) {
	var sliderStyle	= getStyleObject ('tgSS_TNList');
	var sliderList	= getElemById ('tgSS_TNList');

	var positionAt	= Math.abs (Math.round (parseInt (sliderStyle.left, 10) / TGSS_THUMB_SIZE));
	var action		= (divId.id == 'tgSS_Prev'?'PREV':'NEXT');

	if (action == 'PREV') {
		positionAt -= TGSS_NUM_THUMBS - 1;
		if (positionAt < 0)
			positionAt = 0;
	} else if (action == 'NEXT') {
		positionAt += TGSS_NUM_THUMBS + 1;
		if (positionAt > sliderList.childNodes.length-1) {
			positionAt = sliderList.childNodes.length-1;
		}
	}

	tgAutoAdjustSlider (photosDivId, positionAt);
	tgSliderMouseMove (divId, 'PRESS');
}

function tgSliderMouseMove (divId, action) {
	if (divId.className.indexOf ('navDisabled') < 0) {
		if (action == 'OVER')
			divId.className = "navButton navHover";
		else if (action == 'OUT') {
			divId.className = "navButton navEnabled";
		} else if (action == 'PRESS') {
			divId.className = "navButton navActive";
		}
		divId.className += (divId.id == 'tgSS_Prev'?" navPrev":" navNext")
	}
}

var tgSliderSliding = false;
function tgSliderSlideTo (sliderId, endAt) {
	var sliderStyle	= getStyleObject (sliderId);
	var startAt = parseInt (sliderStyle.left, 10);

	if (isNaN (startAt)) startAt = 0;
	if (startAt != endAt) {
		tgSliderSliding = true;
		var step	= Math.ceil ((endAt - startAt) / 5);
		if (endAt < startAt) {/*to right*/
			if (step > -5) step = -5;
			if (endAt > startAt + step) step = endAt - startAt;
		} else {/*to left*/
			if (step < 5) step = 5;
			if (endAt < startAt + step) step = endAt - startAt;
		}
		sliderStyle.left = (startAt + step) + 'px';
		window.setTimeout ("tgSliderSlideTo ('" + sliderId + "', " + endAt + ")", 50);
	} else
		tgSliderSliding = false;
}

function tgShowPhotosSlideShow () {
	var divObj = getElemById ('tgSlideShow');
	if (divObj) {
		var imageTagsHtml = divObj.innerHTML;
		if (imageTagsHtml != null && imageTagsHtml.length > 0)
			tgStartSlideShow ('tgSlideShow', 406, 610);
	}
}
