// Constant Settings

var MAP_WIDTH_DEFAULT = 325;
var MAP_WIDTH_SMALL = 325;

var MAP_WINDOW_WIDTH_ADDITION = 220;
var MAP_WINDOW_HEIGHT_ADDITION = 230;

var ie = false;
var ns4 = false;
var ns6 = false;

if (document.all)
  ie = true;
else if (document.layers)
  ns4 = true;
else if(document.getElementById)
  ns6 = true;
  
/////////////////////////////////////////////////////////////////////////////////////////////////
// Common functions

function setPointer(s)
{
  document.body.style.cursor = s; // set mouse pointer
}

function getelement(id)
{
  el = document.all ? document.all[id] : document.getElementById(id);
  return el;
}

function GetURLParam(ParamName) 
{
  var sURL = window.document.URL.toString();
  var sResult = "";
  var iStart = 0;
  var iEnd = 0;

  if ( (iStart = sURL.indexOf(ParamName + "=")) > 0 )
  {
    iStart += ParamName.length + 1;
    if( (iEnd = sURL.indexOf("&", iStart)) > 0 )
      sResult = sURL.substring(iStart, iEnd);
    else
      sResult = sURL.substring(iStart);
  }

  return sResult;
}

function showhide(id, show) 
{
  el = getelement(id);
  if( (el == null) || (el.style == null) )
    return;

  if( el )
  {
    if (show)
      el.style.display = 'block';
    else 
      el.style.display = 'none'; 
  }
}

function altshowhide(id) 
{
  el = getelement(id);
  if( (el == null) || (el.style == null) )
    return;
  
  if( el )
  {
    if ( (el.style.display == 'block') || (el.style.display == 'visible') )
      el.style.display = 'none';
    else 
      el.style.display = 'block'; 
  }
}

function Open(page, name, width, height)
{
  var winl;
  var wint;

  if(width < screen.width)
    winl = (screen.width - width) / 2;
  else
    winl = 10;

  if(width < screen.height)
    wint = (screen.height - height) / 2;
  else
    wint = 10;

  OpenWin = this.open(page, name, 'width=' + width + ',height=' + height + ',top=' + wint + ',left=' + winl +
                      ',toolbar=no,menubar=no,location=no,status=yes,scrollbars=yes,resizable=yes');
}

function OpenHelp(page)
{
  OpenWin = this.open(page, 'Help', 'toolbar=yes,menubar=yes,status=yes,scrollbars=yes,resizable=yes');
}

function OpenFixed(page, name, width, height)
{
  var winl;
  var wint;

  if(width < screen.width)
    winl = (screen.width - width) / 2;
  else
    winl = 10;

  if(width < screen.height)
    wint = (screen.height - height) / 2;
  else
    wint = 10;

  OpenWin = this.open(page, name, 'width=' + width + ',height=' + height + ',top=' + wint + ',left=' + winl +
                      ',toolbar=no,menubar=no,location=no,status=no,scrollbars=no,resizable=no');
}

function OpenReport(page, name)
{
  OpenWin = this.open(page, name, 'toolbar=yes,menubar=yes,location=no,status=yes,scrollbars=yes,resizable=yes');
}

function GetSelectedValue(selectbox)
{
  if( !selectbox || (selectbox.selectedIndex == -1) )
    return null;
  
  return selectbox.options[selectbox.selectedIndex].value;
}

function GetSelectedText(selectbox)
{
  if( !selectbox || (selectbox.selectedIndex == -1) )
    return null;
  
  return selectbox.options[selectbox.selectedIndex].text;
}

function GetCheckedValue(checkbox)
{
  if( !checkbox )
    return null;
    
  for (i = 0; i < checkbox.length; i++)
  {
    if(checkbox[i].checked)
    {
      return checkbox[i].value;
    }
  }
  return null;
}

function setChoice(radio, value)
{
  var bSelectionMade = false;
  
  if( !radio )
    return false;

  for (i = 0; i < radio.length; i++)
  {
    if (radio[i].value == value)
    {
      radio[i].checked = true;
      bSelectionMade = true;
    }
  }

  return bSelectionMade;
}

function SetSelectedValue(selectbox, value)
{
  if( !selectbox )
    return false;
    
  for(i = 0; i < selectbox.options.length; i++)
  {
    if(selectbox.options[i].value == value)
    {
      selectbox.options[i].selected = true;
      return true;
    }
  }
  return false;
}

function SetSelectionName(selectbox, value, name)
{
  if( !selectbox || !name.length )
    return false;
    
  for(i = 0; i < selectbox.options.length; i++)
  {
    if(selectbox.options[i].value == value)
    {
      selectbox.options[i].text = name;
      return true;
    }
  }
  return false;
}

function RemoveSelection(selectbox, value)
{
  if( !selectbox )
    return false;
    
  for(i = 0; i < selectbox.options.length; i++)
  {
    if(selectbox.options[i].value == value)
    {
      selectbox.options[i] = null;
      return true;
    }
  }
  return false;
}

function SetCheckedValue(checkbox, value)
{
  if( !checkbox )
    return false;
    
  for (i = 0; i < checkbox.length; i++)
  {
    if(checkbox[i].value == value)
    {
      checkbox[i].checked = true;
      return true;
    }
  }
  return false;
}

function OnlyNumbers(textbox)
{
  var accept = "1234567890";
  
  if( textbox.value.match(/[^0-9]/gi) )
  {
    textbox.value = textbox.value.replace(/[^0-9]/gi, '');
    alert('Please only enter numbers.');
    return false;
  }
}

function IsValid(name)
{ 
  var str = name;
  var valid="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_ "
  
  if(name.length == 0)
    return -1;

  for (var i=0; i < str.length; i++)
  {
    if ( valid.indexOf(name.charAt(i)) < 0 ) 
      return -2;
  }

  return 1;
}

function IsValidNumber(name)
{ 
  if ( text.match(/[^0-9]/gi) ) 
    return false;

  return true;
}

function isDefined(param) 
{
  if (param) 
    return true;
  else 
  {
    if ( param == false)
      return true
    else
      return false
  }
}

function ChangeClass(element, newclass)
{
  if (element == null)
    return;

  element.className = newclass;  
}

function SelectDivLink(s)
{
  var div = getelement(s + 'Div');
  var link = getelement(s + 'Link');
 
  if( div )
    div.style.display = 'block';
  if( link ) {
    ChangeClass(link,'SecMenuItemSel');
    if (s=='Vehicle') {
      img[0].src=imgx[2].src;
      img[1].src=imgx[3].src;
      img[2].src=imgx[4].src;
      img[3].src=imgx[5].src;
     }
    if (s=='Report') {
      img[0].src=imgx[0].src;
      img[1].src=imgx[1].src;
      img[2].src=imgx[6].src;
      img[3].src=imgx[7].src;
    }
    document.m1.src=img[0].src;
    document.m2.src=img[2].src;
  }
}

function UnselectDivLink(s)
{
  var div = getelement(s + 'Div');
  var link = getelement(s + 'Link');
  
  if( div )
    div.style.display = 'none';
  if( link ) {
    ChangeClass(link,'SecMenuItem');
  }
}

function AdminSelectDivLink(s)
{
  var div = getelement(s + 'Div');
  var link = getelement(s + 'Link');
 
  if( div )
    div.style.display = 'block';
  if( link )
    ChangeClass(link,'AdminMenuItemSel');
}

function AdminUnselectDivLink(s)
{
  var div = getelement(s + 'Div');
  var link = getelement(s + 'Link');
  
  if( div )
    div.style.display = 'none';
  if( link )
    ChangeClass(link,'AdminMenuItem');
}

function ShowSecMenu(s)
{
  var div = getelement(s);
  
  if(div)
    div.style.display = 'block';
}

function HideSecMenu(s)
{
  var div = getelement(s);
  
  if(div)
    div.style.display = 'none';
}

function ReplaceValue(Incoming, StartTag, EndTag, ReplaceString) 
{
  var iStart, iEnd;
  var Temp;

  Temp = Incoming;

  iStart = Temp.indexOf(StartTag)
  if( iStart != -1 )
  {
    iStart += StartTag.length;
    if( EndTag.length > 0 )
    {
      iEnd = Temp.indexOf(EndTag, iStart)
      if( iEnd != -1 )
      {
        Incoming = Temp.substring(0, iStart);
        Incoming += ReplaceString;
        Incoming += Temp.substring(iEnd, Temp.length);
      }
    }
    else  // if EndTag empty, replace rest of string
    {
      Incoming = Temp.substring(0, iStart);
      Incoming += ReplaceString;
    }
  }

  return Incoming;
}


function WriteFooter()
{
  document.write(COMN_FOOTER);
}
