function isSafari() {
  if (navigator.appName.indexOf("Safari") >= 0) {
    return true;
  }
  else {
    return false;
  }
}


function isOpera() {
  if (navigator.appName.indexOf("Opera") >= 0) {
    return true;
  }
  else {
    return false;
  }
}


function isFirefox() {
  if (navigator.appName.indexOf("Netscape") >= 0) {  // aka Mozilla Firefox
    return true;
  }
  else {
    return false;
  }
}


function isExplorer() {
  if (navigator.appName.indexOf("Microsoft") >= 0) {
    return true;
  }
  else {
    return false;
  }
}


function getExplorerDate(date) {

  var MONTHS = ['January'
               ,'February'
               ,'March'
               ,'April'
               ,'May'
               ,'June'
               ,'July'
               ,'August'
               ,'September'
               ,'October'
               ,'November'
               ,'December'];

  var dateElements = date.split("/");

  var mm = dateElements[0];
  var dd = dateElements[1];
  var yyyy = dateElements[2].substring(0, 4);

  var day = (dd < 10) ? dd.substring(1, 2) : dd;
  var index = (mm < 10) ? mm.substring(1, 2) : mm;
  var month = MONTHS[index - 1];

  var formattedDate = day + ' ' + month + ' ' + yyyy;

  return formattedDate;

}


function getFirefoxDate(date) {

  var MONTHS = ['January'
               ,'February'
               ,'March'
               ,'April'
               ,'May'
               ,'June'
               ,'July'
               ,'August'
               ,'September'
               ,'October'
               ,'November'
               ,'December'];

  var dateElements = date.split("/");

  var mm = dateElements[0];
  var dd = dateElements[1];
  var yyyy = dateElements[2].substring(0, 4);

  var day = (dd < 10) ? dd.substring(1, 2) : dd;
  var index = (mm < 10) ? mm.substring(1, 2) : mm;
  var month = MONTHS[index - 1];

  var formattedDate = day + ' ' + month + ' ' + yyyy;

  return formattedDate;

}


function getOperaDate(date) {

  var AMONTHS = new Array();  // Associative array
  AMONTHS['Jan'] = 'January';
  AMONTHS['Feb'] = 'February';
  AMONTHS['Mar'] = 'March';
  AMONTHS['Apr'] = 'April';
  AMONTHS['May'] = 'May';
  AMONTHS['Jun'] = 'June';
  AMONTHS['Jul'] = 'July';
  AMONTHS['Aug'] = 'August';
  AMONTHS['Sep'] = 'September';
  AMONTHS['Oct'] = 'October';
  AMONTHS['Nov'] = 'November';
  AMONTHS['Dec'] = 'December';

  var dateElements = date.split(" ");

  var dd = dateElements[1];
  var mon = dateElements[2];
  var yyyy = dateElements[3];

  var day = (dd < 10) ? dd.substring(1, 2) : dd;
  var month = AMONTHS[mon];

  var formattedDate = day + ' ' + month + ' ' + yyyy;

  return formattedDate;

}


function getLastModifiedDate() {

  if (isExplorer()) {
    return getExplorerDate(document.lastModified);
  }
  else if (isFirefox()) {
    return getFirefoxDate(document.lastModified);
  }
  else if (isOpera()) {
    return getOperaDate(document.lastModified);
  }
  else if (isSafari()) {
    return document.lastModified;
  }
  else {
    return document.lastModified;
  }
  
}


function popUpLandscapeImage(title, imgSrc) {
  var imagePage = getImagePage(title, imgSrc);
  return popUpWindow(imagePage, '', 660, 550, 0, 0);
}


function popUpPortraitImage(title, imgSrc) {
  var imagePage = getImagePage(title, imgSrc);
  return popUpWindow(imagePage, '', 500, 700, 0, 0);
}


function popUpWindow(page, name, width, height, top, left) {
  var params = 'width=' + width + ',height=' + height + ',top=' + top + ',left=' + left + ',screenX=' + top + ',screenY=' + left + ',directories=no,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no';
  var popUp = window.open('', name, params);
  popUp.document.open('text/html', 'replace');
  popUp.document.write(page);
  popUp.document.close();  // flush
}

function getImagePage(title, imgSrc) {
  return '<html><head><title>' + title + '</title><script type="text/javascript"></script></head><body><img src="' + imgSrc + '"/><hr/><center><a href="javascript:window.close()">Click to close</a></center></body></html>';
}

