function subwebReferrer() {
  var ref = document.referrer;
  return (ref) ? getSubwebFromUrl(ref) : null;
}

function getSubwebFromUrl(url) {
  var domain = getSubdomainFromUrl(url);
  switch (domain) {
    case 'pointfamily': return 'pf';
    case 'smart-point': return 'sp';
    case 'smart-pr': return 'pr';
    case 'meritumr': return 'mr';
    case 'smart-art': return 'bp';
    case 'digital-point': return 'dp';
    case 'event-point': return 'ep';
    default: return null;
  }
}

function getSubdomainFromUrl(url) {
  if ( url.indexOf('http://') > -1 )
    url = url.substr(7);

  var pos = url.indexOf('.');
  return (pos > -1) ? url.substr(0, pos) : url;
}

function getDefaultBackgroundUrl() {
  var thisWeb = getSubwebFromUrl(document.location.href);
  return getSubwebBackgroundUrl(thisWeb);
}

function getSubwebBackgroundUrl(subweb) {
  return 'templates/' + subweb + '/images/background.jpg';
}

function displayDefaultBackground() {
  displayBackground( $('.lines'), getDefaultBackgroundUrl() );
}

function displayBackground($lines, imageUrl) {
  $lines.css('background-image', "url('" + imageUrl + "')");
}

function animateBackground(subweb, duration) {
  var $lines_old = $('.lines');
  displayBackground($lines_old, getSubwebBackgroundUrl(subweb) );

  var $lines_new = $lines_old.clone();
  $lines_new.hide();
  $lines_old.after($lines_new);
  displayBackground($lines_new, getDefaultBackgroundUrl() );

  $lines_old.fadeOut(duration);
  $lines_new.fadeIn(duration, function() {
    $lines_old.remove();
  });
}

$(document).ready(function() {

  var subweb = subwebReferrer();
  if (subweb == null)
    displayDefaultBackground();
  else
    animateBackground(subweb, 3000);

});


