function setChildVisibilityWithNodeName(element, nodeName, visibility) {
	for (var i = 0 ; i < element.childNodes.length; i++ ) {
		if (element.childNodes[i].nodeName == nodeName) {
			setElementVisibility(element.childNodes[i], visibility);
		}
	}
}

function hideVideo() {
	var element = getElement("flash_video");
	if ((element) && typeof(element)!= "undefined") {
		var parent = element.parentNode.parentNode;
		var videocode = '<div id="flash_video"></div>';
	  	element.innerHTML = videocode;
		removeElement(element.parentNode);
		setChildVisibilityWithNodeName(parent, "IMG", true);		
		setChildVisibilityWithNodeName(parent, "A", true);		
	}
}

function displayVideoGA(element, src, flashvars, width, analyticsPath) {
	displayVideo(element, src, flashvars, width);
	trackJavaScriptEvent(analyticsPath);
}

function displayVideo(element, src, flashvars, width) {
	hideVideo(); 
	hideAudio();
	
	var videocode = 
		'<div id="flash_video">' 
 		+ '<embed src="' + src + '" ' 
		+ '	flashVars="' + flashvars + '"' 
 		+ '	width="' + width + '"' 
		+ '	height="' + Math.round(width*0.75) + '"'
 		+ '	scale="noscale"' 
 		+ '	quality="high"'
 		+ ' allowScriptAccess="always"'
 		+ '	allowFullScreen="true"' 
		+ '	name="movie_player"' 
		+ '	type="application/x-shockwave-flash"' 
 		+ '	pluginspage="http://www.macromedia.com/go/getflashplayer" class="flash_movieplayer" >'
 		+ '</embed>'
		+'</div>';

	var newElement = document.createElement('div');
	newElement.innerHTML = videocode;

	setChildVisibilityWithNodeName(element.parentNode, "IMG", false);
	setChildVisibilityWithNodeName(element.parentNode, "A", false);	
	element.parentNode.appendChild(newElement);

	return false;

}

function hideAudio() {
	var element = getElement("flash_audio");
	if ((element) && typeof(element)!= "undefined") {
		var parent = element.parentNode.parentNode;
		var audiocode = '<div id="flash_audio"></div>';
	  	element.innerHTML = audiocode;
		removeElement(element.parentNode);
		setChildVisibilityWithNodeName(parent, "A", true);
	}
}

function displayAudio(element, src, flashvars, width, height) {
	hideAudio(); 
	hideVideo();
	
	var audiocode = 
		'<div id="flash_audio">' 
 		+ '<embed src="' + src + '" ' 
		+ '	flashVars="' + flashvars + '"' 
 		+ '	width="' + width + '"' 
		+ '	height="' + height + '"'
 		+ '	scale="noscale"' 
 		+ ' allowScriptAccess="always"'
 		+ '	wmode="transparent"' 
		+ '	name="movie_player"' 
		+ '	type="application/x-shockwave-flash"' 
 	    + '	pluginspage="http://www.macromedia.com/go/getflashplayer" class="flash_movieplayer" >'
 		+ '</embed>'
		+'</div>';

	var newElement = document.createElement('div');
	newElement.innerHTML = audiocode;

	setChildVisibilityWithNodeName(element.parentNode, "A", false);	
	element.parentNode.appendChild(newElement);

	return false;

}

//function displayAudioForNewGallery(element, src, flashvars, width, height) {
//	hideAudio(); 
//	hideVideo();
//	
//	var audiocode = 
//		'<embed src="' + src + '" ' 
//		+ '	flashVars="' + flashvars + '"' 
// 		+ '	width="' + width + '"' 
//		+ '	height="' + height + '"'
// 		+ '	scale="noscale"' 
// 		+ ' allowScriptAccess="always"'
// 		+ '	wmode="transparent"' 
//		+ '	name="movie_player"' 
//		+ '	type="application/x-shockwave-flash"' 
// 	    + '	pluginspage="http://www.macromedia.com/go/getflashplayer" class="flash_movieplayer" >'
// 		+ '</embed>';
//
//	var newElement = document.createElement('div');
//	newElement.setAttribute('id', 'flash_audio');
//	newElement.innerHTML = audiocode;
//
//	setChildVisibilityWithNodeName(element.parentNode, "A", false);
//	element.parentNode.appendChild(newElement);
//
//	return false;
//}

function getElement(elementName) {
 if(document.getElementById && document.getElementById(elementName)) {
    return document.getElementById(elementName);
  }
  else if (document.all && document.all(elementName)) {
    return document.all(elementName);
  }
  else if (document.layers && document.layers[elementName]) {
    return document.layers[elementName];
  } else {
    return false;
  }
}

function setElementVisibility(ele, visibility) {
	if (visibility) {
		showElement(ele);
	} else {
		hideElement(ele);
	}
}

function hideElement(ele) {
  ele.style.display = "none";
}

function showElement(ele) {
  ele.style.display = "";
}

function removeElement(ele) {
  ele.parentNode.removeChild(ele);
}
