if (typeof (N52) == "undefined")
{ N52 = {}; } 

N52.FormulaSave =
{    

SaveFormula: function (executionContext)
{
  try
  {

   var eventArgs = executionContext.getEventArgs();

   if (eventArgs.getSaveMode() == 70)
   {
        eventArgs.preventDefault();
        return;
   }


   if ((Xrm.Page.ui.getFormType() == 1) && (Xrm.Page.data.entity.attributes.get("north52_formulatype").getValue() != 217890017) )
   {
      name = Xrm.Page.getAttribute('north52_sourceentityname').getValue();
      name = name + " - " + Xrm.Page.getAttribute("north52_formulatype").getText();
      name = name + " - " + new Date();
      Xrm.Page.getAttribute('north52_name').setValue(name);
   }

    if ( navigator.userAgent.search('iPad') > 0)
       return;
    else
    {

       var formulaManager = Xrm.Page.getControl("WebResource_formulamanager");

       if ((formulaManager == null) || (typeof(formulaManager ) == 'undefined') )
           Xrm.Page.getControl("WebResource_formulaeditor").getObject().contentWindow.window.SaveFormula();
       else
        {
            var formulaManagerContent = formulaManager.getObject().Content;
            var formulaManagerContent2013 = formulaManager.getObject().firstChild.Content;

            if ((formulaManagerContent != null) && (typeof(formulaManagerContent ) != 'undefined') ) formulaManagerContent .mainpage.CallSaveEvent();

            if ((formulaManagerContent2013 != null) && (typeof(formulaManagerContent2013 ) != 'undefined') ) formulaManagerContent2013.mainpage.CallSaveEvent();
         }
      }
  }
  catch(ex)
  {
    alert("North52 Formula Manager Exception: " + ex.message);
  } 

}

}