// init documentready-function
jQuery(document).ready(function($) {

  // Add Colorbox to every csc-textpic element with click-enlarge
  // if you are using this, you have to use the colorbox.ts too
  $('a.lightbox').colorbox({
    loop: false,
    maxWidth: '90%',
    maxHeight: '90%',
    slideshow: true,
    slideshowAuto: false,
    // german language
    slideshowStart: 'Diashow starten',
    slideshowStop: 'Diashow anhalten',
    current: "Bild {current} von {total}",
    previous: "zurück",
    next: "weiter",
    close: 'schließen'
  });
}); // end documentready

// Typo3-Functions for decrypting masked email-addresses, for spamprotection
// if you are using these, your can savely remove the typo3-generated js by
// setting the config-Flag: removeDefaultJS = 1 
function decryptCharcode(n, start, end, offset) {
  n = n + offset;
  if (offset > 0 && n > end) {
    n = start + (n - end - 1);
  } else if (offset < 0 && n < start) {
    n = end - (start - n - 1);
  }
  return String.fromCharCode(n);
}

function decryptString(enc, offset) {
  var dec = "";
  var len = enc.length;
  for (var i = 0; i < len; i++) {
    var n = enc.charCodeAt(i);
    if (n >= 0x2B && n <= 0x3A) {
      dec += decryptCharcode(n, 0x2B, 0x3A, offset);
    } else if (n >= 0x40 && n <= 0x5A) {
      dec += decryptCharcode(n, 0x40, 0x5A, offset);
    } else if (n >= 0x61 && n <= 0x7A) {
      dec += decryptCharcode(n, 0x61, 0x7A, offset);
    } else {
      dec += enc.charAt(i);
    }
  }
  return dec;
}

function linkTo_UnCryptMailto(s) {
  location.href = decryptString(s, -2);
}

// paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/
window.log = function(){
  log.history = log.history || [];   // store logs to an array for reference
  log.history.push(arguments);
  if(this.console){
    console.log( Array.prototype.slice.call(arguments) );
  }
};

// catch all document.write() calls
(function(doc){
  var write = doc.write;
  doc.write = function(q){ 
    log('document.write(): ',arguments); 
    if (/docwriteregexwhitelist/.test(q)) write.apply(doc,arguments);  
  };
})(document);
