//Syntax:
//var prev=new Previewer(MainContainer,IconsContainer);
//
// MainContainer  - container for big image
// IconsContainer - container for icons
//
// Properties:
// ImagesArray - array of three components elements: icon, big image, param (for ex. id of image in the base)
//
//
// Methods:
//
//
// User onclick function(calo,prevcell,cell,year,month,day), prevcell can be null
//
// Clear - remove  Previewer from container

function Previewer(MainContainerName,IconsContainerName,ZoomContainerName) {
	this.MainContainer = document.getElementById(MainContainerName); 
	this.IconsContainer = document.getElementById(IconsContainerName);
	this.ZoomContainer = document.getElementById(ZoomContainerName);
	this.OnClkFunc=null;
	this.ImagesArray = new Array();
	this.CurrentImage =0;
}
Previewer.prototype.AddImage = function (ImageName,Icon,BigImage,param) {
	var new_image= new Array(); 
	new_image['name'] = ImageName;
	new_image['icon'] = Icon;
	new_image['big'] = BigImage;
	new_image['param'] = param;
	this.ImagesArray.push(new_image);
}
Previewer.prototype.RebuildPreviewer = function () {
	var icon ='';
	var iconel;
	var big = '';
	var name = '';
	this.Clear(); 
//	while (this.MainContainer.hasChildNodes()) this.MainContainer.removeChild(this.MainContainer.lastChild);
	for (var i=0;i<this.ImagesArray.length;i++) {
		name=this.ImagesArray[i]['name'];
		if(i==this.CurrentImage){ 
			big=this.ImagesArray[i]['big'];
			if(big!='')
				iconel=FCrEl(this.MainContainer,"img","src=/"+big+"; title="+name+"; width=250; height=250;","cursor: 'pointer'; cursor: 'hand';");
				iconel.prop=this;
				iconel.i=i;
				iconel.param=this.ImagesArray[i]['param'];
				if(this.OnClkFunc!=null){
					iconel.onclick=function() {
					       var nav=this.prop;          
					       nav.OnClkFunc(this.param);
						return false;					
					}	
					this.ZoomContainer.param = iconel.param;
					this.ZoomContainer.prop = this;
					this.ZoomContainer.onclick=function() {
					       var nav=this.prop;          
					       nav.OnClkFunc(this.param);
					       return false;
					}	
			       }
		}
		else{
			icon=this.ImagesArray[i]['icon']; 
			if(icon!=''){ 
				icondiv=FCrEl(this.IconsContainer,"div","class=view;");
				iconel=FCrEl(icondiv,"img","src="+icon+"; title="+name+"; width=50; height=50;","cursor: 'pointer'; cursor: 'hand';");
				iconel.prop=this;
				iconel.i=i;
				iconel.onclick=function() {
				        var nav=this.prop;          
				        nav.SetCurrentImage(this.i);
					nav.RebuildPreviewer();
			       }
			}
		}	
	}
}

Previewer.prototype.SetOnClickFunction = function (onclickfunc) {
 this.OnClkFunc=onclickfunc;
}
Previewer.prototype.SetCurrentImage = function (ImageNum) {
 this.CurrentImage=ImageNum;
}

Previewer.prototype.Clear = function () {
 while (this.MainContainer.hasChildNodes()) this.MainContainer.removeChild(this.MainContainer.lastChild);
 while (this.IconsContainer.hasChildNodes()) this.IconsContainer.removeChild(this.IconsContainer.lastChild);
}



