function showHideListChild( strNodeName ) {
  var objNode = document.getElementById( "item_" + strNodeName );
  var objNodeChild = document.getElementById( "sub_" + strNodeName );
  if ( objNodeChild.style.display != 'none' ) {
    objNode.className = 'list_item_closed';
    objNodeChild.style.display = 'none';
  } else {
    objNode.className = 'list_item_open';
    objNodeChild.style.display = 'block';
  }
}

function writeML( strUser, strDomain, strDisplay ) {
  strDomain = strDomain.replace( /\*/gi, '.' );
  if ( (strDisplay != null) && (strDisplay != '') ) {
    document.write( '<a href=\"mailto:' + strUser + '@' + strDomain + '\">' + strDisplay + '</a>' );
  } else {
    document.write( '<a href=\"mailto:' + strUser + '@' + strDomain + '\">' + strUser + ' [@] ' + strDomain.replace( /\./gi, ' [dot] ' ) + '</a>' );
  }
}

snapPixelX = 0;
snapPixelY = 0;
aspectX = 0;
aspectY = 0;
realPixelX = 0;
realPixelY = 0;
driverPixelX = 0;
driverPixelY = 0;

function zoomSnapshot() {
  if ( (snapPixelX < 1) || (snapPixelY < 1) ) {
    snapPixelX = document.snapshot.width;
    snapPixelY = document.snapshot.height;
  }
  if ( (snapPixelX > 0) && (snapPixelY > 0) ) {
    if ( realPixelX < document.snapshot.width ) {
      document.snapshot.width = realPixelX;
      document.snapshot.height = realPixelY;
    } else {
      document.snapshot.width = realPixelX * 2;
      document.snapshot.height = realPixelY * 2;
    }
  }
}

function aspectSnapshot() {
  if ( (snapPixelX < 1) || (snapPixelY < 1) ) {
    snapPixelX = document.snapshot.width;
    snapPixelY = document.snapshot.height;
  }
  if ( (Math.round( driverPixelY / 2 ) == realPixelY) && (realPixelX == driverPixelX) ) { // cropped playchoice, etc
    if ( (realPixelX / aspectX) > (realPixelY / (aspectY / 2)) ) {
      document.snapshot.height = (realPixelX / aspectX) * (aspectY / 2);
      document.snapshot.width = realPixelX;
    } else {
      document.snapshot.width = (realPixelY / (aspectY / 2)) * aspectX;
      document.snapshot.height = realPixelY;
    }
  } else if ( (Math.round( driverPixelX / 2 ) == realPixelX) && (realPixelY == driverPixelY) ) { // lode runner, etc
    if ( (realPixelX / (aspectX / 2)) > (realPixelY / aspectY) ) {
      document.snapshot.height = (realPixelX / (aspectX / 2)) * aspectY;
      document.snapshot.width = realPixelX;
    } else {
      document.snapshot.width = (realPixelY / aspectY) * (aspectX / 2);
      document.snapshot.height = realPixelY;
    }
  } else if ( (realPixelX / aspectX) != (realPixelY / aspectY) ) {
    if ( (realPixelX / aspectX) > (realPixelY / aspectY) ) {
      document.snapshot.height = (realPixelX / aspectX) * aspectY;
      document.snapshot.width = realPixelX;
    } else {
      document.snapshot.width = (realPixelY / aspectY) * aspectX;
      document.snapshot.height = realPixelY;
    }
  }
}

function shrinkSnapshot() {
  if ( (snapPixelX < 1) || (snapPixelY < 1) ) {
    snapPixelX = document.snapshot.width;
    snapPixelY = document.snapshot.height;
  }
  if ( (snapPixelX > 0) && (snapPixelY > 0) ) {
    if ( realPixelX > document.snapshot.width ) {
      document.snapshot.width = realPixelX;
      document.snapshot.height = realPixelY;
    } else {
      document.snapshot.width = Math.round( realPixelX / 2 );
      document.snapshot.height = Math.round( realPixelY / 2 );
    }
  }
}

function driverSnapshot() {
  if ( (snapPixelX < 1) || (snapPixelY < 1) ) {
    snapPixelX = document.snapshot.width;
    snapPixelY = document.snapshot.height;
  }
  if ( (snapPixelX > 0) && (snapPixelY > 0) ) {
    if ( (driverPixelX > 0) && (driverPixelY > 0)  ) {
      document.snapshot.width = driverPixelX;
      document.snapshot.height = driverPixelY;
    }
  }
}

function frameGen( strURLoverride ) {
  var strQuery = ""+window.location;
  strQuery = strQuery.substr( strQuery.indexOf( "/maws/", 9 ) + 6, strQuery.length );
  strQuery = escape( strQuery );
  if ( strURLoverride.length > 2 ) {
    document.writeln( '<a href="' + strURLoverride + '" target="_top">bookmarkable frame</a>' );
  } else if ( window.location != window.parent.location ) {
    document.writeln( '<a href="index.php?src=' + strQuery + '" target="_top">bookmarkable frames</a>' );
  } else {
    // strQuery = escape( strQuery.substring(1, strQuery.length) );
    document.writeln( '<a href="index.php?src=' + strQuery + '" target="_top">restore frames</a>' );
  }
}

function setParentIcon() {
  var i, j, linkTag, parentLinkTag, isDone;
  if ( window.parent.frames.length > 0 ) {
    // in frames
    isDone = false;
    // get the icon from the first icon element and set all icons in parent frame
    for(i=0; (linkTag = document.getElementsByTagName("link")[i]); i++) {
      if( !isDone ) {
        if( linkTag.getAttribute("rel").indexOf("icon") != -1 ) {
          for(j=0; (parentLinkTag = parent.document.getElementsByTagName("link")[i]); i++) {
            if(parentLinkTag.getAttribute("rel").indexOf("icon") != -1) {
              // alert( 'found: ' + parentLinkTag.getAttribute("rel") + ' - ' + parentLinkTag.getAttribute('href') );
              parentLinkTag.setAttribute('href', linkTag.getAttribute('href') );
            }
          }
          isDone = true;
        }
      }
    }
  }
}

// setParentIcon();

// Got to get a "head"
ep = new Image();
ep.src ="http://www.epenis.eu/show/9017/epenis.png";
