<html><head><title>North52 Formula Manager Form Tabs</title>


<style type="text/css">

html, body{
margin: 0px;
padding: 0px;
background-color: transparent;
}
</style>


<script src="ClientGlobalContext.js.aspx"></script>

<script type="text/javascript" src="north52_/javascript/jquery"></script>

<script type="text/javascript" src="north52_/javascript/north52.htmlwebresource.helper"></script>
<script type="text/javascript" src="north52_/javascript/sdk.rest"></script>

<script type="text/javascript" src="north52_/Javascript/sdk.metadata.js"></script>
<script type="text/javascript" src="north52_/javascript/north52_dialog_helper"></script>

<script type="text/javascript" src="north52_/javascript/JSON2"></script>

<script type="text/javascript" src="north52_/javascript/north52.htmlwebresource.helper"></script>


<script type="text/javascript">

 $(document).ready(function () { TargetEntity.Init();
     });


var TargetEntity = {}; 


TargetEntity.Init= 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, TargetEntity.retrieveFormCallBack, function (error) { alert("North52 Formula Manager: " + error.message); }, TargetEntity.formsRetrieveComplete)    
} ; 


TargetEntity.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('targetentity',  '', ''  );
       
      for (var k = 0; k < attributes.length; k++) 
      {
        N52.HTMLWebResourceHelper.InsertOptionSetItem('targetentity',  formResult.Name +  ': '+ attributes [k].value, attributes [k].value  );
     }  
   }
  
      $('#loading').hide(); 
      $('#targetentity').show(); 
     
};

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

TargetEntity.DropDownChanged= function(value) {  

try
{
    if (value != null && value!="")
    {  
       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);
   }
} ; 
</script>

<style type="text\css">
#loading { 
  width: 100%; 
  height: 100%; 
  top: 0px; 
  left: 0px; 
  opacity: 0.7; 
  background-color: #fff; 
  z-index: 99; 
  text-align: center; 
} 
 
#loading-image { 
  top: 0px; 
  left: 0px; 
  z-index: 100; 
}
.main { 
  display: none;  
  width: 100%; 
  height: 100%; 
  top: 0px; 
  left: 0px; 
  }

</style>

<meta charset="utf-8">
</head><body>
<div id="container">
<div id="loading"><img id='loading-image"' alt="Loading" src="north52_image_progress"> </div>
<div id="main"><select style="width: 100%; font-family: Segoe UI; font-size: 11px; font-weight: normal; display: none;" id="targetentity" onchange="TargetEntity.DropDownChanged(this.value)"></select> </div></div></body></html>