function serverTime() { 
  var time = null; 
  $.ajax({url: 'serverTime.htm', 
      async: false, dataType: 'text', 
      success: function(text) { 
        time = new Date(text); 
      }, error: function(http, message, exc) { 
        time = new Date(); 
  }}); 
  return time; 
}


function loadImage($element, url, altText)
{
  $element.empty();
  $element.append('<div class="loader loading" />');
  
  var img = new Image();
  
  $(img).attr("alt", altText);
  $(img).load(function () {
      //$(this).css('display', 'none'); // .hide() doesn't work in Safari when the element isn't on the DOM already
      $(this).hide();
      $element.find(".loader").removeClass('loading').append(this);
      $(this).fadeIn();
  }).error(function () {
    //alert("the image could not be loaded");
  }).attr('src', url); 
  
}

function formatDate(date, withtime)
{
  var formattedDate = "";
  formattedDate = date.getDate()+"."+(date.getMonth()+1)+"."+date.getFullYear();
  if(withtime)
  {
    var hours = date.getHours();
    if(hours < 10) hours = "0"+hours;
    var minutes = date.getMinutes();
    if(minutes < 10) minutes =  "0"+minutes;
    
    formattedDate += " "+hours+":"+minutes;
    
  }
  
  return formattedDate;
}

function showUserLoggedOutMessage()
{
  alert(getMessage(-4));
  gotoLoginPage();
}

function showDebugErrorMessage(status, statusText)
{
  alert('An error occured: '+statusText+' ('+status+')'); 
}

function gotoLoginPage()
{
  window.location.reload();
}


jQuery.fn.allowNumericOnly =
function()
{
  return this.each(function()
    {
      $(this).keydown(function(e)
        {
          var key = e.charCode || e.keyCode || 0;
          // allow backspace, tab, delete, arrows, numbers and keypad numbers ONLY
          return (
            key == 8 || 
            key == 9 ||
            key == 46 ||
            (key >= 37 && key <= 40) ||
            (key >= 48 && key <= 57) ||
            (key >= 96 && key <= 105));
        })
    })
};

function get_GET_params() {
  var GET = new Array();
  if(location.search.length > 0) {
    var get_param_str = location.search.substring(1, location.search.length);
    var get_params = get_param_str.split("&");
    for(i = 0; i < get_params.length; i++) {
      var key_value = get_params[i].split("=");
      if(key_value.length == 2) {
        var key = key_value[0];
        var value = key_value[1];
        GET[key] = value;
      }
    }
  }
  return(GET);
}

function get_GET_param(key) {
  var get_params = get_GET_params();
  if(get_params[key])
    return(get_params[key]);
  else
    return false;
}


