Index: /issm/trunk-jpl/src/android/ISSM/AndroidManifest.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/AndroidManifest.xml	(revision 14209)
+++ /issm/trunk-jpl/src/android/ISSM/AndroidManifest.xml	(revision 14210)
@@ -12,5 +12,5 @@
         android:label="@string/app_name"
         android:theme="@style/AppTheme" >
-        <activity android:name=".MapSelection"
+        <activity android:name="com.example.issm.SplashScreen"
             	  android:label="@string/title_activity_issm" >
             <intent-filter>
@@ -20,4 +20,8 @@
             </activity>
             <activity
+            android:name=".MenuPage"
+            android:label="@string/title_activity_issm" >
+        </activity>
+            <activity
             android:name=".ISSM"
             android:label="@string/title_activity_issm" >
Index: /issm/trunk-jpl/src/android/ISSM/bin/AndroidManifest.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/bin/AndroidManifest.xml	(revision 14209)
+++ /issm/trunk-jpl/src/android/ISSM/bin/AndroidManifest.xml	(revision 14210)
@@ -12,5 +12,5 @@
         android:label="@string/app_name"
         android:theme="@style/AppTheme" >
-        <activity android:name=".MapSelection"
+        <activity android:name="com.example.issm.SplashScreen"
             	  android:label="@string/title_activity_issm" >
             <intent-filter>
@@ -20,4 +20,8 @@
             </activity>
             <activity
+            android:name=".MenuPage"
+            android:label="@string/title_activity_issm" >
+        </activity>
+            <activity
             android:name=".ISSM"
             android:label="@string/title_activity_issm" >
Index: /issm/trunk-jpl/src/android/ISSM/res/anim/alpha.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/res/anim/alpha.xml	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/res/anim/alpha.xml	(revision 14210)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<alpha
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:fromAlpha="0.0"
+    android:toAlpha="1.0"
+    android:duration="3000" />
Index: /issm/trunk-jpl/src/android/ISSM/res/anim/translate.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/res/anim/translate.xml	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/res/anim/translate.xml	(revision 14210)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set
+    xmlns:android="http://schemas.android.com/apk/res/android">
+ 
+<translate
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:fromXDelta="0%"
+    android:toXDelta="0%"
+    android:fromYDelta="200%"
+    android:toYDelta="0%"
+    android:duration="2000"
+    android:zAdjustment="top" />
+ 
+</set>
Index: sm/trunk-jpl/src/android/ISSM/res/layout/activity_issm.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/res/layout/activity_issm.xml	(revision 14209)
+++ 	(revision )
@@ -1,46 +1,0 @@
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:id="@+id/relativeLay"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="horizontal" >
-
-    <SeekBar
-        android:id="@+id/seekBar"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_alignParentBottom="true"
-        android:layout_alignParentLeft="true"
-        android:progress="90"
-        android:max="490"
-        android:layout_marginBottom="41dp" />
-
-    <TextView
-        android:id="@+id/value"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_above="@+id/seekBar"
-        android:layout_centerHorizontal="true"
-        android:layout_marginBottom="15dp"
-        android:text="Friction Scaling: 100%" />
-
-    <FrameLayout
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:tools="http://schemas.android.com/tools"
-        android:id="@+id/frame"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_above="@+id/value"
-        android:layout_centerHorizontal="true"
-        android:layout_marginBottom="12dp" >
-    </FrameLayout>
-
-    <Button
-        android:id="@+id/button1"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_above="@+id/seekBar"
-        android:layout_alignParentRight="true"
-        android:text="Solve" />
-
-</RelativeLayout>
Index: sm/trunk-jpl/src/android/ISSM/res/layout/activity_mapselection.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/res/layout/activity_mapselection.xml	(revision 14209)
+++ 	(revision )
@@ -1,27 +1,0 @@
-
-    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-        android:layout_width="fill_parent"
-        android:layout_height="fill_parent"
-	android:background="@drawable/issmlogo" >
-
-	<ImageButton
-            android:id="@+id/button1"
-            style="@layout/activity_mapselection"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignParentBottom="true"
-            android:layout_alignParentLeft="true"
-            android:layout_marginBottom="21dp"
-            android:layout_marginLeft="46dp"
-            android:src="@drawable/greenland" />
-
-        <ImageButton
-            android:id="@+id/button2"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_alignBottom="@+id/button1"
-            android:layout_alignParentRight="true"
-            android:layout_marginRight="34dp"
-            android:src="@drawable/antarctica" />
-
-           </RelativeLayout>
Index: /issm/trunk-jpl/src/android/ISSM/res/layout/issmcore.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/res/layout/issmcore.xml	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/res/layout/issmcore.xml	(revision 14210)
@@ -0,0 +1,65 @@
+<RelativeLayout 
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/relativeLay"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="horizontal"
+    android:background="@drawable/background" >
+      <TextView
+        android:id="@+id/friction"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentTop="true"
+        android:textSize="15sp"
+        android:typeface="serif"
+        android:textColor="#f49956"
+        android:text="Friction" />
+      
+      <TextView
+        android:id="@+id/value"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentLeft="true"
+        android:layout_below="@+id/friction"
+        android:typeface="serif"
+        android:textColor="#FF0000"
+        android:text="100%" />
+      
+    <com.example.issm.VerticalSeekBar
+  		android:id="@+id/seekbar"
+  		android:layout_width="wrap_content"
+  		android:layout_below="@+id/value"
+  		android:layout_height="420dp"
+  		android:progress="100"
+  		android:max="490"/>
+
+    <FrameLayout
+        android:id="@+id/frame"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_above="@+id/solve"
+        android:layout_below="@+id/value"
+        android:layout_marginLeft="30dp"
+        android:layout_marginBottom="12dp" >
+    </FrameLayout>
+
+    <Button
+        android:id="@+id/solve"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignParentBottom="true"
+        android:layout_alignParentRight="true"
+        android:layout_marginRight="58dp"
+        android:text="Solve" />
+
+    <Button
+        android:id="@+id/back"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_alignLeft="@+id/frame"
+        android:layout_alignParentBottom="true"
+        android:text="Back to \n Map Selection Screen " />
+
+</RelativeLayout>
Index: /issm/trunk-jpl/src/android/ISSM/res/layout/issmmapselection.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/res/layout/issmmapselection.xml	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/res/layout/issmmapselection.xml	(revision 14210)
@@ -0,0 +1,32 @@
+
+    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent"
+	android:background="@drawable/background" >
+
+        <ImageButton
+            android:id="@+id/greenland"
+            android:layout_width="150dip"
+            android:layout_height="150dip"
+            android:layout_alignParentTop="true"
+            android:layout_centerHorizontal="true"
+            android:layout_marginTop="42dp"
+            android:background="@drawable/greenland" />
+
+		<View
+		    android:layout_width="wrap_content"
+		    android:layout_height="2dip"
+		    android:layout_marginTop="70dip"
+		    android:layout_below="@+id/greenland"
+		    android:background="#DDFFDD" />
+		
+        <ImageButton
+            android:id="@+id/antarctica"
+            android:layout_width="150dip"
+            android:layout_height="150dip"
+            android:layout_alignLeft="@+id/greenland"
+            android:layout_alignParentBottom="true"
+            android:layout_marginBottom="42dp"
+            android:background="@drawable/antarctica" />
+
+           </RelativeLayout>
Index: /issm/trunk-jpl/src/android/ISSM/res/layout/main_issm.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/res/layout/main_issm.xml	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/res/layout/main_issm.xml	(revision 14210)
@@ -0,0 +1,9 @@
+	<ViewFlipper
+	        xmlns:android="http://schemas.android.com/apk/res/android"
+			android:id="@+id/flipper"
+			android:layout_width="fill_parent"
+			android:layout_height="fill_parent"	>
+	<include android:id="@+id/first"  layout="@layout/issmmapselection" />
+	<include android:id="@+id/second"  layout="@layout/issmcore" />
+	</ViewFlipper>
+
Index: /issm/trunk-jpl/src/android/ISSM/res/layout/menupage.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/res/layout/menupage.xml	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/res/layout/menupage.xml	(revision 14210)
@@ -0,0 +1,51 @@
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="fill_parent"
+        android:layout_height="fill_parent"
+        android:background="@drawable/background" >
+
+        <ImageButton
+            android:id="@+id/start"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentLeft="true"
+            android:layout_alignParentTop="true"
+            android:layout_marginLeft="19dp"
+            android:layout_marginTop="107dp"
+            android:background="@null"
+            android:src="@drawable/start" />
+        
+        <ImageButton
+            android:id="@+id/video"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
+            android:layout_alignParentTop="true"
+            android:layout_marginRight="19dp"
+            android:layout_marginTop="107dp"
+            android:background="@null"
+            android:src="@drawable/video" />
+        
+        <ImageButton
+            android:id="@+id/intro"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@+id/start"
+            android:layout_marginLeft="19dp"
+            android:layout_marginTop="107dp"
+            android:background="@null"
+            android:src="@drawable/intro" />
+        
+        <ImageButton
+            android:id="@+id/visitus"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_below="@+id/video"
+             android:layout_alignParentRight="true"
+            android:layout_marginRight="19dp"
+            android:layout_marginTop="107dp"
+            android:background="@null"
+            android:src="@drawable/visitus" />
+        
+ 
+
+    </RelativeLayout>
Index: /issm/trunk-jpl/src/android/ISSM/res/layout/popuptext.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/res/layout/popuptext.xml	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/res/layout/popuptext.xml	(revision 14210)
@@ -0,0 +1,39 @@
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:orientation="vertical" 
+    android:background="@android:color/background_light">
+     <ScrollView android:layout_width="fill_parent"
+    	android:layout_height="0dip" 
+    	android:layout_weight="1">
+    	 <LinearLayout 
+		     android:layout_width="wrap_content"
+		     android:layout_height="wrap_content"
+		     android:orientation="vertical" 
+		     android:layout_margin="1dp">
+	    		<TextView
+		          android:background="#07000000"
+		          android:id="@+id/header"
+		          android:layout_width="wrap_content"
+				  android:layout_height="wrap_content"
+				  android:gravity="center"	
+				  android:textStyle="bold" 
+				  android:textSize="20sp"
+		          android:text="\tWelcome to the Ice Sheet System Model (ISSM)." >
+		      </TextView>
+		      <TextView
+		          android:background="#07000000"
+		          android:id="@+id/infotext"
+		          android:layout_width="wrap_content"
+				  android:layout_height="wrap_content"	 
+		          android:text="\tISSM is the result of a collaboration between the Jet Propulsion Laboratory and University of California at Irvine. Its purpose is to tackle the challenge of modeling the evolution of the polar ice caps in Greenland and Antarctica. \n\tISSM is funded by the NASA Cryosphere and MAP (Modeling Analysis and Prediction) programs, JPL R&amp;TD(Research, Technology and Development) and the National Science Foundation. Our main collaborators are:MSSMat Laboratory of École Centrale Paris, Argonne National Laboratory and the Department of Geology of University of Buffalo, NY.\n\tAs synthesized in the last Intergovernmental Panel on Climate Change (IPCC) Assessment Report AR4,future changes in the Greenland and Antarctic ice sheet mass, particularly due to changes in ice flow,are a major source of uncertainty that could increase sea level rise projections.\n\tTo remedy this problem, large scale ice flow models are necessary that can accurately model the evolution of Greenland and Antarctica in a warming climate. In order to achieve this goal,and improve projections of future sea level rise, ISSM relies on state of the art technologies,developed in synergy with the Research and Technology Development (R&amp;TD) at JPL." >
+			  </TextView>
+		</LinearLayout>
+	</ScrollView>
+		      <Button
+		          android:id="@+id/dismiss"
+		          android:layout_width="fill_parent"
+		          android:layout_height="wrap_content"
+		          android:text="Dismiss" >
+		      </Button>
+</LinearLayout>
Index: /issm/trunk-jpl/src/android/ISSM/res/layout/splashscreen.xml
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/res/layout/splashscreen.xml	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/res/layout/splashscreen.xml	(revision 14210)
@@ -0,0 +1,16 @@
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="fill_parent"
+    android:layout_height="fill_parent"
+    android:background="@drawable/background"
+    android:layout_gravity="center"
+     android:id="@+id/lin_lay"
+    android:gravity="center"
+    android:orientation="vertical" >
+ 
+    <ImageView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:id="@+id/logo"
+        android:background="@drawable/issm_logo" />
+ 
+</LinearLayout>
Index: /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/ColorBar.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/ColorBar.java	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/ColorBar.java	(revision 14210)
@@ -0,0 +1,94 @@
+package com.example.issm;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.view.MotionEvent;
+import android.view.View;
+/////////////////////////////////////////////////////////////
+public class ColorBar extends View
+{
+	Paint paint = new Paint();
+	Paint textpaint = new Paint();
+	//coordinate of the colorbar
+    private int width = 30;
+	private int start_x = 10;
+	private int start_y = 30;
+	private int end_y = 0;
+	boolean touch;
+	final int MAX_SCALING =255;
+	double [][] colorBuffer;
+    public ColorBar(Context context)
+    {
+        super(context);
+        setWillNotDraw(false);
+        paint.setStrokeWidth(5);
+		textpaint.setColor(Color.WHITE);
+        textpaint.setTextSize(20);
+        touch = false;
+    }
+//----------------------------------------------------------------    
+    //change the color map
+    public void setColorMap(ColorMap colorMap)
+    {
+    	this.colorBuffer = colorMap.getColorBuffer();
+    }
+//----------------------------------------------------------------        
+    @Override
+    public void onDraw(Canvas canvas) 
+    {
+    	int r,g,b;
+    	int y = start_y;
+    	for(int i = 0; i < 64; i++ )
+    	{  	
+    		r =  Math.round((float)colorBuffer[i][0]*MAX_SCALING);
+    		g =  Math.round((float)colorBuffer[i][1]*MAX_SCALING);
+    		b =  Math.round((float)colorBuffer[i][2]*MAX_SCALING);
+    		paint.setColor(Color.argb(MAX_SCALING, r, g, b));
+    		canvas.drawLine(start_x, y, start_x+width, y, paint);
+    		
+    		if(i == 60)  canvas.drawText("_0.0", start_x+width, y, textpaint);
+    		if(i == 48) canvas.drawText("_0.2", start_x+width, y, textpaint);
+    		if(i == 36) canvas.drawText("_0.4", start_x+width, y, textpaint);
+    		if(i == 24) canvas.drawText("_0.6", start_x+width, y, textpaint);
+    		if(i == 12) canvas.drawText("_0.8", start_x+width, y, textpaint);
+    		if(i == 0) canvas.drawText("_1.0", start_x+width, y, textpaint);
+    		
+    		y+=5;
+    	}
+    	
+    	end_y = y;
+    }
+//----------------------------------------------------------------        
+    //allow user to move color bar around
+    @Override
+    public boolean onTouchEvent (MotionEvent event)
+    {
+
+	      if (event.getAction() == MotionEvent.ACTION_DOWN) 
+	      {    
+	    	  int x = (int) event.getX();
+	    	  int y = (int) event.getY(); 
+	    	  if(x >= start_x && x <= start_x+width && y >= start_y && y <= end_y)
+	    		  touch = true;
+	      } 
+	      else if (event.getAction() == MotionEvent.ACTION_MOVE) 
+	      {
+	    	 if(touch)
+	    	 {
+	    		 start_x = (int) event.getX();
+	    		 start_y = (int) event.getY(); 
+	    	 }
+	    	 invalidate();
+	
+	      } 
+	      else if (event.getAction() == MotionEvent.ACTION_UP) 
+	      {
+	    	  touch = false;
+	      }
+	      return true;
+    }
+//----------------------------------------------------------------        
+}
+////////////////////////////////////////////////////////////////////////////
Index: /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/ColorMap.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/ColorMap.java	(revision 14209)
+++ /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/ColorMap.java	(revision 14210)
@@ -12,4 +12,9 @@
 	}
 //-------------------------------------------------------
+	public double[][] getColorBuffer()
+	{
+		return d;
+	}
+//--------------------------------------------------------	
 	//set default color map => hsv {{{
 	public void setDefault()
Index: /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/ISSM.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/ISSM.java	(revision 14209)
+++ /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/ISSM.java	(revision 14210)
@@ -4,8 +4,9 @@
 import java.nio.ByteOrder;
 import java.nio.DoubleBuffer;
-
 import android.opengl.GLSurfaceView;
+import android.os.AsyncTask;
 import android.os.Bundle;
 import android.app.Activity;
+import android.app.ProgressDialog;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -13,17 +14,19 @@
 import android.view.View;
 import android.view.View.OnClickListener;
+import android.view.animation.AccelerateInterpolator;
+import android.view.animation.Animation;
+import android.view.animation.TranslateAnimation;
 import android.widget.Button;
-import android.widget.EditText;
 import android.widget.FrameLayout;
+import android.widget.ImageButton;
 import android.widget.SeekBar;
 import android.widget.SeekBar.OnSeekBarChangeListener;
 import android.widget.TextView;
 import android.widget.Toast;
-
-
-public class ISSM extends Activity implements OnClickListener 
+import android.widget.ViewFlipper;
+
+
+public class ISSM extends Activity implements OnClickListener
 {
-	private EditText input;
-	private TextView output;
 	private DoubleBuffer buff;
 	private IssmJni issmNative;
@@ -33,58 +36,69 @@
     private GLSurfaceView mGLView;
 	private FrameLayout frame;
-	private SeekBar bar;
-    private TextView /*txtStatus,*/ txtValue;
-    private ColorMap colorMap;
-    private int alpha;
-    private final int MINIMUM = 0;
-    private final int OFFSET = 10;
+	private VerticalSeekBar bar;
+	private TextView value;
+	private ColorMap colorMap;
+	private int alpha;
+	private final int MINIMUM = 90;
+	private final int OFFSET = 10;
+	private ViewFlipper viewflipper;
+	private ProgressDialog dialog;
+	private ColorBar colorBar;
+	//------------------------------------------------------------------------------------------------    
     @Override
-  //------------------------------------------------------------------------------------------------    
-    public void onCreate(Bundle savedInstanceState) {
+    public void onCreate(Bundle savedInstanceState)
+    {
         super.onCreate(savedInstanceState);
-        Bundle map = getIntent().getExtras();
+        setContentView(R.layout.main_issm);
+        this.initialize();         
+    }
+  //----------------------------------------------------------------------------------------------
+    private void initialize()
+    {
+    	Bundle map = getIntent().getExtras();
         {
         	if(map!= null)
         	{
-        		mapName = map.getString("map");
         		issmFolder = map.getString("pathToFile");
         	}
         }
-        alpha = 90 + OFFSET;
-        setContentView(R.layout.activity_issm);
-        this.bar  = (SeekBar) findViewById(R.id.seekBar);
-        this.txtValue  = (TextView) super.findViewById(R.id.value);
-        Button button = (Button) super.findViewById(R.id.button1);
-	    frame = (FrameLayout)findViewById(R.id.frame);
-        button.setOnClickListener(this);
+    	alpha = MINIMUM + OFFSET;
+    	frame = (FrameLayout)findViewById(R.id.frame);
+    	viewflipper = (ViewFlipper) findViewById(R.id.flipper);
+        this.bar  = (VerticalSeekBar) findViewById(R.id.seekbar);
+        this.value  = (TextView) super.findViewById(R.id.value);
+        Button solve = (Button) super.findViewById(R.id.solve);
+        solve.setOnClickListener(this);
+        Button back = (Button) super.findViewById(R.id.back);
+        back.setOnClickListener(this);
+        ImageButton gl = (ImageButton) findViewById(R.id.greenland);		
+		gl.setOnClickListener(this);
+		ImageButton art = (ImageButton) findViewById(R.id.antarctica);
+		art.setOnClickListener(this);
         bar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
         {
                 public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser)
                 {
-        
+	                	
                         alpha = progress + OFFSET;
-                        txtValue.setText("Friction Scaling: " +  alpha + "%");
+                        value.setText("" + alpha + "%");
                 }
 
 	            @Override
-	            public void onStartTrackingTouch(SeekBar seekBar) {
-	                    // TODO Auto-generated method stub
-	
-	            }
+	            public void onStartTrackingTouch(SeekBar seekBar) {}
 	
 	            @Override
-	            public void onStopTrackingTouch(SeekBar seekBar) {
-	                    // TODO Auto-generated method stub
-	
-	            }
+	            public void onStopTrackingTouch(SeekBar seekBar) {}
         });
 
+        //load up the ISSM library and create double buffer in java
+        //which later on will be pass for native for allocation.
+        issmNative = new IssmJni();
         
-        //load up the ISSM library and create double buffer in java
-        //which later on will be pass for native allocation.
-        issmNative = new IssmJni();
-        this.createModel();
+        //set default color map to be HSV
         this.colorMap = new ColorMap();
-        buff = ByteBuffer.allocateDirect(size*12*8).order(ByteOrder.nativeOrder()).asDoubleBuffer();
+        //create colorBar
+        colorBar = new ColorBar(this);
+        colorBar.setColorMap(colorMap);
     }
 //------------------------------------------------------------------------------------------------    
@@ -100,12 +114,8 @@
 
     	size = issmNative.createISSMModel(solution_type,issmFolder,file);
-    }
-//------------------------------------------------------------------------------------------------
-    public void fillBuffer()
-    {
-    	issmNative.solveISSMModel(alpha,buff);
+    	buff = ByteBuffer.allocateDirect(size*12*8).order(ByteOrder.nativeOrder()).asDoubleBuffer();
     }
 //------------------------------------------------------------------------------------------------  
-    public boolean onCreateOptionsMenu(Menu menu)
+    public boolean onCreateOptionsMenu(Menu menu) 
     {
     	MenuInflater menuInflater = getMenuInflater();
@@ -114,5 +124,6 @@
     	return true;
     }
-//------------------------------------------------------------------------------------------------
+//------------------------------------------------------------------------------------------------  
+    //Option Menu that allow user to choose color. 
    public boolean onOptionsItemSelected(MenuItem item)
     {
@@ -124,60 +135,60 @@
 	 	            
 	        case R.id.cl_autumn:
-	        	colorMap.setAutumn();
+	        	colorMap.setAutumn(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        
 	        case R.id.cl_bone:
-	        	colorMap.setBone();
+	        	colorMap.setBone(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        
 	        case R.id.cl_cool:
-	        	colorMap.setCool();
+	        	colorMap.setCool(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        	
 	        case R.id.cl_copper:
-	        	colorMap.setCopper();
+	        	colorMap.setCopper(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        	
 	        case R.id.cl_gray:
-	        	colorMap.setGray();
+	        	colorMap.setGray(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        
 	        case R.id.cl_hot:
-	        	colorMap.setGray();
+	        	colorMap.setGray(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        
 	        case R.id.cl_hsv:
-	        	colorMap.setDefault();
+	        	colorMap.setDefault(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        	
 	        case R.id.cl_jet:
-	        	colorMap.setJet();
+	        	colorMap.setJet(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        	
 	        case R.id.cl_pink:
-	        	colorMap.setPink();
+	        	colorMap.setPink(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        	
 	        case R.id.cl_spring:
-	        	colorMap.setSpring();
+	        	colorMap.setSpring(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        	
 	        case R.id.cl_summer:	
-	        	colorMap.setSummer();
+	        	colorMap.setSummer(); colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
 	        	
 	        case R.id.cl_winter:
-	        	colorMap.setWinter();
+	        	colorMap.setWinter();colorBar.setColorMap(colorMap);
 	        	drawFigure();
 	        	return true;
@@ -185,19 +196,151 @@
 	        	return super.onOptionsItemSelected(item);
         }
-            
-    }
+    	
+    }
+//   
+   
 //---------------------------------------------------------------------------------   
     public void onClick(View view) 
 	{
-		this.fillBuffer();
-		drawFigure();
+    	switch(view.getId())
+    	{
+	    	case R.id.greenland:
+			{
+				mapName= "greenland";
+				viewflipper.setInAnimation(inFromRightAnimation());
+		        viewflipper.setOutAnimation(outToLeftAnimation());
+		        viewflipper.showNext();
+		        //create FemModel in native code and return the size of the model
+		        this.createModel();
+		        break;
+			}
+	    	case R.id.antarctica:
+			{
+				mapName= "antarctica";
+				viewflipper.setInAnimation(inFromRightAnimation());
+		        viewflipper.setOutAnimation(outToLeftAnimation());
+		        viewflipper.showNext();
+		        //create FemModel in native code and return the size of the model
+		        this.createModel();
+		        break;
+			}
+	    	case R.id.back:
+	    	{
+	    		 frame.removeView(mGLView);
+	    		 viewflipper.setInAnimation(inFromLeftAnimation());
+		         viewflipper.setOutAnimation(outToRightAnimation());
+		         viewflipper.showPrevious(); 
+		         break;
+	    	}
+    		case R.id.solve:
+    		{
+    			dialog = new ProgressDialog(view.getContext());
+    			dialog.setCancelable(true);
+    			dialog.setMessage("Loading View. Please Wait ...");
+    			dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
+    			dialog.setProgress(0);
+    			dialog.setMax(100);
+    			new CalculationTask().execute(alpha);
+    			break;
+    		}
+    	}
 	}
 //---------------------------------------------------------------------------------- 
     public void drawFigure()
     {
-    	frame.removeView(mGLView);
+    	frame.removeAllViews();
     	mGLView = new MyGLSurfaceView(this, buff, size, colorMap);
     	frame.addView(mGLView);
-    }
-//-----------------------------------------------------------------------------------    
+    	frame.addView(colorBar);
+    }
+//------------------------------------------------------------------------------------
+   //AsyncTask will allow to display while doing some task in the background
+   private class CalculationTask extends AsyncTask<Integer,Integer,Boolean>
+   {
+		@Override
+		protected Boolean doInBackground(Integer... target) 
+		{
+			Thread thread = new Thread()
+			{
+				public void run()
+				{
+					for(int i = 0; i <= 100; i+=5)
+					{
+						try {
+							Thread.sleep(300);
+						} catch (InterruptedException e) {
+							// TODO Auto-generated catch block
+							e.printStackTrace();
+						}
+						publishProgress(i);
+					}
+				}
+			};
+			thread.start();
+			issmNative.solveISSMModel(target[0],buff);
+			return true;
+		}
+		
+		protected void onPreExecute()
+		{
+			super.onPostExecute(null);
+			dialog.show();
+		}
+		protected void onProgressUpdate(Integer ... value)
+		{
+			super.onProgressUpdate();
+			dialog.setProgress(value[0]);
+		}
+		protected void onPostExecute(Boolean result)
+		{
+			super.onPostExecute(result);
+			dialog.dismiss();
+			if(result) drawFigure();
+		}
+	   
+   }
+//----------------------------------------------------------------------------------- 
+    
+    // Below are implementation for the animation between map selection and core computation
+
+	private Animation inFromRightAnimation() {
+
+	Animation inFromRight = new TranslateAnimation(
+	Animation.RELATIVE_TO_PARENT,  +1.0f, Animation.RELATIVE_TO_PARENT,  0.0f,
+	Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,   0.0f
+	);
+	inFromRight.setDuration(500);
+	inFromRight.setInterpolator(new AccelerateInterpolator());
+	return inFromRight;
+	}
+	private Animation outToLeftAnimation() {
+	Animation outtoLeft = new TranslateAnimation(
+	  Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,  -1.0f,
+	  Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,   0.0f
+	);
+	outtoLeft.setDuration(500);
+	outtoLeft.setInterpolator(new AccelerateInterpolator());
+	return outtoLeft;
+	}
+
+	private Animation inFromLeftAnimation() {
+	Animation inFromLeft = new TranslateAnimation(
+	Animation.RELATIVE_TO_PARENT,  -1.0f, Animation.RELATIVE_TO_PARENT,  0.0f,
+	Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,   0.0f
+	);
+	inFromLeft.setDuration(500);
+	inFromLeft.setInterpolator(new AccelerateInterpolator());
+	return inFromLeft;
+	}
+	private Animation outToRightAnimation() {
+	Animation outtoRight = new TranslateAnimation(
+	  Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,  +1.0f,
+	  Animation.RELATIVE_TO_PARENT,  0.0f, Animation.RELATIVE_TO_PARENT,   0.0f
+	);
+	outtoRight.setDuration(500);
+	outtoRight.setInterpolator(new AccelerateInterpolator());
+	return outtoRight;
+	}
+//-------------------------------------------------------------------------------------------	 
 }
+/////////////////////////////////////////////////////////////////////////////////////////////
Index: sm/trunk-jpl/src/android/ISSM/src/com/example/issm/MapSelection.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/MapSelection.java	(revision 14209)
+++ 	(revision )
@@ -1,144 +1,0 @@
-package com.example.issm;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.os.Environment;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.Menu;
-import android.view.View;
-import android.widget.Button;
-import android.widget.ImageButton;
-import android.widget.Toast;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.res.AssetManager;
-/////////////////////////////////////////////////////////////////////////// 
-public class MapSelection extends Activity
-{
-	ISSM issm = new ISSM();
-	private static final String PREFERENCE_FIRST_RUN = null;
-	private String extStorageDirectory;
-	private String issmFolder; 
-//------------------------------------------------------------------------	
-	public void onCreate(Bundle icicle)
-	{
-		super.onCreate(icicle);
-		setContentView(R.layout.activity_mapselection);
-		
-		 SharedPreferences settings = this.getSharedPreferences("ISSM", 0);
-		    boolean firstrun = settings.getBoolean(PREFERENCE_FIRST_RUN, true);
-		    extStorageDirectory = Environment.getExternalStorageDirectory().toString();
-		    
-		    issmFolder = extStorageDirectory + "/ISSM/input_files/";
-		    if (firstrun) 
-		    { // Checks to see if we've ran the application b4
-		        SharedPreferences.Editor e = settings.edit();
-		        e.putBoolean(PREFERENCE_FIRST_RUN, false);
-		        
-		        e.commit();
-		        // If not, run these methods:
-		        SetDirectory(issmFolder);
-		    }
-		    
-	
-		//this button represents greenland and pass signal to issm
-		ImageButton gl = (ImageButton) findViewById(R.id.button1);		
-		gl.setOnClickListener(new View.OnClickListener() 
-		{
-			public void onClick(View v) 
-			{
-				Intent i = new Intent(MapSelection.this, ISSM.class);
-				i.putExtra("map", "greenland");
-				i.putExtra("pathToFile", issmFolder);
-		        startActivity(i);
-			}
-		});
-		
-		//this button represents artarctica and pass signal to issm
-		ImageButton art = (ImageButton) findViewById(R.id.button2);
-		art.setOnClickListener(new View.OnClickListener() 
-		{
-			public void onClick(View v) 
-			{
-				Intent i = new Intent(MapSelection.this, ISSM.class);
-				i.putExtra("map", "antarctica");
-				i.putExtra("pathToFile", issmFolder);
-		        startActivity(i);
-			}
-		});
-	}
-//------------------------------------------------------------------------
-	private void SetDirectory(String directory) 
-	{
-	    if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) 
-	    {
-	    	System.out.println(issmFolder);
-	        File txtDirectory = new File(issmFolder);
-	        
-	        // Check and create directory in SDcard
-	        if(!txtDirectory.exists())
-	        {
-	        	txtDirectory.mkdirs();
-	        	System.out.println("making directory");
-	        }
-	        CopyAssets(); // Then run the method to copy the file.
-
-	    } 
-	    else if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED_READ_ONLY)) 
-	    {
-	    	Toast toast = Toast.makeText(this.getApplicationContext(), "Memory is not mounted to device", Toast.LENGTH_LONG);
-	    	toast.show();
-	    }
-
-	}
-//----------------------------------------------------------------------------
-	/**
-	 * -- Copy the file from the assets folder to the sdCard
-	 * ===========================================================
-	 **/
-		private void CopyAssets() 
-		{
-		    AssetManager assetManager = getAssets();
-		    String[] files = null;
-		    try {
-		        files = assetManager.list("Map");
-		    } catch (IOException e) {
-		        Log.e("tag", e.getMessage());
-		    }
-		    for (int i = 0; i < files.length; i++) {
-		        InputStream in = null;
-		        OutputStream out = null;
-		        try {
-		            in = assetManager.open("Map/"+files[i]);
-		            out = new FileOutputStream(issmFolder + files[i]);
-		            copyFile(in, out);
-		            in.close();
-		            in = null;
-		            out.flush();
-		            out.close();
-		            out = null;
-		        } catch (Exception e) {
-		            Log.e("tag", e.getMessage());
-		        }
-		    }
-		    System.out.println("Done");
-		}
-//----------------------------------------------------------------------------
-		private void copyFile(InputStream in, OutputStream out) throws IOException 
-		{
-		    byte[] buffer = new byte[1024];
-		    int read;
-		    while ((read = in.read(buffer)) != -1) {
-		        out.write(buffer, 0, read);
-		    }
-		}
-//----------------------------------------------------------------------------
-}
-/////////////////////////////////////////////////////////////////////////// 
Index: /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/MenuPage.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/MenuPage.java	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/MenuPage.java	(revision 14210)
@@ -0,0 +1,88 @@
+package com.example.issm;
+
+import android.app.Activity;
+import android.net.Uri;
+import android.os.Bundle;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageButton;
+import android.widget.PopupWindow;
+import android.content.Intent;
+/////////////////////////////////////////////////////////////////////////// 
+public class MenuPage extends Activity
+{
+	ISSM issm = new ISSM();
+	private String issmFolder; 
+//------------------------------------------------------------------------	
+	public void onCreate(Bundle icicle)
+	{
+		super.onCreate(icicle);
+		setContentView(R.layout.menupage);		
+		Bundle map = getIntent().getExtras();
+        {
+        	if(map!= null)
+        	{
+        		issmFolder = map.getString("pathToFile");
+        	}
+        }
+        //start the core implementation of ISSM
+	    ImageButton start = (ImageButton) findViewById(R.id.start);		
+		start.setOnClickListener(new View.OnClickListener() 
+		{
+			public void onClick(View v) 
+			{
+				Intent i = new Intent(MenuPage.this, ISSM.class);
+				i.putExtra("pathToFile", issmFolder);
+		        startActivity(i);
+			}
+		});
+		// navigate to youtube video
+		ImageButton video = (ImageButton) findViewById(R.id.video);		
+		video.setOnClickListener(new View.OnClickListener() 
+		{
+			public void onClick(View v) 
+			{
+				String url = "http://www.youtube.com/watch?v=KlDO0C8r_ws";
+				Intent i = new Intent(Intent.ACTION_VIEW);
+				i.setData(Uri.parse(url));
+		        startActivity(i);
+			}
+		});
+		// pop up a text box that contains information about ISSM
+		final ImageButton intro = (ImageButton) findViewById(R.id.intro);	
+		intro.setOnClickListener(new View.OnClickListener() 
+		{
+			public void onClick(View v)
+			{
+				LayoutInflater layoutInflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);  
+				View popupView = layoutInflater.inflate(R.layout.popuptext, null);  
+				final PopupWindow popupWindow = new PopupWindow( popupView, 400,600, true);
+				popupWindow.showAtLocation(popupView, Gravity.CENTER, 0, 0);
+				Button dismiss = (Button)popupView.findViewById(R.id.dismiss);
+	            dismiss.setOnClickListener(new Button.OnClickListener()
+	            {
+	            	public void onClick(View v)
+	            	{
+	            		popupWindow.dismiss();
+	            	}
+	            });
+			}
+		});
+		//navigate to website
+		ImageButton visitus = (ImageButton) findViewById(R.id.visitus);		
+		visitus.setOnClickListener(new View.OnClickListener() 
+		{
+			public void onClick(View v) 
+			{
+				String url = "http://issm.jpl.nasa.gov/";
+				Intent i = new Intent(Intent.ACTION_VIEW);
+				i.setData(Uri.parse(url));
+		        startActivity(i);
+			}
+		});
+	}
+//-------------------------------------------------------------------------------------	
+}
+///////////////////////////////////////////////////////////////////////////////////////// 
Index: /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/MyGLRenderer.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/MyGLRenderer.java	(revision 14209)
+++ /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/MyGLRenderer.java	(revision 14210)
@@ -101,5 +101,5 @@
     {
         // Set the background frame color
-        GLES20.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
+        GLES20.glClearColor(0.0f, 0.8f, 1.0f, 1.0f);
         
 		// Position the eye behind the origin.
Index: /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/MyGLSurfaceView.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/MyGLSurfaceView.java	(revision 14209)
+++ /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/MyGLSurfaceView.java	(revision 14210)
@@ -2,4 +2,5 @@
 
 import java.nio.DoubleBuffer;
+import java.util.Random;
 
 import android.content.Context;
@@ -107,4 +108,20 @@
 				f[i][15] =  (f[i][15]-ymin)/(ymax-ymin)*YSCALE_FACTOR;
 		}
+		
+		Random r = new Random();
+		float z1,z2,z3;
+		for(int i = 0 ; i <size; i++)
+		{
+			//r.nextFloat() will generate random from 0-1
+			z1 = r.nextFloat();
+			z2 = r.nextFloat();
+			z3 = r.nextFloat();
+			f[i][2] = z1;
+			f[i][9] = z2;
+			f[i][16]= z3;
+			
+			//System.out.println("z = " + z1 + "," + z2 + "," + z3);
+			//System.out.println("x = " + f[i][1] + "," + f[i][7] + "," + f[i][14]);
+		}
 			
     	mRend = new MyGLRenderer(f);
@@ -130,6 +147,5 @@
     private double getAlphaColor(double velocity)
     {
-    	double alpha=(velocity-vmin)/(vmax-vmin) ;
-    	return alpha;
+    	return (velocity-vmin)/(vmax-vmin);
     }
     
Index: /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/SplashScreen.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/SplashScreen.java	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/SplashScreen.java	(revision 14210)
@@ -0,0 +1,156 @@
+package com.example.issm;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import android.app.Activity;
+import android.os.AsyncTask;
+import android.os.Bundle;
+import android.os.Environment;
+import android.util.Log;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.Toast;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.res.AssetManager;
+/////////////////////////////////////////////////////////////////////////// 
+public class SplashScreen extends Activity
+{
+	MenuPage mp = new MenuPage();
+	private static final String PREFERENCE_FIRST_RUN = null;
+	private String extStorageDirectory;
+	private String issmFolder; 
+	SharedPreferences settings;
+//------------------------------------------------------------------------	
+	public void onCreate(Bundle icicle)
+	{
+		super.onCreate(icicle);
+		setContentView(R.layout.splashscreen);		
+	    settings = this.getSharedPreferences("MenuPage", 0);
+	    boolean firstrun = settings.getBoolean(PREFERENCE_FIRST_RUN, true);
+	    extStorageDirectory = Environment.getExternalStorageDirectory().toString();
+	    issmFolder = extStorageDirectory + "/ISSM/input_files/";
+
+	    new CopyDataTask().execute(firstrun);    
+	}
+//-------------------------------------------------------------------------------------------
+	//Start the splashscreen at beginning while transferring 
+	//data file from Assets folder to SDcard
+	private class CopyDataTask extends AsyncTask<Boolean,Void,Boolean>
+	   {
+			@Override
+			protected Boolean doInBackground(Boolean... target) 
+			{
+				StartAnimations();
+				try {
+					Thread.sleep(3000);
+				} catch (InterruptedException e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+				if(target[0] = false)
+				{
+			        SharedPreferences.Editor e = settings.edit();
+			        e.putBoolean(PREFERENCE_FIRST_RUN, false);
+			        
+			        e.commit();
+			        // If not, run these methods:
+			        SetDirectory(issmFolder);
+				}
+				return true;
+			}
+			protected void onPostExecute(Boolean result)
+			{
+				Intent i = new Intent(SplashScreen.this, MenuPage.class);
+				i.putExtra("pathToFile", issmFolder);
+		        startActivity(i);
+			}
+	   }
+//-------------------------------------------------------------------------------------------
+	private void SetDirectory(String directory) 
+	{
+	    if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)) 
+	    {
+	    	System.out.println(issmFolder);
+	        File txtDirectory = new File(issmFolder);
+	        
+	        // Check and create directory in SDcard
+	        if(!txtDirectory.exists())
+	        {
+	        	txtDirectory.mkdirs();
+	        	System.out.println("making directory");
+	        }
+	        CopyAssets(); // Then run the method to copy the file.
+
+	    } 
+	    else if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED_READ_ONLY)) 
+	    {
+	    	Toast toast = Toast.makeText(this.getApplicationContext(), "Memory is not mounted to device", Toast.LENGTH_LONG);
+	    	toast.show();
+	    }
+
+	}
+//----------------------------------------------------------------------------
+	/**
+	 * -- Copy the file from the assets folder to the sdCard
+	 * ===========================================================
+	 **/
+		private void CopyAssets() 
+		{
+		    AssetManager assetManager = getAssets();
+		    String[] files = null;
+		    try {
+		        files = assetManager.list("Map");
+		    } catch (IOException e) {
+		        Log.e("tag", e.getMessage());
+		    }
+		    for (int i = 0; i < files.length; i++) {
+		        InputStream in = null;
+		        OutputStream out = null;
+		        try {
+		            in = assetManager.open("Map/"+files[i]);
+		            out = new FileOutputStream(issmFolder + files[i]);
+		            copyFile(in, out);
+		            in.close();
+		            in = null;
+		            out.flush();
+		            out.close();
+		            out = null;
+		        } catch (Exception e) {
+		            Log.e("tag", e.getMessage());
+		        }
+		    }
+		    System.out.println("Done");
+		}
+//----------------------------------------------------------------------------
+		private void copyFile(InputStream in, OutputStream out) throws IOException 
+		{
+		    byte[] buffer = new byte[1024];
+		    int read;
+		    while ((read = in.read(buffer)) != -1) {
+		        out.write(buffer, 0, read);
+		    }
+		}
+//----------------------------------------------------------------------------
+		 private void StartAnimations() 
+		 {
+		        Animation anim = AnimationUtils.loadAnimation(this, R.anim.alpha);
+		        anim.reset();
+		        LinearLayout l=(LinearLayout) findViewById(R.id.lin_lay);
+		        l.clearAnimation();
+		        l.startAnimation(anim);
+		 
+		        anim = AnimationUtils.loadAnimation(this, R.anim.translate);
+		        anim.reset();
+		        ImageView iv = (ImageView) findViewById(R.id.logo);
+		        iv.clearAnimation();
+		        iv.startAnimation(anim);
+		    }
+//-------------------------------------------------------------------------------		 
+}
+////////////////////////////////////////////////////////////////////////////////// 
Index: /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/VerticalSeekBar.java
===================================================================
--- /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/VerticalSeekBar.java	(revision 14210)
+++ /issm/trunk-jpl/src/android/ISSM/src/com/example/issm/VerticalSeekBar.java	(revision 14210)
@@ -0,0 +1,61 @@
+package com.example.issm;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.widget.SeekBar;
+
+public class VerticalSeekBar extends SeekBar {
+
+	private final int MAX_SIZE = 500;
+    public VerticalSeekBar(Context context) {
+        super(context);
+    }
+
+    public VerticalSeekBar(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+    }
+
+    public VerticalSeekBar(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
+        super.onSizeChanged(h, w, oldh, oldw);
+    }
+
+    @Override
+    protected synchronized void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        super.onMeasure(heightMeasureSpec, widthMeasureSpec);
+        setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());
+    }
+
+    protected void onDraw(Canvas c) {
+    	c.rotate(90);
+        c.translate(0, -getWidth());
+
+        super.onDraw(c);
+    }
+
+    @Override
+    public boolean onTouchEvent(MotionEvent event) {
+        if (!isEnabled()) {
+            return false;
+        }
+        int i = 0;
+        switch (event.getAction()) {
+            case MotionEvent.ACTION_DOWN:
+            case MotionEvent.ACTION_MOVE:
+            case MotionEvent.ACTION_UP:
+                i = getMax() - (int) (getMax() * event.getY() / getHeight());
+                setProgress(MAX_SIZE-i);
+                onSizeChanged(getWidth(), getHeight(), 0, 0);
+                break;
+
+            case MotionEvent.ACTION_CANCEL:
+                break;
+        }
+        return true;
+    }
+}
