﻿/////////////////////////////////////////////////////////////////////
//////////// NOT GENERIC BUT RELATED TO THE WEBSITE /////////////////
/////////////////////////////////////////////////////////////////////
var visibleLetterElement;
function ShowLetterElement(letter)
{
    // Hiding visible letter element
    if (visibleLetterElement)
        visibleLetterElement.style.display = "none";
        
    visibleLetterElement = document.getElementById(letter);
    visibleLetterElement.style.display = "block";
}


/////////////////////////
//// GENERIC METHODS ////
/////////////////////////
function pageNotFullyLoaded()
{
    alert("The information you selected to see is yet to be fully loaded. Please try again.");
}
function trim(str)
{
    return str.replace(/^\s*|\s*$/g,"");
}
function showElement (elementId)
{
    document.getElementById(elementId).style.display = "block";
}
function hideElement (elementId)
{
    var element = document.getElementById(elementId);
    if (element) element.style.display = "none";
}
function setElementVisibility (elementId, state)
{
    document.getElementById(elementId).style.visibility = (state== true ? "visible" : "hidden");
}
function openPollWindow (URL, title)
{
	window.open(URL,title,'width=580,height=512,top=0,toolbar=no,location=no,directories=no,statusbar=no,menubar=no,status=no,scrollbars=yes,resizable=yes,left=60,screenX=60,top=100,screenY=100');
}
function disableElement(elementId)
{
    document.getElementById(elementId).disabled = true;
}
function enableElement(elementId)
{
    document.getElementById(elementId).disabled = false;
}

function sortSelectBox(selectBox)
{
  var tmp  = new Array();
  var length = selectBox.options.length;
  
  for (i = 0; i < length; i++)
  {
    tmp[i] = new Array(selectBox.options[i].text.toLowerCase(), new Object(selectBox.options[i]));
  }
  tmp.sort();

  selectBox.options.length = 0;

  for (i = 0; i < length; i++)
    selectBox.options.add(tmp[i][1]);
}

function setMouseXY (elementId, e)
{
    setMouseXYbyOffset (elementId, e, 8);
}

// ready code: http://www.tek-tips.com/viewthread.cfm?qid=1251274&page=1
function setMouseXYbyOffset (elementId, e, offset)
{
    var element = document.getElementById(elementId);
    if (element == null)
        return;
   
   var posX = 0;
   var posY = 0;
   
   if (!e)
    e = window.event; 
   
   if (e.pageX || e.pageY) {
      posX = e.pageX;
      posY = e.pageY;
   }
   else if (e.clientX || e.clientY) {
      if (document.body.scrollLeft || document.body.scrollTop) {
         posX = e.clientX + document.body.scrollLeft;
         posY = e.clientY + document.body.scrollTop;
      }
      else {
         posX = e.clientX + document.documentElement.scrollLeft;
         posY = e.clientY + document.documentElement.scrollTop;
      }
   }

    element.style.left = (posX + offset) + "px";
    element.style.top = (posY + offset) + "px";
}
