<html xmlns="http://www.w3.org/1999/xhtml"><head><title>CRM</title>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
<script type="text/javascript" src="ClientGlobalContext.js.aspx"></script>

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

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

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

<SCRIPT type=text/javascript src="../WebResources/north52_/javascript/sdk.rest"></script>
<link rel="stylesheet" type="text/css" href="north52_/css/n52controls"><link rel="stylesheet" type="text/css" href="/_common/styles/fonts.css.aspx?lcid=1033"><link rel="stylesheet" type="text/css" href="/_common/styles/global.css.aspx?lcid=1033"><link rel="stylesheet" type="text/css" href="/_common/styles/select.css.aspx?lcid=1033">
<script type="text/javascript">

    var localizedStrings = {
              ProcessingMessage: {
                  _1033: "Processing...",
                  _2057: "Processing...",
                  _3081: "Processing...",
                  _1036: "Traitement...",
                  _3084: "Traitement...",
                  _1031: "Verarbeitung...",
                   _1034: "Tratamiento...",
                  _1040: "Elaborazione..."
               }
    };

    var North52Command= {}; 

     North52Command.userLcid = '1033'

    North52Command.Initialize = function () {
                
                     var parameterUserLcid =  North52Command.getParameterByName('userlcid');
                     var supportedLanguages = ['1033', '2057', '3081', '1036', '3084', '1031', '1034', '1040']
 
                    for (var i=0; i< supportedLanguages.length; i++) {
                             if (supportedLanguages[i] == parameterUserLcid )
                             {
                                      North52Command.userLcid =  parameterUserLcid; 
                                      break;
                             }
                    }

                     $('#msguser').text( localizedStrings.ProcessingMessage["_" + North52Command.userLcid]); 
                     var data = North52Command.getParameterByName('data');
                     var targetentityid = North52Command.getParameterByName('id');
                     var vals = North52Command.getDataParameterArray(data);
                    
                     North52Command.ExecuteCommand(targetentityid, vals);
    };

North52Command.DisplayMessage = function (message) {
        var ul = document.getElementById("message");
        var li = document.createElement("li");
        var div = document.createElement("div");
        var messageSpan = document.createElement("span");
        messageSpan.innerText = message;
        div.appendChild(messageSpan);
        li.appendChild(div);
        ul.appendChild(li);
    },


North52Command.GetServerUrl= function()
{
   var context = GetGlobalContext();
   serverUrl = context.getServerUrl();
   if (serverUrl.match(/\/$/))
   { 
      serverUrl = serverUrl.substring(0, serverUrl.length - 1);
   }

   return serverUrl + "/XRMServices/2011/OrganizationData.svc";
};


North52Command.getDataParameterArray= function (data) {
  var vals = new Array();
  var cleandata = decodeURIComponent(data);
  cleandata = cleandata .replace("{","");
  cleandata = cleandata .replace("}","");

  vals = cleandata.split("&");

  
  for (var x in vals)
  {
     vals[x] = vals[x].replace(/\+/g, " ").split("=");
  }

 return vals;
};

North52Command.getParameterByName= function (name) {

  var result = "";
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
  var regexS = "[\\?&]" + name + "=([^&#]*)"; 
  var regex = new RegExp(regexS); 
  var url = window.location.search;
  var results = regex.exec(url); 
  if(results == null) 
    result = ""; 
  else 
    result = decodeURIComponent(results[1].replace(/\+/g, " ")); 

   result = result.replace("{","");
   result = result.replace("}","");
  return result;
};

North52Command.ExecuteCommand= function(targetentityid,vals) {

    var ODataPath = North52Command.GetServerUrl();
    var north52command  = North52Command.GetCommandObject(targetentityid, vals);
    var jsonNorth52Command = window.JSON.stringify(north52command);

      SDK.JQuery.createRecord(
                         north52command  ,
                         "north52_command", 
                         North52Command.configSuccess,
                         North52Command.configError
                      );

};

North52Command.GetCommandObject= function (targetentityid, vals) {
    var north52command = new Object();

    north52command.north52_TargetEntityID = targetentityid;

    for (var i in vals)
    {
        if (i == 0) north52command.north52_name = vals[i][1];
        if (i == 1) north52command.north52_InputString1  = vals[i][1];
        if (i == 2) north52command.north52_InputString2 = vals[i][1];
        if (i == 3) north52command.north52_InputString3 = vals[i][1];
        if (i == 4) north52command.north52_InputString4 = vals[i][1];
        if (i == 5) north52command.north52_InputString5 = vals[i][1];
        if (i == 6) north52command.north52_InputString6 = vals[i][1];
        if (i == 7) north52command.north52_InputString7 = vals[i][1];
        if (i == 8) north52command.north52_InputString8 = vals[i][1];
        if (i == 9) north52command.north52_InputString9 = vals[i][1];
        if (i == 10) north52command.north52_InputString10 = vals[i][1];
        }
       
   return north52command ;
 };

 North52Command.configSuccess= function () {
        
        if ( navigator.userAgent.search('MSIE') > 0)
         {
            var opener = window.dialogArguments;

            if (opener != null)
           {
               if (opener.document != null)
               {
                  var gridControl = opener.document.getElementById('crmGrid');
      
                   if (gridControl != null)
                    gridControl.control.refresh();
                }
              }
           }

        window.close();  
  };

 North52Command.configError= function (XmlHttpRequest, textStatus, errorThrown) {
                    
                       North52Command.DisplayMessage('Command Failure : ' + XmlHttpRequest.message);
                      
                       $('#cancelnorth52_command').attr('disabled',false); 
                       $('#DlgHdDesc').hide(); 
       };

</script>

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

</style>

</head><body onload="North52Command.Initialize();">
<table style="width: 99%; height: 99%;" cellSpacing="0" cellPadding="0">
<tbody>
<tr>
<td class="ms-crm-Dialog-Header" colSpan="2">
<div id="DlgHdDesc" class="ms-crm-Dialog-Header-Desc"><img id='loading-image"' alt="Loading" src="north52_image_progress"> <span id="msguser">...</span></div><br>
<div style="width: 99%; height: 75px; overflow: auto;" id="divwrapper">
<ul id="message"></ul></div></td></tr></tbody></table><br>
<div style="float: right;"><button id="oknorth52_command" class="ms-crm-Button" disabled="" type="submit">Ok</button>&nbsp;<button id="cancelnorth52_command" class="ms-crm-Button" disabled="" onclick="window.close();" type="submit">Cancel</button>&nbsp;</div>
<div></div></body></html>