// Media Player Functions

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

var activeSwfId = "";

var loadSwfObjects = function(mediaPlayerConfigBasePath) {

  swfObjs = common.swfObjs;
  
  for(var i=0;i<swfObjs.length;i++) {
    
    var key = "vid"+i;
    var name = swfObjs[i];
    
    var contextPath = common.contextPath;
    
    if(!$(name+"-vid")) continue;
    
		if(document.getElementById && document.all&&(navigator.appVersion.indexOf("MSIE 6.")>=0)) {
			var key = new SWFObject(contextPath+"/player/mmplaya-ie6.swf", name+"-vid-player", "580", "380", "9", "#F9F9F9");
		} else {
    	var key = new SWFObject(contextPath+"/player/mmplaya.swf", name+"-vid-player", "580", "380", "9", "#F9F9F9");
  	}

    key.addParam("scale", "noscale");
    key.addParam("allowFullScreen", "true");
    key.addParam("wmode", "window");
    key.addVariable("configURL", mediaPlayerConfigBasePath + "/"+name+"/config.xml");
    key.addVariable("contextPath", contextPath);
    
   // key.write(name+"-video-div");    
    registerSWFObject(key, name+"-div");
  
  }

}

var createSinglePlayer = function(id){
    var path = MEDIA_BASE_PATH+"/video";
    var key = "";
    var name = id;
    
    var contextPath = common.contextPath;
   // console.info('aaaa');
		if(document.getElementById && document.all&&(navigator.appVersion.indexOf("MSIE 6.")>=0)) {
			var key = new SWFObject(contextPath+"/player/mmplaya-ie6.swf", name+"-vid-player", "580", "380", "9", "#F9F9F9");
		} else {
    	var key = new SWFObject(contextPath+"/player/mmplaya.swf", name+"-vid-player", "580", "380", "9", "#F9F9F9");
  	}
  	//alert(path + "/"+name+"/config.xml");
    //console.info(name+"-video-div");
    key.addParam("scale", "noscale");
    key.addParam("allowFullScreen", "true");
    key.addParam("wmode", "window");
    key.addVariable("configURL", path + "/"+name+"/config.xml");
    key.addVariable("contextPath", contextPath);
    //console.info(name+"-video-div");
    key.write(name+"-video-div");    
    registerSWFObject(key, name+"-div");
};

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++;
	   // console.info(elements[i]);
	    if(activeSwfId==elements[i].id.split("-vid")[0]){
	      var player = document.getElementById(elements[i].id+"-player");
	      //console.info(player);
	      elements[i].getElementsByTagName('div')[0].removeChild(player);
	      
	      //elements[i].appendChild(tmp);
	      
	    }
	   
  	if(elements[i].style.display == "block") stopPlayer(elements[i]);
	  elements[i].style.display = "none";
      }
    return (counter == 0) ? true : false;
    //return true;
};

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";
	    }
    }
    
    activeSwfId  = vidID.split("-vid")[0];
    createSinglePlayer(activeSwfId);
    if(vid) vid.style.display = "block";

		slidedeckSWFHide();
};

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);
}
