var levels = new Array( 'A', 'M', 'B', 'P' );
var names = new Array();
names['A'] = "Public";
names['M'] = "Members";
names['B'] = "All Buddies";
names['X'] = "Specific Buddies";
names['P'] = "Private";

var lockColours = new Array();
lockColours['A'] = "Green";
lockColours['M'] = "Yellow";
lockColours['B'] = "Yellow";
lockColours['X'] = "Yellow";
lockColours['P'] = "Red";

var visibilityElement;

function chooseVisibility( hiddenName, ev )
{
  var theImage = ( ( ev.target ) ? ev.target : ev.srcElement );

  popTmpl( 'entry2', 'visibilityPopup', true, '', null );
  var thePopup     = getElt( "visibilityPopup" );
  var popupForm    = getElt( "visibilityForm" );
  var subTitle     = getElt( "visibilityTitle" );
  var popupTitle   = getElt( "entry2Title" );
  var userForm     = getElt( "userForm" );

  if( userForm == null )
  {
    userForm = getElt( "itemEditForm" );
  }

  var displayName = "Event";

  if( theImage.getAttribute("labelname") != null && theImage.getAttribute("labelname") != "" )
  {
    displayName = theImage.getAttribute("labelname");
  }
  else if( theImage.parentNode.nodeName.toLowerCase() == "div" )
  {
    var pos = theImage.parentNode.innerHTML.lastIndexOf( ">" );

    displayName = theImage.parentNode.innerHTML.substring( pos + 1 );

    if( pos == theImage.parentNode.innerHTML.length - 1 )
    {
      pos = theImage.parentNode.innerHTML.lastIndexOf( ">", theImage.parentNode.innerHTML.toLowerCase().lastIndexOf( "<div" ) );

      displayName = theImage.parentNode.innerHTML.substring( pos + 1, theImage.parentNode.innerHTML.toLowerCase().lastIndexOf( "<div" ) );
    }

    if( displayName == "" )
    {
      displayName = "Event";
    }
  }
  else if( theImage.parentNode.nodeName.toLowerCase() == "td" )
  {
    if( theImage.parentNode.parentNode.firstChild.nextSibling.className == "" )
    {
      displayName = theImage.parentNode.parentNode.firstChild.innerHTML;
    }
    else
    {
      displayName = theImage.parentNode.parentNode.firstChild.nextSibling.innerHTML;
    }
  }
  else if( theImage.parentNode.nodeName.toLowerCase() == "form" )
  {
    displayName = "Event";
  }

  if( displayName == "" || displayName == "User Name" || displayName.indexOf( "<" ) != -1 )
  {
    displayName = "Profile";
  }

  popupTitle.innerHTML = "Security&nbsp;for...";
  subTitle.innerHTML = displayName;

  var radioValue = userForm.elements[hiddenName].value.substring( 0, 1 );

  for( var i = 0 ; i < popupForm.elements.visibility.length ; i++ )
  {
    popupForm.elements.visibility[i].checked = ( popupForm.elements.visibility[i].value == radioValue );
  }

  for( var i = 0 ; popupForm.elements.categoryVisibility && i < popupForm.elements.categoryVisibility.length ; i++ )
  {
    popupForm.elements.categoryVisibility[i].checked = ( userForm.elements[hiddenName].value.indexOf( ":" + popupForm.elements.categoryVisibility[i].value + ":" ) != -1 );
  }

  var x = ( ( ev.clientX ) ? ev.clientX : ev.pageX );
  var y = ( ( ev.clientY ) ? ev.clientY : ev.pageY );

  thePopup.style.visibility = "visible";
  refreshShadow( "entry2" );

  visibilityElement = hiddenName;
}

function hideVisibility()
{
  closeTmpl( 'entry2' );
  //var thePopup = getElt( "visibilityPopup" );
  //
  //thePopup.style.visibility = "hidden";
  //
  //if( document.all )
  //{
  //  var theIframe = getElt( "visibilityPopupIframe" );
  //  theIframe.style.display = "none";
  //}
} //

function setVisibility()
{
  var popupForm = getElt( "visibilityForm" );
  var userForm  = getElt( "userForm" );

  if( userForm == null )
  {
    userForm = getElt( "itemEditForm" );
  }

  for( var i = 0 ; i < popupForm.elements.visibility.length ; i++ )
  {
    userForm.elements[visibilityElement].value = ( ( popupForm.elements.visibility[i].checked ) ? popupForm.elements.visibility[i].value : userForm.elements[visibilityElement].value );

    if( userForm.elements[visibilityElement].value == "" )
    {
      userForm.elements[visibilityElement].value = "P";
    }
  }

  var theImage = userForm.elements[visibilityElement].previousSibling;

  if( theImage != null )
  {
    theImage.src = "/art/decor/lock" + lockColours[userForm.elements[visibilityElement].value.substring( 0, 1 )] + ".gif";
    theImage.title = "Security: " + names[userForm.elements[visibilityElement].value.substring( 0, 1 )];
  }

  if( userForm.elements[visibilityElement].value == "X" )
  {
    if( typeof( popupForm.elements.categoryVisibility.length ) != "undefined" )
    {
      for( var i = 0 ; i < popupForm.elements.categoryVisibility.length ; i++ )
      {
        userForm.elements[visibilityElement].value += ( ( popupForm.elements.categoryVisibility[i].checked ) ? ":" + popupForm.elements.categoryVisibility[i].value + ":" : "" );
      }
    }
    else
    {
      userForm.elements[visibilityElement].value += ( ( popupForm.elements.categoryVisibility.checked ) ? ":" + popupForm.elements.categoryVisibility.value + ":" : "" );
    }
  }

  hideVisibility();
}
