// Media Player Functions

var prevMargin = 0;
var vid = null;
var cap = null;
var swfos = [];

var hideVideo = function() {
    var counter = 0;
    var elements = YAHOO.util.Dom.getElementsByClassName("mplaya");
    for(var i=0; i<elements.length; i++) {
	if(elements[i].style.display == "none") counter++;
	if(elements[i].style.display == "block") stopPlayer(elements[i]);
	elements[i].style.display = "none";
    }
    return (counter == 0) ? true : false;
};

var toggleVideo = function(vidID) {
    vid = document.getElementById(vidID);

    if(vid) {
	if(startPlayer(vid)) startPlayer(vid);
	//for(var i=0; i<swfos.length; i++) {
	//if(swfos[i].id == vid.firstChild.id) swfos[i].obj.write(vid.firstChild.id);
	//}
    }

    var captions = YAHOO.util.Dom.getElementsByClassName("caption");

    if(hideVideo() || !vid) {
	for(var i=0; i<captions.length; i++) {
	    captions[i].style.display = "block";
	}
    }

    if(vid) vid.style.display = "block";
};

var registerSWFObject = function(swfo, id) {
    swfos.push({obj: swfo, id: id});
};

var getFlashMovie = function (el) {
    var node = el.firstChild;
    while(node) {
	if(node.tagName) {
	    switch(node.tagName.toLowerCase()) {
	    case "object":
		return node;
		break;
	    case "embed":
		return node;
		break;
	    default:
		break;
	    }
	}

	if(node.childNodes.length > 0) {
	    node = node.firstChild;
	} else {
	    node = node.nextSibling;
	}
    }

    return false;
};

var stopPlayer = function(el) {
    var player = getFlashMovie(el);
    if(player) {
	try {
	    player.stopPlayback();
	} catch (err) {
	    // Fail silently - This only will ever operate in IE
	}
    }
};

var startPlayer = function(el) {
    var player = getFlashMovie(el);
    if(player) {
	try {
	    player.startPlayback();
	} catch (err) {
	    // Fail silently - This only will ever operate in IE
	}
    }
};

var sendBack = function(str) {
    // For debuging the flash callback
    //alert(str);
}