isDOM=document.getElementById; //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
isOpera=isOpera5=window.opera && isDOM; //Opera 5+
isOpera6=isOpera && window.print; //Opera 6+
isOpera7=isOpera && document.readyState; //Opera 7+
isMSIE=document.all && document.all.item && !isOpera; //Microsoft Internet Explorer 4+
isMSIE5=isDOM && isMSIE; //MSIE 5+
isNetscape4=document.layers; //Netscape 4.*
isMozilla=isDOM && navigator.appName=="Netscape" //Mozilla или Netscape 6.*

function InitGal(h)
{
	SinhGallery.prototype = new Gallery();
	home = h;
	var Picsl = new Array(); 
	Picsl[0] = home + '/engine/images/anim1.jpg';
	Picsl[1] = home + '/engine/images/anim2.jpg';
	Picsl[2] = home + '/engine/images/anim3.jpg';
	
	gal = new SinhGallery('gal');
	var imgs = ['photo/1.jpg', 'photo/2.jpg', 'photo/3.jpg', 'photo/4.jpg', 'photo/5.jpg', 'photo/6.jpg', 'photo/7.jpg'];
	gal.setPreload(imgs, Picsl);
	gal.Run();
	//Init(h);
}

function SinhGallery(name)
{
    this.constructor.prototype = new Gallery();
    var parent = this.constructor.prototype;
    
    var lenta = parent.layer('lenta');
    var lentad = parent.layer('lentad');
    var lentar = parent.layer('lentar');
    var lentard = parent.layer('lentard');
    var bigimg = parent.layer('bigimg');
    
    var name = name;
    this.posd = eval(lenta).offsetHeight;
    this.pos = 0;
    var postmp = this.pos;
    var posdtmp = this.posd;   
    
    this.constructor.prototype.layerStyle(lentad).top = this.posd + "px";
    this.constructor.prototype.layerStyle(lentard).top = this.posd + "px";
    
    var t1;
    this.preLoad;
    
    this.startMS = 0; 

    var current = 1;
    
    //zooming
    this.startDTZoom = 0;
    var tZoom;
  	var smallImgH;
    var smallImgW;
    var ImgW;
    var ImgH;
  	var smallImgX;
    var smallImgY;
    var ImgX;
    var ImgY;
    var curr_id;
    //zooming

	//slogan
    var img1 = parent.layer('sl1');
    var img2 = parent.layer('sl2');
    this.preSlogan;    
    var alp = 100;
    var j = 1; 
	//var j1 = 1;
	var tmp = 0;
	var p = 0; 
	var low = true;
    //slogan
    
    //загружает картинки
	this.setPreload = function(pics, Picsl)
	{
		this.preLoad = new Array();
		n = pics.length;
		for (i = 0; i < n; i++)
		{ 
			this.preLoad[i] = new Image();
			this.preLoad[i].src = pics[i];
		}
		this.preSlogan = new Array();
		p = Picsl.length;
		for (i = 0; i < p; i++)
		{ 
			this.preSlogan[i] = new Image();
			this.preSlogan[i].src = Picsl[i];
		}
	}
this.move = function()
    {
    	this.AlphaSlogan();
    	var d = new Date();
 		if ( this.startMS == 0 )
    		this.startMS = d.valueOf();
    	var tmp = (d.valueOf()-this.startMS);
  
    	postmp = this.pos - (tmp/50); //+ this.startpos
    	posdtmp = this.posd - (tmp/50);
    	
    	if(isMozilla)
    	{
    		this.constructor.prototype.layerStyle(lenta).top = postmp + "px";
    		this.constructor.prototype.layerStyle(lentad).top = posdtmp + "px";
    		this.constructor.prototype.layerStyle(lentar).top = postmp + "px";
    		this.constructor.prototype.layerStyle(lentard).top = posdtmp + "px";
    	}
    	else
    	{
    		this.constructor.prototype.layerStyle(lenta).pixelTop = postmp;
    		this.constructor.prototype.layerStyle(lentad).pixelTop = posdtmp;
    		this.constructor.prototype.layerStyle(lentar).pixelTop = postmp;
    		this.constructor.prototype.layerStyle(lentard).pixelTop = posdtmp;
    	}
    	
    	if(posdtmp <= 0 && current == 1)
    	{
    		this.pos = posdtmp + eval(lenta).offsetHeight;
    		this.posd = posdtmp;
    		if(isMozilla)
    		{
    			this.constructor.prototype.layerStyle(lenta).top = this.pos + "px";
    			this.constructor.prototype.layerStyle(lentar).top = this.pos + "px";
    		}
    		else
    		{
    			this.constructor.prototype.layerStyle(lenta).pixelTop = this.pos;
    			this.constructor.prototype.layerStyle(lentar).pixelTop = this.pos;
    		}
    		current = 2;
    		this.startMS = 0;
    		return;
   		}
   		if(postmp <= 0 && current == 2)
    	{
    		this.posd = postmp + eval(lenta).offsetHeight;
    		this.pos = postmp;
    		current = 1;
    		if(isMozilla)
    		{
    			this.constructor.prototype.layerStyle(lentad).top = this.posd + "px";
    			this.constructor.prototype.layerStyle(lentard).top = this.posd + "px";
    		}
    		else
    		{
    			this.constructor.prototype.layerStyle(lentad).pixelTop = this.posd;
    			this.constructor.prototype.layerStyle(lentard).pixelTop = this.posd;
    		}
       		this.startMS = 0;
       		return;
		}
    }
    this.AlphaSlogan = function()
    {
    	if(alp <= 0 )
    	{
    		j1 =  (j == (p - 1)) ? 0: j+1;
    		parent.layerStyle(img1).backgroundImage = 'url('+this.preSlogan[j].src+')'; 
    alp = alp+5;
    parent.setElemOpacity('sl1', alp/100);
    low = false;
    tmp = 1;
    j = j + 1; 
    if (j > (p - 1)) j = 0;
    } 
    
    else
    {
    if(tmp > 0 )
    { 
    if(tmp < 50 && low) tmp++;
    else tmp = 0;
    }
    if(tmp <= 1) {
    	if(alp >=100)
    	{
    		low = true;
    		tmp = 1;
    	}
    	parent.setElemOpacity('sl1', alp/100);
    	if(low)
    		alp = alp-5;
    	else
    		alp = alp+5;    
    //	document.getElementById('test').innerHTML += alp+'*';	
    	}
    }
    }
	this.Run = function()
	{
		this.startMS = 0;
		this.posd = posdtmp;
		this.pos = postmp;
		var func = name + ".move()";
		this.t1 = setInterval(func, 50);
	}
	this.Stop = function()
	{
		clearInterval(this.t1);
		clearInterval(this.tZoom);
	}
	this.Scale = function(h_to, w_to)
	{
		if(this.startDTZoom > 0 && ImgW >= w_to && ImgH >= h_to)
		{
			this.startDTZoom = 0;
			clearInterval(this.tZoom);
			return;
		}
		var d = new Date();
		
 		if ( this.startDTZoom == 0 )
 		{
 			//alert('!!!');
    		this.startDTZoom = d.valueOf();
    	}
    	var tmp = (d.valueOf()-this.startDTZoom);
   	
		ImgW = smallImgW + tmp * 4/20;
		ImgH = smallImgH + tmp * 4/20;
		ImgX = smallImgX - tmp * 2/20;
		ImgY = smallImgY - tmp * 2/20;
		if(isMozilla)
		{
			parent.layerStyle(bigimg).left = ImgX + "px";
    		parent.layerStyle(bigimg).top = ImgY + "px";
			parent.layerStyle(bigimg).width = ImgW + "px";
   			parent.layerStyle(bigimg).height = ImgH + "px";
		}
		else
		{
			parent.layerStyle(bigimg).left = ImgX;
    		parent.layerStyle(bigimg).top = ImgY;
			parent.layerStyle(bigimg).width = ImgW;
   			parent.layerStyle(bigimg).height = ImgH;
		}
	}
	this.ScaleOut = function(h_to, w_to)
	{
		if(this.startDTZoom > 0 && smallImgW <= w_to && smallImgH <= h_to)
		{
			this.startDTZoom = 0;
			clearInterval(this.tZoom);
			parent.layerStyle(bigimg).display = 'none';
			curr_id = -1;
			this.Run();
			return;
		}
		var d = new Date();
		
 		if ( this.startDTZoom == 0 )
 		{
 			//alert('!!!');
    		this.startDTZoom = d.valueOf();
    	}
    	var tmp = (d.valueOf()-this.startDTZoom);
   	
		smallImgW = ImgW - tmp * 4/20;
		smallImgH = ImgH - tmp * 4/20;
		smallImgX = ImgX + tmp * 2/20;
		smallImgY = ImgY + tmp * 2/20;
		if(isMozilla)
		{
			parent.layerStyle(bigimg).left = smallImgX + "px";
    		parent.layerStyle(bigimg).top = smallImgY + "px";
			parent.layerStyle(bigimg).width = smallImgW + "px";
   			parent.layerStyle(bigimg).height = smallImgH + "px";
		}
		else
		{
			parent.layerStyle(bigimg).left = smallImgX;
    		parent.layerStyle(bigimg).top = smallImgY;
			parent.layerStyle(bigimg).width = smallImgW;
   			parent.layerStyle(bigimg).height = smallImgH;
		}
	}

	this.Zoom = function(h_to, w_to)
	{
		this.startDTZoom = 0;
		var func = name + '.Scale('+ h_to + ',' + w_to +')';
		clearInterval(this.tZoom);
		this.tZoom = setInterval(func, 20);
	}
	this.ZoomOut = function(h_to, w_to)
	{
		this.startDTZoom = 0;
		var func = name + '.ScaleOut('+ h_to + ',' + w_to +')';
		clearInterval(this.tZoom);
		this.tZoom = setInterval(func, 20);
	}
	this.Show = function(id)
	{
		this.Stop();
		if(curr_id == id){ return};
		curr_id = id;
		var img = parent.layer("i" + id);
		var pos = parent.getPosition("i" + id);
		smallImgH = eval(img).offsetHeight;
		smallImgW = eval(img).offsetWidth;
		//var left = pos.x + smallImgW/2 - this.widths[parseInt(id)-1]/2;
		//var top = pos.y + smallImgH/2 - this.heights[parseInt(id)-1]/2;
		smallImgX = pos.x;
		smallImgY = pos.y;
		bigimg.src = this.preLoad[parseInt(id)-1].src;
		if(isMozilla)
		{
   			parent.layerStyle(bigimg).left = pos.x + "px";
    		parent.layerStyle(bigimg).top = pos.y + "px";
   			parent.layerStyle(bigimg).width = smallImgW + "px";
   			parent.layerStyle(bigimg).height = smallImgH + "px";
  		}
    	else
    	{
    		parent.layerStyle(bigimg).top = pos.y;
    		parent.layerStyle(bigimg).left = pos.x;
    		parent.layerStyle(bigimg).width = smallImgW;
   			parent.layerStyle(bigimg).height = smallImgH;
    	}
		parent.layerStyle(bigimg).display = 'block';
		this.Zoom(smallImgH*1.5, smallImgW*1.5);
	}
	this.Hide = function(id)
	{
		var smH = smallImgH;
		var smW = smallImgW;
		smallImgH = eval(bigimg).offsetHeight;
		smallImgW = eval(bigimg).offsetWidth;
		this.ZoomOut(smH, smW);
		//this.Run();
	}
}

function Over(id)
{
	gal.Show(id);
}

function Out()
{
	gal.Hide();
}

function Show(id)
{
}