
/**
 * Go to the page specified by the pull-down that was just changed. 
 * Determine the pull-down and GUID from the passed 'type' var and
 * the menu object, which should be the pull-down menu.
 */
function goPage(type, menu)
{
	var thePage = false;
	var go = menu[menu.selectedIndex].value;
	if (type == 'project') {
		thePage = '/project.php?project=' + go;
	}
	
	if (type == 'global') {
		if (go == 'home') {
			thePage = '/index.php';
		} else if (go == 'blog') {
			thePage = '/blog.php';
		} else if (go == 'manage') {
			thePage = '/manage/';
		} else if (go == 'project') {
			thePage = '/project.php';
		}
	}
	
	if (thePage != false) {
		top.location = thePage;
	}
}


/**
 * Toggle display of a CSS object, and show customized message to display the object
 *
 * Some code borrowed from Creative Commons (http://www.creativecommons.org/)
 */
function toggle(id,linkid,msg)
{
	var elm = document.getElementById(id);
	var sp = document.getElementById(linkid);
	if (!elm || elm.length == 0) return;
	var d = elm.style.display;
	if (d && (d != "none" || d == "")) {
		elm.style.display = "none";
		sp.innerHTML = msg;
	} else {
		elm.style.display = "block";
		sp.innerHTML = "Hide these fields (All fields are optional)";
	}
}


/**
 * Move to next slide in the slides array.  The following things should be defined 
 * in the global namespace:
 *
 * slides
 * slideimg
 * slidecap
 * slideidx
 */
function nextslide() {
	/* Make sure these are defined */
	if (!slides || slides.length == 0 || !slideimg || slideimg.length == 0 || !slidecap || slidecap.length == 0) {
		return false;
	}
	if (slideidx == (slides.length - 1)) {
		slideidx = 0;
	} else {
		slideidx++;
	}
	slideimg.innerHTML = slides[slideidx][0];
	if (!slidecap || slidecap.length == 0) {
	} else {
		slidecap.innerHTML = slides[slideidx][1];
	}
}


/**
 * Move to previous slide in the slides array.  The following things should be defined 
 * in the global namespace:
 *
 * slides
 * slideimg
 * slidecap
 * slideidx
 */
function prevslide() {
	/* Make sure these are defined */
	if (!slides || slides.length == 0 || !slideimg || slideimg.length == 0 || !slidecap || slidecap.length == 0) {
		return false;
	}
	if (slideidx == 0) {
		slideidx = slides.length - 1;
	} else {
		slideidx--;
	}
	slideimg.innerHTML = slides[slideidx][0];
	if (!slidecap || slidecap.length == 0) {
	} else {
		slidecap.innerHTML = slides[slideidx][1];
	}
}


/**
 * Pop the media view page with the given GUID
 */
function popMedia(GUID, w, h)
{
	var w = (w) ? w + 440 : 760;
	var h = (h) ? h + 300 : 540;
	var url = '/screeningroom/view.php?media=' + GUID;
	
	if (window.popUp) {
		popUp(url, w, h, null, null, 'mediawin', 'resize,status,location,scrollbars');
	} else {
		mywin = window.open(url, 'mediawin', 'left=50,screenX=50,top=50,screenY=50,width=' + w + ',height=' + h + ',resizable=1,location=1,status=1,scrollbars=auto');
	}
}


				
/**
 * Given a class name, return array of all elements with that class
 * 
 * From http://www.snook.ca/archives/javascript/your_favourite_1/ 
 */
document.getElementsByClassName = function(className) {
	var outArray = new Array();
	var item; 
	try {
		var xpathResult = document.evaluate('//*[@class = "' + className + '"]', document, null, 0, null);     
		while (item = xpathResult.iterateNext())
			outArray[outArray.length] = item;
	} catch(err) {
		// ie fix
		var currentIndex = 0;
		var allElements = document.getElementsByTagName('*');
		for(var i=0; i < allElements.length; i++)
		{   if(allElements[i].className.match(className))
			{   outArray[currentIndex] = allElements[i];
				currentIndex++;
			}
		}
	}
	return outArray;
}



