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

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

North52.CommandUser.userLcid = '1033';

North52.CommandUser.Ok= function () {

        };
   
    North52.CommandUser.OnLoad = function () {
       $('#btnOk').attr('disabled',true); 

        var parameterUserLcid =  N52.DialogHelpers.GetParameterByName('userlcid');
        var supportedLanguages = ['1033', '2057', '3081', '1036', '3084', '1031', '1034', '1040']
 
        for (var i=0; i< supportedLanguages.length; i++) {
            if (supportedLanguages[i] == parameterUserLcid )
            {
                North52.CommandUser.userLcid =  parameterUserLcid; 
                break;
             }
          }

                    
                     var data = N52.DialogHelpers.GetParameterByName('data');
                     var targetentityid = N52.DialogHelpers.GetParameterByName('id');
                     var vals = North52.CommandUser.GetDataParameterArray(data);

                      targetentityid = targetentityid .replace("{","");
                      targetentityid = targetentityid .replace("}","");
                    
                     North52.CommandUser.ExecuteCommand(targetentityid, vals);
    };

North52.CommandUser.ExecuteCommand= function(targetentityid,vals) {

    var ODataPath = N52.DialogHelpers.GetServerUrl() + "/XRMServices/2011/OrganizationData.svc";
    var North52CommandUserObject  = North52.CommandUser.GetCommandObject(targetentityid, vals);
    

      SDK.JQuery.createRecord(
                         North52CommandUserObject  ,
                         "north52_command", 
                         North52.CommandUser.configSuccess,
                         North52.CommandUser.configError
                      );

};

North52.CommandUser.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);
    };

North52.CommandUser.GetCommandObject= function (targetentityid, vals) {
    var North52CommandUserObject = new Object();

    North52CommandUserObject .north52_TargetEntityID = targetentityid;

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

 North52.CommandUser.configSuccess= function () {
             window.close();  
  };

 North52.CommandUser.configError= function (XmlHttpRequest, textStatus, errorThrown) {
                    
                       alert('North52 Formula Manager Command Failure : ' + XmlHttpRequest.message);
                       
           };

North52.CommandUser.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;
};