if(typeof Hop=="undefined" || typeof Hop.remoteExec=="undefined"){
  console.error("Please ensure that Hop from hopjs.js is loaded before this file is parsed");
}

<%= Hop.renderBeforeTemplates("JavaScript",Hop) %>



<% for(var i in Objects){ %>
<% var obj = Objects[i] %>

<%= obj.renderBeforeTemplates("JavaScript",{ object: obj}) %>


<%=obj.name %>={};
<% for(var methodName in obj.methods){ %>
<% var method = obj.methods[methodName]; %>

<%= method.renderBeforeTemplates("JavaScript",{ method: method}) %>

<%=obj.name%>.<%=methodName%>=function(input,onComplete){
  var self = <%=obj.name%>.<%=methodName%>;  
  Hop.remoteExec(self.methodName,self.type,<%#typeof srcURL!="undefined"?srcURL:""%>+self.path,self.options,self.params,input,onComplete);
}

<%=obj.name%>.<%=methodName%>.fromForm=function(selector,input,onComplete){
  var self = <%=obj.name%>.<%=methodName%>;  
  Hop.fromForm(selector,self.methodName,self.type,<%#typeof srcURL!="undefined"?srcURL:""%>+self.path,self.options,self.params,input,onComplete);
}

<%=obj.name%>.<%=methodName%>.toForm=function(selector,input,onComplete){
  var self = <%=obj.name%>.<%=methodName%>;  
  Hop.toForm(selector,self.methodName,self.type,<%#typeof srcURL!="undefined"?srcURL:""%>+self.path,self.options,self.params,input,onComplete);
}



<%=obj.name%>.<%=methodName%>.params= <%= JSON.stringify(method.params) %>;
<%=obj.name%>.<%=methodName%>.methodName="<%=obj.name%>.<%=methodName%>";
<%=obj.name%>.<%=methodName%>.type="<%=method.method%>";
<%=obj.name%>.<%=methodName%>.path="<%=method.getPath()%>";
<%=obj.name%>.<%=methodName%>.options=<%= JSON.stringify(method.options) %>;



<%= method.renderAfterTemplates("JavaScript",{ method: method}) %>

<% } %>
      
<%= obj.renderAfterTemplates("JavaScript",{ object: obj}) %>

<% } %>

<%= Hop.renderAfterTemplates("JavaScript",{}) %>

