// page_photos.js


var mSlideRows;
var mCurrentSlide;
var mTotalSlides;
var mNextSlideTo;

//-------------------------------------------
function InitPhotoPage()
	{
	mCurrentSlide = 0;
	
	HideElemID("new_photo_panelimage");
	HideElemID("new_photo_panel");
	ShowElemID("open_new_photo_panel_but");
	UpdateKillBut("");
	RebuildSlideTray(0);
	CleanupUpload();
	}
//-------------------------------------------
function PhotoDoNothingFunc()
	{
	}
//-------------------------------------------
function AddToScrapbookFunc(elem)
	{
	var usr = GetUsername();
	var txt = GetElemByID("id_photo_txt").value;
	
	var str="request=add_photo^user="+usr+"^comments="+txt;

	// Make AJAX call -------------------
	var ajax = new AJAX("page_photos_ajax.php", str);
	ajax.onload = PhotoWasAdded;
	ajax.get();
	}
//-------------------------------------------------		
function PhotoWasAdded(ajax, success)
	{
	if (success)
		{
		UpdatePhotoSubmitterPopup();
		RebuildSlideTray(mTotalSlides-1);
		}
	else alert("Photo Submission Failled.");
	delete ajax;
	}

//-------------------------------------------
function OpenNewPhotoPanel(elem)
	{
	ShowElemID("new_photo_panel");
	HideElemID("open_new_photo_panel_but");
	}
//-------------------------------------------
function CloseNewPhotoPanel(elem)
	{
	HideElemID("new_photo_panel");
	ShowElemID("open_new_photo_panel_but");
	}
//-------------------------------------------
function ChangeSubmitterFilter(elem)
	{
	RebuildSlideTray(mTotalSlides);
	}
//-------------------------------------------
function UpdatePhotoSubmitterPopup()
	{
	var selectElem = GetElemByID("id_submitter");
	var username = GetUsername();
alert("user="+username)
	var idx = GetIndexFromValueInSelect(selectElem, username);
	alert("idx of user in popup="+idx)
	if (idx == -1)
		{
		var newOption = document.createElement('<option value="+username+">');
        document.all.id_submitter.options.add(newOption);
		newOption.innerText = GetFirstname()+" "+GetLastname();
		selectElem.selectedIndex = selectElem.options.length-1;
		}
	else selectElem.selectedIndex = 0;
	}
	
//-------------------------------------------
function RebuildSlideTray(slide)
	{
	mNextSlideToShow = slide;
	var username = GetElemValue("id_submitter");
	var fromDate = GetElemValue("phpidfrom_date");
	var toDate = GetElemValue("phpidto_date");
	var str = "request=get_photo_list^user="+username+"^fromdate="+fromDate+"^todate="+toDate;

	// Make AJAX call -------------------
	var ajax = new AJAX("page_photos_ajax.php", str);
	ajax.onload = SlideTrayBuilt;
	ajax.get();
	}
//-------------------------------------------------		
function SlideTrayBuilt(ajax, success)
	{
	if (success)
		{
		var str = ajax.GetRtnStr();

		if (str.substr(0,5) == "empty") 
			{
			mTotalSlides = 0;
			ShowSlide(0);
			}
		else 
			{
			mSlideRows = str.split("^");
			mTotalSlides = mSlideRows.length;
			if (mNextSlideToShow>(mTotalSlides-1)) mNextSlideToShow = 0;
			DrawThumbs(0);
			ShowSlide(mNextSlideToShow);
			}
		}
	delete ajax;
	};
//-------------------------------------------------		
function GetSlideDBRecStr(row)
	{
	if (mSlideRows == null) return "";
	return mSlideRows[row].split("~");
	}
//-------------------------------------------------		
function ShowSlide(slideIdx)
	{
	if (mTotalSlides == 0) 
		{
		HideElemID("id_slide");
		return;
		}
	ShowElemID("id_slide");
	
	mCurrentSlide = slideIdx;
	var rowStr = GetSlideDBRecStr(slideIdx);
	if (rowStr == null)
		{
		GetElemByID("id_slide").src = '?'+escape(new Date());
		SetElemValue("bot_left_photo_txt", "No Slide");
		SetElemValue("bot_rt_photo_txt", "");
		mCurrentSlide = 0;
		UpdateKillBut("");
		}
	else	
		{
		var id = rowStr[0];
		var username = rowStr[1];
		var comments = rowStr[2];
		var subdate = rowStr[3];
		var lastfirstname = rowStr[4];

		var path = "../sims_data/scrapbook/p_"+id+".jpg";
		var imgElem = GetElemByID("id_slide");
		var img = new Image();
		img.src = path;
		imgElem.style.top = 70;
		imgElem.style.left = 70;
		imgElem.src =  path+'?'+escape(new Date());
	//	DrawThumbs(slideIdx);
		++slideIdx;
		
		SetElemInnerHTML("bot_left_photo_txt", slideIdx+" of "+mTotalSlides);
		var firstlast = lastfirstname.split("_");	
		var name = firstlast[1]+" "+firstlast[0];
		SetElemInnerHTML("bot_rt_photo_txt", "Submitted by "+name+" on "+subdate);
		UpdateKillBut(username);
		}
	
	}
//-------------------------------------------------		
function DrawThumbs(slideIdx)
	{
	if (mTotalSlides > 0)
		{
		var total = mTotalSlides;
		if (total > 5) total = 5;
		for (idx = 1; idx <= total; ++idx)
			{
			id = "thumb"+idx;
			path = "../sims_data/scrapbook/t_"+idx+".jpg";
			GetElemByID(id).src = path+'?'+escape(new Date());
			}
		}
	}

//-------------------------------------------------		
function GoToFirstPhoto(elem)
	{
	ShowSlide(0);
	}

//-------------------------------------------------		
function GoToLastPhotoInTray()
	{
	ShowSlide(mTotalSlides-1)
	}
//-------------------------------------------------		
function GoToLastPhoto(elem)
	{
	ShowSlide(mTotalSlides-1)
	}
//-------------------------------------------------		
function GoToPrevPhoto(elem)
	{
	if (mCurrentSlide > 0)
		{
		ShowSlide(mCurrentSlide-1)

		}
	}
//-------------------------------------------------		
function GoToNextPhoto(elem)
	{
	if (mCurrentSlide < (mTotalSlides-1))
		{
		ShowSlide(mCurrentSlide+1)
		}
	}
//-------------------------------------------------		
function WipeOutEntireScrapbk(elem)
	{
	var str="request=wipe_out";
	// Make AJAX call -------------------
	var ajax = new AJAX("page_photos_ajax.php", str);
	ajax.onload = ScrapbkWasWiped;
	ajax.get();
	}
//-------------------------------------------------		
function ScrapbkWasWiped(ajax, success)
	{
	if (success)
		{
		InitPhotoPage
		}
	delete ajax;
	}
//-------------------------------------------------		
function UpdateKillBut(username)
	{
	if (username == "")
		{
		HideElemID("kill_but");
		}
	else
		{
		if (IsAdminLevel())
			{
			ShowElemID("kill_but");	
			}
		else
			{
			if (username == GetUsername())
				{
				ShowElemID("kill_but");		
				}
			else
				{
				HideElemID("kill_but");
				}
			}
		}
	}

//-------------------------------------------------		
function EraseCurrentPhoto(elem)
	{
	if (mCurrentSlide > 0)
		{
		var rowStr = GetSlideDBRecStr(slideIdx);
		var id = rowStr[0];
		
		var str="request=erase_slide^rowid="+id;

		// Make AJAX call -------------------
		var ajax = new AJAX("page_photos_ajax.php", str);
		ajax.onload = SlideWasErased;
		ajax.get();
		}
	}
//-------------------------------------------------		
function SlideWasErased(ajax, success)
	{
	if (success)
		{
		RebuildSlideTray(mCurrentSlide-1);
		}
	delete ajax;
	}
	
