String.prototype.beginsWith = function(string) {return (this.indexOf(string) == 0);};
String.prototype.endsWith = function(string) {return ((this.length > 0) && ((this.lastIndexOf(string) + string.length) == this.length));};
String.prototype.trim = function() {return this.replace(/^\s+|\s+$/g, "");};

// import GUI components
$import("/public/masterplan/resources/scripts/UI.js");

var BASE_URI;

window.onload = function()
{
// BASE_URI = document.getElementsByTagName("base")[0].href;
 BASE_URI = "/public/masterplan/resources/";

 

 if(document.getElementById("search-form") != null)
 {
  var searchForm = new UI.Form("search-form");
      searchForm.addEventHandler("onsubmit", searchHandler);
 }

 ImageViewer.load("thumbnail");
 ImageViewer.addEventHandler("onclick", thumbnailHandler);

 var anchors = document.getElementsByTagName("a"); 
 for(var i = 0; i < anchors.length; i++)
 {
  if(anchors[i].getAttribute("href") &&
    (anchors[i].getAttribute("rel") == "external" || anchors[i].getAttribute("rel") == "map")) 
   anchors[i].target = "_blank";
 }
 setPageTitle();
}

function setPageTitle()
{
	/*
	 *
	 * NOTE: title format is:
	 *	 @website: @section (@page)
	 *
	 */

 var title = new String(document.title);
 if(title != null)
 {
  var titleFragments = title.split(":");
  var website = titleFragments[0].trim();
  var subTitleFragments = titleFragments[1].split(" ");

  var section = "";
  var page = "";

  var bFlag = false;
  for(var i = 0; i < subTitleFragments.length; i++)
  {
   var subTitleFragment = subTitleFragments[i];
   if(subTitleFragment.length > 0)
   {
    if(subTitleFragment.beginsWith("("))
     bFlag = true;

    if(!bFlag)
     section += (subTitleFragment + " ");
    else
    {
     page += (subTitleFragment + " ");

     if(subTitleFragment.endsWith(")"))
      bFlag = false;
    }
   }
  }

  section = section.trim();
  page = page.trim();

  document.getElementById("title").innerHTML = section;
 }
}

function getLastModified()
{
 var date = new Date(document.lastModified);

 var month = date.getMonth() + 1;
 if(month < 10)
  month = "0" + month;

 var day = date.getDate();
 if(day < 10)
  day = "0" + day;

 var year = date.getFullYear();

 return (year + "-" + month + "-" + day);
}

function linkImage(image)
{
 window.open(BASE_URI + "scripts/viewer.htm?image=" + image, "", "left=0,top=0"); 
}

function searchHandler(source, event)
{
 var searchCriteria = source.getElement("search-field");
 if(searchCriteria.getValue() != "")
 {
  var col     = "col=atlarc";
  var qc      = "qc=atlarc";
  var style   = "style=atlarc";
  var charset = "charset=iso-8859-1";

  var qt="qt=url%3Ahttp%3A%2F%2Fgis-www.larc.nasa.gov%2Fmasterplan+%7C%7C+" + searchCriteria.getValue();

  var searchUrl = source.getComponent().action + "?" + qt + "&" + charset + "&" + col + "&" + qc + "&" + style;

  source.getComponent().action = searchUrl;

  return true;
 }
 else
  return false;
}

function thumbnailHandler(source, event)
{
 var thumbnail = source.src;

	/*
	 *
	 * NOTE: comment out if images are sized with precentages.
	 *
	 */
 var image = thumbnail.replace(/images/, "graphics");

 /***** BEGIN Fix (IE) *****/
 image  = image.replace(/%20/g, " ");
 /***** END Fix (IE) *****/

 /***** BEGIN Fix (IE) *****/
 if(Browser.isIE())
  window.open(BASE_URI + "scripts/viewer.html?image=" + image, "", "left=0,top=0");
 else
  window.open(BASE_URI + "scripts/viewer.html?image=" + image, "", "left=0,top=0,scrollbars=yes");
 /***** END Fix (IE) *****/
}

function $import(script)
{
 document.write("<script type=\"text/javascript\" src=\"" + script + "\"></script>");
}
