var capsi_mngConcert_xmlHttp

var capsi_mngConcert_id = 0
var capsi_mngConcert_status = 0
var capsi_mngConcert_future = 0
var capsi_mngConcert_zoom = 0

function getConcertNav()
{
  var img = "addremove-add.png";
  var txt = ""

  if ( capsi_mngConcert_status == 1 || capsi_mngConcert_status == 2 )
    img = "addremove-remove.png";
  else if ( capsi_mngConcert_status == 3 )
    img = "addremove.png";

  txt += "<a href=\"/user/calendar/invite.html?concertId=" + capsi_mngConcert_id + "\" class=\"sprite friendsSprite\" title=\"Invite friends to this concert\"></a>"

  txt += "<a href=\"\" onclick=\"return addConcert2Cal('" + capsi_mngConcert_id + "','" + capsi_mngConcert_status + "'," + capsi_mngConcert_future + ",'" + capsi_mngConcert_zoom + "')\"><img src=\"http://content.capsi.com/img/crystal/" + img + "\" alt=\"Update calendar/RSVP\" title=\"Update calendar/RSVP\" /></a>"

  if ( capsi_mngConcert_zoom==1  )
    txt += "<a href=\"/concerts/" + capsi_mngConcert_id + ".html\" class=\"sprite viewSprite\" title=\"Details\"></a>"

  return txt
}

function addConcertJoin( id )
{
  alert( "Login or register first.." ); return false;
  alert( "fixme" );

  var box = document.getElementById("concertBox-" + id + "-popup" )
  if ( box )
  {
    var txt = "";

    txt += "<div class=\"floatR\"><a href=\"\" onclick=\"setVisibleById('" + box.id + "', false); return false;\" class=\"sprite closeSprite\" title=\"Close\"></a></div>"

    txt += "<p>\nYou must be logged in to manage your calendar.</p>"

    txt += "<hr /><a href=\"/user/\" class=\"sprite logoSprite\"></a> <a href=\"/user/\">Login</a>"
    txt += "<br /><a rel=\"nofollow\" href=\"/user/register.html?concertId=" + id + "\" class=\"sprite logoSprite\"></a> <a href=\"/user/register.html?concertId=" + id + "\">Join Capsi</a>"


    box.innerHTML = txt
    // setVisible( box, false, true );
    setTimeout( "setVisibleById( '" + box.id + "', true)", 10 );
    // box.scrollIntoView(0)
  }

  return false
}

function concertManageText( id, status, future, zoom )
{
	var txt = "";

	if ( future )
	{
		if ( status == 0 )
			txt += "<p>This concert is <strong>not in your calendar</strong>.</p>"
		else if ( status == 1 )
			txt += "<p>You <strong>are going</strong> to this concert. You <strong>don't have a ticket</strong> yet.</p>"
		else if ( status == 2 )
			txt += "<p>You <strong>are going</strong> to this concert. You already <strong>have a ticket</strong>.</p>"
		else if ( status == 3 )
			txt += "<p>You <strong>might go</strong> to this concert.</p>"
		else if ( status == 4 )
			txt += "<p>You are <strong>not going</strong> to this concert.</p>"

		txt += "<p>\nUpdate your calendar/RSVP:</p><ul>"
		txt += "<li><a href=\"\" onclick=\"return xmlAddConcert2Cal('" + id + "','2',1,'" + zoom + "')\"><img src=\"http://content.capsi.com/img/crystal/addticket.png\" alt=\"\" /> I'm going. I already have a ticket.</a></li>"
		txt += "<li><a href=\"\" onclick=\"return xmlAddConcert2Cal('" + id + "','1',1,'" + zoom + "')\"><img src=\"http://content.capsi.com/img/crystal/add.png\" alt=\"\" /> I'm going. I don't have a ticket yet.</a></li>"
		txt += "<li><a href=\"\" onclick=\"return xmlAddConcert2Cal('" + id + "','3',1,'" + zoom + "')\"><img src=\"http://content.capsi.com/img/crystal/removemaybe.png\" alt=\"\" /> I might go, but am not sure.</a></li>"
		txt += "<li><a href=\"\" onclick=\"return xmlAddConcert2Cal('" + id + "','4',1,'" + zoom + "')\"><img src=\"http://content.capsi.com/img/crystal/addremove-remove.png\" alt=\"\" /> I'm not going.</a></li>"
		txt += "</ul>"
	}
	else
	{
		if ( status == 0 )
			txt += "<p>This concert is <strong>not in your calendar</strong>.</p>"
		else if ( status == 1 )
			txt += "<p>You <strong>did go</strong> to this concert.</p>"
		else if ( status == 2 )
 			txt += "<p>You <strong>did go</strong> to this concert.</p>"
		else if ( status == 3 )
			txt += "<p>You <strong>considered going</strong> to this concert.</p>"
		else if ( status == 4 )
			txt += "<p>You <strong>did not go</strong> to this concert.</p>"

		txt += "<p>Update your calendar/RSVP:</p><ul>"
		txt += "<li><a href=\"\" onclick=\"return xmlAddConcert2Cal('" + id + "','2',0,'" + zoom + "')\"><img src=\"http://content.capsi.com/img/crystal/add.png\" alt=\"\" /> I did go to this concert.</a></li>"
		txt += "<li><a href=\"\" onclick=\"return xmlAddConcert2Cal('" + id + "','4',0,'" + zoom + "')\"><img src=\"http://content.capsi.com/img/crystal/remove.png\" alt=\"\" /> I didn't go to this concert.</a></li>"
		txt += "</ul>"
	}

	return txt;
}

function addConcert2Cal( id, status, future, zoom )
{
	txt = concertManageText( id, status, future, zoom );

	setVisibleById( 'actionBarEdit', false, true );
	$('#actionBarEditContent').html ( actionBarCloseButton() + txt );
	$('#actionBarEditStatus').empty();
	setVisibleById( 'actionBarEdit', true );

	return false;
}

function xmlAddConcert2Cal( id, status, future, zoom )
{
  capsi_mngConcert_xmlHttp=GetXmlHttpObject()
  if (capsi_mngConcert_xmlHttp==null)
    return false

  if ( status==0 )
   return false;

  capsi_mngConcert_id = id
  capsi_mngConcert_future = future
  updateConcertLoading( 1 )

  var url="/ajax/addConcert2Cal.php"
  var args = "id=" + urlEncode(id) + "&status=" + urlEncode(status) + "&zoom=" + urlEncode(zoom)

  capsi_mngConcert_xmlHttp.onreadystatechange=addconcert2calSubmitStateChanged
  capsi_mngConcert_xmlHttp.open("POST",url,true)
  capsi_mngConcert_xmlHttp.setRequestHeader("Content-Type",  "application/x-www-form-urlencoded; charset=utf-8");
  capsi_mngConcert_xmlHttp.send(args)

  return false
}

function addconcert2calSubmitStateChanged()
{
  if (capsi_mngConcert_xmlHttp.readyState==4 || capsi_mngConcert_xmlHttp.readyState=="complete")
  { 
    if (capsi_mngConcert_xmlHttp.responseXML)
    {
      // alert(capsi_mngConcert_xmlHttp.responseText)

      var concert = capsi_mngConcert_xmlHttp.responseXML.getElementsByTagName("calendar")[0]
      capsi_mngConcert_id = concert.getAttribute("concertid")
      capsi_mngConcert_status = concert.getAttribute("status")
      capsi_mngConcert_zoom = concert.getAttribute("zoom")
      updateConcertLoading( 2 );
//      setTimeout('updateConcertLoading(-1)', 1000 )
    }
    else
      alert(capsi_mngConcert_xmlHttp.responseText)
  }
}

function updateConcertLoading( status )
{
	if ( status == 1 ) // Loading..
		$('#actionBarEditStatus').html ( ajaxLoadImage() + 'Updating your calendar...' );
	else if ( status == 2 )	// Done..
	{
		$('#concertNav-' + capsi_mngConcert_id + '_\\S*').html(getConcertNav())

		txt = concertManageText( capsi_mngConcert_id, capsi_mngConcert_status, capsi_mngConcert_future, capsi_mngConcert_zoom )
		$('#actionBarEditContent').html ( actionBarCloseButton() + txt );
		$('#actionBarEditStatus').empty();

		// setTimeout('updateConcertLoading(0)', 1000 )
	}
	else // Default/hide
		$('#actionBarEdit').slideUp( "slow" );
}

function spotUser( concertId, userId, spotted )
{
  capsi_mngConcert_xmlHttp=GetXmlHttpObject()
  if (capsi_mngConcert_xmlHttp==null)
    return false

  var url="/ajax/concertSpotUser.php"
  var args = "id=" + concertId + "&userId=" + userId + "&spotted=" + spotted

  var li = document.getElementById( 'spotted-' + concertId + '-' + userId )
  if ( li )
    li.innerHTML = "Updating..."

  capsi_mngConcert_xmlHttp.onreadystatechange=spotUserSubmitStateChanged
  capsi_mngConcert_xmlHttp.open("POST",url,true)
  capsi_mngConcert_xmlHttp.setRequestHeader("Content-Type",  "application/x-www-form-urlencoded; charset=utf-8");
  capsi_mngConcert_xmlHttp.send(args)

  return false
}

function spotUserSubmitStateChanged()
{
  if (capsi_mngConcert_xmlHttp.readyState==4 || capsi_mngConcert_xmlHttp.readyState=="complete")
  { 
    if (capsi_mngConcert_xmlHttp.responseXML)
    {
      // alert(capsi_mngConcert_xmlHttp.responseText)

      var concertId = capsi_mngConcert_xmlHttp.responseXML.getElementsByTagName("concertId")[0].childNodes[0].nodeValue
      var userId = capsi_mngConcert_xmlHttp.responseXML.getElementsByTagName("userId")[0].childNodes[0].nodeValue

      var li = document.getElementById( 'spotted-' + concertId + '-' + userId )
      if ( li )
	li.innerHTML = "Updated!"

      setTimeout( "removeEntry(" + concertId + "," + userId + ")", 1500 )
    }
    else
      alert(capsi_mngConcert_xmlHttp.responseText)
  }
}

function removeEntry( concertId, userId )
{
      alert( "fixme" );
      var li = document.getElementById( 'spotted-' + concertId + '-' + userId )
      if ( li )
      {
        var ul = li.parentNode
        if ( ul )
          ul.removeChild(li)

	if ( ul.childNodes.length == 0 )
		$('#concertBox-' + concertId + '_\\S*').remove();
      }
}
