﻿// JScript File
//Denis
var MainHttp = "/TheMountOfOlives/";

//var MainHttp = "../";
//function setHostname(hostname)
//{    
//    MainHttp = "http://" + hostname + "/Elad/";    
//}

function SetDocDir(lang)
{
    document.body.dir = (lang.toUpperCase() == 'HEB') ? "rtl" : "ltr";
}
//must be checked
//used only in dynamic forms 
function GetIFrame(sFrm)
{
   for(var j=0;j<top.frames.length;j++)
   {
      if(top.frames.item(j).name == sFrm)
        return top.frames.item(j);
   }
   return null;
}

function GetSearchFrame()
{
  var MainWindow = GetMainWindow();
  if(MainWindow)
  var oFrame = MainWindow.frames("Search");
  
  if(oFrame) 
    return oFrame;
  else
    return null;
}

function GetMapFrame()
{
    var MainWindow = GetMainWindow();
    try
    {
      if(MainWindow)
      {
        var oFrame = MainWindow.frames("gisMap");
      }
    }
    catch(ex)
    {

    }
    if(oFrame) 
        return oFrame;
    else
        return null;
}

function GetRouteFrame()
{
  var MainWindow = GetMainWindow();
  if(MainWindow)
  var oFrame = MainWindow.frames("Rout");
  
  if(oFrame) 
    return oFrame;
  else
    return null;
}

var dynQueryWindow = null;

function onQueriesClick()
{
    if(dynQueryWindow && !dynQueryWindow.closed)
    {
        dynQueryWindow.focus();
    }
    else
    {    
        //var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=600,width=700";
        //dynQueryWindow = window.open(MainHttp + "Reports/rptDynReport.aspx", "DynReport", winOpt);
    }
}

function onHelpClick()
{
  
  var winOpt = "resizable=yes,toolbar=no,menubar=yes,status=yes,left=50,top=50,height=400,width=500";
  
   var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Help.aspx","Documents",winOpt);
    hWnd.childWindows.push(winPointer); 
  }  
  else
  {
    window.open(MainHttp + "Help.aspx","Documents",winOpt);
  }
}

function OpenDocumentsManagement(lang)
{
  var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=650,width=900";
  
     var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Tools/Documents.aspx?lang="+lang,"Documents",winOpt);
    hWnd.childWindows.push(winPointer); 
  }  
  else
  {
    window.open(MainHttp + "Tools/Documents.aspx?lang="+lang,"Documents",winOpt);
  }
}

function OpenServiceRequestsManagement()
{
  var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=650,width=900";
  
       var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Services/ServiceRequests.aspx","ServiceRequests",winOpt);
    hWnd.childWindows.push(winPointer); 
  }  
  else
  {
    window.open(MainHttp + "Services/ServiceRequests.aspx","ServiceRequests",winOpt);
  }
}

function OpenServiceRequestsManagementObjectCard()
{
  var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=650,width=900";
  var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Services/ServiceRequestsObjectCard.aspx","ServiceRequests",winOpt);
    hWnd.childWindows.push(winPointer); 
  }  
  else
  {
    window.open(MainHttp + "Services/ServiceRequestsObjectCard.aspx","ServiceRequests",winOpt);
  }
}

function onAddDeceasedClick()
{
  OpenObjectCard(-1,null);
}

function OpenServicesManagement()
{
  var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,width=400,height=400";
    var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Services/Services.aspx", "Services", winOpt);
    hWnd.childWindows.push(winPointer); 
  }  
  else
  {
    window.open(MainHttp + "Services/Services.aspx", "Services", winOpt);
  }
}

function OpenServiceEditForm(service_id)
{   
    formNameParam = "FormName=ServicesEdit";
    winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=300,width=475";
    formParamsParam = "FormParams=" + "@service_id=" + service_id;    
    keyFieldParam = "KeyField=service_id";
    url = MainHttp + "General/DynamicForms.aspx?" + formNameParam + "&" + formParamsParam + "&" + keyFieldParam;
    
    if(service_id == -1)
        url += "&IsNew=yes";
        
        var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(url, "EditService", winOpt); 
    hWnd.childWindows.push(winPointer); 
  }  
  else
  {
    window.open(url, "EditService", winOpt); 
  }   
}

function OpenMessageForm(msg_id)
{    
    formNameParam = "FormName=Message";
    winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=300,width=420";    
    formParamsParam = "FormParams=" + "@message_id=" + msg_id;    
    keyFieldParam = "KeyField=message_id";
    var MainURL;
    MainURL = (msg_id == -1 || msg_id == "-1") ? MainHttp : "";
    url = MainURL + "General/DynamicForms.aspx?" + formNameParam + "&" + formParamsParam + "&" + keyFieldParam;
    //alert(url);
   
    if(msg_id == -1)
        url += "&IsNew=yes";
    
      var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(url, "Message", winOpt);
    hWnd.childWindows.push(winPointer); 
  }  
  else
  {
    window.open(url, "Message", winOpt);
  }
    
}

function OpenObjectCard(dec_id,grave_id,tabid)
{
  var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=620,width=804";
  var param = MainHttp + "ObjectCards/frmDeceasedDetails.aspx";
  
//  alert("DES" + dec_id);
//  alert("GRA" + grave_id);
//  alert("TAB" + tabid);
   
  if(dec_id!=null)
    param += "?Deceased=" + dec_id;
  else if(grave_id!=null)
  {  
    param += "?Grave="+grave_id;
    if(tabid==null) param += "&TabIndex=1";
  } 
  if(tabid !=null)
    param += "&TabIndex="+tabid;
  
  var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = hWnd.open(param, "ObjectCard", winOpt); 
    hWnd.childWindows.push(winPointer); 
  }  
  else
  {
    window.open(param, "ObjectCard", winOpt);  
  }
}

function OpenRelativeObjectCard(dec_id,tabid)
{
  var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=100,top=20,height=600,width=800";
  var param = MainHttp + "ObjectCards/frmDeceasedDetails.aspx";
    
  param += "?Deceased=" + dec_id;
  if(tabid !=null) param += "&TabIndex="+tabid;
    
  var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(param, "RelativeObjectCard", winOpt);  
    hWnd.childWindows.push(winPointer);
  }
  else
  {
    window.open(param, "RelativeObjectCard", winOpt);  
  }
}

function OpenLutEdit()
{
    var winOpt = "resizable=yes,toolbar=no,menubar=no,status=yes,scrollbars=yes,left=50,top=50,height=450,width=850";
    
  var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Tools/LutEdit.aspx", "LutEdit", winOpt); 
    hWnd.childWindows.push(winPointer);
  }
  else
  {
    window.open(MainHttp + "Tools/LutEdit.aspx", "LutEdit", winOpt);
  }
    
}

function OpenGraveTypesEdit()
{
    var winOpt = "resizable=yes,toolbar=no,menubar=no,status=yes,scrollbars=yes,left=50,top=50,height=250,width=500";

    
  var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Tools/EditGraveTypes.aspx", "GraveTypesEdit", winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
    window.open(MainHttp + "Tools/EditGraveTypes.aspx", "GraveTypesEdit", winOpt);
  }

}

function OpenSystemStatusReport()
{
    var winOpt = "resizable=yes,toolbar=no,menubar=no,status=yes,scrollbars=yes,left=50,top=50,height=480,width=640";
    

  var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Tools/SystemStatus.aspx", "SystemStatus", winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
    window.open(MainHttp + "Tools/SystemStatus.aspx", "SystemStatus", winOpt);
  }
}

function OpenHelpManagement(lang,paragraph)
{
  var winOpt = "resizable=yes,toolbar=no,menubar=no,status=yes,scrollbars=yes,left=50,top=50,height=600,width=850";
  var hWnd = GetMainWindow(); 

  var fileName = "User_Help/EladManagerManual_";
  
//  if(lang == "en")
//     fileName = "User_Help/UnderConstruction_";
          
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + fileName + lang + ".htm" + paragraph, "ManagementHelp", winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
    window.open(MainHttp + fileName + lang + ".htm" + paragraph, "ManagementHelp", winOpt);
  }
}

function OpenHelpUser(lang,paragraph)
{
  var winOpt = "resizable=yes,toolbar=no,menubar=no,status=yes,scrollbars=yes,left=50,top=50,height=600,width=850";
  var hWnd = GetMainWindow(); 

  var fileName = "User_Help/EladUserManual_";
  
//  if(lang == "en")
//    fileName = "User_Help/UnderConstruction_";
  
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + fileName + lang + ".htm" + paragraph, "UserHelp", winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
    window.open(MainHttp + fileName + lang + ".htm" + paragraph, "UserHelp", winOpt);
  }
}

function OpenHelpVideo(lang,path)
{
    var winPointer;
    var winOpt = "resizable=yes,toolbar=no,menubar=no,status=yes,scrollbars=yes,left=50,top=50,height=600,width=850";
    var hWnd = GetMainWindow(); 

    var fileName = "User_Help/Videos_";
  
//    if(lang == "en")
//        fileName = "User_Help/UnderConstruction_";
    
    if(hWnd)
    { 
//        if(lang == "en")
//            winPointer = window.open(MainHttp + fileName + lang + ".htm", "UserVideo", winOpt);
//        else
            winPointer = window.open(MainHttp + fileName + lang + "/" + path, "UserVideo", winOpt);

        hWnd.childWindows.push(winPointer);
    }
    else
    {
//        if(lang == "en")
//            window.open(MainHttp + fileName + lang + ".htm", "UserVideo", winOpt);
//        else
            window.open(MainHttp + fileName + lang + "/" + path, "UserVideo", winOpt);
    }
}

function onAddRouteClick()
{
  var winOpt = "resizable=no,toolbar=no,menubar=no,status=yes,scrollbars=yes,left=50,top=50,height=600,width=850";
  var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Route/RecommendedRout.aspx?FormParams=@tourist_path_id=-1&IsNew=true&KeyField=tourist_path_id", "RecommendedRout", winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
    window.open(MainHttp + "Route/RecommendedRout.aspx?FormParams=@tourist_path_id=-1&IsNew=true&KeyField=tourist_path_id", "RecommendedRout", winOpt);
  }
}

function OpenRecommendedRouteForm(rout_id)
{
  var winOpt = "resizable=no,toolbar=no,menubar=no,status=yes,scrollbars=yes,left=50,top=50,height=600,width=850";
  var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer =   window.open(MainHttp + "Route/RecommendedRout.aspx?FormParams=@tourist_path_id="+rout_id, "RecommendedRout", winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
      window.open(MainHttp + "Route/RecommendedRout.aspx?FormParams=@tourist_path_id="+rout_id, "RecommendedRout", winOpt);
  }
}

function OpenUserManager()
{
    var winOpt = "resizable=yes,toolbar=no,menubar=no,left=50,top=50,height=550,width=850";
  var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer =  window.open(MainHttp + "Tools/Users.aspx?", "UserManager", winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
     window.open(MainHttp + "Tools/Users.aspx?", "UserManager", winOpt);
  }    
   
}

function startAddServiceRequest(Deceased)
{
    var winOpt = "resizable=yes,toolbar=no,menubar=no,left=50,top=50,height=500,width=570";
    if(Deceased == null) Deceased = "0";
    
      var hWnd = GetMainWindow(); 
  
  if(hWnd)
  { 
    var winPointer =    window.open(MainHttp + "Services/ServiceSelect.aspx?Deceased="+Deceased,"ServiceRequest",winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
       window.open(MainHttp + "Services/ServiceSelect.aspx?Deceased="+Deceased,"ServiceRequest",winOpt);
  }   

}

function OpenServiceRequestForm(srv_id, req_id,dec_id, is_admin) // if new -> pass service id, else -> pass request id.
{
    var url;
    //adidas
    //alert(is_admin);
    if(srv_id) // new
    {
        
        if(is_admin && parent.name != "TheMountOfOlivesMainWindow")
        {


        url = "EditRequestObjectCard.aspx?new=1&service_id=" + srv_id + "&Deceased="+dec_id;
        //url = "Services/EditRequest.aspx?new=1&service_id=" + srv_id + "&Deceased="+dec_id;
        var winOpt = "resizable=yes,toolbar=no,menubar=no,left=50,top=50,height=500,width=570";
        if(dec_id == null) Deceased = "0";
        window.open(url,"ServiceRequest",winOpt);
        }
        else
        {
                //alert("adidas 1");
                url = "Services/EditRequest.aspx?new=1&service_id=" + srv_id + "&Deceased="+dec_id;
        }
    }
    else if(req_id) // existing
    {
        if(is_admin && parent.name != "TheMountOfOlivesMainWindow")
        {
        
        url = "EditRequestObjectCard.aspx?req_id=" + req_id + "&aSection=true";
        //url = "Services/EditRequest.aspx?req_id=" + req_id;
        var winOpt = "resizable=yes,toolbar=no,menubar=no,left=50,top=50,height=500,width=570";
        if(dec_id == null) Deceased = "0";
        window.open(url,"ServiceRequest",winOpt);
        }
        else
        {
           url = "Services/EditRequest.aspx?req_id=" + req_id;
        }
    }
    else
    {
        alert(GetUIMessage("FunctionParametersInvalid"));
    }

    if (is_admin == false || (is_admin && parent.name == "TheMountOfOlivesMainWindow"))
    {
        //alert("adidas 2");
        var ifrmServices = document.getElementById("iframeServices");        
        ifrmServices.src = MainHttp + url;
    }
    
    //var winOpt = "resizable=yes,toolbar=no,menubar=no,status=no,left=50,top=50,height=500,width=570";
    //window.open(MainHttp + url,"ServiceRequest", winOpt);
}

function OpenServiceRequestFormObjectCard(srv_id, req_id,dec_id,is_admin) // if new -> pass service id, else -> pass request id.
{
    var url;
    //adidas
    if(srv_id) // new
    {
        if(is_admin && parent.name != "ObjectCard")
        {
        url = "EditRequestObjectCard.aspx?new=1&service_id=" + srv_id + "&Deceased="+dec_id;
        //url = "Services/EditRequest.aspx?new=1&service_id=" + srv_id + "&Deceased="+dec_id;
        var winOpt = "resizable=yes,toolbar=no,menubar=no,left=50,top=50,height=500,width=570";
        if(dec_id == null) Deceased = "0";
        window.open(url,"ServiceRequest",winOpt);
        }
        else
        {
            url = "Services/EditRequestObjectCard.aspx?new=1&service_id=" + srv_id + "&Deceased="+dec_id;
        }
    }
    else if(req_id) // existing
    {
        if(is_admin && parent.name != "ObjectCard")
        {
        url = "EditRequestObjectCard.aspx?req_id=" + req_id;
        //url = "Services/EditRequest.aspx?req_id=" + req_id;
        var winOpt = "resizable=yes,toolbar=no,menubar=no,left=50,top=50,height=500,width=570";
        if(dec_id == null) Deceased = "0";
        window.open(url,"ServiceRequest",winOpt);
        }
        else
        {
            url = "Services/EditRequestObjectCard.aspx?req_id=" + req_id;
        }
    }
    else
    {
        alert(GetUIMessage("FunctionParametersInvalid"));
    }

    if (is_admin == false || (parent.name == "ObjectCard"))
    {
        var ifrmServices = document.getElementById("iframeServices");        
        ifrmServices.src = MainHttp + url;
    }
    //var winOpt = "resizable=yes,toolbar=no,menubar=no,status=no,left=50,top=50,height=500,width=570";
    //window.open(MainHttp + url,"ServiceRequest", winOpt);
}
// mode: whether the form will open for search or for selecting a single item
// target_elem_id: in the selection mode - ID of the element on the opener to be filled with value
//var advSearchWindow = null;
function ShowAdvancedSearchForm(mode, target_elem_id, sCommand, sId,hWnd)
{ 
  var advSearchWindow = GetMainWindow()._AdvSearchWin  ;
  if(advSearchWindow && !advSearchWindow.closed)
      advSearchWindow.close();
  //alert(MainHttp + "Search/frmAdvancedSearch.aspx");
  var winOpt = "resizable=no,toolbar=no,menubar=no,left=50,top=50,height=680,width=790";
  var param = MainHttp + "Search/frmAdvancedSearch.aspx?mode=" + mode + "&elem_id=" + target_elem_id;
  if(sCommand!=null && sId!=null)
      param += "&Command=" + sCommand + "&ID=" + sId;
  if(hWnd)
  {
    advSearchWindow = hWnd.open(param, "AdvancedSearch", winOpt);
    
  }
  else    
  {
    advSearchWindow = window.open(param, "AdvancedSearch", winOpt);
    
  }
  GetMainWindow()._AdvSearchWin = advSearchWindow;
  

  var hWndFromAdv = GetMainWindow(); 
  
  if(hWndFromAdv)
  { 
    
    hWndFromAdv.childWindows.push(advSearchWindow); 
  }  
}

var MainName = "TheMountOfOlivesMainWindow";
function GetMainWindow()
{
  try
  {
    if(window.top.name == MainName)
        return window.top;
   
    var wnd = window.top;
    if(wnd.opener)
    {
      var bRun = true;
      wnd = wnd.opener.top;
      while(bRun)
      {
        if(wnd.name == MainName)
          return wnd;
        
        if(wnd.opener)
          wnd = wnd.opener.top;
        else
          bRun = false;
      }
    } 
    return GetMainFrame();
  } catch (ex) {
    if(top.TheMountOfOlivesMainWindow)
      return top.TheMountOfOlivesMainWindow;
    else if(top.opener.top.TheMountOfOlivesMainWindow)
      return top.opener.top.TheMountOfOlivesMainWindow;
    else if(top.opener.top.opener.top.TheMountOfOlivesMainWindow)
      return top.opener.top.opener.top.TheMountOfOlivesMainWindow;
    else if(top.opener.top.opener.top.opener.top.TheMountOfOlivesMainWindow)
      return top.opener.top.opener.top.opener.top.TheMountOfOlivesMainWindow;
    else
      return null;
    
  }
}

function GetMainFrame()
{
  var oFrame;
  if(top.frames.length>0)
  {
    for(var j=0;j<top.frames.length;j++)
    {
      if(top.frames.item(j).name == MainName)
        return top.frames.item(j);
    }
  }
  var wnd = window.top;
  if(wnd.opener)
  {
    var bRun = true;
    wnd = wnd.opener.top;
    while(bRun)
    {
      if(wnd.frames.length>0)
      {
        for(var j=0;j<wnd.frames.length;j++)
        {
          if(wnd.frames.item(j).name == MainName)
            return wnd.frames.item(j);
        }
      }
      
      if(wnd.opener)
        wnd = wnd.opener.top;
      else
        bRun = false;
    }
  }
      
  return oFrame;
}

function GetUIMessage(msg_name)
{
    var mainWindow = GetMainWindow();
        
    //if(typeof(mainWindow.document.forms[0].selUIMessages) != "undefined")
    if(mainWindow)
    {
        var messages = mainWindow.document.forms[0].selUIMessages.options;

        for(var j=0; j<messages.length; j++)
        {
            if(messages[j].text == msg_name)
                return messages[j].value;
        }
    }
    else
        return "Error! Unable to access the main window.";
}

function ClearGraveContainer()
{
  var mainW = GetMainWindow();
  mainW._GravesContainer.RemoveAll();

}

function IsInContainer(graveid)
{
  var mainW = GetMainWindow();
  if(mainW._GravesContainer.Exists(graveid)) return true;
  return false;
}

function UpdateGraveContainer(grave,sname,sact)
{
  var mainW = GetMainWindow();
  if(sact=="delete")
  {
    if(mainW._GravesContainer.Exists(grave.toString()))
    {
      mainW._GravesContainer.Remove(grave.toString());
      RefreshGravesListInRouteTab();
      return true;
    }
    if(mainW._GravesContainer.Exists(parseInt(grave)))
    {
        mainW._GravesContainer.Remove(parseInt(grave));
        RefreshGravesListInRouteTab();
        return true;
    }
    else return false;
  } 
  else {
    if(!mainW._GravesContainer.Exists(parseInt(grave)))
    {
      mainW._GravesContainer.Add(parseInt(grave),grave+"|"+sname);
      RefreshGravesListInRouteTab();
      return true;
    }
  }
  return false;
}

//Return Array Of Keys
function GetAllGravesFromContainer()
{

  var mainW = GetMainWindow();
  var ArrayKeys = new Array();
  if(mainW!=null)
  {
    try
    { 
        ArrayKeys=(new VBArray(mainW._GravesContainer.Items())).toArray();
    }
    catch(ex)
    {
    
    }
    return ArrayKeys;
  }
  return null;
}

function OpenLogForm(dec_id,gr_id)
{
    var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=200,width=400";
    var param = MainHttp + "General/DynamicForms.aspx";
    if(dec_id!=null)
      param += "?FormParams=@deceased_id=" + dec_id+"&FormName=LogDeceased";
    else if(gr_id!=null)
      param += "?FormParams=@grave_id=" + gr_id+"&FormName=LogGrave";
      
    window.open(param, "LogForm", winOpt);
}

function OpenDocumentForm(doc_id,dec_id)
{
    var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=520,width=450";
    var param = MainHttp + "ObjectCards/Document.aspx?FormParams=@document_id=" + doc_id + "&document_id=" + doc_id;
    if(dec_id!=null)
      param += "&Deceased=" + dec_id;
    
  var hWnd = GetMainWindow(); 
  if(hWnd)
  { 
    var winPointer = window.open(param, "DocumentDetails", winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
       window.open(param, "DocumentDetails", winOpt);
  }  
}

function OpenRouteDocumentForm(doc_id,route_id)
{
    var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=250,width=400";
    var param = MainHttp + "Route/Document.aspx?FormParams=@tourist_path_document_id=" + doc_id + "&tourist_path_id=" + route_id;
    
      var hWnd = GetMainWindow(); 
  if(hWnd)
  { 
    var winPointer = window.open(param, "RouteDocumentDetails", winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
       window.open(param, "RouteDocumentDetails", winOpt);
  }  
}

function OpenConnectionForm(dec_id,maxConnections)
{
  var winOpt = "resizable=yes,toolbar=no,menubar=no,status=no,left=50,top=50,height=550,width=750";
  var param = "../ObjectCards/Connections.aspx?FormName=ConnectionList&FormParams=@deceased_id="+dec_id;
  param += "&maxConnections="+maxConnections;
  
  var hWnd = GetMainWindow(); 
  if(hWnd)
  { 
    var winPointer = window.open(param,"ConnectionList",winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
       window.open(param,"ConnectionList",winOpt);
  }  
}

function OpenCommemorationForm(dec_id)
{
  var winOpt = "resizable=no,toolbar=no,menubar=no,status=no,left=50,top=50,height=350,width=400";
  
    var hWnd = GetMainWindow(); 
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Services/Commemoration.aspx?deceased="+Deceased,"Commemoration",winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
       window.open(MainHttp + "Services/Commemoration.aspx?deceased="+Deceased,"Commemoration",winOpt);
  }  
}

function FocusOnItem(layer_name, key_field, item_id)
{   
    if(item_id == null || item_id == 0)
    {
        alert(GetUIMessage("DeceasedWithoutGrave"));
        return;
    }
    
    var MapFrame = GetMapFrame();
    
    var mainWindow = GetMainWindow();
    
    if(mainWindow)
        mainWindow.focus();
    
    if(MapFrame != null)
    {
        if(MapFrame.document.readyState != "complete")
        {
            window.setTimeout("FocusOnItem(\"" + layer_name + "\",\"" + key_field + "\"," + item_id + ");", 100);
            return;
        }
        
        MapFrame.ZoomToFeatures(layer_name, key_field, item_id);
    }
}

function OpenSoulLetters(sfirstName)
{
    var winOpt = "resizable=yes,toolbar=no,menubar=no,left=50,top=50,height=600,width=550";
    if(sfirstName == null) sfirstName = "";
    
  var hWnd = GetMainWindow(); 
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Tools/SoulLetters.aspx?firstName="+sfirstName,"SoulLetters",winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
       window.open(MainHttp + "Tools/SoulLetters.aspx?firstName="+sfirstName,"SoulLetters",winOpt);
  } 
}

function OpenParamEdit()
{
    var winOpt = "scrollbars=1,resizable=yes,toolbar=no,menubar=no,status=no,left=50,top=50,height=200,width=450";
    
  var hWnd = GetMainWindow(); 
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Tools/ParamEdit.aspx","ParamEdit",winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
       window.open(MainHttp + "Tools/ParamEdit.aspx","ParamEdit",winOpt);
  } 
}

function DigitizeGravePoint()
{
  var mapFrm = GetMapFrame();
  mapFrm.CustomIdentify("DigitizeGraveResults");
  mapFrm.focus();
}

function DigitizeGraveResults(x,y)
{
    var mWin=GetMainWindow();
    if(mWin._GraveEditWin!=null && !mWin._GraveEditWin.closed)
    {
      mWin._GraveEditWin.document.getElementById("coord_x").value = MyRound(x);
      mWin._GraveEditWin.document.getElementById("coord_y").value = MyRound(y);
      mWin._GraveEditWin.focus();
    }  
}

function MyRound(Num)
{
  var sNum = Num.toString();
  var Arr = sNum.split(".");
  if(Arr.length>0)
  {
     return(Arr[0]+ "." + Arr[1].substr(0,2));
  }  
  return(sNum);
}

function RefreshGravesListInRouteTab()
{
  var oFrm=GetRouteFrame();
  if(oFrm!=null && oFrm.RefreshUserGraveList!=null)
  {
    oFrm.RefreshUserGraveList();
  }
}

function OpenDateConversion()
{
    var winOpt = "scrollbars=0,resizable=yes,toolbar=no,menubar=no,status=no,left=50,top=50,height=400,width=500";
    
  var hWnd = GetMainWindow(); 
  if(hWnd)
  { 
    var winPointer = window.open(MainHttp + "Tools/DateConversion.aspx","DateConversion",winOpt);
    hWnd.childWindows.push(winPointer);
  }
  else
  {
       window.open(MainHttp + "Tools/DateConversion.aspx","DateConversion",winOpt);
  } 
}


function trim(stringToTrim)
{
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function ltrim(stringToTrim)
{
	return stringToTrim.replace(/^\s+/,"");
}

function rtrim(stringToTrim)
{
	return stringToTrim.replace(/\s+$/,"");
}

//================================================
// Date parsing and validation function
//================================================
function ParseDate(dateString, delimiter)
{
    if(dateString == "" || delimiter == "")
        return false;

    var arrDate = dateString.split(delimiter);
    
    var day = Number(arrDate[0]);
    var month = Number(arrDate[1]) - 1;
    var year = Number(arrDate[2]);
    
    if(!day || month == null || !year)
        return false;
    
    var result = new Date();
    
    result.setFullYear(year)
    result.setMonth(month, day);
    
    return result;
}


