// JavaScript Document
/** opens a popup window in the middle of the screen
 * @param {String} popupUrl is the Url of the site to be opened in a popup
 * @param {String} popupName is the Name of the popup to be opened
 * @param {Number} popupWidth is the Width of the popup to be opened
 * @param {Number} popupHeight is the Height of the popup to be opened
 * @param {Boolean} reopen defines if the site should be reloaded if allready opend in a popup
 * @param {Boolean} showScrollbar defines if the popup should be opend with scrollbars
 * @param {Number} popupLeftPos defines the left position of the popup
 * @param {Number} popupTopPos defines the top position of the popup
 */
function showPopup(popupUrl, popupName, popupWidth, popupHeight, reopen, showScrollbar, popupLeftPos, popupTopPos){
  
  if (!popupLeftPos) {
    popupLeftPos = 5;
  }
  if (!popupTopPos) {
    popupTopPos = 15;
  }
  if (!showScrollbar) {
    showScrollbar = 1;
  }
  var popup_left = (window.screen.width / 2) - (popupWidth / 2 + popupLeftPos);
  var popup_top = (window.screen.height / 2) - (popupHeight / 2 + popupTopPos);
  
  if ((typeof popupWindow != 'object') || (typeof popupWindow == 'object' && popupWindow==null) || (popupWindow && typeof popupWindow == 'object' && popupWindow.closed)) {
    if (document.all) {
      var xyPos = 'left=' + popup_left + ',top=' + popup_top;
    } else {
      var xyPos = 'screenX=' + popup_left + ',screenY=' + popup_top;
    }
    popupWindow = window.open(popupUrl, popupName, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=" + showScrollbar + ",resizable=yes,width=" + popupWidth + ",height=" + popupHeight + ",copyhistory=no," + xyPos + "");
    if(popupWindow){
      popupWindow.opener = self;
      popupWindow.focus();
    }
    winUrl = popupUrl;
    windowWidth = popupWidth;
    windowHeight = popupHeight;

  } else if(typeof popupWindow == 'object' && popupWindow != null){
    if ((winUrl != popupUrl) || reopen) {
      popupWindow.location.href = popupUrl;
    }
    if ((windowWidth + windowHeight > 0) && (popupWidth != windowWidth || popupHeight != windowHeight || popupLeftPos != diffWidth || popupTopPos != diffHeight)) {
      var newWidth = popupWidth - windowWidth;
      var newHeight = popupHeight - windowHeight;
      popupWindow.resizeBy(newWidth, newHeight);
      popupWindow.moveTo(popup_left, popup_top);
      
    }
    
    popupWindow.focus();
    
    winUrl = popupUrl;
    windowWidth = popupWidth;
    windowHeight = popupHeight;
  }
  diffWidth = popupLeftPos;
  diffHeight = popupTopPos;
}

function trackTeaser(targetURL, teaserID) {
	// dummy function
	//alert("target: "+targetURL + " // "+teaserID);
    var virtualUrl =  self.location.pathname;
    virtualUrl = virtualUrl.substring(0,virtualUrl.lastIndexOf('/'));
    virtualUrl += "/teaser_click/"+teaserID;
    virtualUrl = virtualUrl.replace(/\s+/g, "_");
    var title = "Teaser - "+teaserID;
    trackAbsolute(virtualUrl, title);   
 
}


function setCookie(name, value, expires, path, domain, secure){
  document.cookie = name + "=" + escape(value) +
  ((expires) ? "; expires=" + expires : "") +
  ((path) ? "; path=" + path : "") +
  ((domain) ? "; domain=" + domain : "") +
  ((secure) ? "; secure" : "");

}


function getCookieValue(name) {
  var arg = name + "=";
  var alen = arg.length;
  var i = 0;

  while (i < document.cookie.length) {

    var j = i + alen;
    if (document.cookie.substring(i, j) == arg) {
      var endstr = document.cookie.indexOf (";", j);
      if (endstr == -1) {
        endstr = document.cookie.length;
      }
      return unescape(document.cookie.substring(j, endstr));
    }
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) {
      break;
    }
  }
  return false;
}


/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if (typeof deconcept == "undefined") {
  var deconcept = new Object();
}
if (typeof deconcept.util == "undefined") {
  deconcept.util = new Object();
}
if (typeof deconcept.SWFObjectUtil == "undefined") {
  deconcept.SWFObjectUtil = new Object();
}
deconcept.SWFObject = function(_1, id, w, h, _5, c, _7, _8, _9, _a){
  if (!document.getElementById)
    return;
  this.DETECT_KEY = (_a) ? _a : "detectflash";
  this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY);
  this.params = new Object();
  this.variables = new Object();
  this.attributes = new Array();
  if (_1) {
    this.setAttribute("swf", _1);
  }
  if (id) {
    this.setAttribute("id", id);
  }
  if (w) {
    this.setAttribute("width", w);
  }
  if (h) {
    this.setAttribute("height", h);
  }
  if (_5) {
    this.setAttribute("version", new deconcept.PlayerVersion(_5.toString().split(".")));
  }
  this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion();
  if (!window.opera && document.all && this.installedVer.major > 7) {
    deconcept.SWFObject.doPrepUnload = true;
  }
  if (c) {
    this.addParam("bgcolor", c);
  }
  var q = (_7) ? _7 : "high";
  this.addParam("quality", q);
  this.setAttribute("useExpressInstall", false);
  this.setAttribute("doExpressInstall", false);
  var _c = (_8) ? _8 : window.location;
  this.setAttribute("xiRedirectUrl", _c);
  this.setAttribute("redirectUrl", "");
  if (_9) {
    this.setAttribute("redirectUrl", _9);
  }
};
deconcept.SWFObject.prototype = {
  useExpressInstall: function(_d){
    this.xiSWFPath = !_d ? "expressinstall.swf" : _d;
    this.setAttribute("useExpressInstall", true);
  },
  setAttribute: function(_e, _f){
    this.attributes[_e] = _f;
  },
  getAttribute: function(_10){
    return this.attributes[_10];
  },
  addParam: function(_11, _12){
    this.params[_11] = _12;
  },
  getParams: function(){
    return this.params;
  },
  addVariable: function(_13, _14){
    this.variables[_13] = _14;
  },
  getVariable: function(_15){
    return this.variables[_15];
  },
  getVariables: function(){
    return this.variables;
  },
  getVariablePairs: function(){
    var _16 = new Array();
    var key;
    var _18 = this.getVariables();
    for (key in _18) {
      _16[_16.length] = key + "=" + _18[key];
    }
    return _16;
  },
  getSWFHTML: function(){
    var _19 = "";
    if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) {
      if (this.getAttribute("doExpressInstall")) {
        this.addVariable("MMplayerType", "PlugIn");
        this.setAttribute("swf", this.xiSWFPath);
      }
      _19 = "<embed type=\"application/x-shockwave-flash\" src=\"" + this.getAttribute("swf") + "\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\"";
      _19 += " id=\"" + this.getAttribute("id") + "\" name=\"" + this.getAttribute("id") + "\" ";
      var _1a = this.getParams();
      for (var key in _1a) {
        _19 +=[key]  + "=\"" + _1a[key] + "\" ";
      }
      var _1c = this.getVariablePairs().join("&");
      if (_1c.length > 0) {
        _19 += "flashvars=\"" + _1c + "\"";
      }
      _19 += "/>";
    } else {
      if (this.getAttribute("doExpressInstall")) {
        this.addVariable("MMplayerType", "ActiveX");
        this.setAttribute("swf", this.xiSWFPath);
      }
      _19 = "<object id=\"" + this.getAttribute("id") + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\">";
      _19 += "<param name=\"movie\" value=\"" + this.getAttribute("swf") + "\" />";
      var _1d = this.getParams();
      for (var key in _1d) {
        _19 += "<param name=\"" + key + "\" value=\"" + _1d[key] + "\" />";
      }
      var _1f = this.getVariablePairs().join("&");
      if (_1f.length > 0) {
        _19 += "<param name=\"flashvars\" value=\"" + _1f + "\" />";
      }
      _19 += "</object>";
    }
    return _19;
  },
  write: function(_20){
    if (this.getAttribute("useExpressInstall")) {
      var _21 = new deconcept.PlayerVersion([6, 0, 65]);
      if (this.installedVer.versionIsValid(_21) && !this.installedVer.versionIsValid(this.getAttribute("version"))) {
        this.setAttribute("doExpressInstall", true);
        this.addVariable("MMredirectURL", escape(this.getAttribute("xiRedirectUrl")));
        document.title = document.title.slice(0, 47) + " - Flash Player Installation";
        this.addVariable("MMdoctitle", document.title);
      }
    }
    if (this.skipDetect || this.getAttribute("doExpressInstall") || this.installedVer.versionIsValid(this.getAttribute("version"))) {
      var n = (typeof _20 == "string") ? document.getElementById(_20) : _20;
      n.innerHTML = this.getSWFHTML();
      return true;
    } else {
      if (this.getAttribute("redirectUrl") != "") {
        document.location.replace(this.getAttribute("redirectUrl"));
      }
    }
    return false;
  }
};
deconcept.SWFObjectUtil.getPlayerVersion = function(){
  var _23 = new deconcept.PlayerVersion([0, 0, 0]);
  if (navigator.plugins && navigator.mimeTypes.length) {
    var x = navigator.plugins["Shockwave Flash"];
    if (x && x.description) {
      _23 = new deconcept.PlayerVersion(x.description.replace(/([ a-zA-Z ]|\s)+/, "").replace(/(\s+r|\s+b[ 0-9 ]+)/, ".").split("."));
    }
  } else {
    if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0) {
      var axo = 1;
      var _26 = 3;
      while (axo) {
        try {
          _26++;
          axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + _26);
          _23 = new deconcept.PlayerVersion([_26, 0, 0]);
        } catch (e) {
          axo = null;
        }
      }
    } else {
      try {
        var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
      } catch (e) {
        try {
          var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
          _23 = new deconcept.PlayerVersion([6, 0, 21]);
          axo.AllowScriptAccess = "always";
        } catch (e) {
          if (_23.major == 6) {
            return _23;
          }
        }
        try {
          axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
        } catch (e) {
        }
      }
      if (axo != null) {
        _23 = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
      }
    }
  }
  return _23;
};
deconcept.PlayerVersion = function(_29){
  this.major = _29[0] != null ? parseInt(_29[0]) : 0;
  this.minor = _29[1] != null ? parseInt(_29[1]) : 0;
  this.rev = _29[2] != null ? parseInt(_29[2]) : 0;
};
deconcept.PlayerVersion.prototype.versionIsValid = function(fv){
  if (this.major < fv.major) {
    return false;
  }
  if (this.major > fv.major) {
    return true;
  }
  if (this.minor < fv.minor) {
    return false;
  }
  if (this.minor > fv.minor) {
    return true;
  }
  if (this.rev < fv.rev) {
    return false;
  }
  return true;
};
deconcept.util = {
  getRequestParameter: function(_2b){
    var q = document.location.search || document.location.hash;
    if (_2b == null) {
      return q;
    }
    if (q) {
      var _2d = q.substring(1).split("&");
      for (var i = 0; i < _2d.length; i++) {
        if (_2d[i].substring(0, _2d[i].indexOf("=")) == _2b) {
          return _2d[i].substring((_2d[i].indexOf("=") + 1));
        }
      }
    }
    return "";
  }
};
deconcept.SWFObjectUtil.cleanupSWFs = function(){
  var _2f = document.getElementsByTagName("OBJECT");
  for (var i = _2f.length - 1; i >= 0; i--) {
    _2f[i].style.display = "none";
    for (var x in _2f[i]) {
      if (typeof _2f[i][x] == "function") {
        _2f[i][x] = function(){
        };
      }
    }
  }
};
if (deconcept.SWFObject.doPrepUnload) {
  if (!deconcept.unloadSet) {
    deconcept.SWFObjectUtil.prepUnload = function(){
      __flash_unloadHandler = function(){
      };
      __flash_savedUnloadHandler = function(){
      };
      window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs);
    };
    window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload);
    deconcept.unloadSet = true;
  }
}
if (!document.getElementById && document.all) {
  document.getElementById = function(id){
    return document.all[id];
  };
}
var getQueryParamValue = deconcept.util.getRequestParameter;
var FlashObject = deconcept.SWFObject;
var SWFObject = deconcept.SWFObject;


function getFlashMovie(movieUrl, movieHeight){
 var movie =  movieUrl;
 var so = new SWFObject(movie, "flashIntro", "1020", movieHeight, "9.0.28", "#000000");
 so.addParam("quality","high");
 so.addParam("allowScriptAccess","sameDomain");
 so.addParam("wmode", "transparent");
 so.useExpressInstall('../swf/expressinstall.swf');
 so.write("visualHeadlineImage");
}


function showFlashHeadline(flashMovie,line1,line1xoffset,line1yoffset,line2){      
var so = new SWFObject(flashMovie, "headline", "1020", "205", "9");
 so.addParam("scale", "noscale");
 so.addParam("wmode", "transparent");
 so.addParam("salign","tl");
 so.addVariable("line1", line1); 
 so.addVariable("line1xoffset", line1xoffset); 
 so.addVariable("line1yoffset", line1yoffset); 
 so.addVariable("line2", line2);
 so.write("headlineImage");
}



var showScrollerBy = 1000;
dojo.addOnLoad( function(){
  dojo.connect(window, "onresize", checkWindowSize );
  checkWindowSize();
});

function checkWindowSize(){
  var coverDiv =  dojo.byId( 'cover' );
  if( coverDiv != null ){
    if( document.body.offsetWidth < showScrollerBy ) {
      //console.debug( 'show' );
      coverDiv.style.overflow = "visible";
    } else {
      coverDiv.style.overflow = "hidden";
    }
  }
}

/** writes the flash teaser into the flashTeaserContainer
 * @param {String} containerId Id of the DOMElement to write the swf code into
 */
function writeFlashTeaser( movieUrl, movieXML ){
  dojo.byId("flashTeaserContainer").style.display='block';
  var so = new SWFObject( movieUrl, "flashTeaser", "260", "340", "9.0.28" );
  so.addParam("quality","high");
  so.addParam("allowScriptAccess","sameDomain");
  so.addParam("wmode", "transparent");
  so.addVariable("contentXML", movieXML );
  so.write("flashTeaserContainer");
}

function removeTeaser(){
	dojo.byId("flashTeaserContainer").innerHTML = '';
}


function displaySlide(slideIndex){
  var slide;  
  for (var x = 0; x<= slideCount; x++){
  slide = x;

    if(document.getElementById("teaserContainer" + x)!= null && slideCount!=0){
      document.getElementById("teaserContainer" + x).style.visibility = "hidden";
      document.getElementById("teaserContainer" + x).style.display = "none";
    }
    if(x == slideIndex){  
      document.getElementById("teaserContainer" + slide).style.visibility = "visible";
      document.getElementById("teaserContainer" + slide).style.display = "block";
    }
  }
}


function writeIntoLayer(elementId, content){
  if (typeof elementId != 'object') {
    elementId = document.getElementById(elementId);
  }
  if (elementId) {
    elementId.innerHTML = content;
  }
}
function setClassName(elementId, newClassName){
  if (typeof elementId != 'object') {
    elementId = document.getElementById(elementId);
  }
  if (elementId) {
    elementId.className = newClassName;
  }
}
function setVisibility(elementId, visibilityValue, displayValue, initialSet){
  if (typeof elementId != 'object') {
    elementId = document.getElementById(elementId);
  }
  if (elementId) {
    if (typeof visibilityValue == 'undefined' && typeof displayValue == 'undefined') {
      currentState = getDivInformation(elementId, 'visibility');
      currentDisplayState = getDivInformation(elementId, 'display');
      if (currentState == '') {
        if (initialSet) {
          currentState = 'visible';
        } else {
          currentState = 'hidden';
        }
      }
      if (currentDisplayState == '') {
        if (initialSet) {
          currentDisplayState = initialSet;
        } else {
          currentDisplayState = 'none';
        }
      }
      if (currentState == 'hidden') {
        elementId.style.visibility = 'visible';
      } else if (currentState == 'visible') {
        elementId.style.visibility = 'hidden';
      }
      if (currentDisplayState == 'none') {
        elementId.style.display = 'block';
        elementId.style.visibility = 'visible';
      } else if (currentDisplayState == 'block' || currentDisplayState == 'inline') {
        elementId.style.display = 'none';
      }
    } else if (visibilityValue == 1) {
      elementId.style.visibility = 'visible';
    } else if (visibilityValue == 0) {
      elementId.style.visibility = 'hidden';
    }
    if (displayValue) {
      elementId.style.display = displayValue;
    }
  }
}


/* Wallpaper */
function closeMediaView() {
 restoreThumbs();
 setVisibility('bigImageLayer',0);
 setVisibility('bigImageNavi',0);
 setVisibility("veil",0);
}

function restoreThumbs() {
 for (i=0;i<thumbs.length;i++) {
  imgWallpaper = "wallpaper" + i;
     
  divLense     = "lense" + i;
  document.images[imgWallpaper].src = thumbs[i];
  setVisibility(divLense,1);
 }
}

function prepareBigImage(id) {
    imgWallpaper = "wallpaper" + id;
    //document.images[imgWallpaper].src = "loading_box.gif";
    preLoadBigImage(id);
}

  function preLoadBigImage(id) {
    myId = id;
    bigImage          = new Image();
    bigImage.onabort  = loadUpdate;
    bigImage.onerror  = loadUpdate;
    bigImage.onload   = loadUpdate;
    bigImage.src      = preview_url[id];
  }
  
    function checkObject() {
    actualImageSrc = preview_url[myId].replace(/\.\.\//g,"");
    if (bigImage.src.indexOf(actualImageSrc) != -1) {
      return true;
    }
    else {
      return false;
    }
  }


function rewriteBigImageNavi(id) {
    myNavigation = '<div class="dialogBox">';
    transImage = '<cms:link>/_common/img/1x1_trans.gif</cms:link>';
   
    transImage = '<img src="' + transImage + '" alt="">';
    myNavigation += '</div>';   
    myNavigation += '<div class="dialogBoxLnk">'; 
    myNavigation += '<div class="dialogBoxHead">' + headlines[id] + '</div>'; 
    myNavigation += '<div class="dialogBoxLink"><a href="' + big_standard_url[id] + '" class="arrow">' + transImage + '1024x768</a><br>';
    if(big_second_url[id]) {
      myNavigation += '<div style="height:3px; overflow:hidden;"></div>';
      myNavigation += '<a href="' + big_second_url[id] + '" class="arrow">' + transImage +'1280x1024' + '</a><br>';
    }
    myNavigation += '<div style="height:3px; overflow:hidden;"></div>';
    myNavigation += '<a href="javascript:closeMediaView();" class="arrow">' + transImage + returnText + '</a><br>';
    myNavigation += '</div></div>';
    writeIntoLayer('bigImageNavi',myNavigation);
  }
function loadUpdate() {
    if (checkObject()) {

      setClassName("wallpaperBody","");
      rewriteBigImageNavi(myId);
      document.images["bigImageDummy"].src = bigImage.src;
      setVisibility("veil",1);
      setVisibility("bigImageLayer",1);
      setVisibility("bigImageNavi",1);
      restoreThumbs();
    }
  }

  function replaceKomma(str){
      str=str.replace(/\'/g,'\\\'');
      return str;
  }

function formatPrice(nummer) {

 var nummer = '' + nummer;
 var laenge = nummer.length;
 if (laenge > 3) {
  var mod = laenge % 3;
  var output = (mod > 0 ? (nummer.substring(0,mod)) : '');
  for (i=0 ; i < Math.floor(laenge / 3); i++) {
     if ((mod == 0) && (i == 0)){
      output += nummer.substring(mod+ 3 * i, mod + 3 * i + 3); 
     }else{
      output+= '.' + nummer.substring(mod + 3 * i, mod + 3 * i + 3); 
     }
  } 
   if(locale=="DE"){
    return (output);
   }else{
    output = output.replace(/\./g,",");
    return (output);
   } 
 }
    else return nummer; 
}


 function setLanguageCookie(locale){          
  // setCookie('BBS_LANGUAGE',locale.toLowerCase(),'31-Dec-2020','/');
  setCookie('language',locale.toLowerCase(),'31-Dec-2020','/');
  return true;
 }
