/*
* Script: cmn.js
* Author: UMG
* Descrpition: Common utilities script.
*/

// local variables
var pIsIE  = (navigator.appVersion.indexOf("MSIE")>=0);
var pIsNS  = (navigator.appName.indexOf("Netscape")>=0);
var pIsWin = (navigator.userAgent.indexOf("Win")>=0)
var pDomainPfx = ""; //pDomainPfx = "http://www.geographynetwork.com";

// execute a command
function cmnCmd(sCmd) {
  if ((sCmd != "viewmetadata") && window.opener && !window.opener.closed && window.opener.cmnCmd) {
    window.opener.cmnCmd(sCmd);
  } else {
    if (sCmd.toLowerCase().indexOf("help") == -1) {
      var oFrm = document.forms.fSubmit;
      if (oFrm && oFrm.command) {
        self.focus(); oFrm.command.value = sCmd; oFrm.target = ""; oFrm.submit();
      }
    } else {
      var s  = "/gos?command="+sCmd;
      var s2 = "left=10,top=10,width=770,height=450";
      s2 += ",toolbar=0,location=0,directories=0,status=0,resizable=yes,scrollbars=yes";
      var winHelp = window.open(s,"GOS_Help",s2);
      winHelp.focus();
    }
  }
}

// get search area for viewer
function cmnGetSearchArea() {
  var winMap;
  var sName = "GOSArcExplorerWeb";
  var sInfo = "toolbar=no,width=800,height=564";
  if (pIsWin)
    sInfo = "toolbar=no,width=800,height=564,left=5,top=5";
  else if (!pIsWin && pIsNS)
    sInfo = "toolbar=no,width=800,height=564,screenX=5,screenY=5";
  else if (!pIsWin && pIsIE)
    sInfo = "toolbar=no,width=784,height=548,left=5,top=5";
  winMap = window.open('',sName,sInfo);
  if (!winMap.closed && winMap.Map && winMap.Map.setMapExtentStatus) {
    winMap.opener = self;
    winMap.Map.setMapExtentStatus(true);
  } else {
    winMap.close(); alert("geodata.gov\n\nThe Map Viewer is not currently open.");
  }
}

// close viewer
function cmnCloseViewer() {
  var winMap;
  var sName = "GOSArcExplorerWeb";
  var sInfo = "toolbar=no,width=800,height=564";
  if (pIsWin)
    sInfo = "toolbar=no,width=800,height=564,left=5,top=5";
  else if (!pIsWin && pIsNS)
    sInfo = "toolbar=no,width=800,height=564,screenX=5,screenY=5";
  else if (!pIsWin && pIsIE)
    sInfo = "toolbar=no,width=784,height=548,left=5,top=5";
  winMap = window.open('',sName,sInfo);
  if (!winMap.closed) {
    winMap.close();
  }
}

// view details
function cmnViewDetails(sUuid) {
  var oFrm = document.forms.fSubmit;
  if (oFrm && oFrm.command && oFrm.uuid) {
    oFrm.command.value = "viewdetails"; oFrm.uuid.value = sUuid;
    oFrm.submit();
  }
}


function hideOver(){
	window.status = "View Map";
}

function hideOut(){
	window.status = "Done";
}

// view a map
function cmnViewMap(sServer,sService,isWMS,isDefault,minx,miny,maxx,maxy) {
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 8;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	var urlToken = "http://www3.mygeoportal.gov.my/setcustomer.cfm?token=";
	urlToken = urlToken + randomstring;
	nameToken = "token";
	infoToken = "toolbar=no,location=no,status=no,menubar=no,width=10,height=10";
	winToken = window.open(urlToken,nameToken,infoToken);
  var winMap;
  var sName = "GOSArcExplorerWeb";
  var sInfo = "toolbar=no,location=no,status=no,menubar=no,width=800,height=564";
  var sExtent = "";
  //if (sServer) {if (sServer.indexOf("?") > 0) sServer = escape(sServer);}

  if (minx && miny && maxx && maxy)
    sExtent = "&minx="+minx+"&miny="+miny+"&maxx="+maxx+"&maxy="+maxy;

  //sServer = "http://www.geographynetwork.com/servlet/com.esri.wms.Esrimap";
  //sService = "ESRI_World";
  //isWMS = true;

  if (pIsWin)
    sInfo = "toolbar=no,location=no,status=no,menubar=no,resizable=0,width=800,height=564,left=5,top=5";
  else if (!pIsWin && pIsNS)
    sInfo = "toolbar=no,location=no,status=no,menubar=no,sizebar=yes,resizable=0,width=800,height=564,screenX=5,screenY=5";
  else if (!pIsWin && pIsIE)
    sInfo = "toolbar=no,location=no,status=no,menubar=no,sizebar=yes,resizable=0,width=784,height=548,left=5,top=5";
  winMap = window.open('',sName,sInfo);

  if (!winMap.closed && winMap.Map) {
    winMap.focus();
    winMap.opener = self;
    if (sServer && !isDefault) {
      if (isWMS)
        winMap.Map.addWMSServiceRemote(sServer,sExtent);
      else
        winMap.Map.addServiceRemote(sServer,sService,sExtent);
    }

  } else {
    //var sUrl = pDomainPfx+"/arcexplorer/arcexplorer.html";
var sUrl = "http://mygdi.mygeoportal.gov.my/arcexplorer/arcexplorer.html";

    if (sServer) {
      sServer = escape(sServer);
      if (isWMS) sUrl += "?wmsserver="+sServer;
      else sUrl += "?server="+sServer+"&service="+sService;
      if (sExtent.length > 0) sUrl += sExtent;
    }
	sUrl +="&token="+randomstring;
    if (!pIsWin && pIsNS) {
      winMap = window.open(sUrl,sName,sInfo);
      winMap.location = sUrl;
    } else {
      if (!pIsWin && pIsIE && sServer) sUrl += "&addremote=true";
      //winMap = window.open(sUrl,sName,sInfo);
       winMap.location = sUrl;		
    }
  }
}