﻿// JScript File

var mapArray;
var mapArrayCounter = 0;
var layerWidth = 0;
var layerHeight = 0;


function SetLayerSize(width, height)
{
    layerWidth  = width;
    layerHeight = height;
}



function RegisterLayer(linkId, layerId)
{
    mapArray[mapArrayCounter]            = new Object();
    mapArray[mapArrayCounter]["LinkId"]  = linkId;
    mapArray[mapArrayCounter]["LayerId"] = layerId;
    
    mapArrayCounter++;
}

function FindLayer(linkId)
{
    for (var i = 0; i < mapArray.length; i++)
    {
        if (mapArray[i]["LinkId"] == linkId)
        {
            return mapArray[i]["LayerId"];
        }
    }
}

function HideAll()
{
    for (var i = 0; i < mapArray.length; i++)
    {
        var obj1 = MM_findObj(mapArray[i]["LayerId"]);
        if (obj1 != null)
        {
            MM_showHideLayers(obj1.id, '', 'hide');
        }
    }
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_setTextOfTextfield(objName,x,newText) { //v3.0
  var obj = MM_findObj(objName); if (obj) obj.value = newText;
}
        
function handleOnClick(evt) 
{
    
    var srcElementId;
	if (!evt)
	{
	
	    srcElementId = window.event.srcElement.id;
	}
	else
	{
	    srcElementId = evt.target.id;
	}
	var elementId = FindLayer(srcElementId);
    var obj;
    if (elementId != null)
    {
        obj = MM_findObj(elementId);
    }
    if (obj != null)
    {
                    
        ShowLayer(srcElementId, obj, evt);
    
    }
    else
    {
        HideAll();
    }
    
}

function ShowLayer(srcElementId, layer, evt)
{
    var y;
    var x; 
    
    
    
    if (!evt)
    {
        y = getTop(document.getElementById(srcElementId));
        x = getLeft(document.getElementById(srcElementId));
    }
    else
    {
        y = document.getElementById(srcElementId).offsetTop;
        x = document.getElementById(srcElementId).offsetLeft;
    }
    
    
    if (layerHeight > 0)
    {
        y = y - layerHeight - 5;
    }
    
    if (y < 0)
        y = 0;
    
    
    if (layerWidth > 0)
    {
        x = x - layerWidth - 5;
    }
    
    if (x < 0)
        x = 0;
           
    
    layer.style.posLeft = x;
    layer.style.posTop  = y;

    
    if (layer.style.visibility == 'visible' || layer.style.visibility == 'show')
    {
        MM_showHideLayers(layer.id, '', 'hide');
        
    }
    else
    {
        HideAll();
        MM_showHideLayers(layer.id, '', 'show');
    }
}


function getLeft(l)
{
  if (l.offsetParent) return (l.offsetLeft + getLeft(l.offsetParent));
  else return (l.offsetLeft);
}
function getTop(l)
{
  if (l.offsetParent) return (l.offsetTop + getTop(l.offsetParent));
  else return (l.offsetTop);
}


function handleOnMouseOver(evt)
{
	var srcElementId;
	if (!evt)
	{
	
	    srcElementId = window.event.srcElement.id;
	}
	else
	{
	    srcElementId = evt.target.id;
	}
	var elementId = FindLayer(srcElementId);
      
    var obj;
    if (elementId != null)
    {
        obj = MM_findObj(elementId);
    }
    if (obj != null)
    {                    
        ShowLayer(srcElementId, obj, evt);
    }
}

function handleOnMouseOut(evt)
{
	HideAll();	
}