var Video = function(){
  
  var PLAYER_PATH = contextPath + "/portal/media/flowplayer/flowplayer.commercial-3.1.5.swf";
  var DEFAULT = {
    width: "400",
    height: "300"
  };
  var TYPE = "video";
  
  var _player;
  var _this;
  var _dom;

  function _main(cfg,display){
    _this = this;
    _createDom(cfg,display);
  };
  
  function _createDom(cfg,display){
    var id = "video-" + Number(new Date());
    var width = getIfDefined(cfg.width,DEFAULT.width)+"px";
    var height = parseInt(getIfDefined(cfg.height,DEFAULT.height))+24+"px";
    var cls = getIfDefined(cfg.cls,"");
    _dom = jq$("<div />").attr({"class":"media-video "+cls,"id": id}).css({
      "display": "block",
      "position":"absolute",
      "top":0,
      "left":0,
      "width":width,
      "height":height,
      opacity: 0
    })[0];
   // console.info("transparent url('"+cfg.backgroundImage+"' no-repeat");
   // _dom.style.background = "transparent url('"+cfg.backgroundImage+"') no-repeat";
    
    jq$(display).append(_dom);
    _createFlowplayer(_dom,cfg["media-url"],cfg);
  };
  
  function _createFlowplayer(idOrEl, mediaUrl, cfg){

     if(typeof cfg == "undefined")var cfg = {};
    
		var keys = {
			'www.biooncology.com' : '#@956c2e0d6e93988c03c',
			'biooncology.meltqa.com' : '#@aa6c49d4d17ddad4b5e'
		};

     var playerConfig = {
       key: keys[location.host] || '',
       clip: {
         url: mediaUrl,
         scaling: "scale",
         autoPlay: (typeof cfg.autoPlay!="undefined")?eval(cfg.autoPlay):true,
         autoBuffering : (typeof cfg.autoBuffering!="undefined")?cfg.autoBuffering:false
       },

       screen: {
         backgroundColor: "#0000FF",
         bottom: 24
       },

       onLoad: function(){
         jq$(this).trigger("onload");
       },

       canvas: {
         backgroundGradient: "none",
         backgroundImage: (typeof cfg.backgroundImage!="undefined")?cfg.backgroundImage:null
       },

       plugins: {
         controls: {
           backgroundColor: '#b3b3b3',
           backgroundGradient: "high",
           bottom: 0,
           bufferColor: '#445566',
           bufferGradient: 'none',
           buttonColor: '#5f747c',
           buttonOverColor: '#728B94',
           durationColor: '#ffffff',
           height: 24,
           opacity: 1.0,
           progressColor: '#445566',
           progressGradient: 'medium',
           sliderColor: '#9fabb7',
           sliderGradient: 'none',
           timeBgColor: '#555555',
           timeColor: '#9ea3a3',
           tooltipColor: '#5F747C',
           tooltipTextColor: '#ffffff',
           volumeSliderColor: '#000000',
           volumeSliderGradient: 'none'
         }
       }
     };

     

     /** IE flowplayer bug fix*/
    /* var tempEl = document.createElement("div");
     idOrEl.appendChild(tempEl);
     idOrEl.innerHTML = "";
*/
     if(typeof idOrEl != "string")idOrEl = idOrEl.id;

     /** loading flowplayer */
     _player = flowplayer(idOrEl, {
       src: PLAYER_PATH,
       wmode: 'transparent'
       },
       playerConfig
     );

     /* firefox in windows has trouble showing the video and code below fixes it */
   /*  var objects = idOrEl.getElementsByTagName("object"); 
     if(objects.length!=0){ 
       jq$(objects[0]).css("display","block");
     };
*/

  //   jq$(_this).trigger("Media:domready");
   };
  
  this.stopVideo = function(){
   // _player.play();
    _player.stop();
    //_player.play();
   //_player.pause();
  };
  
  this.getType = function(){
    return TYPE;
  };
  
  this.getDom = function(){
    return _dom;
  };
  
  this.activate = function(){
   // jq$(_dom).fadeIn("slow");  
   //jq$(_dom).show("slide", { direction: "up" }, 1000);
   jq$(_dom).animate({opacity: 1});

  };
  
  this.deactivate = function(){
    //jq$(_dom).fadeOut("slow");
    //jq$(_dom).hide("slide", { direction: "down" }, 1000);
    jq$(_dom).animate({opacity: 0});
  };
  
  _main.apply(this, arguments);
}