function getAge(birthDate) {
  var now = new Date();

  function isLeap(year) {
    return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);
  }

  // days since the birthdate    
  var days = Math.floor((now.getTime() - birthDate.getTime())/1000/60/60/24);
  var age = 0;
  // iterate the years
  for (var y = birthDate.getFullYear(); y <= now.getFullYear(); y++){
    var daysInYear = isLeap(y) ? 366 : 365;
    if (days >= daysInYear){
      days -= daysInYear;
      age++;
      // increment the age only if there are available enough days for the year.
    }
  }
  return age;
}


function GetWidth()
{
        var x = 0;
        if (self.innerHeight)
        {
                x = self.innerWidth;
        }
        else if (document.documentElement && document.documentElement.clientHeight)
        {
                x = document.documentElement.clientWidth;
        }
        else if (document.body)
        {
                x = document.body.clientWidth;
        }
        return x;
}

function GetHeight()
{
        var y = 0;
        if (self.innerHeight)
        {
                y = self.innerHeight;
        }
        else if (document.documentElement && document.documentElement.clientHeight)
        {
                y = document.documentElement.clientHeight;
        }
        else if (document.body)
        {
                y = document.body.clientHeight;
        }
        return y;
}


function checkEnter(e){ //e is event object passed from function invocation
        var characterCode; //literal character code will be stored in this variable

        if(e && e.which){ //if which property of event object is supported (NN4)
                e = e;
                characterCode = e.which; //character code is contained in NN4's which property
        }
        else{
                e = event;
                characterCode = e.keyCode; //character code is contained in IE's keyCode property
        }

        if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
                //document.forms[0].submit(); //submit the form
                return true;
        }
        else{
                return false;
        }

}

function _(v) {

	return document.getElementById(v);

}

function alertJQ ( title, body, w, h, closeRefresh, noBreaks ) {

  var append = '<a href="javascript:void(null);" onclick="location.reload()"> Refresh Page? </a>';
  append = '';

  if ( body == null ) { body = title; title = 'Alert'; append = '';}

  if ( !noBreaks ) {
    body = body.replace(/\n/g,'<br />');
  }

  //$.ui.dialog.defaults.bgiframe = true;

  var style = "";

  var options = {modal:true};

  if ( w != null && h != null ) {

    options = { 
      height: h, width: w, modal:true, 
      close: function ( e, ui ) {
        if (closeRefresh == true ) {
          location.reload();
        } else {
          $(this).dialog('destroy').remove(); 
        }
      }
    };

    append = '';

  } else if ( closeRefresh == true ) {

    options = {
      modal:true,
      close: function ( e, ui ) {
        location.reload();
      }
    };
    append = '';

  }

  var alertTxt = '<div id="dialog" title="'+title+'"><p style="'+style+'" id="dialog_content">'+body+'</p>'+append+'</div>';

  $('#ALERT').html(alertTxt);

  $('#dialog').dialog(options);

  $(window).scroll(function () {
          $('#dialog').dialog('option', 'position', ['center','center']);
          });

}

