package src.com;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

public class UnidevBlogActivity extends Activity implements OnClickListener{
	
	LinearLayout linearLayout;
	ImageView img;
	int totalviews;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.panelview);
        
        PanelPager realViewSwitcher = (PanelPager)findViewById(R.id.realPager);
		linearLayout = (LinearLayout)findViewById(R.id.dotsLinear);
		
		realViewSwitcher.setOnScreenSwitchListener(onScreenSwitchListener);
		int j=0;
		boolean loadView = false;
		View v = null; 
		boolean firstLoad = true;
		
		List dataList = new ArrayList();
		addDatatoList(dataList);
		
		
		for(int i=0; i<dataList.size(); i++) {
			if(loadView){
				loadView = false;
				v = View.inflate(this, R.layout.panellinearview, null);
			}else{
				if(i == 0){
					v = View.inflate(this, R.layout.panellinearview, null);
				}
				if( j > 4){
					loadView = true;
				}
			}
			DataDTO mdto = (DataDTO) dataList.get(i);
			if( j == 0){
				LinearLayout f = (LinearLayout) v.findViewById(R.id.frameView1);
				f.setVisibility(View.VISIBLE);
				TextView t = (TextView) v.findViewById(R.id.textView1);	
				t.setText(mdto.getName());
				img = (ImageView) v.findViewById(R.id.imageView1);
				img.setOnClickListener(this);
				String imageUrl = mdto.getImageURL();
				 if (imageUrl != null)
		 	    	{
					    LazyLoadImage downloader = new LazyLoadImage(img);
			 			downloader.execute(imageUrl);	
		 			}
			}else if( j == 1){
				LinearLayout f = (LinearLayout) v.findViewById(R.id.frameView2);
				f.setVisibility(View.VISIBLE);
				TextView t = (TextView) v.findViewById(R.id.textView2);
				t.setText(mdto.getName());
				img = (ImageView) v.findViewById(R.id.imageView2);
				
				img.setOnClickListener(this);
				String imageUrl = mdto.getImageURL();
				 if (imageUrl != null)
		 	    	{
						 LazyLoadImage downloader = new LazyLoadImage(img);
				 		 downloader.execute(imageUrl);
		 	    }
			}else if( j == 2){
				LinearLayout f = (LinearLayout) v.findViewById(R.id.frameView3);
				f.setVisibility(View.VISIBLE);
				TextView t = (TextView) v.findViewById(R.id.textView3);
				t.setText(mdto.getName());
				img = (ImageView) v.findViewById(R.id.imageView3);
				
				img.setOnClickListener(this);
				String imageUrl = mdto.getImageURL();
				 if (imageUrl != null)
		 	    	{
					 LazyLoadImage downloader = new LazyLoadImage(img);
			 		 downloader.execute(imageUrl);
		 	        }
			}else if( j == 3){
				LinearLayout f = (LinearLayout) v.findViewById(R.id.frameView4);
				f.setVisibility(View.VISIBLE);
				TextView t = (TextView) v.findViewById(R.id.textView4);
				t.setText(mdto.getName());
				img = (ImageView) v.findViewById(R.id.imageView4);
				
				img.setOnClickListener(this);
				String imageUrl = mdto.getImageURL();
				 if (imageUrl != null)
		 	    	{
						 LazyLoadImage downloader = new LazyLoadImage(img);
				 		 downloader.execute(imageUrl);
		 	    	}
			}else if( j == 4){
				LinearLayout f = (LinearLayout) v.findViewById(R.id.frameView5);
				f.setVisibility(View.VISIBLE);
				TextView t = (TextView) v.findViewById(R.id.textView5);
				t.setText(mdto.getName());
				img = (ImageView) v.findViewById(R.id.imageView5);
				
				img.setOnClickListener(this);
				String imageUrl = mdto.getImageURL();
				 if (imageUrl != null)
		 	    	{
						 LazyLoadImage downloader = new LazyLoadImage(img);
				 		 downloader.execute(imageUrl);
		 	    	}
			}else if( j == 5){
				LinearLayout f = (LinearLayout) v.findViewById(R.id.frameView6);
				f.setVisibility(View.VISIBLE);
				TextView t = (TextView) v.findViewById(R.id.textView6);
				t.setText(mdto.getName());
				img = (ImageView) v.findViewById(R.id.imageView6);
				
				img.setOnClickListener(this);
				String imageUrl = mdto.getImageURL();
				 if (imageUrl != null)
		 	    	{
						 LazyLoadImage downloader = new LazyLoadImage(img);
				 		 downloader.execute(imageUrl);
		 	    	}
			}
			if(j == 5 || (i == dataList.size() - 1)){
				j = 0;
				realViewSwitcher.addView(v);
				totalviews = totalviews + 1;
			}else{
				j++;	
			}
		}
		setImages(0);
    }
    
private final PanelPager.OnScreenSwitchListener onScreenSwitchListener = new PanelPager.OnScreenSwitchListener() {
		
		@Override
		public void onScreenSwitched(int screen) {
			// this method is executed if a screen has been activated, i.e. the screen is completely visible
			//  and the animation has stopped (might be useful for removing / adding new views)
			setImages(screen);
		}
		
	};
	
	private void setImages(int screen){
		try {
			if(totalviews > 1){
				linearLayout.removeAllViews();
				for(int i=0; i < totalviews; i++){
					if(i == screen){
						ImageView imageView = new ImageView(this);
						Drawable drawable1 = this.getResources().getDrawable(R.drawable.whitedot);
						imageView.setImageDrawable(drawable1);
						imageView.setPadding(0, 0, 10, 0);
						linearLayout.addView(imageView);
					}else{
						ImageView imageView = new ImageView(this);
						Drawable drawable1 = this.getResources().getDrawable(R.drawable.greydot);
						imageView.setImageDrawable(drawable1);
						imageView.setPadding(0, 0, 10, 0);
						linearLayout.addView(imageView);
					}
				}
			}			
		} catch (Exception e) {
			// TODO Auto-generated catch block
		}
	}
	
	@Override
	public void onClick(View v) {
		try {
			if(v instanceof ImageView){
				ImageView imageView = (ImageView)v;
				String selectedItem = (String)imageView.getTag();
			}			
		} catch (Exception e) {
			
		}		
	}
	
	private void addDatatoList(List dataList){
		DataDTO dataDTO1 = new DataDTO();
		dataDTO1.setName("First Tab");
		dataDTO1.setImageURL("http://ww1.prweb.com/prfiles/2010/01/05/253299/gI_0_unidev.jpg");
		dataList.add(dataDTO1);
		
		DataDTO dataDTO2 = new DataDTO();
		dataDTO2.setName("Second Tab");
		dataDTO2.setImageURL("http://blog.thenetimpact.com/wp-content/uploads/dotnet-ranken.jpg");
		dataList.add(dataDTO2);

		DataDTO dataDTO3 = new DataDTO();
		dataDTO3.setName("Third Tab");
		dataDTO3.setImageURL("http://profile.ak.fbcdn.net/hprofile-ak-snc4/211126_104917721173_2190893_n.jpg");
		dataList.add(dataDTO3);
		
		DataDTO dataDTO4 = new DataDTO();
		dataDTO4.setName("Fourth Tab");
		dataDTO4.setImageURL("http://www.callanpark.com/wp-content/uploads/2008/03/final-uni-dev-1.JPG");
		dataList.add(dataDTO4);
		
		DataDTO dataDTO5 = new DataDTO();
		dataDTO5.setName("Fifth Tab");
		dataDTO5.setImageURL("http://localcontent.zenfs.com/1270/6120524.JPG");
		dataList.add(dataDTO5);
		
		DataDTO dataDTO6 = new DataDTO();
		dataDTO6.setName("Sixth Tab");
		dataDTO6.setImageURL("http://farm3.static.flickr.com/2469/3881042881_01b121807a.jpg");
		dataList.add(dataDTO6);
		
		DataDTO dataDTO7 = new DataDTO();
		dataDTO7.setName("Seventh Tab");
		dataDTO7.setImageURL("http://www.thiemecreativemedia.com/siteassist_imgs_indiv/graphic-logos_UniDev140x140h.gif");
		dataList.add(dataDTO7);
		
		DataDTO dataDTO8 = new DataDTO();
		dataDTO8.setName("Eigth Tab");
		dataDTO8.setImageURL("http://www.zhmicro.com/images/unidev_logo.gif");
		dataList.add(dataDTO8);
	}
}
