$(document).ready(function() {

  /* thanks to kevinluck.com for the theme switching code! */
  /**********************************/
  /* THEME                          */
  /**********************************/
  $('a.theme').click(function()
  {
    changeTheme(this.getAttribute("id"));
    return false;
  });
  var c = readCookie('style');
  if (c) changeTheme(c);

  /**********************************/
  /*  LAST FM                       */
  /**********************************/
  $("a.lastfm").click(function() { 
    var type = $(this).attr("id");

    $("#lastfm > .content").html("<div id=\"ajax\"><span> </span></div>");

      $.get("../lastfm.php",
      {
        type: type
      },

      /* update page */
      refreshLastFM
      );
   });

  $("#lastfm > .content").ready(function() { 
    $("#lastfm > .content").html("<center><img src=\"http://www.moiph.com/images/ajax-loader.gif\" /></center>");

      $.get("../lastfm.php",
      {
        type: "recentSongs"
      },

      /* update page */
      waitThenRefresh
      );
   });


  /**********************************/
  /*  Shoutbox                      */
  /**********************************/

   /* clear name field */
   $("#shoutName").focus(function() {
	$("#shoutName").val("");
   });

   /* clear/store msg */
   $("#shoutMsg").focus(function() {
        var msg = $("#shoutMsg").val();
        if(msg == "message") {
	   $("#shoutMsg").val("");
        }
   });

   /* length of msg */
   $("#shoutMsg").keyup(function() {
        var msg = $("#shoutMsg").val();
	var len = msg.length;
        if(len == 0) {
           $("#shoutbox > .length").html("");
        }
        else if(len > 256) {
           $("#shoutbox > .length").html("<span class=\"warning\">" + len + "/256</span>");
        }
        else {
           $("#shoutbox > .length").html(len + "/256");
        }
   });

   /* get previous shouts */
   $("a.shoutUp").click(function() {
      $.get("../shoutbox.php",
      {
        offset: "up"
      },
      function (data) {
	$("#shoutbox > .content").html(data);
      });
   });

   /* get next shouts */
   $("a.shoutDown").click(function() {
      $.get("../shoutbox.php",
      {
        offset: "down"
      },
      function (data) {
	$("#shoutbox > .content").html(data);
      });
   });

   /*  SHOUTBOX SEND */
   $("#shout").click(function() {
      var name = $("#shoutName").val();
      var msg  = $("#shoutMsg").val();
      var shout = $("#shouting").val();
      var email = $("#email").val();

      var screen_width  = screen.width;
      var screen_height = screen.height;

      if(msg.length > 256)
	return false;
      if(name.length > 32)
	return false;

      $.post("../shoutbox.php",
      {
	shouting: shout,
	name: name,
	msg: msg,
        email: email,
        screen_width: screen_width,
	screen_height: screen_height
      },
      function (data) {
	$("#shoutbox > .content").html(data);
      });

      $("#shoutMsg").val("");
      $("#shout > .length").html("");
    });

  /**********************************/
  /*  Comments                      */
  /**********************************/

   /* clear name field */
   $("#commentName").focus(function() {
	$("#commentName").val("");
   });

   /* clear/store msg */
   $("#commentMsg").focus(function() {
        var msg = $("#commentMsg").val();
        if(msg == "comment") {
	   $("#commentMsg").val("");
        }
   });

   /* length of msg */
   $("#commentMsg").keyup(function() {
        var msg = $("#commentMsg").val();
	var len = msg.length;
        if(len == 0) {
           $("#comments > span.length").html("");
        }
        else if(len > 512) {
           $("#comments > div.form > span.length").html("<span class=\"warning\">" + len + "</span>/512");
        }
        else {
           $("#comments > div.form > span.length").html(len + "/512");
        }
   });

   /* COMMENT SEND */
   $("#comment").click(function() {
      var name = $("#commentName").val();
      var msg  = $("#commentMsg").val();
      var commenting = $("#commenting").val();
      var entryID = $("#entryID").val();
      var email = $("#email").val();

      $.post("../comments.php",
      {
	commenting: commenting,
        entryID: entryID,
	name: name,
	comment: msg,
        email: email
      },

      /* update page */
      refreshComments

      );

      $("#commentMsg").val("");
      $("#comments > .length").html("");
    });


   /***********************************/
   /* random junk                     */
   /***********************************/
   $("a.egg").click(function() {
      var id = $(this).attr("id");
      $.get("egg.php",
      {
        id: id
      },
   
      /* update page */
      refreshEgg
      );
   });


   /***********************************/
   /* admin login                     */
   /***********************************/
   $("#login").click(function() {
      var user = $("#user").val();
      var pass = $("#pass").val();

      $.post("admin.php",
      {
        user: user,
	pass: pass
      },

      /* update page */
      refreshAdmin
      );
   });
});


/* update page! */
function refreshLastFM(data) {
  $("#lastfm > .content").html(data);
}

/* update page! */
function refreshComments(data) {
  $("#comments > .content").html(data);
}

/* update page! */
function refreshEgg(data) {
  $("#shoutbox > .content").html(data);
}

/* update page! */
function refreshAdmin(data) {
  $("#admin").html(data);
}

/* wait then refresh */
function waitThenRefresh(data) {
  refreshLastFM(data);
  //var t = setTimeout("refreshLastFM(" + data + ")", 1000);
}


function changeTheme(styleName)
{
  $('link[@rel*=style][@title]').each(function(i) 
  {
    this.disabled = true;
    if (this.getAttribute('title') == styleName) this.disabled = false;
  });
  createCookie('style', styleName, 365);
}

// cookie functions http://www.quirksmode.org/js/cookies.html
function createCookie(name,value,days)
{
  if (days)
    {
      var date = new Date();
      date.setTime(date.getTime()+(days*24*60*60*1000));
      var expires = "; expires="+date.toGMTString();
    }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name)
{
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++)
    {
      var c = ca[i];
      while (c.charAt(0)==' ') c = c.substring(1,c.length);
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
  return null;
}
function eraseCookie(name)
{
  createCookie(name,"",-1);
}
// /cookie functions
