/*   Copyright (C) 2004 Map Bureau - http://www.mapbureau.com  */



if (typeof(pm_includeZoomify)=="undefined") pm_includeZoomify = false;



if (typeof(pm_color) == "undefined") pm_color = "FFFFFF";




var fratts = "style=\"background-color:#"+pm_color;


if (typeof(pm_style) == "undefined")
   fratts += "\" ";
else
   fratts += (";"+pm_style+"\" ");


if (typeof(pm_class) != "undefined")
   fratts += ("class=\""+pm_class+"\" ");



var helper_file = "pm_helper.html";
if (pm_includeZoomify) helper_file =  "pm_zhelper.html";

var helper = "/pointmapper/1.8/"+helper_file;

if (typeof(pm_location) != "undefined")
   helper = pm_location + "/"+helper_file;

var myloc = document.location;

var iclass = 0;
if (iclass) fratts = fratts + "class=\""+iclass+"\" ";

function testalert(){alert(fratts);}

var pm_queue = new Array();



function pm_push(q,cmd)
{
   var ln = q.length;
   q[ln] = cmd;
}

function pm_add_command0(nm)
{
  var cmd = new Array(nm);
  pm_push(pm_queue,cmd);
}

function pm_add_command1(nm,a0)
{
  var cmd = new Array(nm,a0);
  pm_push(pm_queue,cmd);
}


function pm_add_command2(nm,a0,a1)
{
  var cmd = new Array(nm,a0,a1);
  pm_push(pm_queue,cmd);
}


function pm_add_command3(nm,a0,a1,a2)
{
  var cmd = new Array(nm,a0,a1,a2);
  pm_push(pm_queue,cmd);
}


function pm_add_command4(nm,a0,a1,a2,a4)
{
  var cmd = new Array(nm,a0,a1,a2,a4);
  pm_push(pm_queue,cmd);
}


pm_loaded = false;
function pm_exec_command(cmd)
{
  var ln = cmd.length;
  var fn = eval(cmd[0]);
  if (ln == 1) fn(); else
  if (ln == 2) fn(cmd[1]); else
  if (ln == 3) fn(cmd[1],cmd[2]);
  if (ln == 4) fn(cmd[1],cmd[2],cmd[3]);
  if (ln == 5) fn(cmd[1],cmd[2],cmd[3],cmd[4]);
}

function pm_iframe_has_loaded()
{
  pm_loaded = true;
  var ln = pm_queue.length;
  for (i=0;i<ln;i++) pm_exec_command(pm_queue[i]);
}

  


var pm_iframe_var;




function pm_loadMap(m0)
{
  if (pm_loaded)
     pm_iframe.pm_loadMap(m0);
  else 
     pm_add_command1("pm_loadMap",m0);
}

function pm_loadJpg(m0)
{
  if (pm_loaded)
     pm_iframe.pm_loadJpg(m0);
  else 
     pm_add_command1("pm_loadJpg",m0);
}



function pm_loadPoints(m)
{
  if (pm_loaded)
	
     pm_iframe.pm_loadPoints(m);
  else 
     pm_add_command1("pm_loadPoints",m);    
}



function pm_loadPointsHidden(m)
{
  if (pm_loaded)
	
     pm_iframe.pm_loadPointsHidden(m);
  else 
     pm_add_command1("pm_loadPointsHidden",m);    
}

function pm_showPoints(lw,hg)
{
  if (pm_loaded)
	
     pm_iframe.pm_showPoints(lw,hg);
  else 
     pm_add_command2("pm_showPoints",lw,hg);    
}


function pm_showAllPoints()
{
  if (pm_loaded)
	
     pm_iframe.pm_showPoints(1,0);
  else 
     pm_add_command2("pm_showPoints",1,0);    
}


function pm_setPoints(pnts)
{
  if (pm_loaded)
     pm_iframe.pm_setPoints(pnts);
  else 
     pm_add_command1("pm_setPoints",pnts);    
}


function pm_highlight(nm)
{
  if (pm_loaded)
     pm_iframe.pm_highlight(nm);
  else 
     pm_add_command1("pm_highlight",nm);    
}



function pm_callcomm(st)
{
  alert("cc");
  if (pm_loaded)
     pm_iframe.pm_callcomm(st);
  else 
     pm_add_command1("pm_callcomm",st);    
}


function pm_mhighlight(ids)
{
  if (pm_loaded)
     pm_iframe.pm_mhighlight(ids);
  else 
     pm_add_command1("pm_mhighlight",ids);    
}

function pm_unhighlight(ids)
{
  var ea = new Array();
  if (pm_loaded)
     pm_iframe.pm_mhighlight(ea);
  else 
     pm_add_command1("pm_mhighlight",ea);    
}


var pm_winprops = "width=650,height=500,scrollbars=1,resizable=1,toolbars=1";

function pm_popwin1() {
	pm_poppedwin.focus();
}

function pm_popwin(url)
{
	 pm_poppedwin = window.open(url,"pm_poppedwin",pm_winprops);
     setTimeout('pm_popwin1()',100);
}


function instructions(){pm_popwin("instructions.html")}




function pm_hideIndicator()
{
  if (pm_loaded)
     pm_iframe.pm_hideIndicator();
  else
     pm_add_command0("pm_hideIndicator",nm);    
}





var pm_selectionCB = 0;
var pm_locatorCB = 0;
var pm_tileSelectionCB = 0;
var pm_panCB = 0;
var pm_lodOutCB = 0;
var pm_mapLoadedCB = 0;




function pm_setMapLoadedCallback(nm)
{
  pm_mapLoadedCB = nm;
}

function pm_lodOut()
{
  if (typeof(pm_lodOutCB ) == "function")
     pm_lodOutCB();
}

function pm_setLodOutCallback(nm)
{
  pm_lodOutCB = nm;
}




function pm_mapLoaded(nm)
{
  var spl = nm.split(",");
  var rs = new Object();
  rs . minlong  = Number(spl[0]);
  rs . maxlong  = Number(spl[1]);
  rs . minlat  = Number(spl[2]);
  rs . maxlat  = Number(spl[3]);
  if (typeof(pm_mapLoadedCB ) == "function")
     pm_mapLoadedCB(rs);
}

function pm_pointSelected(nm)
{
  if (typeof(pm_selectionCB ) == "function")
     pm_selectionCB(nm);
}

function pm_setSelectionCallback(nm)
{
  pm_selectionCB = nm;
}




function pm_setTileSelectionCallback(nm)
{
  pm_tileSelectionCB = nm;
}

function pm_tileSelected(nm)
{
  var spl = nm.split(",");
  if (typeof(pm_tileSelectionCB ) == "function")
     pm_tileSelectionCB(spl[0],spl[1]);
}


function pm_showTileIndicator(x,y)
{
  if (pm_loaded)
     pm_iframe.pm_showTileIndicator(x,y);
  else 
     pm_add_command2("pm_showTileIndicator",x,y);    
}


function pm_hideTileIndicator()
{
  if (pm_loaded)
     pm_iframe.pm_hideTileIndicataor();
  else 
     pm_add_command0("pm_hideTileIndicator");    
}





function pm_hidePanButtons()
{
  if (pm_loaded)
     pm_iframe.pm_hidePanButtons();
  else 
     pm_add_command0("pm_hidePanButtons");    
}






function pm_showPanButtons()
{
  if (pm_loaded)
     pm_iframe.pm_showPanButtons();
  else 
     pm_add_command0("pm_showPanButtons");    
}
function pm_pan(nm)
{
  if (typeof(pm_panCB ) == "function")
     pm_panCB(nm);
}


function pm_setPanCallback(nm)
{
  pm_panCB = nm;
}



function pm_setLocatorCallback(nm)
{
  pm_locatorCB = nm;
}


function pm_setMapperReadyCallback(nm)
{
  pm_mapperReadyCB = nm;
}



function pm_mapperReady()
{
   if (typeof(pm_mapperReadyCB) == "function") pm_mapperReadyCB();
}





function pm_setXY(x,y)
{
  if (pm_loaded)
     pm_iframe.pm_setXY(x,y);
  else
     pm_add_command2("pm_setXY",x,y);    
}


function pm_zload(x)
{
  if (pm_loaded)
     pm_iframe.pm_zload(x);
  else
     pm_add_command1("pm_zload",x);    
}



function pm_zzoom(x)
{
  if (pm_loaded)
     pm_iframe.pm_zzoom(x);
  else
     pm_add_command1("pm_zzoom",x);    
}



function pm_showImageLayer(nm)
{
  if (pm_loaded)
     pm_iframe.pm_showImageLayer(nm);
  else
     pm_add_command1("pm_showImageLayer",nm);    
}



function pm_hideImageLayer(nm)
{
  if (pm_loaded)
     pm_iframe.pm_hideImageLayer(nm);
  else
     pm_add_command1("pm_hideImageLayer",nm);    
}



function pm_setLatLong(x,y)
{
  if (pm_loaded)
     pm_iframe.pm_setLatLong(x,y);
  else
     pm_add_command2("pm_setLatLong",x,y);    
}


function pm_panLatLong(x,y)
{
  if (pm_loaded)
     pm_iframe.pm_panLatLong(x,y);
  else
     pm_add_command2("pm_panLatLong",x,y);    
}



function pm_setZoom(z)
{
  if (pm_loaded)
     pm_iframe.pm_setZoom(z);
  else
     pm_add_command2("pm_setZoom",z);    
}




function pm_zoomLatLong(ltmin,ltmax,lnmin,lnmax)

{
  if (pm_loaded)
     pm_iframe.pm_zoomLatLong(ltmin,ltmax,lnmin,lnmax);
  else
     pm_add_command4("pm_zoomLatLong",ltmin,ltmax,lnmin,lnmax);  
}




function pm_zoomXY(xmin,xmax,ymin,ymax)

{
  if (pm_loaded)
     pm_iframe.pm_zoomXY(xmin,xmax,ymin,ymax);
  else
     pm_add_command4("pm_zoomXY",xmin,xmax,ymin,ymax);  
}



function pm_setPosition(idnt,xp,yp)

{
  if (pm_loaded)
     pm_iframe.pm_setPosition(idnt,xp,yp);
  else
     pm_add_command3("pm_setPosition",idnt,xp,yp);  
}



function pm_reportlocation(x)
{ 
  var prj;
  var spl = x.split(",");

  if (typeof(pm_locatorCB ) == "function")
     pm_locatorCB(spl[0],spl[1],spl[2]);
  else
    {
	if (spl[0] == "latitude_longitude") prj = "Latitude,Longitude: ";
	else prj = "X,Y: ";
     alert(prj + spl[1] + "," + spl[2]);
	 }
}



var towrite = '<iframe id="pm_iframe" name="pm_iframe" src="'+helper+'\" '+fratts + '  scrolling=no frameborder=0 marginwidth=0 marginheight=0 >ZZZ</iframe>';

document.writeln(towrite);


