var openCompanyLayer = '';

function toggleTeaser (that) {
  var div = that.parentNode.parentNode.getElementsByTagName('div')[0];
  var show = div.style.display == "none"? true : false;
  if (div) {
    div.style.display = show? 'block' : 'none';
    that.getElementsByTagName ('img')[0].src = show? '/mat/la_minus.gif' : '/mat/la_plus.gif';
  }
  return false;
}



/* The "Blob" is the small mouse over div appearing on top stories */
var blobLifetime;

// opens a new blob (and closes an old one, if present)
function openBlob( node, text ) {
  if( document.getElementById('blob') ) {
    closeBlob();
  }
  x = getPosition(node)[0] + 175;
  y = getPosition(node)[1] + 5;
  var blob = document.createElement("div");
  blob.setAttribute( "style", "top: "+y+"px; left: "+x+"px;" );
  blob.style.top = y+"px";
  blob.style.left = x+"px";
  blob.setAttribute( "id", "blob" );
  //blob.appendChild( document.createTextNode( text ) );
  blob.innerHTML = text;
  blob.setAttribute( "onmouseover", "window.clearTimeout(blobLifetime)" );
  blob.setAttribute( "onmouseout", "blobLifetime = window.setTimeout( 'closeBlob()', 1000 );" );
  document.getElementsByTagName("body")[0].appendChild(blob);
  blobLifetime = window.setTimeout( "closeBlob()", 4000 );
}

// closes the blob
function closeBlob() {
  if( document.getElementById('blob') ) {
    document.getElementById('blob').parentNode.removeChild(document.getElementById('blob'));
  }
}

// get x and y offset of an element
function getPosition( node ) {
  var x=0,y=0;
  var tempNode = node;
  do {
    x = x + tempNode.offsetLeft;
    y = y + tempNode.offsetTop;
    tempNode = tempNode.offsetParent;
  } while( tempNode.offsetParent );
  return new Array(x,y);
}





function speicherspots_box(spotsid) {
  var sel = document.getElementById (spotsid);
  var opt = {};
  for (var i = 1; i < sel.options.length; i++) {
    if (sel.options[i].value == "") {
      sel.options[i].value = sel.options[i].text;
    }
    opt[sel.options[i].value] = sel.options[i].text;
  }
  var action = sel.form.action;

  var nsel = document.createElement ("div");
  var ul = document.createElement ("ul");
  var s = true;
  for (var p in opt) {
    var li = document.createElement ("li");
    li.appendChild (document.createTextNode (opt[p]));
    li.onclick = (function (a, p) {
      return function () {
        window.location.href = p;
      }
    })(action, p);
    if (s) {
      li.className = "odd";
    }
    s = !s;
    ul.appendChild (li);
  }

  var psel = document.createElement ("p");
  psel.className = "pseudoselect";
  var span = document.createElement ("span");
  span.appendChild (document.createTextNode (" Video w\u00e4hlen "));
  psel.appendChild (span);
  var button = document.createElement ("input");
  button.type = "image";
  button.src = "/mat/select.png";
  button.onclick = (function (id) {
    return function () {
      speicherspots_unfold (id);
    };
  })(spotsid);
  button.setAttribute ("id", "myselectbutton"+spotsid);
  ul.setAttribute ("id", "myselect"+spotsid);
  ul.className = "pseudoinput";
  psel.appendChild (button);
  sel.parentNode.insertBefore (psel, sel);
  sel.parentNode.replaceChild (ul, sel);
  button.form.onsubmit = function () { return false; };
}

function speicherspots_unfold (id) {
  var u = document.getElementById ("myselect"+id);
  var b = document.getElementById ("myselectbutton"+id);
  if (!u.style.display || u.style.display == "none") {
    u.style.display = "block";
    //b.firstChild.nodeValue = "\u039B";
    b.src = "/mat/selected.png";
  } else {
    u.style.display = "none";
    //b.firstChild.nodeValue = "v";
    b.src = "/mat/select.png";
  }
  return false;
}



/* automatical switching for the above thing  */

function pager_switcher(idlabel) {

    /* currently displayed teaser and teaser to be displayed after switching are stuffed in JS variables: */
    var this_current = eval('pager_' + idlabel + '_current');
    var this_next = eval('pager_' + idlabel + '_next');

    /*  call switcher function (cf. above) */
    switchVisibilityById('teaser_' + idlabel + '_' + this_current,'teaser_' + idlabel + '_' + this_next);

    /* reset JS variables
     *  complication for next-to-be-displayed teaser: 
     * is new current teaser the last in the teaser overload row? then set _first_ teaser als next one.
     */
    eval('pager_' + idlabel + '_current = this_next');
    if (this_next == eval('pager_' + idlabel + '_last')) eval('pager_' + idlabel + '_next = 1');
    else eval('pager_' + idlabel + '_next++');

    return;
}


/* switch visibility for two layers 
 * currently used for streaming video teasers 
 */

function switchVisibilityById(invisibleid,visibleid) {
    if (invisibleid != '') {
	document.getElementById(invisibleid).style.display = 'none';
    }
    if (visibleid) {
	document.getElementById(visibleid).style.display = '';
    }
    return true;
}



function showLayerWithjQuery (layerid) {
    if (document.getElementById(layerid).style.display == 'none') $("div.app_branchenbuch_container").hide(2000);
    $("#h1_"+layerid).hide();
    $("#"+layerid).show("slow");
    showbbheader();
    openCompanyLayer = layerid;
    return true;
}

function hideLayerWithjQuery (layerid) {
    $("#"+layerid).hide(2000);
    showbbheader();
    openCompanyLayer = '';
    return true;
}

function showbbheader() {
    if (openCompanyLayer == '') return true;
    $("#h1_" + openCompanyLayer).show();
    return true;
}
