// For suckerfish menus and other client-side functionality

sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		};
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		};
	}
};
if (window.attachEvent) {window.attachEvent("onload", sfHover);}

commentClick = function(commentForm) {
	if(commentForm.className == "commentform") {
	   commentForm.className = "commentform_open";
	   }
	else {
		commentForm.className = "commentform";
	}
};


// opens up story div specified by curStory, closes all others
// also displays the associated image
// also loops through all the pagelinks and displays them as well
DisplayStory = function(curStory) {
	
//	var tmpStories = document.getElementsByClassName('storyPage');
	var tmpStories = getElementsByClassName('storyPage');
	var iLoop=0;

	for(iLoop=0;iLoop<(tmpStories.length);iLoop++) {
		if (tmpStories[iLoop].id == 'Story'+curStory) {
			tmpStories[iLoop].style.display = '';
		}
		else {
			tmpStories[iLoop].style.display = 'none';	
		}
	}

	var tmpImages = getElementsByClassName('image');
	for(iLoop=0;iLoop<tmpImages.length;iLoop++) {
		if(tmpImages[iLoop].id == ('Image'+curStory)) {
			tmpImages[iLoop].style.display = 'block';
		}
		else {
			tmpImages[iLoop].style.display = 'none';		
		}
	}


	var tmpPageLinks = getElementsByClassName('pagelink');
	for(iLoop=0;iLoop<(tmpPageLinks.length);iLoop++) {
		if(tmpPageLinks[iLoop].id == ('pagelink'+curStory)) {
			tmpPageLinks[iLoop].style.border = '1px solid #FFFFFF';
		}
		else {
			tmpPageLinks[iLoop].style.border = 'none';
		}
	}

	var tmpPrev = document.getElementById('prevstory'); 
	if(tmpPrev) {
		if(curStory!=1) {
			tmpPrev.style.visibility = 'visible';
		}
		else {
			tmpPrev.style.visibility='hidden';		
		}
	}

	var tmpNext = document.getElementById('nextstory');
	if(tmpNext) {
		if(curStory<(tmpPageLinks.length-1)) {
			document.getElementById('nextstory').style.visibility = 'visible';
		}
		else {
			document.getElementById('nextstory').style.visibility='hidden';		
		}
	}

};


DisplayAnotherStory = function(storyDirection) {
	var tmpPageLinks = getElementsByClassName('pagelink');
	var curstory = -1;
	var strBorder = '';
	var strMatch = -1;
	for(var iLoop=0;iLoop<tmpPageLinks.length;iLoop++) {
		curstory = iLoop;
		strBorder = tmpPageLinks[iLoop].style.border;
		strMatch = strBorder.search("1px");
		if(strMatch>-1) {
			break;
		}
	}

	if(storyDirection=='Prev') {
		DisplayStory(curstory);	
	}
	else {
		DisplayStory(curstory + 2);	
	}
};

// FILTERS GALLERY TABLE BY TYPE
flipSearch = function(cNewValue,cType) {
	var cSearch = '';
	var allRows = document.getElementsByTagName('TR');
	var nIndex = -1;
	var selDirectors = document.getElementById('selDirectors');
	var selFilms = document.getElementById('selFilms');
	var selCountries = document.getElementById('selCountries');
	var bolAllFlag = -1;

// determine which row we are evaluating - plus the state of the other dropdowns
	switch (cType) {
		case 'All':
			nIndex = -1;
			break;
		case 'Page':
			nIndex = 0;
			break;
		case 'Directors': 
			nIndex = 3;
			if(selDirectors.selectedIndex > 0) {
				selFilms.selectedIndex = -1;
				selCountries.selectedIndex = -1;
			}
			else {
				bolAllFlag = 0;
				selFilms.selectedIndex = 0;
				selCountries.selectedIndex = 0;
			}
			break;
		case 'Countries':
			nIndex = 4;
			if(selCountries.selectedIndex > 0) {
				selFilms.selectedIndex = -1;
				selDirectors.selectedIndex = -1;
			}
			else {
				bolAllFlag = 0;
				selFilms.selectedIndex = 0;
				selDirectors.selectedIndex = 0;
			}
			break;
		case 'Films': 
			nIndex = 2;
			if(selFilms.selectedIndex > 0) {
				selCountries.selectedIndex = -1;
				selDirectors.selectedIndex = -1;
			}
			else {
				bolAllFlag = 0;
				selCountries.selectedIndex = 0;
				selDirectors.selectedIndex = 0;
			}
			break;
	}
// skip the first row - that is the header
	for(x=1;x<allRows.length;x++) {
	cSearch = allRows[x].getElementsByTagName('TD');
		var cInner = cSearch[nIndex].innerHTML;
		var nMatchPosition = cInner.search(cNewValue);
		if ((nMatchPosition != -1) || (cNewValue.toUpperCase()=='ALL'))	{
			allRows[x].style.display ='';
		}
		else {
			allRows[x].style.display='none';
		}
	}
	var objPageLinks = document.getElementById('Pages');

// if we have retrieved less than the full complement of items, get rid of page listing
	if(bolAllFlag==-1) {
		objPageLinks.style.display = 'none';
	}
	else {
		objPageLinks.style.display = 'block';
		var nReturn = flipPage(1,10);
	}
}


// FILTERS GALLERY TABLE BY PAGE
flipPage = function(nPage,nPageSize) {
	var cSearch = '';
	var allRows = document.getElementsByTagName('TR');
	var nIndex = -1;
	var nCurrentPage = 0;
	var iLoop = 0;

	var nTotalPages = Math.ceil(((allRows.length-1)/nPageSize));

	var cPageLink = document.getElementById('pages'+nPage);

// skip the first row - that is the header
// display or hide each row depending on page

	for(iLoop=1;iLoop<allRows.length;iLoop++) {
		// NEED TO ROUND THIS NUMBER OUT
		nCurrentPage = Math.floor(((iLoop-1) / nPageSize)) + 1;
		if((nCurrentPage == nPage) || nTotalPages == 1) {
			allRows[iLoop].style.display='';
		} 
		else {
			allRows[iLoop].style.display='none';
		}
	}

// highlight selected pages
	if(nTotalPages>1) {
		for(iLoop=1;iLoop<=nTotalPages;iLoop++) {
			cPageLink = document.getElementById('pages'+iLoop);
			if(iLoop==nPage) {
				cPageLink.style.border='1px solid #FFFFFF';
				cPageLink.style.fontWeight='bold';
			}
			else {
				cPageLink.style.border='0px';
				cPageLink.style.fontWeight='normal';
			}
		}
	}
}

rebuildPageList = function(nPageSize) {

// get total rows
	var allRows = document.getElementsByTagName('TR');
	var nTotalPages = Math.ceil(((allRows.length-1)/nPageSize));


// delete list of pages
	var objPageLinks = document.getElementById('pageList');
	
	while(objPageLinks.getElementsByTagName('span').length > 0) {
		objPageLinks.removeChild(objPageLinks.firstChild);
	}

// rebuild list of pages
	if(nTotalPages > 1) {

		objPageLinks.innerHTML = 'Go To Page: ';
		var strLink = '';
		for(iLoop=1;iLoop<=nTotalPages;iLoop++) {
				strLink = '<span class=\"galleryPageSpan\" id=\"pages'+iLoop+'\"><a href=\"javascript:flipPage('+iLoop+','+nPageSize+')\">'+iLoop+'</a></span>';
				objPageLinks.innerHTML += strLink;
		}
	}

// call refresh
	flipPage(1,nPageSize);
}


// pop up a window with the full size image of the photo
fullSizeImage = function(imgFile,filmName,caption) {
	window.open('includes/popup.php?imgFile='+imgFile+'&filmName='+encodeURIComponent(filmName)+'&caption='+encodeURIComponent(caption),'Popup','sizeable=yes,status=yes,scrollbars=yes,toolbar=yes,menubar=0');
}



// Display or hide a div - part of pseudo-pop-up functionality
function showDiv (cDivID) {

	var objDiv = document.getElementById(cDivID);

	if(objDiv) {
		if(objDiv.style.display=='none') {
			objDiv.style.display='block';
		   }
		else {
			objDiv.style.display='none';
		}
	}
}


// Prints current page
function printPage() {
window.print();	
}
