var SECONDS_TO_WAIT = 4;
var SECONDS_TO_SHOW = 15;

var START_TIME = (new Date()).getTime();
var CLOSE_TEXT = unescape("Schlie%DFen");

// id of element to insert popup in html code above
var INSERT_BEFORE_ID = "test_contentBody";

var closeManuallyFlag = false;
var closedFlag = false;

//------------------------------------------------------------------------------
/**
 * Shows overlay after given amount of time
 */
function doOverlay() {

  window.setTimeout("showOverlay()", SECONDS_TO_WAIT * 1000);
}

//------------------------------------------------------------------------------
/**
 * Inserts overlay into document code
 */
function showOverlay() {

  /*------------------ overlay div ---------------------*/
  var overlayDiv = document.createElement("div");
  var overlayDivId = document.createAttribute("id");
  overlayDivId.nodeValue = "main_overlay";
  overlayDiv.setAttributeNode(overlayDivId);
  
  /*------------------ overlay iframe ------------------*/
  var overlayIFrame = document.createElement("iframe");
  var overlayIFrameCurAttr = document.createAttribute("width");
  overlayIFrameCurAttr.nodeValue = "100%";
  overlayIFrame.setAttributeNode(overlayIFrameCurAttr);
  
  overlayIFrameCurAttr = document.createAttribute("height");
  overlayIFrameCurAttr.nodeValue = "90%";
  overlayIFrame.setAttributeNode(overlayIFrameCurAttr);
  
  overlayIFrameCurAttr = document.createAttribute("src");
  overlayIFrameCurAttr.nodeValue = "http://www.turbo24.net/aktion";
  overlayIFrame.setAttributeNode(overlayIFrameCurAttr);
  
  overlayDiv.appendChild(overlayIFrame);
  
  /*------------------ close link ----------------------*/
  var closeLinkDiv = document.createElement("div");
  var closeLinkDivAttr = document.createAttribute("id");
  closeLinkDivAttr.nodeValue = "closeLinkDiv";
  closeLinkDiv.setAttributeNode(closeLinkDivAttr);
  
  var closeLink = document.createElement("a");
  var closeLinkText = document.createTextNode(unescape("Ge%F6ffnet") + " lassen");
  closeLink.appendChild(closeLinkText);
  

  var closeLinkCurAttr = document.createAttribute("href");
  closeLinkCurAttr.nodeValue = "javascript:closeManually()";
  closeLink.setAttributeNode(closeLinkCurAttr);
  closeLinkCurAttr = document.createAttribute("id");
  closeLinkCurAttr.nodeValue = "closeManuallyLink";
  closeLink.setAttributeNode(closeLinkCurAttr);
  closeLinkDiv.appendChild(closeLink);
  
  //----------------------------------------
  closeLink = document.createElement("a");
  closeLinkText = document.createTextNode(CLOSE_TEXT + " (" + SECONDS_TO_SHOW + ")");
  closeLink.appendChild(closeLinkText);
  closeLinkCurAttr = document.createAttribute("href");
  closeLinkCurAttr.nodeValue = "javascript:closeOverlay()";
  closeLink.setAttributeNode(closeLinkCurAttr);
  /*   
  closeLinkCurAttr = document.createAttribute("target");
  closeLinkCurAttr.nodeValue = "_top";
  closeLink.setAttributeNode(closeLinkCurAttr);
  */
  closeLinkCurAttr = document.createAttribute("id");
  closeLinkCurAttr.nodeValue = "closeLink";
  closeLink.setAttributeNode(closeLinkCurAttr);
  closeLinkDiv.appendChild(closeLink);
  
  overlayDiv.appendChild(closeLinkDiv);
  
  document.getElementById(INSERT_BEFORE_ID).insertBefore(overlayDiv, document.getElementById(INSERT_BEFORE_ID).firstChild);
  
  manipulateTimeLeft();
}

//------------------------------------------------------------------------------
/**
 * Updates the time left for overlay in close link 
 */ 
function manipulateTimeLeft () {

  if (closeManuallyFlag) {
    document.getElementById("closeLink").firstChild.nodeValue = CLOSE_TEXT;
    return;
  } else if (closedFlag) {
    return;
  }

  var now = new Date();
  var timeGone = ((now.getTime() - START_TIME) / 1000)
  timeGone = timeGone - SECONDS_TO_WAIT;
  
  var absSeconds = Math.round(timeGone);
  var relSeconds = SECONDS_TO_SHOW - (absSeconds % 60);
  // var absMinuten = Math.abs(Math.round((absSeconds - 30) / 60));
  var anzSekunden = "" + ((relSeconds > 9) ? relSeconds : "0" + relSeconds);
  //var anzMinuten = "" + ((absMinuten > 9) ? absMinuten : "0" + absMinuten);
                           
  document.getElementById("closeLink").firstChild.nodeValue = CLOSE_TEXT + " (" + /*anzMinuten + ":" + */ anzSekunden + "s)";
  
  if (timeGone <= SECONDS_TO_SHOW) {
    window.setTimeout("manipulateTimeLeft()", 1000);
  } else {
    closeOverlay();
  }
}

//------------------------------------------------------------------------------
/**
 * Stops automatic overlay closing => user has to close overlay himself 
 */
function closeManually() {
  
  closeManuallyFlag = true;
  document.getElementById("closeLinkDiv").removeChild(document.getElementById("closeManuallyLink"));
}
//------------------------------------------------------------------------------

/**
 * Removes overlay from document code
 */
function closeOverlay() {
  
  closedFlag = true;
  document.getElementById(INSERT_BEFORE_ID).removeChild(document.getElementById(INSERT_BEFORE_ID).firstChild);
}
//------------------------------------------------------------------------------

