function objImage(previewHandler)
	{
	this.w													= 0;
	this.h													= 0;
	this.obj												= null;
	this.src												= null;
	this.local												= 0;
	this.width												= 0;
	this.height												= 0;
	this.windowHandler										= null;
	this.width												= 0;
	this.height												= 0;

	if (this.image == undefined)
		this.image											= new Image();
	else
		this.image											= null;

	if (previewHandler == undefined)
		this.previewHandler									= 'iPreview';
	else
		this.previewHandler									= previewHandler;

	return this;
	}

objImage.prototype.getImage									= function(img,local)
	{
	this.getObject(img);
	this.setObject(img,local);
	}

objImage.prototype.getObject								= function(img)
	{
	this.div												= document.getElementById(this.previewHandler);
	this.div.style.visibility								= 'hidden';
	this.div.style.display									= 'none';

	var now 												= new Date();
	var hours 												= now.getUTCHours();
	var minutes 											= now.getUTCMinutes();
	var seconds												= now.getUTCSeconds();
	var msec												= now.getUTCMilliseconds();

	var unique												= hours.toString() + minutes.toString() + seconds.toString() + msec.toString();

	this.image.id											= 'previewImage' + unique;

	var imgCollection										= this.div.getElementsByTagName('img');

	if (imgCollection.length)
		{
		while (this.div.firstChild)
			{
			this.div.removeChild(this.div.firstChild);
			}
		this._close();
		}
	}

objImage.prototype.setObject								= function(img,local)
	{
	var re 													= new RegExp(myConfig.ROOT,'gi');

	if (local)
		this.local											= true;
	else
		this.local											= false;

	if (this.local)
		this.src											= img;
	else
		this.src											= img.replace(re,myConfig.HOST);

	if (this.image)
		{
		this.image.src										= this.src;

		if (this.src)
			{
			if (document.all)
				{
				imgObj										= this.image;
				imgObj._windowHandler						= this.windowHandler;

				if (!this.local)
					{
					if (imgObj.readyState == 'complete')
						{
						this.imgPreview();
						}
					else
						{
						this.div.appendChild(this.image);

						imgObj.onreadystatechange			= function localImgStateChange() 
							{
							if (imgObj.readyState == 'complete')
								{
								localImgPreview(imgObj.id,imgObj._windowHandler);
								}
							};
						}
					}
				else
					{
					if (imgObj.readyState == 'complete')
						{
						this.imgPreview();
						}
					else
						{
						this.div.appendChild(this.image);

						imgObj.onreadystatechange			= function localImgStateChange() 
							{
							if (imgObj.readyState == 'complete')
								{
								localImgPreview(imgObj.id,imgObj._windowHandler);
								}
							};
						}
					}
				}
			else
				{
				imgObj										= this.image;
				imgObj._windowHandler						= this.windowHandler;

				if (!this.local)
					{
					if (this.image.complete)
						this.imgPreview();
					else
						{
						this.div.appendChild(this.image);

						imgObj.onload						= function localImgStateChange() 
							{
							localImgPreview(imgObj.id,imgObj._windowHandler);
							};
						}
					}
				else
					{
					// FireFox не позволяет загружать изображения и файлы с локального компьютера для предпросмотра

					this.windowHandler._centerWindow();
					}
				}
			}
		}
	}


function localImgPreview(myID,myHandler)
	{
	var myID												= myID;
	var myHandler											= myHandler;

	var myImage												= document.getElementById(myID);

	var myObject											= document.getElementById('iPreview');

	myObject.style.display									= 'block';
	myObject.style.visibility								= 'visible';

	var width												= parseInt(myImage.width);
	var height												= parseInt(myImage.height);	

	if (width > 320)
		{
		var w												= 320;
		var myK												= width / w;
		var h												= height / myK;
		}
	else
		{
		var w												= width;
		var h												= height;
		}
				
	if (h > 298)
		{
		h													= 280;
		var myK												= height / h;
		w													= width / myK;
		}	

	myImage.width											= w;
	myImage.height											= h;

	if (myHandler)
		myHandler._centerWindow();
	}


objImage.prototype.imgPreview								= function()
	{
	this.div.appendChild(this.image);

	this.imgResize();
	}

objImage.prototype.imgResize								= function()
	{
	this.div.style.visibility								= 'visible';
	this.div.style.display									= 'block';

	this.width												= parseInt(this.image.width);
	this.height												= parseInt(this.image.height);	

	if (!this.width || !this.height)
		{
		this.width											= parseInt(this.image.style.width);
		this.height											= parseInt(this.image.style.height);
		}

	if (this.width > 320)
		{
		this.w												= 320;
		var myK												= this.width / this.w;
		this.h												= this.height / myK;
		}
	else
		{
		this.w												= this.width;
		this.h												= this.height;
		}
				
	if (this.h > 298)
		{
		this.h												= 280;
		var myK												= this.height / this.h;
		this.w												= this.width / myK;
		}	

	this.image.width										= this.w;
	this.image.height										= this.h;

	if (this.windowHandler)
		this.windowHandler._centerWindow();
	}

objImage.prototype._close									= function()
	{
	if (this.div)
		{
		while (this.div.firstChild)
			{
			this.div.removeChild(this.div.firstChild);
			}
		}
	}

objImage.prototype.setWindowHandler							= function(handler)
	{
	if (handler)
		this.windowHandler									= handler;
	else
		this.windowHandler									= null;
	}

objImage.prototype.setPreviewHandler						= function(handler)
	{
	if (handler)
		this.previewHandler									= handler;
	else
		this.previewHandler									= 'iPreview';
	}
