/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/*
    flashbehaviour.js
    26.01.2009  JDE
*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/*Copyright (c) A&B FACE2NET GmbH*/


if ('undefined' == typeof(f2n)) { var f2n = new Object(); }
if ('undefined' == typeof(f2n.Player)) { f2n.Player = new Object(); }
if ('undefined' == typeof(f2n.playerOptions)) { f2n.playerOptions = new Object(); }
var options_error = false;

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* Utils*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */

f2n.Utils = {

    /* + + + + + + + + + + + + + + + + */
    /* hasRequiredFlashVersion */
    has_regVersion: function(reqVer){

    var pluginVer = this.getSWFObject().getFlashPlayerVersion();
    if ('string' == typeof(reqVer)) { reqVer = reqVer.split('.'); }

    reqVer.major = reqVer[0] != null ? parseInt(reqVer[0]) : 0;
    if (pluginVer.major < reqVer.major) { return false; }
    if (pluginVer.major > reqVer.major) { return true;  }

    reqVer.minor = reqVer[1] != null ? parseInt(reqVer[1]) : 0;
    if (pluginVer.minor < reqVer.minor) { return false; }
    if (pluginVer.minor > reqVer.minor) { return true;  }

    reqVer.release = reqVer[2] != null ? parseInt(reqVer[2]) : 0;
    if (pluginVer.release < reqVer.release) { return false; }

    return true;
  },  /* has_regVersion */


  /* + + + + + + + + + + + + + + + + */
  /* getSWFObject */
  getSWFObject: function(){
    if ('object' == typeof(f2n.HELPER) || 'function' == typeof(f2n.HELPER)) { 
      return f2n.HELPER;
    }
    return ('object' == typeof(swfobject) || 'function' == typeof(swfobject)) ? swfobject : null;
  },  /* getSWFObject */


  /* + + + + + + + + + + + + + + + + */
  /* flashVersionError */
  writeErrorMessage: function(container, removetext, errortext, minversion){
    try{
      $(container+' '+removetext).remove();
      var pluginVer = this.getSWFObject().getFlashPlayerVersion();
      var msg = (pluginVer.major != 0 || pluginVer.minor != 0 || pluginVer.release != 0)
        ? " in der Version "+ minversion +" oder h&ouml;her. Sie haben den Adobe&reg; Flashplayer in der Version " + pluginVer.major + "." + pluginVer.minor + "." + pluginVer.release + ". Bitte aktualisieren Sie ihn."
        : " in der Version "+ minversion +" oder h&ouml;her. Sie haben keinen Adobe&reg; Flashplayer installiert oder er ist deaktiviert.";
      $(container+' '+errortext).html(msg);
    }catch(err){
      //alert(err);
    }

  },  /* writeErrorMessage */

    /* + + + + + + + + + + + + + + + + */
  /* writeOptionsMessage */
  writeOptionsMessage: function(container, mmtype){
    var msg = 'Es ist ein Fehler aufgetreten.<br> '+mmtype+' kann derzeit leider nicht angezeigt werden.';
    try{
      $('#'+container+' p').remove();
      $('#'+container).append('<p>'+msg+'</p>');
    }catch(err){
      //alert(err);
    }
  },  /* writeOptionsMessage */

  /* + + + + + + + + + + + + + + + + */
  /* getVideoOptions */
    getOptions: function(key, options, is_basic){
      var result = null;
      if ('object' == typeof(options)) {
        result = options[key];
      }/* if */
      if (!result) {
        if(is_basic) options_error = true;
        return "";
      }
        return result;
    }  /* getVideoOption */


}; /* f2n.Utils */

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* Options*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/*  */
f2n.playerOptions = {
  audio: {

    'width': '338',
    'height': '24',
    'version': '9.0.124',

    flashparams: {
      'scale': 'noscale',
      'menu': 'false',
      'wmode': 'transparent',
      'transparentpagebg': 'yes'
    },

    flashattr: {
    },

    flashvars: {
      'initialvolume': '100',
      'animation': 'no',
      'bg': 'b6d8e2', 
      'leftbg': '2D758B',
      'lefticon': 'FFFFFF',
      'voltrack': 'B6D8E2',
      'volslider': 'FFFFFF',
      'rightbg': '2D758B',
      'rightbghover': 'B6D8E2',
      'righticon': 'FFFFFF',
      'righticonhover': '2D758B',
      'loader': '2D758B',
      'track': 'FFFFFF',
      'tracker': 'B6D8E2',
      'border': 'B6D8E2'
    }

  },
  youtube: {
    'width': '338',
    'height': '279',
    'version': '9.0.124',

    flashparams: {
      'allowfullscreen': 'true',
      'quality': 'high',
      'bgcolor': '#FFF'
    },

    flashattr: {
    },

    flashvars: {
    }
  },
  video: {
    'lang': 'de',
    'width': '338',
    'height': '279',
    'version': '9.0.124',

    flashparams: {
      'allowfullscreen': 'true',
      'allowscriptaccess': 'always',
      'scale': 'scale',
      'quality': 'high',
      'bgcolor': '#444444'
    },

    flashattr: {
    },

    flashvars: {
      'mute': 'false',
      'volume': '60',
      'screencolor': '444444',
      'stretching': 'uniform',
      'autostart': 'false',
      'skin': '/fileadmin/layout/mm/bistum.zip'
    }
  }
};/* f2n.playerOptions */

f2n.options_area_1 = {
  flashvars: {
    'bg': 'F1D4D3', 
    'leftbg': 'AC0000',
    'lefticon': 'FFFFFF',
    'voltrack': 'F1D4D3',
    'volslider': 'FFFFFF',
    'rightbg': 'AC0000',
    'rightbghover': 'F1D4D3',
    'righticon': 'FFFFFF',
    'righticonhover': 'AC0000',
    'loader': 'AC0000',
    'track': 'FFFFFF',
    'tracker': 'F1D4D3',
    'border': 'F1D4D3'
  }
}

f2n.options_area_2 = {
  flashvars: {
    'bg': 'E4EDD2', 
    'leftbg': '5C801E',
    'lefticon': 'FFFFFF',
    'voltrack': 'E4EDD2',
    'volslider': 'FFFFFF',
    'rightbg': '5C801E',
    'rightbghover': 'E4EDD2',
    'righticon': 'FFFFFF',
    'righticonhover': '5C801E',
    'loader': '5C801E',
    'track': 'FFFFFF',
    'tracker': 'E4EDD2',
    'border': 'E4EDD2'
  }
}

f2n.options_area_3 = {
  flashvars: {
    'bg': 'FCE2D3', 
    'leftbg': 'BB4D1C',
    'lefticon': 'FFFFFF',
    'voltrack': 'FCE2D3',
    'volslider': 'FFFFFF',
    'rightbg': 'BB4D1C',
    'rightbghover': 'FCE2D3',
    'righticon': 'FFFFFF',
    'righticonhover': 'BB4D1C',
    'loader': 'BB4D1C',
    'track': 'FFFFFF',
    'tracker': 'FCE2D3',
    'border': 'FCE2D3'
  }
}

f2n.options_area_4 = {
  flashvars: {
    'bg': 'F0E2F1', 
    'leftbg': '944191',
    'lefticon': 'FFFFFF',
    'voltrack': 'F0E2F1',
    'volslider': 'FFFFFF',
    'rightbg': '944191',
    'rightbghover': 'F0E2F1',
    'righticon': 'FFFFFF',
    'righticonhover': '944191',
    'loader': '944191',
    'track': 'FFFFFF',
    'tracker': 'F0E2F1',
    'border': 'F0E2F1'
  }
}

f2n.options_area_5 = {
  flashvars: {
    'bg': 'E6F5FE', 
    'leftbg': '2D758B',
    'lefticon': 'FFFFFF',
    'voltrack': 'E6F5FE',
    'volslider': 'FFFFFF',
    'rightbg': '2D758B',
    'rightbghover': 'E6F5FE',
    'righticon': 'FFFFFF',
    'righticonhover': '2D758B',
    'loader': '2D758B',
    'track': 'FFFFFF',
    'tracker': 'E6F5FE',
    'border': 'E6F5FE'
  }
}

f2n.options_area_6 = {
  flashvars: {
    'bg': 'E6F5FE', 
    'leftbg': '2D758B',
    'lefticon': 'FFFFFF',
    'voltrack': 'E6F5FE',
    'volslider': 'FFFFFF',
    'rightbg': '2D758B',
    'rightbghover': 'E6F5FE',
    'righticon': 'FFFFFF',
    'righticonhover': '2D758B',
    'loader': '2D758B',
    'track': 'FFFFFF',
    'tracker': 'E6F5FE',
    'border': 'E6F5FE'
  }
}


/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* f2n.Player*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */

f2n.Player = function() {

  var helper = f2n.Utils.getSWFObject();
  if (!helper){
    //alert("SWFObject HELPER is " + typeof(helper)); 
    return;
  }//if


  /* + + + + + + + + + + + + + + + + */
  /* this.loadvideo */
  this.loadvideo = function(options){ 

    var tmp = $.extend(true, {}, f2n.playerOptions.youtube, options); 

    if( tmp && tmp.version && tmp.player && tmp.pid && tmp.flashvars && tmp.flashattr && tmp.flashparams ){
      if(!f2n.Utils.has_regVersion( tmp.version )) {
        f2n.Utils.writeErrorMessage(tmp.pid, '.nonscript', '.errortxt');
        //alert('wrong flash version');
        return false;
      }else{
        tmp.flashvars.id = tmp.objid;
        tmp.flashattr.name = tmp.objid;
        tmp.flashattr.id = tmp.objid;
        this.embedPlayer(helper, tmp);
      }
    }else{
        f2n.Utils.writeOptionsMessage(tmp.pid, 'Das Video');
        //alert('main param is missing');
        return false;
    }

  };


  /* + + + + + + + + + + + + + + + + */
  /* this.loadvideo */
  this.loadflashvideo = function(options){ 

    var tmp = $.extend(true, {}, f2n.playerOptions.video, options); 

    if( tmp && tmp.version && tmp.player && tmp.pid && tmp.flashvars && tmp.flashattr && tmp.flashparams ){
      if(!f2n.Utils.has_regVersion( tmp.version )) {
        f2n.Utils.writeErrorMessage(tmp.pid, '.nonscript', '.errortxt');
        //alert('wrong flash version');
        return false;
      }else{
      if(tmp.still) {
        tmp.flashvars.image = tmp.still;
      }
      if(tmp.video.indexOf('http:') < 0 && tmp.video.indexOf('/') != 0){ 
        tmp.flashvars.file = '/'+tmp.video;
      }else{
        tmp.flashvars.file = tmp.video;
       }
        tmp.flashvars.id = tmp.objid;
        tmp.flashattr.name = tmp.objid;
        tmp.flashattr.id = tmp.objid;
        this.embedPlayer(helper, tmp);
      }
    }else{
        f2n.Utils.writeOptionsMessage(tmp.pid, 'Das Video');
        //alert('main param is missing');
        return false;
    }

  };

  /* + + + + + + + + + + + + + + + + */
  /* this.loadaudio */
  this.loadaudio = function(options){ 
    var tmp = $.extend(true, {}, f2n.playerOptions.audio, options);
    if( tmp && tmp.version && tmp.player && tmp.pid && tmp.flashvars && tmp.flashattr && tmp.flashparams && tmp.flashvars.soundFile ){
      
      if(!f2n.Utils.has_regVersion( tmp.version )) {
        f2n.Utils.writeErrorMessage(tmp.pid, '.nonscript', '.errortxt');
        //alert('wrong flash version');
        return false;
      }else{

        switch (tmp.area) {
          case "area_1":
            $.extend(tmp.flashvars, f2n.options_area_1.flashvars);
            break;
          case "area_2":
            $.extend(tmp.flashvars, f2n.options_area_2.flashvars);
            break;
          case "area_3":
            $.extend(tmp.flashvars, f2n.options_area_3.flashvars);
            break;
          case "area_4":
            $.extend(tmp.flashvars, f2n.options_area_4.flashvars);
            break;
          case "area_5":
            $.extend(tmp.flashvars, f2n.options_area_5.flashvars);
            break;
          case "area_6":
            $.extend(tmp.flashvars, f2n.options_area_6.flashvars);
            break;
          default:
            break;
        }

        tmp.flashvars.id = tmp.objid;
        tmp.flashattr.name = tmp.objid;
        tmp.flashattr.id = tmp.objid;
        this.embedPlayer(helper, tmp);
      }
    }else{
        f2n.Utils.writeOptionsMessage(tmp.pid, 'Die Audiodatei');
        //alert('main param is missing');
        return false;
    }

  };

  /* + + + + + + + + + + + + + + + + */
  /* this.embedFlash */
  this.embedPlayer = function(helper, tmp){
    helper.embedSWF(
      f2n.Utils.getOptions('player', tmp, true),
      f2n.Utils.getOptions('pid', tmp, true), 
      f2n.Utils.getOptions('width', tmp, true), 
      f2n.Utils.getOptions('height', tmp, true), 
      f2n.Utils.getOptions('version', tmp, true),
      false, 
      f2n.Utils.getOptions('flashvars', tmp, true), 
      f2n.Utils.getOptions('flashparams', tmp, true), 
      f2n.Utils.getOptions('flashattr', tmp, true)
    )
  };

};//flashplayer

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* instanzierung*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */

var flashPlayer = new f2n.Player();

