/*SVN Add-ins

$Rev:: 203        $: Revision of last commit
$Author:: jri     $: Author of last commit
$Date:: 2011-09-2#$: Date of last commit

Authors: JDE, SPI
Copyright (c) A&B FACE2NET GmbH
*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/*
    behaviour.js
    13.01.2011  JDE
*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */

;(function($) {

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/**
* browser detection
*/
var agt = navigator.userAgent.toLowerCase();
var op = (agt.indexOf("opera") != -1);
var ie  = (agt.indexOf("msie") != -1);
var is_ie6 = false; var is_ie7 = false; var is_ie8 = false; 
var i = 0;
var is_en = false;

var clickOnRecommendLink = 0;

if(ie){
  var IEcomp = null;
  if (document.documentMode) {
    IEcomp = document.documentMode;
  }else {
    IEcomp = 5;
    if (document.compatMode) {
      IEcomp = 6;
      if( agt.indexOf("msie 7.")!= -1) IEcomp = 7;
    }
  }
  if(null != IEcomp){
    is_ie6 = (agt.indexOf("msie 6.")!= -1); /* ie6 */
    is_ie7 = (agt.indexOf("msie 7.")!= -1); /* ie7 */
    is_ie8 = (IEcomp==8); /* ie8 */
    is_ie8k7 = (!is_ie7) && (IEcomp == 7); /* ie8 im 7er Kompatibilitaetsmodus */
  }
}

var check = function(){ alert("JS + jQuery eingebunden"); }


/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/**
* executes functions when the page loads.
* @param func_name name of function
*/
var addLoadEvent = function(func_name){
  var lastonload = window.onload;

  if (typeof window.onload != 'function')
    window.onload = func_name;
  else {
    window.onload = function() {
      lastonload(); func_name();
    }
  }
};


/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/**
* get language of current page 
*/
var get_lang = function(){
  if($("html").attr("lang")=="en") is_en = true;
}

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/**
* img preloading
*/

var startslider = function(){
  load_imgblind('.standard .slider .medium', 'standardmedium');
  load_imgblind('.standard .slider .landscape', 'standardlandscape');
  slide_image('.standard .slider',0, 1, 1000);
  prepare_slider('.standard .slider');
};

var startbildraster = function(){
  load_imgblind('.standard .bildraster .mini', 'list4col');
  prepare_mostxt('.standard .bildraster');
  load_rasterimages('.standard .bildraster');
};

var starttopteaser = function(){
  if(sliderlist && sliderlist[0] && sliderlist[0].slidertype){
    var tobj = '.start .topteaser .stage';
    $(tobj+' div.slidertype').addClass(sliderlist[0].slidertype);
    $(tobj+' div.slidertype').removeClass('nonscript');
    load_imgblind(tobj+' .'+ sliderlist[0].slidertype, 'start'+sliderlist[0].slidertype);
    if(sliderlist && sliderlist[0].mostxt) { 
      load_mostxt(tobj, sliderlist[0].mostxt); 
    }
    if(sliderlist[0].mosimg){
    slide_image(tobj, 0, 1, 1000);
    }
  }
}

var load_mostxt = function(mosobj, mostxt){
  $(mosobj+' .mostxt').empty().append(mostxt);
};

var load_imgblind = function(mosobj, mosimg){
  $(mosobj+' .mosimg').addClass('nohover').append('<img src="/fileadmin/layout/images/structure/blind_'+mosimg+'.gif" alt="" />');
};

var prepare_mostxt = function(mosobj){
  $(mosobj+' .mostxt').addClass('nohover');
  $(mosobj+' .mostxt').mouseenter(function(index){
    $(this).removeClass('nohover');
    $(this).addClass('dohover');
  }).mouseleave(
    function(index){
    $(mosobj+' .mostxt').removeClass('dohover');
    $(mosobj+' .mostxt').not('.nohover').addClass('nohover');
  });

  $(mosobj+' .mostxt h3 a').focus(function(index){
    $(this).parent().parent().removeClass('nohover');
    $(this).parent().parent().addClass('dohover');
  }).focusout(
    function(index){
    $(mosobj+' .mostxt').removeClass('dohover');
    $(mosobj+' .mostxt').not('.nohover').addClass('nohover');
  });
};

var prepare_slider = function(mosobj){
  if(sliderlist && sliderlist['count']){ 
    if(sliderlist['count'] > 1){
      $('.slider .slidertype').attr('id','sliderimg');
      /* var menu = '<div class="sliderpoints"><span class="point"><strong class="slider_0"><span class="out">aktuelles Bild </span>1</strong></span><span class="out"><br/></span>';
      for(var i=1; i<sliderlist['count']; i++){
        menu += '<span class="point"><a class="slider_'+i+'" href="#sliderimg" title="weiteres Bild anzeigen"><span class="out">Bild </span>'+(i+1)+'</a><span class="out"> einblenden</span></span><span class="out"><br/></span>';
      }
      menu += '</div>';
      $(mosobj+' .slidermenu').append(menu); */
      slide(mosobj);
    }
  }
}; 

var slide = function(mosobj){
  $(mosobj+' .sliderpoints .point').click(function(e){
    e.preventDefault();
    var num = get_num($(this).find('a,strong'));
    slide_image(mosobj,num, 1000, 1000);
  });
};

var slide_image = function(mosobj,num, tout, tin){
  if(sliderlist && sliderlist[num]){ 
    $(mosobj+' .slidertype').removeClass('medium').removeClass('landscape').addClass(sliderlist[num].slidertype);
    $(mosobj+' .slidertype .mosimg').fadeOut(tout, function() {
      $(this).empty().append(sliderlist[num].mosimg);
      $(this).fadeIn(tin);
    });
  }
};

var slide_rasterimage = function(mosobj,num, tout, tin){
  if(rasterlist && rasterlist[num]){ 
    $(mosobj+' .mini .mos .mosimg_'+num).fadeOut(tout, function() {
      $(this).empty().append(rasterlist[num]);
      $(this).fadeIn(tin);
    });
  }
};

var load_images = function(mosobj,mosimg){
  if(mosaiklist && mosaiklist[mosimg]){
    $(mosobj+' .mosimg img').replaceWith(mosaiklist[mosimg]);
  }
};

var load_sliderimage = function(mosobj){
  if(sliderlist && sliderlist[0]){
    $(mosobj+' .mosimg img').replaceWith(sliderlist[0].mosimg);
  }
};

var load_rasterimages = function(mosobj){
  if(rasterlist){
    var count=0;
  $(mosobj+' .mini .mos .mosimg').each(function(index) {
    $(this).addClass('mosimg_'+index);
    count++;
  });
    for(var i = 0; i< count; i++ ){
      slide_rasterimage(mosobj,i, 1, 1000);
    }
  }
};

/* click: link aus h3 &uuml;bernehmen */


/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/**
* navigation
*/
var initiate_navigation_behaviour = function(){

  $('#navMain ul li.active').addClass('noborder');
  $('#navSub').not(':has(ul)').prepend('<div class="switchsub"></div>');
  $('#navSub ul').wrap('<div class="switchsub" />');
  $('#navMain ul li').each(function(index) {
    $(this).addClass('nav_'+index);
  });
};

var get_num = function(identobj){
  try{
    var num = String($(identobj).attr('class')).substring($(identobj).attr('class').indexOf('_')+1);
    if(isNaN(parseInt(num))){
      return '0';
    }else{
      return parseInt(num);
    }
  }catch(err){
      return '0';
  }
};

/*
 * Navigationsformular
 * */

var initNavMainMobile = function(){
  if($('#navMain') != null){
    $('#navMain select').change(function() {
      window.location = this.options[this.selectedIndex].value;        
    });    
  }
  
  if($('#navSub') != null){
    $('#navSub select').change(function() {
      window.location = this.options[this.selectedIndex].value;  
    });
  }
}


/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/**
* insert print link 
*/
var write_printlink = function(){
  var linktxt = 'Drucken'; var linktitle = ' Diese Seite ausdrucken '; 
  if(is_en) {
    linktxt = 'print'; linktitle = ' print this page '; 
  }

  $('.container.footer #navService ul').append('<li><a title="'+ linktitle +'" href="javascript:window.print()">'+ linktxt +'</a></li>');
}

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/**
* insert sociallinks
*/
var write_sociallinks = function(){
  var html = '<div id="navSocial">';
  html += '<h2 class="out">Soziale Netzwerke</h2>';
  html += '<p class="out">A&amp;B <span lang="en">One Digital</span> auf:</p>';
  html += '<ul>';
  html += '<li><a href="http://de-de.facebook.com/abface2net" class="facebook" target="_blank"><span class="out">Facebook</span><img width="39" lang="en" height="39" src="/fileadmin/layout/images/structure/icon_facebook.gif" alt="Externer Link zu Facebook - &ouml;ffnet im neuen Fenster"></a></li>';
//  html += '<li><a href="http://vimeo.com/abonedigital" class="vimeo" target="_blank"><span class="out">vimeo</span><img width="39" height="39" src="/fileadmin/layout/images/structure/icon_vimeo.gif" alt="Externer Link zu vimeo - &ouml;ffnet im neuen Fenster"></a></li>';
  html += '<li><a href="http://maps.google.de/maps/place?cid=6447406404329432418&q=A%26B+ONE+Digital+GmbH&hl=de&ved=0CBsQ-gswAQ&sa=X&ei=IfhUToX1M8HPsgb4xsXDDg" class="google" target="_blank"><span class="out">Google Maps</span><img width="39" height="39" src="/fileadmin/layout/images/structure/icon_google.gif" alt="Externer Link zu Google Maps - &ouml;ffnet im neuen Fenster"></a></li>';
  html += '<li><a href="https://plus.google.com/102761050280299200922/posts" class="googleplus" target="_blank"><span class="out">Google+</span><img width="39" height="39" src="/fileadmin/layout/images/structure/icon_googlePlus.gif" alt="Externer Link zu Google+ - &ouml;ffnet im neuen Fenster"></a></li>';
  html += '<li><a href="https://www.xing.com/companies/a%252526bonedigitalgmbh" class="xing" target="_blank"><span class="out">XING</span><img width="39" height="39" src="/fileadmin/layout/images/structure/icon_xing.gif" alt="Externer Link zu xing - &ouml;ffnet im neuen Fenster"></a></li>';
  html += '</ul>';
  html += '</div>';
  $('.wrapper .footer').append(html);
}

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/**
* facebook like it button
*/
var fbldefaults = {
  'wrap':              '<li class="fb_like"></li>',
  'prefix':            '<strong class="out"><span lang="en">Facebook: </span>Gef&auml;llt mir<br/></strong>',
  'url':               'http://bmbf.de',
  'class':             'fblike',
  'title':             "Facebook Funktion 'Gef&auml;llt mir'",
  'scrolling':         'no',
  'frameborder':       '0',
  'allowTransparency': 'true',
  'layout':            'button_count',
  'show_faces':        'false',
  'width':             '150',
  'height':            '35',
  'style':             'border:none; overflow:hidden;',
  'verb':              'like',
  'font':              'arial',
  'color':             'light',
  'locale':            'de%5FDE'
};

$.fn.set_fbl = function(options) {

  var fbloptions = $.extend({}, fbldefaults, options);

  return this.each(function() {
    var $this = $(this);

    var fblsrc = "http://www.facebook.com/plugins/like.php?";
    fblsrc += "href="+fbloptions.url;
    fblsrc += "&locale="+fbloptions.locale;
    fblsrc += "&layout="+fbloptions.layout;
    fblsrc += "&show_faces="+fbloptions.show_faces;
    fblsrc += "&width="+fbloptions.width;
    fblsrc += "&height="+fbloptions.height;
    fblsrc += "&action="+fbloptions.verb;
    fblsrc += "&font="+fbloptions.font;
    fblsrc += "&colorscheme="+fbloptions.color;
    
    var fblframe = fbloptions.prefix + '<iframe title="'+fbloptions.title+'" class="'+fbloptions['class']+'" src="'+fblsrc+'" scrolling="'+fbloptions.scrolling+'" frameborder="'+fbloptions.frameborder+'" style="width:'+fbloptions.width+'px; height:'+fbloptions.height+'px; '+fbloptions.style+'" allowTransparency="'+fbloptions.allowTransparency+'"></iframe>';
    $this.append(fblframe);
  });
};

var set_fbfooter = function(){
  $('#navService ul').append(fbldefaults.wrap);
  $('#navService ul li.fb_like').set_fbl({'url': 'http://www.facebook.com/abface2net'});
}

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/**
* show or hide value in search form 
*/
var initiate_searchbehaviour = function(){
  var inputtxt = ' Suchbegriff ';
  if(is_en) inputtxt = ' search term ';

  $("#search label input")
  .each(function() {
    this.value = inputtxt;
  })
  .focus(function(){ if(this.value == inputtxt)this.value = ''; })
  .blur(function(){ if(this.value == '')this.value = inputtxt; })
}

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/**
* hover / focus in IE inputs 
*/
var initiate_inputbehaviour = function(){
  $("input.formElement")
  .focus(function(){ $(this).addClass('fokus'); })
  .blur(function(){ $(this).removeClass('fokus'); })
}


/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* loaded events */
addLoadEvent(initiate_navigation_behaviour);
addLoadEvent(initiate_searchbehaviour);
addLoadEvent(write_printlink);
addLoadEvent(write_sociallinks);
addLoadEvent(set_fbfooter);
addLoadEvent(startslider);
addLoadEvent(starttopteaser);
addLoadEvent(startbildraster);
addLoadEvent(initNavMainMobile);

})(jQuery);


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 (!result) {
    if(is_basic) options_error = true;
    return "";
  }
  return result;
}/* getVideoOption */


}; /* f2n.Utils */

/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* Options*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/*  */
f2n.playerOptions = {

  video: {
    'lang': 'de',
    'width': '338',
    'height': '279',
    'version': '9.0.124',

    flashparams: {
      'allowfullscreen': 'true'
    },

    flashattr: {
    },

    flashvars: {
      'mute': 'false'
    }
  }
};/* f2n.playerOptions */


/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* f2n.Player*/
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + */

f2n.Player = function() {
  var helper = f2n.Utils.getSWFObject();
  if (!helper){
    //alert("SWFObject HELPER is " + typeof(helper)); 
    return;
  }//if


/* + + + + + + + + + + + + + + + + */
/* this.loadvideo */
  this.loadvimeovideo = 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{
        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.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();


