Index: /issm/trunk-jpl/src/m/js/writejs1Darray.m
===================================================================
--- /issm/trunk-jpl/src/m/js/writejs1Darray.m	(revision 19882)
+++ /issm/trunk-jpl/src/m/js/writejs1Darray.m	(revision 19882)
@@ -0,0 +1,14 @@
+function writejs1Darray(fid,prefix,array)
+
+	if isempty(array)
+		fprintf(fid,'%s=[];\n',prefix);
+	else if  isscalar(array),
+		fprintf(fid,'%s=%g;\n',prefix,array);
+	else
+		fprintf(fid,'%s=[',prefix);
+		for i=1:length(array)-1,
+			fprintf(fid,'%g,',array(i));
+		end
+		fprintf(fid,'%g];\n',array(end));
+	end
+end
Index: /issm/trunk-jpl/src/m/js/writejs2Darray.m
===================================================================
--- /issm/trunk-jpl/src/m/js/writejs2Darray.m	(revision 19882)
+++ /issm/trunk-jpl/src/m/js/writejs2Darray.m	(revision 19882)
@@ -0,0 +1,20 @@
+function writejs2Darray(fid,prefix,array)
+
+	if  isscalar(array),
+		fprintf(fid,'%s=%g;\n',prefix,array);
+	else
+		fprintf(fid,'%s=[',prefix);
+		for i=1:size(array,1)-1,
+			fprintf(fid,'[%g,',array(i,1));
+			for j=2:size(array,2)-1,
+				fprintf(fid,'%g,',array(i,j));
+			end
+			fprintf(fid,'%g],',array(i,end));
+		end
+		fprintf(fid,'[%g,',array(end,1));
+		for j=2:size(array,2)-1,
+			fprintf(fid,'%g,',array(end,j));
+		end
+		fprintf(fid,'%g]];\n',array(end,end));
+	end
+end
Index: /issm/trunk-jpl/src/m/js/writejscellstring.m
===================================================================
--- /issm/trunk-jpl/src/m/js/writejscellstring.m	(revision 19882)
+++ /issm/trunk-jpl/src/m/js/writejscellstring.m	(revision 19882)
@@ -0,0 +1,22 @@
+function writejscellstring(fid,prefix,cell)
+
+
+	if ~iscell(cell),
+		fprintf(fid,'%s=%g;\n',prefix,cell);
+	else
+		if length(cell),
+			if length(cell)==1,
+				fprintf(fid,'%s=[''%s''];\n',prefix,cell{1});
+			else
+				fprintf(fid,'%s=[''%s'',',prefix,cell{1});
+				for i=2:length(cell)-1,
+					fprintf(fid,'''%s'',',cell{i});
+				end
+				fprintf(fid,'''%s''];\n',cell{end});
+			end
+		else
+			fprintf(fid,'%s=[];\n',prefix);
+		end
+	end
+
+end
Index: /issm/trunk-jpl/src/m/js/writejsdouble.m
===================================================================
--- /issm/trunk-jpl/src/m/js/writejsdouble.m	(revision 19882)
+++ /issm/trunk-jpl/src/m/js/writejsdouble.m	(revision 19882)
@@ -0,0 +1,7 @@
+function writejsdouble(fid,prefix,scalar)
+	if  isinf(scalar),
+		fprintf(fid,'%s=Infinity;\n',prefix);
+	else
+		fprintf(fid,'%s=%g;\n',prefix,scalar);
+	end
+end
Index: /issm/trunk-jpl/src/m/js/writejsstring.m
===================================================================
--- /issm/trunk-jpl/src/m/js/writejsstring.m	(revision 19882)
+++ /issm/trunk-jpl/src/m/js/writejsstring.m	(revision 19882)
@@ -0,0 +1,3 @@
+function writejsstring(fid,prefix,string)
+	fprintf(fid,'%s=''%s'';\n',prefix,string);
+end
Index: /issm/trunk-jpl/src/m/js/writejsstruct.m
===================================================================
--- /issm/trunk-jpl/src/m/js/writejsstruct.m	(revision 19882)
+++ /issm/trunk-jpl/src/m/js/writejsstruct.m	(revision 19882)
@@ -0,0 +1,16 @@
+function writejsstruct(fid,prefix,structure)
+	
+	fprintf(fid,'%s={};\n',prefix);
+
+	fields=fieldnames(structure);
+	for i=1:numel(fields),
+		fieldname=fields{i};
+		field=structure.(fieldname);
+		if isscalar(field),
+			fprintf(fid,'%s[''%s'']=%g;\n',prefix,fieldname,field);
+		end
+		if ischar(field),
+			fprintf(fid,'%s[''%s'']=''%s'';\n',prefix,fieldname,field);
+		end
+	end
+end
