if (typeof North52 == 'undefined') { North52 = {}; }
if (typeof North52.ClientSidePayLoadTab == 'undefined') { North52.ClientSidePayLoadTab = {}; }





North52.ClientSidePayLoadTab.Load = function() {  

           var sourceEntity = parent.Xrm.Page.data.entity.attributes.get("north52_sourceentityname").getValue();

           if ( (sourceEntity == null) || (sourceEntity == "") ) 
                sourceEntity = "account";

           var options = "";

           if (typeof parent.Xrm.Page.ui.clearFormNotification  != "undefined") 
              options = "$select=*&$filter=ObjectTypeCode eq " + "'"+ sourceEntity + "' and Type/Value eq 2 and FormActivationState/Value eq 1";
            else  
              options = "$select=*&$filter=ObjectTypeCode eq " + "'"+ sourceEntity + "' and Type/Value eq 2"; 

            SDK.REST.retrieveMultipleRecords("SystemForm", options, North52.ClientSidePayLoadTab.retrieveFormCallBack, function (error) { alert("North52 Formula Manager: " + error.message); }, North52.ClientSidePayLoadTab.formsRetrieveComplete)    
} ; 


North52.ClientSidePayLoadTab.retrieveFormCallBack= function(retrievedForms)
{
 
   
   for (var i = 0; i < retrievedForms.length; i++)
   {
     var formResult = retrievedForms[i];
     var xml = N52.HTMLWebResourceHelper.GetXmlDocument(formResult.FormXml);
     var xpath = "/form/tabs/tab/@name";
     
     var attributes = N52.HTMLWebResourceHelper.GetXmlNodes(xml , xpath );

      N52.HTMLWebResourceHelper.InsertOptionSetItem('formulaClientSidePayLoad',  '', ''  );
       
      for (var k = 0; k < attributes.length; k++) 
      {
        N52.HTMLWebResourceHelper.InsertOptionSetItem('formulaClientSidePayLoad',  formResult.Name +  ': '+ attributes [k].value, attributes [k].value  );
     }  
   }
  
      $('#loading-formulaclientsidepayload').hide(); 
      $('#targetentity').show(); 
     
};

North52.ClientSidePayLoadTab.formsRetrieveComplete= function()
 {
         var msg = 'Complete';
  };

North52.ClientSidePayLoadTab.DropDownChanged= function(value) {  

try
{
    if (value != null)
    {  
       parent.Xrm.Page.data.entity.attributes.get("north52_clientsidedatapayload").setValue(value);
     }

   }
   catch(ex)
   {
      alert('North52 Formula Manager: Communication issue, please click Ok & then F5 to refresh the screen. Message: ' + ex.message);
   }
} ; 
