/*
 * JS Functions for http://pastesite.com/
 *  by Alex Elliot
 *
 * Last Updated: 24-04-2007
 *
 */

var currentSize = 90; // current font-size: % for pastes.
var currentTheme = "default";

// void changeTextSize(amount)
//
// Changes the text size of the paste
// by altering the font-size of the
// container div.
function changeTextSize(amount)
{
   var container = document.getElementById('paste_container');
   currentSize += amount;
   container.style.fontSize = (currentSize+'%');
}


// void toggleNumbers(mode)
//
// Toggles line numbers on the pastes
// from on to off.
function toggleNumbers(mode)
{
   var gutter = document.getElementById('gutter');
   var listItem = document.getElementById('remove');
   if(mode == "on")
   {
      listItem.innerHTML = '<a style="background-image:url(images/remove.png);" href="javascript:void(0)" onclick="toggleNumbers(\'off\')" title="Remove the Line Numbers From the Current Paste">Remove Line Numbers</a>';
      gutter.style.display = "";
   }
   else
   {
      listItem.innerHTML = '<a style="background-image:url(images/add.png);" href="javascript:void(0)" onclick="toggleNumbers(\'on\')" title="Add Line Numbers to This Paste">Add Line Numbers</a>';
      gutter.style.display = "none";
   }
}

// void switchTheme()
//
// Alternates between the default and
// dark themes on click.
// Credit to alistapart.com for the majority of this.
function switchTheme()
{
   var i,linktag;
   for(i=0; (linktag = document.getElementsByTagName("link")[i]); ++i)
   {
      if(linktag.getAttribute("rel").indexOf("style") != -1 && linktag.getAttribute("title"))
      {
         linktag.disabled = true;
         if(linktag.getAttribute("title") != currentTheme)
            linktag.disabled = false;
      }
   }

   if(currentTheme == "default")
      currentTheme = "alternate";
   else
      currentTheme = "default";

   createCookie("style",currentTheme,365);
}
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
      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 checkStyle()
{
   var stylecookie = readCookie("style");
   if(stylecookie == "alternate")
      switchTheme();
}
// window.onunload = function(e)
// {
//    createCookie("style", currentTheme, 365);
// }

// void toggleElement()
//
// Toggles the advanced options on
// the new paste form.
function toggleElement(elementID)
{
   var div = document.getElementById(elementID).style;
   if(div.display != 'block')
      div.display = 'block';
   else
      div.display = 'none';
}

// void toggleLockImage()
//
// Toggles the locked/unlocked image
// on the new paste form, unifying
// it with the user control panel.
function toggleLockImage()
{
   var image = document.getElementById('lock-image');
   if(image.src.match('images/locked.png'))
      image.src = 'images/unlocked.png';
   else
      image.src = 'images/locked.png';
}

// void initialise( toggleAdvanced = false )
//
// Initialises JS objects on the
// page.
function initialise(toggleAdvanced)
{
   checkStyle();

   if(toggleAdvanced)
   {
      toggleElement('extra-options');
      var heading = document.getElementById('toggle-heading');
      heading.innerHTML = heading.innerHTML + ' <span>(<a href="javascript:void(0);" onclick="toggleElement(\'extra-options\');" title="Include the Advanced Options">Toggle Advanced Options</a>)</span>';
   }
   var themelink = document.getElementById('theme-switcher');
   themelink.href = 'javascript:void(0);';
}